:root{--bg-primary:#0d0d0d;--bg-secondary:#141414;--bg-card:#1a1a1a;--bg-card-hover:#222;--bg-elevated:#2a2a2a;--accent:#ff6b00;--accent-hover:#ff8533;--accent-glow:#ff6b004d;--accent-subtle:#ff6b0014;--blue:#3b82f6;--green:#10b981;--yellow:#f59e0b;--red:#ef4444;--text-primary:#fff;--text-secondary:#a0a0a0;--text-muted:#666;--border:#ffffff0f;--border-hover:#ffffff1f;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--shadow-md:0 4px 24px #0006;--shadow-accent:0 4px 24px var(--accent-glow);--transition-fast:.2s ease;--transition-normal:.3s ease;--font:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;font-family:var(--font);color:var(--text-primary);background-color:var(--bg-primary);-webkit-font-smoothing:antialiased;font-size:16px;line-height:1.6}*,:before,:after{box-sizing:border-box}body{min-height:100vh;font-family:var(--font);background-color:var(--bg-primary);color:var(--text-primary);margin:0}.layout{grid-template-columns:260px 1fr;min-height:100vh;display:grid}.sidebar{background:var(--bg-secondary);border-right:1px solid var(--border);flex-direction:column;gap:20px;padding:24px 16px;display:flex}.brand{flex-direction:column;gap:4px;margin-bottom:8px;text-decoration:none;display:flex}.brand-text{letter-spacing:-.02em;background:linear-gradient(135deg, var(--accent), var(--accent-hover));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:1.25rem;font-weight:800}.brand-sub{text-transform:uppercase;letter-spacing:1px;color:var(--text-muted);font-size:.75rem;font-weight:600}.sidebar nav{flex-direction:column;flex:1;gap:6px;display:flex}.sidebar a{color:var(--text-secondary);border-radius:var(--radius-sm);transition:all var(--transition-fast);padding:10px 14px;font-size:.9375rem;font-weight:500;text-decoration:none}.sidebar a:hover{color:var(--text-primary);background:#ffffff0d}.sidebar a.active{background:var(--accent-subtle);color:var(--accent);border:1px solid #ff6b0033}.main-column{background:var(--bg-primary);flex-direction:column;min-width:0;display:flex;position:relative}.main-column:before{content:"";pointer-events:none;background:radial-gradient(70% 40% at 50% -10%,#ff6b0014 0%,#0000 55%),radial-gradient(50% 30% at 90% 20%,#3b82f60d 0%,#0000 45%);position:absolute;inset:0}.topbar{z-index:1;border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(16px);background:#0d0d0dd9;justify-content:flex-end;align-items:center;gap:12px;padding:14px 28px;display:flex;position:relative}.topbar-email{color:var(--text-secondary);margin-right:auto;font-size:.875rem}.content{z-index:1;flex:1;padding:28px;position:relative}.content section>h1{letter-spacing:-.02em;margin:0 0 8px;font-size:clamp(1.5rem,3vw,2rem);font-weight:800;line-height:1.2}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);transition:border-color var(--transition-fast), box-shadow var(--transition-normal);padding:20px}.card:hover{border-color:var(--border-hover)}.card h3{color:var(--text-secondary);margin:0 0 10px;font-size:.9375rem;font-weight:600}.card strong{color:var(--accent);font-size:1.75rem;font-weight:800}.grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px;display:grid}.grid.two{grid-template-columns:repeat(2,1fr);margin-top:20px}@media (width<=1024px){.grid.two{grid-template-columns:1fr}}.chart-card{min-height:360px}.chart-card h3{color:var(--text-primary);margin-bottom:16px}.recharts-cartesian-grid-horizontal line,.recharts-cartesian-grid-vertical line{stroke:var(--border)}.recharts-text{fill:var(--text-secondary)}.recharts-default-tooltip{background:var(--bg-card)!important;border:1px solid var(--border)!important;border-radius:var(--radius-sm)!important;color:var(--text-primary)!important}.toolbar{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:14px;display:flex}input,select,textarea,button{font:inherit}input,select,textarea{border:1px solid var(--border-hover);border-radius:var(--radius-md);background:var(--bg-secondary);color:var(--text-primary);transition:border-color var(--transition-fast), box-shadow var(--transition-fast);padding:10px 14px}input:focus,select:focus,textarea:focus{box-shadow:0 0 0 3px var(--accent-subtle);border-color:#ff6b0073;outline:none}input::placeholder,textarea::placeholder{color:var(--text-muted)}button{border-radius:var(--radius-md);background:var(--accent);color:#fff;cursor:pointer;transition:all var(--transition-normal);box-shadow:var(--shadow-accent);border:none;padding:10px 20px;font-size:.9375rem;font-weight:600}button:hover:not(:disabled){background:var(--accent-hover);transform:translateY(-1px)}button:disabled{opacity:.5;cursor:not-allowed;transform:none}.danger-btn{color:var(--red);box-shadow:none;background:0 0;border:1px solid #ef444459}.danger-btn:hover:not(:disabled){border-color:var(--red);color:#f87171;background:#ef44441f}.secondary-btn{color:var(--text-primary);border:1px solid var(--border-hover);box-shadow:none;background:0 0}.secondary-btn:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}a.secondary-btn{border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-normal);padding:10px 20px;font-size:.9375rem;font-weight:600;text-decoration:none;display:inline-block}a.table-action-link{padding:8px 14px;font-size:.875rem}.table-wrapper{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);overflow-x:auto}table{border-collapse:collapse;width:100%}thead th{text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);background:#00000040;font-size:.75rem;font-weight:600}th,td{border-bottom:1px solid var(--border);text-align:left;padding:12px 14px}tbody tr:hover{background:#ffffff08}.status-box{border-radius:var(--radius-md);color:var(--text-secondary);background:#f59e0b14;border:1px solid #f59e0b40;margin-top:12px;padding:14px 16px}.status-box strong{color:var(--yellow);margin-bottom:4px;font-weight:600;display:block}.status-box p{margin:0;font-size:.875rem}.status-box--error{background:#ef444414;border-color:#ef44444d}.status-box--error strong{color:var(--red)}.login-wrapper{place-items:center;min-height:100vh;padding:24px;display:grid;position:relative;overflow:hidden}.login-wrapper:before{content:"";pointer-events:none;background:radial-gradient(80% 50% at 50% -20%,#ff6b001f 0%,#0000 60%),radial-gradient(60% 40% at 80%,#3b82f60f 0%,#0000 50%);position:absolute;inset:0}.login-wrapper .card{z-index:1;width:min(420px,100%);box-shadow:var(--shadow-md);position:relative}.login-wrapper .card h1{letter-spacing:-.02em;margin:0 0 8px;font-size:1.5rem;font-weight:800}.login-badge{background:var(--accent-subtle);color:var(--accent);text-transform:uppercase;letter-spacing:.5px;border:1px solid #ff6b0033;border-radius:100px;align-items:center;gap:8px;margin-bottom:16px;padding:6px 14px;font-size:.75rem;font-weight:600;display:inline-flex}.login-wrapper label{color:var(--text-secondary);margin-top:14px;margin-bottom:6px;font-size:.8125rem;font-weight:500;display:block}.login-wrapper label:first-of-type{margin-top:0}.login-page-app{background-color:#1c1c1c;justify-content:center;align-items:center;min-height:100vh;padding:24px 24px 40px;display:flex}.login-form-app{flex-direction:column;align-items:stretch;width:100%;max-width:400px;display:flex}.login-brand-row{flex-direction:row;justify-content:center;align-items:center;gap:10px;margin-bottom:10px;display:flex}.login-brand-logo{object-fit:cover;border-radius:12px;flex-shrink:0;width:56px;height:56px}.login-brand-name{color:#f2f2f2;letter-spacing:1px;font-size:clamp(1.625rem,6vw,2.125rem);font-weight:800;line-height:1}.login-tagline{color:#9e9e9e;letter-spacing:1.1px;text-align:center;margin:0 0 6px;font-size:1rem}.login-admin-hint{text-align:center;color:#ffffff61;letter-spacing:.06em;margin:0 0 28px;font-size:.8125rem}.login-field{width:100%;margin-bottom:16px}.login-field label{color:#bdbdbd;margin-bottom:8px;font-size:.875rem;display:block}.login-form-app .login-field input{color:#fff;background-color:#222;border:1px solid #ffffff24;border-radius:8px;width:100%;padding:14px 16px;font-size:1rem}.login-form-app .login-field input:focus{border-color:#ff6b00;outline:none;box-shadow:0 0 0 1px #ff6b00}.login-submit-app{width:100%;height:50px;box-shadow:none;background-color:#ff6b00;border-radius:8px;margin-top:20px;font-size:1.125rem;font-weight:700}.login-submit-app:hover:not(:disabled){background-color:#ff8533;transform:none}.login-form-app .status-box{margin-top:18px}.muted{color:var(--text-secondary);font-size:.875rem;line-height:1.6;display:block}.cell-truncate{text-overflow:ellipsis;white-space:nowrap;max-width:220px;overflow:hidden}.section-title{color:var(--text-primary);margin-top:28px;margin-bottom:12px;font-size:1rem;font-weight:700}.form-stack{flex-direction:column;gap:12px;margin-bottom:16px;display:flex}.form-stack label{color:var(--text-secondary);flex-direction:column;gap:6px;font-size:.875rem;display:flex}.checkbox-row{align-items:center;flex-direction:row!important;gap:10px!important}.toolbar.wrap{flex-wrap:wrap;align-items:flex-end}.inline-label{color:var(--text-secondary);flex-direction:column;gap:4px;font-size:.8125rem;display:flex}.modal-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:50;background:#000000bf;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.modal-card{width:100%;max-width:560px;max-height:80vh;overflow:auto;box-shadow:0 8px 48px #00000080}.modal-card h3{margin-top:0;font-size:1.125rem;font-weight:700}.feedback-full{white-space:pre-wrap;word-break:break-word;color:var(--text-secondary);margin:16px 0;line-height:1.6}.user-detail-page{max-width:920px}.user-detail-toolbar{margin-bottom:20px}.user-detail-loading{margin:32px 0;font-size:1rem}.user-detail-hero{box-shadow:var(--shadow-md);border-color:#ff6b001f;flex-wrap:wrap;align-items:center;gap:clamp(20px,4vw,28px);margin-bottom:24px;padding:clamp(20px,3vw,32px);display:flex}.user-detail-hero:hover{border-color:#ff6b0033}.user-detail-avatar{background:linear-gradient(145deg, var(--bg-elevated) 0%, var(--bg-secondary) 100%);width:clamp(72px,12vw,96px);height:clamp(72px,12vw,96px);box-shadow:0 0 0 4px var(--accent-subtle), var(--shadow-md);color:var(--accent);letter-spacing:.04em;border:2px solid #ff6b0066;border-radius:50%;flex-shrink:0;place-items:center;font-size:clamp(1.35rem,3vw,1.85rem);font-weight:800;display:grid}.user-detail-hero-main{flex:1;min-width:0}.user-detail-eyebrow{text-transform:uppercase;letter-spacing:.12em;color:var(--text-muted);margin-bottom:8px;font-size:.6875rem;font-weight:700;display:block}.user-detail-hero-title-row{flex-wrap:wrap;align-items:center;gap:12px 16px;margin-bottom:10px;display:flex}.user-detail-page h1.user-detail-name{letter-spacing:-.03em;color:var(--text-primary);margin:0;font-size:clamp(1.65rem,4vw,2.25rem);font-weight:800;line-height:1.15}.user-detail-badge{text-transform:uppercase;letter-spacing:.06em;color:var(--accent);background:var(--accent-subtle);border:1px solid #ff6b0040;border-radius:999px;align-items:center;padding:4px 12px;font-size:.75rem;font-weight:700;display:inline-flex}.user-detail-meta{color:var(--text-secondary);margin:0;font-size:.9375rem;line-height:1.5}.user-detail-meta-email{color:var(--text-primary);font-weight:500}.user-detail-meta-sep{color:var(--text-muted);margin:0 .35em}.user-detail-stats{grid-template-columns:repeat(auto-fill,minmax(148px,1fr));gap:14px;margin-bottom:28px;display:grid}.user-detail-stat{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);transition:border-color var(--transition-fast), box-shadow var(--transition-fast);flex-direction:column;gap:8px;padding:18px 16px;display:flex}.user-detail-stat:hover{border-color:var(--border-hover);box-shadow:0 2px 16px #0003}.user-detail-stat-label{text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);font-size:.6875rem;font-weight:700}.user-detail-stat-value{color:var(--accent);font-variant-numeric:tabular-nums;font-size:1.875rem;font-weight:800;line-height:1}.user-detail-panels{flex-direction:column;gap:22px;display:flex}.user-detail-panel{padding:clamp(22px,3vw,28px)}.user-detail-panel-title{color:var(--text-primary);margin:0 0 8px;font-size:1.0625rem;font-weight:700}.user-detail-panel-title--danger{color:#f87171}.user-detail-panel-desc{max-width:52ch;margin:0 0 20px;font-size:.9375rem;line-height:1.55}.user-detail-panel--secondary{border-color:#ffffff14}.user-detail-panel--danger{background:linear-gradient(180deg, #ef44440a 0%, var(--bg-card) 48%);border-color:#ef444438}.user-detail-form{gap:20px;margin-bottom:0}.user-detail-form label{gap:8px}.user-detail-primary-action{margin-top:8px;padding-top:8px}.user-detail-wide-btn{justify-content:center;align-items:center;width:100%;max-width:320px;display:inline-flex}.banners-lead{max-width:60ch;margin-top:-8px;margin-bottom:24px}.banners-preview-block{margin-bottom:24px;padding:clamp(22px,3vw,28px)}.banners-preview-block .user-detail-panel-title{margin-top:4px}.banners-preview-row{flex-wrap:wrap;gap:16px;margin-top:16px;display:flex}.banners-preview-item{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-md);flex:0 200px;min-width:140px;max-width:240px;margin:0;overflow:hidden}.banners-preview-img{aspect-ratio:16/9;object-fit:cover;background:var(--bg-primary);width:100%;display:block}.banners-preview-caption{flex-direction:column;gap:4px;padding:10px 12px;font-size:.8125rem;display:flex}.banners-preview-type{color:var(--accent);text-transform:uppercase;letter-spacing:.06em;font-size:.6875rem;font-weight:700}.banners-preview-value{color:var(--text-secondary);word-break:break-word}.banners-toolbar{flex-wrap:wrap;margin-bottom:20px}.banners-create-form{margin-bottom:28px;padding:clamp(22px,3vw,28px)}.banners-list-intro{margin-bottom:16px;padding:18px 20px}.banners-list-intro .user-detail-panel-title{margin-bottom:6px}.banners-table-value{text-overflow:ellipsis;max-width:220px;overflow:hidden}.user-detail-hero.banners-detail-hero{align-items:stretch}.banners-detail-thumb-wrap{border-radius:var(--radius-md);border:1px solid var(--border);background:var(--bg-secondary);flex-shrink:0;width:clamp(160px,28vw,220px);overflow:hidden}.banners-detail-thumb{object-fit:cover;width:100%;height:100%;min-height:100px;display:block}.banners-inactive-label{font-size:.875rem;font-weight:600}.vehicles-admin-lead{max-width:65ch;margin-top:-8px;margin-bottom:20px}.vehicles-admin-email{text-overflow:ellipsis;white-space:nowrap;max-width:200px;overflow:hidden}.user-detail-badge--muted{color:var(--text-secondary);background:var(--bg-elevated);border-color:var(--border)}.user-detail-hero.vehicle-detail-hero{align-items:stretch}.vehicle-detail-thumb-wrap{border-radius:var(--radius-md);border:1px solid var(--border);background:var(--bg-secondary);flex-shrink:0;width:clamp(140px,24vw,200px);min-height:100px;overflow:hidden}.vehicle-detail-thumb{object-fit:cover;width:100%;height:100%;min-height:120px;display:block}.vehicle-detail-thumb-placeholder{place-items:center;min-height:120px;display:grid}.vehicle-detail-thumb-initial{color:var(--accent);opacity:.85;font-size:2.5rem;font-weight:800}.vehicle-detail-last-odo{margin:0 0 22px;font-size:.9375rem}.vehicle-detail-dl{grid-template-columns:minmax(140px,200px) 1fr;gap:10px 20px;margin:0;font-size:.9375rem;display:grid}.vehicle-detail-dl dt{color:var(--text-muted);margin:0;font-weight:600}.vehicle-detail-dl dd{color:var(--text-primary);word-break:break-word;margin:0}@media (width<=900px){.layout{grid-template-columns:1fr}.sidebar{border-right:none;border-bottom:1px solid var(--border);flex-flow:wrap;align-items:center;padding:16px}.brand{flex:1;min-width:140px;margin-bottom:0}.sidebar nav{flex-flow:wrap;flex:none;width:100%}.sidebar .danger-btn{width:auto;margin-left:auto}}
