:root{--indigo-900:#171B46;--indigo-700:#343D7A;--cyan-500:#20D8EF;--cyan-300:#8AEBF5;--white:#fff;--off:#F7F8FC;--n900:#172033;--n600:#525C70;--line:#E6EAF2;--success:#167347;--warn:#8A4B00;--danger:#B42335;--shadow:0 14px 38px rgba(23,27,70,.10);--shadow-sm:0 6px 18px rgba(23,27,70,.07);--r12:12px;--r16:16px;--r24:24px;--safe-bottom:max(16px,env(safe-area-inset-bottom));font-family:"Plus Jakarta Sans",Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--n900);background:var(--off)}*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--off);color:var(--n900)}body{min-height:100vh}button,input,textarea,select{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,a:focus-visible{outline:3px solid rgba(32,216,239,.42);outline-offset:2px}.app-shell{min-height:100vh}.mobile-shell{width:min(100%,430px);min-height:100vh;margin:auto;background:var(--white);position:relative;box-shadow:0 0 0 1px rgba(23,27,70,.03)}.screen{padding:18px 18px calc(92px + var(--safe-bottom));min-height:100vh;background:linear-gradient(180deg,#fff 0%,#fbfcff 100%)}.screen.no-nav{padding-bottom:30px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}.topbar.compact{margin-bottom:12px}.brand-lockup{display:flex;align-items:center;gap:9px;font-weight:800;color:var(--indigo-900);letter-spacing:-.02em}.logo-mark{width:36px;height:36px;display:grid;place-items:center}.logo-mark svg{width:100%;height:100%}.top-actions{display:flex;align-items:center;gap:8px}.avatar{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,var(--cyan-300),#d9f9fc);color:var(--indigo-900);font-weight:800;border:2px solid #fff;box-shadow:var(--shadow-sm)}.icon-btn{width:44px;height:44px;border:0;border-radius:14px;background:#f3f6fb;color:var(--indigo-900);display:grid;place-items:center}.eyebrow{font-size:12px;color:var(--n600);font-weight:700;letter-spacing:.04em;text-transform:uppercase}.location-line{display:inline-flex;align-items:center;gap:7px;font-size:14px;font-weight:700;color:var(--indigo-900);margin-bottom:8px}.hero-title{font-size:34px;line-height:1.02;letter-spacing:-.04em;margin:6px 0 18px;color:var(--indigo-900)}.subhead{font-size:13px;color:var(--n600);line-height:1.5;margin:5px 0 0}.assistant-card{background:linear-gradient(145deg,#e8fbfd,#dff7fb);border:1px solid rgba(32,216,239,.18);border-radius:24px;padding:16px;box-shadow:var(--shadow-sm);margin-bottom:20px}.assistant-card h3{margin:0 0 10px;font-size:16px;color:var(--indigo-900)}.assistant-input{display:flex;align-items:center;gap:10px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:14px;margin-bottom:10px;color:var(--n600)}.assistant-input input{border:0;outline:0;min-width:0;flex:1;color:var(--n900);background:transparent}.btn{border:0;border-radius:14px;min-height:48px;padding:0 18px;font-weight:800;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:transform .12s ease,box-shadow .18s ease,background .18s ease}.btn:active{transform:scale(.985)}.btn.primary{background:var(--indigo-900);color:#fff;box-shadow:0 8px 18px rgba(23,27,70,.18)}.btn.cyan{background:var(--cyan-500);color:var(--indigo-900)}.btn.secondary{background:#fff;color:var(--indigo-900);border:1px solid #ccd4e2}.btn.ghost{background:#eff3f8;color:var(--indigo-900)}.btn.danger{background:#fff0f2;color:var(--danger)}.btn.full{width:100%}.btn[disabled]{opacity:.45;cursor:not-allowed;box-shadow:none}.section-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:20px 0 12px}.section-head h2,.section-head h3{font-size:17px;margin:0;color:var(--indigo-900)}.link{border:0;background:transparent;color:var(--indigo-700);font-weight:800;font-size:13px}.service-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.service-card{min-height:106px;border:1px solid var(--line);background:#fff;border-radius:18px;padding:13px;text-align:left;display:flex;gap:10px;align-items:flex-start;box-shadow:0 4px 14px rgba(23,27,70,.04)}.service-card:active{transform:scale(.985)}.service-icon{width:46px;height:46px;flex:0 0 46px;border-radius:15px;background:#ddf8fb;color:var(--indigo-900);display:grid;place-items:center;position:relative}.service-icon svg{width:28px;height:28px}.service-card h4{font-size:14px;margin:2px 0 4px;color:var(--indigo-900)}.service-card p{font-size:11px;line-height:1.35;margin:0;color:var(--n600)}.coming{display:inline-flex;margin-top:5px;padding:3px 7px;border-radius:999px;background:#eef1f6;color:#748097;font-size:9px;font-weight:800}.bottom-nav{position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:min(100%,430px);padding:8px 12px var(--safe-bottom);background:rgba(255,255,255,.96);backdrop-filter:blur(14px);border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(4,1fr);z-index:30}.nav-item{height:58px;border:0;background:transparent;border-radius:16px;color:#69748a;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;font-size:10px;font-weight:700}.nav-item span:first-child{font-size:20px;line-height:1}.nav-item.active{background:#e3faff;color:var(--indigo-900)}.page-title{display:flex;align-items:center;gap:10px;margin:4px 0 18px}.page-title h1{font-size:24px;margin:0;color:var(--indigo-900);letter-spacing:-.025em}.back{width:44px;height:44px;border:0;border-radius:14px;background:#f4f6fa;color:var(--indigo-900);font-size:24px}.search{height:48px;border:1px solid var(--line);border-radius:14px;display:flex;align-items:center;gap:8px;padding:0 14px;background:#f8f9fc;margin-bottom:12px}.search input{border:0;background:transparent;outline:0;flex:1}.segmented{display:flex;gap:7px;overflow:auto;margin-bottom:14px;padding-bottom:2px}.segmented button{border:0;border-radius:999px;padding:9px 13px;background:#f1f4f8;color:var(--n600);white-space:nowrap;font-size:12px;font-weight:800}.segmented button.active{background:#dffafd;color:var(--indigo-900)}.list{display:flex;flex-direction:column;gap:9px}.list-row{display:flex;align-items:center;gap:12px;padding:13px;border:1px solid var(--line);border-radius:16px;background:#fff}.list-row .meta{min-width:0;flex:1}.list-row h4{margin:0 0 3px;font-size:14px;color:var(--indigo-900)}.list-row p{margin:0;font-size:11px;color:var(--n600);line-height:1.35}.chat-shell{display:flex;flex-direction:column;min-height:calc(100vh - 170px)}.chat-list{display:flex;flex-direction:column;gap:10px;flex:1;padding:6px 0 18px}.bubble{max-width:82%;padding:12px 14px;border-radius:18px;font-size:14px;line-height:1.45;box-shadow:0 2px 8px rgba(23,27,70,.04)}.bubble.bot{align-self:flex-start;background:#f2f5f9;color:var(--n900);border-top-left-radius:7px}.bubble.user{align-self:flex-end;background:var(--indigo-900);color:#fff;border-top-right-radius:7px}.bubble small{opacity:.7;font-size:9px;margin-left:8px}.chat-card{align-self:flex-start;width:92%;border:1px solid var(--line);border-radius:18px;padding:13px;background:#fff}.composer{position:sticky;bottom:76px;background:#fff;padding:10px 0;display:flex;gap:8px}.composer input{flex:1;height:48px;border:1px solid var(--line);border-radius:999px;padding:0 16px}.send{width:48px;height:48px;border:0;border-radius:50%;background:var(--cyan-500);color:var(--indigo-900);font-size:20px}.map{height:190px;border-radius:20px;background:linear-gradient(135deg,#edf6f4,#dcebf3);position:relative;overflow:hidden;border:1px solid #e1e8ef}.map:before{content:"";position:absolute;inset:0;background-image:linear-gradient(90deg,rgba(255,255,255,.55) 1px,transparent 1px),linear-gradient(rgba(255,255,255,.55) 1px,transparent 1px);background-size:28px 28px;transform:rotate(8deg) scale(1.3)}.route{position:absolute;left:16%;top:45%;width:67%;height:7px;background:var(--cyan-500);border-radius:999px;transform:rotate(-8deg);box-shadow:30px -24px 0 -1px var(--cyan-500),70px -34px 0 -1px var(--cyan-500)}.pin{position:absolute;width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:var(--indigo-900);color:#fff;z-index:2;box-shadow:var(--shadow-sm)}.pin.a{left:10%;bottom:24%}.pin.b{right:9%;top:20%}.card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:15px;box-shadow:0 3px 12px rgba(23,27,70,.04)}.card+.card{margin-top:10px}.summary-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:7px 0;font-size:13px;color:var(--n600)}.summary-row strong{color:var(--n900)}.summary-row.total{border-top:1px solid var(--line);margin-top:4px;padding-top:12px;font-size:17px;font-weight:800;color:var(--indigo-900)}.summary-row.total strong{font-size:22px;color:var(--indigo-900)}.sim{display:inline-flex;padding:3px 7px;border-radius:999px;background:#dffafd;color:var(--indigo-700);font-size:9px;font-weight:900;letter-spacing:.03em}.info{display:flex;align-items:flex-start;gap:9px;padding:11px 12px;border-radius:14px;background:#e9f9fb;color:var(--indigo-700);font-size:11px;line-height:1.4}.warn{background:#fff6e9;color:var(--warn)}.error{background:#fff0f2;color:var(--danger)}.success{background:#eaf8f1;color:var(--success)}.progress{display:flex;align-items:center;justify-content:space-between;margin:14px 0 18px}.step{display:flex;flex-direction:column;align-items:center;gap:5px;min-width:40px;color:#8993a6;font-size:9px;text-align:center}.step .dot{width:16px;height:16px;border-radius:50%;background:#dfe4ec;box-shadow:0 0 0 4px #f7f8fb}.step.done,.step.active{color:var(--indigo-900);font-weight:700}.step.done .dot{background:var(--cyan-500)}.step.active .dot{background:var(--indigo-900);box-shadow:0 0 0 4px #dffafd}.progress-line{height:2px;flex:1;background:#e1e6ee;margin:0 -4px 20px}.progress-line.done{background:var(--cyan-500)}.finding{display:grid;place-items:center;text-align:center;padding:44px 14px}.finding-ring{width:120px;height:120px;border-radius:50%;border:10px solid #dffafd;border-top-color:var(--cyan-500);animation:spin 1.6s linear infinite;display:grid;place-items:center;margin-bottom:18px}.finding-ring .logo-mark{width:64px;height:64px}.finding h2{font-size:26px;margin:0 0 8px;color:var(--indigo-900)}@keyframes spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}.rating-stars{display:flex;gap:8px;font-size:36px;color:var(--cyan-500);justify-content:center;margin:18px 0}.status-chip{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:6px 9px;font-size:10px;font-weight:800;background:#eff2f7;color:var(--n600)}.status-chip.ok{background:#e8f7ef;color:var(--success)}.status-chip.warn{background:#fff2da;color:var(--warn)}.status-chip.bad{background:#ffe8ec;color:var(--danger)}.role-home{display:flex;flex-direction:column;gap:12px}.availability{display:flex;align-items:center;justify-content:space-between;padding:13px 14px;border-radius:16px;background:#eaf9f1;color:var(--success);font-weight:800}.toggle{width:50px;height:28px;border-radius:999px;background:var(--cyan-500);position:relative}.toggle:after{content:"";position:absolute;width:22px;height:22px;border-radius:50%;background:white;right:3px;top:3px;box-shadow:0 2px 6px rgba(0,0,0,.15)}.earnings{background:linear-gradient(145deg,#e2fafd,#f4fdff);border-radius:18px;padding:16px}.earnings .money{font-size:28px;font-weight:900;color:var(--indigo-900)}.task-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}.task-actions .btn{width:100%}.desktop-shell{min-height:100vh;display:grid;grid-template-columns:230px 1fr;background:#f6f8fc}.side{background:var(--indigo-900);color:#fff;padding:22px 15px;position:sticky;top:0;height:100vh}.side .brand-lockup{color:#fff;margin:0 8px 24px}.side .logo-mark{width:34px;height:34px}.side-nav{display:flex;flex-direction:column;gap:6px}.side-nav button{height:44px;border:0;border-radius:12px;background:transparent;color:#d9dff0;text-align:left;padding:0 12px;font-weight:700;display:flex;align-items:center;gap:10px}.side-nav button.active{background:linear-gradient(90deg,var(--cyan-500),#8cecf6);color:var(--indigo-900)}.desk-main{padding:26px 28px 60px;min-width:0}.desk-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:20px}.desk-head h1{font-size:28px;margin:0 0 4px;color:var(--indigo-900)}.desk-head p{margin:0;color:var(--n600);font-size:13px}.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:14px}.metric{padding:16px;border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:var(--shadow-sm)}.metric label{font-size:11px;color:var(--n600);font-weight:700}.metric strong{display:block;font-size:28px;color:var(--indigo-900);margin:6px 0 2px}.metric small{font-size:10px;color:var(--n600)}.desktop-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);gap:14px}.desk-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:17px;box-shadow:var(--shadow-sm);min-width:0}.desk-card h3{margin:0 0 12px;color:var(--indigo-900);font-size:16px}.exception{display:grid;grid-template-columns:75px minmax(0,1fr) 95px 100px;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line);font-size:12px}.exception:last-child{border-bottom:0}.severity{font-weight:900}.severity.high{color:var(--danger)}.severity.med{color:var(--warn)}.chart{height:160px;display:flex;align-items:flex-end;gap:16px;padding:15px 5px 0}.bar{flex:1;border-radius:10px 10px 3px 3px;background:linear-gradient(180deg,var(--cyan-500),#8aebf5);min-width:28px;position:relative}.bar span{position:absolute;bottom:-22px;left:50%;transform:translateX(-50%);font-size:10px;color:var(--n600);white-space:nowrap}.donut{width:150px;height:150px;border-radius:50%;background:conic-gradient(var(--cyan-500) 0 92%,#e8edf4 92% 100%);display:grid;place-items:center;margin:10px auto}.donut:after{content:"92%\A otomatis";white-space:pre;width:105px;height:105px;border-radius:50%;background:#fff;display:grid;place-items:center;text-align:center;font-weight:900;color:var(--indigo-900);line-height:1.2}.review-switcher{position:fixed;right:16px;bottom:16px;z-index:50;background:var(--indigo-900);color:#fff;border:0;border-radius:999px;padding:11px 15px;box-shadow:var(--shadow);font-weight:800;font-size:12px}.review-panel{position:fixed;right:16px;bottom:66px;width:min(330px,calc(100vw - 32px));max-height:70vh;overflow:auto;padding:14px;border-radius:18px;background:#fff;box-shadow:0 20px 55px rgba(23,27,70,.25);z-index:49;border:1px solid var(--line)}.review-panel.hidden{display:none}.review-panel h4{margin:0 0 10px;color:var(--indigo-900)}.review-panel .role-tabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:10px}.review-panel button{border:0;border-radius:999px;padding:8px 10px;background:#eff3f8;color:var(--indigo-900);font-size:11px;font-weight:800}.review-panel button.active{background:var(--cyan-500)}.screen-list{display:grid;grid-template-columns:1fr 1fr;gap:6px}.screen-list button{text-align:left;border-radius:10px;white-space:normal}.note{font-size:10px;color:var(--n600);line-height:1.45;margin-top:10px}.empty-state{text-align:center;padding:36px 16px}.empty-state .illus{font-size:52px;margin-bottom:12px}.empty-state h3{margin:0 0 6px;color:var(--indigo-900)}.empty-state p{margin:0;color:var(--n600);font-size:12px}.form{display:flex;flex-direction:column;gap:12px}.field label{display:block;font-size:11px;font-weight:800;color:var(--indigo-900);margin-bottom:6px}.field input,.field textarea,.field select{width:100%;border:1px solid var(--line);border-radius:14px;min-height:48px;padding:11px 13px;background:#fff;color:var(--n900)}.field textarea{min-height:94px;resize:vertical}.splash{display:flex;min-height:100vh;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:30px;background:linear-gradient(180deg,#fff 0%,#f1fbfc 74%,#e6f7f9 100%)}.splash .logo-mark{width:110px;height:110px}.splash h1{font-size:36px;letter-spacing:-.04em;color:var(--indigo-900);margin:8px 0 4px}.splash p{color:var(--n600);margin:0 0 38px}.splash .btn{width:min(320px,100%)}.auth-shell{padding:28px 20px;min-height:100vh;background:#fff}.auth-shell .logo-mark{width:48px;height:48px;margin-bottom:28px}.auth-shell h1{font-size:30px;color:var(--indigo-900);margin:0 0 7px}.auth-shell p{font-size:13px;color:var(--n600);line-height:1.5}.divider{display:flex;align-items:center;gap:10px;color:#a0a8b8;font-size:11px;margin:16px 0}.divider:before,.divider:after{content:"";height:1px;flex:1;background:var(--line)}@media(max-width:900px){.desktop-shell{grid-template-columns:1fr}.side{display:none}.desk-main{padding:18px}.metric-grid{grid-template-columns:1fr 1fr}.desktop-grid{grid-template-columns:1fr}.exception{grid-template-columns:70px 1fr 84px}.exception .exception-action{display:none}}@media(max-width:430px){.service-grid{gap:8px}.service-card{padding:11px;min-height:100px}.hero-title{font-size:31px}.screen{padding-left:16px;padding-right:16px}}@media(min-width:431px) and (max-width:900px){.mobile-shell{box-shadow:0 14px 50px rgba(23,27,70,.12);margin:18px auto;min-height:calc(100vh - 36px);border-radius:30px;overflow:hidden}.bottom-nav{width:430px;bottom:18px;border-radius:0 0 30px 30px}}

/* GANCANG presentation foundation — shared by live and reference renderers. */
:root {
  --space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-6:24px;--space-8:32px;
  --font-ui:"Plus Jakarta Sans",Inter,system-ui,sans-serif;
  --font-ops:Inter,"Plus Jakarta Sans",system-ui,sans-serif;
  --text-body:1rem;--text-small:.875rem;--text-caption:.75rem;
  --press:120ms;--transition:200ms;--ease:cubic-bezier(.2,.7,.2,1);
  --content-width:560px;--page-pad:16px;--nav-height:76px;
  --surface-soft:#EEF9FC;--focus:#343D7A;
  --border-control:#8792A8;--shadow-sm:0 4px 16px #171b4608;
  --shadow:0 12px 32px #171b4612;--safe-bottom:max(12px,env(safe-area-inset-bottom));
  font-size:16px;line-height:1.5;font-family:var(--font-ui);
}
[hidden]{display:none!important}
body{overflow-wrap:break-word}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}
:where(button,a,input,select,textarea,[tabindex]):focus-visible{outline:3px solid var(--focus);outline-offset:3px}
:where(.side,.workspace-side) :focus-visible{outline-color:var(--cyan-300)}
:where(h1,h2,h3,h4,p){overflow-wrap:anywhere}
:where(h1,h2,h3,h4){line-height:1.25;letter-spacing:-.025em}
:where(button,.btn){min-height:44px;touch-action:manipulation}
.btn{border-radius:var(--r16);padding:12px 16px;line-height:1.4;font-size:1rem;white-space:normal;transition:transform var(--press) var(--ease),background var(--transition) var(--ease),box-shadow var(--transition) var(--ease)}
.btn.primary{box-shadow:0 4px 12px #171b461a}.btn.secondary{border-color:var(--border-control)}
.btn:disabled{opacity:1;color:#5C6678;background:#E8EBF1;border-color:#D4DAE5;cursor:not-allowed;box-shadow:none;transform:none}
.btn.danger{border:1px solid #D5969F}.btn:not(:disabled):active{transform:scale(.985)}
@media(hover:hover){.btn.primary:not(:disabled):hover{background:var(--indigo-700)}.service-card:not([aria-disabled=true]):hover{border-color:var(--indigo-700);box-shadow:var(--shadow-sm)}}
.link,.back-link,.signup-back{min-height:44px;display:inline-flex;align-items:center;justify-content:center;font-size:var(--text-small)}
.g-icon{width:24px;height:24px;flex:0 0 24px;vertical-align:middle}
.icon-btn svg,.nav-item svg,.side-nav svg{width:24px;height:24px}
.mobile-shell{width:min(100%,var(--content-width));min-height:100dvh;background:var(--white)}
.screen{padding:24px var(--page-pad) calc(var(--nav-height) + var(--safe-bottom) + 24px);min-height:100dvh;background:var(--white)}
.hero-title{font-size:32px;line-height:1.15;margin:16px 0 24px;letter-spacing:-.04em}
.topbar{gap:12px;flex-wrap:wrap}.topbar.compact{margin-bottom:24px}
.topbar .brand-lockup{flex-shrink:0}.topbar>.top-actions{margin-left:auto}.topbar>.back{flex-shrink:0}
.product-header h1{font-size:24px;flex:1 1 180px;order:3;margin:4px 0 0;width:100%}
.product-header .role-badge{margin-left:auto}.product-header .brand-lockup{flex:1 1 60%}
.role-badge .g-icon{width:16px;height:16px;flex-basis:16px}
.subhead,.list-row p,.service-card p,.empty-state p{font-size:var(--text-small);line-height:1.55}
.section-head{align-items:center;flex-wrap:wrap;margin:24px 0 12px}.section-head h2,.section-head h3{font-size:20px}
.assistant-card{background:var(--surface-soft);border:0;padding:24px;border-radius:var(--r24);box-shadow:none;margin-bottom:24px}
.assistant-card h2{font-size:24px;margin:0 0 8px}.assistant-card p{margin:0 0 16px;color:var(--n600)}
.assistant-input{padding:12px;border-radius:var(--r12)}
.service-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.service-grid>.g-state{grid-column:1/-1}
.service-card{padding:16px;min-width:0;min-height:148px;flex-direction:column;gap:12px;border-radius:var(--r16);box-shadow:none}
.service-card h4{font-size:1rem;line-height:1.35;margin:0 0 4px}.service-card p{font-size:var(--text-small)}
.service-icon{width:44px;height:44px;flex-basis:44px;border-radius:var(--r12);background:#E1F9FC}
.coming{font-size:var(--text-caption);color:var(--n600);padding:4px 8px}
.bottom-nav{width:min(100%,var(--content-width));padding:8px 12px var(--safe-bottom);background:#fff;backdrop-filter:none;box-shadow:0 -4px 18px #171b4606}
.nav-item{min-height:56px;height:auto;gap:4px;font-size:var(--text-caption);color:var(--n600);padding:6px 4px}
.nav-item.active{background:#E1F9FC;box-shadow:inset 0 -3px var(--indigo-900)}
.card,.desk-card,.list-row,.earnings{border-radius:var(--r16);padding:16px;box-shadow:var(--shadow-sm)}
.card+.card{margin-top:16px}.list{gap:12px}.list-row{flex-wrap:wrap;min-width:0}.list-row .meta{flex-basis:140px}.list-row h4{font-size:1rem}
.list-row>.task-actions{width:100%;flex-basis:100%}.list-row>strong{overflow-wrap:anywhere;font-variant-numeric:tabular-nums}
.summary-row{font-size:var(--text-small);align-items:flex-start;padding:10px 0}.summary-row>span{flex:1}.summary-row>strong{max-width:65%;text-align:right;overflow-wrap:anywhere}
.summary-row.total{font-size:1rem;align-items:center;flex-wrap:wrap}.summary-row.total strong{font-size:28px;line-height:1.2;font-variant-numeric:tabular-nums}
.earnings{background:var(--surface-soft)}.earnings .money{font-size:32px;line-height:1.25}
.info{display:block;padding:16px;font-size:var(--text-small);line-height:1.55;border-radius:var(--r12)}
.info strong{display:inline}.status-chip{font-size:var(--text-caption);line-height:1.4;padding:6px 10px;white-space:normal}
.status-chip.ok:before{content:'✓';font-weight:800}.status-chip.warn:before{content:'◷'}.status-chip.bad:before{content:'!';font-weight:800}
.form,.application-form,#live-request-form{gap:16px}.field label{font-size:var(--text-small);line-height:1.4;margin-bottom:8px}
.field input,.field select,.field textarea{font-size:1rem;border-color:var(--border-control);border-radius:var(--r12);min-height:48px;max-width:100%}
.field textarea{min-height:120px}.field small,.field-error{font-size:var(--text-small);display:block;margin-top:8px}.field-error{color:var(--danger)}
[aria-invalid=true]{border-color:var(--danger)!important}
#live-request-form{display:grid}#live-request-form>.btn{margin-top:8px}
.chat-list{gap:16px}.bubble{font-size:1rem;line-height:1.55;border-radius:var(--r16)}.bubble small{font-size:var(--text-caption)}
.composer{bottom:calc(var(--nav-height) + var(--safe-bottom));padding:12px 0;gap:8px}.composer input,.search input{min-width:0;font-size:1rem}.send{flex-shrink:0}
.chat-shell{min-height:calc(100dvh - 210px)}
.map{border-radius:var(--r16);min-height:200px}
.progress{gap:0;align-items:flex-start}.step{min-width:0;flex:1;gap:8px;font-size:var(--text-caption);color:var(--n600);overflow-wrap:anywhere}.progress-line{margin:8px -3px 0;flex:.25}
.step .dot{width:18px;height:18px;display:grid;place-items:center}.step.done .dot:after{content:'✓';font-size:12px;color:var(--indigo-900)}.step.active .dot:after{content:'•';color:#fff}
.segmented{flex-wrap:wrap;overflow:visible;gap:8px}.segmented button{min-height:44px;font-size:var(--text-small);white-space:normal;border:1px solid transparent}.segmented button.active{border-color:var(--indigo-700)}
.ui-modal,.ui-bottom-sheet{max-height:calc(100dvh - 32px);overflow:auto;overscroll-behavior:contain;border-radius:var(--r24)}
.ui-modal p,.ui-bottom-sheet p{font-size:1rem}.ui-bottom-sheet{width:min(100%,var(--content-width));border-radius:24px 24px 0 0}.ui-modal-actions{align-items:stretch}
.ui-toast{font-size:var(--text-small);bottom:calc(var(--nav-height) + var(--safe-bottom) + 16px)}
.g-state{padding:32px 24px;border:1px solid var(--line);border-radius:var(--r16);background:var(--off);text-align:center;margin:16px 0}
.g-state>.g-icon{width:40px;height:40px;color:var(--indigo-700);margin-bottom:12px}.g-state h2{font-size:20px;margin:0 0 8px;color:var(--indigo-900)}.g-state p{font-size:1rem;margin:0;color:var(--n600)}
.g-state-error{background:#FFF2F4;border-color:#EBC6CD}.g-state-error>.g-icon{color:var(--danger)}
.g-state-waiting{background:#FFF7EB;border-color:#E5CFAC}.g-state-waiting>.g-icon{color:var(--warn)}
.g-loading{max-width:var(--content-width);margin:0 auto;padding:32px var(--page-pad)}.g-skeleton-card{height:112px!important;margin-top:24px!important}.ui-skeleton{background:#E6EAF2;animation:g-loading-opacity 1.2s ease-in-out infinite alternate}
@keyframes g-loading-opacity{to{opacity:.55}}
.desktop-shell{grid-template-columns:232px minmax(0,1fr)}.desktop-shell:not(:has(>.side)){grid-template-columns:minmax(0,1fr)}
.desktop-shell,.desk-main{font-family:var(--font-ops)}.desk-main{padding:32px;max-width:1600px;width:100%;margin:0 auto}
.side{padding:24px 16px;overflow-y:auto}.side-nav a,.side-nav button{min-height:48px;height:auto;padding:12px;display:flex;align-items:center;gap:12px;color:#E6EAF2;text-decoration:none;border-radius:var(--r12);font-size:var(--text-small);line-height:1.4}
.side-nav a[aria-current=page],.side-nav button.active{background:var(--cyan-300);color:var(--indigo-900)}
.workspace-brand{color:#fff;display:flex;gap:8px;align-items:center;text-decoration:none;font-weight:800;margin-bottom:24px}.workspace-brand img{background:#fff;border-radius:12px;padding:3px}
.workspace-menu summary{display:none}.desk-head{gap:24px;flex-wrap:wrap}.desk-head h1{font-size:28px}
.metric-grid{gap:16px;margin-bottom:24px}.metric{padding:20px;box-shadow:none;border-radius:var(--r16)}.metric label,.metric small{font-size:var(--text-small)}.metric strong{font-size:28px;font-variant-numeric:tabular-nums;overflow-wrap:anywhere;line-height:1.25;margin:12px 0 8px}
.desktop-grid{gap:24px;grid-template-columns:minmax(0,1.4fr) minmax(280px,1fr)}.desk-card{padding:24px}.desk-card h3{font-size:20px}
.exception{grid-template-columns:65px minmax(0,1fr) 72px 88px;gap:8px;font-size:var(--text-small);padding:16px 0}.exception .btn{padding:10px;font-size:var(--text-small)}
.chart{margin:12px 0 36px;gap:12px}.bar span{font-size:var(--text-caption);white-space:normal;text-align:center;width:100%;line-height:1.3;bottom:auto;top:calc(100% + 8px)}
.task-actions{gap:12px}.desk-main>.task-actions{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));margin-top:24px}
.desk-card:has(>.live-table){overflow-x:auto;overscroll-behavior-inline:contain}.live-table{min-width:560px}.live-table th,.live-table td{font-size:var(--text-small);padding:16px;vertical-align:top;overflow-wrap:anywhere}.live-table th{background:var(--off)}
.screen .availability{flex-wrap:wrap;gap:12px}.driver-order-row strong{max-width:60%;text-align:right;overflow-wrap:anywhere}.driver-order-actions .btn{min-height:48px}
@media(min-width:390px){:root{--page-pad:20px}}
@media(min-width:430px){:root{--page-pad:24px}}
@media(min-width:431px) and (max-width:900px){.mobile-shell{margin:0 auto;border-radius:0;overflow:visible;min-height:100dvh}.bottom-nav{bottom:0;width:min(100%,var(--content-width));border-radius:0}}
@media(max-width:1100px){.desktop-grid{grid-template-columns:minmax(0,1fr)}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){.desktop-shell{grid-template-columns:minmax(0,1fr)}.workspace-side{display:block;position:relative;height:auto;padding:12px var(--page-pad)}.workspace-brand{margin:0 0 8px}.workspace-menu summary{display:flex;gap:8px;align-items:center;cursor:pointer;min-height:44px}.workspace-menu .side-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px}.desk-main{padding:24px var(--page-pad)}.exception{grid-template-columns:60px minmax(0,1fr) 72px}.exception .exception-action{display:inline-flex;grid-column:2/-1;justify-self:end}.desk-card{padding:16px}}
@media(max-width:389px){.metric{padding:16px}.metric strong{font-size:24px}.role-entry-grid,.ui-modal-actions{grid-template-columns:1fr}.task-actions .btn{padding:12px}.service-card{padding:12px}.summary-row.total strong{font-size:24px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.ui-skeleton{opacity:1}.btn:active{transform:none}}
