:root{
  --primary:#2563eb; --primary-2:#06b6d4; --ink:#0f172a; --muted:#64748b; --soft:#f7fbff;
  --line:#e5eef8; --card:#ffffff; --good:#16a34a; --warn:#d97706; --bad:#dc2626; --blue:#2563eb;
  --shadow:0 18px 50px rgba(15, 23, 42, .08); --shadow-soft:0 10px 28px rgba(15, 23, 42, .06);
  --radius:24px;
}
*{box-sizing:border-box} html{scroll-behavior:smooth} body{margin:0;font-family:Inter, ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;background:linear-gradient(135deg,#f8fbff 0%,#eef7ff 45%,#f9fbff 100%);color:var(--ink);min-height:100vh} a{text-decoration:none;color:inherit} button,input,select,textarea{font:inherit}.app-shell{min-height:100vh}.sidebar{position:fixed;inset:18px auto 18px 18px;width:292px;background:rgba(255,255,255,.92);border:1px solid rgba(226,238,249,.95);border-radius:30px;box-shadow:var(--shadow);backdrop-filter:blur(16px);padding:18px;z-index:20;display:flex;flex-direction:column;gap:16px}.brand-panel{display:flex;align-items:center;gap:12px;padding:10px 8px 16px;border-bottom:1px solid var(--line)}.brand-logo{width:52px;height:52px;border-radius:18px;background:linear-gradient(135deg,var(--primary),var(--primary-2));display:grid;place-items:center;color:#fff;font-weight:900;letter-spacing:.8px;box-shadow:0 12px 25px rgba(37,99,235,.23)}.brand-name{font-weight:900;font-size:17px;line-height:1.2}.brand-sub{font-size:12px;color:var(--muted);margin-top:2px}.side-nav{display:flex;flex-direction:column;gap:6px;overflow:auto;padding-right:2px}.nav-item{display:flex;align-items:center;gap:12px;padding:12px 13px;border-radius:17px;color:#334155;transition:.18s ease;border:1px solid transparent}.nav-item span{width:31px;height:31px;border-radius:12px;display:grid;place-items:center;background:#f1f7ff;color:var(--primary);font-weight:900}.nav-item b{font-size:14px}.nav-item:hover{background:#f8fbff;border-color:#e8f2ff;transform:translateX(2px)}.nav-item.active{background:linear-gradient(135deg,rgba(37,99,235,.12),rgba(6,182,212,.10));color:#0f3d9e;border-color:rgba(37,99,235,.16)}.side-card{margin-top:auto;background:linear-gradient(135deg,#f8fbff,#eef8ff);border:1px solid var(--line);padding:14px;border-radius:22px;font-size:13px}.side-card p{margin:5px 0 0;color:var(--muted);line-height:1.35}.small-label,.crumb{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:#7a8ca7;font-weight:800}.content{margin-left:328px;padding:18px 26px 28px}.topbar{position:sticky;top:12px;z-index:10;background:rgba(255,255,255,.80);backdrop-filter:blur(18px);border:1px solid rgba(226,238,249,.95);border-radius:28px;box-shadow:var(--shadow-soft);padding:16px 18px;display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:20px}.topbar h1{margin:2px 0 0;font-size:26px;letter-spacing:-.025em}.top-actions{display:flex;align-items:center;gap:10px}.pill-link,.icon-btn,.logout-link{border:1px solid var(--line);background:#fff;border-radius:999px;padding:10px 14px;color:#334155;font-weight:800;box-shadow:0 8px 18px rgba(15,23,42,.04)}.pill-link.primary{background:linear-gradient(135deg,var(--primary),#0ea5e9);color:#fff;border-color:transparent}.logout-link{font-size:13px}.icon-btn{width:44px;height:44px;padding:0;display:grid;place-items:center}.user-chip{display:flex;align-items:center;gap:9px;background:#fff;border:1px solid var(--line);border-radius:999px;padding:7px 12px 7px 7px}.user-chip span{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#eef7ff;color:var(--primary);font-weight:900}.user-chip b{display:block;font-size:13px}.user-chip small{display:block;color:var(--muted);font-size:11px;text-transform:capitalize}.mobile-only{display:none}.overlay{display:none}.alert{border-radius:18px;padding:13px 16px;margin-bottom:16px;font-weight:800;border:1px solid #bbf7d0;background:#f0fdf4;color:#166534}.alert.error{border-color:#fecaca;background:#fef2f2;color:#991b1b}.hero{background:linear-gradient(135deg,rgba(37,99,235,.98),rgba(14,165,233,.88));color:#fff;border-radius:32px;padding:26px;box-shadow:0 24px 70px rgba(37,99,235,.20);position:relative;overflow:hidden;margin-bottom:20px}.hero:after{content:"";position:absolute;right:-120px;top:-120px;width:340px;height:340px;border-radius:50%;background:rgba(255,255,255,.16)}.hero h2{font-size:30px;margin:0 0 8px;letter-spacing:-.04em}.hero p{margin:0;color:rgba(255,255,255,.86);max-width:760px}.hero .hero-actions{display:flex;gap:10px;margin-top:18px;flex-wrap:wrap}.white-btn{background:#fff;color:#0f3d9e;border:0;border-radius:16px;padding:11px 15px;font-weight:900}.ghost-btn{background:rgba(255,255,255,.14);color:#fff;border:1px solid rgba(255,255,255,.25);border-radius:16px;padding:11px 15px;font-weight:900}.kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:20px}.kpi-card{background:rgba(255,255,255,.92);border:1px solid var(--line);border-radius:24px;padding:18px;box-shadow:var(--shadow-soft);position:relative;overflow:hidden}.kpi-card:after{content:"";position:absolute;right:-20px;bottom:-28px;width:92px;height:92px;border-radius:50%;background:linear-gradient(135deg,rgba(37,99,235,.10),rgba(6,182,212,.08))}.kpi-card .label{color:var(--muted);font-weight:800;font-size:13px}.kpi-card .value{font-size:28px;font-weight:950;letter-spacing:-.04em;margin-top:8px}.kpi-card .hint{font-size:12px;color:var(--muted);margin-top:6px}.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;margin:18px 0 12px}.section-head h2{margin:0;font-size:21px;letter-spacing:-.02em}.section-head p{margin:4px 0 0;color:var(--muted);font-size:13px}.card,.premium-card,.form-panel,.table-panel{background:rgba(255,255,255,.94);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-soft)}.form-panel{padding:18px;margin-bottom:18px}.form-title{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:14px}.form-title h3{margin:0;font-size:18px}.form-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}.form-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.field label{display:block;font-size:12px;color:#40506b;font-weight:900;margin-bottom:7px}.field input,.field select,.field textarea{width:100%;border:1px solid #dbe7f3;border-radius:15px;background:#fbfdff;padding:12px 13px;outline:none;transition:.16s ease;min-height:45px}.field textarea{min-height:90px;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{border-color:rgba(37,99,235,.7);box-shadow:0 0 0 4px rgba(37,99,235,.09);background:#fff}.actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:14px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:15px;background:linear-gradient(135deg,var(--primary),#0ea5e9);color:#fff;font-weight:950;padding:11px 15px;cursor:pointer;box-shadow:0 12px 26px rgba(37,99,235,.16)}.btn.secondary{background:#eff6ff;color:#1d4ed8;box-shadow:none;border:1px solid #dbeafe}.btn.gray{background:#f8fafc;color:#334155;box-shadow:none;border:1px solid var(--line)}.btn.danger{background:#ef4444}.btn.success{background:#16a34a}.btn.small{padding:8px 11px;border-radius:12px;font-size:12px}.vehicle-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.vehicle-card{background:rgba(255,255,255,.96);border:1px solid var(--line);border-radius:28px;box-shadow:var(--shadow-soft);padding:16px;overflow:hidden;position:relative}.vehicle-card:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 90% 0%,rgba(14,165,233,.15),transparent 34%);pointer-events:none}.vehicle-top{display:flex;justify-content:space-between;align-items:start;gap:10px;position:relative}.car-art{height:142px;border-radius:24px;background:linear-gradient(135deg,#eef7ff,#ffffff);border:1px solid #e5f0fb;margin:14px 0;display:grid;place-items:center;position:relative;overflow:hidden}.car-art .plate{position:absolute;left:16px;top:16px;background:#fff;border:1px solid var(--line);border-radius:999px;padding:7px 10px;font-weight:950;font-size:13px}.car-shape{width:210px;max-width:80%;height:82px;position:relative}.car-shape:before{content:"";position:absolute;left:14px;right:14px;bottom:18px;height:36px;background:linear-gradient(135deg,var(--primary),#0ea5e9);border-radius:28px 36px 18px 18px;box-shadow:0 18px 36px rgba(37,99,235,.16)}.car-shape:after{content:"";position:absolute;left:55px;right:55px;bottom:49px;height:30px;background:linear-gradient(135deg,#dff3ff,#fff);border:7px solid var(--primary);border-bottom:0;border-radius:38px 38px 0 0}.wheel{position:absolute;bottom:6px;width:28px;height:28px;border-radius:50%;background:#0f172a;border:6px solid #cbd5e1}.wheel.left{left:38px}.wheel.right{right:38px}.vehicle-title{font-size:19px;font-weight:950;letter-spacing:-.02em}.vehicle-meta{font-size:13px;color:var(--muted);margin-top:3px}.status-badge{display:inline-flex;align-items:center;gap:6px;padding:7px 10px;border-radius:999px;font-size:12px;font-weight:950;background:#e2e8f0;color:#334155;text-transform:capitalize}.status-badge.available,.status-badge.closed,.status-badge.completed,.status-badge.returned{background:#dcfce7;color:#166534}.status-badge.on_rent,.status-badge.converted{background:#dbeafe;color:#1d4ed8}.status-badge.booked,.status-badge.confirmed,.status-badge.reserved,.status-badge.maintenance,.status-badge.pending{background:#fef3c7;color:#92400e}.status-badge.accident,.status-badge.overdue,.status-badge.cancelled,.status-badge.inactive,.status-badge.blacklisted{background:#fee2e2;color:#991b1b}.vehicle-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.mini-stat{background:#f8fbff;border:1px solid #e5f0fb;border-radius:18px;padding:10px}.mini-stat small{display:block;color:var(--muted);font-weight:800}.mini-stat b{display:block;margin-top:4px}.progress{height:8px;background:#e5effa;border-radius:99px;overflow:hidden;margin-top:9px}.progress span{display:block;height:100%;background:linear-gradient(90deg,var(--primary),#06b6d4);border-radius:99px}.split{display:grid;grid-template-columns:1.25fr .75fr;gap:16px}.table-panel{overflow:auto}.table-panel table{width:100%;border-collapse:collapse;min-width:760px}.table-panel th,.table-panel td{padding:13px 14px;border-bottom:1px solid var(--line);text-align:left;font-size:14px;vertical-align:top}.table-panel th{background:#f8fbff;color:#43516a;font-size:12px;text-transform:uppercase;letter-spacing:.05em}.table-panel tr:hover td{background:#fbfdff}.list-card{padding:16px}.timeline{display:grid;gap:10px}.timeline-item{display:grid;grid-template-columns:112px 1fr auto;gap:12px;align-items:center;padding:13px;border:1px solid var(--line);border-radius:18px;background:#fff}.timeline-date{font-weight:950;color:#0f3d9e}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}.day-card{min-height:92px;border:1px solid var(--line);border-radius:18px;background:#fff;padding:10px}.day-card b{font-size:13px}.day-pill{display:block;margin-top:5px;background:#eff6ff;color:#1d4ed8;border-radius:999px;padding:5px 8px;font-size:11px;font-weight:900;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.report-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.footer-note{text-align:center;color:var(--muted);font-size:12px;padding:24px 0 8px}.login-page{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at top left,rgba(37,99,235,.18),transparent 33%),linear-gradient(135deg,#f8fbff,#eef7ff)}.login-card{width:min(980px,100%);display:grid;grid-template-columns:1.08fr .92fr;gap:0;background:rgba(255,255,255,.92);border:1px solid var(--line);border-radius:34px;box-shadow:0 28px 90px rgba(15,23,42,.10);overflow:hidden}.login-art{background:linear-gradient(135deg,var(--primary),#06b6d4);color:#fff;padding:38px;position:relative;overflow:hidden}.login-art:after{content:"";position:absolute;right:-100px;bottom:-100px;width:320px;height:320px;border-radius:50%;background:rgba(255,255,255,.15)}.login-art h1{font-size:34px;line-height:1.05;margin:12px 0;letter-spacing:-.045em}.login-art p{color:rgba(255,255,255,.84);font-weight:600}.login-form{padding:38px}.login-form h2{margin:0 0 6px;font-size:28px;letter-spacing:-.03em}.login-form p{margin:0 0 24px;color:var(--muted)}.login-logo{width:58px;height:58px;border-radius:20px;display:grid;place-items:center;background:#fff;color:var(--primary);font-weight:950;font-size:20px}.print-page{background:#fff}.print-wrap{max-width:920px;margin:24px auto;background:#fff;color:#111;border:1px solid #ddd;padding:32px}.print-head{display:flex;justify-content:space-between;border-bottom:2px solid #111;padding-bottom:16px;margin-bottom:18px}.print-head h1{margin:0}.print-table{width:100%;border-collapse:collapse;margin-top:14px}.print-table th,.print-table td{border:1px solid #ddd;padding:8px;text-align:left}.signature-line{border-top:1px solid #111;margin-top:48px;padding-top:8px;text-align:center}.compact{font-size:13px;color:var(--muted)}@media print{body{background:#fff}.sidebar,.topbar,.footer-note,.no-print{display:none!important}.content{margin:0;padding:0}.print-wrap{border:0;margin:0;max-width:none;box-shadow:none}.app-shell{display:block}.table-panel,.card,.premium-card,.form-panel{box-shadow:none}}
@media(max-width:1180px){.vehicle-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.split,.report-grid{grid-template-columns:1fr}}
@media(max-width:860px){.mobile-only{display:grid}.sidebar{inset:0 auto 0 0;border-radius:0;width:min(86vw,320px);transform:translateX(-105%);transition:.22s ease}.sidebar.open{transform:translateX(0)}.overlay.show{display:block;position:fixed;inset:0;background:rgba(15,23,42,.35);z-index:15}.content{margin-left:0;padding:10px 10px 22px}.topbar{top:8px;border-radius:22px;padding:12px;margin-bottom:14px}.topbar h1{font-size:19px}.crumb{font-size:10px}.top-actions .pill-link,.top-actions .logout-link{display:none}.user-chip{padding:6px}.user-chip div{display:none}.hero{border-radius:24px;padding:20px}.hero h2{font-size:24px}.vehicle-grid,.kpi-grid,.form-grid,.form-grid.two,.calendar-grid{grid-template-columns:1fr}.timeline-item{grid-template-columns:1fr}.login-card{grid-template-columns:1fr}.login-art{display:none}.login-form{padding:26px}.section-head{align-items:flex-start;flex-direction:column}.vehicle-stats{grid-template-columns:1fr 1fr}.table-panel table{min-width:680px}}
@media(max-width:480px){.vehicle-stats{grid-template-columns:1fr}.kpi-card .value{font-size:24px}.form-panel{padding:14px}.car-art{height:120px}.topbar{gap:8px}.content{padding-left:8px;padding-right:8px}.btn{width:100%}.actions .btn{width:auto}.hero-actions .white-btn,.hero-actions .ghost-btn{width:100%;text-align:center}.print-wrap{padding:16px}}

/* =========================
   Subscription UI
   ========================= */
.subscription-top-btn{
  cursor:pointer;
  background:#111827;
  color:#fff;
  border-color:#111827;
}
.sub-inline-warning{
  margin:-6px 0 16px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  border:1px solid #fed7aa;
  background:#fff7ed;
  color:#7c2d12;
  padding:10px 13px;
  border-radius:18px;
  font-weight:900;
  box-shadow:0 10px 24px rgba(249,115,22,.10);
}
.sub-inline-warning.blocked{border-color:#fecaca;background:#fee2e2;color:#7f1d1d}.sub-inline-warning.safe{border-color:#bbf7d0;background:#ecfdf5;color:#14532d}.sub-warning-message{display:flex;align-items:center;gap:8px;min-width:0}.sub-warning-message span{overflow:hidden;text-overflow:ellipsis}.sub-inline-warning button{border:0;background:#ea580c;color:#fff;border-radius:999px;padding:8px 13px;font-weight:950;cursor:pointer;white-space:nowrap}.sub-inline-warning.blocked button{background:#ef4444}.sub-inline-warning.safe button{background:#16a34a}
.subscription-modal{position:fixed;inset:0;z-index:9999;display:none;align-items:center;justify-content:center;padding:18px}.subscription-modal.show{display:flex}.subscription-backdrop{position:absolute;inset:0;background:rgba(15,23,42,.55);backdrop-filter:blur(4px)}.subscription-dialog{position:relative;width:min(980px,96vw);max-height:90vh;background:#f8fbff;border:1px solid rgba(226,238,249,.95);border-radius:28px;box-shadow:0 30px 90px rgba(15,23,42,.35);overflow:hidden;display:flex;flex-direction:column}.subscription-head{background:linear-gradient(135deg,#0f172a,#111827);color:#fff;padding:17px 19px;display:flex;align-items:center;justify-content:space-between;gap:12px}.subscription-head h2{margin:2px 0 0;font-size:22px;letter-spacing:-.03em}.subscription-head .small-label{color:#cbd5e1}.sub-close-btn{width:40px;height:40px;border-radius:50%;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.10);color:#fff;font-size:27px;line-height:1;cursor:pointer}.subscription-body{padding:16px;overflow:auto;display:grid;grid-template-columns:.95fr 1.05fr;gap:14px}.sub-bank-card,.sub-month-card,.sub-pay-card{background:#fff;border:1px solid var(--line);border-radius:22px;padding:16px;box-shadow:var(--shadow-soft)}.sub-bank-card h3,.sub-month-card h3,.sub-pay-card h3{margin:0 0 10px;font-size:18px}.sub-bank-grid{display:grid;gap:9px}.sub-bank-grid div{background:#f8fbff;border:1px solid var(--line);border-radius:15px;padding:10px}.sub-bank-grid span{display:block;color:var(--muted);font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.04em}.sub-bank-grid b{display:block;margin-top:3px}.sub-section-title{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.sub-section-title small{color:var(--muted);font-weight:800}.sub-months-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;max-height:270px;overflow:auto;padding-right:2px}.sub-month-item,.sub-empty{background:#f9fbff;border:1px solid var(--line);border-radius:18px;padding:12px}.sub-month-item.selected{border-color:var(--primary);box-shadow:0 10px 26px rgba(37,99,235,.16);background:#fff}.sub-month-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.sub-month-title{font-weight:950}.sub-month-amount{color:var(--muted);font-size:13px;margin-top:3px}.sub-badge{font-size:11px;font-weight:950;border-radius:999px;padding:5px 8px;white-space:nowrap;background:#e0e7ff;color:#3730a3}.sub-badge.pending{background:#ffedd5;color:#7c2d12}.sub-badge.overdue{background:#fee2e2;color:#7f1d1d}.sub-select-btn{width:100%;margin-top:10px;border:0;background:#111827;color:#fff;border-radius:13px;padding:9px 10px;font-weight:950;cursor:pointer}.sub-select-btn:disabled{opacity:.48;cursor:not-allowed}.sub-pay-card{grid-column:1/-1}.sub-pay-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.subscription-modal .field input{background:#fbfdff}.text-success{color:#166534}.text-danger{color:#991b1b}.fw-bold{font-weight:900}
.blocked-page{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at top left,rgba(239,68,68,.12),transparent 34%),linear-gradient(135deg,#fff7ed,#f8fbff)}.blocked-card{width:min(900px,100%);background:rgba(255,255,255,.95);border:1px solid var(--line);border-radius:32px;box-shadow:0 28px 90px rgba(15,23,42,.12);padding:26px}.blocked-card h1{font-size:34px;letter-spacing:-.04em;margin:5px 0 8px}.blocked-icon{width:70px;height:70px;border-radius:24px;display:grid;place-items:center;background:#fee2e2;color:#991b1b;font-size:32px;font-weight:950}.blocked-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}
@media(max-width:860px){.subscription-top-btn{display:inline-flex!important}.sub-inline-warning{align-items:flex-start;flex-direction:column}.subscription-body{grid-template-columns:1fr}.sub-months-grid,.sub-pay-grid{grid-template-columns:1fr}.subscription-dialog{width:96vw;max-height:92vh}.top-actions .subscription-top-btn{display:inline-flex}.top-actions{gap:6px}.sub-inline-warning button{width:100%}}
@media(max-width:480px){.subscription-modal{padding:8px}.subscription-head{padding:14px}.subscription-body{padding:10px}.sub-bank-card,.sub-month-card,.sub-pay-card{padding:13px}.sub-inline-warning{font-size:13px}}

/* Client-ready professional sizing refinements */
:root{
  --radius:20px;
  --shadow:0 14px 36px rgba(15,23,42,.075);
  --shadow-soft:0 8px 22px rgba(15,23,42,.055);
}
.sidebar{border-radius:24px;padding:15px;width:282px}.content{margin-left:318px}.brand-logo{width:46px;height:46px;border-radius:15px}.nav-item{padding:10px 11px;border-radius:14px}.nav-item span{width:28px;height:28px;border-radius:10px}.topbar{border-radius:22px;padding:13px 15px}.topbar h1{font-size:23px}.hero{border-radius:26px;padding:22px}.hero h2{font-size:27px}.form-panel{padding:16px}.form-grid{gap:11px}.field label{font-size:11.5px;margin-bottom:5px}.field input,.field select,.field textarea{border-radius:12px;padding:9px 11px;min-height:39px;font-size:14px}.field textarea{min-height:76px}.btn{border-radius:12px;padding:9px 13px;font-size:14px}.btn.small{padding:7px 10px;border-radius:10px;font-size:12px}.vehicle-card{border-radius:22px;padding:14px}.car-art{height:128px;border-radius:18px;margin:12px 0}.vehicle-title{font-size:17px}.vehicle-meta{font-size:12.5px}.mini-stat{border-radius:14px;padding:8px}.kpi-card{border-radius:20px;padding:15px}.kpi-card .value{font-size:25px}.vehicle-card-img{width:100%;height:100%;object-fit:cover;display:block;border-radius:18px}.car-art .overlay-plate{background:rgba(255,255,255,.92);box-shadow:0 8px 18px rgba(15,23,42,.12)}.deposit-property[style*="display: none"],.deposit-cash[style*="display: none"]{display:none!important}.footer-note{font-size:11px;color:#7a8ca7}.subscription-dialog{border-radius:22px}.subscription-head h2{font-size:19px}.subscription-body{gap:12px}.sub-bank-card,.sub-month-card,.sub-pay-card{border-radius:18px;padding:14px}
@media(max-width:860px){.content{margin-left:0}.sidebar{width:min(86vw,310px)}}

/* Final client UI updates */
.subscription-top-btn{
  width:38px!important;
  min-width:38px!important;
  height:38px!important;
  padding:0!important;
  border-radius:999px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  font-size:17px!important;
  line-height:1!important;
}
@media(max-width:860px){
  .top-actions .subscription-top-btn{
    width:34px!important;
    min-width:34px!important;
    height:34px!important;
    font-size:15px!important;
    padding:0!important;
  }
}
.calendar-toolbar{align-items:center}.calendar-board{background:#fff;border:1px solid var(--line);border-radius:22px;padding:14px;box-shadow:var(--shadow-soft);overflow:hidden}.calendar-weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;margin-bottom:8px}.calendar-weekdays span{text-align:center;font-size:12px;font-weight:950;color:#64748b;background:#f8fbff;border:1px solid var(--line);border-radius:12px;padding:8px}.calendar-month-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:8px}.calendar-day{min-height:126px;border:1px solid #e5edf7;background:#fbfdff;border-radius:16px;padding:9px;display:flex;flex-direction:column;gap:8px}.calendar-day.today{border-color:var(--primary);box-shadow:0 0 0 3px rgba(37,99,235,.10);background:#fff}.calendar-day.is-empty{background:transparent;border:0;box-shadow:none}.calendar-day-number{display:flex;align-items:center;justify-content:space-between;gap:8px}.calendar-day-number b{font-size:16px;color:#0f172a}.calendar-day-number small{font-size:11px;color:#94a3b8;font-weight:900}.calendar-events{display:flex;flex-direction:column;gap:5px;min-width:0}.calendar-event{display:block;text-decoration:none;border-radius:10px;padding:6px 7px;background:#eef2ff;color:#1e1b4b;border:1px solid #dbe3ff;font-size:11.5px;line-height:1.15;overflow:hidden}.calendar-event b,.calendar-event span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.calendar-event.confirmed{background:#ecfdf5;color:#14532d;border-color:#bbf7d0}.calendar-event.reserved{background:#fff7ed;color:#7c2d12;border-color:#fed7aa}.calendar-event.cancelled{background:#fee2e2;color:#7f1d1d;border-color:#fecaca}.calendar-event.converted,.calendar-event.completed{background:#e0f2fe;color:#075985;border-color:#bae6fd}.calendar-more{font-size:11px;font-weight:950;color:#64748b;background:#f1f5f9;border-radius:999px;padding:5px 8px;text-align:center}
@media(max-width:900px){.calendar-board{overflow-x:auto}.calendar-weekdays,.calendar-month-grid{min-width:760px}.calendar-day{min-height:116px}}


/* V3 final calendar + subscription icon + delete actions */
.subscription-top-btn img{width:22px;height:22px;object-fit:contain;display:block}
.sub-warning-crown{width:18px;height:18px;object-fit:contain;flex:0 0 auto}
@media(max-width:860px){.subscription-top-btn img{width:19px;height:19px}}
.delete-inline{display:inline-flex;margin:0}.btn.danger.secondary-danger{background:#fff1f2;color:#be123c;border:1px solid #fecdd3;box-shadow:none}.btn.danger.secondary-danger:hover{background:#ffe4e6}
.rg-calendar-card{background:#fff;border:1px solid var(--line);border-radius:22px;padding:14px;box-shadow:var(--shadow-soft);overflow-x:auto}
.rg-cal-weekdays,.rg-cal-grid{display:grid!important;grid-template-columns:repeat(7,minmax(112px,1fr))!important;gap:8px!important;min-width:820px!important}
.rg-cal-weekdays{margin-bottom:8px!important}
.rg-cal-weekdays div{text-align:center;font-size:12px;font-weight:950;color:#64748b;background:#f8fbff;border:1px solid var(--line);border-radius:12px;padding:9px}
.rg-cal-day{min-height:128px;border:1px solid #e5edf7;background:#fbfdff;border-radius:16px;padding:10px;display:flex;flex-direction:column;gap:8px}
.rg-cal-day.empty{background:transparent;border:0;box-shadow:none}
.rg-cal-day.today{background:#fff;border-color:var(--primary);box-shadow:0 0 0 3px rgba(37,99,235,.10)}
.rg-cal-date{display:flex;align-items:center;justify-content:space-between;font-weight:950}
.rg-cal-date b{font-size:17px;color:#0f172a}.rg-cal-date span{font-size:11px;color:#94a3b8;text-transform:uppercase}
.rg-cal-events{display:grid;gap:5px}.rg-cal-event{display:block;text-decoration:none;border-radius:10px;padding:7px;background:#eef2ff;color:#1e1b4b;border:1px solid #dbe3ff;font-size:11.5px;line-height:1.18;overflow:hidden}
.rg-cal-event b,.rg-cal-event span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rg-cal-event.confirmed{background:#ecfdf5;color:#14532d;border-color:#bbf7d0}.rg-cal-event.reserved{background:#fff7ed;color:#7c2d12;border-color:#fed7aa}.rg-cal-event.cancelled{background:#fee2e2;color:#7f1d1d;border-color:#fecaca}.rg-cal-event.converted,.rg-cal-event.completed{background:#e0f2fe;color:#075985;border-color:#bae6fd}.rg-cal-more{font-size:11px;font-weight:950;color:#64748b;background:#f1f5f9;border-radius:999px;padding:5px 8px;text-align:center}
@media(max-width:900px){.rg-cal-weekdays,.rg-cal-grid{min-width:760px!important;grid-template-columns:repeat(7,108px)!important}.rg-cal-day{min-height:118px}}


/* v20260701: logo, full vehicle photo preview, customer portal polish */
.brand-logo.has-image,.login-logo.has-image{background:#fff!important;overflow:hidden;padding:4px;border:1px solid var(--line)}
.brand-logo.has-image img,.login-logo.has-image img{width:100%;height:100%;object-fit:contain;display:block}
.car-art{min-height:190px;height:210px;padding:4px;background:linear-gradient(135deg,#f7fbff,#ffffff)}
.vehicle-card-img{width:100%;height:100%;object-fit:contain;display:block;border-radius:18px;background:#fff;cursor:zoom-in}
.car-art .overlay-plate{background:rgba(255,255,255,.94);box-shadow:0 8px 18px rgba(15,23,42,.12);z-index:2}
.image-preview-modal{position:fixed;inset:0;display:none;align-items:center;justify-content:center;background:rgba(2,6,23,.82);z-index:9999;padding:22px}
.image-preview-modal.show{display:flex}
.image-preview-dialog{position:relative;width:min(1100px,96vw);height:min(760px,90vh);background:#fff;border-radius:24px;padding:14px;box-shadow:0 35px 100px rgba(0,0,0,.38)}
.image-preview-dialog img{width:100%;height:100%;object-fit:contain;display:block;border-radius:18px;background:#f8fafc}
.image-preview-close{position:absolute;right:16px;top:16px;width:42px;height:42px;border:0;border-radius:50%;background:#0f172a;color:#fff;font-size:24px;font-weight:900;cursor:pointer}
.customer-portal-link{display:inline-flex;align-items:center;gap:8px}
.portal-page{min-height:100vh;background:linear-gradient(135deg,#f8fbff,#eef7ff);padding:24px}
.portal-shell{width:min(1180px,100%);margin:0 auto}
.portal-top{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px;background:rgba(255,255,255,.9);border:1px solid var(--line);border-radius:26px;padding:16px;box-shadow:var(--shadow-soft)}
.portal-logo{width:64px;height:64px;border-radius:20px;background:#fff;border:1px solid var(--line);display:grid;place-items:center;overflow:hidden;padding:4px}
.portal-logo img{width:100%;height:100%;object-fit:contain}
.portal-card{background:rgba(255,255,255,.95);border:1px solid var(--line);border-radius:26px;box-shadow:var(--shadow-soft);padding:18px;margin-bottom:16px}
.portal-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.rating-stars select{min-width:120px}
.request-status{font-weight:950;text-transform:capitalize}
@media(max-width:900px){.portal-grid{grid-template-columns:1fr}.portal-top{align-items:flex-start;flex-direction:column}.car-art{height:190px}.vehicle-grid{grid-template-columns:1fr}}
@media(max-width:480px){.car-art{height:180px}.image-preview-dialog{height:78vh;border-radius:18px}.portal-page{padding:10px}.portal-card{border-radius:18px;padding:14px}}

/* v20260701v5: client login, user management and scrollable activity log */
.scroll-table{max-height:460px;overflow:auto;border:1px solid var(--line);border-radius:18px;background:#fff}
.scroll-table table{margin:0;min-width:640px}
.scroll-table thead th{position:sticky;top:0;background:#f8fbff;z-index:2;box-shadow:0 1px 0 var(--line)}
.activity-log-panel{max-height:560px;display:flex;flex-direction:column}
.activity-log-scroll{flex:1;min-height:280px;max-height:440px}
.table-panel .form-title{padding:0 0 12px 0;margin:0}
.status-badge.active{background:#dcfce7;color:#166534;border-color:#bbf7d0}
@media(max-width:900px){.scroll-table{max-height:380px}.activity-log-panel{max-height:none}.activity-log-scroll{max-height:360px}.top-actions .pill-link[href*="customer"]{display:none}}

/* v20260701v6: third-party vehicle owner portal */
.portal-wrap{min-height:100vh;background:linear-gradient(135deg,#f8fbff,#eef7ff);padding:24px;width:min(1180px,100%);margin:0 auto}
.portal-hero{display:flex;align-items:center;justify-content:space-between;gap:16px;background:rgba(255,255,255,.95);border:1px solid var(--line);box-shadow:var(--shadow-soft);border-radius:28px;padding:18px;margin-bottom:18px}
.portal-hero h1{margin:2px 0;font-size:28px}.portal-hero p{margin:0;color:#64748b;font-weight:800}.portal-logo.has-image{background:#fff!important;overflow:hidden;padding:4px;border:1px solid var(--line)}
.owner-fields{transition:.2s ease}.top-actions .pill-link[href*="owner"]{background:#fff7ed;color:#9a3412;border-color:#fed7aa}
@media(max-width:900px){.portal-wrap{padding:12px}.portal-hero{align-items:flex-start;flex-direction:column;border-radius:20px}.portal-hero h1{font-size:22px}.top-actions .pill-link[href*="owner"]{display:none}}

/* =====================================================================
   RG workflow + adaptive compact UI (2026-07-22)
   Optimized for 28-inch monitors, 15.6-inch laptops and low resolutions.
   ===================================================================== */
.span-2{grid-column:span 2}.compact-grid{align-items:start}.filter-input,.inline-select{border:1px solid var(--line);border-radius:12px;padding:8px 10px;background:#fff;color:var(--ink)}.inline-select{min-width:112px}.action-field{display:flex;align-items:flex-end}.action-field .btn{width:100%}.workflow-strip{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0 0 14px}.workflow-strip span{padding:7px 11px;border-radius:999px;background:#f1f5f9;color:#64748b;font-size:12px;font-weight:900;border:1px solid #e2e8f0}.workflow-strip span.done{background:#dcfce7;color:#166534;border-color:#bbf7d0}.document-upload-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:14px}.doc-upload-card{border:1px solid var(--line);border-radius:15px;padding:11px;background:#f8fbff;display:grid;gap:7px;min-width:0}.doc-upload-card label{font-size:12px;font-weight:900;color:#334155}.doc-upload-card a{font-size:12px;color:var(--primary);font-weight:850}.doc-upload-card span{font-size:11px;color:var(--muted)}.doc-upload-card input{width:100%;font-size:12px}.agreement-editor,.return-panel{scroll-margin-top:90px}.agreement-grid .compact-rental-card .car-art{height:145px;min-height:145px}.owner-entry-split{align-items:start}.owner-kpis .kpi-card .value{font-size:23px}.status-badge.draft{background:#f1f5f9;color:#475569;border-color:#cbd5e1}.status-badge.finalized,.status-badge.converted{background:#dcfce7;color:#166534;border-color:#bbf7d0}.btn.danger{background:#be123c;color:#fff}.btn.success{background:#16a34a;color:#fff}.form-title>div>h3{margin-bottom:3px}

@media (max-width:1500px) and (min-width:861px){
  :root{--radius:18px;--shadow:0 12px 32px rgba(15,23,42,.07);--shadow-soft:0 7px 20px rgba(15,23,42,.055)}
  body{font-size:13px}
  .sidebar{inset:10px auto 10px 10px;width:238px;border-radius:20px;padding:10px;gap:9px}
  .content{margin-left:258px;padding:10px 12px 18px}
  .brand-panel{gap:8px;padding:6px 5px 10px}.brand-logo{width:39px;height:39px;border-radius:12px}.brand-name{font-size:14px}.brand-sub{font-size:10px}
  .side-nav{gap:3px}.nav-item{padding:7px 8px;border-radius:11px;gap:8px;font-size:12px}.nav-item span{width:25px;height:25px;border-radius:8px;font-size:13px}.side-card{padding:10px;border-radius:14px;font-size:11px}
  .topbar{top:7px;border-radius:17px;padding:9px 11px;gap:9px;margin-bottom:11px}.topbar h1{font-size:18px}.crumb{font-size:9px}.top-actions{gap:5px}.pill-link{padding:7px 9px;font-size:11px}.user-chip{padding:5px 7px}.user-chip span{width:27px;height:27px}.user-chip b{font-size:11px}.user-chip small{font-size:9px}.logout-link{font-size:11px}
  .hero{padding:15px;border-radius:19px;margin-bottom:12px}.hero h2{font-size:21px}.hero p{font-size:12px}.hero-actions{gap:6px}.white-btn,.ghost-btn{padding:8px 10px;font-size:11px}
  .kpi-grid{gap:8px;margin-bottom:12px}.kpi-card{padding:11px;border-radius:15px}.kpi-card .label{font-size:10px}.kpi-card .value{font-size:20px;margin:5px 0}.kpi-card .hint{font-size:10px}
  .section-head{margin:13px 0 8px}.section-head h2{font-size:18px}.section-head p{font-size:11px;margin-top:3px}
  .form-panel,.table-panel,.premium-card{padding:12px;border-radius:17px}.form-title{margin-bottom:10px}.form-title h3{font-size:16px}
  .form-grid{gap:8px}.field label{font-size:10.5px;margin-bottom:4px}.field input,.field select,.field textarea{min-height:34px;padding:7px 9px;border-radius:9px;font-size:12px}.field textarea{min-height:58px}
  .btn{padding:7px 10px;border-radius:9px;font-size:12px}.btn.small{padding:6px 8px;font-size:10.5px}.actions{gap:5px}
  table th{font-size:10px;padding:8px}table td{font-size:11px;padding:8px}.compact{font-size:10px}
  .vehicle-grid{gap:9px}.vehicle-card{padding:10px;border-radius:16px}.car-art{height:140px!important;min-height:140px!important;margin:8px 0;border-radius:13px}.vehicle-title{font-size:14px}.vehicle-meta{font-size:10px}.vehicle-stats{gap:6px}.mini-stat{padding:6px;border-radius:10px}.mini-stat small{font-size:9px}.mini-stat b{font-size:11px}
  .rg-calendar-card{padding:9px;border-radius:16px}.rg-cal-weekdays,.rg-cal-grid{gap:5px!important;min-width:720px!important}.rg-cal-weekdays div{padding:6px;font-size:10px}.rg-cal-day{min-height:100px;padding:7px;border-radius:11px}.rg-cal-date b{font-size:14px}.rg-cal-event{padding:5px;font-size:10px}
  .document-upload-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.doc-upload-card{padding:8px;border-radius:11px}
}

@media (max-width:1220px) and (min-width:861px){
  .sidebar{width:214px}.content{margin-left:234px}.brand-sub,.side-card p{display:none}.nav-item{font-size:11px}.top-actions .pill-link[href*="login.php"],.top-actions .user-chip div{display:none}.kpi-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.vehicle-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.document-upload-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media (max-width:860px){
  .span-2{grid-column:1/-1}.document-upload-grid{grid-template-columns:1fr 1fr}.doc-upload-card.span-2{grid-column:1/-1}.workflow-strip{gap:5px}.workflow-strip span{font-size:10px;padding:6px 8px}.owner-entry-split{grid-template-columns:1fr}.agreement-grid .compact-rental-card .car-art{height:180px;min-height:180px}.table-panel{overflow-x:auto}.top-actions .pill-link.primary{display:none}
}
@media (max-width:560px){.document-upload-grid{grid-template-columns:1fr}.doc-upload-card.span-2{grid-column:auto}.owner-kpis{grid-template-columns:1fr 1fr}.owner-kpis .kpi-card .value{font-size:18px}.workflow-strip span{flex:1;text-align:center}.filter-input{width:100%}}


/* RG Rentals A4 printing baseline - documents override portrait/landscape where required */
@page{size:A4 portrait;margin:10mm}
@media print{
  html,body{width:auto!important;min-height:0!important;background:#fff!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .sidebar,.topbar,.footer-note,.no-print,.mobile-only,.overlay{display:none!important}
  .app-shell{display:block!important}.content{margin:0!important;padding:0!important;width:auto!important;max-width:none!important}
  .table-panel,.table-card,.table-wrap{overflow:visible!important;box-shadow:none!important}
  .table-panel table,.table-card table{width:100%!important;min-width:0!important;max-width:100%!important;table-layout:auto!important}
  .table-panel th,.table-panel td,.table-card th,.table-card td{overflow-wrap:anywhere;word-break:normal}
  thead{display:table-header-group}tfoot{display:table-footer-group}tr,.kpi-card,.vehicle-card,.premium-card{break-inside:avoid;page-break-inside:avoid}
  .card,.premium-card,.form-panel,.table-panel,.table-card{box-shadow:none!important}
}

.print-only{display:none}
@media print{.print-only{display:block!important}}

/* RG vehicle service finance additions */
.status-badge.paid,.status-badge.cleared{background:#dcfce7;color:#166534;border-color:#bbf7d0}
.status-badge.credit,.status-badge.unpaid,.status-badge.partial,.status-badge.cheque_pending{background:#fef3c7;color:#92400e;border-color:#fde68a}
.status-badge.bounced{background:#fee2e2;color:#991b1b;border-color:#fecaca}
.status-badge.pending{background:#e0f2fe;color:#075985;border-color:#bae6fd}
.field small{display:block;margin-top:5px;color:var(--muted);font-size:11px;line-height:1.35}
.cheque-fields,.initial-cheque-fields{border:1px dashed #bfdbfe;background:#f8fbff;border-radius:18px;padding:12px}
@media(max-width:900px){.cheque-fields .form-grid,.initial-cheque-fields .form-grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.cheque-fields .form-grid,.initial-cheque-fields .form-grid{grid-template-columns:1fr}}

/* =====================================================================
   RG Rentals compact professional desktop UI - 2026-07-28 v3
   Keeps the interface dense and business-like on 15.6", 28" and 30" screens.
   ===================================================================== */
.table-card{background:rgba(255,255,255,.96);border:1px solid var(--line);border-radius:14px;box-shadow:0 5px 16px rgba(15,23,42,.045);overflow:hidden}
.table-wrap{width:100%;overflow:auto}
.table-card table{width:100%;border-collapse:collapse;min-width:720px}
.table-card th,.table-card td{padding:7px 8px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top;font-size:11px;line-height:1.3}
.table-card th{background:#f8fafc;color:#475569;font-size:9.5px;text-transform:uppercase;letter-spacing:.045em;white-space:nowrap}
.table-card tr:last-child td{border-bottom:0}
.table-card tr:hover td{background:#fbfdff}

.service-summary-grid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:7px!important}
.compact-filters{margin:0!important;gap:6px!important}
.compact-filters input,.compact-filters select,.cheque-update-form input,.cheque-update-form select{min-height:31px;border:1px solid #dbe7f3;border-radius:8px;background:#fff;padding:5px 7px;font-size:10.5px;color:#334155}
.cheque-update-form{display:flex;align-items:center;gap:5px;flex-wrap:nowrap;margin:0}
.cheque-update-form input[name="status_note"]{width:100px}
.cheque-update-form input[type="date"]{width:124px}
.date-chip,.due-chip{display:inline-flex;align-items:center;min-height:24px;padding:4px 7px;border-radius:7px;font-size:10px;font-weight:850;white-space:nowrap}
.date-chip{background:#eff6ff;color:#1d4ed8;border:1px solid #dbeafe}
.due-chip{background:#f8fafc;color:#475569;border:1px solid #e2e8f0}
.due-chip.overdue{background:#fff1f2;color:#be123c;border-color:#fecdd3}
.due-chip.today{background:#fff7ed;color:#c2410c;border-color:#fed7aa}
.due-chip.soon{background:#fffbeb;color:#a16207;border-color:#fde68a}

.owner-summary-grid .kpi-card span{display:block;color:#64748b;font-size:10px;font-weight:850;line-height:1.2}
.owner-summary-grid .kpi-card>b{display:block;margin-top:5px;font-size:18px;letter-spacing:-.025em;line-height:1.08}
.owner-summary-grid .kpi-card small{display:block;color:#64748b;font-size:9.5px;line-height:1.25;margin-top:4px}
.owner-filter-card{padding:10px!important;margin-bottom:10px}
.owner-portal-filter label{display:grid;gap:4px;color:#475569;font-size:10px;font-weight:850}
.owner-portal-filter input{width:100%;min-height:32px;border:1px solid #dbe7f3;border-radius:8px;background:#fff;padding:5px 8px;font-size:11px;color:#0f172a}
.owner-portal-page .portal-wrap{width:min(1480px,100%);padding:12px}
.owner-portal-page .portal-hero{border-radius:15px;padding:10px 12px;margin-bottom:10px;gap:10px;box-shadow:0 5px 16px rgba(15,23,42,.045)}
.owner-portal-page .portal-logo{width:46px;height:46px;border-radius:12px}
.owner-portal-page .portal-hero h1{font-size:19px;margin:1px 0}
.owner-portal-page .portal-hero p{font-size:10.5px}
.owner-portal-page .section-head{margin:11px 0 7px}
.owner-portal-page .section-head h2{font-size:15px}
.owner-portal-page .section-head p{font-size:10px}
.owner-portal-page .vehicle-grid{margin-bottom:10px}
.owner-portal-page .owner-ledger-note{max-width:280px}

.customer-account-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:7px}
.customer-account-item{background:#f8fbff;border:1px solid #e5eef8;border-radius:10px;padding:8px;min-width:0}
.customer-account-item small{display:block;color:#64748b;font-size:9.5px;font-weight:850;margin-bottom:3px}
.customer-account-item b{display:block;font-size:11.5px;overflow-wrap:anywhere}
.payment-stack{display:grid;gap:2px;white-space:nowrap}
.payment-stack small{color:#64748b;font-size:9.5px}

@media (min-width:861px){
  :root{--radius:14px;--shadow:0 8px 22px rgba(15,23,42,.055);--shadow-soft:0 4px 14px rgba(15,23,42,.045)}
  body{font-size:12px}
  .sidebar{inset:8px auto 8px 8px;width:228px;border-radius:17px;padding:9px;gap:7px}
  .content{margin-left:244px;padding:8px 11px 15px}
  .brand-panel{gap:7px;padding:5px 4px 8px}.brand-logo{width:36px;height:36px;border-radius:10px}.brand-name{font-size:12.5px}.brand-sub{font-size:9px}
  .side-nav{gap:2px}.nav-item{padding:6px 7px;border-radius:8px;gap:7px}.nav-item span{width:23px;height:23px;border-radius:7px;font-size:11px}.nav-item b{font-size:10.5px}.side-card{padding:8px;border-radius:10px;font-size:9.5px}
  .topbar{top:6px;border-radius:13px;padding:7px 9px;gap:7px;margin-bottom:8px;min-height:48px}.topbar h1{font-size:16px}.crumb{font-size:8px}.top-actions{gap:4px}.pill-link,.logout-link{padding:5px 8px;font-size:9.5px;box-shadow:none}.icon-btn{width:31px;height:31px}.user-chip{padding:3px 6px 3px 3px;gap:5px}.user-chip span{width:25px;height:25px;font-size:10px}.user-chip b{font-size:9.5px}.user-chip small{font-size:8px}.subscription-top-btn{width:30px!important;min-width:30px!important;height:30px!important}.subscription-top-btn img{width:17px!important;height:17px!important}
  .alert{border-radius:10px;padding:8px 10px;margin-bottom:8px;font-size:10.5px}
  .hero{border-radius:15px;padding:12px 14px;margin-bottom:8px;box-shadow:0 10px 28px rgba(37,99,235,.15)}.hero:after{width:190px;height:190px;right:-70px;top:-80px}.hero h2{font-size:19px;margin-bottom:3px}.hero p{font-size:10.5px;line-height:1.35}.hero .hero-actions{gap:5px;margin-top:8px}.white-btn,.ghost-btn{border-radius:8px;padding:6px 9px;font-size:9.5px}
  .kpi-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:7px;margin-bottom:9px}.kpi-card{border-radius:11px;padding:8px 9px;min-height:70px}.kpi-card:after{width:54px;height:54px;right:-18px;bottom:-20px}.kpi-card .label{font-size:9.5px;line-height:1.2}.kpi-card .value{font-size:17px;margin-top:4px;line-height:1.05}.kpi-card .hint{font-size:8.7px;margin-top:3px;line-height:1.25}
  .section-head{margin:10px 0 6px;gap:7px}.section-head h2{font-size:15px}.section-head p{font-size:9.5px;margin-top:2px;line-height:1.3}
  .card,.premium-card,.form-panel,.table-panel{border-radius:12px}.premium-card{padding:10px}.premium-card.list-card,.list-card{padding:10px}.form-panel{padding:10px;margin-bottom:9px}.form-title{margin-bottom:7px;gap:7px}.form-title h3,.form-title>div>h3{font-size:13px}.form-grid{gap:7px;grid-template-columns:repeat(4,minmax(0,1fr))}.form-grid.two{gap:7px}.field label{font-size:9.5px;margin-bottom:3px}.field input,.field select,.field textarea{min-height:31px;padding:5px 7px;border-radius:8px;font-size:10.5px}.field textarea{min-height:50px}.field small{font-size:8.5px;margin-top:3px}.actions{gap:5px;margin-top:7px}.btn{border-radius:8px;padding:6px 9px;font-size:10px;box-shadow:0 5px 12px rgba(37,99,235,.11)}.btn.small{padding:4px 7px;border-radius:7px;font-size:9px}.status-badge{padding:4px 6px;font-size:8.7px;gap:3px}
  .vehicle-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.vehicle-card{border-radius:12px;padding:8px}.vehicle-title{font-size:12.5px}.vehicle-meta{font-size:9px}.car-art{height:92px!important;min-height:92px!important;border-radius:9px;margin:6px 0;padding:2px}.vehicle-card-img{border-radius:8px}.car-art .plate{left:7px;top:7px;padding:3px 6px;font-size:8.5px}.vehicle-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:4px}.mini-stat{border-radius:7px;padding:5px;min-width:0}.mini-stat small{font-size:8px;line-height:1.15}.mini-stat b{font-size:9.5px;margin-top:2px;line-height:1.15;overflow-wrap:anywhere}.progress{height:4px;margin-top:5px}.compact{font-size:9.5px;line-height:1.3}
  .split{gap:8px}.timeline{gap:5px}.timeline-item{grid-template-columns:85px 1fr auto;gap:7px;padding:7px;border-radius:9px}.timeline-date{font-size:9.5px}.timeline-item b{font-size:10.5px}
  .table-panel table{min-width:660px}.table-panel th,.table-panel td{padding:6px 7px;font-size:10.5px;line-height:1.28}.table-panel th{font-size:8.8px}.scroll-table{border-radius:10px}.table-panel .actions{margin:0}
  .cheque-fields,.initial-cheque-fields{border-radius:9px;padding:7px}.document-upload-grid{gap:6px}.doc-upload-card{padding:7px;border-radius:8px}.doc-upload-card label{font-size:9.5px}.doc-upload-card a,.doc-upload-card input{font-size:9px}
  .portal-page{padding:12px}.portal-shell{width:min(1480px,100%)}.portal-top{border-radius:14px;padding:9px;margin-bottom:9px}.portal-logo{width:44px;height:44px;border-radius:11px}.portal-card{border-radius:13px;padding:10px;margin-bottom:9px}.portal-grid{gap:7px}
  .portal-wrap{width:min(1480px,100%)}
  .rg-calendar-card{border-radius:11px;padding:7px}
}
@media (min-width:1700px){.vehicle-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.kpi-grid{grid-template-columns:repeat(7,minmax(0,1fr))}.owner-summary-grid{grid-template-columns:repeat(6,minmax(0,1fr))!important}}
@media (min-width:1260px) and (max-width:1699px){.vehicle-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.owner-summary-grid{grid-template-columns:repeat(6,minmax(0,1fr))!important}}
@media (min-width:1100px) and (max-width:1259px){.vehicle-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}.kpi-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.customer-account-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (min-width:861px) and (max-width:1099px){.vehicle-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}.kpi-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.form-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.customer-account-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.cheque-update-form{flex-wrap:wrap}}
@media (max-width:860px){.service-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.customer-account-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cheque-update-form{flex-wrap:wrap}.owner-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:480px){.service-summary-grid,.customer-account-grid,.owner-summary-grid{grid-template-columns:1fr!important}}


/* 2026-07-30 compact grouped navigation, dashboard fleet cards and backup weekday controls */
.nav-group{border-radius:10px;border:1px solid transparent;overflow:hidden}
.nav-group summary{list-style:none;display:flex;align-items:center;gap:7px;padding:6px 7px;border-radius:8px;color:#334155;cursor:pointer;user-select:none}
.nav-group summary::-webkit-details-marker{display:none}.nav-group summary>span{width:23px;height:23px;border-radius:7px;display:grid;place-items:center;background:#f1f7ff;color:var(--primary);font-weight:900;font-size:11px}.nav-group summary>b{font-size:10.5px;flex:1}.nav-group summary>i{font-style:normal;font-size:11px;transition:transform .18s ease}.nav-group[open] summary>i{transform:rotate(180deg)}
.nav-group:hover,.nav-group.active{background:#f8fbff;border-color:#e8f2ff}.nav-group.active>summary{color:#0f3d9e;background:linear-gradient(135deg,rgba(37,99,235,.10),rgba(6,182,212,.08))}
.nav-submenu{display:grid;gap:2px;padding:3px 5px 6px 37px}.nav-subitem{padding:5px 7px;border-radius:7px;font-size:9.8px;font-weight:750;color:#64748b}.nav-subitem:hover{background:#eef6ff;color:#1d4ed8}.nav-subitem.active{background:#dbeafe;color:#1d4ed8;font-weight:900}
.page-subnav{display:flex;align-items:center;gap:5px;overflow-x:auto;padding:6px;margin:0 0 9px;border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.9);box-shadow:var(--shadow-soft)}.page-subnav a{white-space:nowrap;padding:6px 9px;border-radius:8px;font-size:9.8px;font-weight:850;color:#64748b}.page-subnav a:hover{background:#f1f5f9;color:#1d4ed8}.page-subnav a.active{background:linear-gradient(135deg,var(--primary),#0ea5e9);color:#fff}
.weekday-checks{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.weekday-checks label{display:flex;align-items:center;justify-content:center;gap:5px;border:1px solid var(--line);border-radius:9px;background:#fff;padding:8px 6px;font-size:9.5px;font-weight:800;cursor:pointer}.weekday-checks input{width:auto;min-height:0;margin:0}
@media (min-width:861px){.dashboard-fleet-grid{grid-template-columns:repeat(auto-fill,minmax(185px,220px))!important;justify-content:start;align-items:stretch;gap:9px}.dashboard-fleet-card{width:100%;max-width:220px}.dashboard-fleet-card .car-art{height:132px!important;min-height:132px!important}.dashboard-fleet-card .vehicle-card-img{object-fit:contain!important;background:#fff}.dashboard-fleet-card .vehicle-stats{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:860px){.nav-group summary{padding:10px 11px}.nav-group summary>span{width:28px;height:28px}.nav-group summary>b{font-size:13px}.nav-submenu{padding-left:45px}.nav-subitem{font-size:12px;padding:8px}.page-subnav{border-radius:10px}.page-subnav a{font-size:11px}.weekday-checks{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-fleet-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.dashboard-fleet-card{max-width:none}.dashboard-fleet-card .car-art{height:145px!important;min-height:145px!important}}
@media (max-width:480px){.dashboard-fleet-grid{grid-template-columns:1fr!important}.weekday-checks{grid-template-columns:1fr 1fr}.dashboard-fleet-card .car-art{height:180px!important;min-height:180px!important}}

/* 2026-07-30 v2: corrected sidebar order, full vehicle images and first-login backup settings */
@media (min-width:861px){
  .vehicle-management-grid,.agreement-grid{
    grid-template-columns:repeat(auto-fill,minmax(230px,270px))!important;
    justify-content:start;
    align-items:stretch;
    gap:12px;
  }
  .vehicle-management-card,.agreement-vehicle-card{
    width:100%;
    max-width:270px;
  }
  .vehicle-management-card .car-art,.agreement-vehicle-card .car-art{
    width:100%;
    height:190px!important;
    min-height:190px!important;
    padding:10px;
    background:#fff;
  }
}
.vehicle-management-card .vehicle-card-img,
.agreement-vehicle-card .vehicle-card-img{
  width:100%!important;
  height:100%!important;
  max-width:100%!important;
  max-height:100%!important;
  object-fit:contain!important;
  object-position:center center!important;
  border-radius:14px;
  background:#fff;
}
.backup-error-text{display:block;margin-top:7px;color:#b91c1c;font-weight:800;line-height:1.35}
@media (max-width:860px){
  .vehicle-management-grid,.agreement-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .vehicle-management-card,.agreement-vehicle-card{max-width:none}
  .vehicle-management-card .car-art,.agreement-vehicle-card .car-art{height:180px!important;min-height:180px!important;padding:8px}
}
@media (max-width:520px){
  .vehicle-management-grid,.agreement-grid{grid-template-columns:1fr!important}
  .vehicle-management-card .car-art,.agreement-vehicle-card .car-art{height:210px!important;min-height:210px!important}
}
