﻿:root{--shell:#171715;--shell2:#222220;--bg:#f2efe8;--surface:#fff;--soft:#f8f5ef;--border:#dcd6ca;--text:#201f1b;--muted:#777268;--orange:#c9642e;--orange2:#a94b20;--green:#2b7a58;--red:#b23b32;--blue:#2f6390;--shadow:0 16px 45px rgba(25,22,17,.09)}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;color:var(--text);background:var(--bg)}button,input,select,textarea{font:inherit}button{cursor:pointer}.hidden{display:none!important}
.boot{min-height:100vh;display:grid;place-content:center;gap:18px;text-align:center;color:var(--muted)}.boot-mark{font-size:54px;font-weight:900;color:var(--orange)}
.topbar{height:78px;background:var(--shell);color:white;display:flex;align-items:center;padding:0 24px;gap:28px;position:sticky;top:0;z-index:40}.brand{display:flex;align-items:center;gap:10px;min-width:270px}.brand-mark{font-size:30px;font-weight:900;color:var(--orange)}.brand b{font-size:13px;letter-spacing:.08em}.brand span{display:block;font-size:9px;color:#8c8a82;margin-top:2px;letter-spacing:.08em}.current-module{color:#d7d5ce;font-weight:700;border-left:1px solid #3a3936;padding-left:24px;flex:1}.top-actions{display:flex;align-items:center;gap:12px}.server-pill{font-size:10px;font-weight:800;color:#94d6ba;background:#222c28;border:1px solid #365345;padding:7px 10px;border-radius:999px}.user-name{font-size:12px;color:#c8c5bd}.top-btn{background:#2d2c29;color:#fff;border:1px solid #44423f;border-radius:8px;padding:9px 12px}
.main-nav{height:52px;background:#fff;border-bottom:1px solid var(--border);display:flex;align-items:stretch;padding-left:18px;position:sticky;top:78px;z-index:35}.main-nav button{border:0;background:transparent;padding:0 17px;color:var(--muted);font-weight:750;border-bottom:3px solid transparent}.main-nav button.active{color:var(--text);border-color:var(--orange)}.sub-nav{min-height:58px;background:var(--soft);border-bottom:1px solid var(--border);display:flex;align-items:center;gap:5px;padding:8px 20px;overflow:auto;position:sticky;top:130px;z-index:30}.sub-nav button{white-space:nowrap;border:1px solid transparent;background:transparent;border-radius:8px;padding:9px 12px;font-size:13px;font-weight:700;color:#49463f}.sub-nav button.active{background:var(--orange);color:#fff}
.content{padding:28px;max-width:1680px;margin:0 auto}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:20px}.page-head h1{font-size:30px;line-height:1;margin:4px 0 8px}.page-head p{margin:0;color:var(--muted);max-width:780px}.eyebrow{font-size:10px;font-weight:900;letter-spacing:.13em;color:var(--orange);text-transform:uppercase}.actions{display:flex;gap:8px;flex-wrap:wrap}.btn{border:1px solid var(--border);background:#fff;color:var(--text);border-radius:8px;padding:9px 12px;font-weight:750}.btn:hover{filter:brightness(.98)}.btn.primary{background:var(--orange);border-color:var(--orange);color:#fff}.btn.danger{background:#fff5f4;border-color:#e7bbb7;color:var(--red)}.btn.dark{background:var(--shell);border-color:var(--shell);color:#fff}.btn.ghost{background:transparent}.btn.small{padding:6px 8px;font-size:12px}.btn:disabled{opacity:.5;cursor:not-allowed}
.kpis{display:grid;grid-template-columns:repeat(6,minmax(140px,1fr));gap:12px;margin-bottom:18px}.kpi{background:#fff;border:1px solid var(--border);border-radius:12px;padding:16px;min-height:94px}.kpi .label{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-weight:800}.kpi .value{font-size:27px;font-weight:850;margin-top:8px}.kpi .hint{font-size:11px;color:var(--muted);margin-top:5px}.control-tower{display:grid;grid-template-columns:1.5fr 1fr;gap:16px;margin-bottom:18px}.hero-panel{background:linear-gradient(135deg,#1a1917,#302c27);color:#fff;border-radius:14px;padding:28px;min-height:220px;box-shadow:var(--shadow)}.hero-panel h2{font-size:30px;margin:8px 0}.hero-panel p{color:#c9c5bb;max-width:680px}.hero-quick{display:flex;gap:8px;flex-wrap:wrap;margin-top:22px}.hero-quick button{background:#fff;color:#222;border:0;border-radius:8px;padding:10px 13px;font-weight:800}.side-stack{display:grid;grid-template-columns:1fr 1fr;gap:12px}.spot-card{background:#fff;border:1px solid var(--border);border-radius:12px;padding:18px;display:flex;flex-direction:column;justify-content:center}.spot-card span{color:var(--muted);font-size:12px}.spot-card strong{font-size:32px;margin:5px 0}
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:16px}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.panel{background:#fff;border:1px solid var(--border);border-radius:12px;box-shadow:0 3px 12px rgba(20,18,14,.025);overflow:hidden}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 18px;border-bottom:1px solid var(--border)}.panel-head h3{margin:0;font-size:15px}.panel-body{padding:18px}.empty{padding:34px;text-align:center;color:var(--muted)}
.toolbar{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:12px}.toolbar input,.toolbar select{background:#fff;border:1px solid var(--border);border-radius:8px;padding:10px 11px;min-width:180px}.toolbar .grow{flex:1;min-width:240px}.table-wrap{overflow:auto}.data{border-collapse:collapse;width:100%;min-width:760px}.data th{background:#eee9df;color:#5f5a51;text-align:left;font-size:10px;text-transform:uppercase;letter-spacing:.05em;padding:10px 12px;border-bottom:1px solid var(--border);position:sticky;top:0}.data td{padding:11px 12px;border-bottom:1px solid #eeeae2;font-size:13px;vertical-align:middle}.data tbody tr:hover{background:#fffaf5}.data .num{text-align:right;font-variant-numeric:tabular-nums}.clickable{cursor:pointer;color:#8f421f}.badge{display:inline-block;border-radius:999px;padding:4px 8px;background:#ece9e2;font-size:10px;font-weight:850;white-space:nowrap}.badge.green{background:#e6f4ed;color:var(--green)}.badge.orange{background:#fff0e5;color:#a54b20}.badge.red{background:#fdebea;color:var(--red)}.badge.blue{background:#e9f1f8;color:var(--blue)}
.modal{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:24px}.modal-backdrop{position:absolute;inset:0;background:rgba(18,17,15,.58);backdrop-filter:blur(4px)}.modal-card{position:relative;width:min(1160px,96vw);max-height:92vh;display:flex;flex-direction:column;background:#fff;border-radius:14px;box-shadow:0 30px 90px rgba(0,0,0,.28)}.modal-card>header{display:flex;justify-content:space-between;gap:20px;padding:20px 22px;border-bottom:1px solid var(--border)}.modal-card h2{margin:3px 0 0}.modal-x{border:0;background:transparent;font-size:28px;color:#777}.modal-body{padding:22px;overflow:auto}.form-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.form-grid label{display:flex;flex-direction:column;gap:5px;color:#625e56;font-size:11px;font-weight:750}.form-grid .span2{grid-column:span 2}.form-grid .span3{grid-column:span 3}.form-grid .full{grid-column:1/-1}.form-grid input,.form-grid select,.form-grid textarea,.inline-form input,.inline-form select,.inline-form textarea{width:100%;border:1px solid var(--border);border-radius:8px;padding:9px 10px;background:#fff;color:var(--text)}textarea{min-height:82px;resize:vertical}.form-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:18px;padding-top:15px;border-top:1px solid var(--border)}.section-title{display:flex;align-items:center;justify-content:space-between;margin:20px 0 8px}.section-title h3{margin:0;font-size:14px}.line-editor{border:1px solid var(--border);border-radius:10px;overflow:auto}.line-row{display:grid;grid-template-columns:120px 120px minmax(250px,2fr) 85px 95px 75px 42px;gap:6px;align-items:center;padding:6px;border-bottom:1px solid #eee}.line-row:last-child{border-bottom:0}.line-row.head{font-size:10px;font-weight:850;text-transform:uppercase;color:var(--muted);background:#f4f0e8}.line-row input,.line-row select{min-width:0;border:1px solid #ded8cd;border-radius:6px;padding:7px}.line-remove{border:0;background:#fff1f0;color:var(--red);border-radius:6px;font-weight:900;padding:6px}.totals{width:min(430px,100%);margin:16px 0 0 auto;background:#f8f5ef;border-radius:10px;padding:12px}.totals div{display:flex;justify-content:space-between;padding:5px 4px}.totals .grand{font-size:18px;font-weight:850;border-top:1px solid var(--border);margin-top:4px;padding-top:9px}.notice{border-radius:10px;padding:12px 14px;background:#fff7e9;border:1px solid #f1d4a3;color:#7e5618}.danger-notice{background:#fff1f0;border-color:#efc5c1;color:#a23730}.internal{background:#fff2f1;border:1px solid #efc3bf;color:#a0332c;border-radius:10px;padding:11px 13px;font-size:12px;font-weight:800}.tabs{display:flex;gap:6px;margin-bottom:14px}.tabs button{border:1px solid var(--border);background:#fff;border-radius:8px;padding:8px 11px;font-weight:750}.tabs button.active{background:var(--shell);color:#fff}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.mini-card{background:#f8f5ef;border:1px solid var(--border);padding:12px;border-radius:9px}.mini-card b{display:block;font-size:18px}.mini-card span{font-size:11px;color:var(--muted)}
.inline-form{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;align-items:end}.attachment-drop{border:1px dashed #bdb5a8;border-radius:10px;padding:16px;background:#fbf9f5}.attachment-list{display:grid;gap:7px;margin-top:10px}.attachment-item{display:flex;justify-content:space-between;gap:10px;padding:9px 10px;border:1px solid var(--border);border-radius:8px}.toast{position:fixed;right:24px;bottom:24px;background:#1c1b19;color:#fff;padding:12px 16px;border-radius:9px;opacity:0;transform:translateY(10px);pointer-events:none;transition:.2s;z-index:200}.toast.show{opacity:1;transform:none}.toast.error{background:#a6332d}
@media(max-width:1150px){.kpis{grid-template-columns:repeat(3,1fr)}.form-grid{grid-template-columns:repeat(2,1fr)}.line-row{grid-template-columns:100px 100px minmax(220px,2fr) 75px 90px 70px 38px}.cards{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.topbar{height:auto;min-height:68px;padding:10px 13px;gap:10px}.brand{min-width:0}.brand span,.current-module,.server-pill,.user-name{display:none}.top-actions{margin-left:auto}.main-nav{top:68px;overflow:auto;padding-left:5px}.sub-nav{top:120px;padding-left:8px}.content{padding:17px 12px}.page-head{align-items:flex-start;flex-direction:column}.kpis{grid-template-columns:1fr 1fr}.control-tower,.grid-2,.grid-3{grid-template-columns:1fr}.side-stack{grid-template-columns:1fr 1fr}.form-grid{grid-template-columns:1fr}.form-grid .span2,.form-grid .span3{grid-column:span 1}.inline-form{grid-template-columns:1fr 1fr}.modal{padding:6px}.modal-card{width:99vw;max-height:97vh}.line-row{min-width:760px}.cards{grid-template-columns:1fr 1fr}}

/* =====================================================================
   V2.5 — WORLDPARTS MANAGEMENT STUDIO WEB
   Reprise globale de l'identité V52/V55 du logiciel desktop.
   ===================================================================== */
:root{
  --shell:#171717;--shell2:#262626;--bg:#F3F1EC;--surface:#FFFFFF;--soft:#FAF8F4;
  --border:#DDD8CF;--text:#20201E;--muted:#76736D;--orange:#FF6238;--orange2:#E6532F;
  --green:#15805D;--red:#D94646;--blue:#2F5BEA;--table-header:#EEEAE3;--peach:#FFF0EA;
}
html,body{background:var(--bg);font-size:14px}.app{min-height:100vh;background:var(--bg)}
.topbar{height:78px;background:#171717;padding:0 24px;gap:28px;border-radius:0;box-shadow:none}
.brand{min-width:290px}.brand-mark{font-size:31px;color:#FF6238}.brand b{font-size:13px}.brand span{font-size:8px;color:#777772;font-weight:800}
.current-module{font-size:13px;color:#D9D7D0;border-left-color:#393936;padding-left:24px}
.server-pill{border:0;border-radius:0;background:#21211F;color:#8BD8BB;padding:9px 14px;font-size:10px;letter-spacing:.06em}
.user-name{display:none}.top-btn{border-radius:0;background:#2A2A28;border-color:#393936;padding:11px 16px;font-weight:800;text-transform:uppercase}
.main-nav{height:50px;top:78px;padding-left:16px;border-bottom:1px solid var(--border)}
.main-nav button{padding:0 16px;font-size:12px;font-weight:800;color:#76736D}.main-nav button.active{color:#20201E;border-color:#FF6238}
.sub-nav{min-height:58px;top:128px;padding:8px 22px;background:#FAF8F4;gap:6px}
.sub-nav button{border-radius:0;padding:10px 14px;font-size:11px;color:#20201E}.sub-nav button.active{background:#FF6238;color:#fff}
.content{max-width:none;padding:28px 30px 105px;margin:0;background:var(--bg)}
.page-head{position:relative;align-items:center;background:linear-gradient(90deg,#EFEEE9,#F7F5F0);padding:12px 2px 12px 0;margin:0 0 22px;border-radius:0}
.page-head:after{content:"";position:absolute;right:0;top:9px;width:38px;height:4px;background:#FF6238}
.page-head .eyebrow{display:none}.page-head h1{font-size:27px;letter-spacing:-.03em;margin:0 0 7px}.page-head p{font-size:12px;color:#76736D}.page-head .actions{padding-right:0}
.btn{border-radius:0;padding:10px 14px;font-size:11px;font-weight:800}.btn.primary{background:#FF6238;border-color:#FF6238}.btn.primary:hover{background:#E6532F}.btn.dark{background:#17324D;border-color:#17324D}.btn.danger{background:#D94646;color:#fff;border-color:#D94646}.btn.small{padding:7px 10px}
.panel,.kpi,.spot-card,.mini-card,.hero-panel,.notice,.internal,.totals,.line-editor,.attachment-drop,.attachment-item{border-radius:0}
.panel{box-shadow:none}.panel-head{padding:13px 16px}.panel-head h3{font-size:14px}
.toolbar{margin:0 0 13px;min-height:42px}.toolbar input,.toolbar select{border-radius:0;padding:10px 12px;border-color:#DDD8CF;background:#fff;font-size:12px}
.table-wrap{background:#fff}.data{min-width:920px}.data th{background:#EEEAE3;color:#20201E;font-size:10px;text-transform:none;letter-spacing:0;padding:8px 10px;border:1px solid #D9D5CE;text-align:center;font-weight:800}
.data td{height:36px;padding:9px 10px;border:1px solid #EEEAE3;font-size:11px}.data tbody tr:hover{background:#FFF7F1}.data tbody tr.studio-selected{background:#FFF0EA}.data tbody tr.studio-selected:hover{background:#FFE9DF}.data .clickable{color:#20201E;font-weight:700}.data small{color:#76736D}
.badge{border-radius:2px;padding:4px 7px}
.modal{padding:18px}.modal-backdrop{background:rgba(12,12,12,.68)}.modal-card{border-radius:0;border:1px solid #CFC9BF;max-height:94vh}.modal-card>header{background:#171717;color:#fff;border:0;padding:16px 20px}.modal-card>header .eyebrow{color:#FF6238}.modal-card h2{font-size:18px;color:#fff}.modal-x{color:#fff}.modal-body{background:#F3F1EC;padding:20px}
.form-grid label{font-size:10px;text-transform:none}.form-grid input,.form-grid select,.form-grid textarea,.inline-form input,.inline-form select,.inline-form textarea{border-radius:0;padding:9px 10px}
.form-actions{position:sticky;bottom:-20px;z-index:4;background:#fff;margin:20px -20px -20px;padding:13px 20px;border-top:1px solid #DDD8CF;justify-content:flex-start;overflow-x:auto}
.section-title{border-bottom:1px solid #DDD8CF;padding-bottom:7px}.line-row input,.line-row select,.line-remove{border-radius:0}
.hero-panel{background:#171717;box-shadow:none}.hero-panel .eyebrow{display:block}.hero-quick button{border-radius:0}.control-tower{gap:14px}
.kpi{border-radius:0}.kpi .value{font-size:25px}.cards{gap:8px}

/* Barre d'actions desktop identique à l'esprit du logiciel. */
#studioActionDock{position:fixed;left:0;right:0;bottom:0;z-index:70;min-height:68px;background:#fff;border-top:1px solid #D8D3CA;display:flex;align-items:center;gap:7px;padding:10px 28px;box-shadow:0 -6px 20px rgba(25,22,17,.05);overflow-x:auto}
#studioActionDock.hidden{display:none!important}#studioActionDock .dock-caption{font-size:10px;font-weight:900;color:#76736D;text-transform:uppercase;white-space:nowrap;margin-right:8px}
#studioActionDock button,#studioActionDock a{white-space:nowrap;border-radius:0;border:1px solid #17324D;background:#17324D;color:#fff;padding:10px 15px;font-size:11px;font-weight:800;text-decoration:none}
#studioActionDock .accent{background:#FF6238;border-color:#FF6238}#studioActionDock .danger{background:#D94646;border-color:#D94646}
.studio-action-source .btn,.studio-action-source a.btn{display:none!important}
body.modal-open #studioActionDock{display:none!important}

/* Pages finance et logistique gardent le même langage Studio. */
.grid-2,.grid-3{gap:14px}.side-stack{gap:10px}.finance-pulse{background:#FFF7E8;border:1px solid #EAD7B2}

@media(max-width:760px){
  .topbar{min-height:68px;height:68px}.brand{min-width:0}.brand span,.current-module{display:none}.server-pill{display:inline-block}.main-nav{top:68px}.sub-nav{top:118px}.content{padding:18px 12px 92px}.page-head{align-items:flex-start;padding-right:42px}.page-head h1{font-size:23px}#studioActionDock{padding:8px 10px;min-height:58px}.data{min-width:850px}
}


/* =====================================================================
   V2.6 — PRODUCTIVITÉ / RECHERCHE GLOBALE
   ===================================================================== */
.global-search{position:relative;flex:1;max-width:610px;margin-left:auto;margin-right:8px}
.global-search input{width:100%;height:38px;background:#242422;border:1px solid #3A3A37;color:#fff;padding:0 14px;font-size:11px;outline:none}
.global-search input::placeholder{color:#8E8D88}.global-search input:focus{border-color:#FF6238;background:#20201E}
.global-search-drop{position:absolute;left:0;right:0;top:43px;background:#fff;border:1px solid #CFC9BF;box-shadow:0 16px 35px rgba(0,0,0,.22);max-height:520px;overflow:auto;z-index:300}
.global-search-drop.hidden{display:none}.global-result{display:grid;grid-template-columns:115px 1fr;grid-template-rows:auto auto;width:100%;text-align:left;border:0;border-bottom:1px solid #EEEAE3;background:#fff;padding:10px 12px;cursor:pointer}
.global-result:hover{background:#FFF0EA}.global-result .global-kind{grid-row:1/3;font-size:9px;font-weight:900;color:#FF6238;text-transform:uppercase;align-self:center}
.global-result b{font-size:12px;color:#20201E}.global-result small{font-size:10px;color:#76736D;margin-top:2px}.global-empty{padding:14px;color:#76736D;font-size:11px}
.today-panel{margin:16px 0}.today-panel .panel-head{display:flex;justify-content:space-between;align-items:center}
.mini-card small{display:block;margin-top:5px;color:#76736D;font-size:10px}
@media(max-width:980px){.global-search{max-width:360px}.global-search input{font-size:10px}}
@media(max-width:760px){.global-search{display:none}}

/* V2.7 — Demandes transitaires */
.forwarder-pick{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:9px;margin:8px 0 14px}.forwarder-choice{display:flex;gap:10px;align-items:flex-start;border:1px solid #d5d0c7;background:#fff;padding:10px 12px;cursor:pointer}.forwarder-choice:hover{border-color:#ff6238;background:#fff6f2}.forwarder-choice.disabled{opacity:.55;cursor:not-allowed}.forwarder-choice input{margin-top:3px}.forwarder-choice span{display:flex;flex-direction:column;gap:2px}.forwarder-choice b{font-size:11px}.forwarder-choice small{font-size:10px;color:#77736d}

/* V3.10.3 — sélection Pays / Ville pour la logistique */
.world-city-hint{display:block;margin-top:5px;color:var(--muted,#6b7280);font-size:11px;line-height:1.25}.form-grid label select[id$="Country"],.form-grid label input[id$="City"]{width:100%}


/* V3.19.3 — Communication WhatsApp manuelle */
.btn.whatsapp{background:#25D366;color:#0b2816;border-color:#1fb958;font-weight:700}
.btn.whatsapp:hover{filter:brightness(.96);transform:translateY(-1px)}
.btn.whatsapp:disabled{opacity:.45;filter:grayscale(.35);cursor:not-allowed}
.wp3191-wa-signature{border:1px solid rgba(37,211,102,.35);background:rgba(37,211,102,.07);border-radius:12px;padding:12px}
.wp3191-wa-signature small{display:block;font-weight:700;margin-bottom:8px}
.wp3191-wa-signature pre{white-space:pre-wrap;margin:0;font:inherit;line-height:1.45}

/* WP3194 freight priority */
.readonly-priority{min-height:40px;display:flex;align-items:center;padding:7px 0}.forwarder-choice small{display:block}

