:root{--navy:#12233f;--blue:#2864dc;--bg:#f4f7fb;--text:#17243b;--muted:#718097;--border:#e5eaf1}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:'DM Sans',sans-serif}.sidebar{position:fixed;inset:0 auto 0 0;width:240px;background:var(--navy);padding:30px 20px;color:#fff;display:flex;flex-direction:column;z-index:10}.brand{display:flex;gap:12px;align-items:center;color:#fff;text-decoration:none;font-size:20px;font-weight:700;margin:0 8px 42px}.brand>span{display:grid;place-items:center;width:42px;height:42px;background:var(--blue);border-radius:12px;font-size:15px}.brand small{display:block;color:#8292aa;font-size:11px;font-weight:500;margin-top:2px}.sidebar nav{display:grid;gap:8px}.sidebar nav a{color:#a9b5c8;text-decoration:none;padding:13px 15px;border-radius:9px;font-size:14px;font-weight:600}.sidebar nav a i{font-style:normal;display:inline-block;width:26px}.sidebar nav a.active,.sidebar nav a:hover{background:#203654;color:#fff}.support{margin-top:auto;padding:16px;border-radius:12px;background:#1b3150;display:grid;gap:7px;font-size:13px}.support span{font-size:11px;color:#93a3b9;line-height:1.5}main{margin-left:240px;padding:0 34px 40px}header{height:104px;display:flex;align-items:center;justify-content:space-between}header p{margin:0 0 4px;color:var(--muted);font-size:12px}h1{font-size:24px;margin:0}h2,h3{margin:0}.profile{display:flex;align-items:center;gap:12px;text-align:right;font-size:13px}.profile small{display:block;color:var(--muted);margin-top:3px}.profile>span{display:grid;place-items:center;width:40px;height:40px;background:#dce7fa;color:var(--blue);border-radius:50%;font-weight:700}.menu{display:none}.hero{background:linear-gradient(115deg,#2864dc,#1747ad);color:#fff;border-radius:18px;padding:30px 34px;display:flex;justify-content:space-between;align-items:center;box-shadow:0 13px 28px #2864dc2c}.hero span{font-size:10px;letter-spacing:1.6px;font-weight:700;opacity:.75}.hero h2{font-size:25px;margin:8px 0}.hero p{margin:0;opacity:.75;font-size:13px}.btn{display:inline-block;border:0;border-radius:9px;background:var(--blue);color:#fff;text-decoration:none;padding:12px 17px;font:600 13px inherit;cursor:pointer}.btn.light{background:#fff;color:var(--blue)}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin:22px 0}.stats article{background:#fff;border:1px solid var(--border);border-radius:14px;padding:20px;display:flex;align-items:center;gap:15px}.stats .icon{width:44px;height:44px;display:grid;place-items:center;border-radius:12px;font-size:13px;font-weight:700}.blue{background:#e7efff;color:#2864dc}.orange{background:#fff0df;color:#ed8a21}.green{background:#dff7ed;color:#169567}.purple{background:#efe8ff;color:#7952d6}.stats span,.stats small{display:block;color:var(--muted);font-size:11px}.stats strong{display:block;font-size:20px;margin:4px 0}.panel{background:#fff;border:1px solid var(--border);border-radius:14px;overflow:hidden}.panel-head{padding:20px 22px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border)}.panel h3{font-size:16px}.panel p{font-size:12px;color:var(--muted);margin:5px 0 0}.panel-head a{font-size:12px;text-decoration:none;color:var(--blue);font-weight:700}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:12px}th{background:#fafbfd;color:#8490a3;text-transform:uppercase;letter-spacing:.4px;font-size:9px;text-align:left;padding:11px 18px}td{padding:15px 18px;border-top:1px solid #edf0f5;white-space:nowrap}td small{display:block;color:var(--muted);margin-top:4px}.arrow{margin:0 8px;color:#9aa7b8}.badge{display:inline-block;border:0;border-radius:20px;padding:7px 10px;font:600 10px inherit}.livree{background:#ddf7eb;color:#13825a}.en-route{background:#e4eeff;color:#2864dc}.en-attente{background:#fff0dd;color:#b66b17}.annulee{background:#fee6e6;color:#bb3d3d}.page-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:20px}.form-panel{padding:22px;height:max-content}.form-panel>p{margin-bottom:22px}form label{display:block;font-size:11px;font-weight:700;margin:14px 0 6px}input,select{width:100%;padding:11px 12px;border:1px solid #dbe1ea;border-radius:8px;background:#fff;color:var(--text);font:12px inherit;outline:none}input:focus,select:focus{border-color:var(--blue);box-shadow:0 0 0 3px #2864dc12}.fields{display:grid;grid-template-columns:1fr 1fr;gap:10px}.form-panel .btn{width:100%;margin-top:20px}.status-form{margin:0}.status-form select{width:auto}.search{width:190px}.flash{padding:12px 16px;margin-bottom:18px;border-radius:9px;font-size:12px;font-weight:600}.flash.ok{background:#ddf7eb;color:#13724f}.flash.error{background:#fee6e6;color:#a72c2c}.client-list article{display:flex;align-items:center;gap:13px;padding:17px 22px;border-top:1px solid var(--border)}.client-list article:first-child{border-top:0}.client-list article>span{display:grid;place-items:center;width:40px;height:40px;border-radius:10px;background:#e8effc;color:var(--blue);font-size:12px;font-weight:700}.client-list article div{display:grid;gap:4px}.client-list article b{font-size:13px}.client-list article small{font-size:11px;color:var(--muted)}.client-list article em{margin-left:auto;color:var(--muted);font-style:normal;font-size:12px}.empty{text-align:center;color:var(--muted);padding:40px}
@media(max-width:1050px){.stats{grid-template-columns:1fr 1fr}.page-grid{grid-template-columns:1fr}.form-panel{order:-1}}@media(max-width:720px){.sidebar{transform:translateX(-100%);transition:.2s}.nav-open .sidebar{transform:translateX(0);box-shadow:8px 0 25px #0003}main{margin-left:0;padding:0 16px 30px}header{height:85px}.menu{display:block;border:0;background:#fff;border-radius:8px;padding:9px 11px;font-size:17px}.profile div{display:none}.hero{padding:25px;display:block}.hero .btn{margin-top:20px}.stats{grid-template-columns:1fr}.page-grid{grid-template-columns:1fr}.fields{grid-template-columns:1fr}.panel-head{align-items:flex-start;gap:12px}.search{width:140px}td,th{padding-left:13px;padding-right:13px}}
.fleet-list article{display:flex;align-items:center;gap:14px;padding:18px 22px;border-top:1px solid var(--border)}.fleet-list article:first-child{border-top:0}.vehicle-icon,.driver-avatar{width:45px;height:45px;border-radius:11px;display:grid;place-items:center;background:#e7efff;color:var(--blue);font-size:13px;font-weight:700}.driver-avatar{background:#e6f7ef;color:#16875f}.asset-main{display:grid;gap:5px;min-width:0}.asset-main b{font-size:13px}.asset-main small{font-size:11px;color:var(--muted)}.asset-status{margin-left:auto}.asset-status select{width:auto;min-width:120px;background:#f7f9fc;font-weight:600}@media(max-width:600px){.fleet-list article{align-items:flex-start;flex-wrap:wrap}.asset-status{margin-left:59px}.asset-main{max-width:calc(100% - 60px)}}
.form-panel textarea{width:100%;padding:11px 12px;border:1px solid #dbe1ea;border-radius:8px;background:#fff;color:var(--text);font:12px inherit;outline:none;resize:vertical}.payment-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-bottom:20px}.payment-summary article{background:#fff;border:1px solid var(--border);border-radius:14px;padding:20px}.payment-summary span{display:block;font-size:11px;color:var(--muted);margin-bottom:7px}.payment-summary strong{font-size:21px}.content-stack{display:grid;gap:20px}.payments-grid{grid-template-columns:minmax(0,1fr) 340px}.pay-state{padding:6px 10px;border-radius:20px;font-size:10px;font-weight:700}.pay-state.paye{background:#ddf7eb;color:#13825a}.pay-state.partiel{background:#fff0dd;color:#b66b17}.pay-state.impaye{background:#fee6e6;color:#bb3d3d}.paid-amount{color:#16875f}@media(max-width:800px){.payment-summary{grid-template-columns:1fr}.payments-grid{grid-template-columns:1fr}}
.panel-actions{display:flex;align-items:center;gap:10px}.panel-actions .btn{white-space:nowrap;padding:10px 14px}.form-page{max-width:780px;margin:0 auto}.form-page .form-panel{padding:28px}.form-title{display:flex;justify-content:space-between;align-items:flex-start;padding-bottom:18px;border-bottom:1px solid var(--border);margin-bottom:8px}.form-title a{color:var(--blue);font-size:12px;font-weight:700;text-decoration:none}@media(max-width:720px){.panel-actions{width:100%;flex-wrap:wrap}.panel-actions .search{flex:1}.panel-actions .btn{width:100%;text-align:center}.form-title{gap:15px}.form-page .form-panel{padding:20px}}
.panel-head .panel-actions a.btn{color:#fff}.panel-head .panel-actions a.btn:hover{color:#fff}
.sidebar-bottom{margin-top:auto}.sidebar-bottom .support{margin-top:0}.logout-btn{display:block;margin-top:10px;padding:12px 15px;border-radius:9px;color:#a9b5c8;text-decoration:none;font-size:13px;font-weight:600}.logout-btn:hover{background:#203654;color:#fff}.logout-btn i{font-style:normal;margin-right:9px}.login-body{min-height:100vh;background:linear-gradient(135deg,#12233f,#2864dc);display:grid;place-items:center;padding:20px}.login-main{margin:0;padding:0;width:100%;max-width:410px}.login-card{background:#fff;border-radius:18px;padding:36px;box-shadow:0 25px 60px #07142d55}.login-logo{width:54px;height:54px;border-radius:14px;background:var(--blue);color:#fff;display:grid;place-items:center;font-weight:700;margin-bottom:22px}.login-card h1{font-size:26px}.login-card>p{color:var(--muted);font-size:13px;margin:8px 0 24px}.login-card form label{display:block;font-size:11px;font-weight:700;margin:15px 0 6px}.login-card .btn{width:100%;margin-top:22px}.login-card>small{display:block;text-align:center;color:#9aa7b8;margin-top:24px;font-size:10px}.login-card .flash{margin-bottom:15px}
.brand img{width:42px;height:42px;object-fit:contain;background:#fff;border-radius:12px;padding:4px}.login-company-logo{width:80px;height:65px;object-fit:contain;margin-bottom:18px}.settings-stack{display:grid;gap:20px}.settings-card{padding:24px}.settings-head{padding-bottom:18px;border-bottom:1px solid var(--border);margin-bottom:20px}.settings-head>div{display:flex;align-items:center;gap:13px}.settings-icon{width:40px;height:40px;display:grid;place-items:center;border-radius:10px;background:#e7efff;color:var(--blue)}.users-icon{background:#e6f7ef;color:#16875f}.company-form{display:grid;grid-template-columns:180px 1fr;gap:28px}.logo-upload{display:flex;flex-direction:column;align-items:center;gap:10px;padding:18px;border:1px dashed #cdd6e3;border-radius:12px}.logo-upload>img,.logo-upload>span{width:110px;height:80px;object-fit:contain;display:grid;place-items:center;border-radius:9px;background:#f4f7fb;color:#8b99ad;font-weight:700}.upload-btn{background:#eef3fc;color:var(--blue);padding:8px 11px;border-radius:7px;cursor:pointer;font-size:11px!important;margin:0!important}.upload-btn input{display:none}.logo-upload small{font-size:9px;color:var(--muted)}.settings-fields .btn{margin-top:18px}.user-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.user-card{border:1px solid var(--border);border-radius:12px;padding:18px}.user-card-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.user-card-title b{font-size:13px}.user-card-title span{font-size:9px;padding:5px 8px;border-radius:12px;background:#eef3fc;color:var(--blue)}.user-card .btn{margin-top:15px}.btn.secondary{background:#eef3fc;color:var(--blue)}.add-user{border-style:dashed;background:#fbfcfe}.danger-zone{padding:24px;border-color:#f3caca;display:flex;align-items:center;justify-content:space-between;gap:30px}.danger-zone h3{color:#b83232}.danger-zone>div p{max-width:570px}.danger-zone form{min-width:350px}.danger-zone label{margin-top:0}.danger-action{display:flex;gap:8px}.danger-action button{border:0;border-radius:8px;background:#c83e3e;color:#fff;padding:0 14px;font-weight:700;cursor:pointer}@media(max-width:850px){.company-form{grid-template-columns:1fr}.user-grid{grid-template-columns:1fr}.danger-zone{align-items:flex-start;flex-direction:column}.danger-zone form{min-width:0;width:100%}}@media(max-width:520px){.danger-action{flex-direction:column}.danger-action button{padding:11px}.settings-card{padding:18px}}
.role-badge{display:inline-block;padding:6px 9px;border-radius:15px;background:#eef3fc;color:var(--blue);font-size:10px;font-weight:700}.table-link{color:var(--blue);font-weight:700;text-decoration:none}.roles-info{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:18px}.roles-info article{background:#fff;border:1px solid var(--border);border-radius:12px;padding:17px}.roles-info b{font-size:12px}.roles-info p{color:var(--muted);font-size:10px;line-height:1.5;margin:7px 0 0}.role-help{background:#f4f7fb;border-radius:9px;padding:12px;margin-top:14px;display:grid;gap:4px}.role-help b{font-size:11px}.role-help span{font-size:10px;color:var(--muted)}.add-user-link{text-decoration:none;color:var(--text);display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:170px;gap:8px}.add-user-link span{font-size:11px;color:var(--muted)}@media(max-width:950px){.roles-info{grid-template-columns:repeat(2,1fr)}}@media(max-width:520px){.roles-info{grid-template-columns:1fr}}
.pagination{display:flex;align-items:center;justify-content:flex-end;gap:12px;padding:15px 20px;border-top:1px solid var(--border);background:#fff}.pagination button{border:1px solid #dbe1ea;background:#fff;color:var(--text);border-radius:7px;padding:8px 11px;font:600 10px inherit;cursor:pointer}.pagination button:hover:not(:disabled){border-color:var(--blue);color:var(--blue)}.pagination button:disabled{opacity:.4;cursor:not-allowed}.pagination span{font-size:10px;color:var(--muted)}.client-list+.pagination,.fleet-list+.pagination{border-top:1px solid var(--border)}.filtered-out{display:none!important}@media(max-width:520px){.pagination{justify-content:center;padding:13px 8px}.pagination button{padding:7px 8px}}
.header-actions{display:flex;align-items:center;gap:17px}.theme-toggle{width:40px;height:40px;border:1px solid var(--border);border-radius:10px;background:#fff;color:var(--text);font-size:18px;cursor:pointer;display:grid;place-items:center}.theme-toggle:hover{border-color:var(--blue);color:var(--blue)}.theme-dark{display:none}.dark .theme-light{display:none}.dark .theme-dark{display:inline}
.dark{--bg:#0d1726;--text:#e7edf7;--muted:#91a0b6;--border:#2a384c;--navy:#08111f}.dark body{background:var(--bg);color:var(--text)}.dark .sidebar{background:#08111f}.dark .panel,.dark .stats article,.dark .payment-summary article,.dark .roles-info article,.dark .pagination,.dark .theme-toggle{background:#152235;border-color:var(--border)}.dark th{background:#101c2d;color:#8f9db2}.dark td,.dark .client-list article,.dark .fleet-list article{border-color:var(--border)}.dark input,.dark select,.dark textarea{background:#101c2d;border-color:#35445a;color:var(--text)}.dark input::placeholder,.dark textarea::placeholder{color:#66758b}.dark .form-title,.dark .settings-head{border-color:var(--border)}.dark .user-card,.dark .logo-upload{border-color:#35445a;background:#111e30}.dark .add-user,.dark .role-help{background:#101c2d}.dark .vehicle-icon,.dark .driver-avatar,.dark .client-list article>span{background:#20334e}.dark .asset-status select{background:#101c2d}.dark .pagination button{background:#101c2d;border-color:#35445a;color:var(--text)}.dark .login-card{background:#152235}.dark .login-body{background:linear-gradient(135deg,#050b14,#132b50)}.dark .upload-btn,.dark .btn.secondary{background:#20334e}.dark .danger-zone{border-color:#6b3434}.dark .logo-upload>img,.dark .logo-upload>span{background:#101c2d}@media(max-width:720px){.header-actions{gap:8px}.theme-toggle{width:36px;height:36px}.header-title{flex:1;margin-left:12px}}
.form-page.wide{max-width:900px}.form-section{font-size:11px;text-transform:uppercase;letter-spacing:.7px;color:var(--blue);margin:24px 0 0;padding-bottom:7px;border-bottom:1px solid var(--border)}.truck-detail-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.truck-detail-head a{font-size:11px;color:var(--blue);font-weight:700;text-decoration:none}.truck-detail-head h2{margin:8px 0 4px}.truck-detail-head p{font-size:12px;color:var(--muted);margin:0}.truck-detail-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(300px,.6fr);gap:20px}.details-btn{color:var(--blue);font-size:11px;font-weight:700;text-decoration:none;white-space:nowrap}.truck-alerts{display:flex;gap:5px;margin-left:auto}.truck-alerts span{background:#fff0dd;color:#a85e10;border-radius:12px;padding:5px 7px;font-size:8px;font-weight:700}.maintenance-alert{display:flex;gap:12px;align-items:center;background:#fff4df;border:1px solid #f3d6a7;color:#915811;padding:12px 16px;border-radius:10px;margin-bottom:17px;font-size:11px}.document-list>a{display:flex;align-items:center;gap:12px;padding:14px 18px;border-top:1px solid var(--border);text-decoration:none;color:var(--text)}.document-list>a:first-child{border-top:0}.document-list>a>span{width:36px;height:36px;display:grid;place-items:center;border-radius:8px;background:#e7efff;color:var(--blue)}.document-list a div{display:grid;gap:3px}.document-list b{font-size:11px}.document-list small{font-size:9px;color:var(--muted)}.document-list em{margin-left:auto;color:var(--blue);font-size:10px;font-style:normal}.field-help{display:block;color:var(--muted);font-size:9px;margin-top:6px}.dark .maintenance-alert{background:#382c18;border-color:#624c25;color:#f1c477}@media(max-width:980px){.truck-detail-grid{grid-template-columns:1fr}}@media(max-width:720px){.truck-alerts{order:4;width:100%;margin-left:59px}.details-btn{margin-left:59px}.truck-detail-head{align-items:flex-start}}
.sidebar{overflow:hidden}.sidebar .brand{flex-shrink:0;margin-bottom:24px}.sidebar nav{min-height:0;overflow-y:auto;overflow-x:hidden;padding-right:5px;margin-right:-5px;scrollbar-width:thin;scrollbar-color:#40536d transparent}.sidebar nav::-webkit-scrollbar{width:5px}.sidebar nav::-webkit-scrollbar-track{background:transparent}.sidebar nav::-webkit-scrollbar-thumb{background:#40536d;border-radius:10px}.sidebar nav::-webkit-scrollbar-thumb:hover{background:#58708f}.sidebar-bottom{flex-shrink:0;padding-top:12px}.sidebar nav a{flex-shrink:0}
.deadline-dates{display:flex;gap:10px;flex-wrap:wrap;margin-top:7px}.deadline-dates span{font-size:9px;color:var(--muted)}.deadline-dates b{color:var(--text);font-size:9px}@media(max-width:850px){.deadline-dates{display:grid;gap:3px}}
.notifications-panel{margin-bottom:20px}.notification-count{display:inline-grid;place-items:center;min-width:20px;height:20px;padding:0 6px;border-radius:10px;background:#e84b4b;color:#fff;font-size:10px;margin-left:6px}.notification-item{display:flex;align-items:center;gap:12px;padding:13px 20px;border-top:1px solid var(--border);text-decoration:none;color:var(--text)}.notification-item:first-child{border-top:0}.notification-item:hover{background:#fafbfd}.notification-icon{width:34px;height:34px;border-radius:9px;display:grid;place-items:center;font-weight:700;flex-shrink:0}.notification-item.soon .notification-icon{background:#fff0dd;color:#b66b17}.notification-item.urgent .notification-icon,.notification-item.overdue .notification-icon{background:#fee6e6;color:#bb3d3d}.notification-item>div{display:grid;gap:3px}.notification-item b{font-size:11px}.notification-item small{font-size:9px;color:var(--muted)}.notification-item em{margin-left:auto;font-style:normal;font-size:10px;font-weight:700;color:#b66b17}.notification-item.overdue em,.notification-item.urgent em{color:#bb3d3d}.notifications-empty{display:flex;align-items:center;gap:12px;padding:20px}.notifications-empty>span{width:38px;height:38px;border-radius:10px;background:#ddf7eb;color:#13825a;display:grid;place-items:center;font-weight:700}.notifications-empty>div{display:grid;gap:3px}.notifications-empty b{font-size:12px}.notifications-empty small{font-size:10px;color:var(--muted)}.dark .notification-item:hover{background:#101c2d}@media(max-width:600px){.notification-item{align-items:flex-start}.notification-item em{margin-left:46px;position:absolute;margin-top:38px}.notification-item{padding-bottom:27px}}
.advance-summary article:first-child{border-color:#c9b8f4}.advance-amount{color:#7251c7}.advance-btn{background:#7251c7}
.profit-summary{margin:0 0 20px}.expense-total,.expense-amount,.net-negative{color:#c83e3e}.net-positive{color:#13825a}.expense-btn{background:#d3543f!important;color:#fff!important}.expense-category{display:inline-block;padding:6px 9px;border-radius:14px;background:#fff0dd;color:#a85e10;font-size:10px;font-weight:700}
