:root{font-family:Arial,Helvetica,sans-serif;color:#18313d;background:#f1f5f7;font-size:18px;line-height:1.5;--blue:#096282;--navy:#102f40;--muted:#546873}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation}button{cursor:pointer}a{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #e79212;outline-offset:4px}header{min-height:98px;background:var(--navy);color:white;display:flex;align-items:center;gap:28px;padding:18px 36px}.brand{display:flex;gap:14px;align-items:center;text-decoration:none;line-height:1.1}.brand strong{font-size:2.1rem;letter-spacing:-2px}.brand strong span{color:#54d5b3}.brand>span{font-size:.85rem;border-left:1px solid #78909b;padding-left:14px}.demo{font-size:.73rem;letter-spacing:.08em;margin-left:auto;color:#c7d7df}.profile{display:flex;align-items:center;gap:12px;font-size:.82rem}.profile select{background:#244959;color:white;border-color:#6e8995;min-height:48px;width:auto}.shell{display:flex;min-height:calc(100vh - 98px)}aside{width:244px;flex-shrink:0;background:white;border-right:1px solid #d9e3e7;padding:28px 18px}aside small{display:block;color:var(--muted);padding:10px;font-size:.78rem}nav{display:grid;gap:8px}nav button{background:none;border:0;text-align:left;padding:14px;border-radius:9px;color:#415864;font-size:.95rem}nav button.active{background:#e2f1f5;color:#075b77;font-weight:bold}main{width:100%;max-width:1230px;margin:0 auto;padding:36px 40px 60px}.topline{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:25px}h1{font-size:1.8rem;line-height:1.2;margin:5px 0 8px;letter-spacing:-.04em}h2{font-size:1.15rem;margin:0 0 18px}h3{font-size:1rem;margin:0}p{margin:5px 0 15px}.muted,small{color:var(--muted)}small{font-size:.82rem}.eyebrow{font-size:.77rem;font-weight:bold;color:var(--blue);letter-spacing:.08em}.vehicle{display:flex;justify-content:space-between;align-items:center;gap:24px;background:var(--navy);color:white;border-radius:16px;padding:25px 28px;margin-bottom:24px}.vehicle small{color:#c0d4de}.plate{font-size:1.65rem;letter-spacing:.05em;font-weight:bold}.vehicle .reading{text-align:right}.reading strong{font-size:1.6rem;display:block}.actions{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:24px 0 32px}.action{background:white;border:1px solid #d4e0e5;border-radius:12px;padding:22px 16px;text-align:left;min-height:130px;color:#143747;font-weight:bold}.action:first-child{background:var(--blue);color:white;border-color:var(--blue)}.action .symbol{display:block;font-size:1.5rem;margin-bottom:12px}.sectiontitle{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:16px}.sectiontitle h2{margin:0}.card{background:white;border:1px solid #d9e3e7;border-radius:13px;padding:24px}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.twocol{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:24px}.oil strong{display:block;font-size:1.28rem;margin-top:15px}.oil progress{appearance:none;width:100%;height:13px;border:0;overflow:hidden;border-radius:10px;margin:15px 0 5px;background:#e7edf0}.oil progress::-webkit-progress-bar{background:#e7edf0}.oil progress::-webkit-progress-value{background:var(--bar,#148466);border-radius:10px}.oil progress::-moz-progress-bar{background:var(--bar,#148466)}.badge{display:inline-block;border-radius:6px;font-size:.78rem;padding:4px 9px;background:#e8f5ef;color:#196548}.badge.warn{background:#fff0cd;color:#80510a}.badge.late{background:#fde9e6;color:#a12f21}.row{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:17px 0;border-bottom:1px solid #e5ecef}.row:last-child{border:0}.row p{margin:2px 0}.button{border:1px solid #b6cbd5;border-radius:9px;background:white;color:var(--blue);padding:12px 20px;min-height:52px;font-weight:bold}.button.primary{background:var(--blue);border-color:var(--blue);color:white}.button.danger{color:#aa3023}.link{color:var(--blue);background:transparent;border:0;font-size:.88rem;text-decoration:underline;padding:8px}.stat strong{display:block;font-size:1.8rem;margin:8px 0}.stat{border-top:4px solid #0b7b95}.tablewrap{overflow:auto}table{border-collapse:collapse;width:100%;text-align:left}th{color:var(--muted);font-size:.82rem}td,th{padding:16px 10px;border-bottom:1px solid #e1e9ed;white-space:nowrap}form{max-width:760px}.fields{display:grid;grid-template-columns:1fr 1fr;gap:20px}label{display:block;font-weight:bold}input,select,textarea{display:block;width:100%;border:1px solid #9db4bf;border-radius:8px;min-height:54px;background:white;color:#18313d;padding:11px;margin-top:7px}input[readonly]{background:#eef3f5;color:#546873}textarea{min-height:115px}.full{grid-column:1/-1}.help{font-weight:normal;font-size:.82rem;color:var(--muted);display:block;margin-top:5px}.formfooter{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:26px}.total{font-size:1.45rem;font-weight:bold}.notice{padding:14px 18px;background:#e3eff5;border-radius:9px;margin-bottom:24px;color:#224e62}.empty{padding:40px;text-align:center}.list{display:grid;gap:16px}#toast:not(:empty){position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:#123d32;color:white;padding:16px 24px;border-radius:10px;box-shadow:0 10px 40px #0003;z-index:10;max-width:90vw}.footerhint{font-size:.82rem;color:var(--muted);margin-top:24px}.mobileonly{display:none}@media(max-width:1100px){aside{width:205px}main{padding:28px 24px}.demo{display:none}.actions{grid-template-columns:1fr 1fr}.grid{grid-template-columns:1fr}.twocol{grid-template-columns:1fr}}@media(max-width:650px){header{padding:16px;gap:12px;flex-wrap:wrap}.brand strong{font-size:1.8rem}.profile{margin-left:auto;display:block;font-size:.75rem}.profile select{font-size:.84rem;padding:8px;min-height:44px}.shell{display:block}aside{width:100%;padding:10px;border-bottom:1px solid #d9e3e7}aside small{display:none}nav{display:flex;overflow:auto;gap:4px}nav button{white-space:nowrap;padding:11px;font-size:.85rem}main{padding:24px 16px 40px}h1{font-size:1.65rem}.topline{align-items:flex-start}.vehicle{padding:20px;flex-wrap:wrap;gap:14px}.vehicle .reading{text-align:left}.reading strong{font-size:1.25rem}.plate{font-size:1.4rem}.action{padding:18px 14px;font-size:1rem}.card{padding:20px}.fields{grid-template-columns:1fr}.full{grid-column:auto}.formfooter{align-items:stretch;flex-direction:column}.row{flex-wrap:wrap}.sectiontitle{align-items:flex-start}.topline .badge{display:none}}
:root{font-family:Arial,sans-serif;font-size:18px;color:#18313d;background:#f1f5f7;line-height:1.5}*{box-sizing:border-box}body{margin:0}header{display:flex;gap:20px;background:#102f40;color:white;padding:20px 32px;align-items:center}header>strong{font-size:2rem}small{font-size:.85rem;color:#566d77}header small{color:#c4d9e3}#identity{margin-left:auto;font-size:.9rem}.layout{display:flex}nav{width:235px;flex-shrink:0;padding:24px;display:flex;flex-direction:column;gap:12px}nav:empty{display:none}main{max-width:1120px;width:100%;padding:32px;margin:auto}h1{font-size:1.8rem;margin:0 0 12px}h2{font-size:1.2rem}button,input,select{font:inherit}button{min-height:52px;padding:12px 18px;border:1px solid #9abac8;background:#edf5f8;border-radius:9px;color:#096282;font-weight:bold;cursor:pointer}button.primary{background:#096282;color:white}button:disabled{opacity:.6;cursor:wait}input,select{width:100%;min-height:52px;padding:10px;border:1px solid #99b1bd;border-radius:8px;margin-top:7px;background:white;color:#18313d}label{font-weight:bold;display:block}.card{padding:24px;background:white;border:1px solid #d7e4e9;border-radius:14px;margin-bottom:20px}.fields{display:grid;grid-template-columns:1fr 1fr;gap:20px}.fields .full{grid-column:1/-1}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:20px}.checks{display:flex;align-items:center;gap:12px;padding:14px;background:#edf5f8;border-radius:8px}.checks input{width:24px;min-height:24px;height:24px;margin:0;flex-shrink:0}.checkgrid,.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.metric{font-size:1.6rem;font-weight:bold}.row{display:flex;justify-content:space-between;gap:18px;align-items:center;flex-wrap:wrap}.notice{background:#dfedf3;padding:16px;border-radius:10px;margin-bottom:22px}.auth{max-width:560px;margin:auto}.auth label{margin:18px 0}#message:not(:empty){padding:16px 32px;background:#fff0cd;color:#714a03}details{margin-top:14px}summary{cursor:pointer;color:#096282;font-weight:bold;padding:10px}img.proof{max-width:100%;max-height:450px;display:block;margin:12px auto}dl{display:grid;grid-template-columns:1fr 1fr;gap:14px}dd{margin:0;font-weight:bold}dt{color:#566d77}pre{white-space:pre-wrap;overflow-wrap:anywhere;background:#edf5f8;padding:16px;border-radius:8px}.hidden{display:none}button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #de980f;outline-offset:3px}@media(max-width:720px){header{padding:16px;flex-wrap:wrap}.layout{display:block}nav{width:100%;flex-direction:row;overflow:auto;padding:12px}nav button{white-space:nowrap}main{padding:20px}.fields,.grid,.checkgrid{grid-template-columns:1fr}.fields .full{grid-column:auto}}

.nav-group{margin:0;border:0}.nav-group>summary{border:0;background:transparent;padding:14px;color:#415864;font-size:.95rem;font-weight:bold;border-radius:9px}.nav-group[open]>summary{background:#eef4f7;color:#075b77}.nav-group>div{display:grid;gap:4px;border-left:2px solid #bfd4de;margin:8px 0 8px 14px;padding-left:7px}.nav-group>div button{font-size:.9rem;padding:12px}.module-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:20px 0}.company-choice{margin-left:0}.company-choice select{max-width:300px}aside{width:255px}.sectiontitle.spaced{margin-top:30px}.actions:empty{display:none}@media(max-width:700px){.module-options{grid-template-columns:1fr}aside{width:100%}.company-choice{flex-basis:100%}.company-choice select{max-width:100%}.nav-group{min-width:170px}}

header{min-height:98px;padding:18px 36px;gap:28px}.brand strong{font-size:2.1rem}.brand>span{color:white}#identity{font-size:.85rem;color:#c7d7df}.layout{min-height:calc(100vh - 98px)}#menu{width:255px;display:flex;flex-direction:column;gap:8px;background:white;border-right:1px solid #d9e3e7;padding:28px 18px}#menu:empty{display:none}#menu button{background:transparent;border:0;text-align:left;color:#415864;font-weight:normal;padding:14px;min-height:50px;width:100%}#menu button.active{background:#e2f1f5;color:#075b77;font-weight:bold}#menu button:hover{background:#eef4f7}.company-name{padding:10px;text-transform:uppercase;font-size:.75rem;overflow-wrap:anywhere}.nav-group{margin:0}.nav-group summary{min-height:50px}.nav-group>div{display:grid}main{max-width:1230px;padding:36px 40px 60px;margin:0 auto}.layout:has(#menu:empty) main{margin:40px auto}.auth{box-shadow:0 12px 35px #102f4010}.auth button{width:100%}.grid>.card{margin-bottom:0}.stat strong{font-size:1.8rem}.quick-actions{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:24px}.twocol{margin:24px 0}.chart-label{display:flex;justify-content:space-between;gap:12px;margin-top:18px;font-size:.85rem}.bar{display:block;width:100%;height:18px;margin:10px 0 18px}.sectiontitle{margin-top:30px}.vehicle-card h2{font-size:1.5rem;letter-spacing:.04em;margin:8px 0}.vehicle-card p{margin-top:12px}.fields .checks{font-weight:bold}#records details summary{display:inline-block;border:1px solid #b6cbd5;border-radius:9px;background:#edf5f8;min-height:52px;padding:12px 20px}#records details[open] summary{margin-bottom:16px}.actions{display:flex;margin:20px 0 0}.row{padding:0;border:0}.footerhint{margin-top:28px}[hidden]{display:none!important}@media(max-width:950px){#menu{width:220px}main{padding:28px 22px}.grid,.twocol{grid-template-columns:1fr}}@media(max-width:720px){header{padding:18px;flex-wrap:wrap}#identity{margin-left:0}.layout{display:block}#menu{width:100%;border-bottom:1px solid #d9e3e7;padding:12px;display:flex;flex-direction:column;overflow:visible}.company-name{display:none}main{padding:24px 16px}.nav-group{min-width:0}.quick-actions button{flex:1}.topline{flex-wrap:wrap}.fields,.checkgrid{grid-template-columns:1fr}}

#screen-tools{display:flex;justify-content:space-between;gap:12px;padding:12px 32px;background:#fff;border-bottom:1px solid #d9e3e7}#screen-tools:empty{display:none}#screen-tools>button:last-child{margin-left:auto}#screen-tools button{min-height:46px}.description{white-space:pre-wrap;overflow-wrap:anywhere}textarea{font:inherit}.grid .oil button{margin-top:12px;width:100%}
#document-list h2{margin-top:12px}#document-dashboard{margin-top:28px}#document-detail-actions .button{text-decoration:none;display:inline-flex;align-items:center}.badge.late{background:#fde9e6;color:#a12f21}
.profile-photo{display:block;width:100%;max-width:340px;height:190px;object-fit:contain;background:#eef3f5;border-radius:10px;margin-bottom:18px}.profile-photo.portrait{width:120px;height:120px;object-fit:cover}.profile-placeholder{display:flex;align-items:center;justify-content:center;max-width:340px;min-height:110px;border-radius:10px;background:#eef3f5;color:#546873;margin-bottom:18px;font-size:.85rem}#drivers>.card{margin-top:18px}#driver-edit .profile-photo,#vehicle-edit .profile-photo{margin-bottom:24px}

#owner-preview{display:flex;flex-wrap:wrap;align-items:end;gap:12px;padding:14px 24px;background:#edf5f8;border-bottom:1px solid #b6cbd5}
#owner-preview label{display:grid;gap:5px;min-width:210px;margin:0;color:#102b46}
#owner-preview select{margin:0;max-width:100%;background:white}
#owner-preview p{margin:0;align-self:center;flex:1;min-width:180px;color:#102b46}
@media(max-width:720px){#owner-preview{padding:14px 16px}#owner-preview label{flex:1;min-width:100%}}

.driver-ui{background:#edf4f7;color:#123047}.driver-ui>header{max-width:500px;margin:auto;background:#f8fbfd;border:0;padding:14px 22px}.driver-ui>header .brand{display:none}.driver-ui .layout{display:block;max-width:500px;margin:auto;background:#f8fbfd;min-height:85vh;padding:0 20px 110px}.driver-ui #app{padding:16px 0}.driver-ui #menu{position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:min(100%,500px);display:flex;gap:4px;border:0;border-top:1px solid #dce8ed;background:#fffffff5;padding:10px 8px calc(10px + env(safe-area-inset-bottom));z-index:30}.driver-ui #menu button{flex:1;font-size:11px;padding:14px 3px;text-align:center;border:0;background:none;color:#4b7083;border-radius:12px}.driver-ui #menu button.selected,.driver-ui .driver-filters .selected{background:#e2f2f7;color:#007e9c}.driver-ui .card{border:1px solid #dfebf0;border-radius:18px;padding:20px;box-shadow:none;margin-bottom:16px;background:white}.driver-ui h1{font-size:28px;letter-spacing:-.8px}.driver-ui h2{font-size:18px}.driver-ui button.card{display:block;text-align:left;width:100%;color:inherit}.driver-ui .driver-summary strong,.driver-number{font-size:32px}.driver-ui .driver-vehicle{background:#edf5f8}.driver-ui .driver-vehicle h2{font-size:25px}.driver-ui .driver-cta{display:block;width:100%;padding:19px;margin:0 0 20px;background:#007e9c;font-size:17px;border-radius:14px}.driver-ui .fields,.driver-ui .grid{grid-template-columns:1fr}.driver-ui .driver-record{display:flex!important;align-items:center;justify-content:space-between;gap:10px}.driver-ui .driver-record strong{white-space:nowrap}.driver-filters{display:flex;gap:6px;margin-bottom:18px}.driver-filters button{flex:1;padding:12px 4px;font-size:12px}.driver-ui #screen-tools{max-width:500px;margin:auto;padding:8px 20px}.driver-ui #message:not(:empty){max-width:500px;margin:auto;padding:15px;background:#fff1d5}.driver-ui dl>div{display:flex;justify-content:space-between;gap:14px;padding:10px 0;border-bottom:1px solid #edf2f5}.driver-ui dd{text-align:right;overflow-wrap:anywhere}.driver-ui .actions{flex-wrap:wrap}.driver-ui img.proof{max-width:100%}
.driver-ui .driver-greeting{display:flex;align-items:center;gap:12px;margin:0 0 20px;min-width:0}
.driver-ui .driver-greeting h1{margin:0;min-width:0;overflow-wrap:anywhere}
.driver-ui #driver-portrait{width:52px;height:52px;flex:0 0 52px}
.driver-ui #driver-portrait .profile-photo,.driver-ui .driver-portrait-placeholder{width:52px;height:52px;border-radius:50%;margin:0;object-fit:cover}
.driver-ui #driver-portrait [hidden]{display:none}
.driver-ui .driver-portrait-placeholder:not([hidden]){display:flex;align-items:center;justify-content:center;background:#e2edf2;color:#597488}
.driver-ui .driver-vehicle{display:grid;grid-template-columns:minmax(0,1fr) minmax(90px,34%);align-items:center;gap:14px}
.driver-ui .driver-vehicle-info{min-width:0;overflow-wrap:anywhere}
.driver-ui .driver-vehicle-info h2{margin:8px 0 12px}.driver-ui .driver-vehicle-info p{margin:0}
.driver-ui .driver-vehicle .driver-linked{grid-column:1/-1;min-width:0;overflow-wrap:anywhere}
.driver-ui .driver-vehicle #driver-vehicle-photo{min-width:0;width:100%;max-width:180px;justify-self:end}
.driver-ui .driver-vehicle #driver-vehicle-photo .profile-photo{display:block;width:100%;max-width:100%;height:auto;aspect-ratio:3/2;object-fit:contain;margin:0;border-radius:12px}
.driver-ui .driver-vehicle #driver-vehicle-photo .profile-photo[hidden]{display:none}
.driver-ui .driver-vehicle #driver-vehicle-photo .profile-placeholder{width:100%;max-width:100%;min-height:68px;margin:0;padding:8px;font-size:12px;text-align:center;border-radius:12px}
.driver-ui #menu{flex-direction:row;align-items:stretch;height:auto;min-height:74px;overflow:visible}
.driver-ui #menu button{width:0;min-width:0;min-height:48px;white-space:normal;line-height:1.3}
.driver-ui{font-family:system-ui,-apple-system,"Segoe UI",sans-serif;font-size:16px;line-height:1.5}
.driver-ui>header{min-height:44px;padding:12px 22px;color:#597488}
.driver-ui #identity{color:#597488;font-size:12px}
.driver-ui #screen-tools{background:#f8fbfd;border:0}
.driver-ui #screen-tools button{min-height:40px;padding:8px 12px;font-size:14px;border:0;background:transparent}
.driver-ui button{font-family:inherit;line-height:1.4;min-height:44px}
.driver-ui #app button:not(.primary):not(.card){border:1px solid #d6e5ec;border-radius:12px;padding:11px 15px;background:#edf5f8;color:#16536c}
.driver-ui #app .driver-filters button.selected{background:#007e9c;color:white;border-color:#007e9c}
.driver-ui #app .driver-filters{flex-direction:row;align-items:center;clear:both}
.driver-ui #driver-consumption,.driver-ui #records{width:100%;min-width:0}
.driver-ui .driver-record div{min-width:0}.driver-ui .driver-record b{font-size:14px}.driver-ui .driver-record strong{font-size:15px}
.driver-ui .driver-record p{font-size:14px;margin:6px 0}.driver-ui .driver-record small{font-size:12px}
.driver-ui .driver-record p strong{white-space:normal}
.driver-ui input,.driver-ui select,.driver-ui textarea{width:100%;min-width:0;border:1px solid #cbdde6;border-radius:11px;padding:12px;background:white;color:#17384b;font-size:16px}
.driver-ui input[type=checkbox]{width:auto}.driver-ui input[type=file]{font-size:13px}
.driver-ui .fields{gap:18px}.driver-ui .fields label{font-size:14px;min-width:0}
.driver-ui dl{grid-template-columns:1fr;gap:0}.driver-ui dt{font-size:14px}.driver-ui dd{font-size:15px}
.driver-ui #driver-links{display:grid;gap:12px}.driver-ui #driver-links .card{margin:0}
.driver-ui .actions{display:flex;gap:10px}.driver-ui .actions button{flex:1}

@media(min-width:760px){.driver-ui .layout,.driver-ui>header,.driver-ui #screen-tools{max-width:760px}.driver-ui #menu{width:760px;max-width:100%}.driver-ui .layout{padding:0 32px 110px}.driver-ui #driver-panels{display:grid;grid-template-columns:1fr 1fr;gap:16px}.driver-ui #driver-panels>section{grid-column:1/-1}.driver-ui #driver-panels>.card{margin:0}.driver-ui .fields{grid-template-columns:1fr 1fr}.driver-ui #driver-links{grid-template-columns:1fr}.driver-ui #menu button{font-size:14px}}

.preventive-card .preventive-status{display:block;font-weight:650;overflow-wrap:anywhere}
.preventive-card .preventive-status--green{color:#17643a}
.preventive-card .preventive-status--yellow{color:#795900}
.preventive-card .preventive-status--red{color:#a42a2a}
.preventive-card .preventive-status--unknown{color:#546873}
.preventive-card progress.preventive-progress{display:block;width:100%;height:14px;margin:14px 0;border:0;border-radius:8px;overflow:hidden;appearance:none;-webkit-appearance:none;background:#e2e9ed}
.preventive-card .preventive-progress--green{--preventive-color:#20874e}
.preventive-card .preventive-progress--yellow{--preventive-color:#d4a313}
.preventive-card .preventive-progress--red{--preventive-color:#c53c3c}
.preventive-card .preventive-progress--unknown{--preventive-color:#92a4ae}
.preventive-card progress.preventive-progress{accent-color:var(--preventive-color)}
.preventive-card progress.preventive-progress::-webkit-progress-bar{background:#e2e9ed;border-radius:8px}
.preventive-card progress.preventive-progress::-webkit-progress-value{background:var(--preventive-color);border-radius:8px}
.preventive-card progress.preventive-progress::-moz-progress-bar{background:var(--preventive-color);border-radius:8px}
