:root{--page: #050506;--bg: #0e0f12;--fg: #ece8e1;--muted: #8b8680;--accent: #8fbfb2;--accent-dim: rgb(143 191 178 / .18);--surface: #17181c;--surface-2: #1d1f24;--danger: #e07a6a;--ok: #8fbfb2;--warn: #d6b36a}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;background:var(--page);color:var(--fg);font-family:Manrope,system-ui,sans-serif}button,input,textarea,select{font:inherit;color:var(--fg)}html{color-scheme:dark}input,textarea,select{background:var(--surface-2);color:var(--fg);border:0;border-radius:.8rem;padding:.65rem .75rem;outline:none;accent-color:var(--accent)}input::placeholder,textarea::placeholder{color:#9a958e;opacity:1}button{cursor:pointer}.shell{min-height:100dvh;background:var(--page)}.phone{position:relative;margin:0 auto;min-height:100dvh;max-width:32rem;background:var(--bg);box-shadow:0 0 0 1px #ece8e10f;display:flex;flex-direction:column}.header{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;padding:max(.75rem,env(safe-area-inset-top)) 1rem .5rem;background:#0e0f12eb;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.kicker{margin:0;font-size:.7rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--accent)}h1{margin:0;font-size:1.55rem;font-weight:650;letter-spacing:-.03em}.icon-btn{width:2.75rem;height:2.75rem;border:0;border-radius:.75rem;background:transparent;color:var(--muted);display:grid;place-items:center}.icon-btn:hover{background:var(--surface)}.content{flex:1;padding:0 1rem 8.8rem}.row{display:flex;gap:.6rem}.stat{flex:1;background:var(--surface);border-radius:1.1rem;padding:.85rem 1rem}.stat span{display:block;color:var(--muted);font-size:.78rem}.stat b{display:block;margin-top:.2rem;font-family:IBM Plex Mono,monospace;font-size:1.45rem;font-weight:500}.stat b.accent{color:var(--accent)}.card,.next{width:100%;text-align:left;border:0;background:var(--surface);border-radius:1.1rem;padding:.9rem 1rem;box-shadow:0 0 0 1px #8fbfb214;margin:0 0 .55rem}.next{background:var(--surface-2);border-radius:1.5rem;padding:1rem}.next .lbl{color:var(--muted);font-size:.75rem}.muted{color:var(--muted);font-size:.82rem}.tiny{color:var(--muted);font-size:.72rem;margin:.8rem 0 .35rem}.job{display:flex;gap:.75rem;align-items:flex-start}.time{width:2.6rem;height:2.6rem;flex:none;border-radius:999px;background:#22242a;display:grid;place-items:center;font-family:IBM Plex Mono,monospace;font-size:.68rem;color:var(--accent)}.job h3{margin:0 0 .15rem;font-size:.98rem;font-weight:600}.job p{margin:0;color:#c9c3bb;font-size:.86rem}.meta{display:flex;flex-wrap:wrap;gap:.55rem;margin-top:.4rem;color:var(--muted);font-size:.75rem}.badge{margin-left:auto;font-size:.72rem;padding:.18rem .5rem;border-radius:999px;background:#2a2c32;color:#cfc8bf}.badge.inbox{color:var(--warn);background:#d6b36a1f}.badge.en_route{color:var(--accent);background:#8fbfb21f}.badge.done{color:#9fd4a8;background:#9fd4a81a}.search{width:100%;border:0;background:var(--surface);border-radius:999px;padding:.7rem 1rem;margin-bottom:.7rem;outline:none}.chips{display:flex;gap:.35rem;overflow:auto;padding-bottom:.4rem}.chip{border:0;background:#1a1c21;color:var(--muted);border-radius:999px;padding:.38rem .7rem;white-space:nowrap}.chip.on{background:var(--accent);color:#10221c;font-weight:650}.tabbar{position:sticky;bottom:0;z-index:20;display:flex;gap:.2rem;padding:.35rem .5rem calc(.45rem + env(safe-area-inset-bottom));background:#0e0f12f5;border-top:1px solid rgb(236 232 225 / .06)}.tab{flex:1;border:0;background:transparent;color:var(--muted);display:flex;flex-direction:column;align-items:center;gap:.15rem;font-size:.72rem;padding:.35rem 0}.tab.on{color:var(--accent)}.fab-wrap{position:fixed;left:50%;bottom:calc(5.4rem + env(safe-area-inset-bottom));transform:translate(-50%);display:flex;align-items:flex-end;gap:.4rem;z-index:25;max-width:32rem}.fab,.fab-sm{border:0;border-radius:999px;background:var(--accent);color:#10221c;width:4rem;height:4rem;display:grid;place-items:center;box-shadow:0 8px 24px #00000059}.fab-sm{width:2.75rem;height:2.75rem;background:var(--surface-2);color:var(--fg)}.sheet-backdrop{position:fixed;inset:0;background:#0000008c;display:flex;align-items:flex-end;justify-content:center;z-index:40}.sheet{width:100%;max-width:32rem;background:#14151a;border-radius:1.4rem 1.4rem 0 0;padding:.6rem 1rem calc(1rem + env(safe-area-inset-bottom));max-height:92dvh;overflow:auto}.grab{width:2.4rem;height:.28rem;background:#3a3c42;border-radius:99px;margin:.2rem auto .8rem}.field{display:flex;flex-direction:column;gap:.28rem;margin-bottom:.7rem}.field label{color:var(--muted);font-size:.75rem}.field input,.field textarea{border:0;background:var(--surface);border-radius:.85rem;padding:.7rem .8rem;outline:none;width:100%}.field textarea{min-height:4.4rem;resize:vertical}.actions{display:flex;gap:.5rem;margin-top:.6rem}.btn{border:0;border-radius:.9rem;padding:.8rem 1rem;background:var(--surface-2);color:var(--fg)}.btn.primary{background:var(--accent);color:#10221c;font-weight:700;flex:1}.btn.danger{color:var(--danger)}.auth{min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:1.5rem}.auth-card{width:100%;max-width:24rem;background:var(--bg);border-radius:1.4rem;padding:1.4rem 1.2rem 1.2rem;box-shadow:0 0 0 1px #ece8e114}.err{color:var(--danger);font-size:.85rem;margin:.4rem 0 .7rem}.cash-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:.5rem;margin-top:.8rem}.cash-grid div span{display:block;color:var(--muted);font-size:.72rem}.income{color:#9fd4a8}.expense{color:var(--danger)}.toast{position:fixed;left:50%;bottom:6.2rem;transform:translate(-50%);background:#222;color:var(--fg);padding:.5rem .8rem;border-radius:999px;font-size:.82rem;z-index:50}.rec-hint{text-align:center;color:var(--muted);font-size:.85rem;margin:.4rem 0 .8rem}.tabbar{position:fixed;left:50%;bottom:0;transform:translate(-50%);width:100%;max-width:32rem}.cal{margin-bottom:.8rem}.cal-nav{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem}.cal-nav .btn{min-width:2.6rem}.cal-week,.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:.25rem}.cal-week span{text-align:center;color:var(--muted);font-size:.7rem;text-transform:uppercase}.cal-day{position:relative;border:0;background:var(--surface);color:var(--fg);border-radius:.7rem;min-height:2.4rem;font-size:.85rem}.cal-day.today{box-shadow:inset 0 0 0 1px var(--accent)}.cal-day.on{background:var(--accent);color:#10221c;font-weight:700}.cal-day i{position:absolute;right:.2rem;bottom:.1rem;font-style:normal;font-size:.62rem;font-family:IBM Plex Mono,monospace}.toast{bottom:calc(7.2rem + env(safe-area-inset-bottom))}.job-main{flex:1;min-width:0;border:0;background:transparent;text-align:left;padding:0;color:inherit}.time-col{display:flex;flex-direction:column;align-items:center;gap:.35rem;width:3.1rem}.call-mini{width:1.85rem;height:1.85rem;border-radius:999px;display:grid;place-items:center;background:var(--accent-dim);color:var(--accent);text-decoration:none;font-size:.95rem}.who-filter{display:flex;gap:.4rem;overflow:auto;padding:0 0 .7rem}.who-filter .chip{white-space:nowrap}.team-grid{display:grid;gap:.45rem}.team-card{display:flex;justify-content:space-between;gap:.8rem;align-items:flex-start}@media(min-width:960px){.director-shell{background:#07080a}.phone.desk{max-width:1080px;min-height:100dvh;box-shadow:0 0 0 1px #ece8e10f,0 20px 80px #00000059}.desk .content{padding:0 1.4rem 7rem}.desk .stats{grid-template-columns:repeat(4,1fr)}.desk .team-grid{grid-template-columns:1.2fr 1fr 1fr auto;align-items:center}.desk .header h1{font-size:2rem}.desk .job{padding:.95rem 1rem}.sheet-backdrop{align-items:center;padding:2rem}.sheet{width:min(980px,96vw);max-width:980px;max-height:88vh;border-radius:1.1rem;padding:1rem 1.2rem 1.2rem;display:grid;grid-template-columns:1fr 1fr;gap:0 .9rem;align-content:start}.sheet .grab{display:none}.sheet>:nth-child(2),.sheet .actions,.sheet .chips,.sheet .assign-box{grid-column:1 / -1}.sheet .chips{flex-wrap:wrap;overflow:visible;gap:.35rem}}.assign-focus{padding:.75rem;border-radius:1rem;background:var(--surface-2);box-shadow:0 0 0 1px var(--accent)}.nice-select,select,option{background:#1d1f24;color:#ece8e1}.assign-box{margin-bottom:.8rem}.nice-select:disabled{opacity:.55}.badge.assigned{background:#8fbfb233;color:var(--accent)}.badge.accepted{background:#8fbfb240;color:var(--accent)}.badge.not_accepted{background:#d6b36a33;color:var(--warn);animation:pulse-warn 1.4s ease-in-out infinite}.badge.overdue{background:#e07a6a38;color:var(--danger);animation:pulse-hot 1.2s ease-in-out infinite}.card.job.not_accepted{box-shadow:0 0 0 1px #d6b36a73}.card.job.overdue{box-shadow:0 0 0 1px #e07a6a80}@keyframes pulse-warn{50%{box-shadow:0 0 0 6px #d6b36a2e}}@keyframes pulse-hot{50%{box-shadow:0 0 0 6px #e07a6a33}}.board-mini{display:grid;grid-template-columns:repeat(4,1fr);gap:.4rem;margin-bottom:.7rem}.stat.mini{padding:.45rem .55rem}.stat.mini b{font-size:1rem}.status-filter{margin-top:-.35rem}.who-tag{color:var(--accent);font-weight:600}.board-filters{margin:0 0 .65rem}.board-line{display:flex;gap:.4rem;align-items:center;margin-bottom:.35rem}.board-line.wrap{flex-wrap:wrap}.slim-select{flex:1;min-width:0;height:1.85rem;padding:0 .55rem;border-radius:.45rem;background:#1a1c21;color:var(--fg);font-size:.78rem;border:1px solid rgb(236 232 225 / .08)}.slim-chip{border:1px solid rgb(236 232 225 / .1);background:#16181d;color:#c8c3bb;border-radius:.4rem;padding:.18rem .45rem;font-size:.72rem;line-height:1.2;height:1.7rem}.slim-chip.on{background:var(--accent);color:#10221c;border-color:transparent;font-weight:650}.slim-card{padding:.55rem .7rem;margin:.45rem 0;border-radius:.8rem}.team-card.slim-card{display:flex;gap:.7rem;align-items:center}.team-head{display:flex;flex-wrap:wrap;gap:.35rem .7rem;align-items:baseline}.team-head b{font-size:.95rem}.slim-chip.danger{color:var(--danger)}.team-form.slim-card input{height:1.85rem;padding:0 .55rem;font-size:.8rem;border-radius:.45rem}.job-row{display:flex;align-items:center;gap:.55rem;padding:.45rem .65rem;margin:.35rem 0}.job-row .job-main{flex:1;min-width:0}.slim-time{font-size:.78rem;font-variant-numeric:tabular-nums;color:var(--muted)}.slim-time-col{width:auto;gap:.2rem}.slim-call{width:1.45rem;height:1.45rem;font-size:.75rem}.job-sub{font-size:.75rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.slim-chip.assigned,.slim-chip.accepted{color:var(--accent)}.slim-chip.not_accepted{color:var(--warn)}.slim-chip.overdue,.slim-chip.cancelled{color:var(--danger)}.slim-chip.done{color:var(--ok)}.new-job-btn{width:100%;height:2rem;margin:0 0 .65rem;border:1px solid rgb(143 191 178 / .35);background:#8fbfb21f;color:var(--accent);border-radius:.45rem;font-size:.82rem;font-weight:650}.new-job-btn:hover{background:#8fbfb233}.job-no{margin-left:auto;font-size:.68rem;color:#8d8880;letter-spacing:.06em;font-variant-numeric:tabular-nums}.team-toolbar{display:flex;gap:.7rem;align-items:flex-start;justify-content:space-between;margin-bottom:.6rem}.team-actions{display:flex;flex-direction:column;gap:.3rem;min-width:9.5rem}.team-actions .slim-chip{width:100%;height:1.85rem}.slim-sheet{width:min(720px,96vw);max-width:720px}.slim-sheet .team-grid{grid-template-columns:1fr 1fr}@media(min-width:960px){.sheet.slim-sheet{display:block;width:min(720px,96vw);max-width:720px;padding:1rem 1.1rem 1.1rem}}html.light{color-scheme:light;--page: #ece8e0;--bg: #f6f3ee;--fg: #1c1b19;--muted: #6a655e;--accent: #2d6f62;--accent-dim: rgb(45 111 98 / .14);--surface: #ffffff;--surface-2: #efebe3;--danger: #b94b3c;--ok: #2d6f62;--warn: #9a6b16}html.light body{background:var(--page);color:var(--fg)}html.light input,html.light textarea,html.light select{background:var(--surface);color:var(--fg);box-shadow:0 0 0 1px #1c1b191a}html.light input::placeholder,html.light textarea::placeholder{color:#7a756e}html.light .sheet{background:#f7f4ef}html.light .tabbar{background:#f6f3eef5;border-top-color:#1c1b1914}html.light .chip{background:#e7e2d8;color:#3f3b36}html.light .chip.on{background:var(--accent);color:#f4fffb}html.light .slim-select,html.light .slim-chip{background:#fff;color:var(--fg);border-color:#1c1b191f}html.light .slim-chip.on{background:var(--accent);color:#f4fffb}html.light .btn{background:#e7e2d8;color:var(--fg)}html.light .btn.primary{background:var(--accent);color:#f4fffb}html.light .job p,html.light .muted,html.light .job-sub{color:var(--muted)}html.light .next,html.light .card{background:var(--surface)}html.light .director-shell{background:#e4dfd6}html.light .header{background:#f6f3eeeb}html.light .nice-select{background:#fff;color:var(--fg)}html.light .new-job-btn{background:#2d6f621f;color:var(--accent);border-color:#2d6f624d}
