:root{--palette-navy-950:#0f172a;--palette-navy-900:#1f2937;--palette-navy-800:#162033;--palette-navy-700:#1f2b46;--palette-navy-600:#4e6ba8;--palette-navy-400:#66758f;--palette-navy-200:#d6dfeb;--palette-navy-100:#eaf0f8;--palette-navy-50:#f3f6fb;--palette-navy-25:#f8fbff;--palette-blue-500:#165dff;--palette-green-500:#0f9f6e;--palette-amber-500:#d08910;--palette-red-400:#FF4D4D;--palette-red-500:#d64545;--palette-teal-500:#0e7490;--bg:var(--palette-navy-50);--bg-light:var(--palette-navy-25);--surface:#ffffff;--surface-alt:var(--palette-navy-100);--text:var(--palette-navy-800);--ink:var(--palette-navy-700);--text-secondary:var(--palette-navy-600);--muted:var(--palette-navy-400);--line:var(--palette-navy-200);--primary:var(--palette-blue-500);--primary-bg:rgba(22,93,255,0.08);--primary-bg-hover:rgba(22,93,255,0.14);--primary-border:rgba(22,93,255,0.14);--primary-border-dashed:rgba(22,93,255,0.36);--primary-focus-ring:rgba(22,93,255,0.16);--primary-overlay:rgba(22,93,255,0.28);--primary-overlay-strong:rgba(22,93,255,0.72);--primary-overlay-mid:rgba(22,93,255,0.50);--primary-overlay-92:rgba(22,93,255,0.92);--success:var(--palette-green-500);--success-text:#1f6b45;--success-bg:rgba(15,159,110,0.12);--success-border:rgba(54,141,88,0.55);--success-glow:rgba(110,231,183,0.2);--warning:var(--palette-amber-500);--warning-text:#7b5a11;--warning-text-alt:#8a5d08;--warning-bg:rgba(208,137,16,0.14);--warning-border:rgba(204,169,62,0.50);--danger:var(--palette-red-500);--danger-text:#c23a3a;--danger-text-dark:#b23535;--danger-text-darker:#9e2222;--danger-bg:rgba(214,69,69,0.06);--danger-bg-medium:rgba(214,69,69,0.10);--danger-bg-strong:rgba(214,69,69,0.14);--danger-border:rgba(214,69,69,0.20);--danger-border-medium:rgba(214,69,69,0.24);--danger-border-strong:rgba(214,69,69,0.35);--info:var(--palette-teal-500);--info-bg:rgba(14,116,144,0.12);--badge-orange-bg:rgba(255,205,168,0.92);--badge-orange-text:#8a4b20;--badge-orange-border:rgba(223,143,86,0.55);--badge-yellow-bg:rgba(252,232,170,0.94);--badge-yellow-text:#7b5a11;--badge-yellow-border:rgba(204,169,62,0.50);--badge-green-bg:rgba(146,214,174,0.90);--badge-green-text:#1f6b45;--badge-green-border:rgba(54,141,88,0.55);--overlay:rgba(15,23,42,0.42);--overlay-dark:rgba(15,23,42,0.28);--overlay-light:rgba(15,23,42,0.02);--canvas-bg:var(--palette-navy-950);--face-overlay-bg:var(--palette-navy-900);--slate-border:rgba(148,163,184,0.52);--slate-glow:rgba(148,163,184,0.16);--scan-idle-beam:rgba(191,219,254,0.45);--scan-idle-mid:rgba(226,232,240,0.62);--scan-idle-glow:rgba(191,219,254,0.18);--scan-ok-beam:rgba(167,243,208,0.44);--scan-ok-mid:rgba(220,252,231,0.60);--scan-ok-glow:rgba(110,231,183,0.18);--shadow:0 12px 30px rgba(17,34,68,0.08);--shadow-md:0 10px 24px rgba(17,34,68,0.16);--shadow-lg:0 10px 24px rgba(17,34,68,0.20);--shadow-xl:0 10px 20px rgba(17,34,68,0.18);--font-family-base:"Pretendard Variable",Pretendard,-apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,sans-serif;--text-size-micro:10px;--text-size-tiny:11px;--text-size-x-small:12px;--text-size-compact:14px;--text-size-small:15px;--text-size-medium:16px;--text-size-large:18px;--text-size-x-large:24px;--text-size-display-medium:clamp(28px,9vw,44px);--text-size-display-large:clamp(28px,7.5vw,56px);--text-size-responsive-medium:clamp(14px,4vw,18px);--text-size-number:48px;--text-weight-regular:400;--text-weight-bold:700;--text-weight-extra-bold:800;--text-weight-black:900;--text-leading-micro-normal:1.1;--text-leading-tiny-normal:14px;--text-leading-x-small-tight:1.1;--text-leading-x-small-normal:16px;--text-leading-compact-tight:18px;--text-leading-compact-normal:20px;--text-leading-small-tight:20px;--text-leading-small-normal:22px;--text-leading-medium-normal:20px;--text-leading-medium-relaxed:24px;--text-leading-large-tight:24px;--text-leading-large-normal:26px;--text-leading-x-large-normal:28px;--text-leading-display-medium-normal:1.04;--text-leading-display-large-normal:1.05;--text-leading-responsive-medium-normal:1.3;--text-leading-number-normal:48px;--white-glass-90:rgba(255,255,255,0.90);--white-glass-94:rgba(255,255,255,0.94);--white-glass-96:rgba(255,255,255,0.96);--white-inset:rgba(255,255,255,0.18);--white-inset-thin:rgba(255,255,255,0.35);--button-lime:#bef264;--button-neutral:#404040;--button-text-dark:#09090c;--button-text-white:#ffffff;--seat-selected:var(--palette-red-400);--native-safe-area-inset-top:0px;--native-safe-area-inset-right:0px;--native-safe-area-inset-bottom:0px;--native-safe-area-inset-left:0px;--safe-area-inset-top:max(env(safe-area-inset-top,0px),var(--native-safe-area-inset-top));--safe-area-inset-right:max(env(safe-area-inset-right,0px),var(--native-safe-area-inset-right));--safe-area-inset-bottom:max(env(safe-area-inset-bottom,0px),var(--native-safe-area-inset-bottom));--safe-area-inset-left:max(env(safe-area-inset-left,0px),var(--native-safe-area-inset-left))}@font-face{font-family:Pretendard Variable;font-style:normal;font-weight:45 920;font-display:swap;src:local("Pretendard Variable"),url(https://cdn.jsdelivr.net/gh/orioncactus/pretendard@v1.3.9/packages/pretendard/dist/web/variable/woff2/PretendardVariable.woff2) format("woff2-variations"),url(https://cdn.jsdelivr.net/gh/orioncactus/pretendard@v1.3.9/packages/pretendard/dist/web/variable/woff2/PretendardVariable.woff2) format("woff2")}*{box-sizing:border-box}body,html{margin:0;padding:0;background:linear-gradient(180deg,#f8fbff 0,var(--bg) 100%);color:var(--text);font-family:var(--font-family-base)}body{min-height:100vh}html[data-webview=true],html[data-webview=true] body{min-height:100%;background:var(--bg);overscroll-behavior-y:none}body.is-webview{min-height:100dvh;-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.app-shell{padding-bottom:calc(92px + var(--safe-area-inset-bottom))}.app-shell,body.is-webview .app-shell{min-height:100dvh}.topbar{position:-webkit-sticky;position:sticky;top:0;z-index:20;background:rgba(248,251,255,.92);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-bottom:1px solid var(--line);padding:calc(10px + var(--safe-area-inset-top)) calc(16px + var(--safe-area-inset-right)) 10px calc(16px + var(--safe-area-inset-left))}.topbar-status{display:flex;align-items:center;justify-content:space-between;gap:10px}.topbar-status__role{min-height:38px;padding:0 12px;border-radius:999px;border:1px solid rgba(22,93,255,.14);background:rgba(22,93,255,.08);display:inline-flex;align-items:center;gap:8px}.topbar-status__caption{color:#4e6ba8;font-size:.76rem;font-weight:700}.topbar-status__role strong{font-size:.88rem}.topbar-status__home{min-height:38px;padding:0 14px;border-radius:999px;border:1px solid var(--line);background:var(--surface);display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:.84rem}.topbar-status__actions{display:flex;align-items:center;gap:8px}.topbar-status__version{color:var(--muted);font-size:.72rem;font-weight:700;letter-spacing:.01em}.topbar-account{display:flex;flex-wrap:wrap;align-items:center;gap:4px 14px;margin-top:6px;padding:5px 12px;border-radius:10px;border:1px solid var(--line);background:var(--surface);font-size:.74rem;color:var(--muted)}.topbar-account__item{display:inline-flex;align-items:center;gap:5px;min-width:0}.topbar-account__caption{color:#4e6ba8;font-weight:700}.topbar-account__code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.72rem;color:var(--ink,#1f2b46);word-break:break-all}.topbar-account__logout{margin-left:auto;min-height:26px;padding:0 10px;border-radius:999px;border:1px solid rgba(214,69,69,.35);background:rgba(214,69,69,.06);color:#c23a3a;font-size:.72rem;font-weight:700;cursor:pointer}.topbar-account__logout:active{background:rgba(214,69,69,.14)}.page-shell{padding:12px max(12px,var(--safe-area-inset-right)) 12px max(12px,var(--safe-area-inset-left));max-width:900px;margin:0 auto}.page-section{display:grid;grid-gap:12px;gap:12px}.section-header{text-align:center}.section-header h2{margin:0 0 8px;font-size:1.4rem}.section-header p{margin:0;color:var(--muted);line-height:1.5}.card,.menu-card,.panel,.status-card{background:var(--surface);border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow)}.panel{padding:16px}.panel--compact{padding:10px}.grid-cards,.menu-grid,.stats-grid{display:grid;grid-gap:12px;gap:12px}.menu-grid--simple{gap:10px}.menu-grid--stacked{grid-template-columns:minmax(0,1fr)}.menu-card{padding:18px;display:grid;grid-gap:8px;gap:8px;min-height:84px;place-items:center;text-align:center}.menu-card__label{font-size:1.05rem;font-weight:700}.menu-card__hint{color:var(--muted);line-height:1.45}.status-card{padding:12px;display:grid;grid-gap:6px;gap:6px;border-left:6px solid var(--line)}.status-card[data-tone=success]{border-left-color:var(--success)}.status-card[data-tone=warning]{border-left-color:var(--warning)}.status-card[data-tone=danger]{border-left-color:var(--danger)}.status-card[data-tone=info]{border-left-color:var(--info)}.status-card__title{font-weight:800;font-size:1rem}.status-card__body{color:var(--muted);line-height:1.45}.button-row{display:flex;gap:8px;flex-wrap:wrap}.button-row--dense{gap:6px}.button-row--dense>*{flex-grow:1;flex-shrink:1;flex-basis:calc(50% - 3px)}.button-row--stack-mobile>*{flex:1 1}.btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;border-radius:12px;width:-moz-fit-content;width:fit-content;min-height:56px;padding:16px;font-family:var(--font-family-base);font-weight:800;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;justify-self:start;text-align:center;color:inherit;line-height:1;transition:opacity .14s ease,transform .14s ease,background .14s ease,box-shadow .14s ease}.btn:active:not(:disabled){transform:translateY(1px)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn--primary{background:var(--button-lime);color:var(--button-text-dark)}.btn--outline,.btn--secondary{background:transparent;color:var(--button-lime);box-shadow:inset 0 0 0 1.5px var(--button-lime)}.btn--outline .button-text,.btn--secondary .button-text{color:var(--button-lime)}.btn--neutral{background:var(--button-neutral)}.btn--danger,.btn--neutral{border-radius:8px;color:var(--button-text-white)}.btn--danger{background:var(--danger)}.button-text{display:inline-flex;justify-content:flex-start;font-family:var(--font-family-base);font-size:16px;font-style:normal;font-weight:800;line-height:24px;letter-spacing:0}.button-text,.button-text--dark{color:var(--button-text-dark)}.button-text--white{color:var(--button-text-white)}.form-grid{display:grid;grid-gap:10px;gap:10px}.field{display:grid;grid-gap:8px;gap:8px}.field--compact{gap:6px}.field label{font-size:.92rem;font-weight:700}.field input,.field select,.field textarea{width:100%;border:1px solid var(--line);border-radius:14px;padding:11px 12px;background:white}.password-field{display:flex;gap:8px;align-items:center}.password-field input{flex:1 1 auto}.password-field .btn{width:auto;min-width:72px}.mobile-id-box{display:grid;grid-gap:10px;gap:10px;padding:12px;border:1px dashed rgba(22,93,255,.36);border-radius:14px;background:#f8fbff}.mobile-id-box__header{display:flex;align-items:center;justify-content:space-between;gap:8px}.mobile-id-box__result{display:grid;grid-gap:4px;gap:4px;min-width:0}.mobile-id-box__result .list-card__meta{word-break:break-all}.list{display:grid;grid-gap:12px;gap:12px}.list--compact{gap:8px}.list-card{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:16px;display:grid;grid-gap:10px;gap:10px}.list-card--compact{padding:12px;gap:8px}.list-card__meta{color:var(--muted);font-size:.92rem}.badge-row,.inline-meta{display:flex;gap:8px;flex-wrap:wrap}.badge{border-radius:999px;padding:6px 10px;font-size:.78rem;font-weight:700;background:var(--surface-alt);position:relative;overflow:hidden}.badge[data-has-progress=true]{box-shadow:inset 0 0 0 1px rgba(255,255,255,.18)}.badge[data-has-progress=true][data-progress-stage=low]{background:rgba(255,205,168,.92);color:#8a4b20;border:1px solid rgba(223,143,86,.55)}.badge[data-has-progress=true][data-progress-stage=mid]{background:rgba(252,232,170,.94);color:#7b5a11;border:1px solid rgba(204,169,62,.5)}.badge[data-has-progress=true][data-progress-stage=high]{background:rgba(146,214,174,.9);color:#1f6b45;border:1px solid rgba(54,141,88,.55);box-shadow:inset 0 0 0 1px rgba(255,255,255,.18)}.badge[data-tone=success]{background:rgba(15,159,110,.12);color:var(--success)}.badge[data-tone=warning]{background:rgba(208,137,16,.14);color:#8a5d08}.badge[data-tone=danger]{background:rgba(214,69,69,.14);color:#9e2222}.badge[data-tone=info]{background:rgba(14,116,144,.12);color:var(--info)}.camera-frame,.preview-image,.preview-video{width:100%;border-radius:18px;background:#0f172a;overflow:hidden}.camera-frame video,.preview-image canvas,.preview-image img,.preview-video video{width:100%;display:block}.camera-frame--compact{width:min(100%,300px);margin:0 auto;aspect-ratio:3/4;overflow:hidden;isolation:isolate;background:#0f172a}.face-capture-frame{position:relative;width:min(100%,240px)}.preview-image--compact{width:min(100%,240px);margin:0 auto;aspect-ratio:3/4;object-fit:cover}.camera-frame--overlay{position:relative}.camera-frame--compact video{width:100%;height:100%;object-fit:cover;max-height:none}.camera-frame--compact video,.face-landmark-layer{position:absolute;inset:0;transform:translateZ(0);-webkit-transform:translateZ(0)}.face-landmark-layer{pointer-events:none;z-index:4}.face-landmark-overlay{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;transform:scaleX(-1)}.face-hud{position:absolute;width:24px;height:24px;border-color:rgba(148,163,184,.52);filter:drop-shadow(0 0 6px rgba(148,163,184,.16));transition:border-color .16s ease,filter .16s ease}.face-hud--tl{top:14px;left:14px;border-top:2px solid;border-left:2px solid;border-top-left-radius:8px}.face-hud--tr{top:14px;right:14px;border-top:2px solid;border-right:2px solid;border-top-right-radius:8px}.face-hud--bl{bottom:14px;left:14px;border-bottom:2px solid;border-left:2px solid;border-bottom-left-radius:8px}.face-hud--br{right:14px;bottom:14px;border-right:2px solid;border-bottom:2px solid;border-bottom-right-radius:8px}.face-hud-scan{position:absolute;left:12%;right:12%;top:22%;height:2px;background:linear-gradient(90deg,transparent,rgba(191,219,254,.45) 30%,rgba(226,232,240,.62) 50%,rgba(191,219,254,.45) 70%,transparent);box-shadow:0 0 10px rgba(191,219,254,.18);animation:face-scan 2.8s ease-in-out infinite;opacity:.55}.face-landmark-layer[data-ready=true] .face-hud{border-color:rgba(110,231,183,.58);filter:drop-shadow(0 0 8px rgba(110,231,183,.2))}.face-landmark-layer[data-ready=true] .face-hud-scan{background:linear-gradient(90deg,transparent,rgba(167,243,208,.44) 30%,rgba(220,252,231,.6) 50%,rgba(167,243,208,.44) 70%,transparent);box-shadow:0 0 10px rgba(110,231,183,.18)}.camera-overlay{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:space-between;padding:8px;pointer-events:none;background:linear-gradient(180deg,rgba(15,23,42,.28),rgba(15,23,42,.02) 35%,rgba(15,23,42,.22));z-index:3;transform:translateZ(0);-webkit-transform:translateZ(0)}.camera-overlay__top{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:6px;gap:6px;position:relative;z-index:5}.camera-overlay__guide{background:rgba(255,255,255,.9);color:var(--text);padding:6px 8px;border-radius:12px;font-size:.74rem;font-weight:700;display:grid;grid-gap:2px;gap:2px}.camera-overlay__guide--right{text-align:right}.camera-overlay__label{font-size:.64rem;color:var(--muted)}.camera-overlay__count{position:absolute;top:72px;left:50%;transform:translateX(-50%);display:grid;place-items:center;width:64px;height:64px;border-radius:999px;background:rgba(255,255,255,.94);color:var(--primary);font-size:1.5rem;font-weight:800;z-index:5;box-shadow:0 10px 24px rgba(15,23,42,.16)}.camera-overlay__flash{position:absolute;top:84px;right:10px;background:rgba(22,93,255,.92);color:white;padding:6px 12px;border-radius:999px;font-weight:700;z-index:5;box-shadow:0 10px 24px rgba(17,34,68,.2)}.camera-overlay__actions{pointer-events:auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:6px;gap:6px;align-items:end;z-index:5}.camera-overlay__actions .btn{min-height:36px;padding:0 8px;font-size:.76rem;box-shadow:0 10px 20px rgba(17,34,68,.18)}@keyframes face-scan{0%{transform:translateY(-14px);opacity:.25}20%{opacity:.9}50%{transform:translateY(72px);opacity:.65}to{transform:translateY(164px);opacity:.2}}.face-register-layout{display:grid;grid-gap:8px;gap:8px;align-items:start}.face-register-layout--compact{gap:8px}.face-register-visuals{display:grid;grid-gap:8px;gap:8px}.face-feature-metrics{display:grid;grid-gap:4px;gap:4px}.snapshot-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:8px;gap:8px;margin-top:8px}.snapshot-grid--compact{grid-template-columns:repeat(3,minmax(0,1fr))}.snapshot-card{border:1px solid var(--line);border-radius:14px;padding:6px;background:#f9fbff;display:grid;grid-gap:6px;gap:6px}.snapshot-card--selectable{width:100%;text-align:left;cursor:pointer}.snapshot-card--active{border-color:var(--primary);box-shadow:0 0 0 2px rgba(22,93,255,.16)}.snapshot-card__label{font-size:.72rem;font-weight:700}.snapshot-card__empty,.snapshot-card__image{width:100%;aspect-ratio:3/4;border-radius:10px}.snapshot-card__image{object-fit:cover;background:#0f172a}.snapshot-card__empty{display:grid;place-items:center;background:#eaf0f8;color:var(--muted);font-size:.76rem}.tabbar{position:fixed;bottom:0;left:0;right:0;z-index:30;background:rgba(255,255,255,.96);border-top:1px solid var(--line);display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);padding:0 var(--safe-area-inset-right) var(--safe-area-inset-bottom) var(--safe-area-inset-left)}.tabbar a{padding:12px 8px;text-align:center;font-size:.78rem;color:var(--muted)}.tabbar a[data-active=true]{color:var(--primary);font-weight:700}.empty-state,.loading-state{background:var(--surface);border:1px dashed var(--line);border-radius:18px;padding:24px 16px;text-align:center;color:var(--muted)}.helper-text{color:var(--muted);font-size:.84rem;line-height:1.45}.helper-text--tight{margin:0}.score{font-size:1.45rem;font-weight:800}.face-register-summary{display:grid;grid-gap:8px;gap:8px}.face-register-summary__top{display:flex;align-items:center;justify-content:space-between;gap:8px}.face-register-summary__count{font-size:.82rem;font-weight:800;color:var(--primary)}.face-register-controls{display:grid;grid-gap:8px;gap:8px}.face-register-controls--sticky{position:static;z-index:auto;border:1px solid var(--line);background:var(--surface);-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:var(--shadow)}.face-register-controls .button-row--dense>*{flex:1 1 100%}.face-register-submit-row{margin-top:8px}.face-register-submitted{margin-top:8px;padding-top:8px;border-top:1px solid var(--line);display:grid;grid-gap:4px;gap:4px}.face-register-card-actions{display:flex;justify-content:flex-end}.ghost-danger-button{border:1px solid rgba(214,69,69,.24);background:rgba(214,69,69,.06);color:#b23535;border-radius:999px;min-height:34px;padding:0 12px;font-size:.8rem;font-weight:700;cursor:pointer}.ghost-danger-button:hover{background:rgba(214,69,69,.12)}.ticket-action-button{border:1px solid rgba(214,69,69,.2);background:rgba(214,69,69,.06);color:#b23535;border-radius:999px;min-height:34px;padding:0 14px;font-size:.82rem;font-weight:700;cursor:pointer;transition:background .18s ease,border-color .18s ease,transform .18s ease}.ticket-action-button:hover{background:rgba(214,69,69,.1);border-color:rgba(214,69,69,.32);transform:translateY(-1px)}.ticket-action-badge{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:0 12px;border-radius:999px;background:rgba(15,159,110,.12);color:var(--success);font-size:.82rem;font-weight:700}.ticket-card{display:grid;justify-items:center;text-align:center;grid-gap:6px;gap:6px;padding:14px 12px}.ticket-card .button-row{justify-content:center;margin:0}.ticket-card p,.ticket-card strong{margin:0}.ticket-card__qr{background:#ffffff;padding:10px;border-radius:14px;width:-moz-fit-content;width:fit-content;box-shadow:inset 0 0 0 1px rgba(148,163,184,.16)}.admin-schedule-page{--admin-page-pad:clamp(18px,5vw,48px);--admin-panel:rgba(24,24,29,0.92);--admin-panel-strong:rgba(34,34,40,0.96);--admin-panel-soft:rgba(255,255,255,0.055);--admin-line:rgba(255,255,255,0.12);--admin-line-strong:rgba(190,242,100,0.28);--admin-text:#f7f7f2;--admin-muted:#a6a6ad;--admin-accent:#bef264;min-height:100dvh;padding:calc(var(--admin-page-pad) + var(--safe-area-inset-top)) calc(var(--admin-page-pad) + var(--safe-area-inset-right)) calc(var(--admin-page-pad) + var(--safe-area-inset-bottom)) calc(var(--admin-page-pad) + var(--safe-area-inset-left));color:var(--admin-text);background:radial-gradient(circle at 16% 0,rgba(190,242,100,.16),transparent 28%),radial-gradient(circle at 84% 10%,rgba(22,93,255,.16),transparent 30%),#09090c}.admin-schedule-page .page-section{width:min(100%,1280px);margin:0 auto;gap:clamp(18px,3vw,28px)}.admin-schedule-page .section-header{text-align:left}.admin-schedule-page .section-header h2{color:var(--admin-text);font-size:clamp(1.8rem,5vw,3rem);line-height:1.05;letter-spacing:0}.admin-schedule-page .section-header p{max-width:720px;color:var(--admin-muted)}.admin-schedule{display:grid;grid-gap:14px;gap:14px}.admin-schedule .empty-state,.admin-schedule .status-card{border-color:var(--admin-line);background:rgba(18,18,23,.88);color:var(--admin-text);box-shadow:none}.admin-schedule .empty-state{padding:18px 14px;color:var(--admin-muted)}.admin-schedule .empty-state strong,.admin-schedule .status-card__title{color:var(--admin-text)}.admin-schedule .helper-text,.admin-schedule .status-card__body{color:var(--admin-muted)}.admin-schedule .field label{color:var(--admin-text)}.admin-schedule input,.admin-schedule select{color:var(--admin-text);border-color:var(--admin-line);background:rgba(9,9,12,.8);outline:none}.admin-schedule input:focus,.admin-schedule select:focus{border-color:var(--admin-line-strong);box-shadow:0 0 0 3px rgba(190,242,100,.12)}.admin-schedule option{background:#18181d;color:var(--admin-text)}.admin-schedule__toolbar{display:grid;grid-gap:10px;gap:10px;padding:14px;border:1px solid var(--admin-line);border-radius:16px;background:var(--admin-panel);box-shadow:0 20px 60px rgba(0,0,0,.24)}.admin-schedule__toolbar-main{display:grid;grid-gap:8px;gap:8px}.admin-schedule__panel-head span,.admin-schedule__selected span,.admin-schedule__summary span,.admin-schedule__toolbar label{color:var(--admin-muted);font-size:.78rem;font-weight:800}.admin-schedule__toolbar select{width:100%;min-height:46px;border-radius:12px;padding:0 12px}.admin-schedule__small-button.btn{min-height:40px;padding:0 14px;border-radius:10px;justify-self:start}.admin-schedule__summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:10px;gap:10px}.admin-schedule__summary article{min-height:96px;display:grid;align-content:space-between;grid-gap:6px;gap:6px;padding:14px;border:1px solid var(--admin-line);border-radius:16px;background:linear-gradient(180deg,rgba(38,38,44,.96),rgba(23,23,28,.94))}.admin-schedule__summary strong{min-width:0;overflow-wrap:anywhere;color:var(--admin-text);font-size:1.25rem}.admin-schedule__selected p,.admin-schedule__summary p{margin:0;color:var(--admin-muted);font-size:.84rem;line-height:1.4}.admin-schedule__workspace{display:grid;grid-gap:12px;gap:12px}.admin-schedule__column,.admin-schedule__panel{min-width:0}.admin-schedule__panel{display:grid;grid-gap:14px;gap:14px;align-content:start;padding:14px;border:1px solid var(--admin-line);border-radius:16px;background:var(--admin-panel);box-shadow:0 20px 60px rgba(0,0,0,.24)}.admin-schedule__panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.admin-schedule__panel-head>div{display:grid;grid-gap:3px;gap:3px}.admin-schedule__panel-head strong{color:var(--admin-text);font-size:1.05rem}.admin-schedule__form{display:grid;grid-gap:10px;gap:10px;padding:12px;border:1px solid rgba(190,242,100,.16);border-radius:14px;background:rgba(190,242,100,.055)}.admin-schedule__full-button.btn{width:100%;min-height:46px;padding:0 14px;border-radius:12px}.admin-schedule__list,.admin-schedule__seat-grid{display:grid;grid-gap:8px;gap:8px}.admin-schedule__row,.admin-schedule__seat{display:flex;align-items:center;justify-content:space-between;gap:10px;min-width:0;padding:12px;color:var(--admin-text);border:1px solid var(--admin-line);border-radius:14px;background:var(--admin-panel-soft)}.admin-schedule__row[data-active=true]{border-color:var(--admin-line-strong);background:rgba(190,242,100,.08);box-shadow:inset 3px 0 0 var(--admin-accent)}.admin-schedule__row>div,.admin-schedule__seat>div,.admin-schedule__select-row{display:grid;grid-gap:4px;gap:4px;min-width:0;text-align:left}.admin-schedule__row strong,.admin-schedule__seat strong,.admin-schedule__selected strong{min-width:0;color:var(--admin-text);overflow-wrap:anywhere}.admin-schedule__row span,.admin-schedule__seat span,.admin-schedule__select-row span{color:var(--admin-muted);font-size:.82rem}.admin-schedule__row>button,.admin-schedule__seat>button{flex:0 0 auto;min-height:32px;padding:0 10px;border:1px solid rgba(255,77,77,.28);border-radius:999px;background:rgba(255,77,77,.08);color:#ffb4b4;font-size:.78rem;font-weight:800;cursor:pointer}.admin-schedule__select-row{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;flex:1 1 auto;padding:0;color:inherit;cursor:pointer}.admin-schedule__selected{display:grid;grid-gap:5px;gap:5px;padding:12px;border-radius:14px;background:var(--admin-panel-soft);border:1px solid rgba(190,242,100,.16)}.admin-schedule__seat{display:grid;grid-template-columns:minmax(0,1fr) auto auto}.modal-backdrop{position:fixed;inset:0;z-index:100;background:rgba(15,23,42,.42);display:flex;align-items:center;justify-content:center;padding:16px}.confirm-modal{width:min(100%,360px);padding:16px}.confirm-modal,.sample-modal{background:var(--surface);border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow);display:grid;grid-gap:10px;gap:10px}.sample-modal{width:min(100%,420px);max-height:82vh;overflow:auto;padding:14px}.sample-modal__header{display:flex;align-items:center;justify-content:space-between;gap:8px}.ghost-close-button{border:1px solid var(--line);background:white;color:var(--muted);border-radius:999px;min-height:34px;padding:0 12px;font-size:.8rem;font-weight:700;cursor:pointer}.sample-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:10px;gap:10px}.sample-card{border:1px solid var(--line);border-radius:18px;background:#f8fbff;padding:10px;display:grid;grid-gap:8px;gap:8px}.sample-card__image-wrap{overflow:hidden;border-radius:14px;background:#eef3f8;aspect-ratio:3/4;border:1px solid rgba(124,146,173,.2)}.sample-card__image{display:block;width:100%;height:100%;object-fit:cover}.sample-card__index{width:28px;height:28px;border-radius:999px;display:grid;place-items:center;font-size:.78rem;font-weight:800;color:#165dff;background:rgba(22,93,255,.1)}.sample-card__description{font-size:.74rem;line-height:1.45;color:var(--muted)}.sample-card__visual{position:relative;aspect-ratio:3/4;border-radius:12px;overflow:hidden;background:radial-gradient(circle at center,rgba(22,93,255,.08) 0 18%,transparent 19%),linear-gradient(180deg,#edf4ff,#dfeeff);display:grid;place-items:center}.sample-top-head{position:relative;width:54%;aspect-ratio:1/1;border-radius:999px;background:linear-gradient(180deg,#ffd8bf,#f1b899);border:2px solid rgba(102,117,143,.2);box-shadow:0 6px 16px rgba(17,34,68,.12)}.sample-top-head__nose{position:absolute;left:50%;top:7%;width:18%;height:22%;transform:translateX(-50%);-webkit-clip-path:polygon(50% 0,100% 100%,0 100%);clip-path:polygon(50% 0,100% 100%,0 100%);background:rgba(183,116,84,.88)}.sample-top-head__center{inset:38%;background:rgba(255,255,255,.35)}.sample-eye,.sample-top-head__center{position:absolute;border-radius:999px}.sample-eye{top:38%;width:10%;height:10%;background:#1f2937}.sample-eye--left{left:31%}.sample-eye--right{right:31%}.sample-top-arrow{position:absolute;bottom:12px;left:50%;width:46%;height:3px;transform:translateX(-50%);background:rgba(22,93,255,.28);border-radius:999px}.sample-top-arrow:after{content:"";position:absolute;right:-1px;top:50%;width:10px;height:10px;border-top:3px solid rgba(22,93,255,.5);border-right:3px solid rgba(22,93,255,.5);transform:translateY(-50%) rotate(45deg)}.sample-gaze{position:absolute;top:42%;width:18%;height:2px;background:rgba(22,93,255,.72);border-radius:999px}.sample-gaze:after{content:"";position:absolute;right:-1px;top:50%;width:8px;height:8px;border-top:2px solid rgba(22,93,255,.72);border-right:2px solid rgba(22,93,255,.72);transform:translateY(-50%) rotate(45deg)}.sample-gaze--left{left:18%}.sample-gaze--right{right:18%}.sample-card__visual[data-pose="0"] .sample-gaze,.sample-card__visual[data-pose="0"] .sample-top-arrow,.sample-card__visual[data-pose="5"] .sample-gaze,.sample-card__visual[data-pose="5"] .sample-top-arrow,.sample-card__visual[data-pose="6"] .sample-gaze,.sample-card__visual[data-pose="6"] .sample-top-arrow{display:none}.sample-card__visual[data-pose="1"] .sample-top-arrow,.sample-card__visual[data-pose="2"] .sample-top-arrow{transform:translateX(-50%) rotate(0deg)}.sample-card__visual[data-pose="3"] .sample-top-arrow,.sample-card__visual[data-pose="4"] .sample-top-arrow{transform:translateX(-50%) rotate(180deg)}.sample-card__visual[data-pose="1"] .sample-gaze--left,.sample-card__visual[data-pose="1"] .sample-gaze--right{transform:rotate(10deg);transform-origin:left center}.sample-card__visual[data-pose="2"] .sample-gaze--left,.sample-card__visual[data-pose="2"] .sample-gaze--right{transform:rotate(24deg);transform-origin:left center}.sample-card__visual[data-pose="3"] .sample-gaze--left,.sample-card__visual[data-pose="3"] .sample-gaze--right{transform:rotate(170deg);transform-origin:right center}.sample-card__visual[data-pose="4"] .sample-gaze--left,.sample-card__visual[data-pose="4"] .sample-gaze--right{transform:rotate(156deg);transform-origin:right center}.sample-card__visual[data-pose="0"] .sample-top-head{transform:rotate(0deg)}.sample-card__visual[data-pose="1"] .sample-top-head{transform:rotate(14deg) translateX(6%)}.sample-card__visual[data-pose="1"] .sample-top-head__nose{left:56%;top:9%}.sample-card__visual[data-pose="2"] .sample-top-head{transform:rotate(32deg) translateX(14%)}.sample-card__visual[data-pose="2"] .sample-top-head__nose{left:63%;top:13%;width:20%}.sample-card__visual[data-pose="3"] .sample-top-head{transform:rotate(-14deg) translateX(-6%)}.sample-card__visual[data-pose="3"] .sample-top-head__nose{left:44%;top:9%}.sample-card__visual[data-pose="4"] .sample-top-head{transform:rotate(-32deg) translateX(-14%)}.sample-card__visual[data-pose="4"] .sample-top-head__nose{left:37%;top:13%;width:20%}.sample-card__visual[data-pose="5"] .sample-top-head{transform:rotate(0deg) scaleY(.92)}.sample-card__visual[data-pose="6"] .sample-top-head{transform:rotate(0deg) scaleY(1.08)}.sample-card__visual[data-pose="5"] .sample-top-head__nose{top:3%}.sample-card__visual[data-pose="6"] .sample-top-head__nose{top:11%}.sample-card__label{font-size:.76rem;font-weight:700;line-height:1.35}@media (min-width:720px){.page-shell{padding:16px max(16px,var(--safe-area-inset-right)) 16px max(16px,var(--safe-area-inset-left))}.grid-cards,.menu-grid,.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.menu-grid--stacked{grid-template-columns:minmax(0,1fr)}.face-register-layout{grid-template-columns:minmax(260px,320px) minmax(0,1fr)}.face-register-workspace{grid-template-columns:minmax(0,1fr) minmax(280px,320px);align-items:start;padding-bottom:0}.face-register-controls--sticky{position:static;left:auto;right:auto;bottom:auto;box-shadow:var(--shadow);border:1px solid var(--line);background:var(--surface);-webkit-backdrop-filter:none;backdrop-filter:none}.button-row--stack-mobile{flex-wrap:nowrap}.button-row--dense>*{flex:1 1}.snapshot-grid,.snapshot-grid--compact{grid-template-columns:repeat(4,minmax(0,1fr))}.sample-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.admin-schedule__toolbar{grid-template-columns:minmax(0,1fr) auto;align-items:end}.admin-schedule__summary{grid-template-columns:repeat(4,minmax(0,1fr))}.admin-schedule__workspace{grid-template-columns:minmax(0,.9fr) minmax(0,1fr);align-items:start}.admin-schedule__column--wide{grid-column:1/-1}.admin-schedule__form--two{grid-template-columns:repeat(2,minmax(0,1fr));align-items:end}.admin-schedule__form--two .admin-schedule__full-button{grid-column:1/-1}.tabbar{max-width:900px;left:50%;transform:translateX(-50%);border-radius:18px 18px 0 0;box-shadow:var(--shadow)}}