:root{--ws-bg:#f3f6fb;--ws-card:#ffffff;--ws-border:#d9e2ef;--ws-text:#102033;--ws-muted:#64748b;--ws-primary:#0f172a;--ws-accent:#2563eb;--ws-success:#15803d;--ws-warning:#b45309;--ws-danger:#b91c1c;--ws-info:#1d4ed8;--ws-radius:18px;--ws-shadow:0 10px 28px rgba(15,23,42,.08)}
.ws-portal{font-family:Inter,Segoe UI,Arial,sans-serif;color:var(--ws-text);max-width:1400px;margin:28px auto;padding:0 16px}
.ws-auth-shell{display:grid;grid-template-columns:1.2fr .9fr;gap:28px;align-items:center;min-height:70vh}.ws-auth-brand{padding:24px}.ws-auth-brand h1{font-size:44px;line-height:1.05;margin:14px 0}.ws-auth-brand p{font-size:18px;line-height:1.6;color:var(--ws-muted);max-width:680px}.ws-auth-brand ul{margin:20px 0 0;padding-left:18px;color:var(--ws-muted);display:grid;gap:8px}.ws-auth-pill{display:inline-block;background:#dbeafe;color:#1d4ed8;border-radius:999px;padding:8px 12px;font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.ws-login-card{max-width:460px;margin-left:auto}
.ws-app-shell{display:grid;grid-template-columns:260px minmax(0,1fr);gap:22px;align-items:start}.ws-sidebar{position:sticky;top:20px;background:linear-gradient(180deg,#0f172a,#172554);color:#fff;border-radius:24px;padding:20px;box-shadow:var(--ws-shadow)}.ws-sidebar-brand{display:flex;gap:12px;align-items:center;margin-bottom:22px}.ws-sidebar-brand small{display:block;color:rgba(255,255,255,.65)}.ws-brand-dot{width:14px;height:14px;border-radius:50%;background:#60a5fa;display:inline-block;box-shadow:0 0 0 6px rgba(96,165,250,.15)}.ws-sidebar-office{padding:14px 16px;border-radius:16px;background:rgba(255,255,255,.08);display:grid;gap:4px;margin-bottom:18px}.ws-sidebar-office span{color:rgba(255,255,255,.72);font-size:13px}.ws-sidebar-nav{display:grid;gap:8px}.ws-sidebar-nav a{color:#e2e8f0;text-decoration:none;padding:12px 14px;border-radius:14px;font-weight:600}.ws-sidebar-nav a:hover,.ws-sidebar-nav a.active{background:rgba(255,255,255,.12);color:#fff}.ws-logout-side{display:inline-flex;margin-top:18px;justify-content:center}
.ws-main{min-width:0}.ws-topbar{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:18px}.ws-topbar h2{margin:0 0 4px;font-size:30px}.ws-topbar-right{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.ws-card{background:var(--ws-card);border:1px solid var(--ws-border);border-radius:var(--ws-radius);padding:22px;box-shadow:var(--ws-shadow);margin-bottom:18px}.ws-card h3{margin-top:0;margin-bottom:16px}.ws-message{background:#eff6ff;border:1px solid #bfdbfe;color:#1d4ed8;padding:14px 16px;border-radius:14px;margin-bottom:18px}.ws-muted{color:var(--ws-muted)}
.ws-form,.ws-login-card form{display:grid;gap:12px}.ws-form label,.ws-login-card label{font-size:13px;font-weight:700;color:#334155}.ws-form input,.ws-form select,.ws-form textarea,.ws-inline-form input,.ws-login-card input{width:100%;box-sizing:border-box;border:1px solid #cbd5e1;border-radius:14px;padding:12px 14px;background:#fff;color:var(--ws-text)}.ws-form textarea{min-height:96px;resize:vertical}.ws-form button,.ws-login-card button,.ws-inline-form button{background:var(--ws-primary);border:none;color:#fff;border-radius:14px;padding:13px 16px;font-weight:700;cursor:pointer}.ws-form button:hover,.ws-login-card button:hover,.ws-inline-form button:hover{opacity:.94}
.ws-inline-form{display:flex;gap:12px;flex-wrap:wrap;align-items:center}.ws-inline-form input{max-width:320px}
.ws-stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;margin-bottom:18px}.ws-stat-card{background:linear-gradient(180deg,#fff,#f8fbff);border:1px solid var(--ws-border);border-radius:18px;padding:18px 20px;box-shadow:var(--ws-shadow)}.ws-stat-card span{display:block;color:var(--ws-muted);font-size:13px}.ws-stat-card strong{display:block;font-size:34px;margin-top:6px}
.ws-grid-2{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:18px}.ws-cols-2,.ws-cols-3{display:grid;gap:12px}.ws-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.ws-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.ws-badge{display:inline-flex;align-items:center;padding:7px 10px;border-radius:999px;background:#e2e8f0;color:#334155;font-size:12px;font-weight:700}.ws-badge-neutral{background:#e2e8f0;color:#334155}.ws-badge-success{background:#dcfce7;color:#166534}.ws-badge-warning{background:#fef3c7;color:#92400e}.ws-badge-danger{background:#fee2e2;color:#991b1b}.ws-badge-info{background:#dbeafe;color:#1d4ed8}
.ws-table-wrap{overflow:auto}.ws-table{width:100%;border-collapse:separate;border-spacing:0}.ws-table th,.ws-table td{padding:12px 10px;border-bottom:1px solid #e2e8f0;text-align:left;vertical-align:top}.ws-table th{font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--ws-muted);background:#f8fafc}.ws-table tr:hover td{background:#fafcff}.ws-table-action{display:inline-flex;align-items:center;background:#eff6ff;color:#1d4ed8;text-decoration:none;border-radius:10px;padding:8px 10px;font-weight:700;margin-right:6px;margin-bottom:6px}
.ws-calendar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.ws-calendar-header a{text-decoration:none;font-size:22px;color:var(--ws-primary)}.ws-calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:8px}.ws-calendar-cell{min-height:108px;border:1px solid #e2e8f0;border-radius:16px;padding:8px;background:#fff}.ws-calendar-dayname{min-height:auto;background:#f8fafc;font-weight:700;text-align:center}.ws-empty{background:#f8fafc}.ws-calendar-date{font-weight:700;margin-bottom:8px}.ws-calendar-event{color:#fff;border-radius:12px;padding:8px 9px;font-size:12px;line-height:1.35;margin-bottom:6px;box-shadow:0 6px 14px rgba(15,23,42,.14)}.ws-calendar-event small{opacity:.92}.ws-calendar-event span{font-weight:700}.ws-mini-link{color:#fff;text-decoration:underline;font-size:11px}.ws-legend{display:flex;gap:12px;flex-wrap:wrap;margin-top:14px}.ws-legend span{display:inline-flex;align-items:center;gap:6px;font-size:13px}.ws-legend i{display:inline-block;width:12px;height:12px;border-radius:50%}
.ws-vehicle-summary,.ws-history-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}.ws-history-item{border:1px solid #e2e8f0;border-radius:16px;padding:16px;margin-bottom:12px;background:#fcfcfd}.ws-history-header{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:10px}.ws-logout{color:#fff;text-decoration:none;background:rgba(255,255,255,.1);padding:10px 14px;border-radius:12px}
@media(max-width:980px){.ws-auth-shell,.ws-app-shell{grid-template-columns:1fr}.ws-login-card{max-width:none;margin-left:0}.ws-sidebar{position:relative;top:0}.ws-topbar{flex-direction:column;align-items:flex-start}}
@media(max-width:700px){.ws-portal{padding:0 10px}.ws-card{padding:16px}.ws-cols-2,.ws-cols-3{grid-template-columns:1fr}.ws-calendar-grid{gap:4px}.ws-calendar-cell{min-height:84px;padding:6px}.ws-auth-brand h1{font-size:34px}}
