:root{font-family:Pretendard,Noto Sans KR,Apple SD Gothic Neo,Arial,sans-serif;color:#17171d;background:#f6f7f9;--red: #ef3e42;--red-dark: #d52d31;--ink: #17171d;--muted: #6d7280;--line: #e4e6eb;--soft: #f6f7f9;--blue: #2557d6}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;-webkit-font-smoothing:antialiased}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}.site-header{background:#fff;border-bottom:1px solid var(--line)}.utility{height:34px;max-width:1180px;margin:0 auto;display:flex;align-items:center;justify-content:flex-end;gap:16px}.utility button,.quick-nav button,.category-nav button,.section-heading button,.tabs button{border:0;background:transparent;color:var(--muted)}.utility-user{color:var(--muted);font-size:13px}.utility-user strong{color:var(--ink)}.header-main{max-width:1180px;margin:0 auto;height:86px;display:grid;grid-template-columns:180px minmax(260px,1fr) 260px;align-items:center;gap:24px}.brand{border:0;background:transparent;color:var(--red);font-size:32px;font-weight:900;letter-spacing:0;text-align:left}.search-box{display:flex;height:48px;border:2px solid var(--red);border-radius:6px;overflow:hidden;background:#fff}.search-box input{flex:1;border:0;padding:0 18px;outline:0}.search-box button{width:88px;border:0;background:var(--red);color:#fff;font-weight:800}.quick-nav{display:flex;justify-content:flex-end;gap:18px;font-weight:700}.category-nav{height:48px;background:#fff;border-bottom:1px solid var(--line);display:flex;justify-content:center;gap:42px;position:sticky;top:0;z-index:5}.category-nav button{color:#30323a;font-weight:800;border-bottom:3px solid transparent}.category-nav button.active{color:var(--red);border-bottom-color:var(--red)}.app-shell{width:min(1180px,calc(100% - 32px));margin:28px auto 48px}.hero{min-height:358px;background:linear-gradient(120deg,#2a1420,#611b29 56%,#f35b3f);display:grid;grid-template-columns:1fr 330px;gap:42px;align-items:center;padding:42px 54px;border-radius:8px;color:#fff;overflow:hidden}.hero h1{margin:10px 0 14px;font-size:48px;line-height:1.08}.hero p{max-width:540px;margin:0;color:#ffffffd1;font-size:17px;line-height:1.7}.hero-actions{display:flex;gap:10px;margin-top:28px}.primary,.secondary{border:0;border-radius:6px;height:46px;padding:0 22px;font-weight:900}.primary{background:var(--red);color:#fff}.primary:hover{background:var(--red-dark)}.secondary{background:#fff;color:var(--ink);border:1px solid var(--line)}.full{width:100%}.section-kicker{display:block;color:var(--red);font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:0}.hero .section-kicker{color:#ffd9d9}.poster{min-height:230px;border-radius:8px;padding:20px;color:#fff;display:flex;flex-direction:column;justify-content:flex-end;gap:8px;position:relative;overflow:hidden;isolation:isolate}.poster:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 72% 18%,rgba(255,255,255,.34),transparent 22%),linear-gradient(150deg,rgba(255,255,255,.16),transparent 48%);z-index:-1}.poster span{font-size:12px;font-weight:900}.poster strong{font-size:25px;line-height:1.12}.poster em{font-style:normal;color:#ffffffc7;font-size:13px}.poster-large{min-height:380px;box-shadow:0 24px 60px #0f0a1459}.poster-red{background:linear-gradient(150deg,#151017,#aa1f31 58%,#ff6b45)}.poster-blue{background:linear-gradient(150deg,#07182c,#1f58d9 58%,#28c0de)}.poster-green{background:linear-gradient(150deg,#12241f,#168765 58%,#b3e06f)}.poster-purple{background:linear-gradient(150deg,#17112b,#6530b8 58%,#db5fbb)}.poster-yellow{background:linear-gradient(150deg,#2b2012,#c06d1d 58%,#f5c64b)}.poster-ink{background:linear-gradient(150deg,#101217,#3a4357 58%,#8b98a8)}.category-strip{display:flex;gap:10px;margin:24px 0;overflow-x:auto;padding-bottom:2px}.category-strip.inline{margin-top:18px}.category-strip button{flex:0 0 auto;border:1px solid var(--line);background:#fff;border-radius:999px;padding:10px 18px;color:#373a43;font-weight:800}.category-strip button.active{background:var(--ink);border-color:var(--ink);color:#fff}.content-grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:28px}.main-column,.page-panel,.detail-layout,.seat-layout,.payment-layout{background:#fff;border:1px solid var(--line);border-radius:8px;padding:28px}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:20px}.section-heading.compact{margin-top:34px}.section-heading h1,.section-heading h2,.page-panel h1,.detail-main h1,.checkout-summary h1,.complete h1{margin:4px 0 0;line-height:1.16}.ticket-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.ticket-card{border:0;background:transparent;text-align:left;padding:0}.ticket-card .poster{min-height:244px}.ticket-info{padding-top:12px}.rank,.tag{display:inline-flex;background:#ffe8e8;color:var(--red);border-radius:999px;padding:4px 9px;font-size:12px;font-weight:900}.ticket-info h3{margin:9px 0 4px;font-size:17px}.ticket-info p,.ticket-info small{display:block;margin:0 0 5px;color:var(--muted)}.ticket-info strong{display:block;margin-top:8px}.open-list{border-top:1px solid var(--line)}.open-list button,.list-table button,.reservation-row{width:100%;display:grid;align-items:center;gap:18px;border:0;border-bottom:1px solid var(--line);background:#fff;text-align:left}.open-list button{grid-template-columns:58px 1fr 150px 78px;min-height:62px}.open-list span{color:var(--red);font-weight:900}.open-list em,.list-table em,.reservation-row em{font-style:normal;color:var(--muted)}.open-list b,.list-table i{justify-self:end;color:var(--red);font-style:normal}.side-panel{display:flex;flex-direction:column;gap:18px}.login-box,.mini-ranking,.checkout-summary,.benefit-box{background:#fff;border:1px solid var(--line);border-radius:8px;padding:22px}.login-box p,.benefit-box p,.checkout-summary p,.complete p{color:var(--muted);line-height:1.6}.login-box button{width:100%;height:42px;border:0;border-radius:6px;background:var(--ink);color:#fff;font-weight:900}.login-page{min-height:610px;display:grid;place-items:center;padding:42px 16px}.login-card{width:min(440px,100%);background:#fff;border:1px solid var(--line);border-radius:8px;padding:38px;box-shadow:0 18px 55px #1e222d14}.login-brand{display:block;border:0;background:transparent;color:var(--red);font-size:27px;font-weight:900;padding:0;margin-bottom:28px}.login-card h1{margin:7px 0 8px;font-size:32px}.login-intro,.login-notice{color:var(--muted);line-height:1.6}.login-form{display:grid;gap:16px;margin-top:26px}.login-form>label:not(.remember-login){display:grid;gap:8px;font-weight:800}.login-form input[type=text],.login-form input[type=email],.login-form input[type=tel],.login-form input[type=password]{width:100%;height:48px;border:1px solid var(--line);border-radius:6px;padding:0 14px;outline:0}.login-form input[type=text]:focus,.login-form input[type=email]:focus,.login-form input[type=tel]:focus,.login-form input[type=password]:focus{border-color:var(--red);box-shadow:0 0 0 3px #ef3e421a}.remember-login{display:flex;align-items:center;gap:8px;color:#484c57;font-size:14px}.remember-login input{accent-color:var(--red)}.login-submit{height:50px;margin-top:2px}.login-error{margin:0;padding:11px 12px;border-radius:6px;background:#fff1f1;color:var(--red);font-size:13px;font-weight:800;line-height:1.5}.demo-accounts{display:grid;gap:10px;margin-top:22px}.demo-account{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px;border-radius:6px;background:var(--soft)}.demo-account div,.demo-account span{display:block}.demo-account strong{display:block;margin-bottom:5px}.demo-account span{color:var(--muted);font-size:13px;line-height:1.5}.demo-account button{flex:0 0 auto;height:36px;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--ink);font-weight:800}.login-notice{margin:14px 0 0;font-size:12px}.text-link{border:0;background:transparent;color:var(--primary);font:inherit;font-weight:800;cursor:pointer;padding:0}.mini-ranking h3{margin:0 0 12px}.mini-ranking button{width:100%;display:flex;gap:10px;border:0;background:#fff;padding:10px 0;border-bottom:1px solid var(--line);text-align:left;font-weight:800}.mini-ranking span{color:var(--red);font-weight:900}.small-search{height:42px;min-width:260px;border:1px solid var(--line);border-radius:6px;padding:0 14px}.list-table{border-top:1px solid var(--line)}.list-table button{grid-template-columns:70px 1fr 180px 120px 80px;min-height:94px;padding:12px 0}.list-table .poster{min-height:70px;padding:10px}.list-table .poster strong,.list-table .poster em{display:none}.list-table b,.reservation-row b{display:block;margin-bottom:6px}.detail-layout{display:grid;grid-template-columns:300px minmax(0,1fr) 300px;gap:28px;align-items:start}.detail-main p{color:var(--muted);line-height:1.7}.meta-list{margin:24px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.meta-list div{display:grid;grid-template-columns:90px 1fr;padding:13px 0;border-bottom:1px solid var(--line)}.meta-list div:last-child{border-bottom:0}.meta-list dt{color:var(--muted)}.meta-list dd{margin:0;font-weight:800}.tabs{display:flex;gap:18px;border-bottom:1px solid var(--line)}.tabs button{padding:14px 0;font-weight:900}.tabs button.active{color:var(--red);border-bottom:3px solid var(--red)}.description-block{padding-top:22px}.booking-box{position:sticky;top:74px;background:#fff;border:1px solid var(--line);border-radius:8px;padding:22px}.booking-box h2,.checkout-summary h2{margin-top:0}.booking-box label,.checkout-summary label{display:block;margin:18px 0 8px;font-weight:900}.choice-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.choice-grid.times{grid-template-columns:repeat(3,1fr)}.choice-grid button,.grade-list button,.pay-method{border:1px solid var(--line);background:#fff;border-radius:6px;min-height:42px;font-weight:800}.choice-grid button.active,.grade-list button.active,.pay-method.active{border-color:var(--red);color:var(--red);background:#fff7f7}.seat-layout,.payment-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:28px}.stage{height:46px;background:#252733;color:#fff;display:grid;place-items:center;border-radius:6px;font-weight:900;margin-bottom:28px}.seat-map{display:grid;grid-template-columns:repeat(12,1fr);gap:8px}.seat-map button{aspect-ratio:1;border:1px solid #cad0d9;background:#fff;border-radius:5px;color:#4d5360;font-size:12px}.seat-map button.selected{background:var(--red);color:#fff;border-color:var(--red)}.seat-map button:disabled{background:#e9ebef;color:#a5acb7;cursor:not-allowed}.grade-list{display:grid;gap:8px}.grade-list button{min-height:68px;padding:10px;display:grid;grid-template-columns:1fr auto;text-align:left}.grade-list em{grid-column:1 / -1;color:var(--muted);font-style:normal;font-size:12px}.quantity{display:grid;grid-template-columns:42px 1fr 42px;height:42px;border:1px solid var(--line);border-radius:6px;overflow:hidden}.quantity button{border:0;background:var(--soft);font-size:20px}.quantity strong{display:grid;place-items:center}.total-line{display:flex;justify-content:space-between;align-items:center;margin:22px 0;padding-top:18px;border-top:1px solid var(--line)}.total-line strong{color:var(--red);font-size:22px}.payment-layout{background:transparent;border:0;padding:0}.payment-main{margin:0}.order-card{display:grid;grid-template-columns:96px 1fr auto;align-items:center;gap:18px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:18px 0;margin:20px 0}.order-card .poster{min-height:96px;padding:10px}.order-card .poster strong,.order-card .poster em{display:none}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.form-grid label{display:grid;gap:8px;font-weight:900}.form-grid input,.form-grid select{height:44px;border:1px solid var(--line);border-radius:6px;padding:0 12px}.selected-seat-summary{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:48px;margin-bottom:14px;padding:11px 13px;border:1px solid var(--line);border-radius:6px;background:#fafafa}.selected-seat-summary strong{color:#252832;line-height:1.45}.selected-seat-summary span{flex:0 0 auto;color:var(--red);font-size:13px;font-weight:900}.pay-method{width:100%;margin-bottom:8px}.toss-widget-box{min-height:260px;border:1px solid var(--line);border-radius:8px;padding:10px;background:#fff}.widget-message,.widget-error{margin:12px 0 0;padding:12px;border-radius:6px;background:var(--soft);color:var(--muted);line-height:1.5}.widget-error{background:#fff1f1;color:var(--red);font-weight:800}.toss small{display:block;color:var(--muted);line-height:1.5}.complete{min-height:520px;display:grid;place-items:center;align-content:center;background:#fff;border:1px solid var(--line);border-radius:8px;text-align:center;padding:40px}.success-mark{width:72px;height:72px;display:grid;place-items:center;border-radius:50%;background:#e9fbef;color:#16833c;font-size:38px;font-weight:900;margin-bottom:12px}.success-mark.fail{background:#fff1f1;color:var(--red)}.result-list{width:min(720px,100%);margin:22px auto 0;border-top:1px solid var(--line);text-align:left}.result-list div{display:grid;grid-template-columns:120px 1fr;gap:16px;padding:12px 0;border-bottom:1px solid var(--line)}.result-list dt{color:var(--muted);font-weight:800}.result-list dd{margin:0;word-break:break-all;font-weight:800}.complete-actions{display:flex;gap:10px;margin-top:16px}.mypage-grid{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:24px}.reservation-row{grid-template-columns:minmax(0,1fr) 126px;min-height:112px;padding:10px 0}.reservation-detail{display:grid;grid-template-columns:92px minmax(0,1fr);align-items:center;gap:18px;width:100%;padding:0;border:0;background:transparent;text-align:left;cursor:pointer}.reservation-detail>span{display:grid;gap:4px}.member-reservation-actions{display:grid;gap:10px;padding-right:8px;text-align:center}.member-reservation-actions>strong{font-size:13px}.cancel-reservation{min-height:36px;border:1px solid var(--red);border-radius:5px;background:#fff;color:var(--red);font-weight:900;cursor:pointer}.reservation-row .poster{min-height:92px;padding:10px}.reservation-row .poster strong,.reservation-row .poster em{display:none}.benefit-box strong{display:block;color:var(--red);font-size:28px;margin:12px 0}.admin-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:22px 0}.admin-stats div{border:1px solid var(--line);border-radius:8px;padding:18px}.admin-stats span{display:block;color:var(--muted);margin-bottom:8px}.admin-stats strong{font-size:26px}.admin-heading,.admin-form-title,.admin-form-actions{display:flex;align-items:center;justify-content:space-between;gap:16px}.admin-heading h1,.admin-form-title h2{margin-bottom:0}.admin-event-form{margin:22px 0;padding:22px;border:1px solid var(--line);border-radius:8px;background:var(--soft)}.admin-form-title{margin-bottom:18px}.admin-form-title button,.admin-row-actions button,.reset-events{border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--ink);font-weight:800}.admin-form-grid input,.admin-form-grid select{background:#fff}.admin-summary{grid-column:1 / -1}.admin-summary textarea{min-height:92px;resize:vertical;border:1px solid var(--line);border-radius:6px;padding:12px;font:inherit}.admin-form-actions{justify-content:flex-end;margin-top:18px}.admin-event-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;border-bottom:1px solid var(--line)}.list-table.admin .admin-event-row>button{grid-template-columns:1fr 180px 100px;border-bottom:0}.admin-row-actions{display:flex;gap:6px}.admin-row-actions button{width:auto;height:34px;display:block;padding:0 12px;border-bottom:1px solid var(--line)}.admin-row-actions .danger{color:var(--red)}.reset-events{margin-top:20px;padding:10px 14px;color:var(--muted)}.admin-tabs{display:flex;gap:6px;margin:24px 0;padding:5px;border-radius:8px;background:var(--soft);overflow-x:auto}.admin-tabs button{flex:0 0 auto;min-height:40px;padding:0 18px;border:0;border-radius:6px;background:transparent;color:var(--muted);font-weight:900}.admin-tabs button.active{background:#fff;color:var(--red);box-shadow:0 1px 4px #00000014}.admin-panel{min-height:420px}.dashboard-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.dashboard-cards article,.dashboard-box,.inventory-session{border:1px solid var(--line);border-radius:8px;background:#fff}.dashboard-cards article{padding:20px}.dashboard-cards span,.dashboard-cards small{display:block;color:var(--muted)}.dashboard-cards strong{display:block;margin:8px 0 6px;font-size:24px}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(260px,.7fr);gap:16px;margin-top:16px}.dashboard-box{padding:22px}.dashboard-box .admin-form-title>span{color:var(--muted);font-size:12px}.sales-bars{display:grid;gap:18px}.sales-bars>div>div{display:flex;justify-content:space-between;gap:12px;margin-bottom:7px}.sales-bars span{color:var(--muted);font-size:12px}.sales-track,.inventory-track{display:block;overflow:hidden;height:8px;border-radius:999px;background:var(--soft)}.sales-track i,.inventory-track i{display:block;height:100%;border-radius:inherit;background:var(--red)}.operations-summary{margin:0}.operations-summary div{display:flex;justify-content:space-between;padding:14px 0;border-bottom:1px solid var(--line)}.operations-summary dt{color:var(--muted)}.operations-summary dd{margin:0;font-weight:900}.panel-tools{display:flex;align-items:end;justify-content:space-between;gap:16px;margin-bottom:18px}.panel-tools h2{margin-bottom:0}.panel-tools>select,.member-filters input,.member-filters select{height:42px;border:1px solid var(--line);border-radius:6px;padding:0 12px;background:#fff}.inventory-list{display:grid;gap:14px}.inventory-session{padding:20px}.inventory-session header{display:flex;justify-content:space-between;gap:16px;padding-bottom:16px;border-bottom:1px solid var(--line)}.inventory-session header span{color:var(--muted)}.inventory-grades{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;padding-top:16px}.inventory-grades label{display:grid;grid-template-columns:1fr 72px auto;align-items:center;gap:8px;padding:14px;border-radius:6px;background:var(--soft)}.inventory-grades label>span:first-child{grid-column:1 / -1;display:flex;justify-content:space-between}.inventory-grades small,.inventory-grades em{color:var(--muted);font-size:11px;font-style:normal}.inventory-grades input{width:72px;height:36px;border:1px solid var(--line);border-radius:6px;padding:0 8px;background:#fff;font-weight:900}.member-filters{display:flex;gap:8px}.member-list{border-top:1px solid var(--line)}.member-row{display:grid;grid-template-columns:44px minmax(180px,1fr) 120px 70px 120px 100px;align-items:center;gap:14px;padding:16px 0;border-bottom:1px solid var(--line)}.member-row span{display:block;margin-bottom:4px;color:var(--muted);font-size:12px}.member-avatar{width:40px;height:40px;display:grid;place-items:center;border-radius:50%;background:#fff1f1;color:var(--red);font-weight:900}.member-row label{color:var(--muted);font-size:12px}.member-row select{width:100%;height:34px;margin-top:4px;border:1px solid var(--line);border-radius:6px;background:#fff}.member-row button{height:36px;border-radius:6px;background:#fff;font-weight:900}.member-active{border:1px solid #98d6ae;color:#16833c}.member-inactive{border:1px solid var(--line);color:var(--muted)}.member-row button:disabled,.member-row select:disabled{opacity:.65;cursor:default}.member-reservations{display:grid}.reservation-row small{display:block;margin-top:5px;color:var(--muted)}.status-canceled{color:var(--muted)!important}.empty-reservations{padding:34px 20px;border:1px dashed var(--line);border-radius:8px;text-align:center;color:var(--muted)}.empty-reservations strong{display:block;margin-bottom:6px;color:var(--ink)}.empty-reservations p{margin:0}.reservation-management{margin-top:42px;padding-top:32px;border-top:2px solid var(--ink)}.reservation-tools{display:grid;grid-template-columns:1fr 160px;gap:10px;margin-bottom:12px}.reservation-tools input,.reservation-tools select{height:44px;border:1px solid var(--line);border-radius:6px;padding:0 12px;background:#fff}.reservation-admin-list{border-top:1px solid var(--line)}.reservation-admin-row{display:grid;grid-template-columns:minmax(220px,1.4fr) minmax(150px,.8fr) minmax(170px,.9fr) 110px 100px;align-items:center;gap:16px;padding:18px 0;border-bottom:1px solid var(--line)}.reservation-admin-row>div{min-width:0}.reservation-admin-row strong,.reservation-admin-row span,.reservation-admin-row em{display:block}.reservation-admin-row span,.reservation-admin-row em{overflow:hidden;margin-top:4px;color:var(--muted);font-size:12px;font-style:normal;text-overflow:ellipsis}.reservation-id{margin:0 0 5px!important;color:var(--red)!important;font-weight:900}.reservation-status>strong{color:#16833c}.cancel-reservation{height:36px;border:1px solid var(--red);border-radius:6px;background:#fff;color:var(--red);font-weight:900}.cancel-reservation:disabled{border-color:var(--line);color:var(--muted);cursor:default}.prototype-notice{margin:14px 0 0;color:var(--muted);font-size:12px}.footer{border-top:1px solid var(--line);background:#fff;height:88px;display:flex;justify-content:center;align-items:center;gap:24px;color:var(--muted)}.footer strong{color:var(--red)}@media(max-width:960px){.header-main{height:auto;padding:18px 16px;grid-template-columns:1fr}.utility,.quick-nav{display:none}.category-nav{gap:18px;overflow-x:auto;justify-content:flex-start;padding:0 16px}.hero,.content-grid,.detail-layout,.seat-layout,.payment-layout,.mypage-grid{grid-template-columns:1fr}.hero{padding:28px}.hero h1{font-size:36px}.ticket-grid{grid-template-columns:repeat(2,1fr)}.booking-box{position:static}.form-grid,.admin-stats,.list-table button,.open-list button,.order-card,.reservation-row{grid-template-columns:1fr}.reservation-detail{grid-template-columns:72px minmax(0,1fr)}.member-reservation-actions{grid-template-columns:1fr 120px;align-items:center;padding:0 0 10px}.admin-event-row,.list-table.admin .admin-event-row>button{grid-template-columns:1fr}.admin-row-actions{padding-bottom:12px}.reservation-tools,.reservation-admin-row,.dashboard-cards,.dashboard-grid,.inventory-grades,.member-row{grid-template-columns:1fr}.panel-tools{align-items:stretch;flex-direction:column}.member-filters{flex-direction:column}.reservation-admin-row{gap:10px}.cancel-reservation{width:100%}}@media(max-width:560px){.app-shell{width:min(100% - 20px,1180px);margin-top:14px}.brand{font-size:28px}.hero h1{font-size:30px}.hero-actions,.complete-actions{flex-direction:column}.ticket-grid{grid-template-columns:1fr}.main-column,.page-panel,.detail-layout,.seat-layout{padding:18px}.seat-map{gap:5px}.seat-map button{font-size:10px}.login-page{min-height:auto;padding:10px 0}.login-card{padding:26px 20px}}
