:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;color:#142d49;background:#f4f7fa;font-synthesis:none;font-size:14px;-webkit-font-smoothing:antialiased;--navy:#142d49;--navy2:#1c3a59;--blue:#2563eb;--teal:#0d9488;--surface:#fff;--bg:#f4f7fa;--border:#e4eaf1;--muted:#78889d;--text:#172d47;--shadow:0 9px 28px rgba(17,42,72,.055)}*{box-sizing:border-box}body{margin:0;min-width:320px}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}input,select,textarea{outline:none}input:focus,select:focus,textarea:focus{border-color:#7fafff!important;box-shadow:0 0 0 3px rgba(37,99,235,.1)!important}img{max-width:100%}h1,h2,h3,h4,p{margin:0}h1{font-size:1.7rem;letter-spacing:-.7px;font-weight:760}h2{font-size:1.15rem;letter-spacing:-.25px;font-weight:720}h3{font-size:.96rem;font-weight:700}.muted{color:var(--muted)}.subtext{color:var(--muted);font-size:.86rem}.xs{font-size:.74rem}.strong{font-weight:700}.nowrap{white-space:nowrap}.truncate{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.mb8{margin-bottom:8px}.mb16{margin-bottom:16px}.mt12{margin-top:12px}.app-shell{display:flex;min-height:100vh;min-height:100dvh}.sidebar{width:238px;flex:none;background:linear-gradient(157deg,#142d49,#10273f 84%);color:#b9c8db;padding:25px 14px 20px;display:flex;flex-direction:column;min-height:100dvh;position:sticky;top:0;height:100dvh;z-index:40}.brand{display:flex;align-items:center;gap:11px;padding:0 11px 27px}.brand-logo{width:42px;height:42px;border-radius:13px;box-shadow:0 5px 17px #07162640}.brand-text{display:block;font-weight:870;font-size:1.22rem;line-height:1.15;color:#fff;letter-spacing:.35px}.brand-text b{color:#50bfc5;font-weight:870}.brand-small{font-size:.64rem;letter-spacing:1.6px;color:#9cb0c6;margin-top:3px}.nav-label{font-size:.67rem;font-weight:700;letter-spacing:1.9px;color:#778da6;padding:14px 15px 9px}.nav-btn{width:100%;border:0;background:transparent;display:flex;align-items:center;text-align:left;gap:12px;color:#b5c5d8;padding:12px 13px;border-radius:11px;font-weight:570;margin:2px 0;transition:.15s}.nav-btn:hover{background:#ffffff12;color:#fff}.nav-btn.active{background:#2878ec;color:white;box-shadow:0 8px 19px #02182940}.nav-btn svg{width:19px;height:19px;stroke-width:1.9;flex:none}.nav-counter{margin-left:auto;background:#fff2;color:white;font-size:.71rem;padding:3px 7px;border-radius:20px}.sidebar-foot{margin-top:auto;padding:15px 10px 3px;border-top:1px solid #fff2;font-size:.76rem;color:#8ca4bd}.sidebar-foot .org{font-weight:750;color:#d5e4f4;letter-spacing:1.8px;margin-bottom:4px}.main{min-width:0;flex:1}.topbar{height:80px;padding:0 36px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border);background:rgba(255,255,255,.94);gap:16px}.top-title{font-size:1.03rem;font-weight:720}.top-sub{font-size:.78rem;color:var(--muted);margin-top:3px}.top-actions{display:flex;align-items:center;gap:12px}.user-avatar{border-radius:50%;height:37px;width:37px;background:#e8f0fe;color:#285acb;display:grid;place-items:center;font-weight:800}.user-mini{font-size:.82rem;text-align:right}.page{max-width:1490px;margin:0 auto;padding:29px 36px 65px}.page-top{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;margin-bottom:25px}.eyebrow{text-transform:uppercase;font-size:.69rem;font-weight:820;letter-spacing:1.6px;color:#6e8ba6;margin-bottom:6px}.page-sub{color:var(--muted);margin-top:7px;line-height:1.6}.toolbar{display:flex;gap:9px;align-items:center;flex-wrap:wrap}.btn{display:inline-flex;gap:8px;justify-content:center;align-items:center;border-radius:10px;border:1px solid #dce6f2;padding:10px 15px;background:#fff;color:#24415f;font-weight:700;min-height:40px;transition:background .12s,transform .12s,box-shadow .12s}.btn:hover{box-shadow:0 3px 15px #102b4b10;transform:translateY(-1px)}.btn:disabled{opacity:.5;cursor:default;transform:none}.btn.primary{background:var(--blue);color:white;border-color:var(--blue)}.btn.primary:hover{background:#1854d6}.btn.teal{background:var(--teal);color:#fff;border-color:var(--teal)}.btn.subtle{background:#eef4fc;border-color:transparent;color:#1d58b4}.btn.danger{border-color:#f7cccc;color:#d53a3a;background:#fff5f5}.btn.small{min-height:33px;padding:7px 10px;font-size:.82rem;border-radius:8px}.btn.icon-only{padding:9px;min-width:39px}.btn svg{width:17px;height:17px}.hero{background:linear-gradient(110deg,#142d49,#235b8a);color:white;border-radius:19px;display:flex;align-items:center;justify-content:space-between;padding:25px 29px;gap:20px;margin-bottom:24px;position:relative;overflow:hidden}.hero::after{content:"";position:absolute;width:330px;height:330px;border:48px solid #ffffff0c;border-radius:100%;top:-199px;right:94px}.hero h2{font-size:1.22rem;font-weight:730;margin-bottom:8px}.hero p{line-height:1.6;color:#d0dcea;max-width:510px;font-size:.88rem}.hero .btn{position:relative;z-index:1}.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin-bottom:22px}.metric{border:1px solid var(--border);background:#fff;border-radius:15px;padding:21px 20px;box-shadow:var(--shadow);display:flex;gap:14px;align-items:center;min-width:0}.metric-icon{height:47px;width:47px;border-radius:13px;background:#eaf1ff;color:#2563eb;display:grid;place-items:center;flex:none}.metric-icon svg{width:23px;height:23px}.metric-icon.green{background:#e5f8ef;color:#16a36d}.metric-icon.red{background:#feedef;color:#e44854}.metric-icon.amber{background:#fff3df;color:#e69a27}.metric-number{font-size:1.76rem;font-weight:840;letter-spacing:-1px;line-height:1.05}.metric-label{color:var(--muted);font-size:.76rem;margin-top:7px;line-height:1.35}.columns{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(300px,1fr);gap:19px}.card{background:#fff;border:1px solid var(--border);border-radius:15px;box-shadow:var(--shadow);min-width:0;overflow:hidden}.card-pad{padding:21px}.card-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:19px 21px;border-bottom:1px solid #edf1f6}.card-title{font-weight:760;font-size:.99rem}.card-subtitle{color:var(--muted);font-size:.76rem;margin-top:4px}.simple-link{border:0;background:transparent;color:#2265d6;font-size:.8rem;font-weight:800;white-space:nowrap}.simple-link:hover{text-decoration:underline}.table-scroll{overflow:auto}.table{border-collapse:collapse;width:100%;min-width:630px}.table th{padding:12px 17px;text-align:left;color:#8798aa;font-size:.67rem;letter-spacing:.75px;font-weight:780;text-transform:uppercase;background:#fbfcfe;border-bottom:1px solid #edf1f6;white-space:nowrap}.table td{padding:13px 17px;border-bottom:1px solid #f0f2f6;vertical-align:middle;color:#38506b;font-size:.85rem}.table tr:last-child td{border-bottom:0}.table tbody tr.clickable:hover{background:#f7faff;cursor:pointer}.table .primary-cell{font-weight:750;color:#192f4a}.table .mini-sub{display:block;font-size:.73rem;color:#91a0af;margin-top:3px}.tag{display:inline-flex;align-items:center;gap:6px;border-radius:18px;padding:5px 10px;font-size:.72rem;font-weight:760;white-space:nowrap}.tag::before{content:"";height:6px;width:6px;background:currentColor;border-radius:50%}.tag.available,.tag.resolved,.tag.closed{background:#e9f8ee;color:#168851}.tag.watch,.tag.medium{background:#fff4dc;color:#b57b14}.tag.workshop,.tag.in_progress,.tag.high{background:#fff0de;color:#ca7418}.tag.immobilized,.tag.critical{background:#fff0f1;color:#d4444c}.tag.new,.tag.low{background:#eaf2ff;color:#3864c7}.pill{display:inline-flex;align-items:center;border-radius:7px;padding:5px 8px;color:#517393;background:#eef3f8;font-size:.72rem;font-weight:720}.list-rows{padding:6px 20px}.list-row{display:flex;align-items:center;gap:12px;padding:14px 0;border-bottom:1px solid #edf1f6}.list-row:last-child{border-bottom:0}.list-icon{width:37px;height:37px;flex:none;border-radius:10px;display:grid;place-items:center;background:#eaf0f9;color:#4774bd}.list-icon.danger{background:#fff0ef;color:#d85857}.list-icon.warning{background:#fff4e6;color:#d7902f}.list-body{flex:1;min-width:0}.list-primary{font-weight:700;color:#263e58;font-size:.85rem}.list-second{color:var(--muted);font-size:.76rem;margin-top:4px;line-height:1.35}.list-side{font-size:.76rem;color:#8192a4;white-space:nowrap}.empty{padding:39px 25px;text-align:center;color:#8a99a9}.empty svg{width:36px;height:36px;color:#a8b6c8;margin-bottom:12px}.empty h3{color:#304963;margin-bottom:7px}.filters{padding:18px 20px;display:flex;align-items:center;gap:10px;flex-wrap:wrap;border-bottom:1px solid #edf1f6}.search-control{flex:1;min-width:160px;display:flex;align-items:center;gap:9px;background:#f7f9fc;border:1px solid #e4eaf2;border-radius:10px;padding:0 11px;height:41px;color:#8c9eae}.search-control svg{width:17px;height:17px;flex:none}.search-control input{border:0;background:transparent;min-width:80px;width:100%;height:100%;color:#24405e;box-shadow:none!important}.search-control input:focus{box-shadow:none!important}.filter-select{height:41px;border:1px solid #e4eaf2;border-radius:10px;color:#5c6f82;background:#fff;max-width:190px;min-width:125px;padding:0 12px;font-weight:570}.list-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(265px,1fr));gap:15px}.vehicle-card{padding:20px;display:flex;flex-direction:column;gap:15px}.vehicle-card-top{display:flex;align-items:center;justify-content:space-between;gap:10px}.vehicle-card-icon{height:45px;width:45px;border-radius:12px;background:#eaf1fd;display:grid;place-items:center;color:#235ebf}.vehicle-card h3{font-size:1.11rem}.vehicle-card-details{display:grid;gap:10px;color:#7c90a4;font-size:.81rem}.vehicle-card-details>span{display:flex;align-items:center;gap:8px}.vehicle-card-details svg{height:15px;width:15px}.vehicle-card-bottom{border-top:1px solid #edf1f6;padding-top:13px;display:flex;justify-content:space-between;align-items:center}.avatar-small{border-radius:10px;background:#dfeafc;color:#1a62be;display:grid;place-items:center;width:29px;height:29px;font-weight:800;font-size:.8rem}.flex{display:flex;align-items:center;gap:8px}.wrap{flex-wrap:wrap}.between{justify-content:space-between}.card-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.info-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;margin-bottom:16px}.info-box{border:1px solid var(--border);border-radius:11px;padding:12px 14px;background:#fff}.info-label{font-size:.7rem;color:#8b9caf;margin-bottom:5px}.info-value{font-size:.92rem;color:#22405f;font-weight:730;overflow-wrap:anywhere}.detail-section{padding:18px 0;border-top:1px solid var(--border)}.detail-section h3{margin-bottom:13px}.detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.kv{display:flex;flex-direction:column;gap:3px}.kv small{color:#8b9bad}.kv strong{color:#2b4662;font-weight:670;font-size:.88rem;overflow-wrap:anywhere}.status-line{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.overlay-backdrop{position:fixed;inset:0;background:#071b31a8;backdrop-filter:blur(3px);z-index:100;display:flex;align-items:center;justify-content:center;padding:20px}.modal{background:#fff;width:min(740px,100%);max-height:calc(100dvh - 42px);display:flex;flex-direction:column;border-radius:20px;box-shadow:0 25px 100px #001a3480;overflow:hidden}.modal.wide{width:min(900px,100%)}.modal-top{display:flex;gap:10px;align-items:center;justify-content:space-between;padding:21px 25px;border-bottom:1px solid var(--border)}.modal-top h2{font-size:1.2rem}.modal-content{padding:24px;overflow:auto;overscroll-behavior:contain}.modal-footer{display:flex;justify-content:flex-end;gap:9px;border-top:1px solid var(--border);padding:15px 24px;background:#fcfdfe;flex-wrap:wrap}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.field{display:flex;flex-direction:column;gap:7px;min-width:0}.field.full{grid-column:1/-1}.field label{font-size:.77rem;font-weight:720;color:#3f5570}.field input,.field textarea,.field select{border:1px solid #d9e2ed;background:#fff;border-radius:9px;width:100%;padding:10px 12px;min-height:41px;color:#2a445f}.field textarea{resize:vertical;min-height:88px}.field .help{font-size:.72rem;line-height:1.4;color:#8292a3}.form-help{font-size:.79rem;color:#8092a5;background:#f4f7fb;border-radius:10px;padding:12px;line-height:1.5;margin-bottom:17px}.report-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.report-card{padding:19px}.report-card:hover{border-color:#abcafa}.report-card h3{font-size:.96rem}.report-text{font-size:.87rem;color:#57708a;line-height:1.55;margin-top:11px;margin-bottom:12px}.report-meta{display:flex;align-items:center;gap:6px;color:#9ba8b5;font-size:.74rem;flex-wrap:wrap}.report-foot{border-top:1px solid var(--border);margin-top:17px;padding-top:12px;display:flex;align-items:center;justify-content:space-between;gap:10px}.report-foot svg{width:16px;height:16px}.drawer-alert{background:#fff5e6;border:1px solid #ffdfb5;padding:11px 13px;border-radius:10px;color:#936119;font-size:.83rem;line-height:1.5;margin-bottom:16px}.drawer-alert.danger{background:#fff0f1;border-color:#ffd6d8;color:#ab313a}.login-page{min-height:100vh;min-height:100dvh;display:grid;grid-template-columns:1fr 1fr;background:#fff}.login-intro{background:linear-gradient(150deg,#142d49,#1b4262);color:#fff;padding:55px clamp(35px,6vw,100px);display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}.login-intro::before{content:"";width:490px;height:490px;border:95px solid #ffffff08;border-radius:50%;position:absolute;right:-230px;top:150px}.login-brand{display:flex;align-items:center;gap:12px;position:relative}.login-brand img{width:50px;height:50px;border-radius:14px}.login-brand strong{font-size:1.45rem;letter-spacing:.7px}.login-intro h1{font-size:clamp(2.4rem,4.5vw,4.3rem);max-width:560px;line-height:1.1;letter-spacing:-1.8px;margin-bottom:20px}.login-intro h1 em{color:#72dcdd;font-style:normal}.login-intro p{font-size:1.07rem;max-width:470px;color:#baccda;line-height:1.8}.login-copy{position:relative}.login-copy .tiny-pill{background:#ffffff19;border-radius:40px;padding:8px 14px;display:inline-block;color:#cce6ea;font-size:.77rem;letter-spacing:.6px;margin-bottom:23px}.login-footer{font-size:.79rem;color:#9cb2c7;position:relative}.login-form-side{display:flex;align-items:center;justify-content:center;padding:30px}.login-form-box{width:min(390px,100%)}.login-form-box h2{font-size:1.87rem;letter-spacing:-.75px}.login-form-box>p{color:#8da0b4;margin:9px 0 30px;line-height:1.65}.login-form-box form{display:grid;gap:19px}.login-form-box .field input{height:48px}.login-form-box .btn{height:49px;margin-top:6px}.login-note{font-size:.75rem;color:#9aa8b7;margin-top:26px;line-height:1.7}.error-box{background:#fff1f1;color:#b1353b;padding:11px 13px;border-radius:10px;font-size:.84rem;margin-bottom:17px}.splash{height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:17px;letter-spacing:1px;color:var(--navy)}.splash img{height:70px;width:70px}.hidden{display:none!important}.mobile-toggle{display:none}.no-scroll{overflow:hidden}#toasts{position:fixed;bottom:25px;right:24px;z-index:150;display:grid;gap:9px;max-width:min(390px,calc(100vw - 34px))}.toast{background:#173652;border-radius:11px;box-shadow:0 8px 28px #00193350;color:#fff;display:flex;gap:10px;align-items:center;padding:13px 16px;font-size:.84rem;line-height:1.4}.toast.success{background:#147b62}.toast.error{background:#ae3e48}.toast svg{width:19px;height:19px;flex:none}.inline-note{padding:8px 11px;background:#f1f6ff;border-radius:7px;font-size:.76rem;color:#416e9f;line-height:1.4}.section-spacing{margin-top:20px}.hidden-large{display:none}.mini-action{border:0;background:none;color:#1c67d4;font-weight:730;font-size:.8rem;padding:5px}.mini-action:hover{text-decoration:underline}.mobile-only{display:none}
@media(max-width:1100px){.page{padding:27px 24px}.topbar{padding:0 24px}.sidebar{width:211px}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.columns{grid-template-columns:1fr}}
@media(max-width:760px){.sidebar{position:fixed;left:0;top:0;transform:translateX(-104%);transition:transform .2s;box-shadow:10px 0 30px #0b274340}.sidebar.mobile-open{transform:translateX(0)}.sidebar-screen{position:fixed;inset:0;background:#09203470;z-index:30}.mobile-toggle{display:inline-flex}.topbar{height:66px;padding:0 16px}.top-user-name{display:none}.page{padding:22px 15px 85px}.page-top{gap:14px}.page-top h1{font-size:1.4rem}.page-top .btn.small{font-size:.77rem}.hero{padding:21px 18px;align-items:flex-start;flex-direction:column}.hero h2{font-size:1.14rem}.hero p{font-size:.82rem}.hero::after{right:-140px}.metric-grid{gap:9px}.metric{padding:13px 12px;gap:9px;border-radius:12px}.metric-icon{width:37px;height:37px;border-radius:10px}.metric-icon svg{width:19px;height:19px}.metric-number{font-size:1.42rem}.metric-label{font-size:.7rem}.columns{gap:14px}.card-heading{padding:16px}.filters{padding:15px}.search-control{width:100%;flex:none}.filter-select{flex:1;min-width:calc(50% - 8px);max-width:none}.report-cards{grid-template-columns:1fr}.report-card{padding:15px}.info-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.info-box{padding:10px}.modal{max-height:calc(100dvh - 16px);border-radius:16px}.overlay-backdrop{padding:8px}.modal-top{padding:17px 18px}.modal-content{padding:17px}.modal-footer{padding:13px 17px}.form-grid{gap:12px}.form-grid .field{grid-column:1/-1}.detail-grid{grid-template-columns:1fr 1fr}.login-page{grid-template-columns:1fr}.login-intro{min-height:205px;padding:24px;gap:32px}.login-intro h1{font-size:1.75rem}.login-intro p{display:none}.login-intro .login-copy .tiny-pill{display:none}.login-intro .login-footer{display:none}.login-form-side{padding:28px 22px}.login-form-box{max-width:420px}.mobile-only{display:block}.user-mini{display:none}}
@media(max-width:420px){.top-sub{display:none}.metric-grid{grid-template-columns:1fr 1fr}.btn.hide-small{display:none}.detail-grid{grid-template-columns:1fr}.toolbar .btn{padding-left:10px;padding-right:10px}.table{min-width:590px}}
/* GALIFLOTTE V1.2 – field-first additions and high-contrast theme */
.theme-switch{white-space:nowrap;min-height:44px}.permission-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 17px;margin:17px 0}.permission-row{display:flex;gap:9px;align-items:center;justify-content:space-between;background:var(--bg);padding:9px 12px;border-radius:10px;border:1px solid var(--border)}.permission-row>span{font-weight:650;font-size:.87rem}.permission-row select{max-width:145px;min-height:42px;border:1px solid var(--border);border-radius:9px;background:var(--surface);color:var(--text);padding:5px 8px}.permissions-panel{padding-top:17px;margin-top:18px;border-top:1px solid var(--border)}
.check-section{padding:18px 0;border-top:1px solid var(--border);margin-top:17px}.check-section h3{font-size:1.05rem;margin-bottom:15px}.check-item{padding:15px 14px;background:var(--bg);border:1px solid var(--border);border-radius:12px;margin-bottom:12px;display:grid;gap:12px}.check-label{color:var(--text);font-weight:700;line-height:1.5}.check-choices{display:flex;gap:7px;flex-wrap:wrap}.check-choices label{display:flex;align-items:center;gap:7px;padding:11px 13px;border-radius:10px;background:var(--surface);border:1px solid var(--border);font-weight:700;min-height:45px;cursor:pointer}.check-choices label:has(input:checked){background:#e5efff;color:#123c84;border-color:#3e79db}.check-choices input{accent-color:#1858bb;inline-size:18px;block-size:18px}.check-details{display:grid;gap:11px;padding:13px;background:var(--surface);border-radius:10px;border:1px solid var(--border)}.check-details[hidden]{display:none!important}.severity{font-size:.74rem;background:#fee2e2;color:#932828;padding:3px 7px;border-radius:50px;font-weight:800}.signature-block{padding:19px 0;margin-top:20px;border-top:1px solid var(--border);display:grid;gap:10px}.signature-block canvas{background:white;border:2px solid #a5bad0;border-radius:12px;width:100%;height:175px;touch-action:none;cursor:crosshair;display:block}.saved-signature{width:min(450px,100%);max-height:145px;object-fit:contain;background:#fff;border:1px solid #c4d0db;border-radius:9px;padding:9px;margin:10px 0}.status-color{display:inline-flex;align-items:center;gap:7px;white-space:nowrap;font-weight:800;font-size:.8rem}.status-color i{width:13px;height:13px;flex:none;display:inline-block;border-radius:50%;background:var(--muted);outline:1px solid #64748b55}.status-color.green i{background:#14844e}.status-color.yellow i{background:#eab308}.status-color.orange i{background:#ea580c}.status-color.red i{background:#d62839}.status-color.red{color:#a7152c}.status-color.orange{color:#b43c05}.status-color.yellow{color:#866008}.status-color.green{color:#18754b}.inline-select{min-width:110px;border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:8px;padding:10px 7px}.info-reminder{margin-bottom:17px;display:flex;align-items:center;gap:10px;color:#173e7c;background:#e7f0ff;padding:15px;border-radius:11px;border:1px solid #bed4fc;font-weight:650;line-height:1.5}.info-reminder svg{width:23px;height:23px;flex:none}.photo-tile{display:inline-block;margin:8px 10px 8px 0}.photo-tile img{width:105px;height:85px;object-fit:cover;border-radius:10px;border:1px solid var(--border)}.login-password{min-height:100dvh;display:grid;place-items:center;background:var(--bg);padding:24px}.password-panel{width:min(510px,100%);padding:33px}.password-panel h1{margin:10px 0}.password-panel form{margin-top:22px}.password-panel .form-grid{margin-bottom:12px}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,a:focus-visible{outline:3px solid #63a3ff;outline-offset:2px}.btn,.mini-action,.nav-btn{min-height:44px}.table-scroll{scrollbar-color:#678baa var(--bg)}
:root[data-theme="dark"]{color-scheme:dark;--navy:#dce9fd;--navy2:#bcd2ee;--blue:#7daaff;--teal:#56ddd2;--surface:#152638;--bg:#0b1725;--border:#324960;--muted:#bbc9d9;--text:#f2f7fd;--shadow:0 8px 30px #02091355;color:var(--text);background:var(--bg)}
:root[data-theme="dark"] body,:root[data-theme="dark"] .main{background:var(--bg)!important;color:var(--text)}
:root[data-theme="dark"] .topbar{background:#102033!important;color:#eaf4ff!important}
:root[data-theme="dark"] .card,:root[data-theme="dark"] .metric,:root[data-theme="dark"] .modal,:root[data-theme="dark"] .info-box,:root[data-theme="dark"] .login-form-side,:root[data-theme="dark"] .login-form-box,:root[data-theme="dark"] .password-panel{background:var(--surface)!important;color:var(--text)!important}
:root[data-theme="dark"] .modal-footer,:root[data-theme="dark"] .form-help,:root[data-theme="dark"] .filters,:root[data-theme="dark"] .search-control,:root[data-theme="dark"] .check-details,:root[data-theme="dark"] .permissions-panel,:root[data-theme="dark"] .inline-note{background:#1b3046!important;border-color:var(--border)!important;color:#dceafb!important}
:root[data-theme="dark"] .info-reminder{background:#1a3552;color:#eaf5ff;border-color:#3c648b}
:root[data-theme="dark"] input,:root[data-theme="dark"] select,:root[data-theme="dark"] textarea,:root[data-theme="dark"] .field input,:root[data-theme="dark"] .field select,:root[data-theme="dark"] .field textarea,:root[data-theme="dark"] .filter-select,:root[data-theme="dark"] .inline-select,:root[data-theme="dark"] .btn:not(.primary):not(.teal),:root[data-theme="dark"] .check-choices label{background:#233950!important;color:#eff7ff!important;border-color:#52708c!important}
:root[data-theme="dark"] input::placeholder,:root[data-theme="dark"] textarea::placeholder{color:#b2c5d9!important;opacity:1}
:root[data-theme="dark"] .check-choices label:has(input:checked){background:#164b82!important;border-color:#8bbdff!important;color:#fff!important}
:root[data-theme="dark"] .table th{background:#1e344a!important;color:#cfe1f4!important;border-color:var(--border)!important}
:root[data-theme="dark"] .table td{background:var(--surface)!important;color:#dce9f7!important;border-color:var(--border)!important}
:root[data-theme="dark"] .table tbody tr.clickable:hover td{background:#21384f!important}
:root[data-theme="dark"] .top-title,:root[data-theme="dark"] h1,:root[data-theme="dark"] h2,:root[data-theme="dark"] h3,:root[data-theme="dark"] .metric-number,:root[data-theme="dark"] .card-title,:root[data-theme="dark"] .list-primary,:root[data-theme="dark"] .primary-cell,:root[data-theme="dark"] .info-value,:root[data-theme="dark"] .kv strong,:root[data-theme="dark"] .field label,:root[data-theme="dark"] .check-label,:root[data-theme="dark"] .permission-row{color:#f2f7ff!important}
:root[data-theme="dark"] .subtext,:root[data-theme="dark"] .page-sub,:root[data-theme="dark"] .card-subtitle,:root[data-theme="dark"] .metric-label,:root[data-theme="dark"] .list-second,:root[data-theme="dark"] .mini-sub,:root[data-theme="dark"] .top-sub,:root[data-theme="dark"] .field .help,:root[data-theme="dark"] .info-label,:root[data-theme="dark"] .kv small{color:#c3d3e4!important}
:root[data-theme="dark"] .mini-action,:root[data-theme="dark"] .simple-link{color:#a7ccff!important}
:root[data-theme="dark"] .check-item,:root[data-theme="dark"] .permission-row{background:#1e3246!important;border-color:var(--border)!important}
:root[data-theme="dark"] .status-color.green{color:#79dfae!important}:root[data-theme="dark"] .status-color.orange{color:#ffb28b!important}:root[data-theme="dark"] .status-color.yellow{color:#ffe386!important}:root[data-theme="dark"] .status-color.red{color:#ff9ba2!important}
:root[data-theme="dark"] .tag.available{background:#183d36!important;color:#92ebbd!important}:root[data-theme="dark"] .tag.immobilized{background:#512632!important;color:#ffb0bf!important}
:root[data-theme="dark"] .drawer-alert{background:#4b3520!important;color:#ffe4c2!important;border-color:#9b6a3c!important}
:root[data-theme="dark"] .btn.primary{background:#3775e8!important;color:#fff!important;border-color:#3775e8!important}
:root[data-theme="dark"] .login-note{color:#bbc9d9!important}
@media(max-width:760px){.permission-grid{grid-template-columns:1fr}.theme-label{display:none}.theme-switch{min-width:44px;padding:9px}.check-choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.check-choices label{justify-content:center;padding:10px 5px;font-size:.78rem}.check-item{padding:13px 10px}.modal.wide{width:100%}.photo-tile img{width:94px;height:78px}.card .table-scroll{overflow-x:auto}.list-row{flex-wrap:wrap}.permission-row select{max-width:150px}}
@media(max-width:420px){.theme-switch{width:44px}.check-choices{grid-template-columns:repeat(3,minmax(0,1fr))}.check-choices label{font-size:.72rem}.password-panel{padding:21px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}
@media print{body{background:#fff!important} .sidebar,.topbar,.page,.modal-footer,.modal-top button,#toasts{display:none!important}.overlay-backdrop{position:static;background:transparent;padding:0;display:block}.modal,.modal.wide{box-shadow:none;max-height:none!important;width:100%;overflow:visible!important;border:none}.modal-content{overflow:visible!important}.modal-top{display:block}.saved-signature{max-height:110px}.check-item{break-inside:avoid}}

/* WCAG AA color and mobile refinements */
:root:not([data-theme="dark"]){--muted:#526579}
:root:not([data-theme="dark"]) .page-sub,:root:not([data-theme="dark"]) .subtext,:root:not([data-theme="dark"]) .list-second,:root:not([data-theme="dark"]) .card-subtitle,:root:not([data-theme="dark"]) .field .help,:root:not([data-theme="dark"]) .mini-sub,:root:not([data-theme="dark"]) .info-label{color:#53687f}
:root:not([data-theme="dark"]) .table th{color:#526579}
.nav-btn.active{background:#205cbe;color:#fff}
@media(max-width:760px){.sidebar{height:100dvh;overflow-y:auto}.nav-btn{min-height:47px}.top-actions{gap:7px}.page-top{align-items:flex-start;flex-wrap:wrap}.page-top .toolbar{flex-wrap:wrap}.toolbar .btn{min-height:44px}.modal-footer .btn{flex:1;min-width:125px}}

/* Galiflotte V1.3 — guided vehicle tour, document library and personal widgets */
[hidden]{display:none!important}
.widget-grid{margin:14px 0 21px;grid-template-columns:repeat(auto-fit,minmax(195px,1fr))}
.dashboard-controls{margin-bottom:5px}
.dashboard-controls>div:first-child{margin:0 0 5px;padding:0 1px}
.dashboard-controls h3{font-size:1.02rem;color:var(--text)}
.metric-button{width:100%;text-align:left;color:var(--text);transition:border-color .14s,transform .14s;cursor:pointer}
.metric-button:hover{border-color:#8bb6f4;transform:translateY(-2px)}
.metric-button .tile-chevron{width:17px;height:17px;margin-left:auto;flex-shrink:0;color:#8798aa}
.metric-button>span:nth-child(2){min-width:0}
.widget-editor{display:grid;gap:9px;margin:18px 0}
.widget-editor-row{border:1px solid var(--border);background:var(--bg);padding:11px;border-radius:12px;display:flex;align-items:center;gap:9px}
.widget-editor-row strong{flex:1;min-width:110px;font-size:.86rem;color:var(--text)}
.widget-editor-row .widget-grip svg{width:19px;height:19px;color:var(--muted)}
.row-actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.row-actions .btn{min-width:35px}
.tour-progress{background:var(--border);height:8px;border-radius:30px;margin-bottom:19px;overflow:hidden}
.tour-progress-fill{background:linear-gradient(90deg,#2666dd,#0d9488);height:100%;width:10%;border-radius:30px;transition:width .16s ease}
.tour-stage-label{letter-spacing:.02em;font-size:1.03rem;font-weight:780;color:var(--text);margin-bottom:18px}
.tour-panel{display:grid;gap:14px;padding:4px 0 20px}
.tour-illustration{display:flex;align-items:center;gap:17px;padding:24px 20px;background:var(--bg);border:1px solid var(--border);border-radius:15px}
.tour-illustration>svg{height:57px;width:57px;flex:none;stroke:#0d9488;stroke-width:1.5}
.tour-illustration strong{display:block;color:var(--text);font-size:1.2rem}
.tour-illustration span{font-size:.86rem;color:var(--muted);margin-top:5px;display:block;line-height:1.5}
.tour-note{padding:11px;background:var(--bg);border:1px solid var(--border);border-radius:10px}
.tour-note[hidden]{display:none!important}
.tour-photo-gallery{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.tour-photo-gallery .photo-tile{display:grid;gap:4px;color:var(--muted);font-size:.74rem}
.doc-filters .filter-select{min-width:145px;max-width:235px}
.quick-actions{display:grid;gap:9px}
:root[data-theme="dark"] .metric-button:hover,:root[data-theme="dark"] .widget-editor-row,:root[data-theme="dark"] .tour-illustration,:root[data-theme="dark"] .tour-note{background:#1c3148;border-color:#42607d;color:#eff7ff}
:root[data-theme="dark"] .metric-button .tile-chevron{color:#bad2eb}
:root[data-theme="dark"] .tour-illustration>svg{stroke:#5ce3d4}
@media (max-width:760px){.widget-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.metric-button{padding:13px 10px;min-height:110px;gap:8px}.metric-button .metric-icon{width:38px;height:38px}.metric-button .metric-number{font-size:1.36rem}.metric-button .tile-chevron{display:none}.widget-editor-row{flex-wrap:wrap}.widget-editor-row .row-actions{margin-left:auto}.tour-illustration{padding:16px 13px}.tour-illustration>svg{width:45px;height:45px}.doc-filters .filter-select{max-width:none;width:100%}.doc-filters .search-control{width:100%}.modal-footer{flex-wrap:wrap}.tour-panel .check-choices label{min-height:50px}.tour-panel .field input[type=file]{width:100%}}
@media (max-width:380px){.widget-grid{grid-template-columns:1fr 1fr;gap:8px}.metric-button{flex-direction:column;align-items:flex-start}.row-actions .btn{padding:7px}}
@media print{.tour-panel[hidden]{display:none!important}}

/* Bibliothèque : documents présentés en cartes sur téléphone */
@media (max-width:760px){
.docs-table,.docs-table tbody,.docs-table tr,.docs-table td{display:block;width:100%;white-space:normal;min-width:0}
.docs-table thead{display:none}
.docs-table tbody{padding:10px;display:grid;gap:11px}
.docs-table tr{border:1px solid var(--border);border-radius:12px;padding:10px 12px;overflow:hidden;background:var(--surface)}
.docs-table td,.docs-table td.primary-cell{border:0!important;padding:6px 0!important;line-height:1.5;overflow-wrap:anywhere}
.docs-table td:first-child{font-size:.94rem}
.docs-table td:nth-child(2)::before{content:'Véhicule : ';font-size:.78rem;color:var(--muted)}
.docs-table td:nth-child(3)::before{content:'Catégorie : ';font-size:.78rem;color:var(--muted)}
.docs-table td:nth-child(4)::before{content:'Échéance : ';font-size:.78rem;color:var(--muted)}
.docs-table td:last-child{border-top:1px solid var(--border)!important;margin-top:5px;padding-top:10px!important}
.docs-table .row-actions{gap:6px}
.docs-table .row-actions .btn{min-height:43px}
}

.eyebrow .app-name{text-transform:none}
