:root{--navy:#101c36;--blue:#2563eb;--bg:#f4f6fb;--text:#17233b;--muted:#66748a;--border:#e5eaf2;--green:#117658;--red:#b63e47;--radius:18px;--shadow:0 5px 24px #182f5810}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:16px/1.5 Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(1.9rem,3vw,2.6rem);letter-spacing:-.045em;line-height:1.15;margin-bottom:12px}h2{font-size:1.2rem;letter-spacing:-.025em;margin-bottom:0}h3{font-size:1rem}p{margin-bottom:12px}small{font-size:.8rem}button:focus-visible,a:focus-visible{outline:3px solid #69a0ff;outline-offset:4px}input:focus,select:focus,textarea:focus{outline:2px solid #93b9ff;border-color:var(--blue)}.skip{position:fixed;top:-80px;background:white;z-index:100;padding:10px}.skip:focus{top:0}.sidebar{position:fixed;inset:0 auto 0 0;width:240px;background:var(--navy);color:#c0cce1;padding:32px 20px;display:flex;flex-direction:column;z-index:20}.brand{display:flex;align-items:center;color:white;font-size:1.65rem;font-weight:750;letter-spacing:-.06em;gap:9px}.brand-dot{color:#70a1ff;margin-left:-7px}.brand-symbol{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;background:var(--blue);font-size:1.4rem;border-radius:10px;letter-spacing:-.15em;padding-right:5px}.brand-symbol span{font-size:1rem;color:#a4c4ff}.workspace-label{font-size:.75rem;letter-spacing:.15em;color:#7386a8;margin:54px 15px 16px}.sidebar nav{display:grid;gap:8px}.sidebar nav a{border-radius:10px;padding:13px 14px;display:flex;align-items:center;gap:13px;font-size:.92rem}.sidebar nav a>span{font-size:1.5rem;line-height:1;width:25px;text-align:center}.sidebar nav a:hover{background:#203252;color:white}.sidebar nav a.active{background:#2860d7;color:white;box-shadow:0 4px 14px #0002}.sidebar-bottom{margin-top:auto}.private-note{border:1px solid #2a3955;border-radius:12px;padding:18px 14px;margin:28px 0;color:#d8e3f9}.private-note .lock{display:block;font-size:1.5rem;color:#77a7ff;margin-bottom:8px}.private-note strong{font-size:.85rem}.private-note p{font-size:.8rem;color:#8295b6;margin:6px 0 0}.account{display:flex;gap:12px;align-items:center;overflow-wrap:anywhere}.account small{display:block;color:#8ea2c3}.avatar{width:38px;height:38px;flex-shrink:0;display:grid;place-items:center;border-radius:50%;background:#dce8ff;color:#2657ae;font-weight:700}.avatar.small{width:32px;height:32px;font-size:.8rem}.logout{border:0;background:none;color:#a2b4d0;font-size:.8rem;margin-top:14px;padding:6px 0}.app-shell{margin-left:240px}.topbar{height:80px;background:#fff;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:22px;padding:0 42px;font-size:.85rem}.crumb{color:var(--muted);flex:1}.crumb span{padding:0 14px;color:#b6c0d1}.top-date{color:var(--muted)}main{max-width:1600px;margin:auto;padding:36px 42px 24px}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:4px 0 27px}.eyebrow{font-size:.72rem;font-weight:750;letter-spacing:.14em;color:var(--muted);text-transform:uppercase;margin-bottom:9px}.accent{color:var(--blue)}.muted{color:var(--muted)}.page-heading p.muted{margin-bottom:0;font-size:.94rem}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:11px 18px;border-radius:9px;font-size:.875rem;font-weight:650;border:1px solid transparent;white-space:nowrap;transition:background .15s,transform .15s}.btn:hover{transform:translateY(-1px)}.primary{background:var(--blue);color:#fff;box-shadow:0 4px 12px #2563eb22}.primary:hover{background:#1d50c6}.secondary{background:#fff;border-color:#dce3ee;color:#44536b}.secondary:hover{background:#f0f4fa}.danger{background:#b82f43;color:white}.full{width:100%}.filters{display:flex;align-items:end;gap:13px;flex-wrap:wrap;margin-bottom:26px;padding:17px 20px;background:#fff;border:1px solid var(--border);border-radius:12px}.filter-field{min-width:115px}.filter-field.wide{min-width:210px;max-width:330px;flex:1}.filter-field label{font-size:.76rem;display:block;color:var(--muted);margin-bottom:4px;font-weight:600}input,select,textarea{width:100%;min-height:44px;padding:10px 12px;border:1px solid #dbe2ed;border-radius:8px;background:#fff;color:var(--text);font-size:.94rem}select{padding-right:26px}textarea{resize:vertical}input[type=checkbox]{width:20px;height:20px;min-height:20px;accent-color:var(--blue)}input[type=color]{padding:5px;height:44px}input[type=file]{font-size:.8rem}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:20px}.section-heading .eyebrow{margin-bottom:5px}.badge{font-size:.72rem;font-weight:650;padding:5px 9px;border-radius:7px;white-space:nowrap}.subtle{background:#edf1f8;color:#5a6b85}.live{background:#e2f5ed;color:#137557}.kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-bottom:25px}.kpi{position:relative;background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:23px;box-shadow:var(--shadow);min-width:0}.kpi-icon{display:grid;place-items:center;width:33px;height:33px;border-radius:9px;font-size:1.2rem;margin-bottom:17px}.kpi-icon.blue{background:#eaf1ff;color:#2865de}.kpi-icon.orange{background:#fff1e7;color:#c16b2f}.kpi-icon.violet{background:#f0eaff;color:#8256c9}.kpi p{font-size:.85rem;color:var(--muted);margin-bottom:7px}.kpi>strong{display:block;font-size:clamp(1.35rem,2.1vw,2rem);letter-spacing:-.04em;line-height:1.25;overflow-wrap:anywhere}.kpi small{display:block;font-size:.75rem;color:var(--muted);margin-top:13px}.kpi.featured{background:var(--blue);border-color:var(--blue);color:#fff;box-shadow:0 8px 20px #2563eb28}.featured p,.featured small{color:#e0ebff}.featured .kpi-icon{background:#ffffff24;color:white}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(290px,1fr);gap:24px;align-items:stretch}.panel{background:white;border:1px solid var(--border);border-radius:var(--radius);padding:25px;box-shadow:var(--shadow);margin-bottom:24px;min-width:0}.chart-summary{display:flex;align-items:baseline;flex-wrap:wrap;gap:10px;margin-top:25px}.chart-summary strong{font-size:1.9rem;letter-spacing:-.04em}.chart-summary span{font-size:.8rem}.chart{display:flex;gap:8px;height:225px;margin-top:25px;background:repeating-linear-gradient(to top,transparent 0,transparent 43px,#e9eef7 44px,#e9eef7 45px);border-bottom:1px solid #e9eef7;padding-top:5px}.chart-column{flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;gap:9px;color:var(--muted);font-size:.75rem;background:linear-gradient(transparent calc(100% - 26px),white 26px)}.bars{display:flex;justify-content:center;align-items:flex-end;gap:3px;height:100%;width:100%}.bar{width:35%;max-width:19px;border-radius:4px 4px 0 0;min-height:2px}.bar.income{background:#3674eb}.bar.expense{background:#b1c9fa}.chart-footer{margin-top:16px}.legend{display:flex;gap:20px;font-size:.8rem;color:var(--muted);margin-bottom:14px}.legend span{display:flex;gap:6px;align-items:center}.legend i{width:8px;height:8px;border-radius:2px}.blue-dot{background:#3674eb}.pale-dot{background:#b1c9fa}summary{color:#47688e;cursor:pointer;font-size:.8rem}.footnote{font-size:.75rem;line-height:1.6;color:var(--muted);margin:18px 0 0}.live-number{display:flex;align-items:center;gap:15px;margin:22px 0}.live-number strong{font-size:3.4rem;line-height:1;letter-spacing:-.07em}.live-number span{font-size:.9rem;color:var(--muted);line-height:1.35}.live-metrics{display:grid;grid-template-columns:1fr 1fr;gap:15px;background:#f5f7fb;padding:15px;border-radius:11px;margin-bottom:25px}.live-metrics strong{display:block;font-size:1.05rem}.live-metrics span{font-size:.75rem;color:var(--muted)}.rental-mini{display:flex;align-items:center;gap:10px;padding:13px 0;border-bottom:1px solid var(--border)}.vehicle-dot{display:inline-block;width:10px;height:10px;border-radius:50%;flex-shrink:0}.rental-mini strong{font-size:.84rem}.rental-mini small,.vehicle-cell small,td small{display:block;color:var(--muted);font-size:.75rem;margin-top:3px}.return-date{margin-left:auto;text-align:right;font-size:.8rem;white-space:nowrap}.text-link{color:#2c5fbb;font-size:.85rem;font-weight:600}.live-panel>.text-link{display:flex;justify-content:space-between;margin-top:20px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;text-align:left;font-size:.85rem}th{font-size:.75rem;font-weight:600;color:var(--muted);background:#f8fafd;padding:12px 14px;white-space:nowrap}td{padding:15px 14px;border-bottom:1px solid var(--border)}tbody tr:last-child td{border-bottom:none}td:not(:first-child){white-space:nowrap}.vehicle-cell{display:flex;gap:12px;align-items:center}.positive{color:var(--green)}.negative{color:var(--red)}.empty{text-align:center;padding:44px 20px;color:var(--muted)}.empty h2,.empty h3{color:var(--text)}.empty.compact{padding:22px 8px;font-size:.9rem}.upcoming-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:15px}.upcoming-card{display:flex;flex-direction:column;gap:8px;background:#f5f8ff;border:1px solid #e6ecf7;border-radius:11px;padding:18px}.upcoming-card strong{font-size:.9rem}.upcoming-card span:not(.vehicle-dot),.upcoming-card small{font-size:.8rem;color:var(--muted)}.vehicle-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:23px}.vehicle-card{overflow:hidden;border-radius:var(--radius);border:1px solid var(--border);background:white;box-shadow:var(--shadow)}.vehicle-visual{position:relative;height:205px;background:#eaf0f9;border-bottom:3px solid var(--vehicle-color);overflow:hidden}.vehicle-visual img{width:100%;height:100%;object-fit:cover}.vehicle-status{position:absolute;top:15px;right:15px;box-shadow:0 2px 12px #0001}.photo-placeholder{height:100%;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:8px;background:linear-gradient(140deg,#e9f0ff,#f7f9fe);color:#71809a}.monogram{font-size:3.3rem;font-weight:800;letter-spacing:-.075em;color:#9bb1d4;line-height:1}.photo-placeholder>span:not(.monogram),.photo-placeholder>a{font-size:.8rem}.photo-placeholder>a{color:var(--blue)}.vehicle-body{padding:22px}.vehicle-body .section-heading{margin-bottom:10px}.plate{display:inline-block;background:#f1f4f9;border:1px solid #e0e6f0;padding:4px 8px;border-radius:4px;letter-spacing:.08em;font-size:.8rem;font-weight:650}.specs{display:flex;flex-wrap:wrap;gap:6px 12px;font-size:.8rem;color:var(--muted);margin:20px 0}.card-actions{border-top:1px solid var(--border);padding-top:17px;display:flex;align-items:center;justify-content:space-between;gap:10px}.vehicle-legend{display:flex;flex-wrap:wrap;gap:12px 24px;margin-bottom:25px;font-size:.8rem}.vehicle-legend>span{display:flex;align-items:center;gap:7px}.vehicle-legend i{height:9px;width:9px;border-radius:50%}.vehicle-legend small{color:var(--muted);font-size:.75rem}.calendar-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-bottom:25px}.month.panel{padding:20px;margin-bottom:0}.month h2{display:flex;justify-content:space-between;margin-bottom:18px;font-size:1rem}.month h2 span{color:#8593a9;font-weight:400;font-size:.8rem}.month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.weekday{text-align:center;font-size:.75rem;color:var(--muted);padding:4px}.day{background:transparent;border:1px solid transparent;color:var(--text);border-radius:7px;min-height:39px;position:relative;padding:3px;font-size:.8rem;display:flex;align-items:center;flex-direction:column;justify-content:center}.day:hover{background:#e9f0ff;border-color:#bfd3ff}.day.today{border-color:var(--blue);color:var(--blue);font-weight:800}.day.booked{background:#f0f4fc}.day-markers{display:flex;justify-content:center;flex-wrap:wrap;gap:2px;min-height:5px;max-width:29px}.day-markers i{width:5px;height:5px;border-radius:50%}.day>span:first-child{margin-bottom:3px}dialog{border:0;border-radius:20px;width:540px;max-width:calc(100% - 24px);max-height:85vh;padding:28px;box-shadow:0 30px 100px #0004;color:var(--text)}dialog::backdrop{background:#08172b88;backdrop-filter:blur(4px)}.dialog-head{display:flex;justify-content:space-between;align-items:start;gap:10px}.icon-btn{border:0;background:#f0f3f9;border-radius:50%;font-size:1.5rem;width:38px;height:38px;flex-shrink:0}.dialog-rental{border:1px solid var(--border);border-radius:12px;padding:18px;margin:18px 0}.dialog-rental p{font-size:.875rem;color:var(--muted);margin-bottom:6px}.dialog-rental h3{margin-bottom:10px}.form-panel{max-width:900px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:23px}.field{display:flex;flex-direction:column;gap:7px;min-width:0;overflow-wrap:anywhere}.field>label{font-size:.85rem;font-weight:600}.field small{color:var(--muted);font-size:.75rem}.span-two{grid-column:span 2}.required{color:var(--blue)}.form-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:28px;padding-top:22px;border-top:1px solid var(--border)}.danger-link{color:var(--red);font-size:.85rem;margin-left:auto}.back-link{display:inline-block;font-size:.85rem;color:var(--muted);margin-bottom:24px}.errorlist{color:var(--red);font-size:.85rem;padding:12px 12px 12px 27px;background:#fff1f3;border-radius:8px;margin:10px 0}.message{border:1px solid #b7ddca;background:#eaf9f1;color:#156642;padding:14px 18px;border-radius:10px;margin-bottom:20px;font-size:.9rem}.message.error{border-color:#f1b8be;background:#fff1f3;color:#a92e3f}.confirm-panel{max-width:700px;margin:40px auto}.footer{font-size:.75rem;color:#8290a5;display:flex;gap:8px;padding:15px 42px 25px;max-width:1600px;margin:auto}.auth-shell main{padding:0;max-width:none}.login-layout{min-height:92vh;display:grid;grid-template-columns:1fr 1fr}.login-intro{background:var(--navy);color:white;padding:60px max(40px,10vw);display:flex;flex-direction:column;justify-content:center}.login-intro .brand{margin-bottom:80px}.login-intro .eyebrow{color:#93aed7}.login-intro h1{font-size:clamp(3rem,5vw,5rem);line-height:1.08;margin:15px 0 25px}.login-intro h1 span{color:#78a8ff}.login-intro>p:not(.eyebrow){color:#a8bbd9;max-width:320px;font-size:.95rem}.login-pills{display:flex;gap:10px;margin-top:25px}.login-pills span{font-size:.8rem;color:#bad0f0;padding:7px 12px;border:1px solid #344763;border-radius:7px}.login-card{align-self:center;width:min(440px,100% - 70px);justify-self:center;background:white;border:1px solid var(--border);border-radius:20px;padding:38px;box-shadow:var(--shadow);margin:40px 0}.login-card h2{font-size:1.5rem;line-height:1.3;margin-bottom:12px}.login-card .muted{font-size:.875rem}.login-card .field{margin:20px 0}.login-card .btn{margin-top:5px}.login-card .kpi-icon{margin-bottom:25px}.auth-shell .footer{justify-content:center}.form-panel form>p label{display:block;font-size:.875rem;margin-bottom:7px}.form-panel .helptext{font-size:.8rem;color:var(--muted)}.form-panel ul:not(.errorlist){font-size:.8rem;color:var(--muted)}
@media(min-width:1650px){.calendar-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(max-width:1250px){.sidebar{width:205px;padding:28px 15px}.app-shell{margin-left:205px}main{padding:30px 25px}.topbar{padding:0 25px}.kpi{padding:18px}.vehicle-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.calendar-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-grid{grid-template-columns:1fr}.live-metrics{grid-template-columns:1fr 1fr}.live-number{margin-top:10px}.kpi-grid{gap:13px}.chart{height:240px}}@media(max-width:850px){.sidebar{position:fixed;inset:auto 0 0;width:100%;height:76px;padding:6px 12px calc(6px + env(safe-area-inset-bottom));background:#fff;border-top:1px solid var(--border);box-shadow:0 -5px 20px #12244008}.sidebar>.brand,.workspace-label,.sidebar-bottom{display:none}.sidebar nav{display:grid;grid-template-columns:repeat(4,1fr);height:100%;gap:5px}.sidebar nav a{flex-direction:column;justify-content:center;gap:2px;font-size:.72rem;color:#69788e;padding:5px 2px}.sidebar nav a.active{background:#ecf2ff;color:var(--blue);box-shadow:none}.sidebar nav a:hover{background:#f4f7ff;color:var(--blue)}.sidebar nav a>span{font-size:1.5rem}.app-shell{margin-left:0;padding-bottom:85px}.topbar{height:62px;padding:0 22px}.top-date{display:none}.topbar .avatar{cursor:default}.kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.kpi>strong{font-size:1.7rem}.login-intro{padding:45px}.login-intro .brand{margin-bottom:60px}.login-card{width:calc(100% - 40px);padding:27px}.footer{padding-left:25px}.vehicle-grid{gap:17px}}
@media(max-width:560px){main{padding:26px 17px 12px}.page-heading{align-items:flex-start;flex-direction:column;gap:16px;margin-bottom:23px}.page-heading>.btn{width:100%}.page-heading h1{font-size:2rem}.eyebrow{font-size:.7rem}.filters{padding:15px;gap:10px}.filter-field{min-width:0;flex:1}.filter-field.wide{min-width:100%;max-width:none;order:2}.filters>.btn{order:3;width:100%}.filter-field select{font-size:.875rem}.section-heading{gap:10px}.section-heading h2{font-size:1.08rem}.section-heading>.text-link{font-size:.75rem;text-align:right}.badge{font-size:.7rem}.kpi{padding:17px 14px;border-radius:13px}.kpi-grid{gap:11px;margin-bottom:19px}.kpi>strong{font-size:1.4rem;letter-spacing:-.05em}.kpi p{font-size:.8rem}.kpi small{font-size:.75rem;line-height:1.45}.kpi-icon{margin-bottom:14px;width:29px;height:29px}.panel{padding:20px 16px;border-radius:14px;margin-bottom:19px}.dashboard-grid{gap:0}.chart{height:200px;gap:4px}.chart-column{font-size:.75rem}.chart-column:nth-child(even)>span{visibility:hidden}.chart-summary strong{font-size:1.7rem}.chart-summary span{font-size:.75rem}.vehicle-grid,.calendar-grid{grid-template-columns:1fr}.vehicle-visual{height:220px}.vehicle-legend{gap:9px;font-size:.75rem}.vehicle-legend small{display:none}.month.panel{padding:22px}.day{min-height:43px;font-size:.85rem}.month-grid{gap:5px}.calendar-grid{gap:16px}.form-grid{grid-template-columns:1fr}.span-two{grid-column:auto}.form-actions .btn{flex:1}.danger-link{width:100%;margin-left:0;text-align:center;padding:8px}.login-layout{grid-template-columns:1fr;min-height:0}.login-intro{padding:30px}.login-intro .brand{margin-bottom:30px}.login-intro h1{font-size:2.8rem}.login-intro h1 br:first-child{display:none}.login-intro h1 br:first-child:after{content:' '}.login-intro>p:not(.eyebrow){display:none}.login-pills{display:none}.login-card{width:calc(100% - 34px);margin:25px 0}.footer{font-size:.75rem;flex-wrap:wrap;padding:15px 18px}.confirm-panel{margin:10px 0}.crumb{font-size:.8rem}dialog{padding:23px 18px}dialog h2{font-size:1.15rem}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
