:root{
  --accent:#d71920;--accent-dark:#b70e16;--accent-soft:#fff0f1;--bg:#f6f7f9;--panel:#fff;--line:#e8e9ed;
  --text:#17181c;--muted:#727782;--green:#198754;--green-soft:#eaf8f0;--orange:#d97706;--orange-soft:#fff5e6;
  --blue:#2563eb;--blue-soft:#eef4ff;--purple:#7c3aed;--purple-soft:#f3efff;--shadow:0 14px 38px rgba(16,24,40,.07);
  --radius:15px;--sidebar:232px;--topbar:70px;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;color:var(--text);background:var(--bg)}body{font-size:14px}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}
.hidden{display:none!important}.mobile-only{display:none!important}.danger-text{color:#c21b24!important}.muted{color:var(--muted)}.nowrap{white-space:nowrap}

/* Login */
.login-body{background:#f2f3f6;min-height:100vh;display:grid;place-items:center;padding:24px}.login-shell{width:min(1180px,100%);min-height:680px;background:white;border-radius:24px;overflow:hidden;display:grid;grid-template-columns:1.15fr .85fr;box-shadow:0 30px 80px rgba(20,24,32,.15)}
.login-visual{position:relative;padding:48px;overflow:hidden;background:linear-gradient(90deg,rgba(9,12,16,.72),rgba(9,12,16,.36)),url("/assets/login-background.png") center center/cover no-repeat;color:#fff}.login-brand,.brand,.mobile-brand{display:flex;align-items:center;gap:7px;letter-spacing:-.6px}.brand-xl{font-size:27px}.occitan{color:var(--accent);font-size:1.55em;line-height:.8}.brand strong,.brand-xl strong,.mobile-brand strong{color:var(--accent)}.brand b,.brand-xl b,.mobile-brand b{font-weight:800}
.hero-copy{position:relative;z-index:2;margin-top:135px;max-width:520px;text-shadow:0 2px 18px rgba(0,0,0,.32)}.eyebrow{font-size:12px;font-weight:800;letter-spacing:1.5px;color:#ffb2b6}.hero-copy h1{font-size:54px;letter-spacing:-2.7px;line-height:1.02;margin:18px 0 13px;color:#fff}.hero-copy h3{margin:0 0 13px;font-size:20px;line-height:1.35;font-weight:750;color:#fff}.hero-copy p{color:rgba(255,255,255,.86);font-size:17px;line-height:1.6;max-width:460px}
.road-art{position:absolute;inset:auto 0 0 0;height:230px;overflow:hidden;background:linear-gradient(#f7d3c3 0,#f5c7a3 32%,#b0a293 33%,#777 34%,#666 100%)}.sun{position:absolute;width:54px;height:54px;border-radius:50%;background:#ffb36c;left:64%;top:24px;box-shadow:0 0 55px #ffb36c}.road{position:absolute;width:65%;height:230px;background:#4d5055;left:32%;top:58px;transform:perspective(250px) rotateX(60deg);clip-path:polygon(38% 0,58% 0,100% 100%,0 100%)}.road-line{position:absolute;width:5px;height:130px;background:#f7e9b1;left:59%;top:105px;transform:rotate(8deg)}.escort-car{position:absolute;left:58%;bottom:27px;width:125px;height:78px;border-radius:16px 16px 8px 8px;background:#f2cf20;border:5px solid #191919;display:grid;place-items:center;font-size:10px;font-weight:900;text-align:center;transform:translateX(-50%);box-shadow:0 15px 22px rgba(0,0,0,.25)}.escort-car:after,.escort-car:before{content:"";position:absolute;width:24px;height:24px;background:#222;border-radius:50%;bottom:-15px}.escort-car:before{left:13px}.escort-car:after{right:13px}.beacon{position:absolute;top:-12px;width:63px;height:9px;background:repeating-linear-gradient(90deg,#f59e0b 0 13px,#222 13px 18px);border-radius:4px}
.login-panel{display:grid;place-items:center;padding:50px}.login-card{width:min(390px,100%)}.mobile-brand{display:none;font-size:24px;margin-bottom:48px}.login-card h2{font-size:31px;margin:0 0 7px;letter-spacing:-1px}.login-card>p{color:var(--muted);margin:0 0 30px}.login-card label{display:block;font-weight:700;font-size:12px;margin:18px 0 8px}.login-card input{width:100%;height:48px;border:1px solid #dfe2e7;border-radius:10px;padding:0 13px;outline:none;transition:.2s}.login-card input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.password-wrap{position:relative}.password-wrap input{padding-right:48px}.password-wrap button{position:absolute;right:4px;top:4px;width:40px;height:40px;border:0;background:transparent;color:#777}.btn{border:0;border-radius:9px;min-height:40px;padding:0 15px;font-weight:750;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:.18s}.btn-primary{background:var(--accent);color:white;box-shadow:0 5px 12px rgba(215,25,32,.17)}.btn-primary:hover{background:var(--accent-dark);transform:translateY(-1px)}.btn-secondary{background:#f3f4f6;color:#333}.btn-outline{background:#fff;border:1px solid var(--line);color:#34373c}.btn-danger{background:#feecee;color:#b5111b}.btn-small{min-height:32px;padding:0 10px;font-size:12px}.btn-full{width:100%;height:48px;margin-top:25px}.btn:disabled{opacity:.55;cursor:not-allowed;transform:none}.form-error{background:#fff0f1;color:#b2121b;border:1px solid #ffd5d8;padding:10px 12px;border-radius:8px;margin-top:12px}.demo-box{margin-top:28px;border-top:1px solid var(--line);padding-top:18px;display:grid;gap:5px;color:#666;font-size:12px}.demo-box strong{color:#333}

/* App shell */
.app-shell{min-height:100vh}.sidebar{position:fixed;z-index:30;left:0;top:0;bottom:0;width:var(--sidebar);background:#fff;border-right:1px solid var(--line);padding:24px 13px 16px;display:flex;flex-direction:column}.brand{height:44px;padding:0 12px;font-size:20px;margin-bottom:14px}.nav{display:flex;flex-direction:column;gap:4px;overflow:auto;padding:3px}.nav-group{font-size:10px;color:#a3a7ae;font-weight:800;letter-spacing:1px;padding:17px 11px 7px}.nav-btn{height:39px;border:0;background:transparent;border-radius:9px;padding:0 11px;display:flex;align-items:center;gap:11px;color:#4d5159;text-align:left;font-weight:620;font-size:13px}.nav-btn .nav-icon{width:18px;text-align:center;font-size:15px}.nav-btn:hover{background:#f7f7f8}.nav-btn.active{background:var(--accent);color:#fff;box-shadow:0 6px 14px rgba(215,25,32,.17)}.nav-badge{margin-left:auto;min-width:19px;height:19px;padding:0 5px;border-radius:10px;background:#f1f1f3;color:#777;font-size:10px;display:grid;place-items:center}.nav-btn.active .nav-badge{background:#fff;color:var(--accent)}.sidebar-footer{margin-top:auto;padding:14px 11px 3px;border-top:1px solid #f0f0f2}.version{color:#a1a5ad;font-size:10px}
.main-column{min-height:100vh;margin-left:var(--sidebar)}.topbar{position:sticky;z-index:20;top:0;height:var(--topbar);background:rgba(255,255,255,.92);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);display:flex;align-items:center;padding:0 28px;gap:20px}.top-search{height:38px;width:min(430px,42vw);border:1px solid #e5e7eb;background:#f7f8fa;border-radius:10px;display:flex;align-items:center;padding:0 11px;gap:7px;color:#979ba4}.top-search input{border:0;background:transparent;outline:none;width:100%;font-size:13px}.top-actions{margin-left:auto;display:flex;align-items:center;gap:12px}.icon-btn{width:38px;height:38px;border:1px solid var(--line);border-radius:10px;background:white;display:grid;place-items:center;position:relative}.notif-dot{position:absolute;top:7px;right:8px;width:6px;height:6px;background:var(--accent);border-radius:50%;box-shadow:0 0 0 2px #fff}.notification-btn svg{width:18px;height:18px;fill:none;stroke:#30343b;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.notification-btn:hover svg{stroke:var(--accent)}.user-chip{display:flex;align-items:center;gap:9px;background:transparent;border:0;text-align:left;padding:4px 5px;border-radius:10px}.user-chip:hover{background:#f7f7f8}.avatar{width:35px;height:35px;border-radius:50%;background:#222;color:#fff;display:grid;place-items:center;font-size:11px;font-weight:800}.user-copy{display:grid;line-height:1.2}.user-copy strong{font-size:12px}.user-copy small{font-size:10px;color:var(--muted);margin-top:2px}.content{padding:28px;max-width:1700px;margin:0 auto}.loader{min-height:55vh;display:grid;place-items:center;align-content:center;gap:15px;color:var(--muted)}.loader span{width:28px;height:28px;border:3px solid #eee;border-top-color:var(--accent);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}

/* Headings and layout */
.page-head{display:flex;align-items:flex-start;gap:18px;margin-bottom:24px}.page-head h1{font-size:27px;line-height:1.1;letter-spacing:-.9px;margin:0 0 5px}.page-head p{margin:0;color:var(--muted);font-size:13px}.page-actions{margin-left:auto;display:flex;gap:9px;flex-wrap:wrap}.section-title{font-size:15px;margin:0 0 14px;letter-spacing:-.2px}.grid{display:grid;gap:18px}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.span-2{grid-column:span 2}.span-3{grid-column:span 3}.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 2px 4px rgba(16,24,40,.02)}.card-pad{padding:20px}.card-head{display:flex;align-items:center;padding:17px 19px;border-bottom:1px solid #eff0f2}.card-head h3{font-size:14px;margin:0}.card-head .right{margin-left:auto}.kpi{padding:19px;position:relative;overflow:hidden}.kpi-label{font-size:11px;color:var(--muted);font-weight:700}.kpi-value{font-size:28px;font-weight:800;letter-spacing:-1.1px;margin:7px 0 3px}.kpi-delta{font-size:10px;color:var(--green);font-weight:700}.kpi-icon{position:absolute;right:15px;top:15px;width:31px;height:31px;border-radius:9px;background:var(--accent-soft);color:var(--accent);display:grid;place-items:center;font-size:16px}.quick-actions{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:18px}.quick-action{background:white;border:1px solid var(--line);border-radius:12px;min-height:75px;padding:13px;text-align:left;display:flex;align-items:center;gap:11px}.quick-action:hover{border-color:#f0b0b4;box-shadow:var(--shadow)}.quick-action span:first-child{width:37px;height:37px;border-radius:10px;background:var(--accent-soft);color:var(--accent);display:grid;place-items:center;font-size:18px}.quick-action strong{display:block;font-size:12px}.quick-action small{color:var(--muted);font-size:10px}

/* Tables */
.table-card{overflow:hidden}.toolbar{padding:14px 17px;border-bottom:1px solid var(--line);display:flex;gap:10px;align-items:center;flex-wrap:wrap}.search-field{height:36px;border:1px solid var(--line);border-radius:9px;padding:0 11px;min-width:220px;outline:none;background:#fff}.search-field:focus,.field input:focus,.field select:focus,.field textarea:focus{border-color:#ef9499;box-shadow:0 0 0 3px var(--accent-soft)}.filter-select{height:36px;border:1px solid var(--line);border-radius:9px;padding:0 31px 0 10px;background:#fff;color:#555}.toolbar .count{margin-left:auto;color:var(--muted);font-size:11px}.table-wrap{overflow:auto}.data-table{width:100%;border-collapse:collapse;min-width:760px}.data-table th{text-align:left;font-size:10px;color:#8c9098;font-weight:800;text-transform:uppercase;letter-spacing:.4px;background:#fafafb;padding:11px 15px;border-bottom:1px solid var(--line)}.data-table td{padding:12px 15px;border-bottom:1px solid #f0f1f3;font-size:12px;vertical-align:middle}.data-table tr:last-child td{border-bottom:0}.data-table tbody tr:hover{background:#fdfdfd}.primary-cell{font-weight:750}.sub-cell{font-size:10px;color:var(--muted);margin-top:3px}.table-actions{display:flex;gap:5px;justify-content:flex-end}.action-btn{width:30px;height:30px;border:1px solid var(--line);border-radius:8px;background:#fff;color:#62666e}.action-btn:hover{border-color:#e3a3a7;color:var(--accent);background:var(--accent-soft)}.empty{padding:55px 20px;text-align:center;color:var(--muted)}.empty-icon{width:52px;height:52px;border-radius:15px;background:#f4f4f5;display:grid;place-items:center;margin:0 auto 12px;font-size:23px}

/* Badges */
.badge{display:inline-flex;align-items:center;gap:5px;min-height:23px;padding:0 8px;border-radius:7px;font-size:10px;font-weight:750;white-space:nowrap}.badge:before{content:"";width:5px;height:5px;border-radius:50%;background:currentColor}.b-red{background:var(--accent-soft);color:#c91821}.b-green{background:var(--green-soft);color:var(--green)}.b-orange{background:var(--orange-soft);color:var(--orange)}.b-blue{background:var(--blue-soft);color:var(--blue)}.b-gray{background:#f1f2f4;color:#6b7079}.b-purple{background:var(--purple-soft);color:var(--purple)}

/* Dashboard / mission */
.mission-list{display:grid}.mission-row{display:grid;grid-template-columns:70px 1.5fr 1fr 1fr auto;gap:10px;align-items:center;padding:13px 18px;border-bottom:1px solid #f0f1f3}.mission-row:last-child{border-bottom:0}.mission-time{font-weight:800;font-size:12px}.route{font-weight:720}.route small{display:block;color:var(--muted);font-weight:500;margin-top:3px}.assignee{font-size:11px}.mini-map{height:290px;border-radius:0 0 var(--radius) var(--radius);position:relative;overflow:hidden;background:linear-gradient(135deg,#edf5f5,#dcecef)}.map-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.8) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.8) 1px,transparent 1px);background-size:36px 36px;transform:rotate(8deg) scale(1.25)}.map-line{position:absolute;left:17%;right:13%;top:52%;height:3px;background:var(--accent);transform:rotate(-13deg);border-radius:8px}.map-line:before,.map-line:after{content:"";position:absolute;width:12px;height:12px;border-radius:50%;background:var(--accent);top:-5px;box-shadow:0 0 0 4px #fff}.map-line:after{right:0}.map-label{position:absolute;background:white;border:1px solid var(--line);border-radius:8px;padding:6px 8px;font-size:9px;font-weight:700;box-shadow:0 4px 12px rgba(0,0,0,.06)}.map-label.a{left:13%;top:64%}.map-label.b{right:9%;top:30%}
.timeline{display:flex;align-items:flex-start;padding:22px 8px 6px}.timeline-step{flex:1;text-align:center;position:relative;color:#a7abb2;font-size:9px;font-weight:700}.timeline-step:before{content:"";position:absolute;top:7px;left:0;right:0;height:2px;background:#e8e9ed}.timeline-step:first-child:before{left:50%}.timeline-step:last-child:before{right:50%}.timeline-step .dot{position:relative;z-index:1;width:16px;height:16px;border-radius:50%;background:#e4e5e8;display:grid;place-items:center;margin:0 auto 7px;border:4px solid #fff;box-shadow:0 0 0 2px #e4e5e8}.timeline-step.done,.timeline-step.current{color:var(--text)}.timeline-step.done:before,.timeline-step.current:before{background:var(--accent)}.timeline-step.done .dot,.timeline-step.current .dot{background:var(--accent);box-shadow:0 0 0 2px var(--accent)}

/* Planning */
.planning-toolbar{display:flex;align-items:center;gap:8px;margin-bottom:14px}.planning-toolbar .week-label{font-size:13px;font-weight:800;margin:0 6px}.planning-board{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:auto}.planning-grid{display:grid;grid-template-columns:170px repeat(7,minmax(135px,1fr));min-width:1120px}.planning-cell{min-height:74px;border-right:1px solid #eff0f2;border-bottom:1px solid #eff0f2;padding:7px}.planning-head{min-height:56px;background:#fafafb;text-align:center;font-size:10px;color:#737780;font-weight:700;display:grid;place-items:center}.planning-head strong{display:block;color:#1c1d21;font-size:11px;margin-top:2px}.resource-cell{background:#fcfcfd;font-size:11px;font-weight:800;display:flex;align-items:center;gap:8px;position:sticky;left:0;z-index:2}.resource-dot{width:27px;height:27px;border-radius:50%;background:#f1f2f4;display:grid;place-items:center;font-size:9px}.plan-item{padding:7px 8px;border-radius:8px;background:var(--accent-soft);border-left:3px solid var(--accent);font-size:9px;margin-bottom:5px;cursor:pointer;line-height:1.25}.plan-item:hover{filter:brightness(.98);box-shadow:0 4px 10px rgba(0,0,0,.06)}.plan-item strong{font-size:9px;display:block;margin-bottom:2px}.plan-item.blue{background:var(--blue-soft);border-color:var(--blue)}.plan-item.gray{background:#f1f2f4;border-color:#8b9098}.today-head{background:#fff2f2!important;color:var(--accent)!important}

/* Forms / modal */
#modalRoot{position:fixed;inset:0;z-index:1000;pointer-events:none}
#modalRoot:not(:empty){pointer-events:auto}
body.modal-open{overflow:hidden}
.modal-backdrop{position:fixed;z-index:1100;inset:0;background:rgba(17,18,22,.42);backdrop-filter:blur(2px);display:grid;place-items:center;padding:20px}.modal{width:min(720px,100%);max-height:92vh;background:#fff;border-radius:18px;box-shadow:0 30px 90px rgba(0,0,0,.25);overflow:hidden;display:flex;flex-direction:column}.modal.modal-lg{width:min(980px,100%)}.modal.modal-sm{width:min(470px,100%)}.modal-head{display:flex;align-items:center;padding:20px 22px;border-bottom:1px solid var(--line)}.modal-head h2{font-size:18px;margin:0;letter-spacing:-.3px}.modal-head p{margin:4px 0 0;color:var(--muted);font-size:11px}.modal-close{margin-left:auto;width:34px;height:34px;border:1px solid var(--line);background:#fff;border-radius:9px}.modal-body{padding:22px;overflow:auto}.modal-footer{display:flex;justify-content:flex-end;gap:9px;padding:16px 22px;border-top:1px solid var(--line);background:#fcfcfd}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.field{display:grid;gap:7px}.field.full{grid-column:1/-1}.field label{font-size:11px;font-weight:750;color:#4e5259}.field input,.field select,.field textarea{width:100%;border:1px solid #dfe1e5;border-radius:9px;padding:9px 10px;outline:none;background:#fff;color:#222}.field input,.field select{height:41px}.field textarea{min-height:85px;resize:vertical}.field small{font-size:9px;color:var(--muted)}.checkbox-field{display:flex;gap:8px;align-items:center;margin-top:5px}.checkbox-field input{width:auto;height:auto}.divider{height:1px;background:var(--line);margin:20px 0}.detail-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}.detail-item{padding:13px;border:1px solid var(--line);border-radius:10px}.detail-item span{display:block;font-size:9px;color:var(--muted);font-weight:700;text-transform:uppercase;margin-bottom:5px}.detail-item strong{font-size:12px}.detail-card{border:1px solid var(--line);border-radius:12px;padding:16px}.detail-card h3{margin:0 0 13px;font-size:13px}.route-hero{display:flex;align-items:center;gap:13px;padding:17px;border:1px solid #f0d7d9;background:#fffafa;border-radius:12px;margin-bottom:15px}.route-icon{width:43px;height:43px;border-radius:12px;background:var(--accent);color:#fff;display:grid;place-items:center;font-size:19px}.route-hero h2{margin:0;font-size:19px}.route-hero p{margin:4px 0 0;color:var(--muted);font-size:11px}.route-hero .badge{margin-left:auto}.file-drop{border:2px dashed #d9dce1;border-radius:13px;padding:28px;text-align:center;background:#fafafb;transition:.2s}.file-drop.drag{border-color:var(--accent);background:var(--accent-soft)}.file-drop input{display:none}.file-drop .file-icon{font-size:29px;margin-bottom:9px}.file-drop strong{display:block;font-size:12px}.file-drop p{margin:4px 0 11px;color:var(--muted);font-size:10px}

/* Stats */
.stat-chart{display:grid;gap:12px}.bar-row{display:grid;grid-template-columns:110px 1fr 85px;align-items:center;gap:12px;font-size:11px}.bar-track{height:9px;background:#f0f1f3;border-radius:20px;overflow:hidden}.bar-fill{height:100%;background:linear-gradient(90deg,var(--accent),#f05a60);border-radius:20px;min-width:2px}.bar-value{text-align:right;font-weight:800}.donut-wrap{display:grid;grid-template-columns:160px 1fr;gap:20px;align-items:center}.donut{width:150px;height:150px;border-radius:50%;background:conic-gradient(var(--accent) 0 43%,#f59e0b 43% 68%,#2563eb 68% 88%,#d1d5db 88% 100%);display:grid;place-items:center}.donut:after{content:"";width:90px;height:90px;border-radius:50%;background:#fff}.legend{display:grid;gap:10px}.legend-row{display:flex;align-items:center;gap:8px;font-size:11px}.legend-dot{width:8px;height:8px;border-radius:50%;background:var(--accent)}

/* Settings */
.settings-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}.setting-tile{border:1px solid var(--line);border-radius:13px;padding:20px;min-height:135px;background:#fff;text-align:left}.setting-tile:hover{border-color:#ebb1b5;box-shadow:0 8px 24px rgba(20,24,32,.06)}.setting-icon{width:40px;height:40px;border-radius:11px;background:#f5f5f6;display:grid;place-items:center;font-size:20px;margin-bottom:15px}.setting-tile h3{font-size:13px;margin:0 0 4px}.setting-tile p{font-size:10px;color:var(--muted);margin:0;line-height:1.5}

/* Driver / mobile */
.driver-hero{background:linear-gradient(135deg,#fff 0,#fff 55%,#fff0f1 100%);border:1px solid var(--line);border-radius:18px;padding:24px;display:flex;align-items:center;gap:18px}.driver-hero .big-avatar{width:58px;height:58px;border-radius:17px;background:#202125;color:#fff;display:grid;place-items:center;font-size:16px;font-weight:800}.driver-hero h1{font-size:23px;margin:0 0 4px}.driver-hero p{margin:0;color:var(--muted)}.today-card{padding:20px}.mission-mobile-card{border:1px solid var(--line);border-radius:14px;padding:16px;margin-top:11px}.mission-mobile-card .mobile-route{display:flex;gap:10px;align-items:center}.mission-mobile-card .mobile-route .route-icon{width:38px;height:38px}.mission-mobile-card h3{margin:0;font-size:14px}.mission-mobile-card p{font-size:10px;color:var(--muted);margin:4px 0 0}.mission-mobile-card .mobile-meta{display:flex;gap:14px;margin:13px 0;font-size:10px;color:#555}.driver-actions{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.driver-actions .btn:first-child{grid-column:1/-1}

/* Toast / popover */
.toast-root{position:fixed;z-index:120;right:22px;bottom:22px;display:grid;gap:9px}.toast{min-width:260px;max-width:360px;background:#1e2024;color:#fff;border-radius:11px;padding:12px 14px;box-shadow:0 12px 30px rgba(0,0,0,.18);font-size:11px;animation:toastin .2s ease}.toast.error{background:#ad141c}.toast.success{background:#176b47}@keyframes toastin{from{transform:translateY(10px);opacity:0}}.popover{position:fixed;z-index:70;right:25px;top:62px;width:180px;background:#fff;border:1px solid var(--line);border-radius:11px;padding:6px;box-shadow:var(--shadow)}.popover button{width:100%;height:36px;text-align:left;padding:0 10px;border:0;background:#fff;border-radius:7px;font-size:11px}.popover button:hover{background:#f6f6f7}
.mobile-nav,.sidebar-backdrop{display:none}

@media(max-width:1200px){.grid-4{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(2,1fr)}.quick-actions{grid-template-columns:repeat(2,1fr)}.span-3{grid-column:auto}.settings-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:900px){
  .login-shell{grid-template-columns:1fr;min-height:auto}.login-visual{display:none}.login-panel{padding:45px 25px;min-height:620px}.mobile-brand{display:flex}
  .mobile-only{display:grid!important}.sidebar{transform:translateX(-105%);transition:.25s;box-shadow:10px 0 30px rgba(0,0,0,.12)}.sidebar.open{transform:translateX(0)}.sidebar-backdrop.show{display:block;position:fixed;z-index:29;inset:0;background:rgba(0,0,0,.3)}
  .main-column{margin-left:0}.topbar{padding:0 14px;height:62px}.top-search{display:none}.content{padding:18px 14px 88px}.user-copy{display:none}.top-actions{gap:5px}.page-head{align-items:center}.page-head h1{font-size:22px}.page-head p{font-size:11px}.page-actions .btn span.label{display:none}
  .mobile-nav{display:grid;position:fixed;z-index:25;left:0;right:0;bottom:0;height:66px;background:#fff;border-top:1px solid var(--line);grid-template-columns:repeat(4,1fr);padding-bottom:env(safe-area-inset-bottom)}.mobile-nav button{border:0;background:#fff;display:grid;place-items:center;align-content:center;gap:3px;color:#777;font-size:9px}.mobile-nav button span{font-size:18px}.mobile-nav button.active{color:var(--accent);font-weight:800}
  .grid-4,.grid-3,.grid-2{grid-template-columns:1fr}.span-2,.span-3{grid-column:auto}.kpi-value{font-size:24px}.quick-actions{grid-template-columns:repeat(2,1fr)}.mission-row{grid-template-columns:55px 1fr auto}.mission-row .assignee,.mission-row .mission-type{display:none}.mini-map{height:220px}.settings-grid{grid-template-columns:1fr}.detail-grid{grid-template-columns:repeat(2,1fr)}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.modal-backdrop{padding:8px;align-items:end}.modal{border-radius:18px 18px 0 0;max-height:94vh}.modal.modal-lg,.modal.modal-sm{width:100%}.modal-body{padding:17px}.modal-head{padding:17px}.modal-footer{padding:12px 17px}.donut-wrap{grid-template-columns:1fr;justify-items:center}.bar-row{grid-template-columns:80px 1fr 72px}.planning-grid{grid-template-columns:130px repeat(7,135px)}
}
@media(max-width:520px){.grid-4{grid-template-columns:repeat(2,1fr);gap:10px}.kpi{padding:15px}.kpi-icon{display:none}.kpi-value{font-size:22px}.quick-action{min-height:66px}.quick-action small{display:none}.page-actions{gap:6px}.detail-grid{grid-template-columns:1fr}.route-hero{align-items:flex-start;flex-wrap:wrap}.route-hero .badge{margin-left:56px}.toolbar{padding:11px}.search-field{min-width:100%;flex:1}.toolbar .count{margin-left:0}.driver-hero{padding:18px}.toast-root{left:12px;right:12px;bottom:78px}.toast{min-width:0;max-width:none}}

/* === OG Fleet V1.1 additions === */
.top-sync,.sync-pill{font-size:9px;color:var(--muted);background:#f6f6f7;border:1px solid var(--line);border-radius:999px;padding:6px 9px;white-space:nowrap}.click-row{cursor:pointer}.click-row:hover{background:#fcfcfd}.nowrap{white-space:nowrap}.hint{font-size:10px;color:var(--muted);line-height:1.6;margin:6px 0 12px}.watch-line{width:100%;border:0;border-bottom:1px solid var(--line);background:#fff;padding:11px 0;display:flex;gap:8px;align-items:center;text-align:left}.watch-line>span:first-child{display:grid;gap:3px;flex:1}.watch-line small{color:var(--muted);font-size:9px}.pipeline{display:grid;grid-template-columns:repeat(5,1fr);gap:9px}.pipeline>div{background:#fafafb;border:1px solid var(--line);border-radius:10px;padding:13px;display:grid;gap:4px}.pipeline strong{font-size:21px}.pipeline span{font-size:9px;color:var(--muted)}
.access-chip{display:inline-flex;align-items:center;border-radius:999px;padding:4px 7px;font-size:8px;font-weight:800;margin:2px 2px 2px 0}.access-chip.on{background:#edf8f2;color:#176b47}.access-chip.off{background:#f4f4f5;color:#8b9098}.access-panel{background:#fafafb;border:1px solid var(--line);padding:13px;border-radius:10px}.access-panel>strong{display:block;margin-bottom:8px;font-size:11px}.access-panel label{display:inline-flex;gap:6px;align-items:center;margin:4px 13px 4px 0;font-size:10px}.access-panel input{width:auto;height:auto}.section-line{display:flex;align-items:center;gap:12px;justify-content:space-between}.section-line h3{margin:0}.doc-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.doc-card{border:1px solid var(--line);background:#fff;border-radius:10px;padding:11px;display:flex;align-items:center;gap:9px;text-align:left}.doc-card:hover{background:#fafafb}.doc-card>span:nth-child(2){display:grid;gap:2px;flex:1}.doc-card small{font-size:9px;color:var(--muted)}.doc-icon{width:32px;height:32px;border-radius:8px;background:#f4f4f5;display:grid;place-items:center}.document-preview{display:flex;align-items:center;gap:18px;border:1px solid var(--line);padding:16px;border-radius:12px}.doc-big{width:60px;height:60px;border-radius:14px;background:var(--accent-soft);color:var(--accent);font-size:27px;display:grid;place-items:center}.document-preview p{font-size:10px;color:var(--muted);margin:5px 0 12px}.review-box{border:1px solid var(--line);border-radius:11px;padding:13px}.review-box textarea{width:100%;min-height:75px;margin:12px 0;border:1px solid #dfe1e5;border-radius:9px;padding:9px;resize:vertical}.review-box>div{display:flex;gap:8px;justify-content:flex-end}
.danger-zone{margin-top:22px;border:1px solid #f3c8ca;background:#fff8f8;border-radius:12px;padding:14px}.danger-zone strong{color:#9f1720;font-size:11px}.danger-zone p{font-size:9px;color:#7c5558;line-height:1.5}.btn-danger-outline{background:#fff;color:#b31c25;border:1px solid #e7aeb2}.btn-danger{background:#b31c25;color:#fff;border:1px solid #b31c25}.btn-danger:disabled{opacity:.4}.confirm-danger{text-align:center}.danger-symbol{width:50px;height:50px;background:#fff0f1;color:#b31c25;border-radius:50%;display:grid;place-items:center;font-size:25px;font-weight:900;margin:0 auto 12px}.confirm-danger p{font-size:11px;line-height:1.6}.confirm-danger label{display:block;font-size:10px;margin:14px 0 6px}.confirm-danger input{width:100%;height:42px;border:1px solid #dfb6b9;border-radius:9px;text-align:center;font-weight:800;letter-spacing:1px}
.initial-docs{border:1px solid var(--line);border-radius:11px;padding:13px;background:#fcfcfd}.initial-doc-title{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:10px}.initial-doc-title strong{font-size:11px}.initial-doc-title span{font-size:9px;color:var(--muted)}.initial-doc-row{display:grid;grid-template-columns:1.4fr 1.2fr auto auto;gap:8px;align-items:center;padding:7px 0;border-top:1px solid #ededee}.initial-doc-row input[type=file]{font-size:9px}.initial-doc-row select{height:34px;border:1px solid #dfe1e5;border-radius:8px;background:#fff}.initial-doc-row label{font-size:9px;display:flex;gap:4px;align-items:center}.initial-doc-row input[type=checkbox]{width:auto}.mini-check{font-weight:500!important;font-size:9px!important;color:var(--muted)!important}.two-mini{display:grid;grid-template-columns:1fr 1fr;gap:8px}.two-mini span{display:grid;gap:7px}
.plan-item{min-height:88px!important;padding:8px!important}.plan-item .plan-top{display:flex;align-items:flex-start;justify-content:space-between;gap:4px}.plan-item .badge{font-size:6px;padding:2px 4px}.plan-item b{display:block;font-size:9px;margin:5px 0 4px}.plan-item span,.plan-item small{display:block;font-size:7.5px;color:#61656d;margin-top:3px}.resource-cell small{display:block;font-size:8px;color:var(--muted);margin-top:2px}.planning-cell{min-height:108px!important}
.connector-banner{display:flex;align-items:center;justify-content:space-between;gap:15px;background:#fffafa;border:1px solid #f2d7d9;border-radius:13px;padding:15px;margin-bottom:16px}.connector-banner strong{font-size:12px}.connector-banner p{font-size:9px;color:var(--muted);margin:4px 0 0}.connector-setup ul{font-size:11px;line-height:1.8;color:#42454b}.connector-status{margin-bottom:12px}.draft-preview .invoice-line{display:flex;align-items:center;justify-content:space-between;gap:15px;border:1px solid var(--line);border-radius:10px;padding:13px;background:#fafafb}.smart-import textarea{width:100%;min-height:230px;border:1px solid #dfe1e5;border-radius:10px;padding:12px;resize:vertical;font-family:inherit}.smart-import p{font-size:11px;line-height:1.6}.address-list{display:grid;gap:7px;margin-top:13px}.address-list button{border:1px solid var(--line);border-radius:10px;background:#fff;padding:11px;display:flex;align-items:center;gap:8px;text-align:left}.address-list button>span:first-child{display:grid;gap:3px;flex:1}.address-list small{font-size:9px;color:var(--muted)}.timeline{display:grid;gap:0}.timeline>div{display:grid;grid-template-columns:20px 1fr;gap:8px;min-height:52px}.timeline>div>span{width:9px;height:9px;border-radius:50%;background:var(--accent);margin-top:5px;position:relative}.timeline>div>span:after{content:"";position:absolute;width:1px;background:#e2e3e6;top:11px;bottom:-42px;left:4px}.timeline>div:last-child>span:after{display:none}.timeline p{margin:0;font-size:10px}.timeline small{display:block;color:var(--muted);line-height:1.5;margin-top:2px}.driver-workflow{background:#fafafb;border:1px solid var(--line);border-radius:11px;padding:13px}.driver-workflow p{font-size:10px;color:var(--muted);line-height:1.5}.driver-workflow>div{display:flex;gap:8px;flex-wrap:wrap}
@media(max-width:900px){.top-sync{display:none}.pipeline{grid-template-columns:repeat(2,1fr)}.doc-cards{grid-template-columns:1fr}.initial-doc-row{grid-template-columns:1fr}.connector-banner{align-items:flex-start;flex-direction:column}.planning-grid{grid-template-columns:150px repeat(7,180px)!important}.plan-item{min-height:98px!important}}

/* === OG Fleet V1.2 — lisibilité, workflow exploitation et tableaux === */
:root{
  --st-unassigned:#b45309;--st-unassigned-bg:#fff7e8;
  --st-planned:#2563eb;--st-planned-bg:#eef4ff;
  --st-ready:#7c3aed;--st-ready-bg:#f4efff;
  --st-sent:#0f766e;--st-sent-bg:#e9f8f5;
  --st-progress:#15803d;--st-progress-bg:#edf9f0;
  --st-done:#158a57;--st-done-bg:#eaf8f1;
  --st-cancel:#c51d26;--st-cancel-bg:#fff0f1;
}
/* Tous les tableaux utilisent à nouveau la grille soignée de la V1. */
.table-wrap table,.data-table{width:100%;border-collapse:separate;border-spacing:0;min-width:760px;background:#fff}
.table-wrap table th,.data-table th{text-align:left;font-size:10px;color:#7f858f;font-weight:800;text-transform:uppercase;letter-spacing:.45px;background:#fafafb;padding:12px 15px;border-bottom:1px solid var(--line);border-right:1px solid #f0f1f3}
.table-wrap table th:last-child,.data-table th:last-child{border-right:0}
.table-wrap table td,.data-table td{padding:13px 15px;border-bottom:1px solid #eceef1;border-right:1px solid #f3f4f6;font-size:12px;vertical-align:middle;background:#fff}
.table-wrap table td:last-child,.data-table td:last-child{border-right:0}
.table-wrap table tbody tr:last-child td,.data-table tbody tr:last-child td{border-bottom:0}
.table-wrap table tbody tr:hover td,.data-table tbody tr:hover td{background:#fcfcfd}
.table-wrap table thead th:first-child{border-top-left-radius:8px}.table-wrap table thead th:last-child{border-top-right-radius:8px}

/* Code couleur mission unique et réutilisé partout. */
.b-mission-unassigned,.mission-status.status-unassigned{background:var(--st-unassigned-bg);color:var(--st-unassigned)}
.b-mission-planned,.mission-status.status-planned{background:var(--st-planned-bg);color:var(--st-planned)}
.b-mission-ready,.mission-status.status-ready{background:var(--st-ready-bg);color:var(--st-ready)}
.b-mission-sent,.mission-status.status-sent{background:var(--st-sent-bg);color:var(--st-sent)}
.b-mission-progress,.mission-status.status-progress{background:var(--st-progress-bg);color:var(--st-progress)}
.b-mission-done,.mission-status.status-done{background:var(--st-done-bg);color:var(--st-done)}
.b-mission-cancelled,.mission-status.status-cancelled{background:var(--st-cancel-bg);color:var(--st-cancel)}
.mission-status{display:inline-flex;align-items:center;min-height:24px;padding:0 8px;border-radius:7px;font-size:9px;font-weight:850;white-space:nowrap;border:1px solid currentColor}
.status-legend{display:flex;gap:7px;flex-wrap:wrap;margin:-8px 0 13px}

/* Planning plus lisible : blocs plus grands et structurés. */
.planning-card{overflow:hidden}.planning-scroll{overflow:auto}.planning-grid{grid-template-columns:175px repeat(7,minmax(205px,1fr));min-width:1610px}
.planning-cell{min-height:138px!important;padding:9px;background:#fff}.planning-head{min-height:60px;font-size:11px}.planning-head strong{font-size:12px}
.plan-item{min-height:122px!important;padding:11px 12px!important;border-radius:11px;border:1px solid transparent;border-left-width:4px!important;font-size:11px!important;line-height:1.3;margin-bottom:8px;box-shadow:0 2px 5px rgba(16,24,40,.035)}
.plan-item .plan-top{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:7px}.plan-item .plan-time{font-size:12px!important;font-weight:900;color:#202329;margin:0!important}.plan-item .mission-status{font-size:7.5px;padding:0 5px;min-height:20px}
.plan-item .plan-client{font-size:11px;font-weight:850;color:#25282e;margin-bottom:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.plan-item .plan-route{font-size:12px;font-weight:800;color:#1b1d21;margin:0 0 8px;line-height:1.35}.plan-item .plan-route span{display:inline!important;font-size:11px!important;margin:0 2px!important;color:inherit!important}
.plan-item .plan-meta{display:flex;gap:5px;flex-wrap:wrap;margin-bottom:8px}.plan-item .plan-meta span{display:inline-flex!important;font-size:8.5px!important;color:#555b64!important;background:rgba(255,255,255,.6);border:1px solid rgba(0,0,0,.06);border-radius:6px;padding:3px 5px;margin:0!important}
.plan-item .plan-bottom{display:flex;gap:6px;align-items:center;justify-content:space-between}.plan-item .plan-bottom small{font-size:8.5px!important;color:#626772!important;margin:0!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sub-mark{font-size:7px!important;background:#fff;border:1px solid currentColor;border-radius:5px;padding:2px 4px;font-weight:900}
.plan-item.status-unassigned{background:var(--st-unassigned-bg);border-color:#f1cf9d;border-left-color:var(--st-unassigned)!important}.plan-item.status-planned{background:var(--st-planned-bg);border-color:#cddcff;border-left-color:var(--st-planned)!important}.plan-item.status-ready{background:var(--st-ready-bg);border-color:#ddd0ff;border-left-color:var(--st-ready)!important}.plan-item.status-sent{background:var(--st-sent-bg);border-color:#bee9e1;border-left-color:var(--st-sent)!important}.plan-item.status-progress{background:var(--st-progress-bg);border-color:#c6e8ce;border-left-color:var(--st-progress)!important}.plan-item.status-done{background:var(--st-done-bg);border-color:#d9e0e8;border-left-color:var(--st-done)!important}.plan-item.status-cancelled{background:var(--st-cancel-bg);border-color:#f0c7ca;border-left-color:var(--st-cancel)!important;opacity:.78}

/* Fil d'état dans la fiche mission. */
.mission-flow{display:flex;gap:6px;align-items:center;overflow:auto;padding:4px 0 13px;margin-bottom:10px}.flow-step{display:inline-flex;align-items:center;white-space:nowrap;border:1px solid var(--line);background:#fafafb;color:#90959d;border-radius:8px;padding:6px 8px;font-size:8.5px;font-weight:800}.flow-step.done{background:#f4f5f6;color:#5e646d}.flow-step.active{border-color:currentColor}
.workflow-done{display:inline-flex;align-items:center;background:var(--st-done-bg);color:var(--st-done);border-radius:8px;padding:9px 11px;font-size:10px;font-weight:850}

/* Le code couleur suit aussi les cartes chauffeur. */
.mission-mobile-card.status-sent{border-left:4px solid var(--st-sent);background:linear-gradient(90deg,var(--st-sent-bg),#fff 34%)}
.mission-mobile-card.status-progress{border-left:4px solid var(--st-progress);background:linear-gradient(90deg,var(--st-progress-bg),#fff 34%)}
.mission-mobile-card.status-done{border-left:4px solid var(--st-done);background:linear-gradient(90deg,var(--st-done-bg),#fff 34%)}

/* Sélection / mémorisation d'adresses intégrée au design. */
.address-combo{display:grid;grid-template-columns:minmax(0,1fr) 122px;border:1px solid #dfe1e5;border-radius:10px;background:#fff;overflow:hidden;transition:.18s}.address-combo:focus-within{border-color:#ef9499;box-shadow:0 0 0 3px var(--accent-soft)}
.field .address-combo input{border:0!important;border-radius:0!important;box-shadow:none!important}.address-picker{position:relative;min-width:0;border-left:1px solid var(--line);background:#fafafb}.address-picker-icon{position:absolute;left:10px;top:50%;transform:translateY(-50%);width:16px;height:16px;display:grid;place-items:center;color:#666d76;pointer-events:none;z-index:2}.address-picker-icon .og-icon{width:16px;height:16px}.field .address-combo .address-picker select{width:100%;height:100%;border:0!important;border-radius:0!important;background:transparent;color:#555;font-size:10px;font-weight:750;box-shadow:none!important;padding-left:32px!important}
.address-save-toggle{margin-top:2px;border:1px solid var(--line);border-radius:9px;padding:8px 9px;display:grid!important;grid-template-columns:27px 1fr 22px;align-items:center;gap:8px;background:#fafafb;cursor:pointer;color:#5d626b!important;font-weight:500!important}.address-save-toggle:hover{border-color:#e7b0b4;background:#fffafa}.address-save-toggle input{position:absolute;opacity:0;pointer-events:none}.address-save-icon{width:27px;height:27px;border-radius:8px;background:#fff;border:1px solid var(--line);display:grid;place-items:center;color:var(--accent);font-size:15px}.address-save-toggle strong{display:block;font-size:9.5px;color:#44484f}.address-save-toggle small{display:block!important;font-size:7.5px!important;margin-top:2px}.address-save-check{width:20px;height:20px;border-radius:50%;display:grid;place-items:center;background:#e9ebee;color:#aaa;opacity:.55}.address-save-toggle:has(input:checked){border-color:#edb2b6;background:var(--accent-soft)}.address-save-toggle:has(input:checked) .address-save-icon{background:var(--accent);color:#fff;border-color:var(--accent)}.address-save-toggle:has(input:checked) .address-save-check{background:var(--accent);color:#fff;opacity:1}

.period-switch{display:inline-flex;background:#fff;border:1px solid var(--line);border-radius:10px;padding:3px;margin-bottom:16px}.period-switch button{border:0;background:transparent;border-radius:7px;height:32px;padding:0 13px;font-size:10px;font-weight:800;color:#777}.period-switch button.active{background:var(--accent);color:#fff}.monthly-chart{display:grid;grid-template-columns:repeat(12,minmax(38px,1fr));gap:8px;align-items:end;min-height:245px;overflow:auto}.month-col{display:grid;grid-template-rows:28px 150px auto auto;align-items:end;text-align:center;min-width:42px}.month-value{font-size:7.5px;color:#6d727b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.month-bar-wrap{height:145px;display:flex;align-items:flex-end;justify-content:center;border-bottom:1px solid var(--line)}.month-bar{width:55%;max-width:30px;background:linear-gradient(180deg,#ef5a61,var(--accent));border-radius:6px 6px 2px 2px}.month-col strong{font-size:8px;text-transform:uppercase;margin-top:5px}.month-col small{font-size:7px;color:var(--muted)}

@media(max-width:900px){.planning-grid{grid-template-columns:150px repeat(7,205px)!important}.plan-item{min-height:126px!important}.address-combo{grid-template-columns:minmax(0,1fr) 105px}.monthly-chart{min-width:720px}}

/* OCR local — état affiché dans l'import assisté */
.ocr-status{display:flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:11px;padding:11px 12px;margin-bottom:13px;background:#fafafb}
.ocr-status>span{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;font-weight:900;flex:0 0 auto}
.ocr-status>div{display:grid;gap:2px}.ocr-status strong{font-size:10px}.ocr-status small{font-size:8.5px;color:var(--muted);line-height:1.35}
.ocr-status.ready{border-color:#bfe3ce;background:#f4fbf7}.ocr-status.ready>span{background:#d9f3e3;color:#167548}
.ocr-status.warning{border-color:#f0d7a8;background:#fffaf0}.ocr-status.warning>span{background:#fff0cb;color:#9b6500}


/* === OG Fleet V1.2.2 : finition ergonomique === */
/* Recherche : un seul contrôle visuel, l'input natif n'ajoute plus un second rectangle. */
.search-field{display:flex!important;align-items:center;gap:8px;color:#969ba5;line-height:1;transition:.18s}
.search-field:focus-within{border-color:#ef9499;box-shadow:0 0 0 3px var(--accent-soft)}
.search-field .page-search{flex:1;min-width:0;width:100%;height:100%;padding:0;border:0!important;border-radius:0!important;background:transparent!important;outline:0!important;box-shadow:none!important;color:var(--text);font-size:12px}
.search-field .page-search::placeholder{color:#9ca1aa}

/* Planning bureau : la semaine entière tient dans la largeur disponible, sans scroll horizontal. */
.content.planning-mode{max-width:none;padding-left:18px;padding-right:18px}
.content.planning-mode .page-head{margin-bottom:16px}
.content.planning-mode .status-legend{margin-bottom:10px}
.planning-card{width:100%}
.planning-scroll{overflow:visible!important;width:100%}
.planning-grid{width:100%!important;min-width:0!important;grid-template-columns:minmax(112px,132px) repeat(7,minmax(0,1fr))!important}
.planning-grid>.resource-cell{min-width:0;padding:7px;overflow:hidden}
.planning-grid>.resource-cell>div:last-child{min-width:0;overflow:hidden;text-overflow:ellipsis}
.planning-cell{min-width:0;padding:6px!important}
.plan-item{min-width:0;min-height:104px!important;padding:8px 8px!important;border-radius:9px!important}
.plan-item .plan-top{gap:4px;margin-bottom:5px}
.plan-item .plan-time{font-size:11px!important}
.plan-item .mission-status{font-size:6.8px!important;min-height:18px;padding:0 4px}
.plan-item .plan-client{font-size:9.5px;margin-bottom:3px}
.plan-item .plan-route{font-size:10px;line-height:1.25;margin-bottom:5px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.plan-item .plan-route span{font-size:9px!important}
.plan-item .plan-meta{gap:3px;margin-bottom:5px}
.plan-item .plan-meta span{font-size:7.2px!important;padding:2px 4px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.plan-item .plan-bottom small{font-size:7.3px!important}

/* OCR : statut plus explicite et redétection immédiate après installation Windows. */
.ocr-status-copy{min-width:0;flex:1}.ocr-path{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;opacity:.8}
.ocr-redetect{margin-left:auto;flex:0 0 auto}

@media(max-width:1180px) and (min-width:901px){
  .content.planning-mode{padding-left:10px;padding-right:10px}
  .planning-grid{grid-template-columns:105px repeat(7,minmax(0,1fr))!important}
  .resource-dot{display:none}
  .planning-grid>.resource-cell{font-size:9px}
  .plan-item{min-height:98px!important;padding:6px!important}
  .plan-item .plan-meta span:nth-child(2){display:none!important}
  .plan-item .plan-bottom{display:none}
}
@media(max-width:900px){
  /* Sur téléphone on privilégie la lisibilité : le planning garde le défilement horizontal. */
  .content.planning-mode{padding:18px 14px 88px}
  .planning-scroll{overflow:auto!important}
  .planning-grid{width:auto!important;min-width:1585px!important;grid-template-columns:150px repeat(7,205px)!important}
  .plan-item{min-height:126px!important;padding:10px!important}
}

/* === OG Fleet V1.2.3 : import OCR métier === */
.import-source-card{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:start;background:#fffafa;border:1px solid #f0d7d9;border-radius:13px;padding:13px 14px}
.import-source-card>.doc-icon{margin-top:1px}.import-source-card strong{font-size:11px}.import-source-card small{display:block;color:var(--muted);font-size:9px;margin-top:3px;line-height:1.45}
.import-detected{display:flex;flex-wrap:wrap;gap:5px 7px;margin-top:9px}.import-detected span{background:#fff;border:1px solid #eadfe0;border-radius:999px;padding:4px 7px;font-size:8.5px;color:#50545b;line-height:1.2}
.detected-client-hint{display:block!important;margin-top:6px!important;padding:7px 9px;border-radius:8px;background:#fff7e8;color:#7d5813!important;border:1px solid #f1dfb7;line-height:1.45!important}
@media(max-width:700px){.import-source-card{grid-template-columns:auto 1fr}.import-source-card>span:last-child{grid-column:2}.import-detected{display:grid}.import-detected span{border-radius:7px}}


/* === OG Fleet V1.2.4 : notifications + diagnostic import === */
.notification-list{display:grid;gap:8px}.notification-row{width:100%;border:1px solid var(--line);background:#fff;border-radius:11px;padding:12px 14px;display:flex;align-items:center;justify-content:space-between;text-align:left;cursor:pointer}.notification-row:hover{border-color:#d8a09e;background:#fffafa}.notification-row strong{min-width:28px;height:28px;border-radius:999px;background:#fff0ef;color:var(--accent);display:grid;place-items:center;font-size:12px}.import-source-copy{min-width:0;display:grid;gap:6px}.import-profile{width:max-content;max-width:100%;padding:4px 8px;border-radius:999px;background:#eef4ff;color:#3557a6;font-size:10px;font-weight:800}.import-raw{margin-top:5px;border:1px solid var(--line);border-radius:9px;background:#fafafa}.import-raw summary{cursor:pointer;padding:8px 10px;font-size:10px;font-weight:800;color:#575c65}.import-raw pre{margin:0;border-top:1px solid var(--line);padding:10px;max-height:220px;overflow:auto;white-space:pre-wrap;word-break:break-word;font:10px/1.45 ui-monospace,SFMono-Regular,Consolas,monospace;color:#444;background:#fff}

/* === OG Fleet V1.3 : PDF de commande + PaddleOCR === */
.source-import-field{border:1px solid #e6e8ec;border-radius:14px;padding:14px;background:#fbfbfc}
.source-import-head{display:flex;align-items:center;gap:12px;margin-bottom:10px}.source-import-head>div{display:grid;gap:3px}.source-import-head strong{font-size:12px}.source-import-head small{font-size:9px;color:var(--muted);line-height:1.4}.ai-pill{margin-left:auto;border-radius:999px;padding:5px 9px;font-size:8.5px;font-weight:850;white-space:nowrap}.ai-pill.ready{background:#e9f7ef;color:#167548}.ai-pill.warning{background:#fff3dc;color:#956315}
.mission-source-drop{min-height:145px;border:1.5px dashed #cfd3da;border-radius:13px;background:#fff;display:flex!important;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:18px;gap:5px;cursor:pointer;transition:.18s;position:relative;overflow:hidden}.mission-source-drop:hover,.mission-source-drop.drag{border-color:var(--accent);background:#fff8f8;box-shadow:0 0 0 3px var(--accent-soft)}.mission-source-drop.analyzing{pointer-events:none;opacity:.72}.mission-source-drop input{position:absolute;inset:0;opacity:0;cursor:pointer}.source-drop-icon{width:40px;height:40px;border-radius:11px;background:var(--accent-soft);color:var(--accent);display:grid;place-items:center;font-size:22px;font-weight:700}.mission-source-drop strong{font-size:12px}.mission-source-drop>span:not(.source-drop-icon){font-size:10px;color:#666}.mission-source-drop small{font-size:8.5px;color:var(--muted);max-width:560px;line-height:1.45}
.source-loading{margin-top:10px;border:1px solid #e7e9ed;border-radius:11px;background:#fff;padding:11px;display:flex;align-items:center;gap:10px}.source-loading>span{width:20px;height:20px;border:2px solid #eee;border-top-color:var(--accent);border-radius:50%;animation:spin .7s linear infinite}.source-loading div{display:grid;gap:2px}.source-loading strong{font-size:10px}.source-loading small{font-size:8.5px;color:var(--muted)}
.source-result{margin-top:10px;border:1px solid #bfe3ce;background:#f5fbf7;border-radius:11px;padding:11px}.source-result.warning{border-color:#f0d7a8;background:#fffaf0}.source-result-title{display:flex;gap:9px;align-items:center}.source-result-title>span{width:25px;height:25px;border-radius:50%;display:grid;place-items:center;background:#daf1e4;color:#167548;font-weight:900}.source-result.warning .source-result-title>span{background:#fff0cb;color:#956315}.source-result-title>div{display:grid;gap:2px}.source-result-title strong{font-size:10px}.source-result-title small{font-size:8.5px;color:var(--muted)}.source-detected{display:flex;flex-wrap:wrap;gap:5px;margin-top:9px}.source-detected span{background:#fff;border:1px solid #dfe9e3;border-radius:999px;padding:4px 7px;font-size:8.5px;color:#4e5551}.source-error{font-size:9px;color:#935f08}.source-billing-note{display:block!important;margin-top:9px!important;font-size:8.5px!important;color:#626770!important}.ai-install-hint{margin-top:9px;padding:9px 10px;border-radius:9px;background:#fff7e8;border:1px solid #f1dfb7;color:#755419;font-size:9px;line-height:1.45}
@media(max-width:700px){.source-import-head{align-items:flex-start;flex-direction:column}.ai-pill{margin-left:0}.mission-source-drop{min-height:125px}.source-detected{display:grid}.source-detected span{border-radius:7px}}

/* === OG Fleet V1.4.0 : identité SVG, planning métier et référentiels === */
.og-icon{width:18px;height:18px;display:inline-block;vertical-align:middle;flex:0 0 auto}
.nav-btn .nav-icon{width:20px;height:20px;display:grid;place-items:center;font-size:0}.nav-btn .nav-icon .og-icon{width:18px;height:18px;stroke-width:1.8}
.nav-btn.active .nav-icon .og-icon{stroke-width:2}.mobile-nav button>span{display:grid;place-items:center}.mobile-nav .og-icon{width:19px;height:19px}
.route-icon .og-icon{width:20px;height:20px}.mobile-route .route-icon .og-icon{width:19px;height:19px}.mobile-meta .og-icon{width:13px;height:13px;margin-right:3px}
.btn .og-icon{width:16px;height:16px}

/* Pastille d'état uniforme dans Chauffeurs / Sous-traitants / Véhicules / Clients. */
.active-badge{display:inline-flex;align-items:center;gap:6px;min-height:24px;padding:0 9px;border-radius:999px;font-size:9px;font-weight:850;border:1px solid transparent;white-space:nowrap}
.active-badge i{width:7px;height:7px;border-radius:50%;display:block}.active-badge.is-active{color:#147447;background:#edf9f2;border-color:#ccebd9}.active-badge.is-active i{background:#20a464;box-shadow:0 0 0 3px #dff5e9}.active-badge.is-inactive{color:#b4232b;background:#fff0f1;border-color:#f2c7ca}.active-badge.is-inactive i{background:#d72b35;box-shadow:0 0 0 3px #fde1e3}
.active-switch{border:1px solid var(--line);border-radius:10px;padding:11px 12px!important;background:#fafafb;align-items:center!important}.active-switch:has(input:checked){border-color:#bfe3ce;background:#f3fbf6}.active-switch:has(input:not(:checked)){border-color:#f0c7ca;background:#fff6f7}
.option-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.option-card{border:1px solid var(--line);border-radius:11px;padding:12px!important;background:#fafafb;align-items:flex-start!important}.option-card:has(input:checked){border-color:#e3a4a9;background:#fff7f8}.option-card span{display:grid;gap:3px}.option-card strong{font-size:10px}.option-card small{font-size:8px;color:var(--muted);font-weight:500;line-height:1.4}

/* Planning : la couleur et l'icône portent le statut, le texte reste disponible dans la légende/tooltip. */
:root{--pl-unassigned:#9a6700;--pl-unassigned-bg:#fff7e2;--pl-planned:#2563eb;--pl-planned-bg:#edf4ff;--pl-sent:#0e7490;--pl-sent-bg:#ecfbff;--pl-progress:#15803d;--pl-progress-bg:#edf9f0;--pl-missing:#c81e2a;--pl-missing-bg:#fff0f1;--pl-review:#c46a00;--pl-review-bg:#fff6e9;--pl-ready:#6d28d9;--pl-ready-bg:#f5f0ff;--pl-billed:#0f766e;--pl-billed-bg:#eaf9f6;--pl-cancel:#a71d25;--pl-cancel-bg:#f8eeee}
.resource-head{justify-content:center!important;text-align:center!important;place-items:center!important;padding:0!important}.resource-head::before{display:none!important}
.resource-copy{min-width:0;display:grid;gap:1px}.resource-copy>strong{font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.resource-copy>small{font-size:7.5px!important;margin:0!important}.resource-ca{display:block;margin-top:5px;padding-top:5px;border-top:1px solid #eceef1;color:#7b8088;font-size:7.5px;line-height:1.2;white-space:nowrap}.resource-ca b{display:inline;color:#2b2e34;font-size:8px;margin-left:2px}
.plan-state-icon{width:26px;height:26px;border-radius:8px;display:grid;place-items:center;background:rgba(255,255,255,.72);border:1px solid rgba(0,0,0,.07);color:currentColor;flex:0 0 auto}.plan-state-icon .og-icon{width:15px;height:15px}
.plan-item.plan-stage-unassigned{background:var(--pl-unassigned-bg)!important;border-color:#efd89d!important;border-left-color:var(--pl-unassigned)!important;color:var(--pl-unassigned)}
.plan-item.plan-stage-planned{background:var(--pl-planned-bg)!important;border-color:#c8d9ff!important;border-left-color:var(--pl-planned)!important;color:var(--pl-planned)}
.plan-item.plan-stage-sent{background:var(--pl-sent-bg)!important;border-color:#bce7ef!important;border-left-color:var(--pl-sent)!important;color:var(--pl-sent)}
.plan-item.plan-stage-progress{background:var(--pl-progress-bg)!important;border-color:#c6e8ce!important;border-left-color:var(--pl-progress)!important;color:var(--pl-progress)}
.plan-item.plan-stage-missing{background:var(--pl-missing-bg)!important;border-color:#efc4c8!important;border-left-color:var(--pl-missing)!important;color:var(--pl-missing)}
.plan-item.plan-stage-docreview{background:#fff9e8!important;border-color:#f4dda4!important;border-left-color:#b7791f!important;color:#9a6400}
.plan-item.plan-stage-review{background:var(--pl-review-bg)!important;border-color:#f1d2a8!important;border-left-color:var(--pl-review)!important;color:var(--pl-review)}
.plan-item.plan-stage-ready{background:var(--pl-ready-bg)!important;border-color:#d8c8f8!important;border-left-color:var(--pl-ready)!important;color:var(--pl-ready)}
.plan-item.plan-stage-billed{background:var(--pl-billed-bg)!important;border-color:#bfe5df!important;border-left-color:var(--pl-billed)!important;color:var(--pl-billed)}
.plan-item.plan-stage-cancelled{background:var(--pl-cancel-bg)!important;border-color:#e3c2c5!important;border-left-color:var(--pl-cancel)!important;color:var(--pl-cancel);opacity:.75}
.plan-item .plan-time,.plan-item .plan-client,.plan-item .plan-route{color:#22252b!important}.plan-item .plan-bottom small{color:#5d626b!important}
.planning-legend{gap:6px!important}.legend-state{display:inline-flex;align-items:center;gap:5px;border-radius:8px;border:1px solid var(--line);padding:5px 8px;background:#fff;font-size:8.5px;font-weight:800;color:#555}.legend-state .og-icon{width:13px;height:13px}.legend-state.plan-stage-unassigned{color:var(--pl-unassigned);background:var(--pl-unassigned-bg)}.legend-state.plan-stage-planned{color:var(--pl-planned);background:var(--pl-planned-bg)}.legend-state.plan-stage-sent{color:var(--pl-sent);background:var(--pl-sent-bg)}.legend-state.plan-stage-progress{color:var(--pl-progress);background:var(--pl-progress-bg)}.legend-state.plan-stage-missing{color:var(--pl-missing);background:var(--pl-missing-bg)}.legend-state.plan-stage-docreview{color:#9a6400;background:#fff9e8}.legend-state.plan-stage-review{color:var(--pl-review);background:var(--pl-review-bg)}.legend-state.plan-stage-ready{color:var(--pl-ready);background:var(--pl-ready-bg)}.legend-state.plan-stage-billed{color:var(--pl-billed);background:var(--pl-billed-bg)}

/* Côté conducteur : le bouton document devient un vrai signal d'action. */
.btn-document-missing{background:#fff0f1;color:#b71923;border:1px solid #e8a7ad;box-shadow:none}.btn-document-missing:hover{background:#ffe6e8;border-color:#d86d76}.btn-document-review{background:#fff6e9;color:#9a5900;border:1px solid #eecb99;box-shadow:none}.btn-document-ok{background:#edf9f2;color:#147447;border:1px solid #bfe3ce;box-shadow:none}.btn-full-action{margin-left:8px}.driver-workflow>div{display:flex;gap:8px;align-items:center;flex-wrap:wrap}

/* PaddleOCR : constitution discrète du dataset de corrections, sans prétendre réentraîner le modèle en direct. */
.ocr-learning-note{display:flex;align-items:flex-start;gap:9px;margin-top:10px;border:1px solid #dbe5f5;background:#f7faff;border-radius:10px;padding:9px 10px;color:#49617d}.ocr-learning-note .og-icon{width:17px;height:17px;margin-top:1px}.ocr-learning-note span{display:grid;gap:2px}.ocr-learning-note strong{font-size:9px}.ocr-learning-note small{font-size:8px;line-height:1.45;color:#6b7888}

@media(max-width:1180px) and (min-width:901px){.resource-ca{font-size:6.8px}.resource-ca b{font-size:7.2px}.plan-state-icon{width:22px;height:22px}.plan-state-icon .og-icon{width:13px;height:13px}}
@media(max-width:700px){.option-grid{grid-template-columns:1fr}.btn-full-action{margin-left:0}.resource-ca{font-size:8px}.resource-ca b{font-size:8.5px}}

/* === OG Fleet V1.4.1 : lisibilité planning & modales sécurisées === */
.resource-head{justify-content:center!important;text-align:center!important}
.planning-grid>.resource-cell{padding:8px 10px!important;align-items:center!important}
.resource-cell{gap:0!important}
.resource-copy{min-width:0;width:100%}
.resource-copy strong{display:block;font-size:12px;line-height:1.24;color:#23262c;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.resource-copy small{display:block;font-size:9px!important;color:var(--muted);margin-top:2px}
.resource-ca{display:block;margin-top:5px;font-size:8px;color:#5f646c;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.resource-ca b{font-size:9px;color:#1f2329}
.plan-state-icon{width:28px;height:28px;justify-content:center;align-items:center}
.plan-state-icon .og-icon{width:16px;height:16px;display:block;margin:0 auto}
.plan-item{min-height:108px!important;padding:9px 10px!important}
.plan-item .plan-top{align-items:flex-start}
.plan-item .plan-time{font-size:11.5px!important}
.plan-item .plan-client{font-size:10.5px!important}
.plan-item .plan-route{font-size:10.8px!important;line-height:1.28!important}
.plan-item .plan-meta span{font-size:7.8px!important}
.btn-document-missing,.btn-document-review,.btn-document-ok{display:inline-flex;align-items:center;gap:8px}
.btn-document-missing .og-icon,.btn-document-review .og-icon,.btn-document-ok .og-icon{width:16px;height:16px;flex:0 0 auto}

/* === OG Fleet V1.4.2/1.4.3 : planning par activité & fiche mission opérationnelle === */
:root{--pl-review:#be185d;--pl-review-bg:#fff0f7}
.plan-item.plan-stage-review{border-color:#f3bdd7!important;border-left-color:var(--pl-review)!important}

.planning-section-label,.planning-section-band{min-height:27px;background:#f7f7f8;border-bottom:1px solid #e7e8eb;border-top:1px solid #e7e8eb}
.planning-section-label{position:sticky;left:0;z-index:3;display:flex;align-items:center;padding:0 10px;font-size:8.5px;font-weight:900;letter-spacing:.7px;color:#454a52}
.planning-section-band{grid-column:span 7;position:relative}
.planning-section-band:after{content:"";position:absolute;left:0;right:0;top:50%;border-top:1px solid #ececef}
.planning-section-label.section-moto{border-left:3px solid #4f46e5}
.planning-section-label.section-vp{border-left:3px solid var(--accent)}

.mission-detail-head{display:flex;gap:16px;align-items:flex-start;justify-content:space-between;margin-bottom:18px}
.mission-detail-kicker{font-size:9px;font-weight:900;letter-spacing:1px;color:var(--accent)}
.mission-detail-head h2{margin:3px 0 4px;font-size:21px;letter-spacing:-.4px}
.mission-detail-head p{margin:0;color:var(--muted);font-size:11px}
.mission-detail-status{display:flex;gap:7px;align-items:center;flex-wrap:wrap;justify-content:flex-end}

.mission-route-grid{display:grid;grid-template-columns:minmax(0,1fr) 42px minmax(0,1fr);gap:10px;align-items:stretch;margin-bottom:14px}
.route-point{border:1px solid var(--line);border-radius:13px;padding:15px;display:flex;align-items:flex-start;gap:11px;background:#fff}
.route-point-icon{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;font-size:11px;font-weight:900;flex:0 0 auto;background:#f1f2f4;color:#444}
.route-start .route-point-icon{background:#edf9f0;color:#15803d}.route-end .route-point-icon{background:#edf4ff;color:#2563eb}
.route-point span{display:block;font-size:8px;text-transform:uppercase;letter-spacing:.5px;font-weight:850;color:var(--muted);margin-bottom:4px}
.route-point strong{display:block;font-size:12px;line-height:1.4;color:#24272d}
.route-point small{display:block;margin-top:6px;color:#666b73;font-size:9.5px;font-weight:750}
.route-arrow{display:grid;place-items:center;color:#9a9fa7}.route-arrow .og-icon{width:19px;height:19px}

.mission-info-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:14px}
.mission-info-card{border:1px solid var(--line);border-radius:11px;padding:12px;background:#fafafb}
.mission-info-card span{display:block;color:var(--muted);font-size:8px;text-transform:uppercase;font-weight:850;letter-spacing:.4px;margin-bottom:4px}
.mission-info-card strong{font-size:12px;color:#272a30}
.mission-observation{border:1px solid var(--line);border-radius:12px;padding:14px;margin-bottom:17px;background:#fff}
.mission-section-title{font-size:10px;text-transform:uppercase;letter-spacing:.45px;font-weight:900;color:#555b63;margin-bottom:6px}
.mission-observation p{margin:0;font-size:11px;line-height:1.55;color:#373b42;white-space:pre-wrap}

.mission-doc-section{margin-top:16px;padding-top:15px;border-top:1px solid var(--line)}
.mission-doc-section .section-line{align-items:flex-start;margin-bottom:9px}
.mission-doc-section h3{margin:0 0 3px;font-size:13px}
.mission-doc-section .section-line p{margin:0}
.doc-card .doc-icon{display:grid;place-items:center}.doc-card .doc-icon .og-icon{width:17px;height:17px}
.compact-empty{padding:20px 12px}

.driver-workflow{margin-top:17px;padding:15px;border:1px solid #e9eaed;border-radius:12px;background:#fafafb;display:flex;gap:14px;align-items:center;justify-content:space-between}
.driver-workflow>div:first-child{min-width:0}.driver-workflow strong{font-size:11px}.driver-workflow p{margin:4px 0 0;color:var(--muted);font-size:9px;line-height:1.4}
.driver-workflow-actions{display:flex;gap:8px;align-items:center;justify-content:flex-end;flex-wrap:wrap}
.workflow-help{font-size:8.5px;color:#8a4a50;max-width:170px;line-height:1.35}

@media(max-width:700px){
 .mission-route-grid{grid-template-columns:1fr}.route-arrow{height:22px;transform:rotate(90deg)}
 .mission-info-grid{grid-template-columns:1fr}
 .mission-detail-head{flex-direction:column}.mission-detail-status{justify-content:flex-start}
 .driver-workflow{align-items:flex-start;flex-direction:column}.driver-workflow-actions{justify-content:flex-start}
}

/* === OG Fleet V1.4.4 : planning multi-jours, lisibilité ressources, véhicule attitré === */
.planning-grid-v144{display:grid!important;grid-template-columns:minmax(150px,180px) minmax(0,1fr)!important;width:100%!important;min-width:0!important}
.planning-grid-v144>.resource-cell{min-width:0;padding:10px 12px!important;border-right:1px solid #eceef1;border-bottom:1px solid #eceef1;background:#fcfcfd}
.planning-grid-v144>.resource-head{min-height:61px;border-bottom:1px solid var(--line);background:#fafafb}
.planning-week-head{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));min-width:0;border-bottom:1px solid var(--line)}
.planning-week-head .planning-head{border-right:1px solid #eceef1}.planning-week-head .planning-head:last-child{border-right:0}
.resource-week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-auto-rows:116px;position:relative;min-width:0;background:#fff;border-bottom:1px solid #eceef1;overflow:hidden}
.planning-day-bg{min-width:0;border-right:1px solid #eceef1;background:#fff;z-index:0}.planning-day-bg:last-of-type{border-right:0}.planning-day-bg.is-today{background:#fffbfb}
.resource-week .plan-item{z-index:2;align-self:stretch;min-height:0!important;margin:6px 5px!important;padding:9px 10px!important;overflow:hidden}
.resource-week .plan-item.continues-before{border-top-left-radius:3px!important;border-bottom-left-radius:3px!important}.resource-week .plan-item.continues-after{border-top-right-radius:3px!important;border-bottom-right-radius:3px!important}
.resource-week .plan-item .plan-client{font-size:11px!important}.resource-week .plan-item .plan-route{font-size:10.8px!important}.resource-week .plan-item .plan-time{font-size:11.5px!important}
.planning-grid-v144 .resource-copy strong{font-size:13.5px!important;line-height:1.25!important;letter-spacing:-.15px}.planning-grid-v144 .resource-copy small{font-size:10.5px!important;line-height:1.3!important;margin-top:3px!important;color:#656a72}.planning-grid-v144 .resource-ca{font-size:9.5px!important;line-height:1.3!important;margin-top:7px!important;padding-top:6px!important}.planning-grid-v144 .resource-ca b{font-size:10.5px!important;margin-left:3px!important}
.planning-grid-v144 .planning-section-label,.planning-grid-v144 .planning-section-band{min-height:29px}.planning-grid-v144 .planning-section-band{grid-column:auto!important}.planning-grid-v144 .planning-section-label{font-size:9px}.planning-section-label.section-sub{border-left:3px solid #64748b}
.plan-state-icon{display:flex!important;align-items:center!important;justify-content:center!important}.plan-state-icon .og-icon{display:block!important;margin:auto!important}
.btn .og-icon{vertical-align:middle}.btn-primary .og-icon{width:16px;height:16px}
.access-explained{gap:10px!important}.access-explained>label{display:flex;align-items:flex-start;gap:9px;padding:9px 10px;border:1px solid #eceef1;border-radius:9px;background:#fafafb}.access-explained>label input{margin-top:2px;flex:0 0 auto}.access-explained>label span{display:grid;gap:2px}.access-explained>label b{font-size:10px;color:#33373e}.access-explained>label small{font-size:8.5px!important;line-height:1.4;color:#737982;font-weight:500}

@media(max-width:1180px) and (min-width:701px){
 .planning-grid-v144{grid-template-columns:145px minmax(0,1fr)!important}
 .planning-grid-v144 .resource-copy strong{font-size:12.5px!important}.planning-grid-v144 .resource-copy small{font-size:9.5px!important}.planning-grid-v144 .resource-ca{font-size:8.7px!important}.planning-grid-v144 .resource-ca b{font-size:9.5px!important}
 .resource-week{grid-auto-rows:112px}
}
@media(max-width:700px){
 .planning-scroll{overflow:auto!important}
 .planning-grid-v144{grid-template-columns:155px 1435px!important;min-width:1590px!important;width:max-content!important}
 .planning-week-head{grid-template-columns:repeat(7,205px)}
 .resource-week{grid-template-columns:repeat(7,205px);grid-auto-rows:122px}
 .planning-grid-v144 .resource-copy strong{font-size:13px!important}.planning-grid-v144 .resource-copy small{font-size:10px!important}.planning-grid-v144 .resource-ca{font-size:9px!important}.planning-grid-v144 .resource-ca b{font-size:10px!important}
}
.b-pink{background:#fff0f7;color:#be185d}

/* === OG Fleet V1.4.5 : lisibilité conducteur, planning verrouillé, dossiers === */
:root{--pl-review:#d97706;--pl-review-bg:#fff7e8}
.plan-item.plan-stage-review{border-color:#f2ca8d!important;border-left-color:var(--pl-review)!important}
.legend-state.plan-stage-review{color:var(--pl-review)!important;background:var(--pl-review-bg)!important}
.planning-section-label.section-unassigned{border-left:3px solid #9a6700}
.mission-route-grid .route-point{padding:18px 17px!important;gap:13px!important}
.mission-route-grid .route-point-icon{width:34px!important;height:34px!important;font-size:12px!important}
.mission-route-grid .route-point span{font-size:9.5px!important;margin-bottom:5px!important}
.mission-route-grid .route-point strong{font-size:15px!important;line-height:1.35!important}
.mission-route-grid .route-point small{font-size:11.5px!important;line-height:1.35!important;margin-top:7px!important}
.planning-grid-v144 .resource-copy strong{font-size:15px!important;line-height:1.3!important}
.planning-grid-v144 .resource-copy small{font-size:11.5px!important;line-height:1.35!important}
.planning-grid-v144 .resource-ca{font-size:10.5px!important;line-height:1.35!important}
.planning-grid-v144 .resource-ca b{font-size:11.5px!important}
.doc-folder-list{display:grid;gap:12px;padding:16px}
.doc-folder{border:1px solid var(--line);border-radius:13px;background:#fff;overflow:hidden}
.doc-folder>summary,.doc-subfolder>summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:10px;padding:13px 15px;font-weight:850;color:#292c32}
.doc-folder>summary::-webkit-details-marker,.doc-subfolder>summary::-webkit-details-marker{display:none}
.doc-folder>summary .folder-count,.doc-subfolder>summary .folder-count{margin-left:auto;font-size:9px;color:var(--muted);font-weight:750}
.doc-folder-body{padding:0 12px 12px}
.doc-order-docs{padding:10px 3px;border-top:1px solid #f0f1f3}
.doc-subfolder{border-top:1px solid #eff0f2}
.doc-subfolder>summary{padding:11px 8px;font-size:11px}
.doc-tree-row{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(100px,.7fr) minmax(105px,.7fr) 32px;gap:8px;align-items:center;padding:9px 8px;border-top:1px solid #f3f4f5;font-size:10px}
.doc-tree-row:first-child{border-top:0}.doc-tree-row strong{font-size:10.5px}.doc-tree-row small{display:block;color:var(--muted);margin-top:2px}
.order-workspace-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin:14px 0}.order-workspace-summary>div{border:1px solid var(--line);border-radius:10px;padding:11px}.order-workspace-summary span{display:block;font-size:8px;color:var(--muted);text-transform:uppercase;font-weight:850}.order-workspace-summary strong{display:block;margin-top:4px;font-size:13px}
.order-mission-card{display:grid;grid-template-columns:95px minmax(0,1.4fr) minmax(120px,.7fr) auto;gap:10px;align-items:center;padding:11px;border:1px solid var(--line);border-radius:10px;margin-top:8px}.order-mission-card .om-date strong{font-size:11px}.order-mission-card .om-route strong{font-size:11px}.order-mission-card .om-route small,.order-mission-card .om-date small{display:block;color:var(--muted);font-size:9px;margin-top:3px}.order-mission-actions{display:flex;gap:5px}
.portal-pill{display:inline-flex;align-items:center;gap:5px;border-radius:999px;padding:4px 7px;font-size:8px;font-weight:850;background:#eef8f4;color:#0f766e;border:1px solid #c8e8df}
@media(max-width:700px){.mission-route-grid .route-point strong{font-size:16px!important}.mission-route-grid .route-point small{font-size:12px!important}.order-workspace-summary{grid-template-columns:repeat(2,1fr)}.order-mission-card{grid-template-columns:1fr}.doc-tree-row{grid-template-columns:1fr auto}.doc-tree-row>*:nth-child(2),.doc-tree-row>*:nth-child(3){display:none}}

/* === OG Fleet V1.4.6 : couleurs, partage temporaire, portail sous-traitant === */
:root{
  --st-unassigned:#6b7280;
  --st-unassigned-bg:#f3f4f6;
  --pl-unassigned:#6b7280;
  --pl-unassigned-bg:#f3f4f6;
  --pl-review:#d97706;
  --pl-review-bg:#fff7e8;
}
.b-mission-unassigned,.mission-status.status-unassigned{background:#f3f4f6!important;color:#5f6670!important}
.plan-item.plan-stage-unassigned{background:#f3f4f6!important;border-color:#d9dde3!important;border-left-color:#6b7280!important;color:#6b7280!important}
.legend-state.plan-stage-unassigned{background:#f3f4f6!important;color:#626a75!important}
.b-pink{background:#fff3e0!important;color:#b85f00!important}
.plan-item.plan-stage-review{background:#fff7e8!important;border-color:#f2ca8d!important;border-left-color:#d97706!important;color:#d97706!important}
.legend-state.plan-stage-review{background:#fff7e8!important;color:#d97706!important}
.supplier-cost-card{background:#f8fafc;border-color:#dfe4ea}.supplier-cost-card small{display:block;margin-top:5px;color:var(--muted);font-size:9px}
.share-link-panel{display:grid;gap:14px}.share-link-panel>p{margin:0;color:#5f646c;line-height:1.55;font-size:11px}.share-current{border:1px solid #f0c47f;background:#fff8eb;border-radius:10px;padding:11px 12px;display:grid;gap:3px}.share-current strong{font-size:11px}.share-current small{font-size:9px;color:#777}
.share-security{display:flex;align-items:center;gap:9px;padding:11px;background:#f7f8fa;border:1px solid var(--line);border-radius:10px;font-size:10px;color:#5d626b}.share-security .og-icon{width:16px;height:16px;flex:0 0 auto}
.generated-link{display:grid;gap:7px;border-top:1px solid var(--line);padding-top:13px}.generated-link label{font-size:10px;font-weight:800}.generated-link input{width:100%;height:40px;border:1px solid var(--line);border-radius:8px;padding:0 9px;font-size:10px;background:#fff}.generated-link small{font-size:9px;color:var(--muted)}
.shared-body{background:#f5f6f8;min-height:100vh}.shared-shell{width:min(940px,calc(100% - 28px));margin:0 auto;padding:18px 0 45px}.shared-topbar{height:58px;display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.shared-pill{font-size:9px;font-weight:850;text-transform:uppercase;letter-spacing:.4px;color:#666;background:#fff;border:1px solid var(--line);border-radius:999px;padding:7px 10px}.shared-hero{padding:20px;display:flex;justify-content:space-between;align-items:center}.shared-hero h1{margin:3px 0 2px;font-size:24px}.shared-hero p{margin:0;color:var(--muted);font-size:11px}.shared-route-grid{margin:15px 0}.shared-card{margin-top:15px}.shared-notes{margin:0;line-height:1.55;font-size:12px}.shared-doc-list{display:grid;gap:8px}.shared-doc{border:1px solid var(--line);border-radius:10px;padding:11px;display:grid;grid-template-columns:28px 1fr auto;align-items:center;gap:9px;color:inherit;text-decoration:none;background:#fff}.shared-doc strong{display:block;font-size:11px}.shared-doc small{display:block;font-size:9px;color:var(--muted);margin-top:2px}.shared-doc b{font-size:9px;color:var(--accent)}.shared-upload{display:grid;grid-template-columns:150px 1fr auto;gap:9px;align-items:end;margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}.shared-upload label{display:block;font-size:9px;font-weight:800;margin-bottom:5px}.shared-upload select,.shared-upload input{width:100%;height:39px;border:1px solid var(--line);border-radius:8px;background:#fff;padding:0 8px}.shared-actions{display:flex;justify-content:space-between;gap:15px;align-items:center}.shared-actions>div:last-child{display:flex;gap:8px}.shared-actions p{margin:5px 0 0}.shared-warning{color:#b4232c;font-size:10px;font-weight:750}.shared-review{color:#b85f00;font-size:10px;font-weight:750}.shared-ok{color:#147447;font-size:10px;font-weight:750}.shared-expiry{text-align:center;color:#777;font-size:9px;padding:18px}.shared-error{padding:35px;text-align:center}.shared-error h2{margin:0 0 9px}.shared-error p{color:#b4232c}.shared-error small{color:var(--muted)}
@media(max-width:700px){.shared-shell{width:calc(100% - 20px);padding-top:10px}.shared-topbar{height:48px}.shared-hero{padding:16px}.shared-hero h1{font-size:21px}.shared-route-grid{grid-template-columns:1fr!important}.shared-route-grid .route-arrow{transform:rotate(90deg);margin:0 auto}.shared-upload{grid-template-columns:1fr}.shared-actions{align-items:flex-start;flex-direction:column}.shared-actions>div:last-child{width:100%}.shared-actions .btn{width:100%}}

/* === OG Fleet V1.5.0 : multi-sociétés & inter-sociétés === */
.entity-filter{display:flex;gap:7px;align-items:center;flex-wrap:wrap;margin:0 0 14px}
.entity-filter button{height:34px;padding:0 13px;border:1px solid var(--line);border-radius:9px;background:#fff;color:#5b6069;font-size:11px;font-weight:800;cursor:pointer}
.entity-filter button.active{background:var(--accent-soft);border-color:#e8a4a8;color:var(--accent)}
.intercompany-switch{margin-bottom:14px}
.mission-finance-review{margin-top:17px;border:1px solid var(--line);border-radius:12px;background:#fcfcfd;padding:15px}
.finance-review-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-top:10px}
.finance-review-grid>div{border:1px solid #e8e9ec;background:#fff;border-radius:10px;padding:10px;min-width:0}
.finance-review-grid span{display:block;color:var(--muted);font-size:8.5px;font-weight:800;text-transform:uppercase;letter-spacing:.3px;margin-bottom:5px}
.finance-review-grid strong{display:block;color:#24272d;font-size:11px;line-height:1.25;overflow-wrap:anywhere}
.finance-review-grid small{display:block;color:var(--muted);font-size:8.5px;margin-top:4px}
.intercompany-review{background:#fff9ed!important;border-color:#f0d9ab!important}
.workflow-strip{display:flex;justify-content:space-between;gap:15px;align-items:center;padding:14px;border:1px solid var(--line);border-radius:11px;background:#fcfcfd;flex-wrap:wrap}
.workflow-strip>div:first-child strong{display:block;font-size:13px}.workflow-strip>div:first-child span{display:block;color:var(--muted);font-size:10px;margin-top:4px}.workflow-strip>div:last-child{display:flex;gap:6px;flex-wrap:wrap}
.connector-banner+.entity-filter{margin-top:14px}
@media(max-width:900px){.finance-review-grid{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.finance-review-grid{grid-template-columns:1fr}.entity-filter{overflow:auto;flex-wrap:nowrap;padding-bottom:2px}.entity-filter button{flex:0 0 auto}}

/* Portails : missions actives / terminées 30 jours */
.portal-tabs{display:flex;gap:7px;align-items:center;flex-wrap:wrap;margin:15px 0 2px}
.portal-tabs button{height:36px;border:1px solid var(--line);border-radius:9px;background:#fff;color:#5d626a;padding:0 13px;font-size:10.5px;font-weight:850;cursor:pointer;display:inline-flex;gap:7px;align-items:center}
.portal-tabs button span{min-width:19px;height:19px;padding:0 5px;border-radius:10px;background:#f1f2f4;display:grid;place-items:center;font-size:9px}
.portal-tabs button.active{border-color:#e5a3a7;background:var(--accent-soft);color:var(--accent)}
.portal-tabs button.active span{background:#fff}
.portal-tabs .portal-history-btn{margin-left:auto}
.history-periods{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:14px}
.sub-history-list{display:grid;gap:9px}.sub-history-mission{border:1px solid var(--line);border-radius:11px;padding:12px;background:#fcfcfd}.sub-history-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.sub-history-head strong{display:block;font-size:12px}.sub-history-head small{display:block;font-size:9.5px;color:var(--muted);margin-top:3px}.sub-history-docs{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px}.sub-history-docs .og-icon{width:13px;height:13px}
@media(max-width:520px){.portal-tabs .portal-history-btn{margin-left:0}.portal-tabs{flex-wrap:wrap}}


/* === OG Fleet V1.5.1 : verrouillages, ergonomie mission, séparation inter-sociétés === */
.intercompany-table-gap{margin-top:24px}
.mission-finance-review{margin-bottom:28px}
.document-add-locked,.mission-locked-pill,.shared-upload-locked{display:inline-flex;align-items:center;gap:6px;border:1px solid #d9dde2;background:#f7f8f9;color:#68707a;border-radius:9px;padding:8px 10px;font-size:9.5px;font-weight:800;line-height:1.25}
.document-add-locked .og-icon{width:14px;height:14px}.mission-locked-pill{white-space:nowrap}.action-lock{display:inline-grid;place-items:center;width:31px;height:31px;color:#818790;font-size:13px}
.workflow-locked{background:#f8f9fa}.shared-upload-locked{width:100%;justify-content:center;margin-top:14px;padding:12px;border-style:dashed}
.mission-form-spacer{visibility:hidden;min-height:1px}
@media(max-width:700px){.mission-form-spacer{display:none}.intercompany-table-gap{margin-top:18px}}

/* === OG Fleet V1.5.2 : modèles récurrents, indexation carburant & marge inter-sociétés === */
.intercompany-kpis{margin-bottom:0}.intercompany-kpis .kpi-card small{line-height:1.45}
.template-intro{display:flex;align-items:center;gap:12px;padding:14px 16px;margin-bottom:18px;border:1px solid #e4e7eb;border-radius:12px;background:#fbfcfd}.template-intro .og-icon{width:22px;height:22px;color:var(--accent);flex:0 0 auto}.template-intro strong{display:block;font-size:12px}.template-intro p{margin:3px 0 0;color:var(--muted);font-size:10px;line-height:1.5}
.template-section-head{display:flex;align-items:end;justify-content:space-between;gap:12px;margin:20px 0 10px}.template-section-head h3{margin:0;font-size:14px}.template-section-head p{margin:3px 0 0;color:var(--muted);font-size:10px}
.template-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.template-card{border:1px solid var(--line);border-radius:13px;background:#fff;padding:14px;display:grid;gap:12px;box-shadow:0 1px 2px rgba(20,25,35,.025)}.template-card-head{display:flex;align-items:flex-start;gap:9px}.template-card-head>div:last-child{min-width:0}.template-card-head strong{display:block;font-size:11.5px;line-height:1.35}.template-card-head small{display:block;color:var(--muted);font-size:9px;margin-top:3px}.template-star{width:26px;height:26px;border-radius:8px;background:#fff8e8;color:#b87900;display:grid;place-items:center;font-size:14px;flex:0 0 auto}.template-route{font-size:12px;font-weight:850;color:#292c32;padding:10px 0;border-top:1px solid #f0f1f3;border-bottom:1px solid #f0f1f3}.template-route span{color:var(--accent);padding:0 5px}.template-meta{display:flex;gap:6px;flex-wrap:wrap}.template-meta span,.template-order-count{border-radius:999px;background:#f5f6f8;border:1px solid #e9eaed;padding:5px 7px;color:#626872;font-size:8.5px;font-weight:800}.template-actions{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.template-actions .danger-action{margin-left:auto;color:#a12c35}.template-empty{padding:24px;border:1px dashed #d8dce1;border-radius:12px;text-align:center;color:var(--muted);font-size:10px}.template-use-summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;border:1px solid #e0e3e7;border-radius:10px;background:#f9fafb}.template-use-summary strong{font-size:14px}.template-use-summary span{font-size:9.5px;color:var(--muted)}.mission-template-picker{border:1px solid #eadadd;background:#fffafa;border-radius:11px;padding:12px}.mission-template-picker small{display:block;margin-top:5px}
.fuel-config-card{border:1px solid #e1e4e8;border-radius:12px;padding:14px;background:#fbfcfd}.fuel-config-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}.fuel-config-head strong{font-size:12px}.fuel-config-head small{display:block;color:var(--muted);font-size:9px;margin-top:3px;line-height:1.45}.fuel-config-grid{margin:0!important}.suffix-input{display:flex;align-items:center;border:1px solid var(--line);border-radius:8px;background:#fff;overflow:hidden}.suffix-input input{border:0!important;border-radius:0!important}.suffix-input span{padding:0 11px;font-size:10px;color:var(--muted);font-weight:800}.fuel-formula{padding:10px 11px;background:#fff;border:1px solid #e7e9ec;border-radius:9px;font-size:9.5px;color:#5d626b;line-height:1.55}.fuel-index-list{display:grid;gap:7px;margin-top:15px}.fuel-index-row{width:100%;border:1px solid var(--line);border-radius:10px;background:#fff;padding:11px 12px;display:flex;align-items:center;justify-content:space-between;text-align:left;cursor:pointer}.fuel-index-row:hover{border-color:#d4a0a4;background:#fffafa}.fuel-index-row span strong{display:block;font-size:10.5px}.fuel-index-row span small{display:block;color:var(--muted);font-size:8.5px;margin-top:3px}.fuel-index-row>strong{font-size:12px}.external-source-link{display:inline-block;margin-top:5px;color:var(--accent);font-size:9.5px;font-weight:800;text-decoration:none}
.fuel-mission-card{border:1px solid #e2e5e9;border-radius:12px;padding:13px 14px;background:#fbfcfd;gap:10px!important}.fuel-mission-card.fuel-disabled{opacity:.82;background:#fafafa}.fuel-mission-card.fuel-warning{border-color:#edc582;background:#fffaf0}.fuel-mission-head{display:flex;justify-content:space-between;align-items:center;gap:10px}.fuel-mission-head span{font-size:8.5px;color:var(--muted);font-weight:850;text-transform:uppercase;letter-spacing:.25px}.fuel-mission-head strong{display:block;font-size:11.5px;margin-top:3px}.fuel-client-only{border:1px solid #e3e6e9;border-radius:999px;padding:5px 8px;background:#fff;text-transform:none!important;letter-spacing:0!important;white-space:nowrap}.fuel-mission-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.fuel-mission-grid>div{padding:9px;border:1px solid #e7e9ec;border-radius:9px;background:#fff;min-width:0}.fuel-mission-grid span{display:block;color:var(--muted);font-size:8px;font-weight:800;text-transform:uppercase;margin-bottom:5px}.fuel-mission-grid strong{font-size:10.5px}.fuel-mission-grid input{height:31px!important;padding:0 7px!important;font-size:10px!important}.fuel-formula-inline{font-size:9px;color:#676d75;line-height:1.5;padding-top:2px}.fuel-review{background:#fffaf0!important;border-color:#ecd6ad!important}.invoice-total{display:flex;justify-content:space-between;align-items:center;padding:12px 10px;margin-top:8px;border-top:2px solid #e2e4e7;font-size:11px}.invoice-total strong{font-size:13px}
@media(max-width:1050px){.template-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.fuel-mission-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.template-grid{grid-template-columns:1fr}.template-intro,.fuel-config-head,.template-section-head{align-items:flex-start;flex-direction:column}.fuel-mission-grid{grid-template-columns:1fr 1fr}.fuel-mission-head{align-items:flex-start;flex-direction:column}.fuel-client-only{white-space:normal}.template-use-summary{align-items:flex-start;flex-direction:column}}
@media(max-width:430px){.fuel-mission-grid{grid-template-columns:1fr}}
.template-mission-preview,.template-use-list{display:grid;gap:6px}.template-mission-preview>div,.template-use-list>div{display:grid;grid-template-columns:24px minmax(0,1fr) auto;align-items:center;gap:8px;padding:7px 8px;border:1px solid #eceef1;border-radius:8px;background:#fbfcfd}.template-mission-preview b,.template-use-list b{width:22px;height:22px;border-radius:7px;background:#fff;border:1px solid #e4e6e9;display:grid;place-items:center;font-size:8px;color:#696f77}.template-mission-preview span strong,.template-use-list span strong{display:block;font-size:9.5px}.template-mission-preview span small,.template-use-list span small{display:block;color:var(--muted);font-size:8px;margin-top:2px}.template-mission-preview>small{color:var(--muted);font-size:8.5px}.template-use-list>div>strong:last-child{font-size:10px}

/* === OG Fleet V1.5.22 : édition des modèles depuis leurs cartes === */
.template-card-editable{cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}.template-card-editable:hover,.template-card-editable:focus-visible{border-color:#d8a7ab;box-shadow:0 7px 22px rgba(62,25,29,.08);transform:translateY(-1px);outline:none}.template-card-editable .template-actions{cursor:default}.template-actions .btn .og-icon{width:13px;height:13px}.template-edit-safety{display:flex;align-items:flex-start;gap:8px;padding:11px 12px;border:1px solid #cfe8d8;border-radius:10px;background:#f5fbf7;color:#30704a;font-size:9.5px;font-weight:750;line-height:1.5}.template-edit-safety .og-icon{width:15px;height:15px;flex:0 0 auto}.order-template-editor-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.order-template-editor-title strong{display:block;font-size:12px}.order-template-editor-title small{display:block;margin-top:3px;color:var(--muted);font-size:9px}.order-template-mission-editor{display:grid;gap:12px}.order-template-mission-edit{border:1px solid #dde1e5;border-radius:12px;background:#fafbfc;overflow:hidden}.order-template-mission-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border-bottom:1px solid #e5e8eb;background:#f5f7f9}.order-template-mission-head>div:first-child span{display:block;font-size:10.5px;font-weight:900}.order-template-mission-head>div:first-child small{display:block;margin-top:2px;color:var(--muted);font-size:8.5px}.order-template-mission-head>div:last-child{display:flex;align-items:center;gap:5px}.order-template-mission-grid{padding:12px;gap:11px}.order-template-mission-grid textarea{min-height:58px}.order-template-mission-grid .field label{font-size:9.5px}.order-template-mission-grid .field input,.order-template-mission-grid .field select{height:37px;font-size:10px}
@media(max-width:700px){.order-template-editor-title,.order-template-mission-head{align-items:flex-start;flex-direction:column}.order-template-mission-head>div:last-child{align-self:flex-end}.template-card-editable:hover{transform:none}}

/* === OG Fleet V1.5.23 : archivage protégé des référentiels === */
.table-actions .action-btn.danger-action{color:#a12c35}.table-actions .action-btn.danger-action:hover{border-color:#dfa9ad;background:#fff3f4;color:#8e1f28}

/* === OG Fleet V1.5.3 : relevés prestataires & structures d'exécution === */
.dynamic-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(235px,1fr));gap:18px;margin-bottom:0}
.entity-role-box{border:1px solid var(--line);background:#fafafb;border-radius:11px;padding:13px 14px;gap:9px!important}
.entity-role-box>strong{font-size:11px}.entity-role-box>small{color:var(--muted);font-size:9px;line-height:1.45}
.entity-role-box .checkbox-field{margin:0;background:#fff}
.report-check{height:42px;margin:0!important;background:#fafafb!important}
@media(max-width:700px){.dynamic-kpis{grid-template-columns:1fr}}

/* === OG Fleet V1.5.3.1 : hotfix icône carnet mission === */

/* === OG Fleet V1.5.4 : absences hachurées & annulations structurées === */
.absence-kpis{margin-bottom:18px}
.absence-portal-card{margin-top:16px}.absence-portal-card .card-head{align-items:flex-start}.absence-list{display:grid;gap:8px;margin-top:12px}.absence-list.compact{margin-top:8px}.absence-row{display:grid;grid-template-columns:36px minmax(0,1fr) auto auto;gap:10px;align-items:center;padding:11px 12px;border:1px solid #e5e7eb;border-radius:11px;background:#fff}.absence-row>div:nth-child(2){min-width:0}.absence-row strong{display:block;font-size:11px}.absence-row small{display:block;margin-top:3px;color:var(--muted);font-size:9px;line-height:1.4}.absence-symbol{width:34px;height:34px;display:grid;place-items:center;border:1px solid #d5d9df;border-radius:9px;background:repeating-linear-gradient(135deg,#fafafa 0,#fafafa 6px,#e8eaed 6px,#e8eaed 9px);color:#606873}.absence-symbol .og-icon{width:17px;height:17px}.absence-custom-time{display:none}

/* Le hachurage distingue volontairement une indisponibilité de tous les statuts mission. */
.resource-week .plan-absence{z-index:3;align-self:stretch;min-height:0;margin:6px 5px;padding:9px 10px;overflow:hidden;border:1px solid #aeb4bd;border-left:4px solid #6b7280;border-radius:10px;background:repeating-linear-gradient(135deg,#fafafa 0,#fafafa 8px,#e4e7eb 8px,#e4e7eb 12px);color:#4f5660;box-shadow:0 1px 2px rgba(20,25,35,.04);cursor:pointer;position:relative}
.resource-week .plan-absence:hover{border-color:#868e99;box-shadow:0 3px 10px rgba(20,25,35,.08)}
.plan-absence .plan-top{display:flex;align-items:center;justify-content:space-between;gap:6px}.plan-absence .plan-top .og-icon{width:15px;height:15px}.plan-absence .plan-time{font-size:11px;font-weight:900}.plan-absence .plan-client{margin-top:8px;font-size:11px;font-weight:900;letter-spacing:.2px}.plan-absence .plan-route{font-size:9.5px;margin-top:4px;color:#606873}.plan-absence .plan-bottom{position:absolute;left:10px;right:8px;bottom:8px}.plan-absence .plan-bottom small{font-size:7.8px;color:#737b85}.plan-absence.continues-before{border-top-left-radius:3px;border-bottom-left-radius:3px}.plan-absence.continues-after{border-top-right-radius:3px;border-bottom-right-radius:3px}
.absence-legend{background:repeating-linear-gradient(135deg,#fafafa 0,#fafafa 6px,#e5e7eb 6px,#e5e7eb 9px)!important;color:#59616c!important;border-color:#cbd0d6!important}.absence-legend .og-icon{width:14px;height:14px}

/* Une mission annulée reste lisible dans le planning mais ne réserve plus une ressource. */
.resource-week .plan-item.plan-cancelled{opacity:.72;filter:saturate(.72);cursor:pointer!important;position:relative;text-decoration:none}
.resource-week .plan-item.plan-cancelled::after{content:"";position:absolute;left:7px;right:7px;top:50%;height:1.5px;background:#b32631;transform:rotate(-4deg);opacity:.78;pointer-events:none}
.cancel-word{font-size:8px;font-weight:950;color:#a5242e;letter-spacing:.35px;margin-right:3px}.workflow-cancelled{display:inline-flex;align-items:center;border:1px solid #edc3c7;background:#fff3f4;color:#a72b34;border-radius:9px;padding:9px 11px;font-size:10px;font-weight:900}

.cancellation-summary{display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:12px;align-items:center;margin:18px 0;padding:14px;border:1px solid #efc4c8;border-radius:12px;background:#fff7f7}.cancellation-summary-icon{width:40px;height:40px;border-radius:10px;background:#fde9eb;color:#b32832;display:grid;place-items:center}.cancellation-summary-icon .og-icon{width:20px;height:20px}.cancellation-summary strong{font-size:12px}.cancellation-summary p{margin:4px 0 0;color:#666c75;font-size:9.5px;line-height:1.5}.cancellation-finance{border-color:#efcfd2!important;background:#fffafa!important}
.cancellation-warning{display:flex;gap:11px;align-items:flex-start;padding:12px 13px;border:1px solid #efc4c8;border-radius:11px;background:#fff7f7}.cancellation-warning>.og-icon{width:20px;height:20px;color:#b32832;flex:0 0 auto}.cancellation-warning strong{display:block;font-size:10.5px}.cancellation-warning small{display:block;color:#6d737c;font-size:9px;line-height:1.45;margin-top:3px}.cancellation-billable-check{margin-top:2px}.cancellation-amount small{display:block;margin-top:5px;color:var(--muted);font-size:8.5px}

@media(max-width:700px){
 .absence-row{grid-template-columns:34px minmax(0,1fr) auto}.absence-row>.btn{grid-column:2 / -1;justify-self:start}
 .cancellation-summary{grid-template-columns:40px minmax(0,1fr)}.cancellation-summary>div:last-child{grid-column:2}
}

/* =========================
   V1.5.5 — finition UX planning / navigation / modales
   ========================= */

/* Icônes SVG homogènes */
.og-icon{width:1em;height:1em;display:inline-block;vertical-align:-.16em;flex:0 0 auto}
.nav-icon .og-icon{width:17px;height:17px}.btn>.og-icon,.btn>span>.og-icon{width:15px;height:15px}.action-btn .og-icon{width:15px;height:15px}.kpi-icon .og-icon{width:18px;height:18px}.quick-action>span:first-child .og-icon{width:19px;height:19px}.modal-close .og-icon{width:16px;height:16px}.doc-big .og-icon{width:28px;height:28px}.file-icon .og-icon{width:30px;height:30px}.search-field>.og-icon{width:15px;height:15px;color:#9aa0a8;flex:0 0 auto}.search-field{display:flex;align-items:center;gap:7px}.icon-only{min-width:38px;padding-left:10px!important;padding-right:10px!important}.mission-locked-pill .og-icon,.workflow-done .og-icon,.workflow-cancelled .og-icon{width:14px;height:14px}
.template-star{display:grid!important;place-items:center}.template-star .og-icon{width:18px;height:18px}.template-star.active .og-icon{fill:currentColor}.danger-symbol .og-icon{width:24px;height:24px}.address-save-icon .og-icon{width:14px;height:14px}

/* Navigation regroupée */
.nav-group{margin-top:8px;padding-top:13px;border-top:1px solid #f0f1f3}.nav-group:first-child{border-top:0}.nav-btn+.nav-group{margin-top:10px}

/* Planning : bloc mission plus compact, trajet directement sous l'heure */
.resource-week .plan-item .plan-top{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}
.plan-top-copy{min-width:0;display:grid;gap:2px;align-content:start}.resource-week .plan-item .plan-top-copy .plan-time{margin:0!important;line-height:1.05}.resource-week .plan-item .plan-top-copy .plan-route{margin:0!important;line-height:1.15!important;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.resource-week .plan-item .plan-client{margin-top:7px!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.resource-week .plan-item .plan-state-icon{margin-top:0;flex:0 0 auto}

/* Annulation : même logique visuelle que les absences, mais hachurage rouge */
.resource-week .plan-item.plan-cancelled,.plan-item.plan-stage-cancelled{opacity:1!important;filter:none!important;background:repeating-linear-gradient(135deg,#fffafa 0,#fffafa 8px,#f8d9dc 8px,#f8d9dc 12px)!important;border:1px solid #db8f96!important;border-left:4px solid #b4232d!important;color:#8f1f28!important;cursor:pointer!important;text-decoration:none!important}
.resource-week .plan-item.plan-cancelled::after{display:none!important}.resource-week .plan-item.plan-cancelled .plan-time,.resource-week .plan-item.plan-cancelled .plan-route,.resource-week .plan-item.plan-cancelled .plan-client{color:#702027!important}.resource-week .plan-item.plan-cancelled .plan-meta span,.resource-week .plan-item.plan-cancelled .plan-bottom small{color:#8d454b!important}.cancel-word{display:inline!important;color:#a51f29!important;font-weight:950!important;letter-spacing:.3px}.legend-state.plan-stage-cancelled{background:repeating-linear-gradient(135deg,#fffafa 0,#fffafa 6px,#f7d8db 6px,#f7d8db 9px)!important;color:#a51f29!important;border-color:#dca1a6!important}

/* Bloc-note planning */
.resource-week .plan-note{z-index:4;align-self:stretch;min-height:0;margin:6px 5px;padding:9px 10px;overflow:hidden;border:1px solid #e2c35f;border-left:4px solid #c69a13;border-radius:10px;background:#fff9dc;color:#5f4a08;box-shadow:0 1px 2px rgba(20,25,35,.04);cursor:pointer;position:relative}.resource-week .plan-note:hover{border-color:#c9a533;box-shadow:0 3px 10px rgba(20,25,35,.08)}.plan-note .plan-top{display:flex;align-items:center;justify-content:space-between}.plan-note .plan-top .og-icon{width:15px;height:15px}.plan-note .plan-time{font-size:9px;font-weight:950;letter-spacing:.6px}.plan-note-text{font-size:10px;font-weight:750;line-height:1.3;margin-top:8px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.plan-note .plan-bottom{position:absolute;left:10px;right:8px;bottom:7px}.plan-note .plan-bottom small{font-size:7.5px;color:#8a7428}

/* Dépôt BDP conducteur / sous-traitant simplifié */
.simple-pilot-upload{display:block}.fixed-doc-type{display:flex;align-items:center;gap:12px;padding:13px 14px;border:1px solid #e1e4e8;border-radius:11px;background:#f8fafc}.fixed-doc-type>.og-icon{width:22px;height:22px;color:var(--accent)}.fixed-doc-type strong{display:block;font-size:12px}.fixed-doc-type small{display:block;margin-top:3px;color:var(--muted);font-size:9px}.pilot-file-drop{margin-top:4px}.pilot-file-drop .btn{pointer-events:none}

/* Les fenêtres imbriquées utilisent désormais la pile de modales ; légère profondeur visuelle. */
.modal-backdrop{isolation:isolate}.modal{animation:ogModalIn .12s ease-out}@keyframes ogModalIn{from{transform:translateY(5px);opacity:.94}to{transform:none;opacity:1}}
/* V1.5.5 — détails iconographiques */
.access-chip .og-icon,.portal-pill .og-icon{width:12px;height:12px;margin-right:3px}.flow-step .og-icon{width:11px;height:11px;margin-right:3px}.row-chevron{display:inline-grid;place-items:center;color:#8d939c}.row-chevron .og-icon{width:16px;height:16px}.external-source-link{display:inline-flex;align-items:center;gap:5px}.external-source-link .og-icon,.document-preview a .og-icon{width:14px;height:14px}


/* =========================
   V1.5.6 — planning essentiel / blocs développables
   ========================= */
.resource-week{grid-auto-rows:106px}
.resource-week:has(.plan-item.is-expanded){grid-auto-rows:184px}
.resource-week .plan-item.plan-mission-compact{position:relative;padding:8px 9px!important;display:block;overflow:hidden;cursor:pointer}
.plan-mission-compact .plan-compact-head{position:absolute;top:7px;right:7px;z-index:2;display:flex;align-items:center;gap:5px;max-width:45%}
.plan-mission-compact .plan-status-mini{display:grid;place-items:center}
.plan-mission-compact .plan-status-mini .plan-state-icon{margin:0!important}
.plan-mission-compact .plan-status-mini .og-icon{width:15px;height:15px}
.plan-mission-compact .cancel-word{font-size:7.5px!important;margin:0!important}
.plan-essential{display:grid;gap:3px;padding-right:20px}
.plan-place-line{display:grid;grid-template-columns:36px minmax(0,1fr);align-items:start;gap:5px;min-width:0;line-height:1.12}
.plan-place-time{font-size:10.5px!important;font-weight:950!important;color:#23262b!important;margin:1px 0 0!important;white-space:nowrap}
.plan-place-line strong{font-size:10.7px;line-height:1.12;font-weight:900;color:#1f2328;min-width:0;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.resource-week .plan-item.plan-mission-compact .plan-client{margin:6px 18px 0 0!important;padding-top:5px;border-top:1px solid rgba(20,25,35,.08);font-size:9.7px!important;font-weight:800!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.plan-expand-hint{position:absolute;right:7px;bottom:7px;color:#7c828b;display:grid;place-items:center;transition:transform .15s ease}
.plan-expand-hint .og-icon{width:12px;height:12px}
.plan-mission-compact.is-expanded .plan-expand-hint{transform:rotate(180deg)}
.plan-open-mission{grid-column:1/-1;justify-self:start;margin-top:1px;padding:5px 8px!important;font-size:8.5px!important}
.plan-mission-compact.plan-cancelled .plan-place-time,.plan-mission-compact.plan-cancelled .plan-place-line strong,.plan-mission-compact.plan-cancelled .plan-client{color:#702027!important}
@media(max-width:1100px){.resource-week{grid-auto-rows:108px}.resource-week:has(.plan-item.is-expanded){grid-auto-rows:188px}.plan-place-line{grid-template-columns:34px minmax(0,1fr)}.plan-place-time{font-size:10px!important}.plan-place-line strong{font-size:10px}}
@media(max-width:700px){.resource-week{grid-auto-rows:112px}.resource-week:has(.plan-item.is-expanded){grid-auto-rows:190px}.plan-place-line{grid-template-columns:38px minmax(0,1fr)}.plan-place-time{font-size:10.5px!important}.plan-place-line strong{font-size:10.8px}}

/* =========================
   OG Fleet V1.5.6
   Création depuis modèles + fiche mission structurée
   ========================= */
.modal.modal-xl{width:min(1140px,100%)}
.creation-launcher{display:grid;gap:16px}.creation-blank-card{width:100%;display:grid;grid-template-columns:46px 1fr 28px;gap:13px;align-items:center;text-align:left;border:1px solid #e2e4e8;background:linear-gradient(135deg,#fff,#fafafb);border-radius:14px;padding:15px 16px;cursor:pointer;transition:.15s}.creation-blank-card:hover{border-color:#cfd3d9;transform:translateY(-1px);box-shadow:0 7px 20px rgba(28,31,38,.06)}.creation-card-icon{width:42px;height:42px;border-radius:11px;background:var(--accent-soft);color:var(--accent);display:grid;place-items:center}.creation-card-icon .og-icon{width:20px;height:20px}.creation-blank-card strong{display:block;font-size:13px}.creation-blank-card small{display:block;color:var(--muted);font-size:10px;margin-top:3px}.creation-arrow{color:#9aa0a8;display:grid;place-items:center}.creation-arrow .og-icon{width:16px;height:16px}.creation-model-zone{border:1px solid var(--line);border-radius:14px;background:#fff;overflow:hidden}.creation-zone-head{display:flex;justify-content:space-between;align-items:center;padding:13px 15px;background:#f8f9fb;border-bottom:1px solid var(--line)}.creation-zone-head strong{display:block;font-size:12px}.creation-zone-head small{display:block;font-size:9px;color:var(--muted);margin-top:2px}.creation-zone-head>.og-icon{width:19px;height:19px;color:var(--accent)}.creation-model-list{display:grid;max-height:330px;overflow:auto}.creation-model-list>button{border:0;border-bottom:1px solid #f0f1f3;background:#fff;padding:11px 14px;display:grid;grid-template-columns:24px 1fr 22px;gap:10px;align-items:center;text-align:left;cursor:pointer}.creation-model-list>button:last-child{border-bottom:0}.creation-model-list>button:hover{background:#fafafb}.creation-model-list>button>span:nth-child(2) strong{display:block;font-size:11px}.creation-model-list>button>span:nth-child(2) small{display:block;font-size:9px;color:var(--muted);margin-top:3px}.creation-model-list>button>.og-icon{width:14px;height:14px;color:#9aa0a8}

.mission-form-v156{gap:16px}.mission-form-v156>.mission-section{grid-column:1/-1}.mission-section{border:1px solid #e5e7eb;border-radius:15px;overflow:hidden;background:#fff;box-shadow:0 2px 8px rgba(20,24,32,.025)}.mission-section-head{display:flex;gap:10px;align-items:center;padding:12px 15px;border-bottom:1px solid #eceef1;border-radius:14px 14px 0 0;overflow:hidden;background-clip:padding-box}.mission-section-head>span{width:32px;height:32px;border-radius:9px;display:grid;place-items:center;flex:0 0 auto}.mission-section-head>span .og-icon{width:16px;height:16px}.mission-section-head h3{margin:0;font-size:12px;letter-spacing:-.1px}.mission-section-head p{margin:2px 0 0;font-size:9px;color:var(--muted)}.mission-section-body{padding:15px;border-radius:0 0 14px 14px}.mission-section-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.mission-section-grid>.full{grid-column:1/-1}
.mission-section-source .mission-section-head{background:#f7f8fa}.mission-section-source .mission-section-head>span{background:#eef0f3;color:#5d6470}.mission-section-identity .mission-section-head{background:#fff7f7}.mission-section-identity .mission-section-head>span{background:#ffe8e9;color:var(--accent)}.mission-section-route .mission-section-head{background:#f5f9ff}.mission-section-route .mission-section-head>span{background:#e7f0ff;color:#3266a8}.mission-section-execution .mission-section-head{background:#f8f7ff}.mission-section-execution .mission-section-head>span{background:#ece9ff;color:#6155a6}.mission-section-finance .mission-section-head{background:#fff9ef}.mission-section-finance .mission-section-head>span{background:#fff0cf;color:#9a6412}.mission-section-documents .mission-section-head{background:#f6faf7}.mission-section-documents .mission-section-head>span{background:#e8f3eb;color:#477154}
.mission-route-split{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.mission-route-column{border:1px solid #e1e6ee;border-radius:13px;padding:14px;display:grid;gap:13px;background:#fbfdff}.mission-route-column.arrival{background:#fcfdfc}.route-column-head{display:flex;align-items:center;gap:9px;padding-bottom:9px;border-bottom:1px solid #e8ebef}.route-column-head>span{width:30px;height:30px;border-radius:8px;display:grid;place-items:center;background:#eaf2ff;color:#3266a8}.mission-route-column.arrival .route-column-head>span{background:#eaf5ed;color:#4d7858}.route-column-head .og-icon{width:15px;height:15px}.route-column-head strong{display:block;font-size:11px}.route-column-head small{display:block;font-size:8.5px;color:var(--muted);margin-top:2px}.mission-form-v156 input[readonly]{background:#f3f4f6;color:#646a73;border-style:dashed}.mission-form-v156 .source-import-field{margin:0}.mission-section-source .source-import-field{display:block}.mission-section-source .source-import-head{margin-bottom:10px}

@media(max-width:700px){.modal.modal-xl{width:100%}.mission-section-grid,.mission-route-split{grid-template-columns:1fr}.mission-section-grid>.full{grid-column:auto}.mission-section-body{padding:12px}.mission-section-head{padding:11px 12px}.creation-model-list{max-height:260px}}

/* =========================
   OG Fleet V1.5.7
   Centre d'actions + kilométrage BDP + semaine visible
   ========================= */
.action-strip{display:grid;grid-template-columns:minmax(210px,1.4fr) repeat(3,minmax(95px,.55fr)) auto;gap:10px;align-items:stretch;margin-bottom:18px;padding:12px;border:1px solid #e2e5e9;border-radius:14px;background:linear-gradient(135deg,#fff,#fafbfc);box-shadow:0 2px 8px rgba(20,24,32,.03)}
.action-strip-title{display:flex;align-items:center;gap:11px;padding:4px 6px}.action-strip-title>span{width:38px;height:38px;border-radius:10px;background:#f0f2f5;color:#565e68;display:grid;place-items:center}.action-strip-title .og-icon{width:19px;height:19px}.action-strip-title strong{display:block;font-size:12px}.action-strip-title small{display:block;margin-top:2px;color:var(--muted);font-size:9px}.action-strip-stat{border:1px solid #e3e6ea;background:#fff;border-radius:10px;padding:8px 10px;text-align:left;cursor:pointer;transition:.15s}.action-strip-stat:hover{border-color:#cfd4da;transform:translateY(-1px)}.action-strip-stat strong{display:block;font-size:18px;line-height:1}.action-strip-stat span{display:block;margin-top:4px;font-size:8.5px;color:var(--muted);font-weight:800;text-transform:uppercase;letter-spacing:.25px}.action-strip-stat.urgent{background:#fff7f7;border-color:#efd4d7}.action-strip-stat.urgent strong{color:#a92f39}.action-strip-stat.admin{background:#fffaf1;border-color:#eedfbd}.action-strip>.btn{align-self:center;white-space:nowrap}
.action-center-summary{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:15px 17px;margin-bottom:18px;border:1px solid #e3e6ea;border-radius:14px;background:#fbfcfd}.action-center-summary>div{display:flex;align-items:center;gap:12px}.action-center-summary>div>span{width:42px;height:42px;border-radius:11px;background:#eef1f4;display:grid;place-items:center;color:#525b66}.action-center-summary .og-icon{width:20px;height:20px}.action-center-summary strong{display:block;font-size:21px}.action-center-summary small{display:block;color:var(--muted);font-size:9px;margin-top:2px}.action-center-summary p{max-width:600px;margin:0;color:var(--muted);font-size:9.5px;line-height:1.5}.action-center-grid{display:grid;gap:16px}.action-center-section .card-head h3{display:flex;align-items:center;gap:7px}.action-center-section .card-head h3 span{min-width:22px;height:22px;border-radius:999px;background:#eef0f3;display:inline-grid;place-items:center;font-size:9px}.action-center-list{display:grid}.action-center-row{display:grid;grid-template-columns:38px minmax(0,1fr) auto;gap:11px;align-items:center;padding:11px 14px;border-top:1px solid #eef0f2}.action-center-row:first-child{border-top:0}.action-center-row:hover{background:#fbfcfd}.action-center-icon{width:36px;height:36px;border-radius:9px;background:#f2f4f6;color:#5f6670;display:grid;place-items:center}.action-center-icon .og-icon{width:17px;height:17px}.action-center-copy{min-width:0}.action-center-copy>div{display:flex;align-items:center;gap:7px;min-width:0}.action-center-copy strong{font-size:10.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.action-center-copy small{display:block;margin-top:3px;color:var(--muted);font-size:8.8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.action-center-tag{border-radius:999px;padding:3px 6px;background:#f0f2f4;color:#666d76;font-size:7.5px;font-weight:850;white-space:nowrap}.action-center-urgent{border-color:#efd9dc}.action-center-urgent .card-head{background:#fff8f8}.action-center-urgent .action-center-icon{background:#fff0f1;color:#a8323d}.action-center-todo .card-head{background:#fafbfc}.action-center-admin .card-head{background:#fffaf2}.action-center-admin .action-center-icon{background:#fff4dc;color:#9a6816}
.planning-week-banner{display:flex;align-items:baseline;gap:9px;margin:0 0 12px;padding:10px 14px;border:1px solid #e3e6ea;border-radius:12px;background:#fff}.planning-week-banner>span{font-size:10px;font-weight:900;letter-spacing:.75px;color:#6b727c}.planning-week-banner>strong{font-size:28px;line-height:1;color:#20242a;letter-spacing:-1px}.planning-week-banner>small{margin-left:3px;color:var(--muted);font-size:9px}
.mileage-review-panel,.mission-mileage-summary{border:1px solid #dfe4ea;border-radius:12px;background:#fbfcfd;padding:13px 14px}.mileage-review-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.mileage-review-head>div{display:flex;align-items:center;gap:9px}.mileage-review-head>div>span{width:34px;height:34px;border-radius:9px;background:#edf2f7;color:#526579;display:grid;place-items:center}.mileage-review-head .og-icon{width:17px;height:17px}.mileage-review-head strong{display:block;font-size:11px}.mileage-review-head small{display:block;margin-top:3px;color:var(--muted);font-size:8.5px;line-height:1.4}.mileage-values{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:11px}.mileage-values>div{border:1px solid #e5e8ec;border-radius:9px;background:#fff;padding:9px 10px}.mileage-values span{display:block;color:var(--muted);font-size:7.8px;text-transform:uppercase;font-weight:850;letter-spacing:.25px}.mileage-values strong{display:block;margin-top:4px;font-size:11px}.mileage-actions{display:flex;gap:7px;margin-top:10px}.mileage-empty{margin-top:10px;display:flex;justify-content:space-between;align-items:center;gap:10px;padding-top:10px;border-top:1px solid #e5e8ec}.mileage-empty p{margin:0;font-size:9px;color:var(--muted)}.ocr-mileage-result{display:flex;align-items:center;gap:10px;padding:11px 12px;border:1px solid #dce3ea;border-radius:10px;background:#f6f9fc}.ocr-mileage-result>.og-icon{width:20px;height:20px;color:#526b83}.ocr-mileage-result strong{display:block;font-size:10.5px}.ocr-mileage-result small{display:block;margin-top:3px;color:var(--muted);font-size:8.5px;line-height:1.4}.warning-inline{display:flex;align-items:center;gap:7px;padding:9px 10px;border-radius:9px;background:#fff8e9;border:1px solid #eed7a8;color:#76591f;font-size:8.8px}.warning-inline .og-icon{width:15px;height:15px}.mission-mileage-summary{margin-top:16px;margin-bottom:16px}.mission-mileage-summary .mileage-values{margin-top:9px}.mileage-source-pill{display:inline-flex;align-items:center;gap:5px;border:1px solid #dfe4e9;background:#f7f9fb;border-radius:999px;padding:5px 8px;font-size:8px;font-weight:800;color:#626a74}.mileage-source-pill .og-icon{width:13px;height:13px}.mileage-stat-card .mileage-kpis{margin:0}.mileage-stat-card .table-wrap{border-top:1px solid #eceef1}
@media(max-width:1050px){.action-strip{grid-template-columns:1fr repeat(3,minmax(90px,.5fr));}.action-strip>.btn{grid-column:1/-1;justify-self:end}.action-center-summary{align-items:flex-start;flex-direction:column}}
@media(max-width:700px){.action-strip{grid-template-columns:repeat(3,1fr)}.action-strip-title{grid-column:1/-1}.action-strip>.btn{grid-column:1/-1;width:100%}.action-center-row{grid-template-columns:34px minmax(0,1fr)}.action-center-row>.btn{grid-column:2;justify-self:start}.action-center-copy>div{align-items:flex-start;flex-direction:column;gap:4px}.action-center-copy strong,.action-center-copy small{white-space:normal}.planning-week-banner>strong{font-size:24px}.planning-week-banner>small{margin-left:auto}.mileage-values{grid-template-columns:1fr}.mileage-empty{align-items:flex-start;flex-direction:column}}

/* V1.5.8 — Centre d'actions pleine page */
.action-hero{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(360px,.7fr);gap:16px;margin-bottom:16px;padding:18px;border:1px solid #e0e4e8;border-radius:16px;background:linear-gradient(135deg,#fff,#f8fafb);box-shadow:0 3px 12px rgba(20,24,32,.04)}
.action-hero-main{display:flex;align-items:center;gap:15px}.action-hero-main>span{width:52px;height:52px;border-radius:14px;background:#eef1f4;display:grid;place-items:center;color:#505862}.action-hero-main>span .og-icon{width:25px;height:25px}.action-hero-main small{display:block;text-transform:uppercase;letter-spacing:.45px;font-size:8px;font-weight:850;color:var(--muted)}.action-hero-main strong{display:block;font-size:31px;line-height:1;margin-top:4px}.action-hero-main p{margin:5px 0 0;color:var(--muted);font-size:9.5px}
.action-hero-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.action-hero-kpis>div{padding:12px;border:1px solid #e3e6ea;border-radius:11px;background:#fff}.action-hero-kpis>div.critical{background:#fff6f6;border-color:#eed2d5}.action-hero-kpis strong{display:block;font-size:22px}.action-hero-kpis span{display:block;margin-top:4px;color:var(--muted);font-size:8px;font-weight:800;text-transform:uppercase}
.action-filter-bar{display:flex;gap:7px;align-items:center;overflow-x:auto;padding:2px 1px 12px;margin-bottom:4px}.action-filter{display:flex;align-items:center;gap:7px;white-space:nowrap;border:1px solid #dde1e5;background:#fff;border-radius:10px;padding:8px 10px;cursor:pointer;font-size:9px;font-weight:800;color:#59616a}.action-filter:hover{background:#f8f9fa}.action-filter.active{border-color:#bac1c9;background:#f0f2f4;color:#222}.action-filter .og-icon{width:14px;height:14px}.action-filter b{min-width:20px;height:20px;padding:0 5px;border-radius:999px;background:#eef0f2;display:grid;place-items:center;font-size:8px}.action-filter.active b{background:#fff}
.action-center-layout{display:grid;grid-template-columns:minmax(0,1fr) 265px;gap:16px;align-items:start}.action-main-column{display:grid;gap:14px}.action-side-column{display:grid;gap:14px;position:sticky;top:76px}.domain-stats{display:grid;padding:6px}.domain-stats button{display:flex;align-items:center;gap:10px;border:0;background:transparent;border-radius:9px;padding:9px;text-align:left;cursor:pointer}.domain-stats button:hover{background:#f7f8f9}.domain-stats button>span{width:30px;height:30px;border-radius:8px;background:#f0f2f4;display:grid;place-items:center}.domain-stats .og-icon{width:15px;height:15px}.domain-stats strong{display:block;font-size:13px}.domain-stats small{display:block;font-size:8px;color:var(--muted);margin-top:1px}.action-rules-card p{font-size:8.8px;line-height:1.55;color:var(--muted);margin:0 0 9px}.action-rules-card p:last-child{margin-bottom:0}.action-rules-card b{color:#32373d}
.action-center-row.priority-0{background:#fffafa}.action-center-row.priority-0:hover{background:#fff5f5}.action-center-row.priority-0 .action-center-icon{background:#fff0f1;color:#a8323d}.action-center-copy .action-title-line{display:flex;align-items:center;gap:7px;min-width:0}.action-row-meta{display:flex;align-items:center;gap:8px;margin-top:5px;color:#777f88;font-size:7.8px;font-weight:700}.action-row-meta>span{display:inline-flex;align-items:center;gap:3px}.action-row-meta .og-icon{width:11px;height:11px}.priority-pill{padding:3px 6px;border-radius:999px;background:#f0f2f4}.priority-pill.p0{background:#fae8ea;color:#9d3039}.priority-pill.p1{background:#fff4dc;color:#8b6019}.blocking-pill{padding:3px 6px;border-radius:999px;background:#f8e2e4;color:#9d3039}
@media(max-width:1100px){.action-center-layout{grid-template-columns:1fr}.action-side-column{position:static;grid-template-columns:1fr 1fr}.action-hero{grid-template-columns:1fr}}
@media(max-width:700px){.action-hero-kpis{grid-template-columns:repeat(3,minmax(85px,1fr));overflow-x:auto}.action-side-column{grid-template-columns:1fr}.action-filter-bar{margin-left:-2px;margin-right:-2px}.action-row-meta{flex-wrap:wrap}.action-center-copy .action-title-line{align-items:flex-start;flex-direction:column;gap:4px}}

/* === OG Fleet V1.5.8 — Centre d'actions avancé (référence maquette) === */
.action-commandbar{display:grid;grid-template-columns:minmax(280px,1fr) auto;grid-template-areas:"search reset" "tabs tabs";gap:12px 14px;align-items:center;padding:14px 16px;margin-bottom:14px;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 2px 5px rgba(20,24,32,.025)}
.action-search{grid-area:search;display:flex;align-items:center;gap:9px;height:42px;border:1px solid #dfe3e8;border-radius:10px;background:#fff;padding:0 12px;min-width:0}.action-search:focus-within{border-color:#c7cdd4;box-shadow:0 0 0 3px rgba(25,30,40,.035)}.action-search .og-icon{width:17px;height:17px;color:#69717c;flex:0 0 auto}.action-search input{border:0;outline:0;width:100%;min-width:0;font:inherit;font-size:11px;color:#252a31;background:transparent}.action-search input::placeholder{color:#9097a1}
.action-tabs{grid-area:tabs;display:flex;align-items:center;gap:4px;overflow-x:auto;padding:0 1px 1px}.action-tabs button{height:34px;border:0;border-radius:8px;background:transparent;color:#4f5660;padding:0 10px;display:inline-flex;align-items:center;gap:7px;white-space:nowrap;font-size:9.5px;font-weight:800;cursor:pointer}.action-tabs button:hover{background:#f6f7f8}.action-tabs button b{min-width:20px;height:20px;padding:0 5px;border-radius:999px;background:#f0f2f4;color:#68707a;display:grid;place-items:center;font-size:8px}.action-tabs button.active{background:var(--accent);color:#fff;box-shadow:0 4px 10px rgba(215,25,32,.14)}.action-tabs button.active b{background:rgba(255,255,255,.2);color:#fff}.action-reset{grid-area:reset;min-height:38px!important;font-size:10px!important}.action-reset .og-icon{width:14px;height:14px}
.action-kpi-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-bottom:16px}.action-kpi-card{position:relative;display:grid;grid-template-columns:42px minmax(0,1fr);gap:11px;align-items:center;min-height:102px;padding:14px;border:1px solid var(--line);border-radius:13px;background:#fff;text-align:left;cursor:pointer;box-shadow:0 2px 5px rgba(20,24,32,.025);transition:.16s}.action-kpi-card:hover{transform:translateY(-1px);box-shadow:0 8px 18px rgba(20,24,32,.055);border-color:#d9dde2}.action-kpi-icon{width:42px;height:42px;border-radius:11px;display:grid;place-items:center;background:#f3f5f7;color:#505862}.action-kpi-icon .og-icon{width:20px;height:20px}.action-kpi-copy{min-width:0}.action-kpi-copy small{display:block;font-size:8.2px;font-weight:850;color:#5d646e;line-height:1.25}.action-kpi-copy strong{display:block;margin-top:4px;font-size:25px;line-height:1;letter-spacing:-.7px;color:#171a1f}.action-kpi-copy em{display:block;margin-top:6px;color:#8a919a;font-size:7.8px;font-style:normal;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.action-kpi-card.kpi-red .action-kpi-icon{background:#fff0f1;color:#d71920}.action-kpi-card.kpi-purple .action-kpi-icon{background:#f5efff;color:#7c3aed}.action-kpi-card.kpi-green .action-kpi-icon{background:#eef8f1;color:#218a4a}.action-kpi-card.kpi-orange .action-kpi-icon{background:#fff5e9;color:#d97706}.action-kpi-card.kpi-blue .action-kpi-icon{background:#eef5ff;color:#2563eb}
.action-workspace{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:16px;align-items:start}.action-priority-card{overflow:hidden}.action-priority-head{min-height:58px;padding:13px 16px;border-bottom:1px solid #eceef1;display:flex;align-items:center;gap:12px}.action-priority-head>div{min-width:0}.action-priority-head h3{font-size:13px;margin:0}.action-priority-head p{margin:3px 0 0;font-size:8px;color:var(--muted)}.action-priority-head label{margin-left:auto;display:flex;align-items:center;gap:6px;color:#7c838d;font-size:8.5px;font-weight:750;white-space:nowrap}.action-priority-head select{height:32px;border:1px solid #e0e3e7;border-radius:8px;background:#fff;padding:0 26px 0 9px;color:#31363d;font-size:9px;font-weight:800;outline:0}
.action-priority-list{display:grid}.action-priority-row{position:relative;display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:12px;align-items:center;min-height:83px;padding:12px 15px 12px 18px;border-top:1px solid #edf0f2;background:#fff}.action-priority-row:first-child{border-top:0}.action-priority-row:before{content:"";position:absolute;left:0;top:8px;bottom:8px;width:4px;border-radius:0 4px 4px 0;background:#9ca3af}.action-priority-row:hover{background:#fcfcfd}.action-priority-row.cat-planning:before{background:#dc2626}.action-priority-row.cat-exploitation:before{background:#b91c1c}.action-priority-row.cat-documents:before{background:#7c3aed}.action-priority-row.cat-billing:before{background:#16a34a}.action-priority-row.cat-absences:before{background:#f59e0b}.action-priority-row.cat-intercompany:before{background:#2563eb}.action-priority-row.priority-0{background:linear-gradient(90deg,#fffafa,#fff 26%)}
.action-priority-icon{width:40px;height:40px;border-radius:11px;background:#f5f6f7;color:#555d67;display:grid;place-items:center}.action-priority-icon .og-icon{width:19px;height:19px}.cat-planning .action-priority-icon,.cat-exploitation.priority-0 .action-priority-icon{background:#fff0f1;color:#d71920}.cat-documents .action-priority-icon{background:#f5efff;color:#7c3aed}.cat-billing .action-priority-icon{background:#eef8f1;color:#218a4a}.cat-absences .action-priority-icon{background:#fff5e9;color:#d97706}.cat-intercompany .action-priority-icon{background:#eef5ff;color:#2563eb}.action-priority-copy{min-width:0}.action-priority-title{display:flex;align-items:center;gap:8px;min-width:0}.action-priority-title strong{font-size:10.8px;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#20242a}.action-priority-copy p{margin:3px 0 0;color:#656d77;font-size:8.6px;line-height:1.35;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.action-priority-meta{display:flex;align-items:center;gap:6px;margin-top:7px;flex-wrap:wrap;color:#858c95;font-size:7.4px;font-weight:750}.action-priority-meta>span{display:inline-flex;align-items:center;gap:3px}.action-priority-meta .og-icon{width:10px;height:10px}.action-domain-pill,.action-level-pill,.action-blocking-pill{border-radius:999px;padding:3px 6px;background:#f3f4f6;color:#69717a}.action-level-pill.level-0{background:#feecee;color:#c81720}.action-level-pill.level-1{background:#fff4df;color:#94620e}.action-blocking-pill{background:#fbe4e6;color:#a91720}.action-priority-buttons{display:flex;align-items:center;justify-content:flex-end;gap:6px;flex-wrap:wrap}.action-priority-buttons .btn{min-width:74px}.action-show-all{width:100%;height:43px;border:0;border-top:1px solid #edf0f2;background:#fff;color:var(--accent);font-size:9px;font-weight:850;display:flex;align-items:center;justify-content:center;gap:6px;cursor:pointer}.action-show-all:hover{background:#fffafa}.action-show-all .og-icon{width:13px;height:13px}.action-empty{padding:40px 16px!important}
.action-rail{display:grid;gap:14px;position:sticky;top:78px}.action-quick-card,.action-today-card{overflow:hidden}.action-quick-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:12px}.action-quick-grid button{min-height:62px;border:1px solid #e4e7eb;border-radius:10px;background:#fff;padding:9px;text-align:left;display:flex;align-items:center;gap:8px;cursor:pointer}.action-quick-grid button:hover{background:#fafbfc;border-color:#d8dde3}.action-quick-grid button>span{width:28px;height:28px;border-radius:8px;background:#fff2f3;color:var(--accent);display:grid;place-items:center;flex:0 0 auto}.action-quick-grid button .og-icon{width:15px;height:15px}.action-quick-grid strong{font-size:8.8px;line-height:1.25;color:#2c3138}.link-button{border:0;background:transparent;color:var(--accent);font-size:8px;font-weight:850;cursor:pointer;padding:0}.action-today-list{display:grid;padding:7px 12px 4px}.action-today-row{display:grid;grid-template-columns:38px 10px minmax(0,1fr);gap:7px;align-items:start;border:0;background:transparent;text-align:left;padding:8px 0;cursor:pointer;position:relative}.action-today-row:not(:last-child):after{content:"";position:absolute;left:42px;top:22px;bottom:-7px;width:1px;background:#e4e7eb}.action-today-time{font-size:8.5px;font-weight:850;color:#58616b;padding-top:2px}.action-today-dot{width:8px;height:8px;border-radius:50%;background:#2563eb;border:2px solid #eaf2ff;margin-top:2px;z-index:1}.action-today-row.absence .action-today-dot{background:#f59e0b;border-color:#fff2d8}.action-today-row.note .action-today-dot{background:#64748b;border-color:#edf0f3}.action-today-row strong{display:block;font-size:9px;line-height:1.3;color:#2a2f36}.action-today-row small{display:block;margin-top:2px;color:#7e858f;font-size:7.6px;line-height:1.35;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.action-agenda-link{width:calc(100% - 24px);height:36px;margin:8px 12px 12px;border:1px solid #e1e4e8;border-radius:9px;background:#fff;color:#363b42;font-size:8.8px;font-weight:800;display:flex;align-items:center;justify-content:center;gap:6px;cursor:pointer}.action-agenda-link:hover{background:#f8f9fa}.action-agenda-link .og-icon{width:14px;height:14px}.action-health-card{display:flex;align-items:center;gap:10px;padding:12px 13px;border:1px solid #e1e5e9;border-radius:12px;background:#fbfcfd}.action-health-card>span{width:34px;height:34px;border-radius:9px;background:#f2f4f6;color:#59616b;display:grid;place-items:center}.action-health-card>span .og-icon{width:17px;height:17px}.action-health-card strong{display:block;font-size:9.5px}.action-health-card small{display:block;margin-top:3px;color:#7b828c;font-size:7.8px}
@media(max-width:1250px){.action-kpi-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.action-workspace{grid-template-columns:minmax(0,1fr) 270px}}
@media(max-width:1050px){.action-workspace{grid-template-columns:1fr}.action-rail{position:static;grid-template-columns:1fr 1fr}.action-health-card{grid-column:1/-1}.action-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.action-commandbar{grid-template-columns:1fr;grid-template-areas:"search" "tabs" "reset"}.action-reset{width:100%}.action-kpi-grid{grid-template-columns:1fr}.action-priority-head{align-items:flex-start;flex-direction:column}.action-priority-head label{margin-left:0}.action-priority-row{grid-template-columns:38px minmax(0,1fr);padding-left:14px}.action-priority-buttons{grid-column:2;justify-content:flex-start}.action-priority-copy p,.action-priority-title strong{white-space:normal}.action-rail{grid-template-columns:1fr}.action-health-card{grid-column:auto}}

/* =========================
   OG Fleet V1.5.9
   Planning épuré + Centre d'actions plus lisible
   ========================= */

/* Planning : repère de semaine minimaliste, sans plage de dates redondante. */
.planning-week-banner{
  display:inline-flex;
  align-items:center;
  gap:9px;
  margin:0 0 12px;
  padding:2px 0 2px 11px;
  border:0;
  border-left:3px solid var(--accent);
  border-radius:0;
  background:transparent;
  box-shadow:none;
}
.planning-week-banner>span{
  font-size:10px;
  font-weight:900;
  letter-spacing:.9px;
  color:#747b85;
}
.planning-week-banner>strong{
  font-size:30px;
  line-height:.95;
  letter-spacing:-1px;
  color:#20242a;
}
.planning-week-banner>small{display:none!important}

/* Centre d'actions : lecture confortable sur écran bureau. */
.action-commandbar{padding:16px 18px;gap:13px 15px;margin-bottom:16px}
.action-search{height:46px;padding:0 14px;gap:10px}
.action-search .og-icon{width:18px;height:18px}
.action-search input{font-size:13px}
.action-tabs{gap:5px}
.action-tabs button{height:38px;padding:0 12px;font-size:11px;gap:8px}
.action-tabs button b{min-width:22px;height:22px;font-size:9.5px}
.action-reset{min-height:40px!important;font-size:11px!important}

.action-kpi-grid{gap:14px;margin-bottom:18px}
.action-kpi-card{grid-template-columns:48px minmax(0,1fr);gap:13px;min-height:116px;padding:16px}
.action-kpi-icon{width:48px;height:48px;border-radius:12px}
.action-kpi-icon .og-icon{width:22px;height:22px}
.action-kpi-copy small{font-size:10.5px;line-height:1.3}
.action-kpi-copy strong{margin-top:5px;font-size:29px}
.action-kpi-copy em{margin-top:7px;font-size:9.5px}

.action-workspace{grid-template-columns:minmax(0,1fr) 320px;gap:18px}
.action-priority-head{min-height:68px;padding:15px 18px}
.action-priority-head h3{font-size:15px}
.action-priority-head p{margin-top:4px;font-size:10px}
.action-priority-head label{font-size:10.5px;gap:7px}
.action-priority-head select{height:36px;font-size:10.5px;padding-left:10px}

.action-priority-row{grid-template-columns:46px minmax(0,1fr) auto;gap:14px;min-height:96px;padding:14px 17px 14px 20px}
.action-priority-icon{width:44px;height:44px;border-radius:12px}
.action-priority-icon .og-icon{width:20px;height:20px}
.action-priority-title strong{font-size:13px;line-height:1.35}
.action-priority-copy p{margin-top:4px;font-size:10.5px;line-height:1.4}
.action-priority-meta{gap:7px;margin-top:8px;font-size:9px}
.action-priority-meta .og-icon{width:11px;height:11px}
.action-domain-pill,.action-level-pill,.action-blocking-pill{padding:4px 7px}
.action-priority-buttons{gap:7px}
.action-priority-buttons .btn{min-width:82px;font-size:11px}
.action-show-all{height:47px;font-size:10.5px}

.action-rail{gap:16px}
.action-rail .card-head{min-height:52px;padding:0 15px}
.action-rail .card-head h3{font-size:13px}
.action-quick-grid{gap:9px;padding:14px}
.action-quick-grid button{min-height:70px;padding:10px}
.action-quick-grid button>span{width:32px;height:32px}
.action-quick-grid button .og-icon{width:17px;height:17px}
.action-quick-grid strong{font-size:10.5px;line-height:1.3}
.link-button{font-size:9.5px}
.action-today-list{padding:8px 14px 5px}
.action-today-row{grid-template-columns:42px 11px minmax(0,1fr);gap:8px;padding:10px 0}
.action-today-row:not(:last-child):after{left:47px;top:25px}
.action-today-time{font-size:10px}
.action-today-dot{width:9px;height:9px}
.action-today-row strong{font-size:10.8px;line-height:1.35}
.action-today-row small{font-size:9.2px;line-height:1.4}
.action-agenda-link{height:40px;font-size:10px}
.action-health-card{gap:11px;padding:14px 15px}
.action-health-card>span{width:38px;height:38px}
.action-health-card strong{font-size:11px}
.action-health-card small{font-size:9px}

@media(max-width:1250px){
  .action-workspace{grid-template-columns:minmax(0,1fr) 290px}
}
@media(max-width:1050px){
  .action-workspace{grid-template-columns:1fr}
}
@media(max-width:700px){
  .planning-week-banner>strong{font-size:27px}
  .action-search input{font-size:12px}
  .action-tabs button{font-size:10.5px}
  .action-priority-row{grid-template-columns:42px minmax(0,1fr);padding-left:16px}
  .action-priority-title strong{font-size:12px}
  .action-priority-copy p{font-size:10px}
}

/* =========================
   OG Fleet V1.5.9.1 HOTFIX
   Navigation + portail conducteur + finitions planning
   ========================= */

/* Planning : un peu plus d'air sous le numéro de semaine. */
.planning-week-banner{margin-bottom:20px}

/* Bloc planning développé : le CTA respire et reste centré dans sa zone. */
.plan-mission-compact.is-expanded{padding-bottom:14px!important}
.plan-open-mission{justify-self:center;align-self:center;margin:4px 0 3px!important}

/* Portail conducteur : 2 accès seulement, contenu regroupé dans Mon activité. */
.driver-activity-stack{display:grid;gap:16px;margin-top:16px}
.driver-activity-stack .today-card{margin-top:0!important}
.driver-hero-simple{margin-bottom:0}
.driver-recent-card{opacity:.98}
.absence-portal-head{display:flex;align-items:center;gap:16px}
.absence-portal-head>div:first-child{min-width:0}
.absence-portal-action{margin-left:auto;display:flex;justify-content:flex-end;flex:0 0 auto}

@media(max-width:700px){
  .planning-week-banner{margin-bottom:16px}
  .absence-portal-head{align-items:flex-start}
  .absence-portal-action{margin-left:auto}
}
.mobile-nav.driver-two{grid-template-columns:repeat(2,1fr)}


/* =========================
   OG Fleet V1.5.9.2 HOTFIX
   Contrôle financier + centrage vertical CTA planning
   ========================= */
.plan-mission-compact.is-expanded .plan-open-mission{grid-row:3;align-self:center;justify-self:center;margin:0!important}


/* =========================
   OG Fleet V1.5.9.4 HOTFIX
   Création mission simplifiée + finition CTA planning
   ========================= */
/* Le CTA reste centré dans sa ligne, avec une respiration supplémentaire sous le bouton. */
.plan-mission-compact.is-expanded .plan-open-mission{margin:0 0 8px!important}


/* =========================
   OG Fleet V1.5.10 HOTFIX
   Planning indépendant + portail sous-traitant simplifié
   ========================= */
/* Chaque ligne du planning peut grandir indépendamment : seule la ligne contenant la mission ouverte prend la hauteur développée. */
.resource-week{--plan-row-compact:106px;--plan-row-expanded:184px;grid-auto-rows:var(--plan-row-compact)}
.resource-week:has(.plan-item.is-expanded){grid-auto-rows:var(--plan-row-compact)}
.resource-week .plan-item.plan-mission-compact{align-self:start;height:calc(var(--plan-row-compact) - 12px);box-sizing:border-box}
.resource-week .plan-item.plan-mission-compact.is-expanded{height:calc(var(--plan-row-expanded) - 12px)}
.resource-week .plan-absence,.resource-week .plan-note{align-self:start;height:calc(var(--plan-row-compact) - 12px);box-sizing:border-box}
@media(max-width:1100px){.resource-week{--plan-row-compact:108px;--plan-row-expanded:188px}}
@media(max-width:700px){.resource-week{--plan-row-compact:112px;--plan-row-expanded:190px}}
/* Portail sous-traitant : un seul accès principal, Mon activité. */
.mobile-nav.subcontractor-one{grid-template-columns:1fr}

/* V1.5.10 — notifications e-mail */
.mail-scenario-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.mail-scenario-grid .checkbox-field{margin:0}.inline-test-mail{display:flex;gap:10px;align-items:center}.inline-test-mail input{flex:1}.mail-log-list{display:grid;gap:7px}.mail-log-list>div{display:grid;grid-template-columns:85px minmax(0,1fr);gap:3px 10px;padding:9px 11px;border:1px solid var(--line,#e4e6ea);border-radius:8px;background:#fafafa}.mail-log-list small{grid-column:2;color:#747982}@media(max-width:700px){.mail-scenario-grid{grid-template-columns:1fr}.inline-test-mail{align-items:stretch;flex-direction:column}}

/* V1.5.11 — aperçu e-mail + apprentissage OCR */
.mail-scenario-grid{grid-template-columns:1fr 1fr}.mail-scenario-row{display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid var(--line);border-radius:10px;padding:8px 9px;background:#fafafa}.mail-scenario-row .checkbox-field{flex:1;min-width:0}.mail-scenario-row .btn{flex:0 0 auto}.mail-preview-meta{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:12px}.mail-preview-meta span{display:grid;gap:4px;padding:10px 12px;border:1px solid var(--line);border-radius:9px;background:#fafafa;font-size:12px}.mail-preview-meta b{font-size:10px;text-transform:uppercase;letter-spacing:.5px;color:var(--muted)}.mail-preview-frame{width:100%;height:520px;border:1px solid var(--line);border-radius:10px;background:#f5f5f5}.learning-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:12px}.learning-summary>div{border:1px solid var(--line);border-radius:10px;padding:14px;background:#fafafa;display:grid;gap:3px}.learning-summary strong{font-size:24px}.learning-summary span{font-size:11px;color:var(--muted)}.learning-fields{display:flex;flex-wrap:wrap;gap:6px;margin:14px 0}.learning-field-chip{font-size:10px;padding:6px 8px;border-radius:999px;background:#eef4ff;color:#315d9a;border:1px solid #d8e5f8}.learning-client-list{display:grid;gap:8px;margin-top:14px}.learning-client-row{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid var(--line);border-radius:10px;padding:11px 12px}.learning-client-row>div{display:grid;gap:3px}.learning-client-row small{color:var(--muted)}.learning-reset-all{display:flex;justify-content:flex-end;margin-top:14px}
@media(max-width:700px){.mail-scenario-grid{grid-template-columns:1fr}.mail-preview-meta,.learning-summary{grid-template-columns:1fr}.mail-preview-frame{height:460px}.mail-scenario-row{align-items:flex-start;flex-direction:column}.mail-scenario-row .btn{align-self:flex-end}}

/* V1.5.13 — sélecteur client avec recherche */
.client-search-combo{position:relative;min-width:0}.client-search-input{height:41px;border:1px solid #dfe1e5;border-radius:9px;background:#fff;display:flex;align-items:center;gap:8px;padding:0 10px;transition:.18s}.client-search-input:focus-within{border-color:#ef9499;box-shadow:0 0 0 3px var(--accent-soft)}.client-search-input>.og-icon{width:15px;height:15px;color:#9298a2;flex:0 0 auto}.field .client-search-input input{height:39px!important;border:0!important;padding:0!important;border-radius:0!important;box-shadow:none!important;background:transparent!important}.client-search-results{display:none;position:absolute;left:0;right:0;top:calc(100% + 5px);z-index:120;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:0 15px 35px rgba(20,23,31,.14);max-height:280px;overflow:auto;padding:5px}.client-search-results.open{display:block}.client-search-option{width:100%;border:0;background:#fff;border-radius:8px;padding:9px 10px;display:flex;align-items:center;justify-content:space-between;gap:12px;text-align:left;color:var(--text);cursor:pointer}.client-search-option:hover{background:#fff5f5}.client-search-option span{min-width:0}.client-search-option strong{display:block;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.client-search-option small{display:block;margin-top:2px;color:var(--muted);font-size:9px}.client-search-option em{font-size:9px;font-style:normal;font-weight:800;color:var(--accent);background:var(--accent-soft);padding:3px 6px;border-radius:999px}.client-search-empty{padding:13px;text-align:center;color:var(--muted);font-size:10px}

/* V1.5.14 — préparation de facturation groupée */
.btn-ghost{background:transparent;color:#5d626a;border:1px solid transparent}.btn-ghost:hover{background:#f5f6f7}
.billing-action-bar{position:sticky;top:69px;z-index:12;display:flex;align-items:center;justify-content:space-between;gap:14px;margin:0 0 14px;padding:13px 15px;border:1px solid #e1e4e8;border-radius:12px;background:#fff;box-shadow:0 8px 24px rgba(25,28,34,.08)}
.billing-action-empty{position:static;box-shadow:none;background:#fafbfc}.billing-action-empty strong,.billing-action-summary strong{display:block;font-size:12px}.billing-action-empty small,.billing-action-summary small{display:block;margin-top:3px;color:var(--muted);font-size:9px}.billing-action-buttons{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap}.billing-check-col{width:42px}.billing-table input[type=checkbox]{width:16px;height:16px;accent-color:var(--accent);cursor:pointer}.billing-table input[type=checkbox]:disabled{cursor:not-allowed;opacity:.35}.billing-order-row td{padding:9px 15px!important;background:#f6f7f8!important;border-top:1px solid #e4e6e9;border-bottom:1px solid #e4e6e9!important}.billing-order-title{display:flex;align-items:center;justify-content:space-between;gap:12px}.billing-order-title strong{font-size:10px;text-transform:uppercase;letter-spacing:.3px;color:#42474e}.billing-order-title span{font-size:9px;color:var(--muted)}.billing-row-selected td{background:#fff7f7!important}.billing-row-selected td:first-child{box-shadow:inset 3px 0 0 var(--accent)}.billing-row-locked{opacity:.55}.billing-preview-missions{display:flex;flex-wrap:wrap;gap:6px;margin:14px 0}.billing-preview-missions span{font-size:9px;padding:6px 8px;border:1px solid #e1e4e8;border-radius:999px;background:#f7f8f9;color:#555b63}.draft-preview .invoice-line span{min-width:0}.draft-preview .invoice-line span strong{display:block;font-size:11px}.draft-preview .invoice-line span small{display:block;margin-top:3px;color:var(--muted);font-size:9px;line-height:1.45}.invoice-total{display:flex;align-items:center;justify-content:space-between;margin-top:12px;padding:13px 2px 2px;font-size:13px}
@media(max-width:900px){.billing-action-bar{top:62px;align-items:flex-start;flex-direction:column}.billing-action-buttons{justify-content:flex-start}.billing-order-title{align-items:flex-start;flex-direction:column;gap:3px}}

/* V1.5.15 — menus de recherche toujours au premier plan */
.mission-form-v156>.mission-section{position:relative}
.mission-form-v156>.mission-section-identity{overflow:visible;z-index:30}
.client-search-combo{z-index:40}
.client-search-results{z-index:1000}
.client-search-results.open{isolation:isolate}

/* V1.5.15 — saisie inter-sociétés */
.intercompany-amount-editor{display:flex;align-items:center;gap:7px;min-width:220px}
.intercompany-amount-editor input{width:105px;min-width:90px;height:34px;padding:0 8px;border:1px solid var(--line);border-radius:8px;background:#fff}

/* V1.5.15 — retour visuel OCR kilométrique */
.mileage-ocr-loading{display:flex;align-items:center;gap:10px;padding:12px 14px;margin-top:12px;border:1px solid #dfe5ed;border-radius:11px;background:#f8fafc;font-size:10px;font-weight:800;color:#505863}
.mileage-ocr-spinner{width:17px;height:17px;border:2px solid #d9dde4;border-top-color:var(--accent);border-radius:50%;animation:ogMileageSpin .8s linear infinite;flex:0 0 auto}
@keyframes ogMileageSpin{to{transform:rotate(360deg)}}
.mileage-review-panel.ocr-running button{opacity:.55;pointer-events:none}
.review-state-readonly{padding:12px 0 2px}.review-state-readonly p{margin:8px 0 0;color:var(--muted);font-size:10px;line-height:1.5}


/* V1.5.16 — lecture/correction kilométrique directement dans le contrôle du BDP */
.mileage-values-editing>div{padding:8px 9px}
.mileage-values-editing .suffix-input{margin-top:5px}
.mileage-values-editing .suffix-input input{min-width:0;font-size:11px;font-weight:750}
.mileage-values-editing .suffix-input>span{display:flex;margin:0;font-size:9px;text-transform:none;letter-spacing:0;font-weight:800;color:var(--muted)}
.mileage-inline-warning{margin-top:10px}
.mileage-inline-note{margin:8px 0 0;color:var(--muted);font-size:8.5px}
.mileage-ocr-message{display:flex;align-items:flex-start;gap:8px;padding:10px 12px;margin-top:10px;border:1px solid #dfe5ed;border-radius:10px;background:#f8fafc;font-size:9px;font-weight:700;color:#505863;line-height:1.45}
.mileage-ocr-message .og-icon{width:15px;height:15px;flex:0 0 auto;margin-top:1px}
.mileage-ocr-message.is-error{border-color:#f0cfd1;background:#fff7f7;color:#8a353a}


/* V1.5.16.1 — retour visuel pendant les sauvegardes */
.save-spinner{display:inline-block;width:14px;height:14px;margin-right:8px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;vertical-align:-2px;animation:ogSaveSpin .7s linear infinite}
button[aria-busy="true"]{cursor:wait;opacity:.82}
@keyframes ogSaveSpin{to{transform:rotate(360deg)}}


/* V1.5.17 — numérotation automatique, statistiques repliables et aperçu facturation */
.readonly-number{background:#f5f6f8!important;color:#3d4249!important;font-weight:850!important;cursor:not-allowed}
.stat-fold{overflow:hidden}.stat-fold>summary{list-style:none}.stat-fold>summary::-webkit-details-marker{display:none}.stat-fold-summary{min-height:66px;padding:13px 16px;display:flex;align-items:center;gap:14px;cursor:pointer;user-select:none}.stat-fold-summary:hover{background:#fafbfc}.stat-fold-summary>div{min-width:0}.stat-fold-summary h3{margin:0;font-size:12px}.stat-fold-summary p{margin:4px 0 0}.stat-fold-summary-value{margin-left:auto;white-space:nowrap;font-size:9px;font-weight:850;color:#5c636c;background:#f3f5f7;border:1px solid #e4e7eb;border-radius:999px;padding:6px 9px}.stat-fold-chevron{width:28px;height:28px;border-radius:8px;background:#f4f5f7;display:grid;place-items:center;color:#626a74;flex:0 0 auto}.stat-fold-chevron .og-icon{width:15px;height:15px;transition:.18s}.stat-fold[open] .stat-fold-chevron .og-icon{transform:rotate(90deg)}.stat-fold-content{border-top:1px solid var(--line)}
.stat-comparison-context{display:flex;align-items:center;gap:8px;margin:-2px 0 14px;padding:9px 11px;border:1px solid #e2e6eb;border-radius:10px;background:#f8fafc;color:#626a74;font-size:9.5px}.stat-comparison-context>.og-icon{width:15px;height:15px;color:#5b6878;flex:0 0 auto}.stat-comparison-context strong{color:#343a42}.stat-kpi{min-height:150px}.stat-kpi .stat-kpi-detail{color:var(--muted);font-weight:700}.stat-comparison{display:flex;align-items:center;gap:5px;margin-top:8px;font-size:9px;font-weight:850;line-height:1.3}.stat-comparison>span{width:17px;height:17px;border-radius:999px;display:grid;place-items:center;font-size:10px;flex:0 0 auto}.stat-comparison.positive{color:#178447}.stat-comparison.positive>span{background:#e9f7ef}.stat-comparison.negative{color:#c73d45}.stat-comparison.negative>span{background:#fff0f1}.stat-comparison.neutral{color:#66707c}.stat-comparison.neutral>span{background:#eef1f4}
.mileage-fold-summary .stat-fold-chevron{margin-left:auto}.mileage-fold-summary .mileage-source-pill{margin-left:0}.subcontract-stat-card .stat-fold-content .table-wrap{border-top:1px solid var(--line)}
.draft-preview .invoice-line span small{white-space:pre-line}
@media(max-width:700px){.stat-fold-summary{align-items:flex-start;flex-wrap:wrap}.stat-fold-summary-value{margin-left:0}.mileage-fold-summary .stat-fold-chevron{margin-left:auto}.mileage-fold-summary .mileage-source-pill{margin-left:0}.stat-comparison-context{align-items:flex-start}.stat-kpi{min-height:142px}}

/* V1.5.18 — CA facturé par client */
.client-ca-card .card-head{align-items:flex-start}.client-ca-legend{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:14px;padding-bottom:11px;border-bottom:1px solid #eceef1}.client-ca-legend span{display:inline-flex;align-items:center;gap:6px;font-size:9px;font-weight:800;color:#565d66}.client-ca-legend i{display:block;width:10px;height:10px;border-radius:3px}.client-ca-chart{display:grid;gap:12px}.client-ca-row{display:grid;grid-template-columns:minmax(120px,190px) 1fr 100px;align-items:center;gap:12px}.client-ca-name{font-size:10px;font-weight:800;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.client-ca-track{height:13px;border-radius:999px;background:#eff1f3;overflow:hidden;position:relative}.client-ca-stack{height:100%;display:flex;border-radius:999px;overflow:hidden;min-width:3px}.client-ca-segment{height:100%;display:block;min-width:2px;transition:filter .12s ease}.client-ca-segment:hover{filter:brightness(.88)}.client-ca-total{text-align:right;font-size:10px;white-space:nowrap}

/* V1.5.18 — archives de facturation */
.archive-readonly-banner{display:flex;align-items:center;gap:10px;padding:11px 13px;margin:0 0 14px;border:1px solid #dfe3e8;border-radius:11px;background:#f7f8fa;color:#4d555e}.archive-readonly-banner>.og-icon{width:18px;height:18px;flex:0 0 auto}.archive-readonly-banner strong,.archive-readonly-banner small{display:block}.archive-readonly-banner strong{font-size:10px}.archive-readonly-banner small{font-size:8.5px;color:var(--muted);margin-top:2px}.archive-readonly-banner.in-modal{margin:0 0 16px}.archive-table .badge{margin-top:4px}.archive-invoice-grid{margin-bottom:18px}.archive-section{margin-top:18px}.archive-section>h3{font-size:11px;margin:0 0 9px}.archive-order{border:1px solid #e3e6ea;background:#fafbfc;border-radius:10px;padding:10px 11px;margin-bottom:9px}.archive-order>div:first-child strong,.archive-order>div:first-child small{display:block}.archive-order>div:first-child small{font-size:8.5px;color:var(--muted);margin-top:2px}.archive-mission{border:1px solid #dfe3e8;border-radius:11px;background:#fff;margin-bottom:9px;overflow:hidden}.archive-mission>summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 12px;cursor:pointer;background:#fafbfc}.archive-mission>summary::-webkit-details-marker{display:none}.archive-mission>summary strong,.archive-mission>summary small{display:block}.archive-mission>summary small{font-size:8.5px;color:var(--muted);margin-top:2px}.archive-mission>summary>.og-icon,.archive-mission>summary>span:last-child .og-icon{width:15px;height:15px;transition:transform .16s}.archive-mission[open]>summary>span:last-child .og-icon{transform:rotate(90deg)}.archive-mission-body{padding:12px}.archive-doc-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-top:10px}.archive-doc-link{display:grid;grid-template-columns:28px 1fr 18px;gap:8px;align-items:center;border:1px solid #e3e6ea;border-radius:9px;padding:8px 9px;background:#fff;color:inherit;text-decoration:none}.archive-doc-link:hover{background:#f8f9fa;border-color:#d4d8dd}.archive-doc-link>span:first-child{width:28px;height:28px;border-radius:7px;background:#f0f2f4;display:grid;place-items:center;color:#5d6873}.archive-doc-link .og-icon{width:14px;height:14px}.archive-doc-link strong,.archive-doc-link small{display:block}.archive-doc-link strong{font-size:9px}.archive-doc-link small{font-size:7.8px;color:var(--muted);margin-top:2px}.archive-no-doc{margin-top:9px}

/* V1.5.18 — ordre visuel du résumé kilométrage : valeur puis chevron tout à droite */
.mileage-fold-summary .mileage-source-pill{margin-left:auto}.mileage-fold-summary .stat-fold-chevron{margin-left:0}

@media(max-width:700px){.client-ca-row{grid-template-columns:90px 1fr 78px;gap:8px}.client-ca-total{font-size:9px}.archive-doc-grid{grid-template-columns:1fr}.mileage-fold-summary .mileage-source-pill{margin-left:0}.mileage-fold-summary .stat-fold-chevron{margin-left:auto}}

/* V1.5.20 — monitoring / état du système */
.system-health{border:1px solid #dde1e6;background:#fff;border-radius:999px;height:32px;padding:0 10px;display:inline-flex;align-items:center;gap:7px;font-size:9px;font-weight:850;color:#545b64;cursor:pointer;white-space:nowrap}
.system-health:hover{background:#f7f8f9}.system-health-dot,.system-global-dot{width:8px;height:8px;border-radius:50%;background:#8b929b;flex:0 0 auto}.system-health.ok .system-health-dot,.system-global.level-ok .system-global-dot{background:#2f9e64}.system-health.warning .system-health-dot,.system-global.level-warning .system-global-dot{background:#d99614}.system-health.error .system-health-dot,.system-global.level-error .system-global-dot{background:#d83a43}.system-health.hidden{display:none!important}
.system-global{display:flex;align-items:center;gap:11px;margin-bottom:16px;padding:13px 15px;border:1px solid #e0e3e7;border-radius:12px;background:#fafbfc}.system-global>div{display:grid;gap:2px}.system-global strong{font-size:12.5px}.system-global small{font-size:9.5px;color:var(--muted)}.system-global code{margin-left:auto;font-size:8.5px;color:#666f79;background:#f0f2f4;padding:5px 7px;border-radius:7px}.system-global.level-warning{border-color:#eed9ad;background:#fffaf0}.system-global.level-error{border-color:#efc8cb;background:#fff7f7}
.system-services-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.system-service-card{display:grid;grid-template-columns:40px minmax(0,1fr) auto auto;align-items:center;gap:12px;padding:15px 15px;border:1px solid #e1e4e8;border-radius:12px;background:#fff;min-width:0;min-height:82px}.system-service-card.level-warning{border-color:#ead8b6;background:#fffdfa}.system-service-card.level-error{border-color:#efc8cb;background:#fffafa}.system-service-card.level-planned{border-style:dashed;background:#fafbfc}.system-service-icon{width:40px;height:40px;border-radius:10px;background:#f1f3f5;display:grid;place-items:center;color:#5c6671}.system-service-icon .og-icon{width:19px;height:19px}.system-service-copy{min-width:0}.system-service-title{display:block;font-size:12px;line-height:1.25}.system-service-copy p{margin:5px 0 0;font-size:10.5px;color:#525961;line-height:1.4}.system-service-copy small{display:block;margin-top:4px;font-size:9px;color:var(--muted);line-height:1.4}.system-service-state{align-self:center;display:flex;align-items:center;justify-content:center}.system-service-action{align-self:center}
.system-level{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:5px 8px;font-size:8.5px;font-weight:900;white-space:nowrap;background:#eef1f4;color:#5d6670}.system-level.level-ok{background:#eaf7f0;color:#22784b}.system-level.level-warning{background:#fff2d7;color:#93620b}.system-level.level-error{background:#fde9ea;color:#a52d35}.system-level.level-planned{background:#eef1f4;color:#66707a}
.system-backup-card{margin-top:18px}.system-backup-card .card-head>.system-level{align-self:center}.system-backup-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.system-backup-grid>div{display:grid;gap:4px;border:1px solid #e6e8eb;border-radius:10px;padding:11px 12px;background:#fafbfc}.system-backup-grid span{font-size:8.5px;text-transform:uppercase;letter-spacing:.4px;color:var(--muted);font-weight:850}.system-backup-grid strong{font-size:12px}.system-backup-grid small{font-size:9px;color:var(--muted);overflow-wrap:anywhere;line-height:1.4}.system-event-service{font-size:8.5px;font-weight:900;letter-spacing:.3px;color:#58616b}.system-events-table td{vertical-align:top}.system-events-table strong{font-size:10px}.system-loader{min-height:280px}.system-service-card .btn-small{white-space:nowrap}
@media(max-width:980px){.system-services-grid{grid-template-columns:1fr}.system-backup-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.system-health span:last-child{display:none}.system-health{width:32px;padding:0;justify-content:center}.system-services-grid{grid-template-columns:1fr}.system-service-card{grid-template-columns:36px minmax(0,1fr) auto}.system-service-state{grid-column:3;grid-row:1}.system-service-action{grid-column:2 / 4}.system-backup-grid{grid-template-columns:1fr}.system-global code{display:none}}

.code-block{margin:10px 0 0;padding:11px 12px;border:1px solid #e1e4e8;border-radius:9px;background:#f7f8fa;font-size:10px;line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere;color:#353b42}
.connector-stack{display:grid;gap:10px;margin-bottom:16px}.connector-stack .connector-banner{margin-bottom:0}
.login-help-link{display:inline-block;margin-top:12px;color:#b5111b;font-size:13px;font-weight:700;text-decoration:none}.login-help-link:hover{text-decoration:underline}.form-error.success{background:#edf9f1;color:#167445;border-color:#c9ecd5}
.external-client-choices{display:grid;gap:12px}.external-client-choices .connector-banner{width:100%;text-align:left;cursor:pointer}.external-client-choices .connector-banner>span{color:var(--accent)}
.mission-extra-costs-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.mission-extra-costs{display:grid;gap:10px}.mission-extra-cost-row{display:grid;grid-template-columns:140px minmax(180px,1fr) 135px auto 34px;align-items:end;gap:10px;padding:12px;border:1px solid #e3e6e9;border-radius:11px;background:#fff}.mission-extra-cost-row .field{margin:0}.mission-extra-cost-row .extra-billable{margin:0 0 5px}.mission-extra-cost-row>.action-btn{margin-bottom:4px}@media(max-width:800px){.mission-extra-cost-row{grid-template-columns:1fr 1fr}.mission-extra-cost-row .extra-label{grid-column:1 / 3}}
.extra-cost-detail-list{display:grid;gap:8px}.extra-cost-detail-list>div{display:grid;grid-template-columns:1fr auto;gap:3px 12px;padding:9px 0;border-bottom:1px solid #eceef0}.extra-cost-detail-list small{grid-column:1 / 3;color:var(--muted)}

/* === OG Fleet V1.6.4 : To Do hebdomadaire du planning === */
/* === OG Fleet V1.7.0 : CA hebdomadaire et clients locaux === */
.planning-todo-card{margin:0 0 16px;overflow:hidden;border:1px solid #e3e6ea;background:#fff}
.planning-todo-head{width:100%;min-height:54px;padding:10px 14px;border:0;background:#fff;display:flex;align-items:center;justify-content:space-between;gap:12px;text-align:left;cursor:pointer;color:var(--text)}
.planning-todo-head:hover{background:#fcfcfd}
.planning-todo-head-main{display:flex;align-items:center;gap:10px;min-width:0;flex-wrap:wrap}
.planning-todo-title{display:inline-flex;align-items:center;gap:7px;font-size:11px;font-weight:900;color:#20242a}
.planning-todo-title .og-icon{width:16px;height:16px;color:var(--accent)}
.planning-todo-head small{font-size:9px;font-weight:750;color:var(--muted)}
.planning-todo-collapse{display:grid;place-items:center;width:32px;height:32px;border-radius:8px;color:#69717a;flex:0 0 auto}
.planning-todo-collapse .og-icon{width:16px;height:16px}
.planning-todo-card.is-collapsed .planning-todo-head{min-height:48px}
.planning-todo-body{border-top:1px solid #edf0f2}
.planning-todo-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;min-height:46px;padding:7px 10px 7px 14px;border-bottom:1px solid #f0f1f3}
.planning-todo-row:hover{background:#fcfcfd}
.planning-todo-check{display:flex;align-items:center;gap:10px;min-width:0;cursor:pointer;font-size:10px;font-weight:750;color:#30353b}
.planning-todo-check input{width:17px;height:17px;accent-color:var(--accent);flex:0 0 auto;cursor:pointer}
.planning-todo-check span{min-width:0;line-height:1.4;overflow-wrap:anywhere}
.planning-todo-row.is-done .planning-todo-check span{text-decoration:line-through;color:#90969e;font-weight:650}
.planning-todo-actions{display:flex;align-items:center;gap:3px}
.planning-todo-icon{width:31px;height:31px;border:0;border-radius:7px;background:transparent;display:grid;place-items:center;color:#717780;cursor:pointer}
.planning-todo-icon:hover:not(:disabled){background:#f1f2f4;color:#30353b}
.planning-todo-icon:disabled{opacity:.28;cursor:default}
.planning-todo-icon .og-icon{width:14px;height:14px}
.planning-todo-icon.planning-todo-report:hover{background:#eef5ff;color:#2563eb}
.planning-todo-icon.danger:hover{background:#fff0f1;color:#c81720}
.planning-todo-empty{padding:18px 14px;color:var(--muted);font-size:9.5px;text-align:center}
.planning-todo-add{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;padding:10px 12px;background:#fafafb}
.planning-todo-add input{min-width:0;height:38px;padding:0 11px;border:1px solid #dfe2e6;border-radius:9px;background:#fff;font:inherit;font-size:10px;color:var(--text);outline:none}
.planning-todo-add input:focus{border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 12%,transparent)}
.planning-todo-add .btn{height:38px;white-space:nowrap}
@media(max-width:700px){.planning-todo-row{grid-template-columns:minmax(0,1fr)}.planning-todo-actions{padding-left:27px;justify-content:flex-start}.planning-todo-icon{width:38px;height:38px}.planning-todo-add{grid-template-columns:1fr}.planning-todo-add .btn{width:100%}.planning-todo-head-main{align-items:flex-start;flex-direction:column;gap:3px}}
.planning-ca-total{position:sticky;left:0;z-index:4;background:#191b20!important;color:#fff!important;min-height:64px!important;border-top:2px solid #d71920!important}.planning-ca-total>div{display:grid;gap:4px}.planning-ca-total small{font-size:8px;letter-spacing:.7px;color:#c8cbd0}.planning-ca-total strong{font-size:14px;color:#fff}.planning-ca-total-band{grid-column:auto!important;display:flex;align-items:center;justify-content:flex-end;min-width:0;min-height:64px;padding:10px 16px;background:linear-gradient(90deg,#f8f8f9,#eceef1);border-top:2px solid #d71920;border-bottom:1px solid #d8dbe0}.planning-ca-total-band span{font-size:10px;font-weight:800;color:#555b64}.local-client-choice{border-color:#cbded4!important;background:#f2faf6!important}


/* V1.7.1 — To-do administrative mensuelle / Centre d'actions */
.action-todo-card{margin:0 0 18px;overflow:hidden;border:1px solid #e2e6ea}
.action-todo-head{min-height:66px;padding:13px 16px;border-bottom:1px solid #eceef1;display:flex;align-items:center;justify-content:space-between;gap:14px}
.action-todo-head h3{margin:0;display:flex;align-items:center;gap:7px;font-size:12px}.action-todo-head h3 .og-icon{width:17px;height:17px;color:var(--accent)}
.action-todo-head p{margin:4px 0 0;color:var(--muted);font-size:9px;font-weight:700}.action-todo-head-actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.action-todo-head-actions>.btn{height:34px}.action-todo-head-actions>.btn:not(.btn-primary){width:34px;padding:0;display:grid;place-items:center}.action-todo-head-actions .og-icon{width:14px;height:14px}
.action-todo-month{height:34px;min-width:142px;padding:0 12px;border:1px solid #e1e4e8;border-radius:8px;background:#fff;color:#333942;font-size:9.5px;font-weight:850;cursor:pointer}
.action-todo-month:hover{background:#f8f9fa}.action-todo-list{display:grid}.action-todo-row{display:grid;grid-template-columns:30px minmax(0,1fr) auto auto;align-items:center;gap:9px;min-height:62px;padding:8px 12px;border-bottom:1px solid #f0f1f3;position:relative}
.action-todo-row:last-child{border-bottom:0}.action-todo-row:hover{background:#fcfcfd}.action-todo-row.overdue{box-shadow:inset 3px 0 #d71920}.action-todo-row.today{box-shadow:inset 3px 0 #f59e0b}.action-todo-row.done{opacity:.72;background:#fafbfb}
.action-todo-check{display:grid;place-items:center;cursor:pointer}.action-todo-check input{position:absolute;opacity:0;pointer-events:none}.action-todo-check span{width:19px;height:19px;border:2px solid #cbd0d6;border-radius:6px;background:#fff;position:relative;transition:.15s}
.action-todo-check input:checked+span{background:var(--accent);border-color:var(--accent)}.action-todo-check input:checked+span:after{content:"";position:absolute;left:5px;top:2px;width:5px;height:9px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}
.action-todo-main{border:0;background:transparent;text-align:left;min-width:0;padding:3px 0;cursor:pointer}.action-todo-main strong{display:block;font-size:10.5px;color:#292e34;line-height:1.35}.action-todo-main small{display:block;margin-top:3px;color:#7a828c;font-size:8.5px;line-height:1.35;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.action-todo-main em{display:flex;align-items:center;gap:4px;margin-top:5px;font-style:normal;color:#8a9199;font-size:8px;font-weight:700}.action-todo-main em .og-icon{width:12px;height:12px}
.action-todo-row.done .action-todo-main strong{text-decoration:line-through;color:#8b929a}.action-todo-status{padding:5px 8px;border-radius:999px;font-size:7.8px;font-weight:900;white-space:nowrap}.action-todo-status.overdue{background:#fff0f1;color:#bf1720}.action-todo-status.today{background:#fff4dd;color:#9a6500}.action-todo-status.upcoming{background:#edf4ff;color:#2563eb}.action-todo-status.done{background:#eaf7ef;color:#27824d}
.action-todo-tools{display:flex;align-items:center;gap:2px}.action-todo-tools button{width:30px;height:30px;border:0;border-radius:7px;background:transparent;color:#7a818a;display:grid;place-items:center;cursor:pointer}.action-todo-tools button:hover{background:#f0f2f4;color:#343a41}.action-todo-tools button.danger:hover{background:#fff0f1;color:#c81720}.action-todo-tools .og-icon{width:13px;height:13px}.action-todo-empty{padding:24px 16px;text-align:center;color:var(--muted);font-size:9.5px}
.action-todo-scope{padding:10px 12px;border:1px solid #e5e7eb;border-radius:9px;background:#fafbfc;display:grid;grid-template-columns:1fr 1fr;gap:8px 14px}.action-todo-scope>label:first-child{grid-column:1/-1}.action-todo-scope label:not(:first-child){display:flex;align-items:center;gap:7px;margin:0;font-size:9px;font-weight:700;color:#4b525b}.action-todo-scope input{width:15px;height:15px;accent-color:var(--accent)}
.action-todo-delete-options{display:grid;gap:8px;margin-top:12px}.action-todo-delete-options p{font-size:10px;font-weight:800;margin:0 0 3px}.action-today-row.todo .action-today-dot{background:var(--accent);border-color:#ffecee}
@media(max-width:760px){.action-todo-head{align-items:flex-start;flex-direction:column}.action-todo-head-actions{width:100%;justify-content:flex-start}.action-todo-month{flex:1;min-width:110px}.action-todo-head-actions .btn-primary{width:100%;margin-top:3px}.action-todo-row{grid-template-columns:30px minmax(0,1fr) auto}.action-todo-status{grid-column:2}.action-todo-tools{grid-column:3;grid-row:1/3}.action-todo-main small{white-space:normal}.action-todo-scope{grid-template-columns:1fr}}


/* === OG Fleet V1.8.0 : application mobile/PWA + planning sticky === */
@media(max-width:900px){
  .planning-scroll{position:relative!important;isolation:isolate;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}
  .planning-grid-v144>.resource-cell{position:sticky!important;left:0!important;z-index:40!important;background:#fcfcfd!important;box-shadow:8px 0 14px -14px rgba(18,24,33,.75)}
  .planning-grid-v144>.resource-head{z-index:50!important;background:#fafafb!important}
  .planning-grid-v144>.planning-section-label{position:sticky!important;left:0!important;z-index:45!important;background:#f7f8fa!important;box-shadow:8px 0 14px -14px rgba(18,24,33,.75)}
  .planning-grid-v144>.planning-ca-total{z-index:45!important;background:#191b20!important}
  .planning-grid-v144>.planning-week-head,.planning-grid-v144>.resource-week,.planning-grid-v144>.planning-section-band,.planning-grid-v144>.planning-ca-total-band{position:relative;z-index:1}
  .resource-week .plan-item{z-index:2!important}
}
@media(max-width:900px) and (orientation:landscape){
  .content.planning-mode{padding:12px 12px calc(74px + env(safe-area-inset-bottom))}
  .planning-week-banner{margin-bottom:10px}
}
@media(display-mode:standalone){
  html,body,.app-shell{min-height:100dvh}
  .topbar{padding-top:env(safe-area-inset-top)}
  .mobile-nav{padding-bottom:env(safe-area-inset-bottom);height:calc(66px + env(safe-area-inset-bottom))}
  @media(max-width:700px){.content{padding-bottom:calc(88px + env(safe-area-inset-bottom))}}
}


/* === OG Fleet V1.8.1 : relais financiers, invitations et modales prioritaires === */
.mission-execution-segments{display:grid;gap:12px;margin-top:12px}
.mission-segment-row{border:1px solid var(--border);border-radius:14px;padding:14px;background:var(--surface-soft,#f8f9fb)}
.mission-segment-row .form-grid{margin:0}
.mission-relay-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.mission-relay-summary{display:flex;gap:10px 16px;align-items:center;flex-wrap:wrap;font-size:13px}
.mission-relay-summary strong{font-size:15px}
.relay-warning{color:#a15c00;font-weight:700}
.relay-warning-box{margin:12px 0;padding:10px 12px;border-radius:10px;background:#fff5df;border:1px solid #f0d39b;color:#744100;font-size:13px}
.relay-finance-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:10px 0 14px}
.relay-finance-kpis>div{padding:12px;border:1px solid var(--border);border-radius:12px;background:var(--surface-soft,#f8f9fb)}
.relay-finance-kpis span,.relay-finance-kpis small,.relay-detail-row span,.relay-detail-row small{display:block;color:var(--muted);font-size:12px}
.relay-finance-kpis strong{display:block;margin-top:4px;font-size:16px}
.relay-detail-list{display:grid;gap:8px}
.relay-detail-row{display:grid;grid-template-columns:minmax(220px,2fr) repeat(3,minmax(110px,1fr));gap:10px;align-items:center;padding:10px 0;border-top:1px solid var(--border)}
.relay-detail-row>div:first-child{display:flex;gap:10px;align-items:center}.relay-detail-row>div:first-child>b{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--surface-soft,#f1f3f6)}
.stat-finance-overview{margin-top:14px}.relay-stat-card .stat-fold-summary-value{white-space:nowrap}
.invitation-state{display:flex;flex-direction:column;gap:2px}.invitation-state small{color:var(--muted)}
@media(max-width:900px){.relay-finance-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.relay-detail-row{grid-template-columns:1fr 1fr}.relay-detail-row>div:first-child{grid-column:1/-1}}
@media(max-width:600px){.relay-finance-kpis,.relay-detail-row{grid-template-columns:1fr}.relay-detail-row>div:first-child{grid-column:auto}.mission-relay-head{align-items:stretch}.mission-relay-head .btn{width:100%}}
.mission-segment-head{display:flex;align-items:center;gap:10px;margin-bottom:12px}.mission-segment-head>strong{margin-right:auto}.mission-segment-head>[data-segment-margin]{font-size:12px;font-weight:700;color:var(--muted)}
.mission-segment-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.mission-segment-grid .field{margin:0}
@media(max-width:900px){.mission-segment-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.mission-segment-grid{grid-template-columns:1fr}.mission-segment-head{align-items:flex-start;flex-wrap:wrap}}
/* Les notifications doivent rester visibles au-dessus d'une modale V1.8.1. */
.toast-root{z-index:1300}

/* V1.8.1.2 — Portails Conducteur / Sous-traitant */
.portal-activity-tabs{margin-top:16px;margin-bottom:0}
.portal-activity-tabs button{min-height:40px;height:auto;padding:8px 14px}
.portal-card-status{margin-left:auto;display:flex;flex-direction:column;align-items:flex-end;gap:5px}
.portal-mission-flag{display:inline-flex;align-items:center;justify-content:center;min-height:21px;padding:3px 8px;border-radius:999px;font-size:9px;font-weight:900;line-height:1.15;white-space:nowrap;border:1px solid transparent}
.portal-mission-flag.future{background:#eef4ff;color:#365f9d;border-color:#d7e5fb}
.portal-mission-flag.today,.portal-mission-flag.current{background:#fff4df;color:#895600;border-color:#f2d79b}
.portal-mission-flag.done{background:#edf7ef;color:#2f6e3a;border-color:#cfe8d3}
.portal-mission-flag.attention{background:#fff0f0;color:#a12828;border-color:#efc5c5}
.mission-mobile-card.portal-overdue{border-color:#edc2c2;box-shadow:0 0 0 1px rgba(180,40,40,.04)}
@media(max-width:520px){.portal-activity-tabs{display:grid;grid-template-columns:1fr 1fr;gap:7px}.portal-activity-tabs button{justify-content:center;text-align:center;padding:8px 7px;font-size:9.5px}.portal-card-status{gap:4px}.portal-mission-flag{font-size:8.5px;white-space:normal;text-align:center}.mission-mobile-card .mobile-route{align-items:flex-start}}


/* V1.8.1.3 — Envoi de documents fiabilisé */
.doc-upload-status{margin-top:10px;min-height:18px;font-size:12px;font-weight:700;color:#68707a}.doc-upload-status.is-active,.doc-upload-status.is-error{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:10px 12px;border:1px solid #dde2e7;border-radius:10px;background:#f8f9fa}.doc-upload-status.is-error{border-color:#efc2c4;background:#fff5f5;color:#a5272d}.doc-upload-progress{flex-basis:100%;height:6px;overflow:hidden;border-radius:999px;background:#e5e7eb}.doc-upload-progress i{display:block;height:100%;border-radius:inherit;background:currentColor;transition:width .15s ease}.doc-upload-status .save-spinner{width:14px;height:14px}

/* V1.8.1.4 — Indexation des conducteurs indépendants */
.independent-indexation-field{background:#f8fafc;border:1px solid #e1e5ea;border-radius:12px;padding:12px}.independent-indexation-preview{display:flex;gap:16px;flex-wrap:wrap;margin-top:8px;color:var(--muted);font-size:11px}.independent-indexation-preview strong{color:var(--text);margin-left:4px}.independent-indexation-review{background:#f8fafc;border-radius:8px;padding:8px}

/* V1.8.2 — Relais opérationnels A/B/C & planning */
.relay-enable-card{display:flex;align-items:flex-start;gap:12px;padding:14px 16px;border:1px solid var(--border);border-radius:14px;background:var(--surface-soft,#f8f9fb);cursor:pointer}
.relay-enable-card input{margin-top:3px}.relay-enable-card span{display:grid;gap:3px}.relay-enable-card strong{font-size:14px}.relay-enable-card small{color:var(--muted);font-size:12px;line-height:1.4}
.relay-head-actions{display:flex;gap:8px;flex-wrap:wrap}.relay-letter{display:grid;place-items:center;flex:0 0 32px;width:32px;height:32px;border-radius:10px;background:#20252c;color:#fff;font-weight:900;font-size:14px}.segment-head-copy{display:grid;gap:2px;margin-right:auto}.segment-head-copy strong{font-size:14px}.segment-head-copy small{font-size:11px;color:var(--muted)}
.segment-executor-finance{padding:12px!important;border:1px solid #dde3e9;border-radius:12px;background:#fff}.segment-finance-title{display:flex;justify-content:space-between;gap:12px;align-items:baseline;margin-bottom:10px}.segment-finance-title small{color:var(--muted);font-size:11px}.segment-finance-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;align-items:end}.segment-finance-grid label{position:relative;display:grid;gap:5px;font-size:11px;font-weight:700;color:var(--muted)}.segment-finance-grid input{width:100%}.segment-finance-grid label .input-suffix{position:absolute;right:10px;bottom:11px;color:var(--muted);font-weight:800}.segment-total-preview{padding:8px 10px;border-radius:10px;background:var(--surface-soft,#f6f7f9);min-height:42px}.segment-total-preview span{display:block;color:var(--muted);font-size:10px}.segment-total-preview strong{display:block;margin-top:3px;font-size:13px}.relay-info-card{border-color:#d8dce2!important;background:#f8fafc!important}
.plan-mission-compact.is-relay-segment{box-shadow:inset 4px 0 0 #111827}.relay-legend{background:#eef0f2!important;color:#30343a!important;border-color:#d8dce0!important}.resource-ca small{display:block;margin-top:2px;font-size:9px;font-weight:600;color:var(--muted)}
.relay-mode-active #executionMode,.relay-mode-active #missionDriver{pointer-events:none}
@media(max-width:900px){.segment-finance-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.relay-head-actions{width:100%;display:grid;grid-template-columns:1fr}.relay-head-actions .btn{width:100%}.segment-finance-title{display:grid}.segment-finance-grid{grid-template-columns:1fr}.relay-letter{width:28px;height:28px;flex-basis:28px}.mission-segment-head>[data-segment-margin]{width:100%;padding-left:38px}}


/* V1.8.3 — relais simplifiés, navigation semaine et accès mission */
.planning-week-nav{display:grid;grid-template-columns:38px minmax(94px,auto) 38px;align-items:center;gap:6px}
.planning-week-nav .planning-week-arrow{display:grid;place-items:center;margin:0}
.planning-week-nav .planning-today-btn{justify-content:center;margin:0;white-space:nowrap}
.relay-ok{color:#1f7a48;font-weight:800}.relay-ok-box{margin:12px 0;padding:10px 12px;border-radius:10px;background:#eef9f2;border:1px solid #cce8d6;color:#27633f;font-size:13px;font-weight:750}
.relay-detail-row.relay-detail-simple{grid-template-columns:minmax(260px,2fr) minmax(120px,1fr) minmax(150px,1fr)}
.relay-finance-kpis{grid-template-columns:repeat(5,minmax(0,1fr))}
.relay-ca-field{background:#fff;border:1px solid #e3e6ea;border-radius:10px;padding:9px!important}
/* Le bouton conserve ses couleurs : seul son ancrage est fiabilisé. */
.plan-mission-compact.is-expanded .plan-open-mission{position:absolute;left:50%;bottom:7px;transform:translateX(-50%);grid-row:auto;justify-self:auto;align-self:auto;margin:0!important;z-index:3;white-space:nowrap}
@media(max-width:900px){.relay-finance-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.relay-detail-row.relay-detail-simple{grid-template-columns:1fr 1fr}.relay-detail-row.relay-detail-simple>div:first-child{grid-column:1/-1}}
@media(max-width:700px){.planning-week-nav{grid-template-columns:40px minmax(100px,1fr) 40px;gap:7px;width:100%}.planning-week-nav .btn{width:100%}.relay-finance-kpis,.relay-detail-row.relay-detail-simple{grid-template-columns:1fr}.relay-detail-row.relay-detail-simple>div:first-child{grid-column:auto}}

/* V1.8.4 — indicateurs société exécutante et marge hebdomadaire */
.resource-ca.resource-ca-stack{display:grid!important;gap:3px!important;white-space:normal!important;overflow:visible!important;text-overflow:clip!important}
.resource-ca-stack>span{display:block;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.resource-ca-stack .resource-ca-se{padding-top:3px;border-top:1px dashed #e2e5e9;color:#5f646c}
.resource-ca-stack .resource-ca-se b{color:#1f2329}
.resource-ca-stack .resource-ca-ind{padding-top:3px;border-top:1px dashed #e2e5e9;color:#a14a09}
.resource-ca-stack .resource-ca-ind b{color:#803900}
.planning-ca-total-band.planning-week-finance-summary{justify-content:flex-start;gap:9px;padding:8px 10px}
.planning-week-kpi{min-width:190px;min-height:48px;padding:8px 11px;border-top:2px solid #d71920;border-radius:7px;background:#191b20;color:#fff;display:grid;align-content:center;gap:3px;box-shadow:0 2px 5px rgba(20,23,28,.08)}
.planning-week-kpi small{font-size:8px;font-weight:800;letter-spacing:.65px;color:#c8cbd0;white-space:nowrap}
.planning-week-kpi strong{font-size:13px;line-height:1.2;color:#fff;white-space:nowrap}
.planning-week-finance-note{margin-left:auto!important;text-align:right;white-space:nowrap}
@media(max-width:1180px) and (min-width:901px){.planning-week-kpi{min-width:165px;padding-inline:9px}.planning-week-kpi strong{font-size:12px}.planning-week-finance-note{font-size:8.5px!important}}
@media(max-width:900px){.planning-week-kpi{min-width:210px}.planning-week-finance-note{margin-left:8px!important}}
.plan-expanded-finance{display:none;margin-top:6px;padding-top:6px;border-top:1px solid rgba(20,25,35,.09);grid-template-columns:repeat(2,minmax(0,1fr));gap:5px 8px}
.plan-mission-compact.is-expanded .plan-expanded-finance{display:grid}
.plan-expanded-finance>div{min-width:0}.plan-expanded-finance span{display:block;font-size:7.3px!important;text-transform:uppercase;letter-spacing:.3px;color:#777e87!important;margin:0!important}.plan-expanded-finance span small{display:block;font-size:6.6px!important;text-transform:none;letter-spacing:0;color:#898e96!important}.plan-expanded-finance strong{display:block;margin-top:2px;font-size:9px;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#1f2329}
.plan-expanded-finance .plan-finance-status{grid-column:1/-1;font-size:7px!important;color:#6b717a!important;text-transform:none;letter-spacing:0}
.resource-week{--plan-row-expanded:190px}
@media(max-width:1100px){.resource-week{--plan-row-expanded:198px}}
@media(max-width:700px){.resource-week{--plan-row-expanded:204px}}


/* V1.8.5.1 — accès mission depuis carte fermée */
.plan-mission-compact .plan-card-state-actions{display:flex;flex-direction:column;align-items:center;gap:3px}
.plan-mission-compact .plan-open-icon{width:24px;height:24px;min-width:24px;padding:0;display:grid;place-items:center;position:relative;z-index:4}
.plan-mission-compact .plan-open-icon .og-icon{width:13px;height:13px}
.plan-mission-compact .plan-essential{padding-right:34px}
.resource-week .plan-item.plan-mission-compact .plan-client{margin-right:32px!important}

/* V1.8.13 — statistiques simplifiées */
.stat-main-kpis{align-items:start}
.stat-kpi-expandable{padding:0;overflow:hidden}
.stat-kpi-expandable>summary{list-style:none;display:block;position:relative;min-height:150px;padding:19px;cursor:pointer;user-select:none}
.stat-kpi-expandable>summary::-webkit-details-marker{display:none}
.stat-kpi-expandable>summary:hover{background:#fafbfc}
.stat-kpi-expandable .kpi-icon{right:15px;top:15px}
.stat-kpi-expand-chevron{position:absolute;right:15px;bottom:14px;width:25px;height:25px;border-radius:8px;background:#f4f5f7;color:#66707c;display:grid;place-items:center}
.stat-kpi-expand-chevron .og-icon{width:14px;height:14px;transition:transform .18s}
.stat-kpi-expandable[open] .stat-kpi-expand-chevron .og-icon{transform:rotate(90deg)}
.stat-kpi-expand-content{border-top:1px solid var(--line);padding:11px 14px 14px;background:#fbfcfd}
.stat-kpi-breakdown{display:grid;gap:0}
.stat-kpi-breakdown-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 2px;border-bottom:1px solid #eceff2}
.stat-kpi-breakdown-row:last-child{border-bottom:0}
.stat-kpi-breakdown-row span{min-width:0;display:block}
.stat-kpi-breakdown-row strong{display:block;font-size:11px}
.stat-kpi-breakdown-row small{display:block;margin-top:2px;color:var(--muted);font-size:9px}
.stat-kpi-breakdown-row b{white-space:nowrap;font-size:11px}
.stat-kpi-breakdown-empty{padding:7px 2px;color:var(--muted);font-size:10px}
.stat-kpi-totals{display:grid;gap:0}
.stat-kpi-totals>div{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 2px;border-bottom:1px solid #eceff2}
.stat-kpi-totals>div:last-child{border-bottom:0}
.stat-kpi-totals span{font-size:10px;color:var(--muted);font-weight:700}
.stat-kpi-totals strong{font-size:12px;white-space:nowrap}
@media(max-width:700px){.stat-kpi-expandable>summary{min-height:142px;padding:15px}.stat-kpi-expandable .kpi-icon{display:none}.stat-kpi-expand-chevron{right:12px;bottom:11px}}

/* V1.8.15 — versions de documents & envoi relais par tronçon */
.document-version-actions{display:grid;gap:7px;padding:14px;border:1px solid var(--line);border-radius:12px;background:#fafafb}
.document-version-actions>strong{font-size:11px}.document-version-actions>p{margin:0;color:var(--muted);font-size:10px;line-height:1.5}.document-version-actions>div{display:flex;gap:8px;flex-wrap:wrap}
.document-history-list{display:grid;gap:8px}.document-history-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px;border:1px solid var(--line);border-radius:11px;background:#fff}.document-history-row>div:first-child{display:grid;gap:3px;min-width:0}.document-history-row strong{font-size:11px}.document-history-row small{font-size:9px;color:var(--muted);overflow-wrap:anywhere}.document-history-row>div:last-child{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap}
.relay-detail-row.relay-detail-simple{grid-template-columns:minmax(260px,2fr) minmax(120px,1fr) minmax(150px,1fr) minmax(170px,1.2fr)}
.relay-dispatch-cell{display:grid;gap:5px;align-content:center}.relay-dispatch-cell .btn{justify-self:start;margin-top:2px}.relay-dispatch-cell .text-danger{color:#a71922}
@media(max-width:900px){.relay-detail-row.relay-detail-simple{grid-template-columns:1fr 1fr}.relay-detail-row.relay-detail-simple>div:first-child{grid-column:1/-1}}
@media(max-width:600px){.document-history-row{align-items:flex-start;flex-direction:column}.document-history-row>div:last-child{justify-content:flex-start}.relay-detail-row.relay-detail-simple{grid-template-columns:1fr}.relay-detail-row.relay-detail-simple>div:first-child{grid-column:auto}}

/* V1.8.16 — Statistiques KPI */
.statistics-tabs{display:flex;gap:6px;align-items:center;margin:0 0 14px;padding:4px;background:#f4f5f7;border:1px solid var(--line);border-radius:11px;width:max-content;max-width:100%}.statistics-tabs button{border:0;background:transparent;color:#666d76;border-radius:8px;min-height:34px;padding:0 14px;font-size:10.5px;font-weight:850;cursor:pointer}.statistics-tabs button.active{background:#fff;color:var(--accent);box-shadow:0 1px 4px rgba(20,24,32,.08)}.kpi-pilotage-grid{margin-top:0}.kpi-occupancy-card .card-head{align-items:flex-start}.occupancy-list{display:grid;gap:12px}.occupancy-row{display:grid;grid-template-columns:minmax(190px,1.1fr) minmax(160px,2fr) 72px;align-items:center;gap:14px;padding:10px 0;border-bottom:1px solid #edf0f3}.occupancy-row:last-child{border-bottom:0}.occupancy-copy strong{display:block;font-size:11px}.occupancy-copy small{display:block;margin-top:3px;color:var(--muted);font-size:8.5px;line-height:1.45}.occupancy-track{height:10px;border-radius:999px;background:#edf0f3;overflow:hidden}.occupancy-track span{display:block;height:100%;border-radius:inherit;background:var(--accent)}.occupancy-row>b{text-align:right;font-size:11px}.kpi-method-card p{margin:7px 0 0;color:var(--muted);font-size:9.5px;line-height:1.65}.mileage-stat-card .mileage-kpis{padding:14px 16px;gap:10px}.mileage-stat-card .mileage-kpis .kpi{box-shadow:none;border:1px solid #e5e8ec;min-height:100px}
@media(max-width:700px){.statistics-tabs{width:100%}.statistics-tabs button{flex:1}.occupancy-row{grid-template-columns:1fr 62px}.occupancy-track{grid-column:1 / -1;grid-row:2}.occupancy-row>b{grid-column:2;grid-row:1}.kpi-pilotage-grid{grid-template-columns:1fr 1fr}.mileage-stat-card .mileage-kpis{grid-template-columns:1fr}}
@media(max-width:480px){.kpi-pilotage-grid{grid-template-columns:1fr}}

/* V1.8.16.2 — KPI intégré comme bloc Statistiques + occupation lun-ven */
.kpi-stat-card .kpi-fold-pad{padding:16px}
.kpi-stat-card .kpi-pilotage-grid{margin:0 0 16px}
.kpi-occupancy-panel{border:1px solid #e6e9ed;border-radius:12px;padding:16px;background:#fff}
.kpi-panel-head{margin-bottom:10px}.kpi-panel-head h3{margin:0;font-size:12px}.kpi-panel-head p{margin:4px 0 0}
.kpi-method-panel{margin-top:14px;padding:14px 16px;border-radius:12px;background:#f8f9fa;border:1px solid #eceef1}
.kpi-method-panel strong{font-size:10.5px}.kpi-method-panel p{margin:6px 0 0;color:var(--muted);font-size:9.5px;line-height:1.65}
@media(max-width:700px){.kpi-stat-card .kpi-fold-pad{padding:12px}.kpi-occupancy-panel{padding:12px}}

/* V1.8.17 — verrouillage indépendant des coûts exécutants */
.execution-cost-control{margin-top:14px;padding:15px;border:1px solid var(--line);border-radius:13px;background:#fbfcfd;display:grid;gap:12px}
.execution-cost-control-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.execution-cost-control-head>div:first-child{display:grid;gap:3px}.execution-cost-control-head strong{font-size:11px}.execution-cost-control-head small,.execution-cost-lock-note{color:var(--muted);font-size:9px;line-height:1.45}.execution-cost-badges{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.execution-cost-numbers{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.execution-cost-numbers>div,.execution-cost-preview>div{padding:10px;border:1px solid #e7eaee;border-radius:10px;background:#fff;display:grid;gap:3px}.execution-cost-numbers span,.execution-cost-preview span{font-size:8.5px;color:var(--muted);font-weight:700}.execution-cost-numbers strong,.execution-cost-preview strong{font-size:11px}.execution-cost-actions{display:flex;gap:7px;flex-wrap:wrap}
.execution-cost-preview{display:grid;grid-template-columns:1fr 1fr;gap:8px}.execution-cost-inline-state{margin:14px 0 0;padding:10px 12px;border:1px solid var(--line);border-radius:10px;display:flex;align-items:center;gap:9px;background:#fbfcfd}.execution-cost-inline-state small{color:var(--muted);font-size:9px}
.relay-cost-lock-panel{margin-top:12px}.relay-cost-lock-row{display:grid;grid-template-columns:minmax(190px,1.4fr) minmax(180px,1fr) minmax(155px,.8fr) auto;gap:10px;align-items:center;padding:10px 0;border-top:1px solid #e8ebef}.relay-cost-lock-row>div:first-child{display:grid;gap:2px}.relay-cost-lock-row>div:first-child span{font-size:9px;color:var(--muted)}.relay-cost-lock-row>div:nth-child(2){display:flex;gap:9px;align-items:center;flex-wrap:wrap;font-size:9px;color:var(--muted)}.relay-cost-lock-row>div:nth-child(2) strong{font-size:10.5px;color:var(--text)}.relay-cost-lock-row>div:last-child{display:flex;gap:6px;justify-content:flex-end;flex-wrap:wrap}
@media(max-width:800px){.execution-cost-numbers{grid-template-columns:1fr 1fr}.relay-cost-lock-row{grid-template-columns:1fr 1fr}.relay-cost-lock-row>div:last-child{justify-content:flex-start}}
@media(max-width:520px){.execution-cost-control-head{display:grid}.execution-cost-badges{justify-content:flex-start}.execution-cost-numbers,.execution-cost-preview,.relay-cost-lock-row{grid-template-columns:1fr}}

/* V1.8.19.3 — Récapitulatifs : un tableau de relais ne fait jamais défiler toute la fenêtre. */
.modal.modal-lg,.modal.modal-lg .modal-body{min-width:0;max-width:100%;box-sizing:border-box}
.modal.modal-lg .modal-body{width:100%;overflow-x:hidden;overflow-y:auto;overscroll-behavior-x:contain}
.modal.modal-lg .modal-body > *{min-width:0;max-width:100%;box-sizing:border-box}
.mission-mileage-summary{min-width:0;max-width:100%;overflow:hidden;box-sizing:border-box}
.mission-mileage-summary .relay-mileage-table-wrap{display:block;width:100%;max-width:100%;min-width:0;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}
.mission-mileage-summary .relay-mileage-table-wrap .data-table{width:100%;min-width:760px}
.mission-mileage-summary .relay-mileage-table-wrap td,.mission-mileage-summary .relay-mileage-table-wrap th{white-space:nowrap}
.mission-mileage-summary .relay-mileage-table-wrap td:first-child{white-space:normal;min-width:135px}
.mission-mileage-summary .relay-mileage-table-wrap:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}
@media(max-width:700px){.mission-mileage-summary{padding:11px}.mission-mileage-summary .relay-mileage-table-wrap:after{content:none}}

/* V1.8.19.4 — Commandes / Missions : tri au clic et filtres directement sous les en-têtes. */
.filterable-table{min-width:1120px}
.filterable-table thead th{vertical-align:top;padding:8px 9px;min-width:110px}
.filterable-table thead th:first-child{min-width:148px}
.filterable-table .list-column-head{display:flex;flex-direction:column;gap:7px;min-width:0}
.filterable-table .list-sort{border:0;padding:3px 2px;background:transparent;color:#666d78;display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;font:inherit;letter-spacing:inherit;text-transform:inherit;text-align:left;cursor:pointer}
.filterable-table .list-sort:hover,.filterable-table .list-sort.is-active{color:var(--accent)}
.filterable-table .list-sort span:last-child{font-size:14px;flex:0 0 auto}
.filterable-table .list-sort:focus-visible,.filterable-table .list-column-filter:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.filterable-table .list-column-filter{box-sizing:border-box;width:100%;min-width:0;height:29px;border:1px solid var(--line);border-radius:6px;background:#fff;padding:4px 6px;color:var(--text);font-family:inherit;font-size:11px;font-weight:400;letter-spacing:normal;text-transform:none}
.filterable-table th:nth-last-child(1){min-width:52px}
.filterable-table th:nth-last-child(1) .list-column-filter{display:none}

/* V1.8.19.7 — Sélection et actions rapides des flux inter-sociétés. */
.intercompany-selection-bar{display:flex;align-items:center;flex-wrap:wrap;gap:12px;background:var(--accent-soft);border:1px solid #e7c4c7;border-radius:10px;padding:14px 16px;margin-bottom:12px}
.intercompany-selection-summary{display:flex;flex-direction:column;gap:4px;margin-right:auto}
.intercompany-selection-summary strong{font-size:13px}.intercompany-selection-summary small{color:var(--muted);font-size:11px}
.intercompany-selection-actions{display:flex;align-items:center;flex-wrap:wrap;gap:7px}
.intercompany-selection-actions button:disabled{opacity:.45;cursor:not-allowed}
.intercompany-selection-result{padding:12px 16px;margin-bottom:12px;border:1px solid var(--line);border-radius:10px;background:#fff;font-size:12px}
.intercompany-selection-result ul{margin:8px 0 0;padding-left:20px;color:var(--accent)}
.intercompany-selectable-table th.intercompany-select-cell,.intercompany-selectable-table td.intercompany-select-cell{min-width:44px;width:44px;text-align:center;padding:12px 9px}
.intercompany-select-cell input[type=checkbox]{width:16px;height:16px;accent-color:var(--accent);cursor:pointer;margin:0}
.intercompany-select-cell small{display:block;margin-top:6px;font-size:10px;color:var(--muted)}
.intercompany-selectable-table th:nth-child(2){min-width:148px}
.intercompany-selectable-table tbody tr.intercompany-selected-row,.intercompany-selectable-table tbody tr.intercompany-selected-row:hover{background:var(--accent-soft)}
@media(max-width:700px){.intercompany-selection-bar{align-items:flex-start}.intercompany-selection-actions{width:100%}}

/* V1.8.19.9 — Période Inter-sociétés, même sélecteur que Statistiques. */
.intercompany-period-controls{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-bottom:16px}
.intercompany-period-controls .period-switch{margin-bottom:0}
.intercompany-month-picker{display:flex;align-items:center;flex-wrap:wrap;gap:8px}
.intercompany-month-picker label{font-size:11px;font-weight:700;color:var(--muted)}
.intercompany-month-picker input{height:34px;border:1px solid var(--line);border-radius:7px;padding:4px 8px;background:#fff;color:var(--text);font:inherit;font-size:12px}
.intercompany-period-label{color:var(--muted);font-size:11px}
.intercompany-period-controls button:disabled{opacity:.45;cursor:not-allowed}

/* V1.8.19.10 — Annulation facturable : rayures rouges et contour de facturation. */
.resource-week .plan-item.plan-cancelled-billable.plan-stage-missing{border-color:var(--pl-missing)!important;border-left-color:var(--pl-missing)!important}
.resource-week .plan-item.plan-cancelled-billable.plan-stage-docreview{border-color:#b7791f!important;border-left-color:#b7791f!important}
.resource-week .plan-item.plan-cancelled-billable.plan-stage-review{border-color:var(--pl-review)!important;border-left-color:var(--pl-review)!important}
.resource-week .plan-item.plan-cancelled-billable.plan-stage-ready{border-color:var(--pl-ready)!important;border-left-color:var(--pl-ready)!important}
.resource-week .plan-item.plan-cancelled-billable.plan-stage-billed{border-color:var(--pl-billed)!important;border-left-color:var(--pl-billed)!important}

/* V1.8.20 — Factures fournisseurs et pointage par mission. */
.supplier-filter-bar{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px;margin-bottom:18px}
.supplier-filter-bar label{display:flex;flex-direction:column;gap:5px;font-size:11px;font-weight:700;color:var(--muted)}
.supplier-filter-bar select,.supplier-filter-bar input{height:34px;border:1px solid var(--line);border-radius:7px;padding:4px 9px;background:#fff;font:inherit;color:var(--text)}
.supplier-period-hint{margin:14px 0}.supplier-text-link{border:0;background:transparent;color:var(--accent);font:inherit;font-weight:800;padding:0;text-align:left;cursor:pointer}
.supplier-invoice-links{display:flex;gap:6px;flex-wrap:wrap}.supplier-allocation-section .table-wrap{max-height:390px;overflow:auto;border:1px solid var(--line);border-radius:9px}
.supplier-allocation-amount{width:115px;min-height:32px;border:1px solid var(--line);border-radius:6px;padding:5px 7px}
.supplier-allocation-amount:disabled{background:#f1f2f4;color:#8b9098}.supplier-allocation-check{width:17px;height:17px;accent-color:var(--accent)}
.supplier-mission-target{padding:13px 0;border-top:1px solid var(--line)}.supplier-mission-target>.badge{margin-left:10px}.supplier-mission-target p{font-size:12px;color:var(--muted);margin:8px 0}

/* Réception des factures : mêmes champs, cartes et accents que les formulaires OG Fleet. */
.supplier-receipts-filters{padding:17px 19px;margin-bottom:18px}
.supplier-receipts-filters .supplier-filter-bar{margin:0;gap:14px}
.supplier-receipts-filters label{font-size:11px;color:#4e5259;gap:7px;min-width:150px;flex:0 1 190px}
.supplier-receipts-filters select,.supplier-receipts-filters input{width:100%;height:38px;border-radius:9px;padding:8px 10px;border-color:#dfe1e5;font-size:12px;outline:none}
.supplier-receipts-help{display:flex;gap:7px;align-items:center;margin:14px 0 0;padding-top:12px;border-top:1px solid var(--line);font-size:11px;color:var(--muted);line-height:1.5}
.supplier-receipts-help .svg-icon{color:var(--accent);width:15px;height:15px;flex-shrink:0}
.supplier-receipts-table{min-width:1250px}
.supplier-receipts-table td{padding:6px 8px}
.supplier-receipts-table thead th:nth-child(n+7){padding-top:13px}
.supplier-receipts-table thead th:nth-child(7){min-width:70px;text-align:center}
.supplier-receipts-table input[type=date],.supplier-receipts-table select,.supplier-receipts-table textarea{font:inherit;font-size:12px;color:var(--text);background:var(--panel);border:1px solid #dfe1e5;border-radius:9px;padding:5px 8px;outline:none;transition:border-color .15s,box-shadow .15s}
.supplier-receipts-table input[type=date]{width:136px;height:32px}
.supplier-receipts-table select{width:130px;height:32px}
.supplier-receipts-table textarea{display:block;min-width:165px;width:100%;height:32px;min-height:32px;line-height:1.5;resize:vertical}
.supplier-receipts-table textarea::placeholder{color:#969ba5}
.supplier-receipts-table input[type=date]:focus,.supplier-receipts-table select:focus,.supplier-receipts-table textarea:focus,.supplier-receipts-filters select:focus,.supplier-receipts-filters input:focus{border-color:#ef9499;box-shadow:0 0 0 3px var(--accent-soft)}
.supplier-receipts-table .supplier-received-cell{text-align:center}
.supplier-receipts-table input[type=checkbox]{appearance:none;display:inline-grid;place-content:center;width:22px;height:22px;margin:0;border:1.5px solid #dfe1e5;border-radius:6px;background:var(--panel);cursor:pointer;transition:background .15s,border-color .15s;vertical-align:middle}
.supplier-receipts-table input[type=checkbox]:checked{background:var(--accent);border-color:var(--accent)}
.supplier-receipts-table input[type=checkbox]:checked::after{content:'';width:10px;height:6px;border:2px solid white;border-top:0;border-right:0;transform:translateY(-1px) rotate(-45deg)}
.supplier-receipts-table input[type=checkbox]:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.supplier-receipts-table input:disabled,.supplier-receipts-table select:disabled,.supplier-receipts-table textarea:disabled{opacity:.65;cursor:wait}
.supplier-receipt-save{display:block;font-size:10px;color:var(--muted);min-height:0;margin-top:2px}
.supplier-receipt-save[data-save-state=saved]{color:var(--green)}
.supplier-receipt-save[data-save-state=error]{color:var(--accent)}
@media(max-width:700px){.supplier-receipts-filters{padding:14px}.supplier-receipts-filters label{flex:1 1 140px;min-width:130px}.supplier-receipts-help{align-items:flex-start}}

.supplier-receipt-state{display:grid;gap:7px}
.supplier-receipt-state>span{font-size:11px;font-weight:700;color:#4e5259}
.supplier-receipt-switch.period-switch{margin:0;height:38px;align-items:center}
.supplier-receipt-switch button{white-space:nowrap;padding:7px 12px;font-size:11px}
.supplier-receipts-table thead th:nth-child(7){padding-top:8px;min-width:105px}
.supplier-receipts-table .supplier-receipt-save:empty{display:none}

.subcontract-invoice-recipient{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;padding:10px 12px;margin:12px 0;border:1px solid var(--border,#e1e4e8);border-radius:10px;background:var(--bg,#f5f6f8)}
.subcontract-invoice-recipient span{font-size:12px;color:var(--muted,#68717d)}
.subcontract-invoice-recipient strong{font-size:14px;overflow-wrap:anywhere}
