:root{--fg: #0a0a0a;--mut: #8a8a8a;--ln: #e7e7e7;--soft: #f4f4f3;--brand: #d2694b;--brand-ink: #2b2a29;--l-bg: #f4f4f3;--l-card: #ffffff;--l-raised: #ffffff;--l-line: #e7e7e7;--l-fg: #0a0a0a;--l-mut: #8a8a8a;--l-soft: #ececea;--l-dim: #b5b5b5;--d-bg: #141312;--d-card: #1e1d1b;--d-raised: #26241f;--d-line: #2e2c2a;--d-fg: #f5f4f2;--d-mut: #8e8b87;--d-soft: #2a2825;--d-dim: #5c5a57;--sh-bg: var(--l-bg);--sh-card: var(--l-card);--sh-raised: var(--l-raised);--sh-line: var(--l-line);--sh-fg: var(--l-fg);--sh-mut: var(--l-mut);--sh-soft: var(--l-soft);--sh-dim: var(--l-dim);--sig: var(--brand);--l-sig-soft: rgba(210, 105, 75, .14);--l-sig-text: #b0512f;--d-sig-soft: rgba(210, 105, 75, .2);--d-sig-text: #ee9c84;--sig-soft: var(--l-sig-soft);--sig-text: var(--l-sig-text);--green: #12a150;--accent: var(--brand);--font-sans: "Inter", system-ui, -apple-system, "Segoe UI", sans-serif}:root{--fg: var(--sh-fg);--mut: var(--sh-mut);--ln: var(--sh-line);--soft: var(--sh-soft);--err: #c92a2a;font-size:clamp(12px,1.1vh + .5vw,20px)}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--sh-bg);color:var(--fg);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;overscroll-behavior:none}#root{height:100dvh}button{font:inherit;color:inherit;font-family:inherit;border:1px solid var(--ln);border-radius:.875rem;background:var(--sh-card);padding:.85rem 1.25rem;min-height:3.25rem;cursor:pointer}button:disabled{opacity:.45}button.primary{background:var(--fg);border-color:var(--fg);color:var(--sh-bg);font-weight:600}button.ghost{background:transparent}.screen{height:100%;padding:1.5rem 1.75rem;display:flex;flex-direction:column;gap:1.25rem}.head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;flex:none}h1{font-size:1.75rem;font-weight:600;letter-spacing:-.02em}h2{font-size:.8125rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--mut)}.hint{font-size:.9375rem;color:var(--mut)}.err{font-size:.9375rem;color:var(--err)}.offline{flex:none;font-size:.9375rem;color:var(--err);background:var(--soft);border-radius:.75rem;padding:.6rem .9rem}.login{align-items:center;justify-content:center;text-align:center}.login-head h1{font-size:2.25rem}.signin{display:flex;flex-direction:column;gap:1rem;width:min(26rem,100%);text-align:left}.field{display:flex;flex-direction:column;gap:.375rem}.field span{font-size:.8125rem;color:var(--mut);text-transform:uppercase;letter-spacing:.06em}.field input{font:inherit;font-size:1.125rem;color:inherit;background:var(--sh-card);border:1px solid var(--ln);border-radius:.875rem;min-height:3.25rem;padding:.85rem 1.25rem}.field input:focus-visible{outline:2px solid var(--fg);outline-offset:1px}.signin .err{margin-top:-.25rem}.chair-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.875rem;flex:1;align-content:start}.chair-tile{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.25rem;min-height:6.5rem}.chair-tile.on{border:2px solid var(--fg)}.chair-tile .num{font-size:2rem;font-weight:700}.chair-tile .cap,.kpi .cap,.card .cap{font-size:.8125rem;color:var(--mut);text-transform:uppercase;letter-spacing:.06em}.foot{flex:none;display:flex;flex-direction:column;gap:.75rem;align-items:center}.split{flex:1;min-height:0;display:grid;grid-template-columns:3fr 2fr;gap:1.25rem}.chair-panel,.queue-panel,.card{background:var(--sh-card);border:1px solid var(--ln);border-radius:1.25rem;padding:1.25rem 1.375rem;display:flex;flex-direction:column;gap:.625rem;min-height:0}.queue-panel{overflow-y:auto}.big{font-size:2.5rem;font-weight:700;letter-spacing:-.03em}.big.sig{color:var(--sig)}.name{font-size:1.75rem;font-weight:600}.service{color:var(--mut)}.minutes b{font-size:2rem}.row{display:flex;gap:.75rem;margin-top:auto}.row button{flex:1}.waiting{list-style:none;display:flex;flex-direction:column;gap:.5rem}.waiting li{display:flex;align-items:center;gap:.75rem;border-top:1px solid var(--ln);padding-top:.5rem}.waiting .pos{width:1.5rem;color:var(--mut)}.waiting .who{flex:1;display:flex;flex-direction:column}.waiting small{color:var(--mut)}.bar{height:.875rem;border-radius:999px;background:var(--soft);overflow:hidden;margin-top:auto}.bar .fill{height:100%;background:var(--fg);border-radius:999px;transition:width 1s linear}.bar.over .fill{background:repeating-linear-gradient(135deg,var(--fg) 0 .5rem,var(--sh-dim) .5rem 1rem)}.swipe{position:relative;height:4.25rem;width:100%;border-radius:999px;background:var(--soft);border:1px solid var(--ln);display:flex;align-items:center;justify-content:center;overflow:hidden;touch-action:pan-y}.swipe.sig{background:var(--sig);border-color:var(--sig)}.swipe-label{font-size:1rem;font-weight:600;color:inherit}.swipe.sig .swipe-label{color:#fff}.swipe-off{color:var(--mut);font-size:.9375rem;padding:0 1rem;text-align:center}.swipe-handle{position:absolute;left:.25rem;width:5.25rem;height:3.625rem;border-radius:999px;background:var(--fg);color:var(--sh-bg);display:flex;align-items:center;justify-content:center;box-shadow:0 .25rem .75rem #1e1c192e;touch-action:none}.card{flex:none;align-items:flex-start}.shift-state{font-size:1.75rem}.cut-totals{display:flex;gap:2rem;padding-top:.25rem}.cut-totals span{font-size:.9375rem;color:var(--mut)}.cut-totals b{font-size:1.5rem;font-weight:700;color:var(--fg);letter-spacing:-.02em;margin-right:.35rem}.top{display:flex;align-items:center;gap:1rem;flex:none}.top-title{min-width:0}.top-title h1{font-size:1.5rem}.clock{margin-left:auto;font-size:1.125rem;font-variant-numeric:tabular-nums;color:var(--mut)}.burger{width:3.25rem;height:3.25rem;min-height:0;flex:none;padding:0;border-radius:1rem;background:var(--soft);border-color:transparent;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.3125rem;font-size:1.125rem}.burger span{width:1.375rem;height:2px;border-radius:2px;background:var(--fg)}.menu{position:fixed;top:0;right:0;bottom:0;left:0;background:#0a0a0a8c;display:flex;z-index:10}.mpanel{width:min(22rem,82vw);background:var(--sh-card);border-right:1px solid var(--ln);padding:1.5rem 1.25rem;display:flex;flex-direction:column;gap:.5rem}.mhead{display:flex;align-items:center;gap:1rem;padding-bottom:1.25rem;border-bottom:1px solid var(--ln);margin-bottom:.5rem}.mhead b{font-size:1.25rem;font-weight:600}.mhead .hint{display:block;margin-top:.15rem}.mitem{text-align:left;font-size:1.25rem;font-weight:600;color:var(--mut);background:transparent;border-color:transparent;border-radius:1rem}.mitem.on{background:var(--soft);color:var(--fg)}.mitem.out{margin-top:auto}.kpis{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;flex:none}.kpi{background:var(--sh-card);border:1px solid var(--ln);border-radius:1.25rem;padding:1.125rem 1.375rem}.kpi .big em{font-style:normal;font-size:1.25rem;color:var(--mut)}.hist{flex:1;min-height:0;display:flex;flex-direction:column;gap:.75rem}.rows{list-style:none;overflow-y:auto;display:flex;flex-direction:column;gap:.5rem;min-height:0}.hrow{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:1rem;background:var(--sh-card);border:1px solid var(--ln);border-radius:1rem;padding:.875rem 1.125rem}.hrow .tm{font-variant-numeric:tabular-nums;color:var(--mut);font-size:.9375rem}.hrow .t{min-width:0}.hrow .t b{font-size:1.0625rem;font-weight:600}.hrow .t small{display:block;font-size:.875rem;color:var(--mut)}.hrow .s{font-size:1.0625rem;font-weight:600;font-variant-numeric:tabular-nums}.hrow.gone{opacity:.55}.analytics-empty{flex:1;display:flex;align-items:center;justify-content:center}.screen-error{position:fixed;right:1.75rem;bottom:1.5rem;font-size:.9375rem;color:var(--err);background:var(--sh-card);border:1px solid var(--ln);border-radius:.75rem;padding:.6rem .9rem}.setup{align-items:center;justify-content:center;text-align:center}
