@import url("https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700;800&display=swap");
*{box-sizing:border-box}html,body{margin:0;padding:0;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:#f4f7fb;color:#142033}a{color:inherit;text-decoration:none}.shell{min-height:100vh;display:flex}.sidebar{width:245px;background:#0d1b2a;color:#fff;padding:24px 18px;position:fixed;top:0;bottom:0;left:0;display:flex;flex-direction:column}.brand{font-size:25px;font-weight:800;letter-spacing:-.5px}.brand.big{font-size:34px;color:#0d1b2a}.brand-sub{font-size:12px;color:#90a4b8;margin-top:2px}.sidebar nav{margin-top:34px;display:grid;gap:7px}.sidebar nav a{padding:12px 14px;border-radius:10px;color:#cbd7e4;font-size:14px}.sidebar nav a:hover,.sidebar nav a.active{background:#18324b;color:white}.side-bottom{margin-top:auto;border-top:1px solid #27415b;padding-top:16px;font-size:12px;display:grid;gap:8px;color:#cbd7e4}.main{margin-left:245px;min-width:0;width:calc(100% - 245px);padding:28px}.topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}.topbar h1{margin:0;font-size:28px}.topbar p{margin:5px 0 0;color:#718096;font-size:13px}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:16px}.metric,.panel{background:white;border:1px solid #e4eaf1;border-radius:16px;box-shadow:0 4px 18px rgba(20,32,51,.04)}.metric{padding:20px}.metric span{display:block;color:#718096;font-size:13px}.metric strong{display:block;font-size:29px;margin-top:5px;letter-spacing:-1px}.metric small{color:#9aa7b5}.panel{padding:20px;margin-bottom:16px}.grid2{display:grid;grid-template-columns:1.35fr 1fr;gap:16px}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:16px}.panel h2{margin:0;font-size:18px}.panel-head p{margin:4px 0 0;color:#7b8794;font-size:13px}.attention-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.attention{padding:16px;border-radius:12px;border:1px solid #e6ebf1}.attention strong{display:block;font-size:24px}.attention span{font-size:12px;color:#68778a}.attention.bad{background:#fff6f6}.attention.warn{background:#fffaf0}.attention.info{background:#f1f8ff}.status-list{display:grid;gap:2px}.status-list div{display:flex;justify-content:space-between;padding:12px 0;border-bottom:1px solid #eef2f5}.dot{width:9px;height:9px;border-radius:50%;display:inline-block;margin-right:9px}.ok{background:#eaf8ef;color:#247546}.warn{background:#fff4df;color:#9a6300}.bad{background:#fdeaea;color:#b42318}.info{background:#eaf4ff;color:#1769aa}.muted{color:#7c8a99}.dot.ok{background:#37a664}.dot.warn{background:#f2ad24}.dot.bad{background:#e04a43}.dot.info{background:#4f94dd}.badge{display:inline-block;padding:5px 9px;border-radius:999px;font-size:12px;font-weight:700}.badge.large{font-size:13px;padding:8px 12px}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;font-size:13px}th{text-align:left;color:#68778a;font-weight:600;padding:10px 12px;border-bottom:1px solid #dfe6ee;white-space:nowrap}td{padding:12px;border-bottom:1px solid #edf1f5;vertical-align:top}.reg{font-weight:800;letter-spacing:.5px;color:#0b5cab}.giant{font-size:32px}.filters{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:18px}.filters input{min-width:300px}.filters input,.filters select,input,select{border:1px solid #cfd9e3;border-radius:9px;padding:10px 12px;background:#fff;font:inherit}.btn{display:inline-block;padding:10px 14px;border:1px solid #ccd7e2;border-radius:9px;background:white;font-size:13px;cursor:pointer}.btn.primary{background:#0b5cab;color:#fff;border-color:#0b5cab}.vehicle-hero{display:flex;justify-content:space-between;align-items:center}.vehicle-hero h2{margin:5px 0}.vehicle-hero p{margin:0;color:#778494}.details{display:grid;grid-template-columns:130px 1fr;gap:12px;margin:0}.details dt{color:#7a8897}.details dd{margin:0;font-weight:600}.footer{color:#97a3af;font-size:11px;text-align:center;padding:10px 0 4px}.login-body,.install-body{min-height:100vh;display:grid;place-items:center;padding:24px;background:#eef3f8}.login-card,.install-card{width:min(460px,100%);background:#fff;border:1px solid #dae3ec;border-radius:18px;padding:32px;box-shadow:0 18px 55px rgba(17,31,46,.10)}.login-card h1,.install-card h1{margin:26px 0 5px}.login-card p,.install-card p{color:#6d7b88}.login-card form,.install-card form{display:grid;gap:15px;margin-top:20px}.login-card label,.install-card label{font-size:13px;font-weight:700;display:grid;gap:7px}.login-card input,.install-card input{width:100%}.alert{padding:12px;border-radius:9px;font-size:13px;margin-top:16px}.small{font-size:11px}.install-card hr{border:0;border-top:1px solid #e9edf2;width:100%;margin:4px 0}@media(max-width:1000px){.metrics{grid-template-columns:repeat(2,1fr)}.grid2{grid-template-columns:1fr}}@media(max-width:760px){.sidebar{position:static;width:100%;height:auto}.shell{display:block}.sidebar nav{grid-template-columns:repeat(3,1fr);margin-top:20px}.sidebar nav a{text-align:center;padding:10px 6px}.side-bottom{display:none}.main{margin:0;width:100%;padding:16px}.metrics{grid-template-columns:1fr 1fr}.metric{padding:15px}.metric strong{font-size:24px}.attention-grid{grid-template-columns:1fr}.topbar h1{font-size:24px}.vehicle-hero{align-items:flex-start;gap:14px}.filters input{min-width:100%}}@media(max-width:460px){.metrics{grid-template-columns:1fr}.sidebar nav{grid-template-columns:1fr 1fr}.panel{padding:15px}.details{grid-template-columns:105px 1fr}}

.fleet-map{height:520px;border-radius:12px;overflow:hidden;border:1px solid #dfe6ee}.search-summary{display:flex;gap:12px;align-items:baseline;margin:12px 0 8px}.search-summary span{font-size:12px;color:#718096}@media(max-width:760px){.fleet-map{height:420px}}

/* Admin */
.admin-form{display:block}
.admin-form-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:16px;
}
.admin-form label{
    display:grid;
    gap:7px;
    min-width:0;
}
.admin-form label span{
    font-size:12px;
    font-weight:700;
    color:#4e5d6d;
}
.admin-form input,
.admin-form select{
    width:100%;
    min-width:0;
    height:42px;
}
.admin-form-actions{
    margin-top:16px;
    display:flex;
    justify-content:flex-start;
}
.admin-links{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px;
}
.admin-links a{
    display:block;
    min-width:0;
    padding:14px 15px;
    border:1px solid #e1e8ef;
    border-radius:12px;
    background:#f9fbfd;
    transition:border-color .15s ease,background .15s ease;
}
.admin-link-title{
    font-size:14px;
    font-weight:800;
    color:#142033;
    margin-bottom:4px;
}
.admin-link-copy{
    font-size:12px;
    line-height:1.45;
    color:#718096;
}
.admin-links a:hover{
    border-color:#bfd0e0;
    background:#f4f8fb;
}
.inline-form select{padding:7px 9px}

@media(max-width:900px){
    .admin-form-grid,
    .admin-links{grid-template-columns:1fr}
}

.fake-map-wrap{width:100%;overflow:hidden;border:1px solid #dfe6ee;border-radius:14px;background:#eef3f6}
.fake-map{display:block;width:100%;height:auto;min-height:430px}
.map-bg{fill:#edf2f5}
.uk-shape{fill:#f9fbfc;stroke:#c9d4df;stroke-width:3}
.uk-shape.island{fill:#f7fafc}
.map-title{font-size:15px;font-weight:800;letter-spacing:2px;text-anchor:middle;fill:#8a98a8}
.vehicle-point{stroke:#fff;stroke-width:1.8;cursor:pointer}
.vehicle-point.operational{fill:#2f855a}
.vehicle-point.spare{fill:#3182ce}
.vehicle-point.workshop{fill:#d69e2e}
.vehicle-point.offroad{fill:#c53030}
.vehicle-point:hover{r:8}
.postcode-ring{fill:none;stroke:#111827;stroke-width:3}
.postcode-point{fill:#111827}
.map-legend{display:flex;gap:12px;flex-wrap:wrap;font-size:11px;color:#637181}
.map-legend span{display:flex;align-items:center;gap:5px}
.map-dot{width:9px;height:9px;border-radius:50%;display:inline-block}
.map-dot.operational{background:#2f855a}.map-dot.spare{background:#3182ce}.map-dot.workshop{background:#d69e2e}.map-dot.offroad{background:#c53030}
@media(max-width:760px){.fake-map{min-height:300px}.map-legend{width:100%}}

/* Real fleet map */
.map-legend{display:flex;gap:12px;flex-wrap:wrap;font-size:11px;color:#637181}
.map-legend span{display:flex;align-items:center;gap:5px}
.map-dot{width:9px;height:9px;border-radius:50%;display:inline-block}
.map-dot.operational{background:#2f855a}
.map-dot.spare{background:#3182ce}
.map-dot.workshop{background:#d69e2e}
.map-dot.offroad{background:#c53030}
.leaflet-container{font:inherit}


/* Fleet Map route + nearest vehicle search */
.route-search-panel{overflow:visible}
.route-search-grid{
    display:grid;
    grid-template-columns:1.15fr 1.15fr .95fr .7fr auto;
    gap:14px;
    align-items:end;
}
.route-search-grid label{
    display:grid;
    gap:7px;
    min-width:0;
}
.route-search-grid label>span{
    font-size:12px;
    font-weight:700;
    color:#536272;
}
.route-search-grid input,
.route-search-grid select{
    width:100%;
    height:43px;
    min-width:0;
}
.route-search-actions{
    display:flex;
    gap:8px;
    align-items:center;
    height:43px;
}
.route-search-actions .btn{
    height:43px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    white-space:nowrap;
}
.money-input{
    display:flex;
    align-items:center;
    border:1px solid #cfd9e3;
    border-radius:9px;
    background:#fff;
    height:43px;
    overflow:hidden;
}
.money-input>span{
    padding:0 0 0 12px;
    font-weight:800;
    color:#566675;
}
.money-input input{
    border:0!important;
    height:41px!important;
    outline:0;
}
.route-summary-grid{
    display:grid;
    grid-template-columns:repeat(6,minmax(0,1fr));
    gap:0;
    margin-top:18px;
    border-top:1px solid #e4eaf1;
    padding-top:16px;
}
.route-summary-grid>div{
    min-width:0;
    padding:0 16px;
    border-right:1px solid #e4eaf1;
}
.route-summary-grid>div:first-child{padding-left:0}
.route-summary-grid>div:last-child{border-right:0}
.route-summary-grid span{
    display:block;
    color:#7a8897;
    font-size:11px;
    text-transform:uppercase;
    letter-spacing:.4px;
    margin-bottom:4px;
}
.route-summary-grid strong{
    display:block;
    font-size:14px;
}
.fleet-map-layout{
    display:grid;
    grid-template-columns:minmax(0,1.55fr) minmax(360px,.8fr);
    gap:16px;
}
.fleet-map-layout>.panel{margin-bottom:0}
.fleet-map-live{
    height:620px;
    width:100%;
    border-radius:14px;
    overflow:hidden;
    border:1px solid #dfe6ee;
    background:#eef3f6;
}
.nearest-panel{
    min-width:0;
}
.nearest-list{
    display:grid;
}
.nearest-van-card{
    display:grid;
    grid-template-columns:34px minmax(0,1fr) auto;
    gap:12px;
    align-items:center;
    padding:13px 0;
    border-bottom:1px solid #edf1f5;
}
.nearest-van-card:first-child{padding-top:0}
.nearest-rank{
    width:28px;
    height:28px;
    border-radius:50%;
    background:#0b5cab;
    color:#fff;
    display:grid;
    place-items:center;
    font-size:12px;
    font-weight:800;
}
.nearest-main{min-width:0}
.nearest-reg{
    font-weight:800;
    letter-spacing:.4px;
    color:#142033;
}
.nearest-meta{
    font-size:12px;
    color:#7a8897;
    margin:2px 0 6px;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}
.nearest-numbers{
    text-align:right;
    display:grid;
    gap:1px;
    min-width:90px;
}
.nearest-numbers strong,
.nearest-numbers b{font-size:13px}
.nearest-numbers b{color:#0b5cab;margin-top:4px}
.nearest-numbers span{font-size:10px;color:#8794a2}
.nearest-note{margin-top:14px;line-height:1.5}
.empty-state{
    border:1px dashed #d6e0e8;
    border-radius:12px;
    padding:24px;
    text-align:center;
    color:#7a8897;
    font-size:13px;
}
@media(max-width:1200px){
    .route-search-grid{grid-template-columns:1fr 1fr 1fr 1fr}
    .route-search-actions{grid-column:1/-1}
    .route-summary-grid{grid-template-columns:repeat(3,1fr);row-gap:14px}
    .route-summary-grid>div:nth-child(3){border-right:0}
    .fleet-map-layout{grid-template-columns:1fr}
}
@media(max-width:760px){
    .route-search-grid{grid-template-columns:1fr}
    .route-search-actions{grid-column:auto}
    .route-summary-grid{grid-template-columns:1fr 1fr}
    .route-summary-grid>div{padding:8px 12px;border-right:0;border-bottom:1px solid #edf1f5}
    .route-summary-grid>div:first-child{padding-left:12px}
    .fleet-map-live{height:430px}
    .nearest-van-card{grid-template-columns:30px minmax(0,1fr)}
    .nearest-numbers{grid-column:2;text-align:left;grid-template-columns:auto auto;gap:6px 10px}
}


/* Fleet Studio v1.4 modern identity + management */
:root{
    --fs-navy:#0d1f33;
    --fs-navy-2:#142b44;
    --fs-blue:#0b67b2;
    --fs-bg:#f3f6fa;
    --fs-card:#ffffff;
    --fs-border:#dfe6ee;
    --fs-text:#142033;
    --fs-muted:#718096;
}
body{background:var(--fs-bg);color:var(--fs-text)}
.sidebar{background:linear-gradient(180deg,#0c1d30 0%,#10263d 100%);padding:22px 16px}
.brand-lockup{display:flex;align-items:center;gap:10px;color:#fff;text-decoration:none}
.brand-mark{width:38px;height:38px;border-radius:11px;background:#fff;color:#0d1f33;display:grid;place-items:center;font-weight:900;font-size:15px;letter-spacing:-.5px}
.brand-words{display:grid;gap:0}.brand-words strong{font-size:18px;line-height:1.05}.brand-words small{font-size:9px;color:#8fa7bc;letter-spacing:.4px;text-transform:uppercase}
.sidebar-role{display:inline-flex;align-self:flex-start;margin-top:15px;padding:5px 9px;border-radius:999px;background:#18344f;color:#b9ccdc;font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.6px}
.sidebar nav{gap:5px;margin-top:28px}.sidebar nav a{display:flex;align-items:center;gap:10px;padding:11px 12px;border-radius:10px;font-size:13px}.sidebar nav a.active{background:#fff;color:#10243a}.sidebar nav a.active .nav-icon{background:#eaf3fb;color:#0b67b2}
.nav-icon{width:22px;height:22px;border-radius:7px;background:#17314b;display:grid;place-items:center;font-size:11px;font-weight:800;color:#9db2c4}
.topbar{margin-bottom:18px}.topbar h1{font-size:27px;letter-spacing:-.7px}.topbar p{font-size:11px}
.panel,.metric{border:1px solid var(--fs-border);border-radius:15px;box-shadow:0 5px 22px rgba(27,45,67,.045)}
.panel{padding:18px}.metric{padding:18px}.metric strong{font-size:27px}
.panel-head h2{font-size:17px;letter-spacing:-.2px}.panel-head p{font-size:11px}
table{font-size:12px}th{font-size:10px;text-transform:uppercase;letter-spacing:.45px;color:#718096;padding:10px}td{padding:11px 10px}
.btn{border-radius:9px;font-weight:700;font-size:11px}.btn.primary{background:#0b67b2;border-color:#0b67b2}.badge{font-size:10px;padding:5px 9px}
.filters input,.filters select,input,select{font-size:12px}
.table-actions{width:1%;white-space:nowrap;text-align:right}.small-btn{padding:7px 10px}
.edit-form{display:block}.edit-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.edit-grid label{display:grid;gap:6px}.edit-grid label span{font-size:10px;text-transform:uppercase;letter-spacing:.45px;color:#687789;font-weight:700}
.edit-grid input,.edit-grid select{width:100%;min-width:0;height:42px}.form-actions{display:flex;gap:8px;margin-top:16px}
.role-overview{display:grid;gap:8px}.role-overview>div{display:grid;grid-template-columns:120px 1fr;gap:10px;padding:11px 12px;border:1px solid #e6ebf1;border-radius:10px;background:#f8fafc}.role-overview strong{font-size:11px}.role-overview span{font-size:10px;color:#718096}
.user-admin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.user-admin-card{border:1px solid #e1e8ef;border-radius:13px;padding:14px;background:#fff}.disabled-user{opacity:.65}
.user-admin-head{display:flex;justify-content:space-between;gap:10px;margin-bottom:12px}.user-admin-head>div{min-width:0}.user-admin-head strong{display:block;font-size:13px}.user-admin-head span:not(.badge){display:block;font-size:10px;color:#7d8b99;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.user-access-form{display:grid;grid-template-columns:1fr 1fr;gap:9px}.user-access-form label{display:grid;gap:5px}.user-access-form label span{font-size:9px;text-transform:uppercase;color:#738293;font-weight:700}.switch-row{display:flex!important;grid-column:1/-1;align-items:center;gap:7px}.switch-row input{width:auto}
.password-reset-form{display:flex;gap:7px;margin-top:10px;padding-top:10px;border-top:1px solid #edf1f5}.password-reset-form input{min-width:0;flex:1}
.driver-hero{background:linear-gradient(135deg,#0d2034,#153a5c);color:#fff;border-radius:17px;padding:22px;margin-bottom:16px;display:flex;justify-content:space-between;gap:18px}.driver-eyebrow{font-size:9px;letter-spacing:.7px;text-transform:uppercase;color:#9eb4c8}.driver-reg{font-size:31px;font-weight:900;margin-top:7px}.driver-hero h2{margin:5px 0 2px;font-size:17px}.driver-hero p{margin:0;color:#a9bdce;font-size:11px}.metric-name{font-size:18px!important}
.driver-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:16px}.driver-action-card{background:#fff;border:1px solid #e3e9ef;border-radius:13px;padding:14px;display:grid;gap:6px}.driver-action-card strong{font-size:13px}.driver-action-card>span:not(.badge){font-size:10px;color:#748291}.driver-list>div{display:grid;grid-template-columns:1fr auto;gap:4px 8px;padding:9px 0;border-bottom:1px solid #edf1f5}.driver-list strong{font-size:11px}.driver-list>div>span:not(.badge){font-size:9px;color:#7b8998}
.modern-login{padding:0;background:#eef3f8}.login-shell{min-height:100vh;display:grid;grid-template-columns:1.15fr .85fr}
.login-brand-panel{background:linear-gradient(135deg,#0d2034,#173f62);padding:48px;color:#fff;display:flex;flex-direction:column;justify-content:space-between}
.large-lockup .brand-mark{width:48px;height:48px;border-radius:13px;font-size:18px}.large-lockup .brand-words strong{font-size:22px}.login-copy{max-width:560px}.login-copy .eyebrow{font-size:10px;text-transform:uppercase;letter-spacing:1px;color:#91aec7}.login-copy h1{font-size:48px;letter-spacing:-1.8px;margin:10px 0}.login-copy p{font-size:14px;line-height:1.6;color:#b9cada}.login-role-strip{display:flex;gap:8px;flex-wrap:wrap}.login-role-strip span{padding:7px 10px;border:1px solid #365a79;border-radius:999px;font-size:9px;color:#c4d3df}
.login-form-panel{display:grid;place-items:center;padding:30px}.login-form-card{width:min(420px,100%);background:#fff;border:1px solid #dce5ee;border-radius:18px;padding:28px;box-shadow:0 20px 50px rgba(20,38,58,.08)}.login-form-card h2{margin:0;font-size:26px}.login-form-card p{font-size:11px;color:#718096}.login-form-card form{display:grid;gap:14px;margin-top:20px}.login-form-card label{display:grid;gap:6px;font-size:10px;text-transform:uppercase;letter-spacing:.45px;color:#687789;font-weight:700}.login-submit{height:44px}
@media(max-width:900px){.edit-grid,.user-admin-grid{grid-template-columns:1fr}.driver-actions{grid-template-columns:1fr}.login-shell{grid-template-columns:1fr}.login-brand-panel{padding:28px;min-height:330px}.login-copy h1{font-size:36px}}
@media(max-width:620px){.role-overview>div{grid-template-columns:1fr}.user-access-form{grid-template-columns:1fr}.password-reset-form{display:grid}.driver-reg{font-size:27px}}


/* Fleet Studio v1.4.1 Super Admin */
.db-update-list{display:grid;gap:8px}
.db-update-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 14px;border:1px solid #e4eaf1;border-radius:11px;background:#f9fbfd}
.db-update-row>div{display:grid;gap:2px}
.db-update-row strong{font-size:12px}
.db-update-row span:not(.badge){font-size:9px;color:#83909d}
.db-update-actions{margin-top:16px}
.db-update-actions .btn[disabled]{opacity:.55;cursor:not-allowed}


/* Fleet Studio v1.5 Driver tools + password reset */
.driver-tools{align-items:start}
.driver-tool-card{background:#fff;border:1px solid #e3e9ef;border-radius:13px;overflow:hidden}
.driver-tool-card summary{list-style:none;cursor:pointer;padding:15px;display:grid;gap:5px}
.driver-tool-card summary::-webkit-details-marker{display:none}
.driver-tool-card summary strong{font-size:13px}
.driver-tool-card summary span{font-size:10px;color:#748291}
.driver-tool-card[open] summary{border-bottom:1px solid #edf1f5;background:#f9fbfd}
.driver-tool-form{padding:14px;display:grid;grid-template-columns:1fr 1fr;gap:11px}
.driver-tool-form label{display:grid;gap:5px}
.driver-tool-form label>span{font-size:9px;text-transform:uppercase;letter-spacing:.4px;color:#6e7d8c;font-weight:700}
.driver-tool-form input,.driver-tool-form select,.driver-tool-form textarea{width:100%;min-width:0}
.driver-tool-form textarea{resize:vertical;border:1px solid #cfd9e3;border-radius:9px;padding:10px 12px;font:inherit}
.driver-tool-form .full{grid-column:1/-1}
.driver-tool-form .check-line{display:flex;align-items:center;gap:8px;grid-column:1/-1;padding:7px 9px;border:1px solid #e7ecf1;border-radius:9px;background:#fafcfd}
.driver-tool-form .check-line input{width:auto}
.driver-tool-form .check-line span{text-transform:none;font-size:11px;letter-spacing:0;color:#334155}
.driver-tool-form button{justify-self:start}
.forgot-link{text-align:center;margin-top:14px;font-size:11px}
.forgot-link a{color:#0b67b2;font-weight:700}
.test-reset-box{margin-top:18px;padding:14px;border:1px solid #cfe1f2;background:#f5faff;border-radius:11px}
.test-reset-box strong{font-size:12px}
.test-reset-box p{font-size:10px;line-height:1.5}
@media(max-width:760px){.driver-tool-form{grid-template-columns:1fr}.driver-tool-form .full{grid-column:auto}}


/* Driver Portal action-card layout fix v1.5.1 */
.driver-actions.driver-tools{
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:14px !important;
    margin:16px 0 !important;
    align-items:start !important;
}
.driver-actions.driver-tools > details.driver-tool-card{
    display:block !important;
    width:100% !important;
    min-width:0 !important;
    margin:0 !important;
    padding:0 !important;
    background:#fff !important;
    border:1px solid #dce5ed !important;
    border-radius:14px !important;
    box-shadow:0 8px 22px rgba(15,43,68,.04) !important;
    overflow:hidden !important;
}
.driver-actions.driver-tools > details.driver-tool-card > summary{
    display:flex !important;
    flex-direction:column !important;
    gap:6px !important;
    min-height:78px !important;
    padding:16px 18px !important;
    cursor:pointer !important;
    list-style:none !important;
    background:#fff !important;
    position:relative !important;
}
.driver-actions.driver-tools > details.driver-tool-card > summary::-webkit-details-marker{
    display:none !important;
}
.driver-actions.driver-tools > details.driver-tool-card > summary::after{
    content:"+" !important;
    position:absolute !important;
    right:17px !important;
    top:16px !important;
    width:25px !important;
    height:25px !important;
    border-radius:8px !important;
    background:#eaf3fb !important;
    color:#0869b7 !important;
    display:grid !important;
    place-items:center !important;
    font-size:18px !important;
    line-height:1 !important;
    font-weight:700 !important;
}
.driver-actions.driver-tools > details.driver-tool-card[open] > summary::after{
    content:"−" !important;
}
.driver-actions.driver-tools > details.driver-tool-card > summary strong{
    display:block !important;
    padding-right:38px !important;
    font-size:14px !important;
    line-height:1.25 !important;
    color:#0b2239 !important;
}
.driver-actions.driver-tools > details.driver-tool-card > summary span{
    display:block !important;
    padding-right:38px !important;
    font-size:11px !important;
    line-height:1.45 !important;
    color:#728196 !important;
}
.driver-actions.driver-tools > details.driver-tool-card[open] > summary{
    background:#f8fbfe !important;
    border-bottom:1px solid #e5ebf1 !important;
}
.driver-actions.driver-tools .driver-tool-form{
    display:grid !important;
    grid-template-columns:1fr 1fr !important;
    gap:12px !important;
    padding:16px 18px 18px !important;
    background:#fff !important;
}
.driver-actions.driver-tools .driver-tool-form .full,
.driver-actions.driver-tools .driver-tool-form .check-line{
    grid-column:1/-1 !important;
}
.driver-actions.driver-tools .driver-tool-form input:not([type=checkbox]),
.driver-actions.driver-tools .driver-tool-form select,
.driver-actions.driver-tools .driver-tool-form textarea{
    box-sizing:border-box !important;
    width:100% !important;
    min-height:40px !important;
    border:1px solid #ccd8e3 !important;
    border-radius:9px !important;
    background:#fff !important;
    padding:9px 11px !important;
}
.driver-hero > .badge.large{
    width:auto !important;
    height:auto !important;
    min-width:0 !important;
    min-height:0 !important;
    padding:7px 12px !important;
    border-radius:999px !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    align-self:flex-start !important;
    white-space:nowrap !important;
    line-height:1.2 !important;
}
@media(max-width:900px){
    .driver-actions.driver-tools{
        grid-template-columns:1fr !important;
    }
}
@media(max-width:620px){
    .driver-actions.driver-tools .driver-tool-form{
        grid-template-columns:1fr !important;
    }
}


/* Fleet Studio - Drivers mobile register + smart lookup */
.driver-summary-strip{
    display:flex;
    gap:8px;
    flex-wrap:wrap;
    margin:0 0 12px;
}
.driver-summary-chip{
    display:inline-flex;
    align-items:center;
    gap:7px;
    min-height:34px;
    padding:7px 11px;
    border:1px solid #d8e3ed;
    border-radius:999px;
    background:#f7fafc;
    color:#33465a;
    text-decoration:none;
    font-size:10px;
    font-weight:700;
}
.driver-summary-chip strong{font-size:11px;color:#102a43}
.driver-summary-chip.active{
    background:#e9f4ff;
    border-color:#a9cdec;
    color:#0b67b2;
}
.driver-summary-chip.static{cursor:default}
.driver-smart-filters{
    display:grid;
    grid-template-columns:minmax(260px,1.6fr) minmax(160px,.7fr) minmax(140px,.6fr) auto;
    gap:10px;
    align-items:end;
}
.driver-smart-filters label{
    display:grid;
    gap:5px;
    min-width:0;
}
.driver-smart-filters label>span{
    font-size:9px;
    text-transform:uppercase;
    letter-spacing:.45px;
    color:#687789;
    font-weight:700;
}
.driver-smart-filters input,
.driver-smart-filters select{
    width:100%;
    min-width:0;
    height:40px;
}
.driver-filter-actions{
    display:flex;
    gap:7px;
    align-items:center;
}
.driver-mobile-list{display:none}
.driver-unassigned-pill{
    display:inline-flex!important;
    align-items:center;
    width:max-content;
    padding:5px 8px;
    border-radius:999px;
    background:#fff3f4;
    border:1px solid #e5b7bd;
    color:#a51d2d!important;
    font-size:9px!important;
    font-weight:800;
}
.driver-empty-state{
    padding:22px;
    border:1px dashed #cfd9e3;
    border-radius:12px;
    background:#fafcfd;
    text-align:center;
}
.driver-empty-state strong{display:block;font-size:13px}
.driver-empty-state span{display:block;margin-top:4px;font-size:10px;color:#748291}

@media(max-width:760px){
    .driver-smart-filters{
        grid-template-columns:1fr 1fr;
    }
    .driver-search-box{grid-column:1/-1}
    .driver-filter-actions{grid-column:1/-1}
    .driver-filter-actions .btn{flex:1}
    .driver-summary-strip{
        flex-wrap:nowrap;
        overflow-x:auto;
        padding-bottom:3px;
        scrollbar-width:none;
    }
    .driver-summary-strip::-webkit-scrollbar{display:none}
    .driver-summary-chip{white-space:nowrap;flex:0 0 auto}

    .table-wrap{display:none!important}
    .driver-mobile-list{
        display:grid!important;
        gap:11px;
        margin-top:14px;
    }
    .driver-mobile-card{
        border:1px solid #dce5ee;
        border-radius:14px;
        background:#fff;
        padding:14px;
        box-shadow:0 5px 18px rgba(27,45,67,.04);
    }
    .driver-mobile-card.no-vehicle{
        border-left:4px solid #d64d5e;
    }
    .driver-mobile-head{
        display:flex;
        justify-content:space-between;
        gap:12px;
        align-items:flex-start;
        padding-bottom:11px;
        border-bottom:1px solid #edf1f5;
    }
    .driver-mobile-head>div{min-width:0}
    .driver-mobile-head strong{
        display:block;
        font-size:14px;
        line-height:1.25;
        color:#10233e;
    }
    .driver-mobile-head span:not(.badge){
        display:block;
        margin-top:3px;
        font-size:10px;
        color:#748291;
        overflow-wrap:anywhere;
    }
    .driver-mobile-grid{
        display:grid;
        grid-template-columns:1fr 1fr;
        gap:12px;
        padding:12px 0;
    }
    .driver-mobile-grid>div{
        min-width:0;
        display:grid;
        gap:3px;
    }
    .driver-mobile-grid small{
        font-size:8px;
        text-transform:uppercase;
        letter-spacing:.45px;
        color:#778596;
        font-weight:700;
    }
    .driver-mobile-grid strong,
    .driver-mobile-grid .reg{
        font-size:11px;
        line-height:1.35;
    }
    .driver-mobile-grid span{
        font-size:10px;
        color:#748291;
    }
    .driver-mobile-vehicle{grid-column:1/-1}
    .driver-mobile-actions{
        display:grid;
        grid-template-columns:1fr 1fr;
        gap:8px;
        padding-top:11px;
        border-top:1px solid #edf1f5;
    }
    .driver-mobile-actions .btn{
        width:100%;
        min-height:38px;
        justify-content:center;
    }
}
@media(max-width:480px){
    .driver-smart-filters{grid-template-columns:1fr}
    .driver-search-box,.driver-filter-actions{grid-column:auto}
    .driver-mobile-grid{grid-template-columns:1fr}
    .driver-mobile-vehicle{grid-column:auto}
    .driver-mobile-actions{grid-template-columns:1fr}
}


/* Exact user-supplied Fleet Studio logo */
.brand-lockup{
    display:block !important;
    background-image:url("fleet-studio-logo.png?v=exact1") !important;
    background-repeat:no-repeat !important;
    background-position:center !important;
    background-size:contain !important;
    background-color:transparent !important;
    border:0 !important;
    box-shadow:none !important;
    overflow:hidden !important;
}
.brand-lockup .brand-mark,
.brand-lockup .brand-words{
    display:none !important;
}

/* Login branding size only - no wording/layout changes */
.login-brand-panel .brand-lockup,
.brand-lockup.large-lockup{
    width:360px !important;
    max-width:80% !important;
    height:220px !important;
    margin:0 0 22px 0 !important;
}

/* Main app/sidebar logo */
.sidebar .brand-lockup{
    width:185px !important;
    max-width:100% !important;
    height:115px !important;
    margin:0 0 16px 0 !important;
}

@media(max-width:760px){
    .login-brand-panel .brand-lockup,
    .brand-lockup.large-lockup{
        width:285px !important;
        height:175px !important;
    }
    .sidebar .brand-lockup{
        width:155px !important;
        height:96px !important;
    }
}


/* Fleet Studio global typography */
html, body, button, input, select, textarea, table {
    font-family: "Montserrat", Arial, sans-serif !important;
}


/* ===== Fleet Studio public landing page ===== */
.public-home{
    margin:0;
    min-height:100vh;
    background:#f5f7fa;
    color:#101c2e;
    font-family:"Montserrat",Arial,sans-serif;
}
.public-home *{box-sizing:border-box}
.public-wrap{width:min(1180px,calc(100% - 40px));margin:0 auto}
.public-header{
    position:sticky;
    top:0;
    z-index:50;
    background:#07172b;
    border-bottom:1px solid rgba(255,255,255,.08);
}
.public-nav{
    min-height:86px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:28px;
}
.public-brand{display:flex;align-items:center;text-decoration:none}
.public-brand img{display:block;width:190px;height:auto;max-height:66px;object-fit:contain}
.public-nav-links{display:flex;align-items:center;gap:26px}
.public-nav-links>a{
    color:#d7e1ec;
    text-decoration:none;
    font-size:13px;
    font-weight:600;
}
.public-nav-links>a:hover{color:#fff}
.public-nav-links .public-login-btn{
    padding:11px 18px;
    border-radius:9px;
    color:#fff;
    background:#176ed1;
}
.public-hero{
    overflow:hidden;
    background:
        radial-gradient(circle at 78% 20%,rgba(23,110,209,.22),transparent 33%),
        linear-gradient(135deg,#07172b 0%,#0c223d 70%,#0d294b 100%);
    color:#fff;
}
.public-hero-grid{
    min-height:610px;
    display:grid;
    grid-template-columns:minmax(0,1.25fr) minmax(340px,.75fr);
    gap:72px;
    align-items:center;
    padding-top:72px;
    padding-bottom:72px;
}
.public-eyebrow{
    display:inline-block;
    margin-bottom:16px;
    color:#65aaf5;
    text-transform:uppercase;
    letter-spacing:1.2px;
    font-size:11px;
    font-weight:800;
}
.public-hero h1{
    max-width:760px;
    margin:0;
    font-size:clamp(42px,5vw,68px);
    line-height:1.02;
    letter-spacing:-2.3px;
}
.public-hero-copy>p{
    max-width:720px;
    margin:25px 0 0;
    color:#c2cfdd;
    font-size:17px;
    line-height:1.75;
}
.public-hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:32px}
.public-primary-btn,.public-secondary-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:48px;
    padding:0 21px;
    border-radius:9px;
    text-decoration:none;
    font-size:13px;
    font-weight:700;
}
.public-primary-btn{background:#176ed1;color:#fff}
.public-primary-btn:hover{background:#0e61bd}
.public-secondary-btn{border:1px solid rgba(255,255,255,.22);color:#fff;background:rgba(255,255,255,.04)}
.public-trust-row{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin-top:34px;
}
.public-trust-row span{
    padding:7px 11px;
    border-radius:99px;
    border:1px solid rgba(255,255,255,.14);
    color:#aebfd1;
    font-size:10px;
    font-weight:700;
}
.public-hero-card{
    border:1px solid rgba(255,255,255,.12);
    border-radius:18px;
    padding:30px;
    background:rgba(255,255,255,.075);
    box-shadow:0 28px 70px rgba(0,0,0,.18);
    backdrop-filter:blur(8px);
}
.public-card-kicker{
    display:block;
    margin-bottom:10px;
    color:#65aaf5;
    font-size:11px;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:1px;
}
.public-hero-card h2{margin:0 0 24px;font-size:27px;line-height:1.2}
.public-demo-metrics{display:grid;gap:10px}
.public-demo-metrics div{
    padding:15px 16px;
    border-radius:11px;
    background:rgba(4,18,34,.52);
    border:1px solid rgba(255,255,255,.07);
}
.public-demo-metrics strong{display:block;font-size:13px;margin-bottom:3px}
.public-demo-metrics span{display:block;color:#9fb1c4;font-size:11px}
.public-hero-card>p{margin:20px 0 0;color:#aebfd1;font-size:12px;line-height:1.7}
.public-section{padding:88px 0;background:#fff}
.public-section-alt{background:#f3f6f9}
.public-section-heading{max-width:760px;margin-bottom:40px}
.public-section-heading h2{
    margin:0;
    font-size:clamp(30px,4vw,45px);
    line-height:1.12;
    letter-spacing:-1.4px;
}
.public-section-heading p{margin:16px 0 0;color:#687789;line-height:1.7}
.public-feature-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:15px;
}
.public-feature-grid article{
    min-height:210px;
    padding:27px;
    border:1px solid #e1e7ed;
    border-radius:14px;
    background:#fff;
}
.public-feature-no{display:block;color:#176ed1;font-size:11px;font-weight:800;margin-bottom:26px}
.public-feature-grid h3{margin:0 0 10px;font-size:18px}
.public-feature-grid p{margin:0;color:#687789;font-size:13px;line-height:1.65}
.public-role-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:12px;
}
.public-role-grid div{
    padding:25px 22px;
    background:#fff;
    border:1px solid #e0e6ec;
    border-radius:12px;
}
.public-role-grid strong{display:block;font-size:15px;margin-bottom:6px}
.public-role-grid span{color:#748294;font-size:12px;line-height:1.5}
.public-cta{padding:58px 0;background:#176ed1;color:#fff}
.public-cta-inner{display:flex;align-items:center;justify-content:space-between;gap:30px}
.public-cta .public-eyebrow{color:#dbeaff;margin-bottom:8px}
.public-cta h2{margin:0;font-size:32px}
.public-cta p{margin:8px 0 0;color:#d9e9fa}
.public-primary-light{background:#fff;color:#0e5cae;white-space:nowrap}
.public-primary-light:hover{background:#eef6ff}
.public-footer{background:#07172b;color:#8fa1b5}
.public-footer .public-wrap{
    min-height:75px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    font-size:11px;
}
@media(max-width:900px){
    .public-hero-grid{grid-template-columns:1fr;gap:38px;min-height:0}
    .public-feature-grid{grid-template-columns:repeat(2,1fr)}
    .public-role-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:650px){
    .public-wrap{width:min(100% - 28px,1180px)}
    .public-nav{min-height:74px}
    .public-brand img{width:150px;max-height:54px}
    .public-nav-links>a:not(.public-login-btn){display:none}
    .public-nav-links{gap:0}
    .public-hero-grid{padding-top:54px;padding-bottom:54px}
    .public-hero h1{font-size:42px;letter-spacing:-1.5px}
    .public-hero-copy>p{font-size:15px}
    .public-hero-card{padding:22px}
    .public-section{padding:64px 0}
    .public-feature-grid,.public-role-grid{grid-template-columns:1fr}
    .public-feature-grid article{min-height:0}
    .public-cta-inner{align-items:flex-start;flex-direction:column}
    .public-footer .public-wrap{flex-direction:column;justify-content:center;gap:5px}
}


/* Platform HQ separation */
.sidebar-role{
    letter-spacing:.045em;
}


/* HQ typography consistency */
.admin-links a{
    font-family:"Montserrat",Arial,sans-serif !important;
}
.admin-links a strong{
    display:block;
    margin:0 0 4px;
    font-family:"Montserrat",Arial,sans-serif !important;
    font-size:13px;
    line-height:1.3;
    font-weight:700;
    color:#142033;
}
.admin-links a span{
    display:block;
    margin:0;
    font-family:"Montserrat",Arial,sans-serif !important;
    font-size:11px;
    line-height:1.45;
    font-weight:400;
    color:#718096;
}

/* System Health typography to match the rest of HQ */
.db-status-copy strong{
    font-family:"Montserrat",Arial,sans-serif !important;
    font-size:13px;
    line-height:1.3;
    font-weight:700;
    color:#142033;
}
.db-status-copy small{
    font-family:"Montserrat",Arial,sans-serif !important;
    font-size:11px;
    line-height:1.4;
    font-weight:400;
    color:#718096;
}


/* Company editor typography consistency */
.company-edit,
.company-edit *,
.module-card,
.module-card *,
.integration-card,
.integration-card * {
    font-family: "Montserrat", Arial, sans-serif !important;
}

.module-card label,
.module-card input,
.module-card select,
.company-edit label,
.company-edit input,
.company-edit select,
.company-edit textarea {
    font-family: "Montserrat", Arial, sans-serif !important;
}

.module-card strong {
    font-size: 14px;
    line-height: 1.3;
    font-weight: 700;
}

.module-card small {
    font-size: 11px;
    line-height: 1.4;
    font-weight: 400;
}

textarea {
    font-family: "Montserrat", Arial, sans-serif !important;
    font-size: 13px;
}


/* =========================================================
   FLEET STUDIO — SITE-WIDE TYPOGRAPHY STANDARD
   Definitive global layer. Keep at end of stylesheet.
   ========================================================= */
:root{
  --fs-font:"Montserrat",Arial,sans-serif;
}
html,body,
button,input,select,textarea,
table,thead,tbody,tfoot,tr,th,td,
label,legend,fieldset,
a,p,span,small,strong,b,em,
div,section,article,aside,nav,header,footer,main,
h1,h2,h3,h4,h5,h6,summary,details{
  font-family:var(--fs-font)!important;
}
body{
  font-size:12px!important;
  line-height:1.5!important;
  font-weight:400!important;
  letter-spacing:0!important;
}
h1,.page-title{
  font-size:25px!important;
  line-height:1.18!important;
  font-weight:700!important;
  letter-spacing:-.35px!important;
}
h2,.panel h2,.panel-head h2{
  font-size:15px!important;
  line-height:1.25!important;
  font-weight:700!important;
  letter-spacing:-.1px!important;
  text-transform:none!important;
}
h3,.panel h3{
  font-size:13px!important;
  line-height:1.3!important;
  font-weight:700!important;
  letter-spacing:0!important;
  text-transform:none!important;
}
h4,h5,h6{
  font-size:12px!important;
  line-height:1.35!important;
  font-weight:700!important;
  letter-spacing:0!important;
}
p,.panel p,.panel-head p,.muted{
  font-size:10px!important;
  line-height:1.45!important;
  font-weight:400!important;
  letter-spacing:0!important;
}
label,
.edit-form label,
.edit-grid label,
.module-price,
.switch-row{
  font-size:10px!important;
  line-height:1.35!important;
  font-weight:500!important;
  letter-spacing:0!important;
  text-transform:none!important;
}
label>span,
.edit-form label>span,
.edit-grid label>span,
.form-label,
th{
  font-size:9px!important;
  line-height:1.3!important;
  font-weight:700!important;
  letter-spacing:.35px!important;
  text-transform:uppercase!important;
}
input,select,textarea{
  font-size:11px!important;
  line-height:1.35!important;
  font-weight:400!important;
  letter-spacing:0!important;
  text-transform:none!important;
}
input::placeholder,textarea::placeholder{
  font-family:var(--fs-font)!important;
  font-size:11px!important;
  font-weight:400!important;
}
button,.btn,.button,
input[type="submit"],input[type="button"]{
  font-size:10px!important;
  line-height:1.25!important;
  font-weight:700!important;
  letter-spacing:0!important;
  text-transform:none!important;
}
table,td{
  font-size:10px!important;
  line-height:1.4!important;
  font-weight:400!important;
  letter-spacing:0!important;
}
td strong,.table-wrap td strong{
  font-size:10px!important;
  font-weight:700!important;
}
.badge,.pill,.status-pill{
  font-size:8px!important;
  line-height:1.2!important;
  font-weight:700!important;
  letter-spacing:0!important;
  text-transform:none!important;
}
.sidebar,.sidebar a,.side-nav a,.nav-link{
  font-size:11px!important;
  font-weight:500!important;
  letter-spacing:0!important;
  text-transform:none!important;
}
.sidebar small{
  font-size:9px!important;
}
.module-row strong{
  font-size:11px!important;
  line-height:1.3!important;
  font-weight:700!important;
  letter-spacing:0!important;
  text-transform:none!important;
}
.module-row small{
  font-size:9px!important;
  line-height:1.3!important;
  font-weight:400!important;
  letter-spacing:0!important;
  text-transform:none!important;
}
.module-price span{
  font-size:10px!important;
  font-weight:500!important;
  letter-spacing:0!important;
  text-transform:none!important;
}
.company-user-head strong{
  font-size:11px!important;
  font-weight:700!important;
}
.company-user-head small{
  font-size:9px!important;
  font-weight:400!important;
}
summary{
  font-size:10px!important;
  font-weight:600!important;
}


/* =========================================================
   ADMIN / PLATFORM USERS — EDIT FLOW
   ========================================================= */
.platform-users-table td{
    vertical-align:top !important;
}
.platform-users-table th:last-child,
.platform-users-table td:last-child{
    width:42% !important;
    min-width:420px !important;
}
.user-edit-drawer{
    width:100% !important;
    margin:0 !important;
}
.user-edit-drawer > summary{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    min-width:58px !important;
    cursor:pointer !important;
    list-style:none !important;
}
.user-edit-drawer > summary::-webkit-details-marker{
    display:none !important;
}
.user-edit-panel{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) minmax(250px,.8fr) auto !important;
    gap:18px !important;
    align-items:end !important;
    width:100% !important;
    margin-top:14px !important;
    padding:16px !important;
    box-sizing:border-box !important;
    border:1px solid #dbe4ed !important;
    border-radius:12px !important;
    background:#f8fafc !important;
}
.user-access-form,
.user-password-form,
.user-delete-form{
    margin:0 !important;
}
.user-edit-grid{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:12px !important;
}
.user-edit-grid label,
.user-password-form label{
    display:block !important;
    margin:0 !important;
}
.user-edit-grid label>span,
.user-password-form label>span{
    display:block !important;
    margin:0 0 6px !important;
}
.user-edit-grid select,
.user-password-form input{
    display:block !important;
    width:100% !important;
    min-height:40px !important;
    box-sizing:border-box !important;
}
.user-edit-actions{
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:12px !important;
    margin-top:12px !important;
}
.user-edit-actions .switch-row{
    margin:0 !important;
}
.user-password-form{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) auto !important;
    gap:10px !important;
    align-items:end !important;
}
.user-delete-form{
    display:flex !important;
    align-items:end !important;
    justify-content:flex-end !important;
}
.user-delete-form .btn{
    white-space:nowrap !important;
}
@media(max-width:1150px){
    .platform-users-table th:last-child,
    .platform-users-table td:last-child{
        min-width:340px !important;
    }
    .user-edit-panel{
        grid-template-columns:1fr !important;
    }
    .user-delete-form{
        justify-content:flex-start !important;
    }
}
@media(max-width:760px){
    .platform-users-table th:last-child,
    .platform-users-table td:last-child{
        min-width:280px !important;
    }
    .user-edit-grid,
    .user-password-form{
        grid-template-columns:1fr !important;
    }
    .user-edit-actions{
        align-items:flex-start !important;
        flex-direction:column !important;
    }
}


/* ADMIN USER MANAGEMENT — FINAL SPACED LAYOUT */
.user-management-panel .platform-users-table td{vertical-align:middle!important}
.user-summary-row td{padding-top:13px!important;padding-bottom:13px!important}
.user-summary-row td:last-child{width:90px!important;min-width:90px!important}
.user-edit-row[hidden]{display:none!important}
.user-edit-row td{padding:0 0 16px!important;border-top:0!important}
.user-edit-card{margin:0 8px 0!important;padding:18px!important;border:1px solid #d8e2ec!important;border-radius:12px!important;background:#f8fafc!important;box-sizing:border-box!important}
.user-edit-card-head{display:flex!important;align-items:flex-start!important;justify-content:space-between!important;gap:20px!important;margin-bottom:14px!important}
.user-edit-card-head h3{margin:0 0 3px!important;font-size:14px!important}
.user-edit-card-head p{margin:0!important}
.user-edit-sections{display:grid!important;grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr)!important;gap:14px!important;align-items:stretch!important}
.user-access-card,.user-password-card{display:flex!important;flex-direction:column!important;justify-content:space-between!important;margin:0!important;padding:15px!important;border:1px solid #dfe7ef!important;border-radius:10px!important;background:#fff!important}
.user-card-title{display:block!important;margin-bottom:13px!important}
.user-card-title strong{display:block!important;font-size:11px!important;font-weight:700!important;text-transform:uppercase!important;letter-spacing:.3px!important;color:#26384c!important}
.user-card-title small{display:block!important;margin-top:3px!important;font-size:9px!important;color:#7b8999!important}
.user-access-fields{display:grid!important;grid-template-columns:minmax(150px,1fr) minmax(150px,1fr) minmax(190px,1fr) auto!important;gap:12px!important;align-items:end!important}
.user-access-fields label{margin:0!important}
.user-access-fields select,.password-reset-row input{display:block!important;width:100%!important;box-sizing:border-box!important;min-height:40px!important}
.platform-role-readonly{min-height:40px!important;padding:7px 10px!important;border:1px solid #d5e0ea!important;border-radius:9px!important;background:#f8fafc!important;box-sizing:border-box!important}
.platform-role-readonly>span{display:block!important;font-size:8px!important;font-weight:700!important;text-transform:uppercase!important;color:#718196!important}
.platform-role-readonly>strong{display:block!important;margin-top:2px!important;font-size:10px!important}
.login-enabled-control{display:flex!important;align-items:center!important;gap:9px!important;min-height:40px!important;padding:6px 0!important}
.login-enabled-control input{width:15px!important;height:15px!important;margin:0!important;flex:0 0 auto!important}
.login-enabled-control span{display:block!important}
.login-enabled-control strong{display:block!important;font-size:9px!important;font-weight:700!important;text-transform:uppercase!important}
.login-enabled-control small{display:block!important;margin-top:2px!important;font-size:8px!important;color:#7c8998!important;text-transform:none!important}
.password-reset-row{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:10px!important;align-items:end!important}
.password-reset-row label{margin:0!important}
.password-reset-row button,.user-access-fields>button{min-height:40px!important;white-space:nowrap!important}
.btn.danger{background:#fff!important;border:1px solid #e2aeb4!important;color:#a52431!important}
.btn.danger:hover{background:#fff2f3!important}
@media(max-width:1100px){.user-edit-sections{grid-template-columns:1fr!important}.user-access-fields{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:700px){.user-edit-card-head{flex-direction:column!important}.user-access-fields,.password-reset-row{grid-template-columns:1fr!important}.user-edit-card{margin:0!important;padding:14px!important}}
