:root{--primary: #4e87a0;--primary-strong: #0a597e;--accent: #6a9baf;--page: #f8f8f8;--surface: #ffffff;--card: #f7f7f7;--input: #edf3f5;--border: #e0e0e0;--text: #404040;--body: #5c5c5c;--muted: #a0a0a0;--shadow: 0 8px 24px rgba(87, 111, 121, .12);--new: #8b949e;--prep: #4070b6;--ready: #4c9f68;--hold: #9b6a2f;--late: #f34f11;--cancelled: #d1342f;--changed: #bfbb26;--radius: 8px}[data-theme=dark]{--page: #151c22;--surface: #1e2830;--card: #243038;--input: #2a3540;--border: #334750;--text: #e0e0e0;--body: #b0b0b0;--muted: #888888;--shadow: 0 12px 28px rgba(0, 0, 0, .28);--new: #9aa5ad;--prep: #6f9ee6;--ready: #68c184;--hold: #c18a46;--late: #ffa480;--cancelled: #e05a55;--changed: #ead855}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:var(--page);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;letter-spacing:0}button,select,input{font:inherit}.app{min-height:100vh;display:grid;grid-template-columns:72px minmax(0,1fr)}.rail{background:var(--surface);border-right:1px solid var(--border);display:flex;flex-direction:column;align-items:center;gap:14px;padding:18px 10px}.mark{width:42px;height:42px;border-radius:8px;background:var(--primary);color:#fff;display:grid;place-items:center;font-weight:800;box-shadow:var(--shadow)}.rail button{width:44px;height:44px;border:0;border-radius:8px;background:transparent;color:var(--muted);cursor:pointer;display:grid;place-items:center;transition:.16s ease}.rail button.active,.rail button:hover{background:var(--input);color:var(--primary)}.rail-footer{margin-top:auto;display:flex;flex-direction:column;align-items:center;gap:10px;width:100%}.rail-lang{width:44px;height:44px;border:0;border-radius:8px;background:transparent;color:var(--muted);cursor:pointer;font-size:12px;font-weight:700;text-align:center;text-align-last:center;padding:0 4px;transition:.16s ease}.rail-lang:hover,.rail-lang:focus{background:var(--input);color:var(--primary);outline:none}.shell{min-width:0;display:grid;grid-template-rows:auto auto minmax(0,1fr)}.shell.header-shrunk{grid-template-rows:auto minmax(0,1fr)}.topbar{min-height:78px;background:var(--surface);border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 22px}.station-title{display:flex;align-items:center;gap:14px;min-width:0}.station-icon{width:46px;height:46px;border-radius:8px;background:var(--input);display:grid;place-items:center;color:var(--primary);font-weight:800;flex:0 0 auto}h1{margin:0;font-size:22px;line-height:1.1;font-weight:750;color:var(--text)}.subline{margin-top:5px;display:flex;align-items:center;gap:8px;flex-wrap:wrap;color:var(--body);font-size:13px}.count-pill,.small-pill{display:inline-flex;align-items:center;gap:6px;min-height:28px;border-radius:8px;padding:5px 10px;background:var(--input);color:var(--body);border:1px solid transparent;white-space:nowrap}.count-pill strong{color:var(--primary)}.top-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}.control,.icon-button{height:38px;border-radius:8px;border:1px solid var(--border);background:var(--surface);color:var(--body);padding:0 12px;cursor:pointer}.icon-button{width:40px;padding:0;display:inline-grid;place-items:center}.primary-button{background:var(--primary);color:#fff;border-color:var(--primary);font-weight:650}.topbar.shrunk{min-height:0;padding:7px 22px;gap:12px;flex-wrap:nowrap}.topbar.shrunk .station-icon{width:30px;height:30px;border-radius:6px;font-size:14px}.shrunk-line{display:flex;align-items:center;gap:10px;min-width:0;overflow:hidden;font-size:13px}.shrunk-name{font-size:15px;font-weight:750;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:0 1 auto}.shrunk-divider{width:1px;height:20px;background:var(--border);flex:0 0 auto}.topbar.shrunk .count-pill,.topbar.shrunk .small-pill{min-height:24px;padding:3px 9px;font-size:12px;flex:0 0 auto}.shrunk-filters{color:var(--primary);border-color:color-mix(in srgb,var(--primary) 36%,var(--border));background:color-mix(in srgb,var(--primary) 12%,transparent)}.topbar.shrunk .icon-button{height:32px;width:34px;flex:0 0 auto}.filters{background:var(--surface);border-bottom:1px solid var(--border);padding:12px 22px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center}.filter-row{display:flex;gap:8px;flex-wrap:wrap;min-width:0}.chip{min-height:34px;border-radius:8px;border:1px solid var(--border);background:var(--surface);color:var(--body);padding:7px 12px;cursor:pointer;display:inline-flex;align-items:center;gap:8px;white-space:nowrap}.chip.active{background:color-mix(in srgb,var(--primary) 14%,transparent);color:var(--primary);border-color:color-mix(in srgb,var(--primary) 36%,var(--border));font-weight:700}.chip .dot{width:8px;height:8px;border-radius:50%;background:var(--dot, var(--primary))}.main{min-height:0;display:grid;grid-template-columns:minmax(0,1fr) 334px;gap:16px;padding:16px 22px 22px}.main.focus-mode,.main.sidebar-hidden{grid-template-columns:minmax(0,1fr)}.main.focus-mode .side,.main.sidebar-hidden .side{display:none}.board{min-width:0;overflow:auto;padding-right:2px;position:relative}.ticket-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(286px,1fr));gap:14px;align-items:start}.board.focusing .ticket-grid,.board.focusing .empty{display:none}.view-panel{display:none;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);min-height:calc(100vh - 190px);padding:16px}.view-panel.show{display:block}.view-title{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:14px;border-bottom:1px solid var(--border);margin-bottom:14px}.view-title h2{margin:0;font-size:20px;color:var(--text)}.wide-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}.history-card{border-radius:8px;background:var(--card);overflow:hidden}.history-card+.history-card{margin-top:8px}.history-row{display:grid;grid-template-columns:auto minmax(0,1.4fr) repeat(4,minmax(90px,.6fr));gap:10px;align-items:center;width:100%;min-height:48px;padding:10px 12px;border:0;border-radius:8px;background:transparent;color:var(--body);text-align:left;cursor:pointer;transition:background .16s ease}.history-row:hover,.history-row:focus-visible{background:color-mix(in srgb,var(--input) 72%,transparent);outline:none}.history-card.open .history-row{border-bottom-left-radius:0;border-bottom-right-radius:0}.history-row strong{color:var(--text)}.history-chevron{color:var(--muted);transition:transform .16s ease}.history-chevron.open{transform:rotate(90deg)}.history-items{display:grid;gap:7px;padding:0 12px 12px 36px;border-top:1px solid var(--border)}.history-items-empty{padding:10px 0 2px;color:var(--muted);font-size:13px}.history-item{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:8px;align-items:start;padding:9px;border-radius:8px;background:var(--surface);border:1px solid var(--border)}.history-item.cancelled{opacity:.72}.history-item.cancelled .item-name{text-decoration:line-through}.history-item-body{min-width:0}.history-item-status{display:inline-flex;align-items:center;justify-content:center;min-height:28px;padding:0 8px;border-radius:8px;color:#fff;font-size:11px;font-weight:750;white-space:nowrap}.history-item-end{display:flex;flex-direction:column;align-items:flex-end;gap:4px}.history-item-done{font-size:11px;color:var(--muted);white-space:nowrap}.settings-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px}.ticket{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden;min-width:0;position:relative}.ticket.changed{animation:pulseBorder 1.15s infinite}@keyframes pulseBorder{0%,to{border-color:var(--changed)}50%{border-color:color-mix(in srgb,var(--changed) 28%,var(--border))}}.ticket.changed:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:color-mix(in srgb,var(--changed) 8%,transparent);animation:blinkWash 1.15s infinite}@keyframes blinkWash{0%,to{opacity:.18}50%{opacity:.58}}.ticket.no-blink,.ticket.no-blink:after{animation:none}.ribbon{height:7px;background:var(--status)}.ticket-head{padding:12px 12px 10px;display:grid;gap:9px;border-bottom:1px solid var(--border)}.ticket-mainline{display:flex;align-items:center;justify-content:space-between;gap:10px}.table-name{min-width:0;font-size:18px;font-weight:800;color:var(--text)}.ticket-badges{display:flex;gap:6px;flex-wrap:wrap}.badge{min-height:24px;border-radius:8px;padding:4px 8px;font-size:12px;font-weight:700;background:var(--input);color:var(--body);white-space:nowrap}.badge.status{color:var(--status);background:color-mix(in srgb,var(--status) 14%,transparent)}.badge.changed{color:#6e6800;background:#fff5b8}[data-theme=dark] .badge.changed{color:#201d00;background:#ead855}.badge.priority{color:#fff;background:#d1342f}[data-theme=dark] .badge.priority{color:#fff;background:#e05a55}.print-slip-btn{display:inline-flex;align-items:center;justify-content:center;min-height:24px;min-width:30px;padding:4px 8px;border:1px solid var(--border);border-radius:8px;background:var(--input);color:var(--body);cursor:pointer}.print-slip-btn:disabled{opacity:.6;cursor:default}.ticket-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;color:var(--body);font-size:12px}.time-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.time-box{min-width:0;border-radius:8px;background:var(--card);padding:7px 6px;text-align:center;border:1px solid transparent}.time-box strong{display:block;font-size:12px;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.time-box span{display:block;margin-top:2px;font-size:10px;color:var(--muted);white-space:nowrap}.ticket-body{padding:10px 12px 12px;display:grid;gap:8px}.course-line{display:flex;align-items:center;justify-content:space-between;gap:8px;color:var(--body);font-size:12px;font-weight:700;text-transform:uppercase}.items{display:grid;gap:7px}.item{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:8px;align-items:start;padding:9px;border-radius:8px;background:var(--card);border:1px solid transparent}.item.ready{border-color:color-mix(in srgb,var(--ready) 36%,transparent)}.item.cancelled{opacity:.72;background:color-mix(in srgb,var(--changed) 12%,var(--card))}.ticket.cancelled-ticket .ribbon{background:var(--cancelled)}.ticket.cancelled-ticket .badge.status{color:#fff;background:var(--cancelled)}.item.cancelled .item-name,.item.cancelled .qty{text-decoration:line-through}.item.line-changed{background:color-mix(in srgb,var(--changed) 18%,var(--card))}.qty{min-width:34px;height:30px;border-radius:8px;background:var(--surface);color:var(--primary);display:grid;place-items:center;font-weight:800;border:1px solid var(--border)}.item-name{min-width:0;font-weight:750;color:var(--text);line-height:1.18}.item-detail{margin-top:4px;color:var(--body);font-size:12px;line-height:1.28}.warn{color:var(--late);font-weight:750}.upcoming-courses{display:grid;gap:4px;padding-top:7px;border-top:1px dashed var(--border);color:var(--muted)}.upcoming-courses-title{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.03em}.upcoming-course-name{font-size:12px;font-weight:700}.upcoming-item{display:flex;gap:8px;font-size:12px;line-height:1.28}.upcoming-qty{min-width:18px;text-align:right;font-variant-numeric:tabular-nums}.compact .upcoming-courses{display:none}.text-large .upcoming-course-name,.text-large .upcoming-item{font-size:14px}.ticket-note,.item-note{display:flex;align-items:flex-start;gap:6px;min-width:0;font-size:12px;line-height:1.28;color:var(--text);font-weight:650}.ticket-note{padding:6px 8px;border-radius:8px;background:color-mix(in srgb,var(--changed) 14%,var(--card));border:1px solid color-mix(in srgb,var(--changed) 40%,var(--border))}.item-note{margin-top:4px}.note-icon{flex:none;margin-top:2px;color:var(--body)}.note-text{flex:1;min-width:0;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}.note-expanded .note-text{display:block;overflow:visible}.note-toggle{flex:none;border:0;padding:0;background:none;color:var(--body);font-size:11px;font-weight:750;text-decoration:underline;cursor:pointer}.item-status{border:0;border-radius:8px;min-height:30px;min-width:52px;padding:0 8px;color:#fff;background:var(--status);cursor:pointer;font-size:12px;font-weight:750;white-space:nowrap;display:inline-flex;align-items:center;justify-content:center;gap:5px;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;touch-action:manipulation}.item-status.is-loading{cursor:wait;pointer-events:none}.item-status:disabled:not(.is-loading){opacity:.72;cursor:not-allowed}.kds-spinner{display:inline-block;border-radius:50%;border:2px solid rgba(255,255,255,.35);border-top-color:#fff;animation:kds-spin .65s linear infinite;flex-shrink:0}.kds-spinner--sm{width:16px;height:16px}.kds-spinner--md{width:28px;height:28px;border-width:3px}.item.is-pending{position:relative}.item.is-pending .item-status.is-loading{min-width:56px}.ticket.is-pending .ticket-body,.ticket.is-pending .ticket-head{pointer-events:none}.ticket-pending-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;background:color-mix(in srgb,var(--surface) 82%,transparent);-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px);color:var(--text);font-size:14px;font-weight:700;text-align:center;padding:16px}.ticket-pending-overlay .kds-spinner{border-color:color-mix(in srgb,var(--primary) 25%,transparent);border-top-color:var(--primary)}.ticket-revert-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:3;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;background:color-mix(in srgb,var(--surface) 88%,transparent);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);color:var(--text);text-align:center;padding:16px}.ticket-revert-overlay strong{font-size:15px}.ticket-revert-overlay span{font-size:13px;color:var(--body)}.ticket-revert-overlay .revert-actions{display:flex;gap:10px;margin-top:8px}.ticket-revert-overlay .revert-actions button{min-height:34px;min-width:96px;padding:0 14px;border-radius:8px;border:1px solid var(--border);background:var(--surface);color:var(--body);cursor:pointer;font-size:12px;font-weight:700}.ticket-revert-overlay .revert-actions button.revert-confirm{background:var(--new);border-color:var(--new);color:#fff}.view-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;min-height:180px;color:var(--body);font-size:14px;font-weight:600}.view-loading .kds-spinner{border-color:color-mix(in srgb,var(--primary) 25%,transparent);border-top-color:var(--primary)}.control.is-loading{display:inline-flex;align-items:center;justify-content:center;gap:8px;cursor:wait}.control.is-loading .kds-spinner{border-color:color-mix(in srgb,var(--primary) 25%,transparent);border-top-color:var(--primary)}.main.is-refreshing .board:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,transparent,var(--primary),transparent);animation:board-refresh 1.1s ease-in-out infinite;z-index:3;pointer-events:none}@keyframes board-refresh{0%{transform:translate(-100%)}to{transform:translate(100%)}}@keyframes kds-spin{to{transform:rotate(360deg)}}.ticket-actions{display:grid;grid-template-columns:repeat(2,1fr);gap:7px;margin-top:2px}.ticket.changed .ticket-actions{grid-template-columns:repeat(3,1fr)}.ticket-actions button{min-height:34px;border-radius:8px;border:1px solid var(--border);background:var(--surface);color:var(--body);cursor:pointer;font-size:12px;font-weight:700}.ticket-actions button:disabled{opacity:.72;cursor:wait}.ticket-actions button.next{display:inline-flex;align-items:center;justify-content:center;background:var(--status);border-color:var(--status);color:#fff}.ticket-actions button.ack{display:inline-flex;align-items:center;justify-content:center;color:#6e6800;background:#fff5b8;border-color:color-mix(in srgb,var(--changed) 65%,var(--border));animation:ackPulse 1.15s infinite}[data-theme=dark] .ticket-actions button.ack{color:#201d00}.ticket.no-blink .ticket-actions button.ack{animation:none}@keyframes ackPulse{0%,to{background:color-mix(in srgb,var(--changed) 22%,#fff5b8);border-color:color-mix(in srgb,var(--changed) 65%,var(--border));box-shadow:none}50%{background:var(--changed);border-color:var(--changed);box-shadow:0 0 0 2px color-mix(in srgb,var(--changed) 28%,transparent)}}.compact .ticket-meta,.compact .time-row,.compact .item-detail,.compact .course-line .small-pill{display:none}.compact .item{padding:8px}.side{min-width:0;display:grid;grid-template-rows:minmax(0,1fr) auto;gap:14px}.side.snapshot-first{grid-template-rows:auto minmax(0,1fr)}.side.is-reordering{-webkit-user-select:none;user-select:none;cursor:grabbing}.side.is-reordering .panel:not(.is-dragging-panel){outline:1px dashed var(--border)}.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);min-width:0}.panel.is-dragging-panel{opacity:.72}.panel-head{padding:12px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:8px}.panel-head-start{display:flex;align-items:center;gap:6px;min-width:0}.panel-drag-btn{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;margin:0;padding:4px;border:0;border-radius:6px;background:transparent;color:var(--body);cursor:grab;touch-action:none}.panel-drag-btn:hover,.panel-drag-btn:focus-visible{background:var(--card);color:var(--text)}.side.is-reordering .panel-drag-btn{cursor:grabbing}.panel-drag-handle{display:inline-flex;line-height:0}.panel-head h2{margin:0;font-size:15px;color:var(--text)}.panel-body{padding:12px;display:grid;gap:10px}.metric-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.metric{border-radius:8px;background:var(--card);padding:10px;min-width:0}.metric strong{display:block;font-size:20px;color:var(--text);line-height:1}.metric span{display:block;margin-top:5px;color:var(--body);font-size:12px}.toggle-row{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:42px;border-radius:8px;background:var(--card);padding:7px 9px;color:var(--body);font-size:13px}.switch{width:42px;height:24px;border:0;border-radius:999px;background:var(--primary);position:relative;cursor:pointer;flex:0 0 auto}.switch:after{content:"";width:18px;height:18px;border-radius:50%;background:#fff;position:absolute;top:3px;right:3px;transition:.16s ease}.switch.off{background:var(--border)}.switch.off:after{right:21px}.item-list{overflow:auto;min-height:0}.aggregate{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:8px;align-items:center;min-height:42px;padding:8px;border-radius:8px;background:var(--card)}.aggregate+.aggregate{margin-top:8px}.aggregate .qty{min-width:32px;height:28px}.aggregate-name{min-width:0;font-weight:720;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.aggregate-sub{color:var(--muted);font-size:12px;margin-top:2px}.empty{display:none;min-height:240px;border-radius:8px;border:1px dashed var(--border);color:var(--body);place-items:center;background:var(--surface);text-align:center;padding:20px}.empty.show{display:grid;gap:12px}.auth-page{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--page);padding:16px}.auth-card{width:100%;max-width:420px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:24px}.auth-card h1{font-size:20px;display:flex;align-items:center;gap:10px}.auth-card .auth-sub{margin:6px 0 18px;color:var(--body);font-size:13px}.auth-field{display:grid;gap:6px;margin-bottom:14px}.auth-field label{font-size:13px;font-weight:650;color:var(--text)}.auth-field input,.auth-field select{height:40px;border-radius:8px;border:1px solid var(--border);background:var(--input);color:var(--text);padding:0 12px;width:100%}.auth-error{color:var(--late);font-size:13px;margin:0 0 12px}.auth-submit{width:100%;height:42px;border-radius:8px;border:1px solid var(--primary);background:var(--primary);color:#fff;font-weight:700;cursor:pointer}.auth-submit:disabled{opacity:.6;cursor:default}.auth-list{list-style:none;margin:0;padding:0;display:grid;gap:8px;max-height:50vh;overflow:auto}.auth-list button{width:100%;text-align:left;border:1px solid var(--border);border-radius:8px;background:var(--card);color:var(--text);padding:12px 14px;cursor:pointer}.auth-list button:hover{border-color:var(--primary)}.auth-list .auth-list-sub{display:block;margin-top:3px;color:var(--muted);font-size:12px}.auth-footer{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:16px}.link-button{border:0;background:transparent;color:var(--primary);cursor:pointer;font-size:13px;padding:4px 0}.auth-note{color:var(--muted);font-size:12px;margin-top:12px}.loading-screen{min-height:100vh;display:grid;place-items:center;color:var(--body);background:var(--page)}@media (max-width: 1100px){.app{grid-template-columns:58px minmax(0,1fr)}.main{grid-template-columns:minmax(0,1fr)}.side{grid-template-columns:1fr;grid-template-rows:minmax(120px,1fr) auto}.side.snapshot-first{grid-template-rows:auto minmax(120px,1fr)}}@media (max-width: 760px){.app{grid-template-columns:1fr}.rail{display:none}.topbar,.filters{padding-left:12px;padding-right:12px}.topbar,.filters{align-items:stretch;flex-direction:column}.topbar.shrunk{flex-direction:row;align-items:center}.filters{display:grid;grid-template-columns:1fr}.main{padding:12px}.side,.ticket-grid{grid-template-columns:1fr}}:root{--warn: #d98a1f}[data-theme=dark]{--warn: #f2b45c}.time-box.t-warn{border-color:color-mix(in srgb,var(--warn) 45%,transparent)}.time-box.t-warn strong{color:var(--warn)}.time-box.t-late{border-color:color-mix(in srgb,var(--late) 55%,transparent)}.time-box.t-late strong{color:var(--late);animation:latePulse 1.2s infinite}.ticket.t-late{border-color:color-mix(in srgb,var(--late) 45%,var(--border))}@keyframes latePulse{0%,to{opacity:1}50%{opacity:.45}}.hold-prompt .hold-reason-presets{display:flex;flex-wrap:wrap;justify-content:center;gap:6px}.hold-prompt .hold-reason-input{width:min(260px,90%);min-height:34px;border:1px solid var(--border);border-radius:8px;background:var(--input);color:var(--text);padding:6px 10px}.hold-prompt .revert-actions button:disabled{opacity:.5;cursor:default}.switch:disabled{opacity:.5;cursor:default}.pref-select{min-height:30px;max-width:160px;border:1px solid var(--border);border-radius:8px;background:var(--input);color:var(--text);padding:4px 8px;font-size:13px;flex:0 0 auto}.num-field{display:inline-flex;align-items:center;gap:6px;flex:0 0 auto}.num-field input{width:64px;min-height:30px;border:1px solid var(--border);border-radius:8px;background:var(--input);color:var(--text);padding:4px 8px;text-align:right}.num-field input:disabled{opacity:.5}.num-unit{color:var(--muted);font-size:12px;min-width:26px}.settings-note{color:var(--muted);font-size:12px;line-height:1.35;padding:6px 0 2px}.text-large .table-name{font-size:22px}.text-large .ticket-meta{font-size:14px}.text-large .time-box strong{font-size:15px}.text-large .time-box span{font-size:11px}.text-large .course-line{font-size:13px}.text-large .item-name{font-size:17px}.text-large .item-detail,.text-large .ticket-note,.text-large .item-note{font-size:14px}.text-large .qty{min-width:40px;height:36px;font-size:16px}.text-large .item-status{min-height:36px;font-size:14px}.text-large .ticket-actions button{min-height:40px;font-size:14px}.text-large .badge{font-size:13px}.action-error-toast{position:fixed;left:50%;bottom:24px;z-index:1000;display:flex;align-items:flex-start;gap:12px;max-width:min(560px,calc(100vw - 32px));padding:12px 16px;border-radius:10px;border:1px solid #c62828;background:#ffebee;color:#b71c1c;box-shadow:0 8px 24px #0000002e;transform:translate(-50%)}[data-theme=dark] .action-error-toast{background:#3b1515;border-color:#ef5350;color:#ffcdd2}.action-error-toast span{flex:1;font-size:14px;line-height:1.4;word-break:break-word}.action-error-dismiss{flex-shrink:0;border:none;background:transparent;color:inherit;font-size:20px;line-height:1;cursor:pointer;padding:0 2px;opacity:.8}.action-error-dismiss:hover{opacity:1}
