:root{--bg:#07090D;--panel:#10141D;--panel2:#161B26;--line:#232A38;--blue:#2E8BFF;--cyan:#57C8EA;--text:#F2F5FA;--muted:#8B95A7;--green:#2FD17A;--amber:#FFB547;--red:#FF5A5F;--r:14px;--sat:env(safe-area-inset-top,0px);--sab:env(safe-area-inset-bottom,0px)}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}body{background:var(--bg);color:var(--text);font-family:Inter,system-ui,sans-serif;-webkit-font-smoothing:antialiased;overscroll-behavior:none}a{color:var(--cyan);text-decoration:none}button{font-family:inherit}.app{min-height:100%;display:flex;flex-direction:column;max-width:560px;margin:0 auto;position:relative}.app.wide{max-width:1200px}.hdr{padding:calc(14px + var(--sat)) 20px 12px;display:flex;align-items:center;gap:10px}.hdr .back{width:34px;height:34px;border-radius:50%;background:var(--panel);border:1px solid var(--line);color:var(--text);display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:18px;flex:none}.hdr h2{font-size:22px;font-weight:800;letter-spacing:-.02em;line-height:1.1}.hdr .sub{color:var(--muted);font-size:13px;margin-top:2px}.body{flex:1;padding:0 16px calc(90px + var(--sab))}.app.wide .body{padding-bottom:40px}.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);padding:14px;margin-bottom:12px}.card h3{font-size:15px;font-weight:700;margin-bottom:8px}.k{color:var(--muted);font-size:12px}.row{display:flex;justify-content:space-between;align-items:center;gap:10px}.btn{display:block;width:100%;background:var(--blue);color:#fff;border:0;border-radius:12px;padding:14px;font:700 15px Inter;cursor:pointer;text-align:center}.btn.sec{background:var(--panel2);border:1px solid var(--line);color:var(--text)}.btn.ghost{background:transparent;border:1px solid var(--line);color:var(--muted)}.btn.sm{padding:9px 12px;font-size:13px;width:auto;display:inline-block;border-radius:10px}.btn.green{background:var(--green);color:#06210f}.btn.amber{background:var(--amber);color:#2a1a00}.btn.red{background:var(--red);color:#fff}.btn:disabled{opacity:.45;cursor:not-allowed}.input,select,textarea{width:100%;background:var(--panel2);border:1px solid var(--line);color:var(--text);border-radius:12px;padding:13px 14px;font:500 15px Inter;outline:none}.input:focus,select:focus{border-color:var(--blue)}.input.plate{font:800 26px Inter;letter-spacing:.12em;text-transform:uppercase;text-align:center;padding:18px}label.l{display:block;color:var(--muted);font-size:12px;font-weight:600;margin:12px 0 6px;text-transform:uppercase;letter-spacing:.06em}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:10px}.chips{display:flex;gap:8px;flex-wrap:wrap}.chip{background:var(--panel2);border:1px solid var(--line);border-radius:999px;padding:8px 12px;font-size:13px;font-weight:600;cursor:pointer;color:var(--text)}.chip.on{border-color:var(--blue);background:#2e8bff2e}.badge{display:inline-block;padding:4px 9px;border-radius:999px;font-size:11px;font-weight:700;letter-spacing:.02em;white-space:nowrap}.b-pending_confirmation{background:#ffb54726;color:var(--amber)}.b-needs_check{background:#ff5a5f26;color:var(--red)}.b-confirmed{background:#2fd17a26;color:var(--green)}.b-scheduled{background:#57c8ea26;color:var(--cyan)}.b-completed,.b-cancelled,.b-draft{background:#8b95a733;color:var(--muted)}.price{font-size:28px;font-weight:800;letter-spacing:-.02em}.price small{font-size:13px;color:var(--muted);font-weight:600;margin-left:4px}.hero{background:linear-gradient(140deg,#13203a,#0e1522);border:1px solid #1F3252}.spec{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:10px 0}.spec div{background:var(--panel2);border-radius:10px;padding:8px}.spec b{display:block;font-size:14px}.spec span{font-size:11px;color:var(--muted)}.list>div{padding:12px 0;border-bottom:1px solid var(--line)}.list>div:last-child{border-bottom:0}.tl{position:relative;padding-left:18px}.tl div{position:relative;padding:6px 0 10px;color:var(--muted);font-size:13px}.tl div:before{content:"";position:absolute;left:-18px;top:11px;width:8px;height:8px;border-radius:50%;background:var(--line)}.tl div.done:before{background:var(--green)}.tl div.now:before{background:var(--blue);box-shadow:0 0 0 4px #2e8bff40}.tl div b{color:var(--text)}.sms{background:#0b2a1c;border:1px solid #1E4D35;color:#cff5df;border-radius:14px 14px 14px 4px;padding:12px;font-size:13px;line-height:1.45;margin-top:10px}.sms .from{color:var(--green);font-weight:700;font-size:11px;margin-bottom:4px}.bay{display:grid;grid-template-columns:repeat(auto-fill,minmax(72px,1fr));gap:8px}.slot{min-height:86px;min-width:0;border-radius:12px;border:1px solid var(--line);background:var(--panel2);padding:8px;display:flex;flex-direction:column;justify-content:space-between;cursor:pointer;position:relative}.slot b{font-size:11px;line-height:1.15;overflow-wrap:anywhere;padding-right:12px}.slot .q{font-size:22px;font-weight:800}.slot .n{position:absolute;top:5px;right:7px;font-size:10px;color:var(--muted);opacity:.8}.slot.green{border-color:#2fd17a99;background:#2fd17a14}.slot.amber{border-color:#ffb547b3;background:#ffb54714}.slot.red{border-color:#ff5a5fcc;background:#ff5a5f1a}.sheet{position:fixed;left:50%;transform:translate(-50%);width:100%;max-width:560px;bottom:0;background:var(--panel);border-top:1px solid var(--line);border-radius:24px 24px 0 0;padding:14px 16px calc(24px + var(--sab));box-shadow:0 -20px 60px #0009;max-height:85vh;overflow:auto;z-index:30}.sheet .grab{width:40px;height:4px;border-radius:2px;background:var(--line);margin:0 auto 12px}.dim{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:20}input[type=range]{width:100%;accent-color:var(--blue)}.bar2{height:8px;background:var(--panel2);border-radius:4px;overflow:hidden}.bar2 i{display:block;height:100%;background:var(--blue)}.toast{position:fixed;left:50%;transform:translate(-50%);width:calc(100% - 32px);max-width:520px;bottom:calc(84px + var(--sab));background:#1c2433;border:1px solid var(--line);border-radius:12px;padding:12px 14px;font-size:13px;font-weight:600;z-index:40;animation:up .25s ease}@keyframes up{0%{transform:translate(-50%,10px);opacity:0}to{transform:translate(-50%);opacity:1}}.hint{color:var(--muted);font-size:12px;margin-top:8px;line-height:1.4}.margin-row{display:flex;justify-content:space-between;font-size:13px;padding:6px 0;border-bottom:1px dashed var(--line)}.margin-row:last-child{border-bottom:0}.kpi{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:12px}.kpi .card{margin:0}.kpi .v{font-size:22px;font-weight:800}.tabs{position:fixed;left:50%;transform:translate(-50%);bottom:0;width:100%;max-width:560px;display:flex;border-top:1px solid var(--line);background:var(--panel);padding-bottom:var(--sab);z-index:10}.tabs a{flex:1;color:var(--muted);font:600 11px Inter;padding:10px 0 12px;display:flex;flex-direction:column;align-items:center;gap:4px}.tabs a.on{color:var(--cyan)}.tabs svg{width:22px;height:22px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.empty{color:var(--muted);text-align:center;padding:30px 10px;font-size:14px}.muted{color:var(--muted)}.small{font-size:12px}.err{background:#ff5a5f1f;border:1px solid rgba(255,90,95,.4);color:#ffb3b5;border-radius:12px;padding:10px 12px;font-size:13px;margin:10px 0}.queue{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:12px}@media (max-width:760px){.queue{grid-template-columns:1fr}}.stafflist .card{border-left:3px solid var(--amber)}.stafflist .card.check{border-left-color:var(--red)}.stafflist .card.ok{border-left-color:var(--green)}.topnav{display:flex;gap:6px;background:var(--panel);border:1px solid var(--line);border-radius:999px;padding:4px;margin:0 20px 12px;width:fit-content;max-width:calc(100% - 40px);overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}.topnav::-webkit-scrollbar{display:none}.topnav a{color:var(--muted);font:600 13px Inter;padding:8px 14px;border-radius:999px;white-space:nowrap;flex:none}.topnav a.on{background:var(--blue);color:#fff}.login{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px}.login .card{width:100%;max-width:400px}.logo{font-size:22px;font-weight:800;letter-spacing:-.02em;margin-bottom:4px}.logo span{color:var(--cyan)}.spin{display:inline-block;width:16px;height:16px;border:2px solid var(--line);border-top-color:var(--blue);border-radius:50%;animation:sp .8s linear infinite;vertical-align:middle}@keyframes sp{to{transform:rotate(360deg)}}table.t{width:100%;border-collapse:collapse;font-size:13px}table.t th{text-align:left;color:var(--muted);font-weight:600;padding:8px;border-bottom:1px solid var(--line)}table.t td{padding:10px 8px;border-bottom:1px solid var(--line);vertical-align:top}@media (max-width:760px){.app.wide .hdr{padding-left:16px;padding-right:16px}.topnav{margin:0 16px 12px;max-width:calc(100% - 32px)}.app.wide .body{padding:0 16px 24px}.card:has(>table.t){overflow-x:auto}table.t{min-width:640px}}
