:root{color:#171717;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--line:#dce5e9;--muted:#576a75;--gold:#ffde99;background:#f5f8fa;font-family:Noto Sans TC,system-ui,sans-serif}*{box-sizing:border-box}body{min-width:320px;margin:0}button{font:inherit;color:inherit;cursor:pointer;min-height:44px;transition:background .15s,border-color .15s}button:focus-visible,a:focus-visible{outline-offset:4px;outline:3px solid #24477c}button:disabled{cursor:not-allowed;opacity:.42}h1,h2,h3,p{margin:0}.manager-shell{grid-template-columns:224px minmax(0,1fr);min-height:100dvh;display:grid}.sidebar{border-right:1px solid var(--line);background:#fff;flex-direction:column;height:100dvh;padding:36px 20px 24px;display:flex;position:sticky;top:0}.brand{color:inherit;align-items:center;gap:10px;font-size:20px;font-weight:800;text-decoration:none;display:flex}.brand-symbol{background:var(--gold);border:1px solid #ead099;border-radius:14px 14px 14px 4px;place-items:center;width:44px;height:44px;font-size:24px;display:grid}.brand small{color:var(--muted);letter-spacing:2px;margin-top:3px;font-size:11px;font-weight:500;display:block}.sidebar-label{letter-spacing:2px;color:var(--muted);margin:54px 12px 16px;font-size:10px;font-weight:700}.manager-nav{gap:8px;display:grid}.manager-nav a{text-align:left;background:0 0;border:1px solid #0000;border-radius:10px;align-items:center;gap:12px;padding:15px 12px;font-size:14px;font-weight:650;display:flex}.nav-mark{color:var(--muted);font-variant-numeric:tabular-nums;font-size:11px}.nav-arrow{margin-left:auto}.sidebar-footer{color:var(--muted);margin-top:auto;padding:20px 8px 0;font-size:12px}.sidebar-footer small{margin-top:12px;font-size:11px;display:block}.status-dot{background:#597888;border-radius:50%;width:7px;height:7px;margin-right:7px;display:inline-block}.manager-main{width:100%;min-width:0;max-width:1600px;padding:36px clamp(20px,3.5vw,56px) 24px}.page-header{justify-content:space-between;align-items:center;gap:16px;display:flex}.eyebrow{letter-spacing:1.8px;color:var(--muted);font-size:11px;font-weight:700}h1{letter-spacing:-1px;margin-top:8px;font-size:clamp(24px,2.5vw,34px)}.mode-badge{border:1px solid var(--line);background:#fff;border-radius:30px;flex-shrink:0;padding:9px 13px;font-size:12px;font-weight:650}.preview-notice{color:var(--muted);margin:16px 0 26px;font-size:12px;line-height:1.8}.current-screen{background:#dff7fd;border:1px solid #b1dde7;border-radius:16px;justify-content:space-between;align-items:center;gap:24px;padding:28px;display:flex}.current-main{align-items:center;gap:24px;min-width:0;display:flex}.cue-number{letter-spacing:-1px;border-right:1px solid #acd2db;min-width:86px;padding-right:24px;font-size:36px;font-weight:750;line-height:1.2}.cue-number small{color:#3d6471;letter-spacing:1px;margin-bottom:9px;font-size:11px;font-weight:500;display:block}.local-tag{letter-spacing:0;border:1px solid #94becb;border-radius:4px;margin-left:10px;padding:2px 5px;font-size:9px}.current-screen h2{overflow-wrap:anywhere;margin:10px 0 7px;font-size:clamp(18px,2vw,24px)}.current-caption{color:#476977;font-size:12px}.cue-actions{flex-shrink:0;gap:8px;display:flex}.button{background:#fff;border:1px solid #c2d1d9;border-radius:8px;padding:10px 16px;font-size:13px;font-weight:650}.button.primary{color:#fff;background:#233a46;border-color:#233a46}.button.primary:hover:not(:disabled){background:#355364}.button.secondary:hover:not(:disabled){background:#eef5f7}.action-notice{color:#365e6d;min-height:38px;padding:9px 2px;font-size:12px}.section-intro{justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px;display:flex}.section-intro h2{font-size:21px}.section-intro p{color:var(--muted);margin-top:7px;font-size:13px;line-height:1.7}.count-tag{white-space:nowrap;border:1px solid var(--line);color:var(--muted);border-radius:6px;padding:6px 10px;font-size:11px}.stage-group{margin-top:28px}.group-heading{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.group-heading h3{align-items:center;gap:12px;font-size:15px;display:flex}.group-heading h3>span{color:#778b96;font-size:11px;font-weight:500}.text-button{color:#35596b;background:0 0;border:0;padding:8px 0 8px 12px;font-size:12px}.text-button:hover{text-decoration:underline}.screen-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,205px),1fr));gap:12px;display:grid}.screen-card{text-align:left;border:1px solid var(--line);background:#fff;border-radius:12px;flex-direction:column;align-items:stretch;gap:14px;min-height:145px;padding:18px;display:flex}.screen-card:hover{background:#f6fcfe;border-color:#86bdcb}.screen-card[aria-pressed=true]{background:#ecfaff;border:2px solid #488ba0;padding:17px}.screen-card-top{justify-content:space-between;align-items:center;display:flex}.screen-code{color:#426071;letter-spacing:1px;font-size:11px;font-weight:700}.selection-mark{color:#486f7d;font-size:14px}.screen-card strong{white-space:normal;overflow-wrap:anywhere;font-size:14px;font-weight:650;line-height:1.6}.screen-hint{color:var(--muted);margin-top:auto;font-size:10px}.result-panel{text-align:center;background:#fff9ed;border:1px solid #eadcbb;border-radius:14px;margin-top:28px;padding:36px 20px}.result-settings{margin-bottom:24px}.result-settings-controls{flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;margin:20px 0 12px;display:flex}.result-settings-controls label{align-items:center;gap:12px;font-size:13px;font-weight:650;display:flex}.result-settings-controls select{font:inherit;color:inherit;cursor:pointer;background-color:#fff;border:1px solid #a6b9c3;border-radius:8px;min-width:112px;min-height:44px;padding:10px 12px}.result-settings-controls select:hover:not(:disabled){border-color:#176372}.result-settings-controls select:focus-visible{outline-offset:2px;outline:3px solid #24477c}.result-settings-controls select:disabled{cursor:not-allowed;opacity:.42}.result-panel h3{margin-top:10px;font-size:22px}.result-panel p{color:var(--muted);font-size:12px;line-height:1.8}.result-numbers{flex-wrap:wrap;justify-content:center;gap:16px;margin:28px 0;display:flex}.result-numbers span{background:var(--gold);font-variant-numeric:tabular-nums;border:1px solid #e7c784;border-radius:50%;place-items:center;width:82px;height:82px;font-size:28px;font-weight:700;display:grid}.votes-panel{border:1px solid var(--line);background:#fff;border-radius:14px;margin-top:28px;padding:24px}.votes-panel h3{margin-top:8px;font-size:22px}.vote-list{margin:0;padding:0;list-style:none}.vote-list li{border-top:1px solid #edf0f2;grid-template-columns:minmax(0,1fr);gap:10px 24px;padding:18px 0;display:grid}.vote-info{justify-content:space-between;align-items:baseline;gap:16px;font-size:13px;display:flex}.vote-info>span{overflow-wrap:anywhere}.vote-info strong{white-space:nowrap;font-size:20px}.vote-info small{color:var(--muted);font-size:11px;font-weight:400}.vote-track{background:#f0f4f6;border-radius:3px;height:6px;overflow:hidden}.vote-track>div{border-radius:inherit;background:#73cbe6;height:100%}.vote-add{background:#fff8e9;border-color:#eedbb2;grid-area:1/2/3;align-self:center;font-size:12px}.vote-add:hover{background:var(--gold)}.muted{color:var(--muted);margin-top:16px;font-size:12px;line-height:1.8}.main-footer{border-top:1px solid var(--line);color:var(--muted);justify-content:space-between;gap:12px;margin-top:48px;padding-top:18px;font-size:10px;display:flex}.main-footer span{letter-spacing:1px}@media (width<=1080px){.current-screen{flex-direction:column;align-items:stretch}.cue-actions{justify-content:flex-end}}@media (width<=760px){.manager-shell{grid-template-columns:minmax(0,1fr)}.sidebar{border-right:0;border-bottom:1px solid var(--line);height:auto;padding:18px 16px 12px;position:static}.brand{font-size:17px}.brand-symbol{width:36px;height:36px;font-size:20px}.brand small{font-size:10px}.sidebar-label,.sidebar-footer{display:none}.manager-nav{flex-wrap:wrap;gap:6px;margin-top:18px;display:flex}.manager-nav a{flex:130px;padding:10px 12px;font-size:12px}.manager-main{padding:24px 16px}.page-header{gap:8px}.mode-badge{padding:8px 10px;font-size:11px}.eyebrow{font-size:10px}.current-screen{gap:20px;padding:20px}.current-main{gap:16px}.cue-number{min-width:72px;padding-right:16px;font-size:30px}.cue-actions .button{flex:1}.section-intro{align-items:flex-start}.section-intro h2{font-size:19px}.screen-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.screen-card{min-height:150px;padding:14px}.screen-card[aria-pressed=true]{padding:13px}.screen-card strong{font-size:13px}.votes-panel{padding:18px 14px}.votes-panel .section-intro{flex-wrap:wrap}.vote-list li{gap:10px 12px}.vote-add{padding:8px 10px}}@media (prefers-reduced-motion:reduce){button{transition:none}}.manager-nav a{color:inherit;text-decoration:none}.ticket-panel,.ticket-print-panel{border:1px solid var(--line);background:#fff;border-radius:14px;margin:24px 0;padding:24px}.ticket-form{flex-wrap:wrap;align-items:end;gap:16px;display:flex}.ticket-form h3,.ticket-form>p{width:100%}.ticket-form label{flex-direction:column;gap:8px;max-width:100%;font-size:13px;display:flex}.ticket-form input,.ticket-form select{font:inherit;background:#fff;border:1px solid #a6b9c3;border-radius:8px;max-width:100%;min-height:44px;padding:12px}.ticket-form input:focus-visible,.ticket-form select:focus-visible{outline-offset:2px;outline:3px solid #24477c}.ticket-form input[type=number]{width:8rem}.create-session{border-top:1px solid var(--line);margin-top:20px;padding-top:20px}.session-list{grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:12px;display:grid}.session-list button{text-align:left;border:1px solid var(--line);background:#fff;border-radius:10px;grid-template-columns:40px minmax(0,1fr);gap:8px 12px;padding:16px;display:grid}.session-list button[aria-pressed=true]{background:#ecfaff;border-color:#488ba0}.session-list strong{overflow-wrap:anywhere}.session-list button>span:last-child{color:var(--muted);grid-column:2;font-size:12px}.session-code{grid-row:1/3;align-self:center;font-size:28px;font-weight:700}.ticket-error,.ticket-pending{color:#74431d;background:#fff2df;border-radius:8px;margin:16px 0;padding:16px;line-height:1.7}.ticket-pending .button{margin-top:10px}.ticket-table-wrap{margin-top:24px;overflow-x:auto}.ticket-table-wrap table{border-collapse:collapse;text-align:left;width:100%;font-size:13px}.ticket-table-wrap caption{text-align:left;padding-bottom:12px;font-weight:700}.ticket-table-wrap th,.ticket-table-wrap td{border-bottom:1px solid var(--line);white-space:nowrap;padding:10px}.ticket-preview{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:16px;margin-top:20px;display:grid}.ticket-preview article{border:1px dashed #a6b9c3;border-radius:8px;flex-direction:column;align-items:center;gap:8px;padding:16px;display:flex}.ticket-preview article>span{overflow-wrap:anywhere;text-align:center}.ticket-preview strong{font-size:26px}.ticket-preview img{width:160px;max-width:100%}.ticket-print{display:none}@media (width<=760px){.ticket-panel,.ticket-print-panel{padding:16px}.ticket-page .section-intro{flex-wrap:wrap}.ticket-form label{flex:140px}}@media print{@page{size:A4;margin:10mm}body{background:#fff;min-width:0}body>*{display:none!important}body>.ticket-print{color:#000;font-family:sans-serif;display:block!important}.ticket-print-page{break-inside:avoid;page-break-inside:avoid;grid-template-rows:repeat(4,69mm);grid-template-columns:repeat(3,minmax(0,1fr));width:190mm;height:276mm;display:grid}.ticket-print-page+.ticket-print-page{break-before:page;page-break-before:always}.ticket-print article{box-sizing:border-box;text-align:center;break-inside:avoid;page-break-inside:avoid;border:.2mm dashed #555;min-width:0;height:69mm;padding:3mm 2mm;overflow:hidden}.ticket-print h2{margin:0;font-size:10pt;line-height:1.2}.ticket-print p{overflow-wrap:anywhere;margin:1mm 0;font-size:7pt;line-height:1.2}.ticket-print article>p:first-of-type{-webkit-line-clamp:2;-webkit-box-orient:vertical;height:6mm;display:-webkit-box;overflow:hidden}.ticket-print strong{font-size:18pt;line-height:1.1;display:block}.ticket-print img{width:30mm;height:30mm;margin:1mm auto;display:block}.ticket-print small{font-size:6pt;line-height:1.2}}.ticket-actions{flex-wrap:wrap;gap:12px;display:flex}.ticket-modal{border:1px solid var(--line);width:min(520px,100vw - 32px);max-height:calc(100dvh - 48px);color:var(--ink,#172c43);background:#fff;border-radius:16px;padding:28px;overflow:auto;box-shadow:0 24px 80px #172c4340}.ticket-modal::backdrop{background:#172c4380}.ticket-modal .ticket-form{margin-top:24px}.ticket-modal .ticket-form label{flex:100%}.ticket-modal .ticket-actions{justify-content:flex-end;width:100%;margin-top:12px}.ticket-selection{background:#f1f7fa;border-radius:10px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-top:24px;padding:18px;display:flex}.ticket-selection h4{margin:0 0 8px}.ticket-check{cursor:pointer;align-items:center;gap:8px;display:flex}.ticket-checkbox,.ticket-check input{accent-color:#176372;cursor:pointer;width:18px;height:18px}.selected-ticket-numbers{margin:16px 0}.selected-ticket-numbers p{overflow-wrap:anywhere;max-height:140px;margin-top:10px;line-height:1.8;overflow:auto}:is(.ticket-modal:has(.print-step-actions),.ticket-modal:has(.ticket-print-panel)){width:min(860px,100vw - 32px)}.ticket-modal .ticket-print-panel{margin:16px 0;padding:16px}.ticket-selection-table{max-height:320px;overflow:auto}.ticket-selection-table th:first-child{width:132px}.ticket-selection-table th:nth-child(2){width:120px}.ticket-selection-table .ticket-check input{flex-shrink:0}@media print{dialog.ticket-modal,dialog.ticket-modal::backdrop{display:none!important}}.ticket-print-options{border:1px solid var(--line);border-radius:10px;gap:16px;margin:20px 0;padding:18px;display:grid}.ticket-print-options label{cursor:pointer;align-items:center;gap:10px;display:flex}.ticket-print-options input{accent-color:#176372}.print-step-actions{justify-content:flex-end;margin-top:24px}.ticket-draw-badge{color:#18755e;white-space:nowrap;background:#edf7f5;border-radius:6px;padding:4px 9px;font-size:12px;display:inline-block}.ticket-draw-badge.excluded{color:#97591d;background:#fff2e6}.ticket-form label.ticket-draw-choice{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;align-items:flex-start;gap:12px;padding:16px;display:flex}.ticket-form .ticket-draw-choice input{flex-shrink:0;width:18px;height:18px;margin:2px 0 0}.ticket-draw-choice small{color:#64748b;margin-top:6px;font-weight:400;line-height:1.6;display:block}.admin-login{background:var(--bg,#f4f5ee);place-items:center;min-height:100dvh;padding:24px;display:grid}.admin-login>section{width:min(100%,480px);padding:32px}.admin-login h1{margin-bottom:24px;font-size:28px}.admin-login .ticket-form{flex-direction:column;align-items:stretch;gap:16px;display:flex}.admin-login .ticket-form label{width:100%}.admin-account{background:#fff;border:1px solid #dde3db;border-radius:14px;justify-content:space-between;align-items:center;gap:16px;margin:0 0 24px;padding:14px 20px;display:flex}.admin-actions{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.admin-status{color:#6c625d;white-space:nowrap;background:#ece8e5;border-radius:20px;padding:4px 10px}.admin-status.active{color:#28604b;background:#e1f3e8}.admin-editor .ticket-form{align-items:end}.admin-editor .muted{width:100%}.admin-search{align-items:end}:root{color:#162c40;--muted:#6d8095;--line:#e2eaf0;--teal:#13858a;background:#f1f6fa}.manager-shell{grid-template-columns:252px minmax(0,1fr)}.sidebar{color:#f4f9fc;background:#142a3a;border:0;padding:32px 16px 26px}.brand{letter-spacing:1px;padding:0 18px;font-size:30px;display:block}.brand small{color:#bdcbd5;letter-spacing:4px;margin-top:6px;font-size:13px}.manager-nav{gap:10px;margin-top:36px}.manager-nav a{color:#ecf5fb;gap:19px;min-height:60px;padding:17px 16px;font-size:16px;font-weight:500}.manager-nav a small{margin-left:auto;font-size:12px}.manager-nav a:hover{background:#203e50}.manager-nav a[aria-current=page]{background:#176372;border-color:#0000}.ui-icon{vertical-align:middle;flex-shrink:0}.sidebar-account{border-top:1px solid #3c505f;align-items:center;gap:12px;margin-top:auto;padding:26px 6px 0;display:flex}.account-avatar{color:#152b3a;background:#efd08b;border-radius:50%;flex-shrink:0;place-items:center;width:48px;height:48px;font-size:21px;font-weight:700;display:grid}.account-name{flex:1;min-width:0}.account-name strong{overflow-wrap:anywhere;font-size:13px;display:block}.account-name small{color:#acbecc;margin-top:6px;font-size:11px;display:block}.sidebar-account button{color:#eaf4fc;background:0 0;border:0;padding:4px}.sidebar-account button small{margin-top:3px;font-size:10px;display:block}.manager-main{max-width:none;padding:22px 28px 40px}.dashboard-header{margin-bottom:28px}.breadcrumb{color:#73859a;margin-bottom:17px;font-size:13px;font-weight:600}.breadcrumb span{color:#9dabb9;padding:0 12px}.dashboard-header>div{flex-wrap:wrap;align-items:baseline;gap:18px;display:flex}.dashboard-header h1{letter-spacing:-.8px;color:#13283b;margin:0;font-size:32px}.dashboard-header>div>p{color:#6b8096;font-size:14px}.metric-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-bottom:22px;display:grid}.metric-card{background:#fff;border:1px solid #e5edf3;border-radius:12px;min-height:157px;padding:24px;position:relative;box-shadow:0 3px 12px #24476b05}.metric-card h2{padding-right:26px;font-size:16px;font-weight:650}.metric-icon{color:#6b7c90;position:absolute;top:24px;right:22px}.metric-icon.gold{color:#be9647}.metric-icon .ui-icon{width:27px;height:27px}.metric-card>strong{letter-spacing:-1px;font-variant-numeric:tabular-nums;margin-top:12px;font-size:clamp(30px,3.2vw,46px);line-height:1.2;display:block}.metric-card p{color:#7a8b9e;overflow-wrap:anywhere;margin-top:5px;font-size:12px;line-height:1.6}.metric-track{background:#e7ecf2;border-radius:5px;height:6px;margin-top:5px;overflow:hidden}.metric-track span{border-radius:inherit;background:#22959b;height:100%;display:block}.dashboard-panel{background:#fff;border:1px solid #e4ecf3;border-radius:12px;padding:25px 24px 18px}.dashboard-panel-heading{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:20px;display:flex}.dashboard-panel-heading h2{font-size:23px}.dashboard-panel-heading p{color:#758aa0;margin-top:8px;font-size:13px;line-height:1.6}.view-all{white-space:nowrap;color:#285477;background:0 0;border:0;align-items:center;gap:16px;padding:0;font-size:14px;display:flex}.dashboard-table-wrap{overflow-x:auto}.dashboard-table{border-collapse:collapse;text-align:left;width:100%;font-size:15px}.dashboard-table th{color:#6f8198;white-space:nowrap;background:#eff4f8;padding:14px 24px;font-size:13px;font-weight:500}.dashboard-table th:first-child{border-radius:5px 0 0 5px}.dashboard-table th:last-child{border-radius:0 5px 5px 0}.dashboard-table td{font-variant-numeric:tabular-nums;border-bottom:1px solid #e5edf3;padding:18px 24px}.dashboard-table td:nth-child(2){font-weight:550}.dashboard-table th:last-child,.dashboard-table td:last-child{text-align:center;width:190px}.session-enter{color:#168487;white-space:nowrap;background:#fff;border:1px solid #398f90;border-radius:7px;justify-content:center;align-items:center;gap:18px;min-width:142px;padding:10px 14px;font-size:14px;display:inline-flex}.session-enter:hover{background:#eefafa}.dashboard-empty{text-align:center;padding:40px 15px}.dashboard-empty p{font-weight:650}.dashboard-empty span{color:var(--muted);margin:12px 0 22px;font-size:13px;display:block}.dashboard-loading{color:var(--muted);padding:24px 0}.dashboard-error{background:#fff0ed;border-radius:8px;margin-bottom:18px;padding:12px 18px}.session-context{justify-content:space-between;align-items:center;gap:20px;margin-bottom:20px;display:flex}.session-context>div{align-items:center;gap:16px;display:flex}.session-letter{color:#156a74;background:#dceef0;border-radius:10px;place-items:center;width:54px;height:54px;font-size:28px;font-weight:650;display:grid}.session-context h2{font-size:23px}.session-context p{color:var(--muted);margin-top:7px;font-size:12px}.session-control>.ticket-panel{margin-bottom:20px}.control-tabs{z-index:10;border-bottom:1px solid var(--line);background:#f1f6fa;gap:8px;margin:24px 0 25px;padding:12px 0;display:flex;position:sticky;top:16px}.control-tabs button{color:var(--muted);background:0 0;border:0;border-radius:7px;padding:10px 24px}.control-tabs button[aria-selected=true]{color:#fff;background:#176372}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (width<=1100px){.manager-shell{grid-template-columns:216px minmax(0,1fr)}.sidebar{padding-inline:12px}.brand{padding-inline:12px;font-size:26px}.manager-nav a{gap:12px;font-size:14px}.manager-main{padding:24px}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=760px){.manager-shell{display:block}.sidebar{height:auto;padding:20px 16px 12px;position:static}.brand{padding:0;font-size:24px}.manager-nav{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin-top:22px;display:grid}.manager-nav a{min-height:48px;padding:12px}.manager-nav a small{font-size:10px}.sidebar-account{margin-top:16px;padding:12px 0 0}.account-avatar{width:36px;height:36px;font-size:17px}.sidebar-account button{align-items:center;gap:8px;display:flex}.manager-main{padding:24px 16px}.dashboard-header h1{font-size:28px}.dashboard-header>div{gap:8px}.dashboard-header>div>p{width:100%;font-size:12px}.metric-grid{gap:10px}.metric-card{min-height:144px;padding:18px 14px}.metric-card h2{font-size:14px}.metric-icon{top:18px;right:12px}.metric-icon .ui-icon{width:20px;height:20px}.metric-card>strong{font-size:34px}.metric-card p{font-size:11px}.dashboard-panel{padding:20px 16px}.dashboard-panel-heading h2{font-size:21px}.dashboard-panel-heading p{font-size:12px}.dashboard-table{min-width:600px}.dashboard-table td,.dashboard-table th{padding-inline:14px}.control-tabs{gap:2px}.control-tabs button{flex:1;padding-inline:10px}}.show-flow-grid>.stage-group{min-width:0}.show-flow-grid .theme-group .screen-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}@media (width<=1100px){.show-flow-grid .theme-group .screen-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=600px){.show-flow-grid .theme-group .screen-grid{grid-template-columns:minmax(0,1fr)}}.message-filters{flex-wrap:wrap;align-items:end;gap:12px;display:flex}.message-filters label:first-child{flex:1;min-width:180px}.message-pagination{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-block:20px;display:flex}.message-pagination select{background:#fff;border:1px solid #cbd5e1;border-radius:6px;padding:8px}.message-table{table-layout:fixed;width:100%}.message-table th:first-child{width:220px}.message-table tbody tr{cursor:pointer}.message-table tbody tr:hover{background:#f2f7fc}.message-summary{text-align:left;overflow-wrap:anywhere;white-space:pre-wrap}.message-dialog{color:#243342;background:#fff;border:1px solid #d8e1eb;border-radius:16px;width:min(640px,100vw - 32px);max-height:85dvh;margin:auto;padding:28px;position:fixed;inset:0;overflow-y:auto;box-shadow:0 24px 80px #172b4d33}.message-dialog::backdrop{background:#14213288}.message-content{white-space:pre-wrap;overflow-wrap:anywhere;margin-block:24px;line-height:1.8}@media (width<=600px){.message-table th:first-child{width:145px}}.session-summary{gap:20px;display:grid}.session-summary .section-intro{flex-wrap:wrap;gap:16px}.session-summary .metric-grid{margin-bottom:0}.session-summary .metric-card h3{font-size:16px}.session-summary .ticket-panel>h3{margin-bottom:12px}.session-summary .muted{line-height:1.7}.summary-media{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:20px 0;display:grid}.summary-media dt{color:var(--muted);font-size:14px}.summary-media dd{margin:8px 0 0;font-size:26px;font-weight:650}.summary-winners{flex-wrap:wrap;gap:12px;margin:16px 0;font-size:24px;display:flex}.control-tabs{overflow-x:auto}.control-tabs button{white-space:nowrap;flex-shrink:0}@media (width<=600px){.summary-media{grid-template-columns:1fr}.session-summary .ticket-actions{width:100%}.session-summary .ticket-actions .button{flex:1}}.draw-pool{text-align:left;background:#fff;border:1px solid #e2e8f0;border-radius:14px;gap:24px;padding:24px;display:grid}.draw-pool-heading,.draw-history-heading{justify-content:space-between;align-items:center;gap:16px;display:flex}.draw-pool-heading h3,.draw-history-heading h3{color:#19354c;margin:0;font-size:18px}.draw-pool-heading p{color:#64748b;margin:8px 0 0;font-size:14px;line-height:1.6}.draw-pool-heading>button{flex-shrink:0}.draw-pool-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:0;display:grid}.draw-pool-stat{background:#f6f8fb;border:1px solid #edf1f5;border-radius:10px;padding:18px 20px}.draw-pool-stat.available{background:#edf7f5;border-color:#d5ebe5}.draw-pool-stat dt{color:#64748b;font-size:13px}.draw-pool-stat dd{font-variant-numeric:tabular-nums;color:#19354c;margin:8px 0 0;font-size:30px;font-weight:700;line-height:1.2}.draw-pool-stat.available dd{color:#18755e}.draw-pool-stat dd span{color:#64748b;margin-left:8px;font-size:13px;font-weight:400}.draw-history-heading{padding-top:4px}.draw-history-heading>span{color:#64748b;font-size:13px}.draw-history thead{color:#526477;background:#f8fafc;font-size:13px}.draw-history td.draw-history-empty{text-align:center;white-space:normal;padding:32px 16px}.draw-history-empty strong,.draw-history-empty span{display:block}.draw-history-empty strong{color:#536377;font-size:14px;font-weight:500}.draw-history-empty span{color:#8290a3;margin-top:6px;font-size:13px}@media (width<=600px){.draw-pool{gap:20px;padding:16px}.draw-pool-heading{flex-direction:column;align-items:flex-start}.draw-pool-stats{gap:8px}.draw-pool-stat{padding:14px 10px}.draw-pool-stat dd{font-size:24px}}.draw-pool form{gap:10px;display:grid}.draw-history-scroll{overflow-x:auto}.draw-history{border-collapse:collapse;text-align:left;width:100%}.draw-history th,.draw-history td{white-space:nowrap;border-bottom:1px solid #e2e8f0;padding:10px 12px}.draw-ticket-picker{border:1px solid #cbd5e1;border-radius:8px;min-width:0;padding:16px}.draw-ticket-options{grid-template-columns:repeat(auto-fill,minmax(125px,1fr));gap:8px;max-height:360px;margin-top:12px;padding:4px;display:grid;overflow-y:auto}.draw-ticket-option{cursor:pointer;border:1px solid #cbd5e1;border-radius:6px;align-items:center;gap:10px;padding:10px;display:flex}.draw-ticket-option:has(input:checked){background:#e7efff;border-color:#5070b0}.draw-ticket-option input{width:18px;height:18px}.draw-ticket-option span{gap:4px;display:grid}.draw-ticket-option small{color:#536377}.draw-settings-modal{width:min(800px,100vw - 32px)}.draw-settings-modal form{gap:12px;display:grid}.draw-count-panel{background:#fff;border:1px solid #e2e8f0;border-radius:14px;margin:24px 0 16px;padding:24px}.draw-count-heading{justify-content:space-between;align-items:center;gap:16px;display:flex}.draw-count-heading h3,.draw-flow-heading h3{color:#19354c;margin:0;font-size:18px}.draw-count-heading p,.draw-flow-heading p{color:#64748b;margin:8px 0 0;font-size:14px;line-height:1.6}.draw-count-saved{color:#18755e;white-space:nowrap;background:#edf7f5;border-radius:6px;padding:7px 12px;font-size:13px}.draw-count-controls{justify-content:space-between;align-items:center;gap:24px;margin-top:20px;display:flex}.draw-count-options{grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;width:min(100%,520px);display:grid}.draw-count-options button{color:#536377;font:inherit;cursor:pointer;background:#f8fafc;border:1px solid #dbe3eb;border-radius:8px;padding:12px 8px;font-size:22px;font-weight:650}.draw-count-options button span{margin-left:5px;font-size:12px;font-weight:400}.draw-count-options button[aria-pressed=true]{color:#176372;background:#eaf5f7;border-color:#176372;box-shadow:inset 0 0 0 1px #176372}.draw-count-options button:hover:not(:disabled){border-color:#176372}.draw-count-options button:focus-visible{outline-offset:2px;outline:3px solid #24477c}.draw-count-options button:disabled{opacity:.5;cursor:not-allowed}.draw-count-controls>.button{flex-shrink:0}.draw-count-note{color:#8290a3;margin:18px 0 0;font-size:13px;line-height:1.6}.draw-flow-heading{margin:28px 0 16px}@media (width<=600px){.draw-count-panel{padding:16px}.draw-count-heading{flex-direction:column;align-items:flex-start;gap:12px}.draw-count-controls{flex-direction:column;align-items:stretch;gap:12px}.draw-count-options{gap:6px;width:100%}.draw-count-options button{padding:12px 4px;font-size:20px}}.lottery-step{color:#176372;vertical-align:middle;background:#eaf5f7;border-radius:8px;place-items:center;width:26px;height:26px;margin-right:10px;font-size:13px;display:inline-grid}.lottery-page .draw-count-panel{margin-top:20px}.lottery-pool{gap:20px}.lottery-empty{text-align:center;background:#f8fafc;border:1px dashed #cbd8e2;border-radius:10px;padding:22px}.lottery-empty strong{color:#536377;font-size:14px}.lottery-empty p{color:#8290a3;margin:8px 0 0;font-size:13px}.lottery-pool .lottery-theme-form{border-top:1px solid #edf1f5;grid-template-columns:minmax(220px,1fr) minmax(180px,1fr) auto;align-items:end;gap:16px;padding-top:20px;display:grid}.lottery-theme-form>label{margin:0}.lottery-theme-form .lottery-theme-save{white-space:nowrap;grid-area:1/3;min-height:44px}.lottery-theme-form .lottery-rule{grid-column:1/-1;margin:0;font-size:12px}.lottery-pool .draw-pool-stats{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.lottery-pool .result-numbers{justify-content:flex-start}@media (width<=760px){.lottery-pool .lottery-theme-form{grid-template-columns:minmax(0,1fr)}.lottery-theme-form .lottery-theme-save{grid-area:auto/1}}.manager-photo-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:20px;display:grid}.manager-photo-card{color:#1b3346;text-align:left;cursor:pointer;background:#fff;border:1px solid #dce5ed;border-radius:12px;padding:0;overflow:hidden}.manager-photo-card:hover,.manager-photo-card:focus-visible{border-color:#176372;box-shadow:0 4px 16px #17637220}.manager-photo-card img{aspect-ratio:1;object-fit:cover;width:100%;display:block}.manager-photo-card>span{flex-direction:column;gap:6px;padding:14px;display:flex}.manager-photo-card time{color:#72849a;font-size:12px}.photo-detail-dialog{width:min(720px,92vw)}.photo-detail-dialog>img{object-fit:contain;border-radius:12px;max-width:100%;max-height:65vh;margin:16px auto;display:block}
