:root{
    --navy:#0d1629;
    --sidebar:#101b31;
    --blue:#0b63ce;
    --blue-2:#144b9f;
    --green:#168653;
    --red:#d84a4a;
    --orange:#b76e00;
    --bg:#f4f7fb;
    --card:#fff;
    --line:#d9e1ec;
    --text:#172033;
    --muted:#667085;
    --soft:#eef4ff;
    --shadow:0 8px 28px rgba(16,24,40,.06);
    --radius:18px;
}
*{box-sizing:border-box}
body{margin:0;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;background:var(--bg);color:var(--text);font-size:15px;min-height:100vh}
button,input,select,textarea{font-family:inherit}
a{color:inherit}
.app{display:flex;min-height:100vh}
.sidebar{width:292px;background:linear-gradient(180deg,#111d33 0,#0b1426 100%);color:#fff;position:sticky;top:0;height:100vh;padding:14px 12px;overflow:auto;z-index:50;flex:none;display:flex;flex-direction:column}
.logo-card{min-height:110px;border-radius:14px;background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.08);display:grid;place-items:center;margin-bottom:12px;padding:16px;text-align:center}
.logo-card-link{text-decoration:none;color:inherit;cursor:pointer;transition:background .16s ease,border-color .16s ease,transform .16s ease}
.logo-card-link:hover,.logo-card-link:focus-visible{background:rgba(255,255,255,.085);border-color:rgba(255,255,255,.18);outline:none}
.logo-card-link:active{transform:translateY(1px)}
.logo-mark{color:#2383ff;font-size:30px;font-weight:900;letter-spacing:-1px}
.logo-mark small{display:block;color:#d9e3f7;font-size:12px;font-weight:700;letter-spacing:0;margin-top:4px}
.account-card{display:flex;gap:10px;align-items:center;padding:12px;border-radius:12px;background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.07);margin-bottom:16px}
.avatar{width:36px;height:36px;border-radius:50%;background:#dff2ff;display:grid;place-items:center;font-size:18px;flex:none}
.account-card b{font-size:13px;display:block}.account-card span{font-size:12px;color:#aebbd0}
.menu-title{color:#91a1bd;font-size:10px;font-weight:900;letter-spacing:.13em;text-transform:uppercase;margin:18px 8px 8px}
.menu-item{color:#dce6f8;text-decoration:none;display:flex;align-items:center;gap:9px;padding:10px 9px;border-radius:9px;margin:3px 0;font-size:13px;font-weight:750;opacity:.96}
.menu-item.active,.menu-item:hover{background:rgba(255,255,255,.095)}
.menu-nav{flex:1 0 auto;padding-bottom:18px}
.main-content{flex:1;min-width:0;padding:20px 24px 0;min-height:100vh;display:flex;flex-direction:column}.fleet-main-body{flex:1 0 auto;min-width:0}
.mobile-top{display:none;position:sticky;top:0;z-index:60;background:#0d1629;color:#fff;padding:12px 14px;align-items:center;justify-content:space-between;box-shadow:0 8px 24px rgba(0,0,0,.16)}
.mobile-top button{background:rgba(255,255,255,.1);color:#fff;border:1px solid rgba(255,255,255,.18);border-radius:10px;padding:8px 10px;font-weight:800}.mobile-brand-link{text-decoration:none;display:inline-flex;align-items:center;justify-content:center}.mobile-top b{color:#2383ff;font-size:18px}.mobile-brand-link:focus-visible{outline:2px solid #84b6ff;outline-offset:3px;border-radius:6px}.mobile-top span{font-size:12px;color:#cbd7e8;font-weight:700}.drawer-backdrop{display:none;position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:45}.drawer-open .drawer-backdrop{display:block}
.topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;gap:12px}.breadcrumb{font-size:13px;color:#6b7890;text-transform:uppercase;font-weight:800}.breadcrumb a{color:var(--blue);font-weight:900;text-decoration:none}.breadcrumb span{margin:0 7px;color:#98a2b3}.top-actions{display:flex;gap:10px;flex-wrap:wrap}
.title-card{background:var(--card);border-radius:var(--radius);padding:18px 22px;box-shadow:var(--shadow);margin-bottom:18px;display:flex;align-items:center;justify-content:space-between;gap:16px}
h1{font-size:24px;margin:0 0 5px}.subtitle{color:var(--muted);margin:0;line-height:1.45}.btn{border:0;border-radius:12px;padding:12px 16px;font-weight:850;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:8px;white-space:nowrap;min-height:42px;font-size:14px}.btn.primary{background:var(--blue);color:#fff}.btn.secondary{background:var(--soft);color:#174ea6}.btn.light{background:#f2f4f7;color:#344054}.btn.danger{background:#fff1f0;color:#b42318}.btn.green{background:var(--green);color:#fff}.btn.dark{background:#111b2f;color:#fff}.btn:disabled{opacity:.45;cursor:not-allowed}
.layout{display:grid;grid-template-columns:1fr;gap:18px}.card{background:var(--card);border:1px solid #edf0f5;border-radius:18px;padding:20px;box-shadow:0 8px 28px rgba(16,24,40,.05);margin-bottom:18px}.section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:14px}.section-head h2{font-size:18px;margin:0}.section-head p{margin:4px 0 0;color:var(--muted);font-size:13px;line-height:1.45}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.grid4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.field label{display:block;font-weight:800;margin-bottom:7px;color:#344054}.req{color:#d92d20}input,select,textarea{width:100%;border:1px solid var(--line);border-radius:11px;padding:12px 13px;background:#fff;color:#172033;font-size:15px;outline:none;min-height:46px}input:focus,select:focus,textarea:focus{border-color:#5aa1ff;box-shadow:0 0 0 4px #e6f1ff}input[readonly],select[disabled]{background:#eef1f5;color:#2e3947;opacity:1}textarea{min-height:88px;resize:vertical;line-height:1.4}.hint{font-size:12px;color:#697586;margin-top:6px;line-height:1.4}.side-note{background:#f8fbff;border:1px solid #d9eaff;border-radius:16px;padding:16px;margin-bottom:14px}.side-note h3{font-size:15px;margin:0 0 8px}.side-note ul{padding-left:18px;margin:0;color:#475467;line-height:1.65;font-size:13px}.required-box{background:#fff7ed;border:1px solid #fed7aa;color:#9a3412;border-radius:14px;padding:12px;font-size:13px;line-height:1.55}.save-bar{position:sticky;bottom:0;background:rgba(244,247,251,.92);backdrop-filter:blur(10px);padding:14px;border-top:1px solid #e5e7eb;display:flex;justify-content:flex-end;gap:10px;z-index:5}.hidden{display:none!important}.toast{display:none;position:fixed;right:24px;bottom:24px;background:#101828;color:#fff;padding:14px 16px;border-radius:12px;box-shadow:0 14px 40px rgba(0,0,0,.22);z-index:99;max-width:420px}.toast.show{display:block}.filters{display:grid;grid-template-columns:1.4fr repeat(4,1fr);gap:12px;margin-bottom:14px}.table-wrap{overflow:auto;border:1px solid #e4e7ec;border-radius:14px}table{width:100%;border-collapse:collapse;background:#fff;min-width:1060px}th,td{padding:13px 14px;text-align:left;border-bottom:1px solid #edf0f5;vertical-align:middle}th{font-size:12px;color:#667085;background:#f8fafc;text-transform:uppercase;letter-spacing:.04em}.badge{display:inline-flex;border-radius:999px;padding:5px 10px;font-size:12px;font-weight:800;margin:2px}.badge.ok{background:#e7f8ef;color:#067647}.badge.warn{background:#fff4df;color:#a15c00}.badge.soft{background:#eef4ff;color:#1849a9}.badge.danger{background:#fff1f0;color:#b42318}.empty{padding:40px;text-align:center;color:#667085}.kpi{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:16px}.kpi .card{margin:0;padding:16px}.kpi strong{font-size:22px;display:block}.kpi span{font-size:13px;color:#667085}.mini-btn{height:40px;border:1px solid var(--line);background:#fff;border-radius:10px;cursor:pointer;font-weight:800;color:#344054;padding:0 12px;margin:2px}.mini-btn.danger{color:#b42318;background:#fff1f0;border-color:#ffd0cc}.pillbar{display:flex;gap:8px;flex-wrap:wrap}.pill{border:1px solid #d9e1ec;background:#fff;border-radius:999px;padding:8px 11px;font-weight:750;cursor:pointer}.pill.active{background:#0b63ce;color:#fff;border-color:#0b63ce}.vehicle-cell,.fuel-cell{display:flex;gap:10px;align-items:center}.vehicle-icon,.fuel-icon{width:42px;height:42px;border-radius:12px;background:#eef4ff;display:grid;place-items:center;font-size:22px;flex:none}.choice-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.choice{border:1px solid var(--line);border-radius:14px;padding:12px;cursor:pointer;background:#fff}.choice input{width:auto;min-height:auto;margin-right:7px}.choice span{font-weight:750}.choice small{display:block;color:var(--muted);margin-top:4px}.repeat-row{display:grid;grid-template-columns:1.15fr 1fr 1fr auto;gap:10px;align-items:end;margin-bottom:10px;padding:12px;border:1px dashed #cfd8e7;border-radius:14px;background:#fbfdff}.doc-row{grid-template-columns:1.1fr .8fr .85fr 1.25fr auto}.page-section{max-width:1220px;margin:0 auto}.recharge-page{max-width:1220px;width:100%;margin:0 auto 20px}.help-card{background:#fff;border:1px solid #dbe8f8;border-radius:18px;box-shadow:var(--shadow);padding:16px;margin-bottom:14px;display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center}.help-card h1{font-size:20px;margin:0 0 5px}.help-card p{margin:0;color:#68778e;font-size:13px;line-height:1.45}.capture-counter{min-width:110px;background:#f1f7ff;border:1px solid #dbe9fb;color:#0960bd;border-radius:15px;padding:12px;text-align:center;font-weight:900}.capture-counter small{display:block;color:#71839c;font-size:10px;text-transform:uppercase;letter-spacing:.07em;margin-bottom:4px}.step-card{background:#fff;border-radius:18px;box-shadow:var(--shadow);padding:18px;margin-bottom:14px;border:1px solid rgba(223,231,242,.75)}.step-head{display:flex;gap:12px;align-items:flex-start;margin-bottom:14px}.step-no{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#eaf3ff;color:#0869d8;font-weight:900;flex:none}.step-head h2{margin:0;font-size:17px}.step-head p{margin:4px 0 0;color:#68778e;font-size:13px;line-height:1.45}.vehicle-note{margin-top:12px;border-radius:14px;background:#f5f9ff;border:1px solid #dbe8f8;padding:12px;color:#47566c;font-size:13px;line-height:1.4}.photo-list{display:grid;grid-template-columns:1fr;gap:12px}.photo-card{border:1px solid #e0e8f4;background:#fbfdff;border-radius:18px;overflow:hidden}.photo-card-header{padding:13px 14px;display:flex;justify-content:space-between;gap:10px;align-items:flex-start;border-bottom:1px solid #e7edf7}.photo-card-header b{font-size:15px}.photo-card-header span{display:block;color:#6e7d92;font-size:12px;margin-top:3px}.photo-pill{padding:5px 9px;border-radius:99px;background:#eef2f7;color:#657184;font-size:11px;font-weight:900;white-space:nowrap}.photo-pill.done{background:#e9f8ef;color:#14824c}.photo-pill.optional{background:#fff4d9;color:#9b650c}.stage{min-height:180px;background:linear-gradient(135deg,#edf5ff,#fff);display:grid;place-items:center;padding:14px}.stage img{width:100%;max-height:280px;object-fit:cover;border-radius:14px;border:1px solid #dce5f1;display:none;background:#fff}.stage-empty{text-align:center;color:#65748b;font-size:13px;line-height:1.45;padding:18px}.stage-empty .icon{width:58px;height:58px;border-radius:50%;display:grid;place-items:center;margin:0 auto 10px;background:#e6f1ff;color:#0869d8;font-size:27px}.photo-actions{display:flex;gap:8px;padding:13px 14px;flex-wrap:wrap}.photo-actions .btn{flex:1}.photo-meta{margin:0 14px 14px;border:1px solid #e5edf8;background:#fff;border-radius:14px;overflow:hidden}.meta-row{display:grid;grid-template-columns:104px 1fr;gap:10px;padding:9px 11px;border-bottom:1px solid #eef3fa;font-size:12px;line-height:1.35}.meta-row:last-child{border-bottom:0}.meta-row small{color:#8392aa;font-weight:900;text-transform:uppercase;font-size:10px;letter-spacing:.06em}.meta-row b{font-weight:800;color:#263448}.fuel-panel{border:1px solid #dbe8f8;border-radius:17px;padding:14px;background:#fbfdff;margin-bottom:12px}.fuel-panel.secondary{background:#fffdf8;border-color:#f0dfbd}.fuel-panel-head{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;margin-bottom:12px}.fuel-panel-head b{display:block;font-size:15px;margin-bottom:3px}.fuel-panel-head span{display:block;color:#6e7d92;font-size:12px;line-height:1.4}.fuel-chip{padding:5px 9px;border-radius:99px;font-size:11px!important;font-weight:900;white-space:nowrap}.fuel-chip.required{background:#e7f2ff;color:#1260b3}.fuel-chip.optional{background:#fff4d9;color:#9b650c}.secondary-toggle{border:1px dashed #ccd8e8;background:#f8fbff;border-radius:16px;padding:13px 14px;margin-bottom:12px}.switch-line{display:flex!important;align-items:center;gap:11px;margin:0!important;cursor:pointer;color:#203049!important;font-size:14px!important}.switch-line input{display:none}.switch-ui{width:42px;height:25px;border-radius:99px;background:#d3dce9;position:relative;transition:.18s ease;flex:none}.switch-ui:after{content:"";width:19px;height:19px;border-radius:50%;background:#fff;position:absolute;top:3px;left:3px;transition:.18s ease;box-shadow:0 2px 6px rgba(0,0,0,.2)}.switch-line input:checked + .switch-ui{background:#0869d8}.switch-line input:checked + .switch-ui:after{left:20px}.secondary-toggle p{margin:6px 0 0 53px;color:#65748b;font-size:12px;line-height:1.4}.amount-strip{margin-top:12px;border:1px solid #dbe8f8;background:#f5f9ff;border-radius:14px;padding:13px;display:flex;justify-content:space-between;gap:12px;align-items:center}.amount-strip small{display:block;color:#73839a;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.07em}.amount-strip b{font-size:22px}.log-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.log-box{background:#f6f9ff;border:1px solid #e3ebf7;border-radius:15px;padding:13px;min-height:83px}.log-box small{display:block;color:#8392aa;font-size:10px;text-transform:uppercase;letter-spacing:.08em;font-weight:900;margin-bottom:7px}.log-box b{font-size:14px;display:block}.log-box span{display:block;color:#65748b;font-size:12px;margin-top:4px;line-height:1.35}.bottom-submit{display:flex;gap:10px;justify-content:center;margin-top:18px}.bottom-submit .btn{min-width:160px}.fleet-footer{background:#eee;text-align:center;padding:24px clamp(16px,3vw,36px);margin:32px -24px 0;font-size:12px;line-height:1.6;color:#1d2530;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;max-width:calc(100% + 48px);overflow-wrap:anywhere;word-break:normal}.fleet-footer-line{display:block;max-width:100%}.fleet-footer a{color:#0072ff;font-weight:900;text-decoration:none;overflow-wrap:anywhere}.fleet-footer a:hover{text-decoration:underline}
@media(max-width:1050px){.app{display:block}.mobile-top{display:flex}.sidebar{position:fixed;width:300px;top:0;bottom:0;height:100vh;transform:translateX(-105%);transition:.22s ease}.drawer-open .sidebar{transform:translateX(0)}.main-content{padding:14px 14px 0}.layout{grid-template-columns:1fr}.grid,.grid3,.grid4,.filters,.kpi{grid-template-columns:1fr}.title-card{align-items:flex-start;flex-direction:column}.topbar{align-items:flex-start;flex-direction:column}.top-actions{width:100%}.save-bar{justify-content:stretch;flex-direction:column}.btn{width:auto}.top-actions .btn,.save-bar .btn{width:100%}.choice-grid{grid-template-columns:1fr}.repeat-row,.doc-row{grid-template-columns:1fr}.fleet-footer{margin-left:-14px;margin-right:-14px}}
@media(max-width:820px){body{background:#f4f8ff}.breadcrumb,.title-card.desktop-title{display:none}.help-card{grid-template-columns:1fr;padding:14px;margin-bottom:12px}.help-card h1{font-size:19px}.capture-counter{text-align:left}.step-card{padding:14px;border-radius:17px}.step-head h2{font-size:17px}input,select,textarea{font-size:16px;height:48px}.stage{min-height:205px}.stage img{max-height:320px}.log-grid{grid-template-columns:1fr}.bottom-submit{position:sticky;bottom:0;background:#fff;margin:18px -14px -14px;padding:12px 14px calc(12px + env(safe-area-inset-bottom));border-top:1px solid #e5ecf6;border-radius:0 0 17px 17px;z-index:20}.bottom-submit .btn{flex:1;min-width:0}.toast{left:12px;right:12px;bottom:82px;max-width:none}.amount-strip{align-items:flex-start;flex-direction:column}.amount-strip .btn{width:100%}}
.filters .field label:empty{display:none}.photo-actions input[type=file]{display:none}

/* Reusable additions for Vendor / Party and large-list Trip pages */
.grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.section-label{display:block;font-weight:800;margin-bottom:7px;color:#344054}.wide-table table{min-width:1250px}.trip-table table{min-width:1320px}.party-cell,.trip-cell{display:flex;gap:10px;align-items:center}.party-icon,.trip-icon{width:42px;height:42px;border-radius:12px;background:#eef4ff;display:grid;place-items:center;font-size:22px;flex:none}.contact-row{grid-template-columns:1.1fr 1fr 1fr 1fr auto}.document-row{grid-template-columns:1.2fr 1fr 1fr auto}.total-box{background:#f8fbff;border:1px solid #d9eaff;border-radius:16px;padding:14px;margin-top:14px}.total-box b{font-size:20px;display:block}.chip-row{display:flex;gap:8px;flex-wrap:wrap}.chip{background:#f2f4f7;border-radius:999px;padding:6px 10px;font-size:12px;color:#344054;font-weight:700}.auto-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.choice-btn{border:1px solid var(--line);background:#fff;border-radius:14px;padding:12px 14px;text-align:left;cursor:pointer;transition:.15s;min-height:58px;font-weight:800;color:#344054}.choice-btn.active{border-color:var(--blue);background:var(--soft);box-shadow:0 0 0 2px rgba(11,99,206,.08);color:#0b63ce}.picker-field{display:flex;gap:10px;align-items:stretch}.picker-value{flex:1;border:1px solid var(--line);border-radius:14px;padding:12px 14px;background:#fff;min-height:56px;display:flex;align-items:center;justify-content:space-between;gap:12px}.picker-value b{display:block}.picker-value small{display:block;color:#667085}.quick-chips{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.quick-chip{background:#fff;border:1px solid #d9e1ec;border-radius:999px;padding:8px 12px;font-size:12px;font-weight:800;cursor:pointer}.quick-chip:hover,.quick-chip.active{background:var(--soft);border-color:#b7d4ff;color:#0b63ce}.overlay{position:fixed;inset:0;background:rgba(16,24,40,.48);display:none;align-items:flex-end;justify-content:center;z-index:100}.overlay.show{display:flex}.sheet{width:min(860px,100%);max-height:88vh;background:#fff;border-radius:22px 22px 0 0;box-shadow:0 -20px 50px rgba(0,0,0,.18);display:flex;flex-direction:column;overflow:hidden}.sheet-handle{width:54px;height:6px;background:#d0d5dd;border-radius:999px;margin:10px auto 0}.sheet-head{padding:14px 18px 12px;border-bottom:1px solid #eef2f6;display:flex;justify-content:space-between;align-items:center;gap:12px}.sheet-head h3{margin:0;font-size:18px}.sheet-head p{margin:4px 0 0;color:#667085;font-size:13px}.sheet-body{padding:14px 18px;overflow:auto}.sheet-search{display:grid;grid-template-columns:1fr 150px;gap:10px;margin-bottom:14px}.sheet-stats{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}.stat-pill{padding:6px 10px;border-radius:999px;background:#f2f4f7;font-size:12px;font-weight:800;color:#344054}.selector-tabs{display:flex;gap:8px;margin-bottom:12px}.selector-tab{padding:9px 12px;border-radius:10px;border:1px solid #d9e1ec;background:#fff;cursor:pointer;font-weight:800}.selector-tab.active{background:var(--soft);border-color:#b7d4ff;color:#0b63ce}.list-items{display:flex;flex-direction:column;gap:8px}.list-row{display:flex;align-items:flex-start;gap:12px;border:1px solid #e4e7ec;border-radius:14px;padding:12px 14px;cursor:pointer;background:#fff}.list-row.active{border-color:var(--blue);background:var(--soft);box-shadow:0 0 0 2px rgba(11,99,206,.08)}.list-row .icon{width:38px;height:38px;border-radius:10px;background:#eef4ff;display:grid;place-items:center;flex:0 0 auto}.list-row b{display:block;margin-bottom:2px}.list-row small{display:block;color:#667085;line-height:1.35}.radio-dot{margin-left:auto;flex:0 0 auto;width:22px;height:22px;border-radius:50%;border:2px solid #c7d1e1;display:grid;place-items:center}.list-row.active .radio-dot{border-color:var(--blue)}.list-row.active .radio-dot:after{content:'';width:10px;height:10px;border-radius:50%;background:var(--blue)}.sheet-foot{padding:14px 18px;border-top:1px solid #eef2f6;display:flex;justify-content:space-between;gap:10px;background:#fff}
@media(max-width:1050px){.grid2,.sheet-search{grid-template-columns:1fr}.picker-field{flex-direction:column}.sheet{max-height:92vh}.contact-row,.document-row{grid-template-columns:1fr}}


/* Driver, Client, and Attendance additions */
.driver-cell,.client-cell,.list-cell{display:flex;gap:10px;align-items:center}.driver-icon,.client-icon,.list-icon{width:42px;height:42px;border-radius:12px;background:#eef4ff;display:grid;place-items:center;font-size:22px;flex:none}.driver-table table{min-width:1120px}.client-table table{min-width:1180px}.attendance-table table{min-width:1280px}.photo-box{display:flex;gap:14px;align-items:center;border:1px dashed #cfd8e7;background:#fbfdff;border-radius:14px;padding:14px}.photo-avatar{width:66px;height:66px;border-radius:16px;background:#eef4ff;display:grid;place-items:center;font-size:32px;flex:none}.metric-box{background:#f8fbff;border:1px solid #d9eaff;border-radius:16px;padding:14px}.metric-box strong{font-size:24px;display:block}.metric-box span{font-size:13px;color:#667085}.quick-actions{display:flex;gap:10px;flex-wrap:wrap}.search-label{display:flex;align-items:center;justify-content:space-between;gap:8px}.search-tag{font-size:11px;font-weight:800;color:#0b63ce;background:#eef4ff;border-radius:999px;padding:3px 8px}.readonly{background:#f9fafb}.attendance-filters{grid-template-columns:1.7fr 1fr 1fr 1fr auto}
@media(max-width:1050px){.photo-box{align-items:flex-start;flex-direction:column}.quick-actions{display:grid;grid-template-columns:1fr 1fr}.attendance-filters{grid-template-columns:1fr}}

/* Employee module */
.employee-cell{display:flex;gap:10px;align-items:center}.employee-icon{width:42px;height:42px;border-radius:12px;background:#eef4ff;display:grid;place-items:center;font-size:22px;flex:none}.employee-table table{min-width:1340px}.employee-photo-box small{display:block;color:#667085;margin-top:6px;line-height:1.45}.employee-filters{grid-template-columns:1.5fr repeat(4,1fr)}@media(max-width:1050px){.employee-filters{grid-template-columns:1fr}}

/* Employee dynamic contact rows */
.emp-contact-row{grid-template-columns:140px 1fr 1fr auto;align-items:end;}
.emp-relationship-field{transition:opacity .15s ease;}
/* Employee dynamic document rows */
.emp-document-row{grid-template-columns:1.2fr 1fr 1.4fr auto;align-items:end;}
.empDocFile{padding:9px 11px;font-size:14px;}
.emp-upload-info{display:block;margin-top:6px;font-size:12px;color:#667085;line-height:1.4;min-height:18px;}
.emp-upload-info .pending-upload{color:#0b63ce;font-weight:750;}
.emp-upload-info a{color:var(--blue);font-weight:850;text-decoration:none;}
.emp-upload-info a:hover{text-decoration:underline;}
@media(max-width:1050px){.emp-contact-row,.emp-document-row{grid-template-columns:1fr;}}

/* Auth + Dashboard module */
.logout-form{margin:0}.logout-form-bottom{margin-top:auto;padding-top:16px}.logout-form button{width:100%;border:1px solid rgba(255,255,255,.10);background:rgba(255,255,255,.045);color:#dce6f8;border-radius:11px;padding:10px 12px;font-weight:850;text-align:left;cursor:pointer}.logout-form button:hover{background:rgba(255,255,255,.10)}
.login-body{min-height:100vh;background:linear-gradient(135deg,#0c172b 0%,#10294f 46%,#f4f7fb 46%,#f4f7fb 100%);display:grid;place-items:center;padding:24px}.login-shell{width:min(1120px,100%);display:grid;grid-template-columns:1.1fr .9fr;gap:24px;align-items:stretch}.login-brand-panel{background:linear-gradient(180deg,#111d33,#0b1426);color:#fff;border-radius:28px;padding:34px;box-shadow:0 24px 70px rgba(4,11,26,.28);min-height:620px;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;position:relative}.login-brand-panel:after{content:"";position:absolute;width:380px;height:380px;border-radius:50%;background:rgba(35,131,255,.18);right:-120px;bottom:-120px}.login-logo{position:relative;z-index:1;color:#2383ff;font-size:36px;font-weight:950;line-height:1}.login-logo small{display:block;color:#c6d2e5;font-size:13px;font-weight:700;margin-top:8px}.login-logo-image{text-align:center}.login-logo-image img{display:block;max-height:160px;max-width:100%;object-fit:contain;margin:0 auto}.login-brand-panel h1{position:relative;z-index:1;font-size:42px;line-height:1.08;margin:50px 0 12px;max-width:620px}.login-feature-grid{position:relative;z-index:1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:28px}.login-feature-grid div{border:1px solid rgba(255,255,255,.11);background:rgba(255,255,255,.055);border-radius:16px;padding:15px}.login-feature-grid b{display:block;margin-bottom:5px}.login-feature-grid span{display:block;color:#aebbd0;font-size:13px;line-height:1.35}.login-card{background:#fff;border:1px solid #edf0f5;border-radius:28px;padding:34px;box-shadow:0 24px 70px rgba(16,24,40,.16);display:flex;flex-direction:column;justify-content:center;min-width:0}.login-card-head span{display:inline-flex;background:#eef4ff;color:#174ea6;border-radius:999px;padding:7px 11px;font-weight:900;font-size:12px;margin-bottom:14px}.login-card-head h2{font-size:30px;margin:0 0 6px}.login-card-head p{margin:0 0 22px;color:#667085;line-height:1.5}.login-form{display:grid;gap:16px}.remember-line{display:flex;align-items:center;gap:9px;color:#475467;font-weight:750}.remember-line input{width:auto}.login-action-grid{display:grid;grid-template-columns:1fr;gap:10px}.login-submit{width:100%;justify-content:center;margin-top:6px}.forgot-password-btn{width:100%;justify-content:center}.auth-back-link{display:inline-flex;justify-content:center;color:#0b63ce;font-weight:850;text-decoration:none;padding:4px}.auth-back-link:hover{text-decoration:underline}.login-error,.login-success{border-radius:14px;padding:12px 14px;margin-bottom:16px;font-weight:750;line-height:1.45}.login-error{background:#fff1f0;color:#b42318;border:1px solid #ffd0cc}.login-success{background:#e7f8ef;color:#067647;border:1px solid #b7efcc}.fleet-footer.login-footer{grid-column:1/-1;position:static;margin:0;max-width:100%;background:transparent;color:#667085;padding:2px 16px 0;box-shadow:none}
.dashboard-hero{display:grid;grid-template-columns:1fr 340px;gap:18px;background:linear-gradient(135deg,#111d33,#0b63ce);border-radius:24px;padding:26px;margin-bottom:18px;color:#fff;box-shadow:0 16px 42px rgba(11,99,206,.18);overflow:hidden;position:relative}.dashboard-hero:after{content:"";position:absolute;width:280px;height:280px;border-radius:50%;right:-80px;top:-95px;background:rgba(255,255,255,.12)}.dashboard-hero>div{position:relative;z-index:1}.dashboard-eyebrow{display:inline-flex;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.10);border-radius:999px;padding:7px 11px;font-size:12px;font-weight:900;margin-bottom:14px}.dashboard-hero h1{font-size:34px;margin:0 0 9px}.dashboard-hero p{margin:0;color:#dce6f8;line-height:1.65;max-width:760px}.hero-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}.dashboard-hero-card{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.18);border-radius:20px;padding:18px;backdrop-filter:blur(8px)}.dashboard-hero-card small{display:block;color:#dce6f8;font-weight:850}.dashboard-hero-card strong{display:block;font-size:32px;margin:7px 0 2px}.dashboard-hero-card span{display:block;color:#dce6f8}.hero-mini-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:18px}.hero-mini-grid div{background:rgba(255,255,255,.12);border-radius:14px;padding:12px}.hero-mini-grid b{display:block;color:#fff;font-size:16px}.hero-mini-grid small{font-size:11px;color:#cbd7e8}.dashboard-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:18px}.dashboard-kpi-card{background:#fff;border:1px solid #edf0f5;border-radius:18px;padding:18px;box-shadow:0 8px 28px rgba(16,24,40,.05);display:flex;gap:13px;align-items:flex-start}.dashboard-kpi-card[href]{color:inherit;text-decoration:none}.dashboard-kpi-card[href]:hover{border-color:#d9eaff;background:#f8fbff}.dashboard-kpi-icon{width:46px;height:46px;border-radius:14px;background:#eef4ff;display:grid;place-items:center;font-size:23px;flex:none}.dashboard-kpi-card strong{display:block;font-size:28px;line-height:1}.dashboard-kpi-card span{display:block;font-weight:900;margin-top:5px}.dashboard-kpi-card small{display:block;color:#667085;margin-top:4px;line-height:1.35}.dashboard-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:18px}.dashboard-grid-wide{grid-template-columns:1fr 1fr}.dashboard-panel{height:calc(100% - 18px)}.finance-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.finance-box{background:#f8fbff;border:1px solid #d9eaff;border-radius:16px;padding:16px}.finance-box small{display:block;color:#667085;font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.04em;margin-bottom:8px}.finance-box b{font-size:22px}.warning-list{display:grid;gap:10px}.warning-row{display:flex;justify-content:space-between;align-items:center;gap:14px;background:#fff7ed;border:1px solid #fed7aa;border-radius:15px;padding:13px}.warning-row b{display:block;color:#9a3412}.warning-row span{display:block;color:#8a5a1f;font-size:13px;line-height:1.35;margin-top:3px}.warning-row strong{font-size:21px;color:#9a3412;white-space:nowrap}.compact-list{display:grid;gap:8px}.compact-row{display:flex;align-items:center;gap:12px;border:1px solid #edf0f5;border-radius:15px;padding:12px;text-decoration:none;color:#172033;background:#fff}.compact-row:hover{background:#f8fbff;border-color:#d9eaff}.compact-icon{width:40px;height:40px;border-radius:12px;background:#eef4ff;display:grid;place-items:center;font-size:20px;flex:none}.compact-row b{display:block}.compact-row>div:not(.compact-icon)>span:not(.badge){display:block;color:#667085;font-size:13px;margin-top:2px}.compact-row .badge{margin-left:auto}.compact-empty{border:1px dashed #cfd8e7;border-radius:15px}
@media(max-width:1050px){.login-shell{grid-template-columns:1fr}.login-brand-panel{min-height:auto}.login-brand-panel h1{font-size:32px}.dashboard-hero,.dashboard-grid,.dashboard-grid-wide{grid-template-columns:1fr}.dashboard-kpis{grid-template-columns:1fr 1fr}.dashboard-hero-card{max-width:none}.compact-row{align-items:flex-start}.compact-row .badge{margin-left:0}}
@media(max-width:650px){.login-body{padding:12px;background:#f4f7fb}.login-shell{gap:14px}.login-brand-panel,.login-card{border-radius:20px;padding:22px}.login-brand-panel h1{font-size:29px;margin-top:34px}.login-feature-grid,.finance-grid,.hero-mini-grid,.dashboard-kpis{grid-template-columns:1fr}.dashboard-hero{padding:20px;border-radius:20px}.dashboard-hero h1{font-size:26px}.fleet-footer.login-footer{padding:4px 8px 0;font-size:11px}.fleet-footer{font-size:11px;padding-left:12px;padding-right:12px}}

/* Dynamic report section */
.report-page{max-width:none;margin:0 auto 20px}.report-title-actions{display:flex;gap:10px;flex-wrap:wrap}.report-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.report-link-card{display:flex;gap:14px;text-decoration:none;background:#fff;border:1px solid #edf0f5;border-radius:18px;padding:18px;box-shadow:var(--shadow);color:var(--text);min-height:190px;transition:.2s}.report-link-card:hover{transform:translateY(-2px);border-color:#b8d7ff;background:#fbfdff}.report-link-icon{width:54px;height:54px;border-radius:16px;background:#eef4ff;display:grid;place-items:center;font-size:28px;flex:none}.report-link-card h2{margin:0 0 7px;font-size:19px}.report-link-card p{margin:0 0 14px;color:#667085;line-height:1.5}.report-link-card span{display:inline-flex;color:#0b63ce;font-weight:900}.report-filter-card{padding:16px}.report-filter-grid{display:grid;gap:12px}.daily-filter-grid{grid-template-columns:repeat(6,1fr)}.weekly-filter-grid,.monthly-filter-grid{grid-template-columns:1.6fr repeat(5,1fr)}.action-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}.report-kpis{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;margin-bottom:16px}.report-kpi{background:#fff;border:1px solid #edf0f5;border-radius:16px;padding:14px;box-shadow:var(--shadow)}.report-kpi strong{display:block;font-size:22px;margin-bottom:4px}.report-kpi span{font-size:13px;color:#667085}.report-shell{background:#fff;border:1px solid #dbe5f0;border-radius:16px;box-shadow:var(--shadow);padding:14px;margin-bottom:18px}.report-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:10px}.report-toolbar h2{margin:0 0 4px;font-size:18px}.report-toolbar p{margin:0;color:#667085;font-size:13px}.scroll-hint{padding:10px 12px;border:1px dashed #b8d7ff;background:#f8fbff;border-radius:12px;color:#344054;font-size:13px}.fixed-report-box{width:100%;max-width:100%;height:520px;overflow:hidden;border:1px solid #ccd9e8;border-radius:14px;background:#fff;display:flex;flex-direction:column}.table-scroller{width:100%;height:468px;overflow-x:auto;overflow-y:hidden}.report-shell table{width:100%;border-collapse:separate;border-spacing:0;background:#fff}.report-shell th,.report-shell td{padding:10px 12px;text-align:left;border-right:1px solid #d7e5f3;border-bottom:1px solid #d7e5f3;vertical-align:middle;white-space:nowrap;height:38px}.report-shell thead th{font-size:12px;color:#fff;background:#184f7d;letter-spacing:.02em;text-align:center;position:sticky;top:0;z-index:4;text-transform:none}.report-shell tr:nth-child(even) td{background:#f1fbff}.group-head,.date-group{background:#0f6ea9!important;border-left:3px solid #053e63!important;border-right:3px solid #053e63!important}.sub-head,.date-sub{background:#dff4ff!important;color:#16324f!important;border-left:3px solid #6cbde7!important;border-right:3px solid #6cbde7!important}.bordered-cell,.date-cell{border-left:3px solid #a6d9f5!important;border-right:3px solid #a6d9f5!important;text-align:right}.report-pagination{height:50px;border-top:1px solid #e4e7ec;display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;padding:8px 10px;background:#fbfcfe}.page-btns{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.page-btns .mini-btn.active{background:#0b63ce;color:#fff;border-color:#0b63ce}.report-progress{display:none;margin-top:12px;padding:14px;background:#f8fbff;border:1px solid #d9eaff;border-radius:14px}.bar-outer{height:12px;background:#e7edf5;border-radius:999px;overflow:hidden}.bar-inner{height:100%;width:0%;background:#0b63ce;border-radius:999px;transition:.25s}.progress-text{font-size:13px;color:#475467;margin-top:8px}.mobile-cards{display:none}.report-card{border:1px solid #e5e7eb;border-radius:16px;padding:14px;margin-bottom:12px;background:#fff}.report-card h3{margin:0 0 8px;font-size:16px}.mini-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;font-size:13px;color:#475467;margin-top:10px}.mini-grid div{padding:8px 10px;border-radius:10px;background:#f8fafc}.note-panel{padding:12px 14px;border:1px dashed #cbdcf5;background:#f8fbff;border-radius:14px;font-size:13px;color:#475467;margin-top:10px}.report-shell .empty{text-align:center;color:#667085;padding:40px}.report-shell .badge{margin:0}
@media(max-width:1180px){.daily-filter-grid,.weekly-filter-grid,.monthly-filter-grid{grid-template-columns:repeat(2,1fr)}.report-kpis,.report-card-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:900px){.report-page{max-width:100%}.title-card{flex-direction:column;align-items:flex-start}.report-title-actions,.action-row{display:grid;grid-template-columns:1fr 1fr;width:100%}.report-title-actions .btn,.action-row .btn{width:100%}.daily-filter-grid,.weekly-filter-grid,.monthly-filter-grid,.report-kpis,.report-card-grid{grid-template-columns:1fr}.fixed-report-box{display:none}.mobile-cards{display:block}.scroll-hint{display:none}}

/* FleetMan Master Data page */
.master-data-page{max-width:1220px;width:100%}.master-overview-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:18px}.master-overview-card{background:#fff;border:1px solid #edf0f5;border-radius:18px;padding:16px;box-shadow:var(--shadow);display:flex;gap:13px;align-items:center}.master-overview-icon{width:48px;height:48px;border-radius:15px;background:#eef4ff;display:grid;place-items:center;font-size:25px;flex:none}.master-overview-card strong{display:block;font-size:26px;line-height:1}.master-overview-card span{display:block;color:#667085;font-size:13px;margin-top:4px;line-height:1.35}.master-data-grid{display:grid;grid-template-columns:1fr;gap:18px}.master-card{margin-bottom:0}.master-form{display:grid;grid-template-columns:1.3fr 1fr .7fr .8fr;gap:14px;align-items:start;margin-bottom:18px}.master-form-full,.master-form-actions{grid-column:1 / -1}.master-form-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}.master-table-title{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin:6px 0 12px}.master-table-title b{display:block;font-size:15px}.master-table-title small{display:block;color:#667085;font-size:12px;margin-top:3px}.master-table-wrap table{min-width:980px}.master-table-wrap td:last-child{white-space:nowrap}.master-code{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono",monospace;font-weight:800;color:#344054}.master-description{max-width:360px;white-space:normal;color:#475467;line-height:1.4}.master-actions{display:flex;gap:6px;flex-wrap:wrap}.master-status-note{font-size:12px;color:#667085;margin-top:3px}.master-inline-note{border:1px dashed #cbdcf5;background:#f8fbff;border-radius:14px;padding:12px 14px;color:#475467;font-size:13px;line-height:1.45;margin-bottom:14px}@media(max-width:1050px){.master-form{grid-template-columns:repeat(2,minmax(0,1fr))}.master-overview-grid{grid-template-columns:1fr}}@media(max-width:650px){.master-form{grid-template-columns:1fr}.master-form-actions{display:grid;grid-template-columns:1fr}.master-form-actions .btn{width:100%}}

/* Sidebar submenu support */
.menu-block{margin:3px 0}.menu-item.has-children{position:relative}.submenu-arrow{margin-left:auto;color:#91a1bd;font-size:12px}.submenu{display:grid;gap:3px;margin:2px 0 8px 28px;padding-left:9px;border-left:1px solid rgba(255,255,255,.12)}.submenu-item{color:#c7d3e8;text-decoration:none;display:flex;align-items:center;gap:7px;padding:8px 9px;border-radius:9px;font-size:12px;font-weight:800;transition:background 0.15s ease, color 0.15s ease;outline:none;-webkit-tap-highlight-color:transparent}.submenu-item:hover,.submenu-item.active{background:rgba(255,255,255,.095);color:#fff}.menu-block.open .submenu-arrow{color:#fff}.master-overview-link{text-decoration:none;color:inherit;transition:.2s}.master-overview-link:hover{border-color:#b8d7ff;background:#fbfdff;transform:translateY(-1px)}

/* Vendor / Party full-width form and document upload row */
.vendor-party-page{max-width:none;width:100%;}
.vendor-party-form-layout{grid-template-columns:minmax(0,1fr);}
.vendor-party-form-layout>div{min-width:0;}
.document-row{grid-template-columns:1.15fr 1fr .9fr 1.25fr auto;}
.upload-meta{display:block;margin-top:6px;font-size:12px;color:#667085;line-height:1.35;}
.upload-meta a{color:var(--blue);font-weight:850;text-decoration:none;}
.upload-meta a:hover{text-decoration:underline;}
.partyDocFile{padding:9px 11px;}
@media(max-width:1050px){.document-row{grid-template-columns:1fr;}}

/* Vendor / Party document upload alignment */
.vendor-party-form-layout{grid-template-columns:minmax(0,1fr)!important;}
.vendor-party-form-layout>div{min-width:0;}
.vendor-party-page .document-row{display:grid;grid-template-columns:minmax(220px,1.15fr) minmax(180px,1fr) minmax(170px,.85fr) minmax(280px,1.2fr) auto;align-items:end;gap:16px;}
.vendor-party-page .document-row .field{min-width:0;}
.vendor-party-page .document-row .field label{min-height:22px;display:block;}
.vendor-party-page .document-row .partyDocFile{width:100%;min-height:56px;border:1px solid var(--line);border-radius:14px;background:#fff;padding:13px 14px;font-size:14px;color:#172033;}
.vendor-party-page .document-row .remove-row{align-self:end;min-height:56px;margin-bottom:0;white-space:nowrap;}
.vendor-party-page .upload-meta{display:block;margin-top:7px;min-height:18px;font-size:12px;color:#667085;line-height:1.35;}
.vendor-party-page .upload-meta .pending-upload{color:#0b63ce;font-weight:750;}
.vendor-party-page .upload-meta a{color:var(--blue);font-weight:850;text-decoration:none;}
.vendor-party-page .upload-meta a:hover{text-decoration:underline;}
@media(max-width:1050px){.vendor-party-page .document-row{grid-template-columns:1fr;align-items:stretch}.vendor-party-page .document-row .remove-row{width:100%;}}

/* Unified repeat-row alignment for fuel/document upload sections
   Applies to Vehicle fuel/document rows, Employee documents, Driver documents,
   and Vendor/Party documents so the controls line up consistently. */
.repeat-row{gap:16px;align-items:start;padding:16px;border-radius:18px;}
.repeat-row .field{min-width:0;}
.repeat-row .field label{display:block;min-height:22px;line-height:1.25;margin-bottom:8px;}
.repeat-row input[type="file"]{display:block;width:100%;min-height:48px;padding:10px 12px;line-height:1.45;background:#fff;border:1px solid var(--line);border-radius:12px;color:#172033;}
.repeat-row input[type="file"]::file-selector-button{margin-right:12px;border:1px solid #98a2b3;background:#fff;border-radius:8px;padding:6px 10px;font-weight:800;color:#172033;cursor:pointer;}
.repeat-row .upload-meta{display:block;min-height:20px;margin-top:8px;font-size:12px;color:#667085;line-height:1.4;}
.repeat-row .remove-row{align-self:start!important;margin-top:30px!important;min-height:48px;display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;}

#vehicleFuelRows .fuel-row{display:grid;grid-template-columns:minmax(180px,1fr) minmax(160px,.75fr) minmax(220px,1fr) auto;}
#vehicleFuelRows .fuel-row .fuelRateHint{min-height:20px;}

/* Every document section uses the exact vehicle-page row layout. */
.fleet-document-row{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr)) auto!important;grid-template-areas:"doc expiry reminder remove" "upload upload upload remove"!important;align-items:start!important;gap:16px!important;padding:16px!important;border:1px dashed #cfd8e7!important;border-radius:18px!important;background:#fbfdff!important;margin-bottom:10px!important;}
.fleet-document-row>.field:nth-child(1){grid-area:doc!important;}
.fleet-document-row>.field:nth-child(2){grid-area:expiry!important;}
.fleet-document-row>.field:nth-child(3){grid-area:reminder!important;}
.fleet-document-row>.field:nth-child(4){grid-area:upload!important;}
.fleet-document-row>.remove-row{grid-area:remove!important;width:auto!important;align-self:start!important;margin-top:30px!important;}
.contract-doc-card.fleet-document-row{box-shadow:none!important;}

@media(max-width:900px){
    #vehicleFuelRows .fuel-row,
    .fleet-document-row{grid-template-columns:1fr!important;grid-template-areas:none!important;}
    .fleet-document-row>.field,
    .fleet-document-row>.remove-row{grid-area:auto!important;}
    .fleet-document-row>.remove-row{width:100%!important;margin-top:0!important;}
}

/* Client page contact-person responsive layout */
.client-contact-card{
    container-type:inline-size;
    container-name:client-contact-card;
    min-width:0;
    max-width:100%;
}
#clientContacts{
    min-width:0;
    max-width:100%;
}
#clientContacts .contact-row{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    gap:16px 14px!important;
    align-items:start!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
}
#clientContacts .contact-row>.field,
#clientContacts .contact-row>.remove-row{
    grid-column:auto!important;
    grid-row:auto!important;
    grid-area:auto!important;
    min-width:0!important;
    max-width:100%!important;
}
#clientContacts .contact-row>.field label{
    min-height:auto;
    display:block;
    line-height:1.25;
    margin-bottom:8px;
    overflow-wrap:anywhere;
}
#clientContacts .contact-row input,
#clientContacts .contact-row select{
    display:block;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
}
#clientContacts .contact-row>.remove-row{
    width:100%!important;
    min-height:46px!important;
    height:46px!important;
    margin:0!important;
    align-self:end!important;
}

@container client-contact-card (min-width:600px){
    #clientContacts .contact-row{
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
    }
    #clientContacts .contact-row>.field label{
        min-height:44px;
        display:flex;
        align-items:flex-end;
    }
}

@container client-contact-card (min-width:900px){
    #clientContacts .contact-row{
        grid-template-columns:repeat(4,minmax(0,1fr))!important;
    }
    #clientContacts .contact-row>.remove-row{
        grid-column:1 / -1!important;
    }
}

@container client-contact-card (min-width:1120px){
    #clientContacts .contact-row{
        grid-template-columns:minmax(170px,1fr) minmax(180px,1fr) minmax(155px,.9fr) minmax(220px,1.2fr) minmax(104px,auto)!important;
    }
    #clientContacts .contact-row>.remove-row{
        grid-column:auto!important;
    }
}

@media(max-width:640px){
    .client-contact-card .section-head{
        display:grid;
        grid-template-columns:minmax(0,1fr);
        align-items:stretch;
    }
    .client-contact-card .section-head>div{
        min-width:0;
    }
    .client-contact-card .section-head .btn{
        width:100%;
        white-space:normal;
    }
}

/* Contract page - prototype-matched dynamic layout */
.contract-page .btn.small{padding:8px 12px;border-radius:10px;font-size:13px;min-height:38px;}
.contract-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:12px;}
.contract-col-12{grid-column:span 12;}.contract-col-8{grid-column:span 8;}.contract-col-6{grid-column:span 6;}.contract-col-5{grid-column:span 5;}.contract-col-4{grid-column:span 4;}.contract-col-3{grid-column:span 3;}.contract-col-2{grid-column:span 2;}.contract-col-1{grid-column:span 1;}
.segmented{display:flex;gap:10px;flex-wrap:wrap;}
.segmented .chip{border:1px solid #d0d5dd;background:#fff;color:#344054;border-radius:999px;padding:10px 14px;cursor:pointer;font-weight:800;min-height:42px;}
.segmented .chip.active{background:#eef4ff;color:#1849a9;border-color:#84b6ff;}
.contract-assignment-card,.contract-doc-card{border:1px solid #dfe8f3;border-radius:16px;padding:14px;background:#fbfdff;margin-bottom:12px;}
.contract-card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;}
.contract-card-title{font-weight:900;color:#344054;}
.contract-card-hint{font-size:12px;color:#667085;line-height:1.4;}
.contract-page .notice{padding:12px 14px;border:1px dashed #cbdcf5;background:#f8fbff;border-radius:14px;font-size:13px;color:#475467;}
.contract-doc-card input[type="file"]{display:block;width:100%;min-height:48px;padding:10px 12px;line-height:1.45;background:#fff;border:1px solid var(--line);border-radius:12px;color:#172033;}
.contract-doc-card input[type="file"]::file-selector-button{margin-right:12px;border:1px solid #98a2b3;background:#fff;border-radius:8px;padding:6px 10px;font-weight:800;color:#172033;cursor:pointer;}
.contract-upload-info{display:block;min-height:20px;margin-top:8px;font-size:12px;color:#667085;line-height:1.4;}
.contract-upload-info a{color:var(--blue);font-weight:800;text-decoration:none;}
.contract-page .field-invalid .segmented{border:1px solid #d92d20;box-shadow:0 0 0 3px rgba(217,45,32,.12);background:#fffafa;border-radius:14px;padding:6px;}
.contract-kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-bottom:16px;}
.contract-kpi{background:var(--card);border:1px solid #edf0f5;border-radius:16px;padding:14px;box-shadow:var(--shadow);}
.contract-kpi strong{display:block;font-size:22px;margin-bottom:4px;}
.contract-kpi span{font-size:13px;color:var(--muted);}
.contract-list-shell{background:#fff;border:1px solid #dbe5f0;border-radius:16px;box-shadow:var(--shadow);padding:14px;margin-bottom:18px;}
.contract-list-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:10px;}
.contract-list-toolbar h2{margin:0 0 4px;font-size:18px;}.contract-list-toolbar p{margin:0;color:#667085;font-size:13px;}
.contract-fixed-table-box{width:100%;max-width:100%;height:520px;overflow:hidden;border:1px solid #ccd9e8;border-radius:14px;background:#fff;display:flex;flex-direction:column;}
.contract-table-scroller{width:100%;height:468px;overflow-x:auto;overflow-y:auto;}
.contract-fixed-table-box table{width:100%;min-width:1500px;border-collapse:separate;border-spacing:0;background:#fff;}
.contract-fixed-table-box th,.contract-fixed-table-box td{padding:10px 12px;text-align:left;border-right:1px solid #d7e5f3;border-bottom:1px solid #d7e5f3;vertical-align:middle;white-space:nowrap;height:38px;}
.contract-fixed-table-box thead th{font-size:12px;color:#fff;background:#184f7d;letter-spacing:.02em;text-align:center;position:sticky;top:0;z-index:4;text-transform:none;}
.contract-fixed-table-box tr:nth-child(even) td{background:#f1fbff;}
.contract-pagination{height:50px;border-top:1px solid #e4e7ec;display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;padding:8px 10px;background:#fbfcfe;}
.contract-page-buttons{display:flex;gap:6px;align-items:center;flex-wrap:wrap;}
.contract-page .contract-empty{padding:20px;border:1px dashed #cbd5e1;border-radius:14px;color:#667085;background:#fafcff;text-align:center;}
.contract-mobile-cards{display:none;}
.contract-card-mobile{border:1px solid #e5e7eb;border-radius:16px;padding:14px;margin-bottom:12px;background:#fff;}
.contract-card-mobile h3{margin:0 0 8px;font-size:16px;}
.contract-mini-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;font-size:13px;color:#475467;margin-top:10px;}
.contract-mini-grid div{padding:8px 10px;border-radius:10px;background:#f8fafc;}
@media(max-width:1100px){.contract-grid{grid-template-columns:repeat(2,minmax(0,1fr));}.contract-col-12,.contract-col-8,.contract-col-6,.contract-col-5,.contract-col-4,.contract-col-3,.contract-col-2,.contract-col-1{grid-column:span 1;}.contract-kpis{grid-template-columns:repeat(2,minmax(0,1fr));}.contract-doc-card .contract-col-5{grid-column:span 2;}}
@media(max-width:900px){.contract-grid,.contract-kpis{grid-template-columns:1fr;}.contract-doc-card .contract-col-5{grid-column:auto;}.contract-fixed-table-box{display:none;}.contract-mobile-cards{display:block;}.contract-page .actionBar,.contract-page .save-bar{display:grid;grid-template-columns:1fr 1fr;}.contract-page .btn{width:100%;}.segmented .chip{flex:1;justify-content:center;}}
.contract-page-buttons .mini-btn.active{background:#0b63ce;color:#fff;border-color:#0b63ce;}

/* Fuel recharge live camera capture */
.fuel-camera-modal{position:fixed;inset:0;background:rgba(15,23,42,.72);z-index:120;display:grid;place-items:center;padding:18px}.fuel-camera-modal.hidden{display:none!important}.fuel-camera-panel{width:min(720px,100%);max-height:calc(100vh - 36px);max-height:calc(100dvh - 36px);overflow:auto;background:#fff;border-radius:18px;box-shadow:0 24px 80px rgba(0,0,0,.35);padding:16px;border:1px solid #e3ebf7}.fuel-camera-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.fuel-camera-head strong{font-size:18px;color:#172033}.fuel-camera-video-wrap{position:relative;min-height:240px;border-radius:16px;overflow:hidden;background:#0f172a}.fuel-camera-panel video{display:block;width:100%;min-height:240px;max-height:62vh;background:#0f172a;object-fit:cover;border:1px solid #d9e6f7}.fuel-camera-loading{position:absolute;inset:0;display:grid;place-items:center;padding:24px;background:rgba(15,23,42,.72);color:#fff;text-align:center;font-weight:700}.fuel-camera-loading.hidden{display:none}.fuel-camera-actions{display:flex;justify-content:center;flex-wrap:wrap;gap:10px;margin-top:14px}.fuel-camera-note{margin:10px 0 0;color:#667085;font-size:12px;line-height:1.4;text-align:center}.hidden-camera-input{position:fixed!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important;left:-9999px!important}.camera-support-notice{display:flex;flex-direction:column;gap:4px;margin:0 0 14px;padding:12px 14px;border:1px solid #dbe7f5;border-radius:12px;background:#f8fbff;color:#334155}.camera-support-notice[hidden]{display:none!important}.camera-support-notice.warning{border-color:#f2cf7a;background:#fff8e6;color:#7a4b00}.camera-support-notice b{font-size:14px}.camera-support-notice span{font-size:13px;line-height:1.45}@media(max-width:640px){.fuel-camera-modal{padding:0;align-items:end}.fuel-camera-panel{width:100%;max-height:100vh;max-height:100dvh;border-radius:18px 18px 0 0;padding:14px}.fuel-camera-video-wrap,.fuel-camera-panel video{min-height:42vh}.fuel-camera-actions .btn{flex:1 1 150px}}

/* Role based access matrix */
.role-matrix-page{max-width:1380px;}
.role-alert{border-radius:14px;padding:13px 15px;margin-bottom:16px;border:1px solid;display:grid;gap:4px;font-size:14px;line-height:1.45;}
.role-alert-success{background:#ecfdf3;border-color:#abefc6;color:#067647;}
.role-alert-danger{background:#fff1f0;border-color:#ffccc7;color:#b42318;}
.role-overview-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-bottom:18px;}
.role-overview-card{background:#fff;border:1px solid #edf0f5;border-radius:18px;box-shadow:var(--shadow);padding:15px;display:flex;gap:12px;align-items:flex-start;min-height:150px;}
.role-overview-card.super{border-color:#b8d7ff;background:#fbfdff;}
.role-overview-icon{width:44px;height:44px;border-radius:14px;background:#eef4ff;display:grid;place-items:center;font-size:24px;flex:none;}
.role-overview-card strong{display:block;font-size:16px;margin-bottom:5px;}
.role-overview-card span{display:block;color:#667085;font-size:12px;line-height:1.45;}
.role-overview-card small{display:inline-flex;margin-top:10px;color:#0b63ce;font-weight:900;font-size:12px;}
.role-card{padding:18px;}
.role-matrix-note{border:1px dashed #cbdcf5;background:#f8fbff;border-radius:14px;padding:12px 14px;color:#475467;font-size:13px;line-height:1.45;margin-bottom:14px;}
.role-matrix-table-wrap table,.role-user-table-wrap table{min-width:1180px;}
.role-matrix-table th,.role-matrix-table td,.role-user-table th,.role-user-table td{vertical-align:middle;}
.role-module-row td{background:#eef4ff!important;color:#174ea6;font-weight:900;text-transform:uppercase;letter-spacing:.04em;font-size:12px;}
.role-permission-col{min-width:310px;white-space:normal;}
.role-permission-col b{display:block;font-size:14px;color:#172033;margin-bottom:4px;}
.role-permission-col span{display:block;color:#667085;font-size:12px;line-height:1.4;max-width:470px;}
.role-permission-col code{display:inline-flex;margin-top:7px;background:#f2f4f7;border:1px solid #e4e7ec;color:#344054;border-radius:999px;padding:3px 7px;font-size:11px;font-weight:800;}
.role-check-cell{text-align:center;min-width:128px;}
.role-check{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid #e4e7ec;background:#fff;border-radius:999px;padding:7px 10px;cursor:pointer;font-size:12px;font-weight:900;color:#667085;min-width:104px;}
.role-check.checked{background:#e7f8ef;border-color:#abefc6;color:#067647;}
.role-check.disabled{cursor:not-allowed;opacity:.78;}
.role-check input{width:auto;min-height:auto;margin:0;accent-color:#0b63ce;}
.role-user-table td:first-child b{display:inline-block;margin-right:8px;}
.role-save-bar{border-radius:18px 18px 0 0;}
@media(max-width:1200px){.role-overview-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:650px){.role-overview-grid{grid-template-columns:1fr;}.role-card .section-head{display:grid;}.role-card .section-head .btn{width:100%;}}

/* Responsive persistent sidebar/menu update */
.sidebar{scrollbar-gutter:stable;overscroll-behavior:contain;}
.sidebar::-webkit-scrollbar{width:8px;}
.sidebar::-webkit-scrollbar-thumb{background:rgba(255,255,255,.18);border-radius:999px;}
.menu-item.has-children{cursor:pointer;user-select:none;}
.menu-item.has-children .submenu-arrow{transition:transform .18s ease,color .18s ease;}
.menu-block:not(.open)>.submenu{display:none;}
.menu-block.open>.submenu{display:grid;}
.menu-block.open>.menu-item.has-children .submenu-arrow{transform:rotate(180deg);}
.menu-block>.submenu{animation:none;}
@media(max-width:1050px){
    body.drawer-open{overflow:hidden;}
    .sidebar{left:0;max-width:calc(100vw - 48px);box-shadow:24px 0 70px rgba(0,0,0,.32);padding-bottom:calc(16px + env(safe-area-inset-bottom));}
    .mobile-top{gap:10px;}
    .mobile-top button{min-width:86px;}
    .main-content{min-height:calc(100vh - 54px);}
}
@media(max-width:520px){
    .sidebar{width:86vw;max-width:360px;}
    .logo-card{min-height:86px;}
    .logo-mark{font-size:24px;}
    .account-card{align-items:flex-start;}
    .menu-title{margin-top:14px;}
    .mobile-top b{font-size:16px;}
    .mobile-top span{display:none;}
}

/* Detail modal used by View buttons for admin/super-admin users */
.fleet-detail-open{overflow:hidden;}
.fleet-detail-overlay{position:fixed;inset:0;background:rgba(8,15,30,.58);backdrop-filter:blur(5px);display:none;align-items:flex-start;justify-content:center;z-index:3000;padding:28px 16px;overflow:auto;}
.fleet-detail-overlay.show{display:flex;}
.fleet-detail-panel{width:min(1040px,100%);background:#fff;border-radius:24px;box-shadow:0 32px 90px rgba(8,15,30,.28);overflow:hidden;border:1px solid #e6ecf5;}
.fleet-detail-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:24px 26px;background:linear-gradient(135deg,#102044,#183a70);color:#fff;}
.fleet-detail-kicker{display:inline-flex;align-items:center;border:1px solid rgba(255,255,255,.22);background:rgba(255,255,255,.1);border-radius:999px;padding:5px 10px;font-size:12px;font-weight:900;margin-bottom:10px;}
.fleet-detail-head h2{margin:0;font-size:26px;line-height:1.15;color:#fff;}
.fleet-detail-head p{margin:7px 0 0;color:#cfe0f7;font-weight:750;}
.fleet-detail-close{width:40px;height:40px;border:0;border-radius:13px;background:rgba(255,255,255,.13);color:#fff;font-size:28px;line-height:1;cursor:pointer;}
.fleet-detail-body{padding:24px;display:grid;gap:20px;max-height:calc(100vh - 190px);overflow:auto;}
.fleet-detail-section{border:1px solid #e9eef6;border-radius:20px;background:#fbfdff;padding:18px;}
.fleet-detail-section h3{margin:0 0 14px;font-size:17px;color:#12213b;}
.fleet-detail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;}
.fleet-detail-field,.fleet-detail-mini-card{background:#fff;border:1px solid #edf1f7;border-radius:15px;padding:13px;min-width:0;}
.fleet-detail-field small,.fleet-detail-mini-card small,.fleet-detail-file-row small{display:block;color:#667085;font-weight:800;font-size:11px;margin-bottom:5px;}
.fleet-detail-field strong,.fleet-detail-mini-card b{display:block;color:#17233d;word-break:break-word;}
.fleet-detail-mini-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}
.fleet-detail-mini-card{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;}
.fleet-detail-mini-title{grid-column:1/-1;color:#174ea6;font-weight:950;margin-bottom:2px;}
.fleet-detail-image-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;}
.fleet-detail-image-card{display:block;text-decoration:none;color:#17233d;border:1px solid #edf1f7;background:#fff;border-radius:16px;overflow:hidden;font-weight:850;}
.fleet-detail-image-card img{display:block;width:100%;height:145px;object-fit:cover;background:#eef2f8;}
.fleet-detail-image-card span{display:block;padding:10px 12px;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.fleet-detail-file-list{display:grid;gap:10px;}
.fleet-detail-file-row{display:flex;align-items:center;justify-content:space-between;gap:14px;background:#fff;border:1px solid #edf1f7;border-radius:15px;padding:12px 14px;}
.fleet-detail-muted{color:#667085;font-weight:750;margin:0;}
@media(max-width:780px){.fleet-detail-overlay{padding:0}.fleet-detail-panel{border-radius:0;min-height:100vh}.fleet-detail-head{padding:20px}.fleet-detail-body{max-height:none;padding:16px}.fleet-detail-grid,.fleet-detail-mini-grid,.fleet-detail-mini-card,.fleet-detail-image-grid{grid-template-columns:1fr}.fleet-detail-file-row{align-items:flex-start;flex-direction:column}.fleet-detail-file-row .mini-btn{width:100%;justify-content:center}}


/* Preload state to prevent initial load animation flash */
.preload * { animation: none !important; transition: none !important; }


/* Fuel-station capability configuration */
.fuel-station-config.hidden { display: none !important; }
.fuel-type-check-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: 10px;
    margin-top: 8px;
}
.fuel-type-check {
    display: flex;
    align-items: center;
    gap: 9px;
    min-height: 42px;
    padding: 9px 12px;
    border: 1px solid #dbe3ee;
    border-radius: 10px;
    background: #fff;
    cursor: pointer;
}
.fuel-type-check input {
    width: 17px;
    height: 17px;
    margin: 0;
    flex: 0 0 auto;
}
.fuel-type-check:has(input:checked) {
    border-color: #2563eb;
    background: #eff6ff;
}
@media (max-width: 600px) {
    .fuel-type-check-grid { grid-template-columns: 1fr 1fr; }
}

/* Trip page: searchable assignments, multi-method payments, and inline validation */
.trip-list-filters{grid-template-columns:minmax(220px,1.5fr) minmax(180px,1fr) auto;align-items:center}
.trip-filter-actions{display:flex;gap:10px;justify-content:flex-end}
.trip-payment-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:20px 0 12px}
.trip-payment-head h3{margin:0;font-size:16px}
.trip-payment-head p{margin:4px 0 0;color:var(--muted);font-size:13px;line-height:1.45}
.trip-payment-list{display:grid;gap:12px}
.trip-payment-empty{border:1px dashed #cfd8e7;border-radius:14px;background:#fbfdff;color:#667085;padding:20px;text-align:center;font-size:13px}
.trip-payment-row{display:grid;grid-template-columns:minmax(170px,1fr) minmax(140px,.75fr) minmax(180px,1fr) auto;gap:12px;align-items:end;padding:14px;border:1px solid #dfe7f2;border-radius:15px;background:#fbfdff}
.trip-payment-row .remove-trip-payment{min-height:46px}
.field-invalid input,.field-invalid select,.field-invalid textarea,input.field-invalid,select.field-invalid,textarea.field-invalid{border-color:#d92d20!important;box-shadow:0 0 0 3px rgba(217,45,32,.12)!important;background:#fffafa}
.field-error{margin-top:6px;color:#b42318;font-size:12px;font-weight:700;line-height:1.35}
.trip-payment-state{display:inline-flex;border-radius:999px;padding:5px 9px;font-size:11px;font-weight:900;margin-top:6px}
.trip-payment-state.paid{background:#e7f8ef;color:#067647}
.trip-payment-state.partial{background:#fff4df;color:#a15c00}
.trip-payment-state.unpaid{background:#fff1f0;color:#b42318}
@media(max-width:760px){
    .trip-list-filters{grid-template-columns:1fr}
    .trip-filter-actions{justify-content:stretch}.trip-filter-actions .btn{flex:1}
    .trip-payment-summary{grid-template-columns:1fr}
    .trip-payment-head{align-items:flex-start;flex-direction:column}.trip-payment-head .btn{width:100%}
    .trip-payment-row{grid-template-columns:1fr}.trip-payment-row .remove-trip-payment{width:100%}
}


/* Add Log: inline validation for required fields and status choices */
#attendanceStatusField.field-invalid #attendanceStatusChoices {
    border: 1px solid #d92d20;
    border-radius: 12px;
    padding: 8px;
    box-shadow: 0 0 0 3px rgba(217,45,32,.12);
    background: #fffafa;
}


/* Fuel Recharge: full-width layout and field-level validation */
#rechargeAddPage .photo-card.field-invalid{border-color:#d92d20!important;box-shadow:0 0 0 3px rgba(217,45,32,.12)!important;background:#fffafa}
#rechargeAddPage .photo-card.field-invalid .stage{background:#fff7f7}
#rechargeAddPage .photo-card .field-error{margin:0 14px 14px}
#rechargeAddPage .field-invalid input[readonly],#rechargeAddPage .field-invalid select[disabled]{background:#fffafa}

/* Immediate temporary uploads used by all document and image fields */
.temp-upload-progress{margin-top:8px}
.temp-upload-progress.hidden{display:none}
.temp-upload-progress-track{height:8px;border-radius:999px;background:#e8eef7;overflow:hidden}
.temp-upload-progress-bar{height:100%;width:0;background:linear-gradient(90deg,#2563eb,#0ea5e9);transition:width .15s ease}
.temp-upload-progress-label{display:block;margin-top:5px;color:#475467;font-weight:700}
.temp-upload-file{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-top:8px;padding:9px 11px;border:1px solid #dbe5f1;border-radius:10px;background:#f8fbff}
.temp-upload-file-link{color:#175cd3;font-weight:800;overflow-wrap:anywhere}
.temp-upload-file span{color:#667085;font-size:12px;font-weight:700}
.temp-upload-preview-link{display:inline-block;margin-top:10px}
.temp-upload-preview{display:block;max-width:180px;max-height:130px;object-fit:contain;border:1px solid #dce5f0;border-radius:10px;background:#fff;padding:5px}
.upload-error,.upload-error-text{color:#b42318!important;font-weight:700}
.upload-meta{display:block}

/* Laravel-backed Payment Type master */
.master-actions form{margin:0}
a.mini-btn{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;line-height:38px}

/* Add Log: keep each time field with its own quick actions; status stays on the next row */
#attendanceAddPage .attendance-time-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:16px;
    align-items:end;
}
#attendanceAddPage .attendance-time-group{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto auto;
    gap:10px;
    align-items:end;
    min-width:0;
}
#attendanceAddPage .attendance-time-group .field{min-width:0;}
#attendanceAddPage .attendance-time-group .btn{min-width:104px;}
#attendanceAddPage .attendance-status-row{margin-top:16px;}
@media(max-width:1180px){
    #attendanceAddPage .attendance-time-grid{grid-template-columns:1fr;}
}
@media(max-width:650px){
    #attendanceAddPage .attendance-time-group{grid-template-columns:1fr 1fr;}
    #attendanceAddPage .attendance-time-group .field{grid-column:1 / -1;}
    #attendanceAddPage .attendance-time-group .btn{width:100%;min-width:0;}
}

/* Role creation and mobile sidebar scrolling */
@media(max-width:1050px){
    .sidebar{
        height:100vh;
        height:100dvh;
        max-height:100vh;
        max-height:100dvh;
        min-height:0;
        overflow-y:auto;
        overflow-x:hidden;
        -webkit-overflow-scrolling:touch;
        touch-action:pan-y;
    }
    .sidebar .menu-nav{flex:0 0 auto;min-height:0;}
    .sidebar .logout-form-bottom{
        flex:0 0 auto;
        margin-top:16px;
        padding-bottom:calc(8px + env(safe-area-inset-bottom));
    }
}
@media(max-width:760px){
    .role-create-grid{grid-template-columns:1fr;}
}

/* Final document-row normalization: overrides older module-specific upload styling. */
.fleet-document-row input[type="file"]{
    display:block!important;
    width:100%!important;
    min-height:48px!important;
    padding:10px 12px!important;
    line-height:1.45!important;
    background:#fff!important;
    border:1px solid var(--line)!important;
    border-radius:12px!important;
    color:#172033!important;
    font-size:15px!important;
}
.fleet-document-row input[type="file"]::file-selector-button{
    margin-right:12px!important;
    border:1px solid #98a2b3!important;
    background:#fff!important;
    border-radius:8px!important;
    padding:6px 10px!important;
    font-weight:800!important;
    color:#172033!important;
    cursor:pointer!important;
}
.fleet-document-row>.remove-row{
    min-height:48px!important;
    margin-bottom:0!important;
}

/* Role-based access: unavailable options stay visible but muted and non-interactive. */
.menu-item.rbac-muted,
.submenu-item.rbac-muted{
    opacity:.42;
    cursor:not-allowed;
    filter:grayscale(.65);
    user-select:none;
}
.menu-item.rbac-muted:hover,
.submenu-item.rbac-muted:hover{
    background:transparent;
    color:inherit;
}
.rbac-lock{
    margin-left:auto;
    font-size:11px;
    opacity:.8;
}
.rbac-control-muted,
.rbac-control-muted:hover{
    opacity:.42!important;
    cursor:not-allowed!important;
    filter:grayscale(.7);
    transform:none!important;
    box-shadow:none!important;
}
.rbac-readonly-banner{
    display:flex;
    align-items:center;
    gap:11px;
    margin:0 auto 16px;
    max-width:1320px;
    padding:12px 14px;
    border:1px solid #d8dee9;
    border-radius:14px;
    background:#f6f7f9;
    color:#475467;
}
.rbac-readonly-banner>span{font-size:20px;flex:none;}
.rbac-readonly-banner b{display:block;color:#344054;font-size:14px;}
.rbac-readonly-banner small{display:block;margin-top:2px;line-height:1.4;}
.dashboard-access-muted,
.compact-row.dashboard-access-muted{
    opacity:.46;
    cursor:not-allowed;
    filter:grayscale(.65);
    pointer-events:none;
}

/* Report filters: native searchable dropdowns and contract-based dependent fields */
.report-searchable-field{min-width:0;}
.report-searchable-field .search-label{min-height:24px;margin-bottom:7px;}
.report-searchable-field .search-label label{margin-bottom:0;}
.report-searchable-field input[list]{padding-right:36px;background-color:#fff;}
.report-searchable-field input[list]:disabled{background:#eef1f5;color:#667085;cursor:not-allowed;}

/* User management edit modal and account states */
.user-modal-open{overflow:hidden;}
.user-edit-modal{position:fixed;inset:0;z-index:3200;background:rgba(8,15,30,.62);backdrop-filter:blur(5px);display:flex;align-items:flex-start;justify-content:center;padding:28px 16px;overflow:auto;}
.user-edit-panel{width:min(860px,100%);background:#fff;border:1px solid #e6ecf5;border-radius:24px;box-shadow:0 32px 90px rgba(8,15,30,.3);overflow:hidden;}
.user-edit-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:22px 24px;background:linear-gradient(135deg,#102044,#183a70);color:#fff;}
.user-edit-kicker{display:inline-flex;border:1px solid rgba(255,255,255,.22);background:rgba(255,255,255,.1);border-radius:999px;padding:5px 10px;font-size:12px;font-weight:900;margin-bottom:9px;}
.user-edit-head h2{margin:0;color:#fff;font-size:25px;}
.user-edit-head p{margin:6px 0 0;color:#cfe0f7;font-size:13px;}
.user-edit-close{width:40px;height:40px;border:0;border-radius:13px;background:rgba(255,255,255,.13);color:#fff;font-size:28px;line-height:1;cursor:pointer;flex:none;}
.user-edit-body{padding:22px 24px;max-height:calc(100vh - 235px);overflow:auto;}
.user-password-box{margin-top:18px;padding:16px;border:1px solid #d9eaff;background:#f8fbff;border-radius:16px;}
.user-password-box .section-head{margin-bottom:14px;}
.user-password-box h3{margin:0;font-size:16px;}
.user-edit-actions{display:flex;justify-content:flex-end;gap:10px;padding:16px 24px;border-top:1px solid #e7edf5;background:#fbfcfe;}
.role-user-table td:last-child{white-space:nowrap;}
@media(max-width:650px){.user-edit-modal{padding:0;align-items:stretch}.user-edit-panel{border-radius:0;min-height:100vh}.user-edit-head{padding:20px}.user-edit-body{max-height:none;padding:18px 16px}.user-edit-body .grid{grid-template-columns:1fr}.user-edit-actions{position:sticky;bottom:0;padding:14px 16px}.user-edit-actions .btn{flex:1}}

/* Contract list: keep start and end dates readable inside the horizontal scroller. */
.contract-table table{
    min-width:1280px;
}
.contract-table th:nth-child(6),
.contract-table td:nth-child(6),
.contract-table th:nth-child(7),
.contract-table td:nth-child(7){
    width:150px;
    min-width:150px;
    white-space:nowrap;
}

/* Report filters: balanced columns and consistent control alignment on every report page. */
.report-filter-card .report-filter-grid{
    align-items:end;
    column-gap:14px;
    row-gap:14px;
}
.report-filter-card .report-filter-grid>.field{
    display:flex;
    min-width:0;
    flex-direction:column;
    justify-content:flex-end;
}
.report-filter-card .report-filter-grid>.field>label,
.report-filter-card .report-filter-grid>.field>.search-label{
    width:100%;
    min-height:24px;
    margin:0 0 7px;
    align-items:center;
}
.report-filter-card .report-filter-grid>.field>label{
    display:flex;
}
.report-filter-card .report-filter-grid input,
.report-filter-card .report-filter-grid select{
    width:100%;
    height:46px;
    min-height:46px;
}
.report-filter-card .daily-filter-grid{
    grid-template-columns:repeat(4,minmax(0,1fr));
}
.report-filter-card .weekly-filter-grid,
.report-filter-card .monthly-filter-grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
}
@media(max-width:1180px){
    .report-filter-card .daily-filter-grid,
    .report-filter-card .weekly-filter-grid,
    .report-filter-card .monthly-filter-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}
@media(max-width:900px){
    .report-filter-card .daily-filter-grid,
    .report-filter-card .weekly-filter-grid,
    .report-filter-card .monthly-filter-grid{
        grid-template-columns:1fr;
    }
}

/* Parking yard module */
.yard-page{max-width:1220px;width:100%;}
.yard-form-row{margin-top:16px;}
.yard-repeat-list{display:flex;flex-direction:column;gap:12px;}
.yard-repeat-card{border:1px solid #dfe8f3;border-radius:16px;padding:15px;background:#fbfdff;}
.yard-repeat-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px;}
.yard-repeat-head b{display:block;font-size:15px;}
.yard-repeat-head small{display:block;color:#667085;margin-top:3px;line-height:1.4;}
.yard-zone-grid{display:grid;grid-template-columns:1.1fr 1fr .8fr auto;gap:12px;align-items:end;}
.yard-document-grid{display:grid;grid-template-columns:1.05fr .6fr 1.4fr auto;gap:12px;align-items:end;}
.yard-repeat-card .remove-yard-row{min-height:46px;white-space:nowrap;}
.yard-empty-note{border:1px dashed #cbdcf5;background:#f8fbff;border-radius:14px;padding:12px 14px;color:#667085;font-size:13px;line-height:1.45;}
.yard-list-filters{display:grid;grid-template-columns:minmax(280px,1.6fr) minmax(170px,.7fr) minmax(170px,.7fr) auto;gap:12px;align-items:end;}
.yard-filter-actions{display:flex;gap:8px;align-items:end;}
.yard-table{min-width:1400px;}
.yard-table td,.yard-table th{white-space:nowrap;}
.yard-table .yard-name-cell{white-space:normal;min-width:210px;}
.yard-table .yard-action-cell{min-width:230px;}
.yard-pagination{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding-top:14px;}
.yard-page-buttons{display:flex;align-items:center;gap:6px;flex-wrap:wrap;}
.yard-page-buttons #yardPageNumbers{display:flex;gap:6px;flex-wrap:wrap;}
.yard-mobile-list{display:none;}
.yard-mobile-card{border:1px solid #e4e7ec;border-radius:16px;padding:14px;margin-top:12px;background:#fff;}
.yard-mobile-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:10px;}
.yard-mobile-card-head h3{margin:0 0 4px;font-size:16px;}
.yard-mobile-card-head small{color:#667085;}
.yard-mobile-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:10px;}
.yard-mobile-grid div{background:#f8fafc;border-radius:10px;padding:9px 10px;font-size:12px;color:#475467;}
.yard-mobile-grid b{display:block;color:#172033;margin-top:3px;font-size:13px;}
.yard-mobile-actions{display:flex;gap:8px;flex-wrap:wrap;}
.yard-upload-progress{margin-top:7px;}
.yard-document-file{width:100%;}
.yard-document-file input[type=file]{padding:9px 10px;}
.yard-document-file .upload-meta{min-height:18px;}
@media(max-width:1050px){
    .yard-zone-grid,.yard-document-grid,.yard-list-filters{grid-template-columns:1fr;align-items:stretch;}
    .yard-filter-actions{display:grid;grid-template-columns:1fr 1fr;}
    .yard-repeat-card .remove-yard-row{width:100%;}
}
@media(max-width:760px){
    .yard-table-wrap{display:none;}
    .yard-mobile-list{display:block;}
    .yard-pagination{align-items:stretch;flex-direction:column;}
    .yard-page-buttons{justify-content:space-between;}
    .yard-mobile-actions .mini-btn{flex:1;}
}

/* Document Type master: multi-module checkbox selector */
.document-type-master-form{grid-template-columns:1.3fr 1fr .7fr .8fr}
.document-type-check-field{min-width:0;margin:0;padding:0;border:0}
.document-type-check-field legend{display:block;width:100%;padding:0;margin:0 0 8px;color:#344054;font-size:14px;font-weight:800}
.document-type-check-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.document-type-check{display:flex;align-items:center;gap:9px;min-height:46px;padding:10px 12px;border:1px solid var(--line);border-radius:11px;background:#fff;color:#344054;font-size:13px;font-weight:800;cursor:pointer;transition:border-color .16s ease,background .16s ease,box-shadow .16s ease}
.document-type-check:hover{border-color:#91bfff;background:#f8fbff}
.document-type-check input{width:18px;height:18px;min-height:auto;margin:0;flex:0 0 auto;accent-color:#0b63ce;cursor:pointer}
.document-type-check:has(input:checked){border-color:#6aa8f5;background:#eef6ff;box-shadow:0 0 0 2px rgba(11,99,206,.08);color:#174ea6}
.document-type-check-field.is-invalid .document-type-check-grid{border:1px solid #d92d20;border-radius:13px;padding:8px;background:#fffafa}
.document-type-check-error{display:block;margin-top:7px;color:#b42318;font-size:12px;font-weight:750}
.document-type-check-error[hidden]{display:none!important}
.master-document-type-badges{display:flex;flex-wrap:wrap;gap:6px;min-width:210px;white-space:normal}
.master-document-type-badges .badge{white-space:nowrap}
@media(max-width:1050px){.document-type-master-form{grid-template-columns:repeat(2,minmax(0,1fr))}.document-type-check-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.document-type-master-form{grid-template-columns:1fr}.document-type-check-grid{grid-template-columns:1fr}}

/* Global FleetMan notifications */
.fleet-notification-slot{display:flex;justify-content:flex-end;align-items:center;min-height:44px;margin:0 0 14px;position:relative;z-index:40}.fleet-notification-widget{position:relative;z-index:40}.fleet-notification-bell{width:44px;height:44px;border:1px solid #d9e1ec;border-radius:14px;background:#fff;box-shadow:0 8px 22px rgba(16,24,40,.11);display:grid;place-items:center;cursor:pointer;font-size:19px;position:relative}.fleet-notification-bell:hover{background:#f8fbff}.fleet-notification-count{position:absolute;top:-6px;right:-6px;min-width:21px;height:21px;border-radius:999px;padding:0 5px;background:#d92d20;color:#fff;border:2px solid #fff;display:grid;place-items:center;font-size:10px;font-weight:900}.fleet-notification-panel{position:absolute;top:52px;right:0;width:min(390px,calc(100vw - 28px));max-height:min(620px,calc(100vh - 86px));background:#fff;border:1px solid #dce4ef;border-radius:17px;box-shadow:0 20px 55px rgba(16,24,40,.22);overflow:hidden}.fleet-notification-panel-head,.fleet-notification-panel-foot{padding:13px 15px;border-bottom:1px solid #edf0f5;display:flex;align-items:center;justify-content:space-between;gap:10px}.fleet-notification-panel-head strong{display:block;font-size:16px}.fleet-notification-panel-head small{display:block;color:#667085;margin-top:3px}.fleet-notification-text-btn{border:0;background:transparent;color:#0b63ce;font-weight:800;cursor:pointer;padding:6px}.fleet-notification-list{max-height:480px;overflow:auto}.fleet-notification-item{display:grid;grid-template-columns:38px 1fr;gap:10px;padding:13px 15px;border-bottom:1px solid #edf0f5;background:#fff}.fleet-notification-item.unread{background:#f2f7ff}.fleet-notification-item-icon{width:36px;height:36px;border-radius:11px;background:#eaf3ff;display:grid;place-items:center}.fleet-notification-item-copy strong{font-size:13px;color:#1d2939}.fleet-notification-item-copy p{margin:4px 0;color:#475467;font-size:12px;line-height:1.45;white-space:normal}.fleet-notification-item-copy small{color:#98a2b3;font-size:11px}.fleet-notification-item-actions{display:flex;gap:10px;margin-top:7px}.fleet-notification-item-actions a,.fleet-notification-item-actions button{border:0;background:transparent;padding:0;color:#0b63ce;font-size:11px;font-weight:800;text-decoration:none;cursor:pointer}.fleet-notification-empty{padding:32px 18px;text-align:center;color:#667085;font-size:13px}.fleet-notification-panel-foot{border-top:1px solid #edf0f5;border-bottom:0;justify-content:center}.fleet-notification-panel-foot a{color:#0b63ce;text-decoration:none;font-weight:850;font-size:13px}.fleet-notification-page-alert{padding:12px 14px;border-radius:12px;background:#e7f8ef;color:#067647;margin-bottom:14px;font-weight:750}.fleet-notification-page-list{display:grid;gap:10px}.fleet-notification-page-item{display:grid;grid-template-columns:44px 1fr auto;gap:12px;align-items:start;border:1px solid #e4e7ec;border-radius:14px;padding:14px;background:#fff}.fleet-notification-page-item.unread{border-color:#b8d5ff;background:#f5f9ff}.fleet-notification-page-icon{width:42px;height:42px;border-radius:12px;background:#eaf3ff;display:grid;place-items:center;font-size:19px}.fleet-notification-page-title-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.fleet-notification-page-copy p{margin:5px 0;color:#475467;line-height:1.5}.fleet-notification-page-copy small{color:#667085}.fleet-notification-page-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.fleet-notification-pagination{margin-top:16px}.notification-center-page .title-card{padding-right:74px}
@media(max-width:1050px){.fleet-notification-slot{min-height:40px;margin-bottom:12px}.fleet-notification-bell{width:40px;height:40px;border-radius:12px}.fleet-notification-panel{top:47px}.fleet-notification-page-item{grid-template-columns:40px 1fr}.fleet-notification-page-actions{grid-column:2;justify-content:flex-start}.notification-center-page .title-card{padding-right:20px}}


/* Unified list pages: consistent width and the same visual table language as reports. */
#clientListPage,
#contractListPage,
#attendanceListPage,
#driverListPage,
#dueListPage,
#employeeListPage,
#fuelPriceListPage,
#rechargeListPage,
#tripListPage,
#vehicleListPage,
#vendorListPage,
#yardListPage,
.master-data-page,
.fleet-list-page {
    width:100%;
    max-width:1220px;
    margin-left:auto;
    margin-right:auto;
}

.table-wrap:not(.role-matrix-table-wrap) {
    width:100%;
    max-width:100%;
    border-color:#ccd9e8;
    background:#fff;
}
.table-wrap:not(.role-matrix-table-wrap) table {
    width:100%;
    border-collapse:separate;
    border-spacing:0;
    background:#fff;
}
.table-wrap:not(.role-matrix-table-wrap) th,
.table-wrap:not(.role-matrix-table-wrap) td {
    padding:10px 12px;
    border-right:1px solid #d7e5f3;
    border-bottom:1px solid #d7e5f3;
    vertical-align:middle;
}
.table-wrap:not(.role-matrix-table-wrap) thead th {
    color:#fff;
    background:#184f7d;
    text-transform:none;
    letter-spacing:.02em;
    white-space:nowrap;
    text-align:center;
}
.table-wrap:not(.role-matrix-table-wrap) tbody tr:nth-child(even) td {
    background:#f1fbff;
}
.table-wrap:not(.role-matrix-table-wrap) th:last-child,
.table-wrap:not(.role-matrix-table-wrap) td:last-child {
    border-right:0;
}
.table-wrap:not(.role-matrix-table-wrap) tbody tr:last-child td {
    border-bottom:0;
}
.table-wrap:not(.role-matrix-table-wrap) th:first-child,
.table-wrap:not(.role-matrix-table-wrap) td:first-child {
    min-width:150px;
    white-space:nowrap;
}

/* Responsive document sections on phones and narrow tablets. */
.document-section-card,
.document-section-card .section-head,
.document-section-card .section-head > *,
.document-section-card [id$="Documents"],
.document-section-card #vehicleDocRows,
.document-section-card .fleet-document-row,
.document-section-card .fleet-document-row > .field {
    min-width:0;
    max-width:100%;
}

.document-section-card .fleet-document-row input,
.document-section-card .fleet-document-row select,
.document-section-card .fleet-document-row textarea,
.document-section-card .fleet-document-row input[type="file"] {
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
}

.document-section-card .fleet-document-row input[type="file"] {
    overflow:hidden!important;
    white-space:nowrap!important;
    text-overflow:ellipsis!important;
}

.document-section-card .fleet-document-row .upload-meta,
.document-section-card .fleet-document-row .hint,
.document-section-card .fleet-document-row .temp-upload-progress,
.document-section-card .fleet-document-row .temp-upload-file,
.document-section-card .fleet-document-row .temp-upload-file-link {
    width:100%;
    min-width:0;
    max-width:100%;
    overflow-wrap:anywhere;
    word-break:break-word;
}

@media(max-width:900px){
    .document-section-card{
        overflow:hidden;
    }
    .document-section-card .section-head{
        align-items:flex-start;
        flex-direction:column;
    }
    .document-section-card .section-head > *,
    .document-section-card .section-head .btn{
        width:100%;
    }
    .document-section-card .fleet-document-row{
        display:grid!important;
        grid-template-columns:minmax(0,1fr)!important;
        grid-template-areas:none!important;
        width:100%!important;
        margin-left:0!important;
        margin-right:0!important;
    }
    .document-section-card .fleet-document-row > .field,
    .document-section-card .fleet-document-row > .remove-row{
        grid-area:auto!important;
        width:100%!important;
        min-width:0!important;
        max-width:100%!important;
    }
    .document-section-card .fleet-document-row > .remove-row{
        margin-top:0!important;
    }
}

@media(max-width:600px){
    .document-section-card{
        padding:14px!important;
        border-radius:15px;
    }
    .document-section-card .section-head{
        gap:10px;
        margin-bottom:12px;
    }
    .document-section-card .section-head h2{
        font-size:17px;
        line-height:1.3;
    }
    .document-section-card .fleet-document-row{
        gap:12px!important;
        padding:12px!important;
        border-radius:14px!important;
    }
    .document-section-card .fleet-document-row .field label{
        min-height:auto;
        margin-bottom:6px;
        line-height:1.35;
        overflow-wrap:anywhere;
    }
    .document-section-card .fleet-document-row input,
    .document-section-card .fleet-document-row select,
    .document-section-card .fleet-document-row textarea,
    .document-section-card .fleet-document-row input[type="file"]{
        min-height:44px!important;
        font-size:14px!important;
    }
    .document-section-card .fleet-document-row input[type="file"]{
        padding:7px 8px!important;
    }
    .document-section-card .fleet-document-row input[type="file"]::file-selector-button{
        max-width:48%;
        margin-right:8px!important;
        padding:6px 8px!important;
        overflow:hidden;
        text-overflow:ellipsis;
        white-space:nowrap;
    }
    .document-section-card .fleet-document-row .hint,
    .document-section-card .fleet-document-row .upload-meta{
        font-size:11px;
        line-height:1.45;
    }
    .document-section-card .fleet-document-row .temp-upload-file{
        align-items:flex-start;
        flex-direction:column;
        gap:5px;
        padding:8px 9px;
    }
    .document-section-card .fleet-document-row > .remove-row{
        min-height:44px!important;
    }
}

@media(max-width:380px){
    .document-section-card{
        padding:11px!important;
    }
    .document-section-card .fleet-document-row{
        padding:10px!important;
    }
    .document-section-card .fleet-document-row input[type="file"]::file-selector-button{
        max-width:44%;
        font-size:12px;
    }
}

/* Form-only responsive date and time controls. Table rows are intentionally untouched. */
.fleet-form-temporal-field{
    display:block;
    width:100%;
    min-width:0!important;
    max-width:100%;
    min-inline-size:0!important;
    max-inline-size:100%!important;
    box-sizing:border-box;
    /* Do not clip this wrapper: iOS draws part of the native date control at its edge. */
    overflow:visible;
}
.fleet-form-temporal-field>input[type="date"],
.fleet-form-temporal-field>input[type="time"],
.fleet-form-temporal-field>input[type="datetime-local"],
.fleet-form-temporal-field>input[type="month"],
.fleet-form-temporal-field>input[type="week"]{
    display:block;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    inline-size:100%;
    min-inline-size:0!important;
    max-inline-size:100%!important;
    -webkit-min-logical-width:0!important;
    box-sizing:border-box;
    overflow:visible;
}
.fleet-form-temporal-field>input[type="date"]::-webkit-date-and-time-value,
.fleet-form-temporal-field>input[type="time"]::-webkit-date-and-time-value,
.fleet-form-temporal-field>input[type="datetime-local"]::-webkit-date-and-time-value,
.fleet-form-temporal-field>input[type="month"]::-webkit-date-and-time-value,
.fleet-form-temporal-field>input[type="week"]::-webkit-date-and-time-value{
    min-width:0;
    max-width:100%;
    text-align:left;
}
.fleet-form-temporal-field>input[type="date"]::-webkit-datetime-edit,
.fleet-form-temporal-field>input[type="time"]::-webkit-datetime-edit,
.fleet-form-temporal-field>input[type="datetime-local"]::-webkit-datetime-edit,
.fleet-form-temporal-field>input[type="month"]::-webkit-datetime-edit,
.fleet-form-temporal-field>input[type="week"]::-webkit-datetime-edit{
    min-width:0;
    max-width:100%;
    padding:0;
}
.fleet-form-temporal-field>input::-webkit-calendar-picker-indicator{
    flex:0 0 auto;
    margin:0;
}
@media(max-width:900px){
    /* Native date/time controls can have an intrinsic width wider than a phone grid column. */
    .contract-grid,
    .grid,
    .grid2,
    .grid3,
    .grid4,
    .report-filter-grid{
        min-width:0;
        max-width:100%;
        grid-template-columns:minmax(0,1fr);
    }
    .fleet-document-row{
        min-width:0!important;
        max-width:100%!important;
        grid-template-columns:minmax(0,1fr)!important;
    }
    .contract-grid>.fleet-form-temporal-field,
    .grid>.fleet-form-temporal-field,
    .grid2>.fleet-form-temporal-field,
    .grid3>.fleet-form-temporal-field,
    .grid4>.fleet-form-temporal-field,
    .report-filter-grid>.fleet-form-temporal-field,
    .fleet-document-row>.fleet-form-temporal-field{
        width:100%!important;
        min-width:0!important;
        max-width:100%!important;
    }
}
@media(max-width:600px){
    .fleet-form-temporal-field>input[type="date"],
    .fleet-form-temporal-field>input[type="time"],
    .fleet-form-temporal-field>input[type="datetime-local"],
    .fleet-form-temporal-field>input[type="month"],
    .fleet-form-temporal-field>input[type="week"]{
        /* Removing the native visual shell makes iOS respect the field's real width. */
        -webkit-appearance:none;
        appearance:none;
        width:-webkit-fill-available!important;
        inline-size:-webkit-fill-available!important;
        min-width:0!important;
        max-width:100%!important;
        padding-left:11px;
        padding-right:11px;
        font-size:16px!important;
    }
}

/* Reusable driver, employee, and vehicle image with icon fallback. */
.entity-avatar{position:relative;display:grid;place-items:center;width:42px;height:42px;flex:none;overflow:hidden;border-radius:12px;background:#eef4ff;color:#172033}
.entity-avatar-table{width:42px;height:42px}
.entity-avatar-compact{width:40px;height:40px}
.entity-avatar-large{width:72px;height:72px;border-radius:18px}
.entity-avatar img{position:absolute;inset:0;z-index:1;display:block;width:100%;height:100%;object-fit:cover;object-position:center;background:#eef4ff}
.entity-avatar-fallback{display:grid;place-items:center;width:100%;height:100%;font-size:22px;line-height:1}
.entity-avatar-compact .entity-avatar-fallback{font-size:20px}
.entity-avatar-large .entity-avatar-fallback{font-size:34px}
.fleet-detail-summary{display:flex;align-items:center;gap:14px;margin-bottom:16px}
.fleet-detail-summary h3{margin:0 0 4px}
.fleet-detail-summary p{margin:0;color:#667085;font-size:13px}
@media(max-width:640px){.entity-avatar-large{width:62px;height:62px;border-radius:16px}.fleet-detail-summary{align-items:flex-start}}

/* Super Admin release tracker */
.release-tracker-page{max-width:1320px;width:100%}
.release-entry-card,.release-list-card{overflow:visible}
.release-form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;min-width:0}
.release-title-field{grid-column:span 2}
.release-summary-field{grid-column:1/-1}
.release-notes-field{grid-column:span 3}
.release-summary-field textarea{min-height:96px}
.release-notes-field textarea{min-height:145px}
.release-form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:16px}
.release-filter-grid{display:grid;grid-template-columns:minmax(260px,1.8fr) minmax(170px,.8fr) minmax(170px,.8fr) auto;gap:12px;align-items:end;margin-bottom:16px}
.release-filter-actions{display:flex;gap:8px;align-items:center}
.release-table{min-width:1240px}
.release-table th:first-child,.release-table td:first-child{min-width:170px;white-space:nowrap}
.release-table th:nth-child(4),.release-table td:nth-child(4){min-width:125px;white-space:nowrap}
.release-title-cell{min-width:270px;white-space:normal}
.release-title-cell b{display:block;color:#172033;line-height:1.35}
.release-title-cell small{display:block;color:#667085;line-height:1.4;margin-top:4px}
.release-version{display:inline-flex;align-items:center;border-radius:10px;padding:6px 9px;background:#111b2f;color:#fff;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono",monospace;font-size:12px;font-weight:900;white-space:nowrap}
.release-row-actions{display:flex;align-items:center;gap:4px;white-space:nowrap}
.release-row-actions form{display:inline-flex;margin:0}
.release-mobile-list{display:none}
.release-modal-open{overflow:hidden}
.release-modal{position:fixed;inset:0;z-index:3300;background:rgba(8,15,30,.66);backdrop-filter:blur(5px);display:flex;align-items:flex-start;justify-content:center;padding:28px 16px;overflow:auto}
.release-modal-panel{width:min(980px,100%);background:#fff;border:1px solid #e6ecf5;border-radius:24px;box-shadow:0 32px 90px rgba(8,15,30,.32);overflow:hidden}
.release-view-panel{width:min(900px,100%)}
.release-modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:22px 24px;background:linear-gradient(135deg,#102044,#174a7a);color:#fff}
.release-modal-kicker{display:inline-flex;border:1px solid rgba(255,255,255,.22);background:rgba(255,255,255,.1);border-radius:999px;padding:5px 10px;font-size:12px;font-weight:900;margin-bottom:9px}
.release-modal-head h2{margin:0;color:#fff;font-size:24px;line-height:1.3}
.release-modal-head p{margin:6px 0 0;color:#cfe0f7;font-size:13px}
.release-modal-close{width:40px;height:40px;border:0;border-radius:13px;background:rgba(255,255,255,.13);color:#fff;font-size:28px;line-height:1;cursor:pointer;flex:none}
.release-modal-body{padding:22px 24px;max-height:calc(100vh - 220px);overflow:auto}
.release-modal-actions{display:flex;justify-content:flex-end;gap:10px;padding:16px 24px;border-top:1px solid #e7edf5;background:#fbfcfe}
.release-detail-meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:18px}
.release-detail-meta>div{padding:12px 13px;border:1px solid #e4eaf3;border-radius:13px;background:#f8fafc;min-width:0}
.release-detail-meta small{display:block;color:#667085;font-size:10px;text-transform:uppercase;letter-spacing:.06em;font-weight:900;margin-bottom:5px}
.release-detail-meta strong{display:block;color:#27364a;font-size:13px;line-height:1.4;overflow-wrap:anywhere}
.release-detail-block{border:1px solid #e4eaf3;border-radius:15px;padding:15px;margin-top:12px;background:#fff}
.release-detail-block h3{font-size:15px;margin:0 0 8px;color:#172033}
.release-detail-block p,.release-detail-block pre{margin:0;color:#475467;font:inherit;font-size:13px;line-height:1.65;white-space:pre-wrap;overflow-wrap:anywhere}
.release-mobile-card{border:1px solid #e4eaf3;border-radius:16px;padding:14px;background:#fff;margin-bottom:12px}
.release-mobile-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.release-mobile-head h3{margin:9px 0 0;font-size:16px;line-height:1.4}
.release-mobile-card>p{margin:10px 0;color:#667085;font-size:13px;line-height:1.5}
.release-mobile-meta{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}
.release-mobile-meta span{padding:10px;border-radius:11px;background:#f8fafc;border:1px solid #edf0f5;min-width:0}
.release-mobile-meta small{display:block;color:#667085;font-size:10px;text-transform:uppercase;font-weight:900;margin-bottom:4px}
.release-mobile-meta b{display:block;color:#344054;font-size:12px;line-height:1.4;overflow-wrap:anywhere}
.release-mobile-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:12px}
.release-mobile-actions form{display:flex;flex:1}
.release-mobile-actions .mini-btn{flex:1;margin:0}
@media(max-width:1050px){
    .release-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
    .release-title-field,.release-notes-field{grid-column:span 2}
    .release-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
    .release-search-field{grid-column:span 2}
    .release-filter-actions{justify-content:flex-end}
}
@media(max-width:760px){
    .release-form-grid{grid-template-columns:minmax(0,1fr)}
    .release-title-field,.release-summary-field,.release-notes-field{grid-column:auto}
    .release-form-actions{display:grid;grid-template-columns:1fr 1fr}
    .release-form-actions .btn{width:100%}
    .release-filter-grid{grid-template-columns:minmax(0,1fr)}
    .release-search-field{grid-column:auto}
    .release-filter-actions{display:grid;grid-template-columns:1fr 1fr}
    .release-filter-actions .btn{width:100%}
    .release-table-wrap{display:none}
    .release-mobile-list{display:block}
    .release-detail-meta{grid-template-columns:1fr 1fr}
    .release-modal{padding:0;align-items:stretch}
    .release-modal-panel{border-radius:0;min-height:100vh}
    .release-modal-head{padding:20px 16px}
    .release-modal-head h2{font-size:21px}
    .release-modal-body{max-height:none;padding:18px 16px}
    .release-modal-actions{position:sticky;bottom:0;padding:14px 16px}
    .release-modal-actions .btn{flex:1}
}
@media(max-width:480px){
    .release-mobile-meta,.release-detail-meta{grid-template-columns:1fr}
    .release-mobile-actions{display:grid;grid-template-columns:1fr 1fr}
    .release-mobile-actions form{grid-column:1/-1}
    .release-kpis{grid-template-columns:1fr 1fr!important}
}
