:root{--bg:#f3f6f4;--surface:#fff;--border:#d7e0da;--ink:#16211c;--muted:#5f7168;--accent:#17795a;--accent-ink:#fff;--danger:#a3311f;--shadow:0 6px 20px #16211c14;--radius:12px}*{box-sizing:border-box}body{background:var(--bg);color:var(--ink);margin:0;font-family:Segoe UI,system-ui,-apple-system,sans-serif;font-size:15px;line-height:1.5}h1,h2,h3{margin:0;line-height:1.25}p{margin:0}.shell{flex-direction:column;min-height:100vh;display:flex}.topbar{background:var(--surface);border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:14px 24px;display:flex}.brand{align-items:center;gap:12px;display:flex}.brand h1{font-size:18px}.brand p{color:var(--muted);font-size:13px}.brand-mark{background:var(--accent);width:38px;height:38px;color:var(--accent-ink);border-radius:10px;place-items:center;font-weight:700;display:grid}.tabs{flex-wrap:wrap;gap:6px;display:flex}.tab{color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:999px;padding:8px 14px;text-decoration:none}.tab:hover{background:var(--bg)}.tab.active{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.tab.logout{border-color:var(--border)}.main{flex:1;align-content:start;gap:16px;padding:24px;display:grid}.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}.panel-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding:14px 18px;display:flex}.panel-header h2{font-size:16px}.panel-body{padding:18px}.stack{gap:12px;display:grid}.field{gap:6px;display:grid}.field>span{color:var(--muted);font-size:13px}input,select,textarea{border:1px solid var(--border);background:var(--surface);color:inherit;font:inherit;border-radius:8px;width:100%;padding:10px 12px}input:focus-visible,select:focus-visible,textarea:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:1px}button{font:inherit;cursor:pointer}button.primary{border:1px solid var(--accent);background:var(--accent);color:var(--accent-ink);border-radius:8px;padding:10px 16px;font-weight:600}button:disabled{opacity:.6;cursor:progress}.empty{border:1px dashed var(--border);color:var(--muted);text-align:center;border-radius:8px;padding:20px}.notice{color:var(--ink);background:#e8f2ed;border-radius:8px;padding:10px 12px;font-size:14px}.notice.error{color:var(--danger);background:#fbe9e6}.auth-shell{place-items:center;min-height:100vh;padding:24px;display:grid}.auth-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);width:min(400px,100%);box-shadow:var(--shadow);gap:18px;padding:24px;display:grid}.muted{color:var(--muted);font-size:13px}.order-form{grid-template-columns:minmax(280px,1fr) minmax(320px,520px);align-items:start;gap:20px;display:grid}@media (width<=900px){.order-form{grid-template-columns:1fr}}.order-form-fields{grid-template-columns:1fr 1fr;gap:12px;display:grid}.order-form-fields .full{grid-column:1/-1}.order-form-map{gap:12px;display:grid}.coordinate-row{grid-template-columns:1fr 1fr;gap:12px;display:grid}.pin-map{border:1px solid var(--border);border-radius:var(--radius);cursor:crosshair;width:100%;height:auto}div.pin-map{height:360px}.pin-map-google{gap:8px;display:grid}.pin-map-search-host,.pin-map-search{width:100%}.map-loading{color:var(--muted,#6b7770);background:#f2f5f3;place-items:center;display:grid}.quote{border:1px solid var(--border);border-radius:var(--radius);background:#f7faf8;grid-template-columns:repeat(3,1fr);gap:8px;padding:12px;display:grid}.quote>div{gap:2px;display:grid}.quote .notice{grid-column:1/-1}.field-error{color:var(--danger);font-size:12px}.operations-map{border:1px solid var(--border);border-radius:var(--radius);width:100%;height:auto}div.operations-map{height:420px}.card{border:1px solid var(--border);border-radius:var(--radius);background:#fbfdfc;gap:10px;padding:14px;display:grid}.card-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.card-head h3{font-size:15px}.badge{color:var(--muted);white-space:nowrap;background:#e5ebe7;border-radius:999px;padding:3px 10px;font-size:12px}.badge.green{color:#14624a;background:#d9efe3}.badge.amber{color:#7c5310;background:#fbeed3}.badge.red{color:var(--danger);background:#fbe0da}.timeline{flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;display:flex}.timeline li{border:1px solid var(--border);color:var(--muted);border-radius:999px;padding:4px 10px;font-size:12px}.timeline li.done{border-color:var(--accent);color:var(--accent);background:#e8f2ed}button.warning{color:#7c5310;background:#fdf3e5;border:1px solid #d9b48a;border-radius:8px;justify-self:start;padding:8px 14px}.filters{border-bottom:1px solid var(--border);grid-template-columns:2fr 1fr 1fr 1fr auto;align-items:end;gap:12px;display:grid}@media (width<=900px){.filters{grid-template-columns:1fr 1fr}}.filter-actions{gap:8px;display:flex}.filter-actions button:not(.primary){border:1px solid var(--border);background:var(--surface);border-radius:8px;padding:10px 14px}.pager{justify-content:flex-end;gap:8px;display:flex}.pager button{border:1px solid var(--border);background:var(--surface);border-radius:8px;padding:8px 14px}.topup-form{grid-template-columns:1fr 1fr auto;align-items:end;gap:12px;display:grid}@media (width<=700px){.topup-form{grid-template-columns:1fr}}.row{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;gap:12px;padding:10px 0;display:flex}.row:last-child{border-bottom:0}.row-end{text-align:right}.positive{color:#14624a}.negative{color:var(--danger)}.instructions{border:1px dashed var(--border);border-radius:8px;gap:6px;padding:10px;display:grid}.instructions>div{justify-content:space-between;gap:12px;display:flex}.primary-link{color:var(--accent);justify-self:start}.day-row{grid-template-columns:180px 1fr 1fr;align-items:center;gap:12px;display:grid}@media (width<=700px){.day-row{grid-template-columns:1fr}}.day-toggle{align-items:center;gap:8px;display:flex}.day-toggle input{width:auto}.user-form{border-top:1px solid var(--border);grid-template-columns:repeat(4,1fr);align-items:end;gap:12px;display:grid}@media (width<=900px){.user-form{grid-template-columns:1fr 1fr}}.user-form .filter-actions{grid-column:1/-1}.suggestions{border:1px dashed var(--accent);background:#f2f8f5;border-radius:8px;gap:6px;padding:10px;display:grid}.suggestion{border:1px solid var(--border);background:var(--surface);text-align:left;border-radius:8px;gap:2px;padding:8px 10px;display:grid}.suggestion:hover{border-color:var(--accent)}.metrics{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;display:grid}.metric{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);gap:4px;padding:14px 16px;display:grid}.metric span{color:var(--muted);font-size:13px}.metric strong{font-size:22px}.assign-row{grid-template-columns:1fr auto auto;align-items:end;gap:10px;display:grid}@media (width<=700px){.assign-row{grid-template-columns:1fr}}.assign-row button:not(.warning){border:1px solid var(--accent);background:var(--accent);color:var(--accent-ink);border-radius:8px;padding:10px 16px;font-weight:600}.pricing-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));align-items:end;gap:12px;display:grid}
