:root{--bg:#eef2f7;--card:#fff;--ink:#0f172a;--muted:#64748b;--line:#e8edf3;--blue:#0d6efd;--font:"Segoe UI", system-ui, sans-serif;--body-size:14px}*{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:var(--font);font-size:var(--body-size);color:var(--ink);background:var(--bg);line-height:1.6}a{color:inherit;text-decoration:none}button,input{font:inherit}button{cursor:pointer}.login-page{place-items:center;min-height:100vh;padding:24px;display:grid}.login-card{background:var(--card);border:1px solid var(--line);border-radius:18px;width:min(420px,100%);padding:22px;box-shadow:0 10px 30px #0f172a0f}.brand{align-items:center;gap:10px;margin-bottom:16px;display:flex}.mark{background:var(--blue);color:#fff;border-radius:10px;place-items:center;width:36px;height:36px;font-weight:800;display:grid}.login-card .brand{justify-content:center;margin-bottom:20px}.brand strong{display:block}.brand em{color:var(--blue);letter-spacing:.04em;font-size:12px;font-style:normal;font-weight:800}.login-card h1{margin:0 0 6px;font-size:1.4rem}.login-card p{color:var(--muted);margin:0 0 16px}label{gap:6px;margin-bottom:12px;font-size:13px;font-weight:700;display:grid}input{border:1px solid #e2e8f0;border-radius:10px;height:42px;padding:0 12px}.btn{border:1px solid #0000;border-radius:10px;height:40px;padding:0 14px;font-weight:750}.btn-primary{background:var(--blue);color:#fff}.btn-ghost{color:#334155;background:#fff;border-color:#e2e8f0}.btn-row{gap:8px;display:flex}.btn-row .btn{flex:1}.err{color:#b91c1c;font-size:13px;font-weight:700}.shell{grid-template-columns:204px 1fr;gap:16px;max-width:1560px;margin:0 auto;padding:18px 16px 36px;display:grid}.shell.is-collapsed{grid-template-columns:84px 1fr}.side{border:1px solid var(--line);background:#fff;border-radius:18px;flex-direction:column;min-height:calc(100vh - 36px);padding:12px 8px;display:flex;position:sticky;top:16px;overflow:visible}.side-head{justify-content:flex-start;align-items:center;gap:8px;padding:2px 6px 12px;display:flex}.side .brand{min-width:0;margin:0}.collapse-btn{--chev-left:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230d6efd' stroke-width='3.25' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='15 5 8 12 15 19'/%3E%3C/svg%3E");--chev-right:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230d6efd' stroke-width='3.25' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='9 5 16 12 9 19'/%3E%3C/svg%3E");z-index:5;border:1px solid var(--line);background:#fff var(--chev-left) no-repeat 55% center / 13px 13px;cursor:pointer;border-left:0;border-radius:0 9px 9px 0;width:22px;height:40px;padding:0;position:absolute;top:16px;right:-12px}.collapse-btn:before{content:"";background:#fff;width:4px;position:absolute;top:-1px;bottom:-1px;left:-2px}.collapse-btn:hover{background-color:#eff6ff;border-color:#93c5fd}.collapse-btn:hover:before{background:#eff6ff}.shell.is-collapsed .collapse-btn{background-image:var(--chev-right);background-position:45%}.shell.is-collapsed .side-head{justify-content:center}.shell.is-collapsed .brand{justify-content:center;width:100%}.side nav{gap:4px;display:grid}.side a,.side button.out{color:#475569;text-align:left;background:0 0;border:0;border-radius:10px;align-items:center;gap:8px;width:100%;padding:8px;font-size:13px;font-weight:700;display:flex}.side a:hover,.side button.out:hover{background:#f8fafc}.side a.active{color:#1d4ed8;background:#eff6ff}.nav-ico{color:#64748b;background:#f1f5f9;border-radius:8px;flex-shrink:0;place-items:center;width:28px;height:28px;display:grid}.nav-ico svg{width:16px;height:16px}.side a.active .nav-ico{color:#1d4ed8;background:#dbeafe}.side .out{margin-top:auto}.shell.is-collapsed .brand-copy,.shell.is-collapsed .nav-text{display:none}.shell.is-collapsed .side a,.shell.is-collapsed .side button.out{justify-content:center}.main{align-content:start;gap:12px;min-width:0;display:grid}.top{border:1px solid var(--line);background:#fff;border-radius:16px;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;display:flex}.top h1{margin:0;font-size:1.2rem}.top p{color:var(--muted);margin:2px 0 0;font-size:13px}.kpis{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.kpis-3{grid-template-columns:repeat(3,minmax(0,1fr))}.kpi,.card{border:1px solid var(--line);background:#fff;border-radius:16px;padding:14px}.kpi:has(.kpi-ico){grid-template-columns:40px 1fr;align-items:center;gap:12px;display:grid}.kpi em{color:var(--muted);font-size:12px;font-style:normal;font-weight:700}.kpi .kpi-ico{border-radius:12px;place-items:center;width:40px;height:40px;display:grid}.kpi .kpi-ico svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:18px;height:18px}.kpi-ico.is-queue{color:#1d4ed8;background:#eff6ff}.kpi-ico.is-live{color:#15803d;background:#ecfdf3}.kpi-ico.is-done{color:#475569;background:#f1f5f9}.kpi-ico.is-share{color:#c2410c;background:#fff7ed}.card h2{margin:0;font-size:15px}.card-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.card-head span{color:var(--muted);font-size:12px;font-weight:700}.svc-bar{border:1px solid var(--line);background:#fff;border-radius:14px;align-items:center;gap:12px;padding:10px 14px;display:flex}.svc-bar h2{color:var(--muted);white-space:nowrap;margin:0;font-size:13px}.svc-row{flex-wrap:wrap;gap:8px;display:flex}.desk{grid-template-columns:minmax(0,1.7fr) minmax(280px,.9fr);align-items:start;gap:12px;display:grid}.day-list{gap:8px;display:grid}.day-row{border:1px solid var(--line);background:#fff;border-radius:12px;grid-template-columns:92px minmax(0,1fr) auto auto;align-items:center;gap:12px;padding:10px 12px;display:grid}.day-row time{color:#334155;font-size:13px;font-weight:800}.day-row strong{display:block}.day-row small{color:var(--muted)}.day-row .pay{color:#0f172a;font-size:13px}.day-row .pay.is-earn{color:#c2410c}.day-row.is-earn{grid-template-columns:92px minmax(0,1fr) auto}.day-row.is-now{background:#f0fdf4;border-color:#bbf7d0}.day-row.is-done{background:#f8fafc}.day-row.is-done time,.day-row.is-done .pay{color:#64748b}.q-row{border:1px solid var(--line);background:#fff;border-radius:12px;grid-template-columns:32px 92px minmax(0,1fr) auto auto;align-items:center;gap:12px;padding:10px 12px;display:grid}.q-row.is-now{background:#f0fdf4;border-color:#bbf7d0}.q-no{color:#1d4ed8;background:#eff6ff;border-radius:8px;place-items:center;width:28px;height:28px;font-size:13px;font-weight:800;display:grid}.q-row.is-now .q-no{color:#15803d;background:#dcfce7}.q-row time{color:#334155;font-size:13px;font-weight:800}.q-row strong{display:block}.q-row small{color:var(--muted)}.q-row .btn{white-space:nowrap;height:34px}.who{letter-spacing:-.02em;margin:0;font-size:20px;font-weight:800}.what{color:var(--muted);margin:2px 0 0;font-weight:700}.meta{grid-template-columns:1fr 1fr;gap:8px;margin:14px 0;display:grid}.meta div{background:#f8fafc;border-radius:12px;padding:8px 10px}.meta em{color:var(--muted);font-size:11px;font-style:normal;font-weight:700;display:block}.meta strong{font-size:14px}.note{color:#9a3412;background:#fff7ed;border-radius:10px;margin:0 0 10px;padding:8px 10px;font-size:13px;font-weight:700}.phone,.addr{color:#334155;margin:0 0 6px;font-size:13px}.now-actions{gap:8px;margin-top:12px;display:flex}.now-actions .btn{justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.empty{color:var(--muted);margin:0}.svc{color:#1d4ed8;background:#eff6ff;border-radius:999px;padding:6px 12px;font-size:13px;font-weight:700;display:inline-flex}.kpi span{color:var(--muted);font-size:12px;font-weight:700}.kpi strong{letter-spacing:-.02em;color:var(--ink);margin-top:2px;font-size:1.35rem;display:block}.banner{color:#9a3412;background:#fff7ed;border:1px solid #fed7aa;border-radius:12px;padding:10px 12px;font-weight:700}.list{gap:8px;display:grid}.row{border:1px solid var(--line);background:#fff;border-radius:14px;grid-template-columns:max-content minmax(0,1fr) auto;align-items:center;gap:16px;padding:12px 14px;display:grid}.row strong{display:block}.row .when{white-space:nowrap;color:#334155;font-size:13px}.row small{color:var(--muted)}.chip{color:#1d4ed8;background:#e7f1ff;border-radius:999px;padding:3px 8px;font-size:12px;font-weight:800;display:inline-flex}.chip.is-live{color:#15803d;background:#ecfdf3}.chip.is-wait{color:#475569;background:#f8fafc}.chip.is-done{color:#475569;background:#f1f5f9}.chip.is-off{color:#b91c1c;background:#fef2f2}.steps{gap:8px;display:grid}.step{background:#f8fafc;border-radius:12px;align-items:center;gap:10px;padding:10px 12px;display:flex}.step.is-on{background:#eff6ff}.step.is-done{background:#ecfdf3}.dot{background:#e2e8f0;border-radius:50%;place-items:center;width:22px;height:22px;font-size:12px;font-weight:800;display:grid}.step.is-on .dot{background:var(--blue);color:#fff}.step.is-done .dot{color:#fff;background:#16a34a}.track{grid-template-columns:minmax(0,1.35fr) minmax(280px,.75fr);align-items:start;gap:12px;display:grid}.flow{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:4px 0 14px;display:grid}.flow .step{text-align:center;flex-direction:column;justify-content:center;gap:6px;min-height:78px;padding:10px 6px}.flow .step strong{font-size:12px;line-height:1.3}.loc{border:1px solid var(--line);background:#f8fafc;border-radius:14px;grid-template-columns:48px minmax(0,1fr);align-items:center;gap:12px;padding:16px;display:grid}.loc-pin{color:#1d4ed8;background:#eff6ff;border-radius:14px;place-items:center;width:48px;height:48px;display:grid}.loc-pin svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:22px;height:22px}.loc-lines span{font-weight:800;line-height:1.35;display:block}.loc-lines span:first-child{letter-spacing:-.02em;font-size:18px}.loc-lines span+span{color:#334155;margin-top:2px;font-size:14px;font-weight:700}.loc-hint{color:var(--muted);margin:12px 0;font-size:13px}.loc-person{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding-top:12px;display:flex}.loc-person em{color:var(--muted);font-size:11px;font-style:normal;font-weight:700;display:block}.loc-person strong{font-size:14px}.loc-person a{color:var(--blue);white-space:nowrap;background:#eff6ff;border-radius:999px;padding:6px 12px;font-weight:800}.loc+.loc{margin-top:8px}.where-list{margin-top:12px;display:grid}.where-list div{border-top:1px solid var(--line);color:#334155;justify-content:space-between;align-items:center;gap:12px;padding:10px 0;font-size:13px;font-weight:700;display:flex}.where-list strong{color:var(--ink);font-size:14px;display:block}.where-list small{color:var(--muted);font-weight:700}.split{display:grid}.split-row{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:10px 0;display:flex}.split-row strong{display:block}.split-row small{color:var(--muted);font-weight:700}.split-row .amt{text-align:right}.split-row .amt strong{color:#c2410c}.split-total{justify-content:space-between;align-items:center;margin-top:12px;font-weight:800;display:flex}.split-total.is-yours{color:#c2410c;background:#fff7ed;border-radius:12px;margin-top:8px;padding:10px 12px}.collapse{width:100%;margin-top:8px}@media (max-width:900px){.shell,.shell.is-collapsed,.kpis,.kpis-3,.track,.desk,.day-row,.q-row{grid-template-columns:1fr}.svc-bar{flex-direction:column;align-items:flex-start}.shell.is-collapsed .brand-copy,.shell.is-collapsed .nav-text{display:block}.shell.is-collapsed .side-head{justify-content:flex-start}.collapse-btn{border-left:1px solid var(--line);border-radius:8px;top:14px;right:8px}}
