*{box-sizing:border-box}html,body,#root{width:100%;min-height:100vh;margin:0}body{color:#111827;background:#f3f4f6;font-family:Arial,sans-serif}button{font-family:inherit}:root{--ocelorn-green:#8fc31f;--ocelorn-green-dark:#6f9f18;--ocelorn-black:#0c0f0d;--ocelorn-anthracite:#171b19;--ocelorn-grey:#2a2f2c;--background:#f2f4f3;--surface:#fff;--border:#dde2df;--text:#172019;--text-muted:#6c756f;--success:#2fae5b;--warning:#e6a21a;--danger:#d94444}.app{background:var(--background);width:100%;min-height:100vh;color:var(--text);display:flex}.sidebar{background:linear-gradient(180deg, var(--ocelorn-black) 0%, var(--ocelorn-anthracite) 100%);color:#fff;border-right:1px solid #252b27;width:260px;min-width:260px;padding:26px 18px}.brand{align-items:center;gap:12px;margin-bottom:32px;padding:0 10px;display:flex}.brand-mark{background:var(--ocelorn-green);width:42px;height:42px;color:var(--ocelorn-black);border-radius:50%;place-items:center;font-size:23px;display:grid;box-shadow:0 0 24px #8fc31f40}.brand h1{margin:0;font-size:24px;line-height:1}.brand p{color:#9ba59f;margin:5px 0 0;font-size:12px}.sidebar nav{flex-direction:column;gap:5px;display:flex}.sidebar button{color:#cbd2ce;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:10px;align-items:center;gap:11px;width:100%;min-height:44px;padding:11px 13px;font-size:14px;transition:background .16s,color .16s,transform .16s;display:flex;position:relative}.sidebar button:hover{color:#fff;background:#ffffff0f;transform:translate(2px)}.sidebar button.active{color:var(--ocelorn-green);background:#8fc31f1f;font-weight:700}.sidebar button.active:before{background:var(--ocelorn-green);content:"";border-radius:0 4px 4px 0;width:4px;position:absolute;top:8px;bottom:8px;left:0}.main{flex:1;min-width:0;padding:30px}.header{justify-content:space-between;align-items:center;gap:20px;margin-bottom:26px;display:flex}.header h2{color:var(--ocelorn-black);margin:0;font-size:30px}.header p{color:var(--text-muted);margin:6px 0 0}.primary{background:var(--ocelorn-green);color:#10150f;cursor:pointer;border:0;border-radius:11px;padding:12px 18px;font-weight:800;transition:background .16s,transform .16s,box-shadow .16s;box-shadow:0 8px 20px #8fc31f38}.primary:hover{background:var(--ocelorn-green-dark);color:#fff;transform:translateY(-1px);box-shadow:0 10px 24px #6f9f1847}.grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:17px;margin-bottom:22px;display:grid}.card,.panel{border:1px solid var(--border);background:var(--surface);border-radius:17px;box-shadow:0 8px 24px #141e180e}.card{padding:21px;position:relative;overflow:hidden}.card:before{background:var(--ocelorn-green);content:"";height:4px;position:absolute;top:0;left:0;right:0}.card span{color:var(--text-muted);font-size:13px;font-weight:600}.card strong{color:var(--ocelorn-black);margin:12px 0 8px;font-size:34px;line-height:1;display:block}.card p{color:var(--text-muted);margin:0;font-size:14px}.card.warning:before{background:var(--danger)}.card.warning strong{color:var(--danger)}.panel{margin-bottom:22px;padding:21px}.panel h3{color:var(--ocelorn-black);margin:0 0 16px}.departure{border-top:1px solid var(--border);justify-content:space-between;gap:22px;padding:15px 0;display:flex}.departure div{align-items:center;gap:15px;display:flex}.departure strong{color:var(--ocelorn-black)}.departure span{font-weight:600}.departure p{color:var(--text-muted);margin:0}@media (width<=1050px){.grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=760px){.app{flex-direction:column}.sidebar{width:100%;min-width:0;padding:15px}.brand{margin-bottom:15px}.sidebar nav{flex-direction:row;padding-bottom:3px;overflow-x:auto}.sidebar button{white-space:nowrap;flex:none;width:auto}.sidebar button.active:before{border-radius:3px 3px 0 0;width:auto;height:3px;inset:auto 9px 0}.main{padding:19px}.header{flex-direction:column;align-items:flex-start}.grid{grid-template-columns:1fr}.departure{flex-direction:column;gap:7px}}.menu-group{margin-bottom:16px}.menu-title{color:#6f7973;letter-spacing:1.3px;text-transform:uppercase;margin:0 13px 7px;font-size:10px;font-weight:800}.menu-icon{text-align:center;width:20px}.dashboard-columns{grid-template-columns:repeat(2,minmax(0,1fr));gap:17px;display:grid}.dashboard-list{flex-direction:column;gap:13px;margin:0;padding:0;list-style:none;display:flex}.dashboard-list li{color:var(--text);align-items:center;gap:10px;display:flex}.status-dot{border-radius:50%;flex:none;width:9px;height:9px}.status-dot.success{background:var(--success)}.status-dot.danger{background:var(--danger)}.status-dot.warning-dot{background:var(--warning)}.status-dot.neutral{background:#929b96}.empty-state{text-align:center;align-content:center;place-items:center;min-height:330px;display:grid}.empty-state h3{margin:15px 0 8px}.empty-state p{max-width:620px;color:var(--text-muted);margin:0;line-height:1.6}.empty-state span{color:var(--ocelorn-green-dark);text-transform:uppercase;margin-top:17px;font-size:13px;font-weight:800}.empty-icon{width:62px;height:62px;color:var(--ocelorn-green);background:#8fc31f24;border-radius:50%;place-items:center;font-size:31px;display:grid}.module-heading{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.module-heading h3{margin:4px 0 7px;font-size:26px}.module-heading p{color:var(--text-muted);margin:0}.module-kicker{color:var(--ocelorn-green-dark);letter-spacing:1.2px;text-transform:uppercase;font-size:11px;font-weight:800}.coming-badge{color:var(--ocelorn-green-dark);background:#8fc31f24;border-radius:999px;padding:8px 11px;font-size:12px;font-weight:800}.breizh-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:25px;display:grid}.feature-card{border:1px solid var(--border);background:#fafcf9;border-radius:14px;padding:18px}.feature-card strong{color:var(--ocelorn-black)}.feature-card p{color:var(--text-muted);margin:9px 0 0;font-size:14px;line-height:1.5}@media (width<=900px){.dashboard-columns,.breizh-grid{grid-template-columns:1fr}.module-heading{flex-direction:column}}.assignment-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:17px;margin-bottom:22px;display:grid}.assignment-summary-card{border:1px solid var(--border);background:var(--surface);border-radius:15px;padding:19px;box-shadow:0 8px 24px #141e180d}.assignment-summary-card span{color:var(--text-muted);font-size:13px;font-weight:600}.assignment-summary-card strong{color:var(--ocelorn-black);margin-top:9px;font-size:27px;display:block}.assignment-summary-card.assignment-alert strong{color:var(--danger)}.assignment-toolbar{justify-content:space-between;align-items:center;gap:20px;margin-bottom:18px;display:flex}.assignment-toolbar h3{margin:0}.assignment-toolbar p{color:var(--text-muted);margin:6px 0 0;font-size:14px}.assignment-table-wrapper{overflow-x:auto}.assignment-table{border-collapse:collapse;width:100%;min-width:850px}.assignment-table th,.assignment-table td{border-bottom:1px solid var(--border);text-align:left;padding:14px 12px}.assignment-table th{color:var(--text-muted);letter-spacing:.5px;text-transform:uppercase;font-size:12px}.assignment-table tbody tr:hover{background:#fafcf9}.assignment-time{color:var(--ocelorn-black);font-weight:800}.assignment-table select{border:1px solid var(--border);width:100%;min-width:190px;color:var(--text);font:inherit;background:#fff;border-radius:9px;padding:10px 11px}.assignment-table select:focus{border-color:var(--ocelorn-green);outline:3px solid #8fc31f24}.assignment-status{white-space:nowrap;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:800;display:inline-flex}.assignment-status.complete{color:#228345;background:#2fae5b21}.assignment-status.incomplete{color:var(--danger);background:#d944441f}@media (width<=900px){.assignment-summary{grid-template-columns:1fr}.assignment-toolbar{flex-direction:column;align-items:flex-start}}.service-summary{grid-template-columns:repeat(4,minmax(0,1fr));gap:17px;margin-bottom:22px;display:grid}.service-summary-card{border:1px solid var(--border);background:var(--surface);border-radius:15px;padding:19px;box-shadow:0 8px 24px #141e180d}.service-summary-card span{color:var(--text-muted);font-size:13px;font-weight:600}.service-summary-card strong{color:var(--ocelorn-black);margin-top:9px;font-size:27px;display:block}.service-summary-card.service-warning strong{color:var(--danger)}.service-toolbar{justify-content:space-between;align-items:center;gap:20px;margin-bottom:18px;display:flex}.service-toolbar h3{margin:0}.service-toolbar p{color:var(--text-muted);margin:6px 0 0;font-size:14px}.service-actions{gap:10px;display:flex}.secondary-button{border:1px solid var(--border);color:var(--text);cursor:pointer;background:#fff;border-radius:11px;padding:11px 16px;font-weight:700}.secondary-button:hover{border-color:var(--ocelorn-green);background:#fafcf7}.service-table-wrapper{overflow-x:auto}.service-table{border-collapse:collapse;width:100%;min-width:1050px}.service-table th,.service-table td{border-bottom:1px solid var(--border);text-align:left;padding:14px 12px}.service-table th{color:var(--text-muted);letter-spacing:.6px;text-transform:uppercase;font-size:11px}.service-table tbody tr{transition:background .15s}.service-table tbody tr:hover{background:#fafcf9}.service-row-verified{background:#2fae5b0b}.service-time{color:var(--ocelorn-black);font-weight:800}.verification-button{color:#fff;cursor:pointer;background:#fff;border:2px solid #b8c0bb;border-radius:50%;place-items:center;width:27px;height:27px;padding:0;font-weight:900;display:grid}.verification-button.checked{border-color:var(--ocelorn-green);background:var(--ocelorn-green);color:#10150f}.hawk-status,.service-status{white-space:nowrap;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:800;display:inline-flex}.hawk-status.demarre{color:#228345;background:#2fae5b21}.hawk-status.non-demarre{color:#a56800;background:#e6a21a26}.hawk-status.inconnu{color:#6c756f;background:#eef0ef}.service-status.verified{color:#228345;background:#2fae5b21}.service-status.pending{color:var(--danger);background:#d944441f}@media (width<=1100px){.service-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=760px){.service-summary{grid-template-columns:1fr}.service-toolbar{flex-direction:column;align-items:flex-start}.service-actions{flex-direction:column;width:100%}.service-actions button{width:100%}}.clock-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:17px;margin-bottom:22px;display:grid}.clock-card{border:1px solid var(--border);background:var(--surface);border-radius:17px;padding:21px;box-shadow:0 8px 24px #141e180e}.clock-card-primary{background:var(--ocelorn-black);color:#fff}.clock-card span{color:var(--text-muted);font-size:13px;font-weight:700}.clock-card-primary span,.clock-card-primary p{color:#aeb7b1}.clock-card strong{color:var(--ocelorn-black);margin:12px 0 8px;font-size:35px;line-height:1;display:block}.clock-card-primary strong{color:var(--ocelorn-green)}.clock-card p{color:var(--text-muted);margin:0;font-size:14px}.clock-error{color:var(--danger);background:#d9444414;border:1px solid #d944444d;border-radius:11px;margin-bottom:18px;padding:13px 15px;font-weight:700}.clock-main-panel{padding:24px}.clock-panel-heading{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:22px;display:flex}.clock-panel-heading h3{margin:4px 0 7px;font-size:25px}.clock-panel-heading p{color:var(--text-muted);margin:0}.clock-live-badge{color:var(--text-muted);background:#eef0ef;border-radius:999px;padding:8px 12px;font-size:12px;font-weight:800}.clock-live-badge.active{color:var(--ocelorn-green-dark);background:#8fc31f26}.clock-main-action{width:100%;min-height:48px;margin-top:15px}.clock-driving-form{border:1px solid var(--border);background:#fafcf9;border-radius:15px;grid-template-columns:minmax(220px,1fr) minmax(220px,1fr) auto;align-items:end;gap:15px;padding:18px;display:grid}.clock-driving-form label{color:var(--text-muted);flex-direction:column;gap:7px;font-size:13px;font-weight:700;display:flex}.clock-driving-form select,.clock-driving-form input{border:1px solid var(--border);width:100%;min-height:43px;color:var(--text);font:inherit;background:#fff;border-radius:9px;padding:10px 11px}.clock-driving-form select:focus,.clock-driving-form input:focus{border-color:var(--ocelorn-green);outline:3px solid #8fc31f24}.clock-driving-button{white-space:nowrap;min-height:43px}.danger-button{background:var(--danger);color:#fff;cursor:pointer;border:0;border-radius:11px;padding:12px 18px;font-weight:800}.clock-active-vehicle span{color:var(--text-muted);font-size:12px;font-weight:700}.clock-active-vehicle strong{color:var(--ocelorn-black);margin:6px 0;font-size:22px;display:block}.clock-active-vehicle p{color:var(--text-muted);margin:0}.clock-history{flex-direction:column;display:flex}.clock-history-row{border-top:1px solid var(--border);grid-template-columns:minmax(220px,2fr) repeat(3,minmax(100px,1fr));align-items:center;gap:18px;padding:15px 0;display:grid}.clock-history-row p{color:var(--text-muted);margin:5px 0 0;font-size:13px}.clock-history-row span{color:var(--text-muted);margin-bottom:5px;font-size:12px;display:block}.clock-empty{color:var(--text-muted)}@media (width<=1000px){.clock-summary,.clock-driving-form{grid-template-columns:1fr}.clock-driving-button{width:100%}}@media (width<=760px){.clock-panel-heading{flex-direction:column}.clock-history-row{grid-template-columns:repeat(2,minmax(0,1fr))}.clock-history-row>div:first-child{grid-column:1/-1}}.clock-success{color:#228345;background:#2fae5b17;border:1px solid #2fae5b4d;border-radius:11px;margin-bottom:18px;padding:13px 15px;font-weight:700}.fuel-actions{align-items:end;display:flex}.fuel-form{border-top:1px solid var(--border);grid-column:1/-1;grid-template-columns:repeat(2,minmax(180px,1fr)) auto;align-items:end;gap:15px;padding-top:15px;display:grid}.fuel-form label{color:var(--text-muted);flex-direction:column;gap:7px;font-size:13px;font-weight:700;display:flex}.fuel-form input{box-sizing:border-box;border:1px solid var(--border);width:100%;min-height:43px;color:var(--text);font:inherit;background:#fff;border-radius:9px;padding:10px 11px}.fuel-history{flex-direction:column;display:flex}.fuel-history-row{border-top:1px solid var(--border);grid-template-columns:minmax(200px,2fr) repeat(3,minmax(130px,1fr));align-items:center;gap:18px;padding:15px 0;display:grid}.fuel-history-row p{color:var(--text-muted);margin:5px 0 0;font-size:13px}.fuel-history-row span{color:var(--text-muted);margin-bottom:5px;font-size:12px;display:block}@media (width<=900px){.fuel-history-row{grid-template-columns:repeat(2,minmax(0,1fr))}.fuel-history-row>div:first-child{grid-column:1/-1}}@media (width<=760px){.fuel-form,.fuel-history-row{grid-template-columns:1fr}.fuel-history-row>div:first-child{grid-column:auto}}
