@import "https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Manrope:wght@400;500;600;700;800&display=swap";
:root{--bg:#f6f8fb;--surface:#fff;--surface-2:#f1f5f9;--border:#e3e8ef;--border-strong:#cbd5e1;--text:#0f172a;--text-muted:#64748b;--text-faint:#94a3b8;--brand:#2563eb;--brand-hover:#1d4ed8;--brand-soft:#eff6ff;--brand-border:#bfdbfe;--danger:#b91c1c;--danger-soft:#fef2f2;--danger-border:#fecaca;--success:#15803d;--success-soft:#f0fdf4;--success-border:#bbf7d0;--warn:#a16207;--warn-soft:#fefce8;--warn-border:#fde68a;--sidebar-bg:#0f172a;--sidebar-text:#cbd5e1;--sidebar-active:#1e293b;--radius:10px;--radius-lg:14px;--shadow-sm:0 1px 2px #0f172a0d;--shadow:0 1px 3px #0f172a14, 0 1px 2px #0f172a0a;--shadow-lg:0 10px 25px #0f172a1a, 0 4px 10px #0f172a0d;--font:Manrope, -apple-system, "Segoe UI", Arial, sans-serif;--mono:"DM Mono", ui-monospace, "SF Mono", Consolas, monospace}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);font-family:var(--font);-webkit-font-smoothing:antialiased;margin:0;font-size:15px;line-height:1.5}h1{letter-spacing:-.02em;margin:0;font-size:1.75rem;font-weight:800;line-height:1.2}h2{letter-spacing:-.01em;margin:0;font-size:1.0625rem;font-weight:700}.eyebrow{font:500 .6875rem/1.4 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--text-faint);margin:0 0 .5rem}.subtle{color:var(--text-muted);margin:.5rem 0 0;font-size:.875rem}.shell{min-height:100vh;display:flex}.sidebar{background:var(--sidebar-bg);width:248px;color:var(--sidebar-text);flex-direction:column;flex-shrink:0;padding:1.5rem 1rem;display:flex}.brand{color:#fff;align-items:center;gap:.6875rem;padding:0 .5rem 2rem;font-size:1.0625rem;font-weight:800;display:flex}.brand>span{background:var(--brand);color:#fff;border-radius:9px;place-items:center;width:2.125rem;height:2.125rem;font-size:.75rem;font-weight:800;display:grid}.brand small{font:400 .5625rem/1.4 var(--mono);color:#64748b;letter-spacing:.04em;margin-top:.125rem;display:block}.sidebar nav{gap:.1875rem;display:grid}.sidebar a{border-radius:var(--radius);color:#94a3b8;padding:.625rem .75rem;font-size:.875rem;font-weight:600;text-decoration:none}.sidebar a:hover{color:#e2e8f0;background:#1e293b}.sidebar a.active{background:var(--sidebar-active);color:#fff}.sidebar-bottom{border-top:1px solid #1e293b;margin-top:auto;padding:1.25rem .5rem 0;font-size:.8125rem}.sidebar-bottom strong,.sidebar-bottom span{display:block}.sidebar-bottom strong{color:#e2e8f0}.sidebar-bottom span{color:#64748b;margin:.3125rem 0 1rem;font-size:.75rem}.sidebar button{color:#94a3b8;font:inherit;cursor:pointer;background:0 0;border:0;padding:0;font-weight:600}.sidebar button:hover{color:#fff}.content{flex:1;min-width:0;padding:2.25rem 2rem}@media (min-width:1400px){.content{max-width:1440px;margin:0 auto}}header{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.75rem;display:flex}.header-actions{flex-shrink:0;gap:.625rem;display:flex}.primary{background:var(--brand);border:1px solid var(--brand);color:#fff;border-radius:var(--radius);font:inherit;cursor:pointer;white-space:nowrap;box-shadow:var(--shadow-sm);padding:.6875rem 1.125rem;font-size:.875rem;font-weight:700}.primary:hover:not([disabled]){background:var(--brand-hover);border-color:var(--brand-hover)}.primary[disabled]{background:var(--surface-2);border-color:var(--border);color:var(--text-faint);box-shadow:none;cursor:not-allowed}.text-button{border:1px solid var(--border);color:var(--text-muted);border-radius:var(--radius);font:inherit;cursor:pointer;white-space:nowrap;background:0 0;padding:.625rem .875rem;font-size:.8125rem;font-weight:700}.text-button:hover{background:var(--surface-2);color:var(--text);border-color:var(--border-strong)}.plan-banner{background:var(--danger-soft);border:1px solid var(--danger-border);color:var(--danger);border-radius:var(--radius);flex-wrap:wrap;align-items:center;gap:.75rem;margin:0 0 1.5rem;padding:.875rem 1.125rem;display:flex}.plan-banner strong{font-size:.875rem;font-weight:800}.plan-banner span{flex:1;min-width:220px;font-size:.8125rem}.plan-banner.trial{background:var(--brand-soft);border-color:var(--brand-border);color:#1e40af}.stats{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:1rem;margin-bottom:2rem;display:grid}.stat{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:1.125rem}.stat strong{letter-spacing:-.02em;font-size:1.5rem;font-weight:800;display:block}.stat span{color:var(--text-muted);font-size:.8125rem}.section-title{align-items:center;gap:.75rem;margin:2rem 0 1rem;display:flex}.section-title h2{flex:1}.table-card,.team-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden}.table-head{border-bottom:1px solid var(--border);align-items:center;gap:1rem;padding:1rem 1.25rem;display:flex}.table-head h2{flex:1}.row-actions{flex-wrap:wrap;gap:.5rem;display:flex}.document-list{display:grid}.document-row{border-bottom:1px solid var(--border);grid-template-columns:1fr auto auto;align-items:center;gap:.75rem;padding:1rem 1.25rem;display:grid}.document-row:last-child{border-bottom:0}.document-row:hover{background:var(--surface-2)}.document-row strong{font-size:.9375rem;display:block}.hash{font:400 .6875rem/1.4 var(--mono);color:var(--text-faint)}.grow{flex:1;min-width:0}.badge{border:1px solid var(--border);background:var(--surface-2);color:var(--text-muted);white-space:nowrap;border-radius:999px;padding:.1875rem .5rem;font-size:.6875rem;font-weight:700;display:inline-block}.badge.issued{background:var(--success-soft);border-color:var(--success-border);color:var(--success)}.badge.completed{background:var(--brand-soft);border-color:var(--brand-border);color:#1e40af}.badge.off{background:var(--danger-soft);border-color:var(--danger-border);color:var(--danger)}.you-tag{background:var(--brand-soft);border:1px solid var(--brand-border);color:#1e40af;border-radius:999px;margin-left:.375rem;padding:.0625rem .375rem;font-size:.625rem;font-weight:800;display:inline-block}.empty-state{text-align:center;color:var(--text-muted);padding:3rem 1.5rem;font-size:.875rem}.filter-bar{flex-wrap:wrap;gap:.625rem;margin-bottom:1rem;display:flex}input,select,textarea{font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius);width:100%;min-width:0;padding:.625rem .75rem;font-size:.875rem}input:focus,select:focus,textarea:focus{outline:2px solid var(--brand);outline-offset:-1px;border-color:var(--brand)}textarea{resize:vertical;min-height:88px}label{color:#334155;gap:.3125rem;font-size:.8125rem;font-weight:700;display:grid}.form-grid{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:1rem;display:grid}.single-form{gap:1rem;max-width:30rem;display:grid}.errors{background:var(--danger-soft);border:1px solid var(--danger-border);color:var(--danger);border-radius:var(--radius);padding:.75rem 1rem;font-size:.8125rem}.form-error{color:var(--danger);font-size:.8125rem}.change-reason{gap:.5rem;display:grid}.team-error{color:var(--danger);font-size:.8125rem}.team-row{border-bottom:1px solid var(--border);align-items:center;gap:.75rem;padding:.875rem 1.25rem;display:flex}.team-row:last-child{border-bottom:0}.team-list{display:grid}.team-row strong{font-size:.9375rem;display:block}.history-list{gap:.75rem;display:grid}.activity-list{gap:.5rem;display:grid}.activity-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:.75rem 1rem}.history-note{color:var(--text-muted);margin:.3125rem 0 0;font-size:.8125rem}.overlay{z-index:50;background:#0f172a8c;place-items:center;padding:1rem;display:grid;position:fixed;inset:0;overflow-y:auto}.modal{background:var(--surface);border-radius:var(--radius-lg);width:100%;max-width:44rem;box-shadow:var(--shadow-lg);flex-direction:column;max-height:calc(100vh - 2rem);display:flex}.small-modal{max-width:28rem}.modal-head{border-bottom:1px solid var(--border);align-items:center;gap:1rem;padding:1.25rem;display:flex}.modal-head h2{flex:1}.modal-body{padding:1.25rem;overflow-y:auto}.modal-footer{border-top:1px solid var(--border);justify-content:flex-end;gap:.625rem;padding:1rem 1.25rem;display:flex}.close{color:var(--text-muted);cursor:pointer;background:0 0;border:0;padding:0 .25rem;font-size:1.5rem;line-height:1}.close:hover{color:var(--text)}@media (max-width:820px){.shell{flex-direction:column}.sidebar{z-index:30;width:100%;padding:1rem;position:sticky;top:0}.brand{padding-bottom:1rem}.sidebar nav{-webkit-overflow-scrolling:touch;scrollbar-width:none;gap:.25rem;display:flex;overflow-x:auto}.sidebar nav::-webkit-scrollbar{display:none}.sidebar a{white-space:nowrap;padding:.5rem .75rem;font-size:.8125rem}.sidebar-bottom{flex-wrap:wrap;align-items:center;gap:1rem;margin-top:1rem;padding-top:1rem;display:flex}.sidebar-bottom span{flex:1;margin:0}.content{padding:1.25rem 1rem 3rem}header{flex-direction:column;align-items:stretch;margin-bottom:1.25rem}.header-actions{flex-direction:column}.header-actions button{width:100%}h1{font-size:1.375rem}.stats{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.75rem}.stat{padding:.875rem}.stat strong{font-size:1.25rem}.document-row{grid-template-columns:1fr;align-items:stretch;gap:.625rem;padding:1rem}.row-actions{justify-content:stretch}.row-actions button{flex:1}.team-row{flex-wrap:wrap;padding:.875rem 1rem}.team-row .row-actions{width:100%}.filter-bar{flex-direction:column}.form-grid{grid-template-columns:1fr}.modal{max-height:calc(100vh - 1.5rem)}.modal-footer{flex-direction:column-reverse}.modal-footer button{width:100%}.overlay{align-items:flex-end;padding:.75rem}}@media (max-width:420px){.stats{grid-template-columns:1fr}.primary,.text-button{min-height:44px}}
.auth-page{background:radial-gradient(1100px 460px at 50% -8%, #dbeafe 0%, var(--bg) 62%);place-items:center;min-height:100vh;padding:1.5rem 1.25rem;display:grid}.auth-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);width:min(440px,100%);box-shadow:var(--shadow-lg);padding:2.25rem}.auth-brand{color:var(--text);padding:0 0 2rem}.auth-brand small{color:var(--text-faint)}.auth-form{gap:1rem;margin-top:1.5rem;display:grid}.auth-form .primary{width:100%;margin-top:.375rem}.auth-footer{color:var(--text-muted);text-align:center;margin:1.5rem 0 0;font-size:.8125rem}.auth-footer a{color:var(--brand);font-weight:700;text-decoration:none}.auth-footer a:hover{text-decoration:underline}.team-card{margin-top:1.5rem}.team-list{padding:.25rem 1.5rem}.team-row{border-bottom:1px solid var(--border);padding:1rem 0;font-size:.8125rem}.team-row:last-child{border-bottom:0}.team-row strong,.team-row small{display:block}.team-row small{color:var(--text-muted);margin-top:.1875rem;font-size:.6875rem}.master-tabs{flex-wrap:wrap;gap:.5rem;padding-top:1.125rem;display:flex}.master-tabs button{border:1px solid var(--border);background:var(--surface);border-radius:var(--radius);font:700 .75rem var(--font);color:var(--text-muted);cursor:pointer;padding:.5rem .6875rem}.master-tabs button.selected{background:var(--brand-soft);border-color:var(--brand-border);color:#1e40af}.master-list{border-top:1px solid var(--border);max-height:220px;overflow:auto}.master-list>div{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:.75rem;padding:.75rem 0;font-size:.8125rem;display:flex}.badge.issued{background:var(--success-soft);border-color:var(--success-border);color:var(--success)}.badge.completed{background:var(--brand-soft);border-color:var(--brand-border);color:#1e40af}.badge.off{background:var(--danger-soft);border-color:var(--danger-border);color:var(--danger)}.plan-banner.trial{background:var(--brand-soft);border-color:var(--brand-border);color:#1e40af}.row-actions .edit{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);font:700 .75rem var(--font);color:#334155;cursor:pointer;padding:.4375rem .75rem}.row-actions .edit:hover{background:var(--surface-2);border-color:var(--border-strong)}.vehicle{font:400 .6875rem/1.4 var(--mono);color:#475569}.driver-alert{background:var(--warn-soft);border:1px solid var(--warn-border);color:var(--warn);border-radius:var(--radius);margin:0 0 1.25rem;padding:.75rem .9375rem;font-size:.8125rem}@media (max-width:520px){.auth-page{align-items:start;padding:1rem .875rem}.auth-card{padding:1.5rem}.auth-brand{padding-bottom:1.5rem}.team-list{padding:.25rem 1.25rem}}
.driver-shell{background:var(--bg);max-width:620px;min-height:100vh;margin:0 auto;padding:0 1.125rem 2.25rem}.driver-header{justify-content:space-between;align-items:center;padding:1.125rem 0;display:flex}.driver-brand{color:var(--text);align-items:center;gap:.5625rem;font-weight:800;display:flex}.driver-brand>span{background:var(--brand);color:#fff;border-radius:9px;place-items:center;width:1.9375rem;height:1.9375rem;font-size:.6875rem;font-weight:800;display:grid}.driver-brand small{font:400 .5rem/1.4 var(--mono);color:var(--text-faint);letter-spacing:.04em;margin-top:.125rem;display:block}.driver-header button{color:var(--text-muted);font:700 .75rem var(--font);cursor:pointer;background:0 0;border:0;min-height:44px;padding:0 .5rem}.driver-intro{padding:1.5rem 0 1rem}.driver-intro h1{font-size:1.5rem}.driver-intro p:not(.eyebrow){color:var(--text-muted);font-size:.875rem;line-height:1.55}.driver-summary{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);align-items:baseline;gap:.5rem;margin:.6875rem 0 1.75rem;padding:1.125rem 1.25rem;display:flex}.driver-summary strong{letter-spacing:-.02em;font-size:1.875rem;font-weight:800}.driver-summary span{color:var(--text-muted);font-size:.8125rem}.driver-list h2{margin:0 0 .8125rem}.driver-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);margin-bottom:.75rem;padding:1.0625rem}.driver-card-head{justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.9375rem;display:flex}.driver-card-head small{font:400 .625rem/1.4 var(--mono);color:var(--text-faint)}.driver-card>strong{font-size:.9375rem;line-height:1.5;display:block}.driver-card b{color:var(--text-faint);margin:0 .25rem;font-weight:500}.driver-card p{color:var(--text-muted);margin:.4375rem 0;font-size:.75rem}.driver-card .vehicle{font:400 .6875rem/1.4 var(--mono);color:#475569}.driver-card a{text-align:center;background:var(--brand);color:#fff;border-radius:var(--radius);width:100%;margin-top:1.0625rem;padding:.8125rem;font-size:.8125rem;font-weight:700;text-decoration:none;display:block}.driver-card a:hover{background:var(--brand-hover)}.driver-empty{background:var(--surface);border:1px dashed var(--border-strong);border-radius:var(--radius-lg);color:var(--text-muted);text-align:center;padding:1.5rem;font-size:.8125rem}.driver-note{color:var(--text-faint);margin:1.75rem .375rem;font-size:.6875rem;line-height:1.55}.driver-offline{background:var(--warn-soft);border:1px solid var(--warn-border);color:var(--warn);border-radius:var(--radius);flex-wrap:wrap;align-items:center;gap:.5rem;margin:0 0 1.25rem;padding:.75rem .9375rem;font-size:.8125rem;display:flex}.driver-offline strong{font-weight:800}.driver-offline span{color:#854d0e;flex:1;min-width:200px}@media (max-width:420px){.driver-shell{padding:0 .875rem 2rem}.driver-intro h1{font-size:1.3125rem}.driver-summary{padding:1rem}.driver-summary strong{font-size:1.625rem}}
