/* ═══════════════════════════════════════════════════
   GO PLUS EXPRESS — Espace Client CSS
   ═══════════════════════════════════════════════════ */
:root{
  --ec-sidebar:260px;
  --ec-bg:#f0f4f8;
  --ec-card:#fff;
  --ec-border:#e2e8f0;
}

.ec-body{background:var(--ec-bg);min-height:100vh}

/* ── Login overlay ── */
.ec-login-overlay{position:fixed;inset:0;background:url('../assets/remorque-gpe.jpg') center center / cover no-repeat;display:flex;align-items:center;justify-content:center;z-index:9999;padding:20px}
.ec-login-overlay::before{content:'';position:absolute;inset:0;background:linear-gradient(135deg,rgba(10,40,30,.82) 0%,rgba(0,30,50,.75) 100%);z-index:0}
.ec-login-box{position:relative;z-index:1;background:#fff;border-radius:20px;padding:40px;width:100%;max-width:460px;box-shadow:0 20px 60px rgba(0,0,0,.4)}
.ec-login-logo{text-align:center;margin-bottom:20px}
.ec-login-logo img{height:64px}
.ec-login-box h2{text-align:center;font-size:1.5rem;font-weight:800;color:var(--dark);margin-bottom:4px}
.ec-login-sub{text-align:center;color:var(--text-light);font-size:.88rem;margin-bottom:24px}
.ec-tabs{display:flex;border:2px solid var(--ec-border);border-radius:10px;overflow:hidden;margin-bottom:24px}
.ec-tab{flex:1;padding:10px;border:none;background:transparent;font-weight:600;font-size:.88rem;cursor:pointer;color:var(--text-light);transition:var(--transition)}
.ec-tab.active{background:var(--teal);color:#fff}
.ec-tab-panel{display:none}
.ec-tab-panel.active{display:block}
.ec-form-group{margin-bottom:14px}
.ec-form-group>label{display:flex;align-items:center;gap:6px;font-size:.82rem;font-weight:600;color:var(--dark);margin-bottom:5px}
.ec-form-group input:not([type="checkbox"]):not([type="radio"]),
.ec-form-group select,
.ec-form-group textarea{width:100%;padding:11px 14px;border:2px solid var(--ec-border);border-radius:10px;font-size:.9rem;transition:var(--transition);background:#fff;box-sizing:border-box}
.ec-form-group input[type="checkbox"],
.ec-form-group input[type="radio"]{width:16px;height:16px;padding:0;border:none;box-shadow:none;flex-shrink:0;cursor:pointer;accent-color:var(--teal)}
.ec-form-group input:focus,.ec-form-group select:focus{outline:none;border-color:var(--teal);box-shadow:0 0 0 3px rgba(0,169,157,.12)}
/* Labels inline pour checkboxes — ne pas hériter du style de label principal */
.ec-form-group .check-label{display:flex;align-items:center;gap:8px;font-size:.88rem;font-weight:400;color:var(--text);cursor:pointer;padding:4px 0;margin-bottom:0;user-select:none}
.ec-form-group .check-label:hover{color:var(--teal)}
.ec-check-group{display:flex;flex-direction:column;gap:4px;margin-top:4px}
.ec-dims-row{display:flex;gap:8px;align-items:center}
.ec-dims-row input{flex:1;min-width:0;text-align:center}
.ec-form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.ec-btn-full{width:100%;justify-content:center;display:flex;gap:8px;align-items:center;padding:13px;font-size:.95rem;margin-top:4px}
.ec-msg-error{background:#fff5f5;border:1.5px solid #fc8181;color:#c53030;padding:10px 14px;border-radius:8px;font-size:.83rem;margin-bottom:12px}
.ec-msg-success{background:#f0fff4;border:1.5px solid #68d391;color:#276749;padding:10px 14px;border-radius:8px;font-size:.83rem;margin-bottom:12px}
.ec-demo-hint{text-align:center;font-size:.78rem;color:var(--text-light);margin-top:12px;background:#f7fafc;padding:8px 12px;border-radius:8px}
.ec-back-link{display:block;text-align:center;margin-top:20px;font-size:.83rem;color:var(--teal);text-decoration:none}
.ec-back-link:hover{text-decoration:underline}

/* ── Language — login page (boutons compacts avec code) ── */
.ec-login-lang{display:flex;gap:5px;justify-content:center;margin-bottom:14px;flex-wrap:wrap}
.ec-login-lang-btn{display:flex;align-items:center;gap:3px;background:none;border:1.5px solid #e2e8f0;border-radius:8px;cursor:pointer;font-size:1rem;padding:3px 8px;color:#374151;opacity:0.65;transition:all .18s}
.ec-login-lang-btn span{font-size:.72rem;font-weight:600;letter-spacing:.03em}
.ec-login-lang-btn:hover{opacity:1;border-color:#00a99d;background:rgba(0,169,157,0.06)}
.ec-login-lang-btn.active{opacity:1;border-color:#00a99d;background:rgba(0,169,157,0.10);color:#00a99d}

/* ── Language — sidebar dropdown (fond sombre) ── */
.ec-lang-select-wrap{position:relative;margin:0 12px 4px;flex-shrink:0}
.ec-lang-select-btn{display:flex;align-items:center;gap:8px;width:100%;padding:7px 12px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18);border-radius:9px;color:#fff;cursor:pointer;font-size:.88rem;font-weight:500;transition:background .18s,border-color .18s}
.ec-lang-select-btn:hover{background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.3)}
.ec-lang-select-btn span:first-child{font-size:1.15rem;line-height:1}
.ec-lang-select-btn #ec-lang-name-display{flex:1;text-align:left}
.ec-lang-select-btn #ec-lang-chevron-icon{font-size:.7rem;opacity:.6;transition:transform .2s}
.ec-lang-select-btn[aria-expanded="true"] #ec-lang-chevron-icon{transform:rotate(180deg)}
.ec-lang-menu{position:absolute;top:calc(100% + 5px);left:0;right:0;background:#1e2d3d;border:1px solid rgba(255,255,255,.14);border-radius:10px;overflow:hidden;z-index:500;display:none;box-shadow:0 8px 24px rgba(0,0,0,.4)}
.ec-lang-menu.open{display:block}
.ec-lang-opt{display:flex;align-items:center;gap:10px;width:100%;padding:9px 14px;background:none;border:none;color:rgba(255,255,255,.75);cursor:pointer;font-size:.87rem;text-align:left;transition:background .15s}
.ec-lang-opt span:first-child{font-size:1.1rem;line-height:1;width:22px;text-align:center}
.ec-lang-opt:hover{background:rgba(255,255,255,.09);color:#fff}
.ec-lang-opt.active{color:#00a99d;background:rgba(0,169,157,.12);font-weight:600}
.ec-lang-opt.active::after{content:"✓";margin-left:auto;font-size:.8rem;opacity:.8}

/* legacy — garder compatibilité si référencé ailleurs */
.ec-lang-btn{display:none}

/* ── Dashboard layout ── */
.ec-dashboard{display:flex;min-height:100vh;padding-top:72px}
.ec-sidebar{width:var(--ec-sidebar);background:var(--dark);color:#fff;display:flex;flex-direction:column;position:fixed;top:72px;left:0;bottom:0;overflow-y:auto;z-index:100}
.ec-sidebar-header{padding:16px 16px 12px;border-bottom:1px solid rgba(255,255,255,.1);display:flex;align-items:center;gap:12px}
.ec-avatar-lg{width:46px;height:46px;border-radius:50%;background:var(--teal);display:flex;align-items:center;justify-content:center;font-weight:800;font-size:1.1rem;flex-shrink:0}
.ec-fullname{font-weight:700;font-size:.95rem}
.ec-company-side{font-size:.75rem;color:rgba(255,255,255,.5);margin-top:2px}
.ec-sidenav{flex:1;padding:12px 0}
.ec-nav-item{width:100%;background:none;border:none;color:rgba(255,255,255,.7);text-align:left;padding:12px 20px;font-size:.88rem;font-weight:500;cursor:pointer;display:flex;align-items:center;gap:12px;transition:var(--transition)}
.ec-nav-item:hover{background:rgba(255,255,255,.07);color:#fff}
.ec-nav-item.active{background:rgba(0,169,157,.25);color:var(--teal);border-left:3px solid var(--teal)}
.ec-sidebar-footer{padding:16px 20px;border-top:1px solid rgba(255,255,255,.1);display:flex;flex-direction:column;gap:6px}
.ec-sidebar-link{background:none;border:none;color:rgba(255,255,255,.5);font-size:.82rem;cursor:pointer;text-align:left;padding:6px 0;display:flex;align-items:center;gap:8px;text-decoration:none;transition:var(--transition)}
.ec-sidebar-link:hover{color:#fff}

.ec-main{margin-left:var(--ec-sidebar);flex:1;padding:32px;min-height:calc(100vh - 72px)}
.ec-module{display:none}
.ec-module.active{display:block}
.ec-module-header{margin-bottom:28px}
.ec-module-header h1{font-size:1.6rem;font-weight:800;color:var(--dark);display:flex;align-items:center;gap:12px;margin-bottom:6px}
.ec-module-header h1 i{color:var(--teal)}
.ec-module-header p{color:var(--text-light);font-size:.92rem}

/* ── User nav ── */
.ec-user-nav{display:flex;align-items:center;gap:10px}
.ec-avatar{width:34px;height:34px;border-radius:50%;background:var(--teal);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.88rem}
.ec-username{color:#fff;font-size:.85rem;font-weight:600}
.ec-logout-btn{background:rgba(255,255,255,.15);border:none;color:#fff;width:32px;height:32px;border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:var(--transition)}
.ec-logout-btn:hover{background:rgba(255,255,255,.25)}

/* ── Dashboard cards ── */
.ec-cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}
.ec-dash-card{background:#fff;border-radius:14px;padding:20px;display:flex;align-items:center;gap:16px;box-shadow:0 2px 12px rgba(0,0,0,.06);cursor:pointer;transition:var(--transition);border:1.5px solid transparent}
.ec-dash-card:hover{transform:translateY(-3px);box-shadow:0 8px 24px rgba(0,0,0,.1);border-color:var(--teal)}
.ec-dash-icon{width:52px;height:52px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:1.3rem;color:#fff;flex-shrink:0}
.ec-dash-card strong{display:block;font-weight:700;font-size:.95rem;color:var(--dark);margin-bottom:3px}
.ec-dash-card span{font-size:.8rem;color:var(--text-light)}
.ec-card-arr{color:var(--ec-border);margin-left:auto;flex-shrink:0}

/* ── OCR Module ── */
.ocr-layout{display:grid;grid-template-columns:340px 1fr;gap:24px}
.ocr-upload-zone{border:2.5px dashed var(--ec-border);border-radius:14px;padding:40px 24px;text-align:center;cursor:pointer;transition:var(--transition);background:#fafcff;display:flex;flex-direction:column;align-items:center;gap:10px}
.ocr-upload-zone:hover{border-color:var(--teal);background:#f0fffe}
.ocr-upload-zone i{font-size:2.5rem;color:var(--teal)}
.ocr-upload-zone strong{font-size:1rem;color:var(--dark)}
.ocr-upload-zone span{font-size:.85rem;color:var(--text-light)}
.ocr-upload-zone small{font-size:.75rem;color:#a0aec0;background:#f0f4f8;padding:4px 10px;border-radius:20px}
.ocr-result-panel{background:#fff;border-radius:14px;padding:24px;box-shadow:0 2px 12px rgba(0,0,0,.06)}
.ocr-fields h3{font-size:1rem;font-weight:700;margin-bottom:16px;color:var(--dark);display:flex;align-items:center;gap:8px}
.ocr-placeholder{color:var(--text-light);font-size:.88rem;background:#f7fafc;padding:16px;border-radius:8px;text-align:center}
.ocr-table{width:100%;border-collapse:collapse}
.ocr-table tr{border-bottom:1px solid var(--ec-border)}
.ocr-table td{padding:8px 12px;font-size:.88rem}
.ocr-table td:first-child{font-weight:600;color:var(--text-light);width:140px}
.ocr-table td:last-child{font-weight:500;color:var(--dark)}
.ocr-note{background:#fffbeb;border:1.5px solid #f6c90e;border-radius:10px;padding:12px 16px;font-size:.82rem;color:#7b6400;display:flex;align-items:center;gap:10px;margin-top:16px;flex-wrap:wrap}
#ocr-actions[style*="flex"]{display:flex!important}
.ocr-progress-bar{width:100%;height:6px;background:#e2e8f0;border-radius:4px;overflow:hidden;margin-top:4px}
.ocr-progress-fill{height:100%;background:var(--teal);border-radius:4px;transition:width .3s ease}
.ocr-table thead th{background:var(--dark);color:#fff;padding:9px 12px;font-size:.82rem;font-weight:600;text-align:left}
.ocr-articles-table{margin-top:0}
.ocr-row-empty td{opacity:.45}
.ocr-row-file td{background:#f7fafc}

/* ── OCR Manual Add ── */
.ocr-manual-add{background:#f0f7ff;border:1.5px solid #bee3f8;border-radius:12px;padding:20px;margin-top:20px}
.ocr-manual-add h4{font-size:.95rem;font-weight:700;color:var(--dark);margin-bottom:12px;display:flex;align-items:center;gap:8px}
.ocr-manual-form{display:flex;gap:10px;flex-wrap:wrap}
.ocr-manual-form input{padding:10px 14px;border:2px solid var(--ec-border);border-radius:9px;font-size:.88rem;background:#fff;transition:var(--transition)}
.ocr-manual-form input:focus{outline:none;border-color:var(--teal)}

/* ══════════════════════════════════════════════════════
   PANNEAU AUTORISATIONS MAROC
   ══════════════════════════════════════════════════════ */
.auth-panel-header{display:flex;align-items:flex-start;gap:20px;background:linear-gradient(135deg,#0f1e2e 0%,#0a3d2e 100%);color:#fff;border-radius:16px 16px 0 0;padding:24px 28px;margin-bottom:0}
.auth-panel-icon{width:54px;height:54px;border-radius:12px;background:rgba(0,169,157,.3);display:flex;align-items:center;justify-content:center;font-size:1.5rem;color:var(--teal);flex-shrink:0}
.auth-panel-header h2{font-size:1.25rem;font-weight:800;margin-bottom:5px}
.auth-panel-header p{font-size:.82rem;opacity:.7;margin:0}
.auth-panel-footer{background:#fffbeb;border:1.5px solid #f6c90e;border-radius:0 0 12px 12px;padding:12px 20px;font-size:.8rem;color:#7b6400;display:flex;align-items:flex-start;gap:10px;line-height:1.5}
.auth-panel-footer a{color:#d4850a;font-weight:600}

/* Article cards */
.auth-article-card{background:#fff;border-radius:12px;box-shadow:0 2px 12px rgba(0,0,0,.07);margin-bottom:16px;overflow:hidden;transition:var(--transition)}
.auth-article-card:hover{box-shadow:0 6px 20px rgba(0,0,0,.1)}
.auth-article-header{display:flex;justify-content:space-between;align-items:flex-start;padding:16px 20px;background:#f7fafc;gap:12px;flex-wrap:wrap}
.auth-article-title{display:flex;align-items:center;gap:12px}
.auth-art-num{width:28px;height:28px;border-radius:50%;background:var(--teal);color:#fff;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:700;flex-shrink:0}
.auth-article-title strong{font-size:.95rem;color:var(--dark);font-weight:700}
.auth-article-meta{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.auth-hs-chip{background:#eef2ff;color:#5a67d8;font-family:monospace;font-weight:700;font-size:.78rem;padding:3px 10px;border-radius:20px;display:flex;align-items:center;gap:5px}
.auth-country-chip{background:#e6fffa;color:#2c7a7b;font-size:.78rem;padding:3px 10px;border-radius:20px;display:flex;align-items:center;gap:5px}
.auth-qty-chip{background:#fef5e7;color:#9c7015;font-size:.78rem;padding:3px 10px;border-radius:20px}

/* OK state */
.auth-ok{padding:14px 20px;display:flex;align-items:center;gap:10px;font-size:.88rem;color:#276749;background:#f0fff4}

/* Auth entries */
.auth-entry{padding:16px 20px;border-top:1px solid var(--ec-border)}
.auth-entry-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:8px}
.auth-badge{display:inline-flex;align-items:center;gap:5px;font-size:.72rem;font-weight:700;padding:3px 10px;border-radius:20px;white-space:nowrap}
.auth-authority{font-size:.9rem;font-weight:800;color:var(--dark)}
.auth-doc-name{font-size:.82rem;color:var(--text-light);flex:1}
.auth-delay{font-size:.75rem;color:#a0aec0;display:flex;align-items:center;gap:4px;white-space:nowrap}
.auth-fullname{font-size:.78rem;color:#5a6782;font-style:italic;margin-bottom:6px}
.auth-note{font-size:.83rem;color:#2d3748;line-height:1.55;margin-bottom:8px}
.auth-ref{display:flex;align-items:flex-start;gap:8px;font-size:.75rem;color:#718096;background:#f7fafc;padding:8px 12px;border-radius:8px;line-height:1.4;flex-wrap:wrap}
.auth-link{color:var(--teal);font-weight:600;text-decoration:none;white-space:nowrap;margin-left:auto}
.auth-link:hover{text-decoration:underline}

/* Badge colors (border-left) */
.auth-entry.auth-danger{border-left:4px solid #dc3545;background:#fff5f5}
.auth-entry.auth-warning{border-left:4px solid #fd7e14;background:#fff8f0}
.auth-entry.auth-info{border-left:4px solid #0dcaf0;background:#f0fbff}
.auth-entry.auth-success{border-left:4px solid #28a745;background:#f0fff4}

/* Tarif estimé */
.auth-tarif{background:#f8f9fa;border-top:1px solid var(--ec-border);padding:14px 20px}
.auth-tarif-title{font-size:.82rem;font-weight:700;color:var(--dark);margin-bottom:10px;display:flex;align-items:center;gap:7px}
.auth-tarif-grid{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:8px}
.auth-tarif-item{background:#fff;border:1.5px solid var(--ec-border);border-radius:8px;padding:7px 14px;font-size:.8rem;display:flex;gap:8px;align-items:center}
.auth-tarif-item span{color:var(--text-light)}
.auth-tarif-item strong{color:var(--dark)}
.auth-tarif-item.auth-tarif-note{background:#eef2ff;border-color:#c3dafe;flex-basis:100%}
.auth-accord{background:#e6fffa;border:1.5px solid #81e6d9;border-radius:8px;padding:10px 14px;font-size:.8rem;color:#234e52;display:flex;align-items:flex-start;gap:8px;line-height:1.45}

/* ── Invoice Module ── */
.invoice-layout{display:grid;grid-template-columns:360px 1fr;gap:24px}
.invoice-form{background:#fff;border-radius:14px;padding:24px;box-shadow:0 2px 12px rgba(0,0,0,.06)}
.invoice-form h3{font-size:1rem;font-weight:700;color:var(--dark);margin-bottom:16px}
.invoice-form h4{font-size:.88rem;text-transform:uppercase;letter-spacing:.05em;margin:16px 0 10px}
.inv-total-bar{background:#f0fffe;border:1.5px solid var(--teal-l);border-radius:10px;padding:12px 16px;display:flex;gap:16px;flex-wrap:wrap;font-size:.85rem;margin:16px 0;align-items:center}
.inv-ttc{margin-left:auto;font-size:1rem;color:var(--teal)}

.invoice-preview{background:#f7fafc;border-radius:14px;padding:24px;overflow:auto}
.inv-doc{background:#fff;padding:32px;border-radius:8px;box-shadow:0 2px 16px rgba(0,0,0,.1);max-width:680px;margin:0 auto;font-size:.82rem}
.inv-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px;padding-bottom:20px;border-bottom:2px solid var(--teal)}
.inv-logo-area{display:flex;gap:12px;align-items:center}
.inv-logo-area div{display:flex;flex-direction:column;font-size:.75rem;color:var(--text-light)}
.inv-logo-area strong{font-size:.95rem;color:var(--dark);font-weight:800}
.inv-ref-area h2{font-size:1rem;font-weight:800;color:var(--dark);margin-bottom:8px;text-align:right}
.inv-ref-area table td{padding:2px 6px;font-size:.75rem}
.inv-ref-area table td:first-child{color:var(--text-light)}
.inv-parties{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:20px}
.inv-party{background:#f7fafc;padding:12px;border-radius:8px}
.inv-party h4{font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;color:var(--teal);margin-bottom:8px;font-weight:700}
.inv-party p{font-size:.8rem;color:var(--dark);margin:2px 0}
.inv-lines-table{width:100%;border-collapse:collapse;margin-bottom:16px;font-size:.8rem}
.inv-lines-table th{background:var(--dark);color:#fff;padding:8px 10px;text-align:left;font-weight:600}
.inv-lines-table td{padding:8px 10px;border-bottom:1px solid var(--ec-border)}
.inv-totals{text-align:right;border-top:2px solid var(--ec-border);padding-top:12px;display:flex;flex-direction:column;gap:6px;font-size:.85rem}
.inv-totals div{display:flex;justify-content:flex-end;gap:24px}
.inv-totals strong{min-width:100px;text-align:right}
.inv-total-ttc{font-size:1rem;font-weight:800;color:var(--teal);border-top:1px solid var(--ec-border);padding-top:8px;margin-top:4px}
.inv-footer-note{margin-top:20px;padding-top:12px;border-top:1px solid var(--ec-border);font-size:.7rem;color:var(--text-light);text-align:center;line-height:1.6}

/* ── Codes Module ── */
.codes-search-bar{margin-bottom:20px}
.codes-tabs{display:flex;gap:0;border-radius:10px 10px 0 0;overflow:hidden;border:2px solid var(--ec-border);border-bottom:none;display:inline-flex;margin-bottom:0}
.codes-tab{padding:10px 20px;border:none;background:#fff;font-weight:600;font-size:.88rem;cursor:pointer;color:var(--text-light);transition:var(--transition);display:flex;align-items:center;gap:8px}
.codes-tab:not(:last-child){border-right:1px solid var(--ec-border)}
.codes-tab.active{background:var(--teal);color:#fff}
.codes-input-row{display:flex;gap:12px;margin-top:12px;flex-wrap:wrap}
.codes-input-row input{flex:1;min-width:220px;padding:11px 16px;border:2px solid var(--ec-border);border-radius:10px;font-size:.9rem}
.codes-input-row select{padding:11px 16px;border:2px solid var(--ec-border);border-radius:10px;font-size:.9rem;background:#fff;min-width:160px}
.codes-input-row input:focus,.codes-input-row select:focus{outline:none;border-color:var(--teal)}
.codes-table-wrap{background:#fff;border-radius:0 12px 12px 12px;box-shadow:0 2px 12px rgba(0,0,0,.06);overflow:auto;max-height:520px;border:2px solid var(--ec-border)}
.codes-table{width:100%;border-collapse:collapse;font-size:.85rem}
.codes-table th{background:var(--dark);color:#fff;padding:10px 14px;text-align:left;font-weight:600;position:sticky;top:0;z-index:1}
.codes-table td{padding:9px 14px;border-bottom:1px solid var(--ec-border)}
.codes-table tr:hover td{background:#f0fffe}
.codes-table .code-badge{display:inline-block;background:var(--teal);color:#fff;padding:2px 8px;border-radius:4px;font-weight:700;font-family:monospace;font-size:.85rem}
.codes-count{padding:10px 16px;font-size:.8rem;color:var(--text-light);background:#f7fafc;border-top:1px solid var(--ec-border)}

/* ── Simulation Pro ── */
.sim-pro-layout{display:grid;grid-template-columns:1fr 300px;gap:24px;align-items:start}
.sim-pro-form{background:#fff;border-radius:14px;padding:28px 32px;box-shadow:0 2px 12px rgba(0,0,0,.06)}
.sim-pro-form .ec-form-group{margin-bottom:18px}
.sim-pro-form .ec-form-group>label{font-size:.8rem;margin-bottom:6px}
.sim-pro-form .ec-form-group input:not([type="checkbox"]):not([type="radio"]),
.sim-pro-form .ec-form-group select{padding:10px 13px;font-size:.88rem}
.sim-pro-form .ec-form-row{gap:18px}
.sim-pro-form .ec-dims-row{gap:10px}
.sim-pro-form .ec-dims-row input{padding:10px 6px;text-align:center;font-size:.88rem}
/* Carte Estimation — compacte */
.simpr-card{background:#fff;border-radius:14px;padding:18px 20px;box-shadow:0 2px 12px rgba(0,0,0,.06);position:sticky;top:20px}
.simpr-header{display:flex;align-items:center;gap:10px;margin-bottom:14px;padding-bottom:12px;border-bottom:1.5px solid var(--ec-border)}
.simpr-header i{font-size:1.1rem;color:var(--teal)}
.simpr-header h3{font-size:.95rem;font-weight:700;color:var(--dark)}
.simpr-lines{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}
.simpr-line{display:flex;justify-content:space-between;align-items:center;font-size:.82rem}
.simpr-line .sl-label{color:var(--text-light)}
.simpr-line .sl-val{font-weight:600;color:var(--dark)}
.simpr-total{display:flex;justify-content:space-between;align-items:center;padding:12px 14px;background:linear-gradient(135deg,var(--teal),var(--teal-d));border-radius:10px;color:#fff;margin-bottom:12px}
.simpr-total span{font-size:.78rem;opacity:.85}
.simpr-total strong{font-size:1.1rem;font-weight:800}
.simpr-transit{background:#f0fffe;border:1.5px solid var(--teal-l);border-radius:8px;padding:8px 12px;font-size:.78rem;color:var(--teal-d);margin-bottom:12px}
.simpr-note{font-size:.74rem;color:var(--text-light);margin-bottom:12px}

/* ── Conteneurs / Aircraft ── */
.guide-tabs{display:flex;gap:8px;margin-bottom:20px;flex-wrap:wrap}
.guide-tab{padding:10px 20px;border:2px solid var(--ec-border);border-radius:8px;background:#fff;font-weight:600;font-size:.88rem;cursor:pointer;transition:var(--transition)}
.guide-tab.active{background:var(--teal);color:#fff;border-color:var(--teal)}
.guide-panel{display:none}
.guide-panel.active{display:block}
.cont-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px;margin-bottom:24px}
.cont-card{background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 2px 12px rgba(0,0,0,.07);transition:var(--transition)}
.cont-card:hover{transform:translateY(-3px);box-shadow:0 8px 24px rgba(0,0,0,.1)}
.cont-header{padding:14px 16px;color:#fff;display:flex;flex-direction:column;gap:4px}
.cont-header i{font-size:1.2rem;opacity:.8}
.cont-header strong{font-size:1rem;font-weight:700}
.cont-header span{font-size:.75rem;opacity:.7}
.cont-specs{width:100%;border-collapse:collapse;padding:0 16px}
.cont-specs td{padding:7px 16px;font-size:.82rem;border-bottom:1px solid var(--ec-border)}
.cont-specs td:first-child{color:var(--text-light)}
.cont-specs td:last-child{font-weight:600;color:var(--dark);text-align:right}
.cont-usage{padding:10px 16px;font-size:.78rem;background:#f7fafc;color:var(--text-light);display:flex;align-items:center;gap:6px}
.cont-usage i{color:var(--teal)}
.cont-palettes{background:#fff;border-radius:12px;padding:20px;box-shadow:0 2px 12px rgba(0,0,0,.06)}
.cont-palettes h3{font-size:1rem;font-weight:700;color:var(--dark);margin-bottom:16px;display:flex;align-items:center;gap:8px}
.palette-table-wrap{overflow:auto}

/* ── Aircraft grid ── */
.aircraft-filter{display:flex;gap:12px;margin-bottom:20px;flex-wrap:wrap}
.aircraft-filter input,.aircraft-filter select{padding:10px 14px;border:2px solid var(--ec-border);border-radius:10px;font-size:.9rem;background:#fff}
.aircraft-filter input{flex:1;min-width:200px}
.aircraft-filter input:focus,.aircraft-filter select:focus{outline:none;border-color:var(--teal)}
.aircraft-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px}
.ac-card{background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 2px 12px rgba(0,0,0,.07);transition:var(--transition)}
.ac-card:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(0,0,0,.1)}
.ac-header{background:linear-gradient(135deg,#0f1e2e,#1a3a5c);color:#fff;padding:16px}
.ac-header strong{display:block;font-size:1rem;font-weight:700}
.ac-header span{font-size:.78rem;opacity:.65}
.ac-badge{display:inline-block;font-size:.7rem;padding:2px 8px;border-radius:20px;margin-top:6px;font-weight:600}
.ac-badge.full{background:#d4ac0d;color:#1a1a1a}
.ac-badge.combi{background:#0a9396;color:#fff}
.ac-badge.belly{background:#6c757d;color:#fff}
.ac-specs{display:grid;grid-template-columns:1fr 1fr;gap:0}
.ac-spec{padding:8px 14px;border-bottom:1px solid var(--ec-border);font-size:.8rem}
.ac-spec:nth-child(odd){border-right:1px solid var(--ec-border)}
.ac-spec-label{color:var(--text-light);font-size:.72rem;margin-bottom:1px}
.ac-spec-val{font-weight:700;color:var(--dark)}

/* ── HS in EC ── */
.hs-result-card{background:#f0fffe;border:1.5px solid var(--teal-l);border-radius:12px;padding:16px;display:flex;align-items:center;gap:16px}
.hs-res-code{font-size:1.2rem;font-weight:800;font-family:monospace;color:var(--teal);background:var(--teal-l);padding:8px 14px;border-radius:8px;white-space:nowrap}
.hs-res-desc{font-weight:600;color:var(--dark);margin-bottom:4px}
.hs-res-rate{font-size:.85rem;color:var(--text-light)}

/* ══════════════════════════════════════════════════════
   OCR2 — HSCodeFinder-style Interface
   ══════════════════════════════════════════════════════ */

/* Options bar */
.ocr-options-bar{display:flex;align-items:center;gap:16px;background:#fff;border-radius:12px;padding:12px 18px;margin-bottom:18px;box-shadow:0 2px 10px rgba(0,0,0,.06);flex-wrap:wrap}
.ocr-option-check{display:flex;align-items:center;gap:7px;font-size:.88rem;font-weight:600;color:var(--dark);cursor:pointer;user-select:none}
.ocr-option-check input[type=checkbox]{width:16px;height:16px;accent-color:var(--teal);cursor:pointer}
.ocr-cost-hint{font-size:.78rem;color:var(--text-light);margin-left:auto;display:flex;align-items:center;gap:5px}

/* AI Panel */
.ocr-ai-panel{background:#fff;border-radius:14px;box-shadow:0 2px 10px rgba(0,0,0,.06);margin-bottom:18px;border:1.5px solid #c7d2fe;overflow:hidden}
.ocr-ai-header{display:flex;align-items:center;gap:10px;padding:13px 18px;cursor:pointer;user-select:none;flex-wrap:wrap;transition:background .15s}
.ocr-ai-header:hover{background:#f8f7ff}
.ocr-ai-badge{font-size:.88rem;font-weight:700;color:#4f46e5;display:flex;align-items:center;gap:6px;flex-shrink:0}
.ocr-ai-badge i{color:#6366f1}
.ocr-ai-subtitle{font-size:.78rem;color:#64748b;margin-right:auto}
.ocr-ai-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0;border:1.5px solid #e2e8f0}
.ocr-ai-dot-off{background:#e2e8f0}
.ocr-ai-dot-on{background:#22c55e;border-color:#16a34a;box-shadow:0 0 0 3px #dcfce7}
.ocr-ai-dot-busy{background:#f59e0b;border-color:#d97706;box-shadow:0 0 0 3px #fef3c7;animation:ai-pulse 1s infinite}
@keyframes ai-pulse{0%,100%{opacity:1}50%{opacity:.4}}
.ocr-ai-chevron{color:#94a3b8;font-size:.75rem;transition:transform .2s}
.ocr-ai-body{padding:0 18px 18px;border-top:1px solid #e0e7ff}
.ocr-ai-desc{font-size:.82rem;color:#475569;margin:12px 0 14px;display:flex;align-items:flex-start;gap:7px;line-height:1.5}
.ocr-ai-desc i{color:#6366f1;margin-top:2px;flex-shrink:0}
.ocr-ai-keyrow{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap;margin-bottom:12px}
.ocr-ai-save-btn{background:linear-gradient(135deg,#4f46e5,#7c3aed);color:#fff;border:none;border-radius:8px;padding:10px 18px;font-size:.85rem;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:7px;white-space:nowrap;flex-shrink:0;transition:opacity .2s}
.ocr-ai-save-btn:hover{opacity:.88}
.ocr-ai-actions{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.ocr-ai-key-status{font-size:.78rem;font-weight:600;margin-left:auto}
.ocr-ai-key-status.ok{color:#16a34a}
.ocr-ai-key-status.err{color:#dc2626}
/* AI enrichment badge on article cards */
.ocr-ai-enriching{display:inline-flex;align-items:center;gap:5px;font-size:.72rem;color:#6366f1;font-weight:600;animation:ai-pulse 1s infinite}
.ocr-ai-enriched{display:inline-flex;align-items:center;gap:5px;font-size:.72rem;color:#16a34a;font-weight:600}
.ocr-ai-fail{display:inline-flex;align-items:center;gap:5px;font-size:.72rem;color:#dc2626;font-weight:600}

/* Transport card */
.ocr-transport-card{background:#fff;border-radius:14px;padding:20px;box-shadow:0 2px 10px rgba(0,0,0,.06);margin-bottom:18px;border:1.5px solid var(--ec-border)}
.ocr-transport-title{font-size:.92rem;font-weight:700;color:var(--dark);margin-bottom:16px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.ocr-transport-title i{color:var(--teal)}
.ocr-transport-title span{color:var(--text-light);font-weight:400;font-size:.85rem}
.ocr-transport-grid{display:grid;grid-template-columns:2fr 1.5fr 1fr;gap:16px;margin-bottom:12px;align-items:start}
.ocr-transport-grid .ec-form-group{margin-bottom:0}
.ocr-transport-grid label{font-size:.76rem;font-weight:600;color:var(--text-light);margin-bottom:5px;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ocr-transport-grid select,.ocr-transport-grid input{padding:9px 12px;border:2px solid var(--ec-border);border-radius:9px;font-size:.88rem;background:#fff;width:100%;transition:var(--transition);box-sizing:border-box}
.ocr-transport-grid select:focus,.ocr-transport-grid input:focus{outline:none;border-color:var(--teal);box-shadow:0 0 0 3px rgba(0,169,157,.1)}
.ocr-formula-hint{font-size:.78rem;color:#718096;background:#f0fffe;border:1px solid var(--teal-l);border-radius:8px;padding:8px 12px;display:flex;align-items:center;gap:7px;margin-top:6px}
.ocr-formula-hint i{color:var(--teal)}

/* Fret section */
.ocr-fret-section{background:#fffbeb;border:1.5px solid #f6d860;border-radius:12px;padding:16px;margin-bottom:18px}
.ocr-fret-header{font-size:.88rem;font-weight:700;color:#7b6400;margin-bottom:12px;display:flex;align-items:center;gap:8px}
.ocr-fret-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:12px;align-items:start}
.ocr-fret-grid label{font-size:.76rem;font-weight:600;color:#7b6400;margin-bottom:5px;display:block}
.ocr-fret-grid input{padding:9px 12px;border:2px solid #f6d860;border-radius:9px;font-size:.88rem;background:#fff;width:100%;transition:var(--transition);box-sizing:border-box}
.ocr-fret-grid input:focus{outline:none;border-color:#d4850a;box-shadow:0 0 0 3px rgba(246,198,14,.15)}
.ocr-fret-upload-mini{border:2px dashed #f6d860;border-radius:10px;padding:14px;text-align:center;cursor:pointer;transition:var(--transition);font-size:.82rem;color:#9c7015;display:flex;align-items:center;justify-content:center;gap:8px}
.ocr-fret-upload-mini:hover{border-color:#d4850a;background:#fff8e1;color:#7b6400}
.ocr-fret-warn{font-size:.78rem;color:#c05621;background:#fff5eb;border:1px solid #fbd38d;border-radius:8px;padding:8px 12px;margin-top:8px;display:flex;align-items:center;gap:6px}

/* Drop zone */
.ocr2-dropzone{border:2.5px dashed var(--ec-border);border-radius:14px;padding:48px 24px;text-align:center;cursor:pointer;transition:var(--transition);background:#fafcff;display:flex;flex-direction:column;align-items:center;gap:12px;margin-bottom:20px}
.ocr2-dropzone:hover,.ocr2-dropzone.drag-over{border-color:var(--teal);background:#f0fffe;transform:scale(1.005)}
.ocr2-drop-icon{font-size:2.8rem;color:var(--teal);line-height:1}
.ocr2-dropzone strong{font-size:1rem;color:var(--dark);font-weight:700}
.ocr2-dropzone span{font-size:.85rem;color:var(--text-light)}
.ocr2-dropzone small{font-size:.75rem;color:#a0aec0;background:#f0f4f8;padding:4px 12px;border-radius:20px}

/* Progress */
.ocr2-progress{width:100%;background:#e2e8f0;border-radius:8px;height:8px;overflow:hidden;margin-top:8px;display:none}
.ocr2-progress.visible{display:block}
.ocr2-progress-bar{height:100%;background:linear-gradient(90deg,var(--teal),#00d4c8);border-radius:8px;transition:width .3s ease;width:0%}

/* Generic card */
.ocr2-card{background:#fff;border-radius:14px;padding:22px;box-shadow:0 2px 12px rgba(0,0,0,.07);margin-bottom:20px}
.ocr2-card-title{font-size:1rem;font-weight:700;color:var(--dark);margin-bottom:16px;display:flex;align-items:center;gap:8px;padding-bottom:12px;border-bottom:2px solid var(--ec-border)}
.ocr2-card-title i{color:var(--teal)}

/* Buttons */
.ocr2-btn-sm{padding:7px 14px;border-radius:8px;font-size:.82rem;font-weight:600;border:none;cursor:pointer;display:inline-flex;align-items:center;gap:6px;transition:var(--transition)}
.ocr2-btn-sm.btn-teal{background:var(--teal);color:#fff}
.ocr2-btn-sm.btn-teal:hover{background:var(--teal-d)}
.ocr2-btn-sm:hover{opacity:.88}
.ocr2-btn-gray{background:#edf2f7;color:#4a5568;padding:7px 14px;border-radius:8px;font-size:.82rem;font-weight:600;border:none;cursor:pointer;display:inline-flex;align-items:center;gap:6px;transition:var(--transition)}
.ocr2-btn-gray:hover{background:#e2e8f0}

/* Invoice info grid */
.ocr2-info-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px;margin-bottom:4px}
.ocr2-info-item{background:#f7fafc;border-radius:10px;padding:12px 14px;border:1px solid var(--ec-border)}
.ocr2-info-label{font-size:.72rem;font-weight:600;color:var(--text-light);text-transform:uppercase;letter-spacing:.04em;margin-bottom:4px}
.ocr2-info-value{font-size:.92rem;font-weight:700;color:var(--dark)}

/* Summary grid */
.ocr2-summary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:20px}
.ocr2-sum-card{border-radius:12px;padding:18px 20px;display:flex;flex-direction:column;gap:6px}
.ocr2-sum-blue{background:linear-gradient(135deg,#ebf8ff,#bee3f8);border:1.5px solid #90cdf4}
.ocr2-sum-orange{background:linear-gradient(135deg,#fffbeb,#fef3c7);border:1.5px solid #f6d860}
.ocr2-sum-green{background:linear-gradient(135deg,#f0fff4,#c6f6d5);border:1.5px solid #68d391}
.ocr2-sum-label{font-size:.75rem;font-weight:600;color:#4a5568;text-transform:uppercase;letter-spacing:.04em}
.ocr2-sum-value{font-size:1.35rem;font-weight:800;color:var(--dark)}
.ocr2-sum-blue .ocr2-sum-value{color:#2b6cb0}
.ocr2-sum-orange .ocr2-sum-value{color:#c05621}
.ocr2-sum-green .ocr2-sum-value{color:#276749}
.ocr2-sum-note{grid-column:1/-1;font-size:.78rem;color:#92400e;background:#fffbeb;border:1px solid #fde68a;border-radius:8px;padding:8px 14px;display:flex;align-items:center;gap:8px}
.ocr2-sum-note i{color:#d97706;flex-shrink:0}
.ocr2-tarif-table-wrap{grid-column:1/-1}

/* Section title */
.ocr2-section-title{font-size:.95rem;font-weight:700;color:var(--dark);margin-bottom:14px;display:flex;align-items:center;gap:8px;padding-bottom:10px;border-bottom:2px solid var(--ec-border)}
.ocr2-section-title i{color:var(--teal)}

/* Articles list */
.ocr2-articles-list{display:flex;flex-direction:column;gap:10px}

/* Article card */
.ocr2-art-card{background:#fff;border-radius:12px;box-shadow:0 2px 10px rgba(0,0,0,.06);border:1.5px solid var(--ec-border);overflow:hidden;transition:var(--transition)}
.ocr2-art-card:hover{box-shadow:0 6px 20px rgba(0,0,0,.1)}
.ocr2-art-card.status-found{border-left:4px solid #38a169}
.ocr2-art-card.status-ai{border-left:4px solid #d69e2e}
.ocr2-art-card.status-not-found{border-left:4px solid #e53e3e}

.ocr2-art-header{display:flex;align-items:center;gap:14px;padding:14px 18px;cursor:pointer;user-select:none;background:#fdfdfd;transition:var(--transition)}
.ocr2-art-header:hover{background:#f7fafc}
.ocr2-art-num{width:30px;height:30px;border-radius:50%;background:var(--teal);color:#fff;display:flex;align-items:center;justify-content:center;font-size:.78rem;font-weight:700;flex-shrink:0}
.ocr2-art-main{flex:1;min-width:0}
.ocr2-art-desc{font-size:.92rem;font-weight:700;color:var(--dark);white-space:normal;overflow-wrap:anywhere;word-break:break-word;line-height:1.35;margin-bottom:4px}
.ocr2-art-meta{display:flex;gap:8px;flex-wrap:wrap;align-items:center;font-size:.78rem;color:var(--text-light)}
.ocr2-art-meta span{display:flex;align-items:center;gap:4px}
.ocr2-art-right{display:flex;align-items:center;gap:10px;flex-shrink:0}
.ocr2-ngp-code{font-family:monospace;font-weight:700;font-size:.82rem;padding:4px 10px;border-radius:6px;display:flex;align-items:center;gap:5px}
.ocr2-ngp-code.found{background:#e6fffa;color:#2c7a7b}
.ocr2-ngp-code.ai{background:#fffbeb;color:#9c6300}
.ocr2-ngp-code.not-found{background:#fff5f5;color:#c53030}
.ocr2-taxes-chip{background:#eef2ff;color:#5a67d8;font-size:.78rem;font-weight:700;padding:4px 10px;border-radius:20px;white-space:nowrap}
.ocr2-chevron{font-size:.85rem;color:var(--text-light);transition:transform .2s ease;flex-shrink:0}
.ocr2-chevron.open{transform:rotate(180deg)}

/* Article detail panel */
.ocr2-art-detail{display:none;padding:0 18px 18px;border-top:1px solid var(--ec-border);background:#fafcff}
.ocr2-art-detail.open{display:block}
.ocr2-art-detail-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px;margin:14px 0}
.ocr2-dl{font-size:.72rem;font-weight:600;color:var(--text-light);text-transform:uppercase;letter-spacing:.04em;margin-bottom:3px}
.ocr2-dv{font-size:.92rem;font-weight:700;color:var(--dark)}

/* Landed cost */
.ocr2-landed-box{background:linear-gradient(135deg,var(--teal),#00b5a8);border-radius:10px;padding:14px 18px;display:flex;justify-content:space-between;align-items:center;margin:12px 0;color:#fff}
.ocr2-landed-box span{font-size:.85rem;opacity:.85;font-weight:500}
.ocr2-landed-val{font-size:1.4rem;font-weight:800}

/* Accord badge */
.ocr2-accord{background:#e6fffa;border:1.5px solid #81e6d9;border-radius:8px;padding:8px 14px;font-size:.8rem;color:#234e52;display:flex;align-items:center;gap:8px;margin-top:8px}
.ocr2-noduty{background:#f0fff4;border:1.5px solid #68d391;border-radius:8px;padding:8px 14px;font-size:.8rem;color:#276749;display:flex;align-items:center;gap:8px;margin-top:8px}

/* Alerts */
.ocr2-alert{border-radius:8px;padding:9px 14px;font-size:.8rem;font-weight:600;display:flex;align-items:flex-start;gap:8px;margin-top:8px;line-height:1.45}
.ocr2-alert i{flex-shrink:0;margin-top:1px}
.ocr2-alert-warn{background:#fff8f0;border:1.5px solid #fd7e14;color:#c05621}
.ocr2-alert-info{background:#f0fbff;border:1.5px solid #63b3ed;color:#2b6cb0}

/* Auth chips */
.ocr2-auth-chip{display:inline-flex;align-items:center;gap:5px;font-size:.72rem;font-weight:700;padding:3px 10px;border-radius:20px;white-space:nowrap;margin:2px}
.ocr2-auth-danger{background:#fff5f5;color:#c53030;border:1px solid #fc8181}
.ocr2-auth-warning{background:#fffbeb;color:#9c6300;border:1px solid #f6d860}
.ocr2-auth-info{background:#ebf8ff;color:#2b6cb0;border:1px solid #90cdf4}

/* Manual article form */
.ocr-manual-form{display:flex;gap:10px;flex-wrap:wrap;align-items:flex-end}
.ocr-manual-form input,.ocr-manual-form select{padding:9px 12px;border:2px solid var(--ec-border);border-radius:9px;font-size:.88rem;background:#fff;transition:var(--transition)}
.ocr-manual-form input:focus,.ocr-manual-form select:focus{outline:none;border-color:var(--teal)}
.ocr-manual-form input[placeholder="Description"]{flex:1;min-width:200px}

/* ══════════════════════════════════════════════════════
   MODULE ADIL — CODES SH/HS INTERFACE
   Style : douane.gov.ma/adil
   ══════════════════════════════════════════════════════ */

/* En-tête résultat */
.adil-header-card{display:flex;align-items:center;gap:18px;background:linear-gradient(135deg,#0f1e2e 0%,#0a3d2e 100%);border-radius:16px 16px 0 0;padding:22px 28px;color:#fff;flex-wrap:wrap}
.adil-code-badge{font-family:monospace;font-size:1.6rem;font-weight:900;background:rgba(0,169,157,.25);border:2px solid var(--teal);color:var(--teal);padding:8px 18px;border-radius:10px;letter-spacing:.06em;white-space:nowrap;flex-shrink:0}
.adil-header-info{flex:1;min-width:0}
.adil-header-desc{font-size:1.05rem;font-weight:700;margin-bottom:6px;line-height:1.35}
.adil-header-sub{font-size:.78rem;opacity:.65;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.adil-close-btn{background:rgba(255,255,255,.12);border:none;color:#fff;width:36px;height:36px;border-radius:10px;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:1rem;transition:var(--transition);margin-left:auto}
.adil-close-btn:hover{background:rgba(255,255,255,.25)}

/* Onglets */
.adil-tabs-bar{display:flex;background:#fff;border-left:1px solid var(--ec-border);border-right:1px solid var(--ec-border);border-bottom:none;overflow-x:auto;-webkit-overflow-scrolling:touch}
.adil-tab{padding:14px 20px;border:none;border-bottom:3px solid transparent;background:transparent;font-weight:600;font-size:.87rem;cursor:pointer;color:var(--text-light);display:flex;align-items:center;gap:7px;white-space:nowrap;transition:var(--transition);position:relative}
.adil-tab:hover{color:var(--dark);background:#f7fafc}
.adil-tab.active{color:var(--teal);border-bottom-color:var(--teal);background:#fff}
.adil-tab i{font-size:.85rem}
.adil-tab-badge{min-width:18px;height:18px;border-radius:20px;background:#fd7e14;color:#fff;font-size:.68rem;font-weight:700;display:inline-flex;align-items:center;justify-content:center;padding:0 5px}

/* Panneau générique */
.adil-panel{background:#fff;border:1px solid var(--ec-border);border-top:none;border-radius:0 0 16px 16px;padding:24px}

/* ── Onglet Tarif ── */
.adil-tarif-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:20px}
.adil-tariff-card{border-radius:12px;padding:18px;display:flex;flex-direction:column;gap:6px}
.adil-tc-label{font-size:.75rem;font-weight:600;opacity:.75;display:flex;align-items:center;gap:6px}
.adil-tc-value{font-size:2rem;font-weight:900;letter-spacing:-.02em}
.adil-tc-note{font-size:.72rem;opacity:.65;line-height:1.4}
.adil-tc-blue  {background:linear-gradient(135deg,#ebf8ff,#bee3f8);border:1.5px solid #90cdf4;color:#2b6cb0}
.adil-tc-orange{background:linear-gradient(135deg,#fffbeb,#fef3c7);border:1.5px solid #f6d860;color:#c05621}
.adil-tc-purple{background:linear-gradient(135deg,#faf5ff,#e9d8fd);border:1.5px solid #d6bcfa;color:#6b46c1}
.adil-tc-red   {background:linear-gradient(135deg,#fff5f5,#fed7d7);border:1.5px solid #fc8181;color:#c53030}
.adil-tc-green {background:linear-gradient(135deg,#f0fff4,#c6f6d5);border:1.5px solid #68d391;color:#276749}
.adil-tc-dark  {background:linear-gradient(135deg,#1a202c,#2d3748);border:1.5px solid #4a5568;color:#fff}

/* Simulateur */
.adil-calc-box{background:#f7fafc;border:1.5px solid var(--ec-border);border-radius:12px;padding:18px;margin-top:4px}
.adil-calc-title{font-size:.9rem;font-weight:700;color:var(--dark);margin-bottom:14px;display:flex;align-items:center;gap:8px}
.adil-calc-title i{color:var(--teal)}
.adil-calc-row{display:flex;align-items:center;gap:12px;margin-bottom:12px;flex-wrap:wrap}
.adil-calc-row label{font-size:.83rem;font-weight:600;color:var(--text-light);white-space:nowrap}
.adil-calc-row input{flex:1;min-width:180px;padding:9px 14px;border:2px solid var(--ec-border);border-radius:9px;font-size:.9rem;transition:var(--transition)}
.adil-calc-row input:focus{outline:none;border-color:var(--teal);box-shadow:0 0 0 3px rgba(0,169,157,.1)}
.adil-calc-result{background:#fff;border:1.5px solid var(--ec-border);border-radius:10px;padding:14px;margin-top:4px}
.adil-calc-line{display:flex;justify-content:space-between;align-items:center;padding:5px 0;font-size:.85rem;border-bottom:1px solid var(--ec-border)}
.adil-calc-line:last-child{border:none}
.adil-calc-line span{color:var(--text-light)}
.adil-calc-line strong{color:var(--dark);font-family:monospace}
.adil-calc-total{display:flex;justify-content:space-between;align-items:center;padding:10px 0 0;font-size:1rem;font-weight:700;border-top:2px solid var(--teal);margin-top:6px}
.adil-calc-total span{color:var(--dark)}
.adil-calc-total strong{color:var(--teal);font-size:1.1rem;font-family:monospace}

/* ── Onglet Documents / Normes ── */
.adil-ok-row{background:#f0fff4;border:1.5px solid #68d391;border-radius:10px;padding:14px 18px;color:#276749;font-weight:600;display:flex;align-items:center;gap:10px;margin-bottom:16px}
.adil-section-sep{font-size:.85rem;font-weight:700;color:var(--dark);padding:14px 0 10px;border-bottom:2px solid var(--ec-border);margin-bottom:16px;display:flex;align-items:center;gap:8px}
.adil-section-sep i{color:#fd7e14}

/* Documents standards */
.adil-std-docs{background:#f7fafc;border:1.5px solid var(--ec-border);border-radius:12px;padding:16px;margin-bottom:18px}
.adil-std-title{font-size:.85rem;font-weight:700;color:var(--dark);margin-bottom:12px;display:flex;align-items:center;gap:8px}
.adil-std-grid{display:flex;flex-direction:column;gap:7px}
.adil-std-item{display:flex;align-items:center;gap:9px;font-size:.85rem;color:#4a5568;padding:6px 8px;background:#fff;border-radius:7px;border:1px solid var(--ec-border)}
.adil-std-item i{color:var(--teal);font-size:.9rem;flex-shrink:0}

/* Carte document spécifique */
.adil-doc-card{border-radius:12px;padding:18px;margin-bottom:14px;border-left:4px solid #6c757d}
.adil-doc-danger  {background:#fff5f5;border-left-color:#dc3545}
.adil-doc-warning {background:#fff8f0;border-left-color:#fd7e14}
.adil-doc-info    {background:#f0fbff;border-left-color:#0dcaf0}
.adil-doc-success {background:#f0fff4;border-left-color:#28a745}
.adil-doc-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:10px}
.adil-doc-type-badge{font-size:.72rem;font-weight:700;color:#fff;padding:3px 10px;border-radius:20px;white-space:nowrap}
.adil-doc-authority{font-size:.92rem;font-weight:800;color:var(--dark)}
.adil-doc-delay{font-size:.75rem;color:#718096;display:flex;align-items:center;gap:4px;margin-left:auto;white-space:nowrap}
.adil-doc-name{font-size:.95rem;font-weight:700;color:var(--dark);margin-bottom:4px}
.adil-doc-fullname{font-size:.78rem;color:var(--text-light);font-style:italic;margin-bottom:8px}
.adil-doc-note{font-size:.84rem;color:#2d3748;line-height:1.55;margin-bottom:8px}
.adil-doc-ref{font-size:.76rem;color:#718096;background:rgba(0,0,0,.04);padding:7px 12px;border-radius:7px;margin-bottom:8px;display:flex;align-items:flex-start;gap:7px;line-height:1.45}
.adil-doc-link{display:inline-flex;align-items:center;gap:6px;color:var(--teal);font-size:.8rem;font-weight:600;text-decoration:none;padding:5px 10px;border-radius:7px;background:rgba(0,169,157,.08);transition:var(--transition)}
.adil-doc-link:hover{background:rgba(0,169,157,.15);text-decoration:underline}

/* Carte norme */
.adil-norme-card{background:#f0fbff;border:1.5px solid #bee3f8;border-radius:12px;padding:18px;margin-bottom:14px}
.adil-norme-head{display:flex;align-items:flex-start;gap:12px;margin-bottom:12px}
.adil-norme-logo{font-size:1.5rem;line-height:1;flex-shrink:0}
.adil-norme-authority{font-size:.92rem;font-weight:800;color:var(--dark)}
.adil-norme-fullname{font-size:.76rem;color:var(--text-light);margin-top:2px;font-style:italic}
.adil-norme-title{font-size:.9rem;font-weight:700;color:#2b6cb0;margin-bottom:8px;padding:8px 12px;background:#fff;border-radius:8px;border-left:3px solid #63b3ed}
.adil-norme-ref{font-size:.76rem;color:#718096;display:flex;align-items:center;gap:6px;margin-bottom:8px}
.adil-normes-info{background:#ebf8ff;border:1.5px solid #bee3f8;border-radius:10px;padding:14px 16px;font-size:.84rem;color:#2b6cb0;display:flex;align-items:flex-start;gap:10px;line-height:1.55;margin-top:12px}
.adil-normes-info a{color:var(--teal);font-weight:600}

/* ══════════════════════════════════════════════
   MODULE PHOTO → HS CODE
   ══════════════════════════════════════════════ */
.hs-photo-wrap{margin-top:4px}
.hs-photo-divider{display:flex;align-items:center;gap:12px;color:#94a3b8;font-size:.78rem;margin:18px 0 14px;font-weight:500;letter-spacing:.03em;text-transform:uppercase}
.hs-photo-divider::before,.hs-photo-divider::after{content:'';flex:1;height:1px;background:#e2e8f0}
.hs-photo-zone{border:2px dashed #cbd5e1;border-radius:16px;padding:28px 20px;text-align:center;cursor:pointer;transition:all .2s;background:linear-gradient(135deg,#fafbff,#f0f7ff);position:relative}
.hs-photo-zone:hover,.hs-photo-drag{border-color:var(--teal);background:linear-gradient(135deg,#f0fdfa,#e8f4fd)}
.hs-photo-icon{font-size:2.4rem;color:var(--teal);margin-bottom:10px;filter:drop-shadow(0 2px 6px rgba(0,168,136,.25))}
.hs-photo-label{font-weight:700;color:#1a3a5c;font-size:1rem;margin-bottom:4px}
.hs-photo-sub{font-size:.78rem;color:#94a3b8;margin-bottom:14px}
.hs-photo-badges{display:flex;justify-content:center;flex-wrap:wrap;gap:8px}
.hs-pbadge{background:rgba(0,168,136,.1);color:var(--teal);border:1px solid rgba(0,168,136,.25);padding:3px 10px;border-radius:20px;font-size:.72rem;font-weight:600;display:flex;align-items:center;gap:5px}

/* Preview + status */
.hs-photo-preview-wrap{display:grid;grid-template-columns:180px 1fr;gap:18px;margin-top:16px;background:#fff;border-radius:14px;border:1.5px solid var(--ec-border);padding:16px;align-items:center}
.hs-photo-preview{width:180px;height:140px;object-fit:contain;border-radius:10px;background:#f8f9fa;border:1px solid #e2e8f0}
.hs-photo-status-box{min-height:60px;display:flex;align-items:center}
.hs-photo-loading{display:flex;align-items:center;gap:10px;color:var(--teal);font-size:.88rem;font-weight:500}

/* Résultats AI */
.hs-photo-info{margin-top:12px;background:#fff;border-radius:14px;border:1.5px solid var(--ec-border);padding:20px}
.hs-photo-product{font-weight:700;color:#1a3a5c;font-size:1.05rem;margin-bottom:12px;display:flex;align-items:center;gap:8px}
.hs-photo-code-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:10px}
.hs-photo-code-badge{background:#0f1e2e;color:#4de8c2;font-family:monospace;font-weight:800;font-size:1rem;padding:5px 14px;border-radius:8px;letter-spacing:.05em}
.hs-photo-conf{font-size:.78rem;font-weight:700;background:#f1f5f9;padding:3px 10px;border-radius:6px;display:flex;align-items:center;gap:5px}
.hs-photo-chapter-note{font-size:.73rem;color:#94a3b8;font-style:italic}
.hs-photo-reason{font-size:.82rem;color:#475569;margin-bottom:16px;display:flex;gap:7px;align-items:flex-start;line-height:1.5;background:#f8faff;padding:10px 12px;border-radius:8px;border-left:3px solid var(--teal)}

/* Grille des taux */
.hs-photo-rates-grid{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:16px}
.hs-photo-rate{border-radius:12px;padding:12px 16px;text-align:center;min-width:80px;flex:1;border:1.5px solid}
.hs-rate-label{font-size:.7rem;font-weight:700;letter-spacing:.05em;margin-bottom:4px}
.hs-rate-value{font-size:1.5rem;font-weight:800;margin-bottom:2px;line-height:1}
.hs-rate-sub{font-size:.65rem;opacity:.8}
.hs-rate-blue{background:#eff6ff;border-color:#93c5fd}.hs-rate-blue .hs-rate-label{color:#1d4ed8}.hs-rate-blue .hs-rate-value{color:#1d4ed8}
.hs-rate-orange{background:#fff7ed;border-color:#fdba74}.hs-rate-orange .hs-rate-label{color:#c2410c}.hs-rate-orange .hs-rate-value{color:#c2410c}
.hs-rate-purple{background:#faf5ff;border-color:#d8b4fe}.hs-rate-purple .hs-rate-label{color:#7c3aed}.hs-rate-purple .hs-rate-value{color:#7c3aed}
.hs-rate-red{background:#fff1f2;border-color:#fca5a5}.hs-rate-red .hs-rate-label{color:#dc2626}.hs-rate-red .hs-rate-value{color:#dc2626}

/* Boutons CTA */
.hs-photo-cta-row{display:flex;gap:10px;flex-wrap:wrap}
.hs-photo-btn-primary{display:flex;align-items:center;gap:8px;background:var(--teal);color:#fff;border:none;padding:11px 18px;border-radius:10px;font-weight:700;font-size:.88rem;cursor:pointer;transition:background .2s;flex:1}
.hs-photo-btn-primary:hover{background:#0a8f72}
.hs-photo-btn-secondary{display:flex;align-items:center;gap:8px;background:#f1f5f9;color:#475569;border:1.5px solid #e2e8f0;padding:11px 16px;border-radius:10px;font-weight:600;font-size:.85rem;cursor:pointer;transition:background .2s}
.hs-photo-btn-secondary:hover{background:#e2e8f0}
.hs-photo-error-box{display:flex;align-items:flex-start;gap:12px;background:#fff5f5;border:1.5px solid #fca5a5;border-radius:10px;padding:14px;color:#dc2626;font-size:.85rem}
.hs-photo-error-box i{font-size:1.3rem;flex-shrink:0;margin-top:1px}
.hs-photo-notarif{background:#fffbeb;border:1.5px solid #f6d860;border-radius:10px;padding:12px 14px;font-size:.82rem;color:#7b6400;display:flex;gap:8px;align-items:center}
.hs-photo-api-note{background:#fffbeb;border:1.5px solid #fcd34d;border-radius:10px;padding:12px 14px;font-size:.82rem;color:#92400e;gap:8px;align-items:center;margin-top:10px}
.hs-photo-api-note a{color:var(--teal);font-weight:600}
@media(max-width:640px){.hs-photo-preview-wrap{grid-template-columns:1fr}.hs-photo-preview{width:100%;height:200px}.hs-photo-rates-grid{gap:8px}}

/* ── Onglet Accords ── */
.adil-accords-intro{background:#fffbeb;border:1.5px solid #f6d860;border-radius:10px;padding:14px 16px;font-size:.85rem;color:#7b6400;display:flex;align-items:flex-start;gap:10px;margin-bottom:20px;line-height:1.5}
.adil-accords-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px}
.adil-accord-card{background:#fff;border-radius:14px;box-shadow:0 2px 12px rgba(0,0,0,.07);border:1.5px solid var(--ec-border);overflow:hidden;display:flex;flex-direction:column;transition:var(--transition)}
.adil-accord-card:hover{box-shadow:0 6px 20px rgba(0,0,0,.1);transform:translateY(-2px)}
.adil-accord-head{background:linear-gradient(135deg,#0f1e2e,#1a3a5c);color:#fff;padding:16px 18px;display:flex;align-items:center;gap:14px}
.adil-accord-code{font-size:.75rem;font-weight:800;background:var(--teal);color:#fff;padding:4px 10px;border-radius:6px;font-family:monospace;white-space:nowrap;flex-shrink:0}
.adil-accord-name{font-size:.88rem;font-weight:700;line-height:1.3}
.adil-accord-body{padding:14px 16px;flex:1;display:flex;flex-direction:column;gap:10px}
.adil-accord-row{display:flex;align-items:flex-start;gap:10px;font-size:.83rem}
.adil-accord-lbl{color:var(--text-light);white-space:nowrap;display:flex;align-items:center;gap:5px;min-width:80px;flex-shrink:0}
.adil-accord-val{color:var(--dark);font-weight:600;line-height:1.35}
.adil-accord-rate{color:#276749;background:#f0fff4;padding:2px 8px;border-radius:5px;font-weight:700}
.adil-accord-countries{display:flex;flex-wrap:wrap;gap:5px}
.adil-country-pill{background:#eef2ff;color:#5a67d8;font-size:.72rem;font-weight:600;padding:3px 8px;border-radius:20px}
.adil-country-more{background:#e2e8f0;color:#4a5568}
.adil-accord-note{font-size:.78rem;color:var(--text-light);line-height:1.45;margin-top:2px}

/* ── Accords Pays Table (style ADIL douane.gov.ma) ── */
.adil-pays-table-wrap{overflow-x:auto;margin-bottom:12px;border-radius:12px;box-shadow:0 2px 12px rgba(0,0,0,.07)}
.adil-pays-table{width:100%;border-collapse:collapse;font-size:.85rem;background:#fff;border-radius:12px;overflow:hidden}
.adil-pays-table thead tr{background:linear-gradient(135deg,#1a3a5c,#0f2241);color:#fff}
.adil-pays-table th{padding:11px 14px;font-weight:700;font-size:.8rem;text-align:center;border:none;letter-spacing:.02em}
.adil-pays-table th:nth-child(2){text-align:left}
.adil-pays-row{border-bottom:1px solid #f0f4f8;cursor:default;transition:background .15s}
.adil-pays-row:hover{background:#f0f7ff}
.adil-pays-row:last-child{border-bottom:none}
.adil-pays-flag{font-size:1.4rem;padding:7px 12px 7px 10px;text-align:center;width:44px;vertical-align:middle}
.adil-pays-name{font-weight:700;color:#1a3a5c;padding:7px 6px;font-size:.84rem;white-space:nowrap;vertical-align:middle}
.adil-pays-liste{color:#4a5568;font-size:.77rem;padding:7px 10px;font-style:italic;vertical-align:middle}
.adil-pays-di,.adil-pays-tpi{text-align:center;font-weight:800;color:#276749;padding:7px 14px;font-size:.92rem;vertical-align:middle}
.adil-pays-star{color:#c05621;cursor:help;font-weight:800;font-size:.9rem}
.adil-pays-legend{text-align:right;font-size:.75rem;color:#c05621;font-style:italic;margin-top:7px;padding-right:4px;display:flex;align-items:center;justify-content:flex-end;gap:5px}

/* ── Responsive ── */
@media(max-width:900px){
  /* Sidebar & main */
  .ec-sidebar{display:none}
  .ec-topbar{padding:0 16px}
  .ec-main{margin-left:0;padding:16px}

  /* Grilles globales */
  .ocr-layout,.invoice-layout,.sim-pro-layout{grid-template-columns:1fr}
  .ec-form-row{grid-template-columns:1fr}
  .ec-cards-grid{grid-template-columns:1fr 1fr}
  .cont-grid,.aircraft-grid{grid-template-columns:1fr 1fr}
  .ocr2-summary-grid{grid-template-columns:1fr}
  .ocr-fret-grid{grid-template-columns:1fr}
  .ocr-transport-grid{grid-template-columns:1fr}
  .ocr2-info-grid{grid-template-columns:1fr 1fr}

  /* Simulateur Pro */
  .sim-pro-form{padding:16px 18px}
  .simpr-card{padding:14px 16px;position:static}
  .simpr-total strong{font-size:1rem}
  #simpr-total-val{font-size:1rem}

  /* Admin */
  .adm-tabs{flex-wrap:wrap;gap:4px}
  .adm-tab{padding:8px 12px;font-size:.78rem}
  .adm-sub-tabs{flex-wrap:wrap;gap:4px}
  .adm-stab{padding:7px 12px;font-size:.77rem}
  .adm-maritime-origin-bar{flex-direction:column;align-items:flex-start}
  .adm-origin-pills{flex-wrap:wrap;gap:6px}

  /* Formulaire module header */
  .ec-module-header{padding:16px}
  .ec-module-header h1{font-size:1.3rem}
}

@media(max-width:600px){
  .ec-main{padding:12px}
  .ec-cards-grid{grid-template-columns:1fr}
  .cont-grid,.aircraft-grid{grid-template-columns:1fr}

  /* Topbar mobile */
  .ec-topbar{gap:8px}
  .ec-user-name{display:none}

  /* Formulaires */
  .ec-form-row{grid-template-columns:1fr;gap:10px}
  .ec-form-group{margin-bottom:10px}
  .ec-form-group>label{font-size:.8rem}
  .ec-form-group input:not([type="checkbox"]):not([type="radio"]),
  .ec-form-group select,.ec-form-group textarea{padding:10px 12px;font-size:.88rem}

  /* Dimensions (3 inputs inline) */
  .ec-dims-row{gap:6px}
  .ec-dims-row input{font-size:.85rem;padding:9px 8px}

  /* Simulateur Pro */
  .sim-pro-layout{gap:16px}
  .sim-pro-form,.simpr-card{padding:14px;border-radius:12px}
  .simpr-header h3{font-size:1rem}
  .simpr-total strong{font-size:1.2rem}
  .simpr-line{font-size:.83rem}

  /* Boutons */
  .ec-btn-full{padding:12px;font-size:.9rem}

  /* Expédition stepper */
  .shp-stepper{padding:12px 16px;gap:0}
  .shp-step small{font-size:.62rem}
  .shp-pay-option{grid-template-columns:30px 1fr;gap:8px}

  /* Admin tabs */
  .adm-panel{padding:16px}
  .adm-table th,.adm-table td{padding:8px 10px;font-size:.8rem}

  /* OCR */
  .ocr2-art-row{flex-wrap:wrap;gap:8px}
  .ocr-manual-form{flex-wrap:wrap}
}

/* ─── EXPRESS SIMULATOR ─── */
.exp-form-card{background:#fff;border:1px solid var(--ec-border);border-radius:16px;padding:24px;margin-bottom:20px}
.exp-form-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px;align-items:end}
.exp-form-group{display:flex;flex-direction:column;gap:6px}
.exp-form-group label{font-size:.78rem;font-weight:600;color:var(--text-light);text-transform:uppercase;letter-spacing:.04em}
.exp-form-group select,.exp-form-group input{padding:10px 13px;border:2px solid var(--ec-border);border-radius:10px;font-size:.9rem;background:#fff;width:100%;box-sizing:border-box;transition:var(--transition)}
.exp-form-group select:focus,.exp-form-group input:focus{border-color:var(--teal);outline:none}
.exp-dims-row{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px;margin-top:8px}
.exp-calc-btn{width:100%;padding:13px;background:linear-gradient(135deg,var(--teal),#0a8f85);color:#fff;border:none;border-radius:12px;font-size:1rem;font-weight:700;cursor:pointer;transition:var(--transition);margin-top:8px}
.exp-calc-btn:hover{opacity:.9;transform:translateY(-1px)}

/* Résultats */
.exp-result-card{background:#fff;border:1px solid var(--ec-border);border-radius:16px;overflow:hidden;margin-top:20px}
.exp-result-header{background:linear-gradient(135deg,#0f1e2e,#0a3d2e);color:#fff;padding:18px 24px;display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.exp-result-header h3{margin:0;font-size:1.1rem}
.exp-result-badge{background:rgba(0,169,157,.25);border:1px solid var(--teal);color:var(--teal);padding:4px 12px;border-radius:20px;font-size:.82rem;font-weight:700}
.exp-result-meta{display:flex;gap:16px;flex-wrap:wrap;font-size:.82rem;opacity:.85}
.exp-table-wrap{overflow-x:auto}
.exp-table{width:100%;border-collapse:collapse}
.exp-table th{background:#f7f9fc;padding:12px 16px;text-align:left;font-size:.78rem;font-weight:700;color:var(--text-light);text-transform:uppercase;border-bottom:2px solid var(--ec-border)}
.exp-table td{padding:14px 16px;border-bottom:1px solid #f0f3f7;font-size:.9rem}
.exp-table tr:last-child td{border-bottom:none}
.exp-carrier-logo{display:flex;align-items:center;gap:8px;font-weight:700}
.exp-carrier-logo img{height:22px;object-fit:contain}
.exp-price-base{color:var(--text-light);font-size:.85rem}
.exp-price-fuel{color:#e67e22;font-size:.82rem}
.exp-price-total{font-size:1.15rem;font-weight:900;color:var(--teal)}
.exp-best{background:linear-gradient(90deg,rgba(0,169,157,.06),transparent)}
.exp-best .exp-price-total{color:#0a8f85}
.exp-zone-badge{display:inline-block;background:#eef2f7;color:#64748b;padding:2px 8px;border-radius:6px;font-size:.75rem;font-weight:600}
.exp-transit{display:flex;align-items:center;gap:4px;font-size:.85rem;color:#64748b}
.exp-no-data{color:#aaa;font-size:.85rem;font-style:italic}
@media(max-width:900px){.exp-form-grid{grid-template-columns:1fr 1fr}.exp-dims-row{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.exp-form-grid{grid-template-columns:1fr}.exp-dims-row{grid-template-columns:1fr}}

/* ═══════════════════════════════════════
   NOUVELLE EXPÉDITION — Stepper form
   ═══════════════════════════════════════ */
.shp-stepper{display:flex;align-items:center;gap:0;margin-bottom:28px;padding:20px 24px;background:#fff;border:1px solid var(--ec-border);border-radius:14px;overflow-x:auto}
.shp-step{display:flex;flex-direction:column;align-items:center;gap:4px;min-width:72px;cursor:default;flex-shrink:0}
.shp-step span{width:32px;height:32px;border-radius:50%;border:2px solid var(--ec-border);display:flex;align-items:center;justify-content:center;font-size:.85rem;font-weight:700;background:#fff;color:var(--text-light);transition:var(--transition)}
.shp-step small{font-size:.7rem;color:var(--text-light);white-space:nowrap;font-weight:600}
.shp-step.active span{background:var(--teal);border-color:var(--teal);color:#fff;box-shadow:0 4px 12px rgba(0,169,157,.3)}
.shp-step.active small{color:var(--teal)}
.shp-step.done span{background:#0a8f85;border-color:#0a8f85;color:#fff}
.shp-step.done span::after{content:'✓'}
.shp-step.done small{color:#0a8f85}
.shp-step-line{flex:1;height:2px;background:var(--ec-border);min-width:20px;align-self:center;margin-bottom:18px}

.shp-layout{display:grid;grid-template-columns:1fr 280px;gap:20px;align-items:start}
.shp-form-col{display:flex;flex-direction:column;gap:0}
.shp-panel{display:none;background:#fff;border:1px solid var(--ec-border);border-radius:14px;padding:24px;animation:fadeIn .2s ease}
.shp-panel.active{display:block}
.shp-panel-title{margin:0 0 20px;font-size:1rem;font-weight:700;color:var(--dark);display:flex;align-items:center;gap:8px}

.shp-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.shp-grid-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px}
.shp-field{display:flex;flex-direction:column;gap:5px}
.shp-field.span2{grid-column:span 2}
.shp-field.span3{grid-column:span 3}
.shp-field label{font-size:.75rem;font-weight:700;color:var(--text-light);text-transform:uppercase;letter-spacing:.04em}
.shp-field input,.shp-field select,.shp-field textarea{padding:9px 12px;border:2px solid var(--ec-border);border-radius:9px;font-size:.9rem;width:100%;box-sizing:border-box;transition:var(--transition);background:#fff;font-family:inherit}
.shp-field input:focus,.shp-field select:focus,.shp-field textarea:focus{border-color:var(--teal);outline:none}

.shp-nav-btns{display:flex;justify-content:space-between;align-items:center;margin-top:22px;padding-top:18px;border-top:1px solid var(--ec-border)}
.shp-btn-next{background:linear-gradient(135deg,var(--teal),#0a8f85);color:#fff;border:none;padding:10px 22px;border-radius:10px;font-weight:700;cursor:pointer;font-size:.9rem;display:flex;align-items:center;gap:8px;transition:var(--transition)}
.shp-btn-next:hover{opacity:.9}
.shp-btn-prev{background:#f1f5f9;color:#64748b;border:none;padding:10px 18px;border-radius:10px;font-weight:600;cursor:pointer;font-size:.9rem;display:flex;align-items:center;gap:8px;transition:var(--transition)}
.shp-btn-prev:hover{background:#e2e8f0}
.shp-btn-draft{background:#fffbeb;color:#92400e;border:1.5px solid #fde68a;padding:9px 16px;border-radius:10px;font-weight:600;cursor:pointer;font-size:.85rem;display:flex;align-items:center;gap:7px;transition:var(--transition)}
.shp-btn-draft:hover{background:#fef3c7;border-color:#f59e0b}
/* Boutons template */
.shp-btn-tpl-save{background:#faf5ff;color:#7c3aed;border:1.5px solid #ddd6fe;padding:9px 16px;border-radius:10px;font-weight:600;cursor:pointer;font-size:.85rem;display:flex;align-items:center;gap:7px;transition:var(--transition)}
.shp-btn-tpl-save:hover{background:#ede9fe;border-color:#8b5cf6}
.shp-btn-tpl-load{background:#faf5ff;color:#7c3aed;border:1.5px solid #ddd6fe;padding:9px 16px;border-radius:10px;font-weight:600;cursor:pointer;font-size:.85rem;display:flex;align-items:center;gap:7px;transition:var(--transition)}
.shp-btn-tpl-load:hover{background:#ede9fe;border-color:#8b5cf6}
/* Cartes template dans Mes Expéditions */
.shph-tpl-card{background:#faf5ff;border:1.5px solid #ddd6fe;border-radius:14px;padding:16px;display:flex;flex-direction:column;gap:10px;transition:var(--transition)}
.shph-tpl-card:hover{border-color:#8b5cf6;box-shadow:0 4px 14px rgba(139,92,246,.12)}
.shph-tpl-name{font-weight:700;color:#0f172a;font-size:.95rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.shph-tpl-meta{font-size:.75rem;color:#7c3aed;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.shph-tpl-actions{display:flex;gap:8px;margin-top:4px}
/* Lignes brouillon dans le tableau Mes Expéditions */
.shph-draft-row{background:#fffdf0 !important;border-left:3px solid #f59e0b}
.shph-draft-row td:first-child{border-left:3px solid #f59e0b}
.shph-draft-badge{display:inline-flex;align-items:center;gap:5px;background:#fef3c7;color:#92400e;border:1.5px solid #fde68a;border-radius:6px;padding:2px 9px;font-size:.75rem;font-weight:700;letter-spacing:.03em}
.shph-btn-resume{background:#dcfce7 !important;color:#166534 !important;border-color:#86efac !important}
.shph-btn-resume:hover{background:#bbf7d0 !important}
.shp-btn-generate{background:linear-gradient(135deg,#1a3d8f,#0a6b8f);color:#fff;border:none;padding:12px 28px;border-radius:10px;font-weight:800;cursor:pointer;font-size:1rem;display:flex;align-items:center;gap:8px;transition:var(--transition)}
.shp-btn-generate:hover{opacity:.9;transform:translateY(-1px)}

/* Packages */
.shp-pkg-card{background:#f7f9fc;border:1px solid var(--ec-border);border-radius:12px;padding:18px;margin-bottom:14px}
.shp-pkg-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px;font-weight:700;color:var(--dark)}
.shp-pkg-remove{background:none;border:none;color:#e74c3c;cursor:pointer;padding:4px 8px;border-radius:6px;font-size:.9rem}
.shp-pkg-remove:hover{background:#fee}
.shp-add-pkg-btn{width:100%;padding:10px;background:#f7f9fc;border:2px dashed var(--ec-border);border-radius:10px;color:var(--teal);font-weight:700;cursor:pointer;font-size:.9rem;margin-top:4px;transition:var(--transition)}
.shp-add-pkg-btn:hover{border-color:var(--teal);background:#f0faf9}
.shp-vol-weight{font-size:.8rem;color:#64748b;background:#eef2f7;padding:6px 10px;border-radius:8px;display:inline-block}

/* Carriers */
.shp-carrier-grid{display:flex;flex-direction:column;gap:12px;margin-bottom:20px}
.shp-carrier-card{display:grid;grid-template-columns:72px 1fr auto auto;align-items:center;gap:16px;background:#f7f9fc;border:2px solid var(--ec-border);border-radius:12px;padding:16px;cursor:pointer;transition:var(--transition)}
.shp-carrier-card:hover{border-color:var(--teal);background:#f0faf9}
.shp-carrier-card.selected{border-color:var(--teal);background:rgba(0,169,157,.06)}
.shp-carrier-logo{display:flex;align-items:center;justify-content:center;color:#fff;font-weight:900;font-size:.9rem;padding:8px 4px;border-radius:8px;letter-spacing:.05em;text-align:center}
.shp-carrier-name{font-weight:700;font-size:.9rem;margin-bottom:6px}
.shp-carrier-services select{padding:6px 10px;border:1px solid var(--ec-border);border-radius:8px;font-size:.82rem;background:#fff;cursor:pointer}
.shp-carrier-transit{font-size:.82rem;color:#64748b;white-space:nowrap;display:flex;align-items:center;gap:5px}
.shp-carrier-check{color:var(--ec-border);font-size:1.3rem;transition:var(--transition)}
.shp-carrier-card.selected .shp-carrier-check{color:var(--teal)}
.shp-options-row{display:flex;flex-wrap:wrap;gap:16px;padding:14px 0}
.shp-checkbox-label{display:flex;align-items:center;gap:8px;font-size:.88rem;cursor:pointer;color:var(--text-body)}
.shp-checkbox-label input{width:16px;height:16px;cursor:pointer;accent-color:var(--teal)}

/* Summary sidebar */
.shp-summary-card{background:#fff;border:1px solid var(--ec-border);border-radius:14px;padding:20px;position:sticky;top:80px}
.shp-summary-title{font-weight:800;font-size:.9rem;color:var(--dark);margin-bottom:16px;display:flex;align-items:center;gap:8px;text-transform:uppercase;letter-spacing:.05em}
.shp-sum-block{margin-bottom:14px;padding-bottom:14px;border-bottom:1px solid var(--ec-border);font-size:.88rem}
.shp-sum-block:last-child{border-bottom:none;margin-bottom:0}
.shp-sum-label{font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--text-light);margin-bottom:3px}
.shp-summary-row.muted{color:#aaa;font-style:italic;font-size:.85rem}

/* Confirmation */
.shp-confirm-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:20px}
.shp-confirm-block{background:#f7f9fc;border:1px solid var(--ec-border);border-radius:12px;padding:16px;font-size:.88rem;line-height:1.6}
.shp-confirm-label{font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--text-light);margin-bottom:6px}
.shp-confirm-pkg{padding:6px 0;border-bottom:1px solid #e8ecf0;font-size:.85rem}
.shp-confirm-pkg:last-child{border-bottom:none}
.shp-confirm-notice{background:#fffbeb;border:1px solid #f59e0b;border-radius:10px;padding:14px 18px;font-size:.85rem;color:#78350f;line-height:1.5}

/* Customs */
.shp-customs-notice{background:#eff6ff;border:1px solid #93c5fd;border-radius:10px;padding:14px 18px;font-size:.85rem;color:#1e40af;margin-bottom:20px;line-height:1.5}
.shp-customs-section{margin-bottom:22px;padding-bottom:22px;border-bottom:1px solid var(--ec-border)}
.shp-customs-section:last-child{border-bottom:none;margin-bottom:0}

/* ══════════════════════════════════════════════════════
   PALETTE GUIDE
   ══════════════════════════════════════════════════════ */
.palette-section-title{font-weight:800;font-size:.95rem;color:var(--dark);margin:20px 0 12px;padding:10px 14px;background:linear-gradient(90deg,#f0f4f8,#fff);border-left:4px solid var(--teal);border-radius:6px;display:flex;align-items:center;gap:10px}

/* ══════════════════════════════════════════════════════
   INCOTERMS 2020
   ══════════════════════════════════════════════════════ */
.inco-diagram{background:#f7f9fc;border:1px solid var(--ec-border);border-radius:14px;padding:20px;margin-bottom:24px}
.inco-diagram-title{font-weight:800;font-size:.95rem;color:var(--dark);margin-bottom:16px;display:flex;align-items:center;gap:8px}
.inco-scale{position:relative;padding-bottom:8px}
.inco-scale-bar{display:flex;border-radius:8px;overflow:hidden;height:36px;margin-bottom:8px}
.inco-seller-zone{flex:1;background:#e53e3e;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:800;font-size:.8rem;letter-spacing:.05em}
.inco-buyer-zone{flex:1;background:#2563eb;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:800;font-size:.8rem;letter-spacing:.05em}
.inco-scale-labels{display:flex;justify-content:space-between;font-size:.72rem;color:#64748b;margin-bottom:8px;padding:0 2px}
.inco-scale-arrow{position:relative;height:24px;display:flex;align-items:center;gap:4px}
.inco-arrow-track{flex:1;height:6px;background:#e2e8f0;border-radius:3px;position:relative;overflow:hidden}
.inco-arrow-fill{height:100%;width:70%;background:linear-gradient(90deg,#e53e3e,#f59e0b,#2563eb);border-radius:3px}
.inco-arrow-head{color:#2563eb;font-size:1rem;line-height:1}
.inco-code{display:inline-block;color:#fff;border-radius:4px;padding:3px 10px;font-weight:700;font-family:monospace;font-size:.9rem;letter-spacing:.05em}
.inco-notes{background:#f7f9fc;border:1px solid var(--ec-border);border-radius:12px;padding:16px 20px;margin-top:20px;display:flex;flex-direction:column;gap:10px}
.inco-note{font-size:.85rem;color:var(--text-body);display:flex;align-items:flex-start;gap:10px;line-height:1.5}

/* ══════════════════════════════════════════════════════
   HORLOGE MONDIALE
   ══════════════════════════════════════════════════════ */
/* ── Truck / Container illustration ── */
.cont-truck-img{background:#f1f5f9;border-bottom:1px solid var(--ec-border);overflow:hidden}
.cont-truck-img svg{width:100%;height:80px;display:block;padding:8px 12px 2px}
.cont-photo{width:100%;height:160px;object-fit:cover;display:block;transition:opacity .3s}

.wc-search-row{display:flex;gap:12px;margin-bottom:20px;flex-wrap:wrap}
.wc-search-row input{flex:1;min-width:200px;padding:11px 14px;border:2px solid var(--ec-border);border-radius:10px;font-size:.9rem;background:#fff;transition:var(--transition)}
.wc-search-row input:focus{outline:none;border-color:var(--teal);box-shadow:0 0 0 3px rgba(0,169,157,.12)}
.wc-search-row select{padding:11px 14px;border:2px solid var(--ec-border);border-radius:10px;font-size:.9rem;background:#fff;cursor:pointer;transition:var(--transition)}
.wc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:14px}
.wc-card{background:#fff;border:1px solid var(--ec-border);border-radius:14px;padding:16px 18px;display:flex;flex-direction:column;gap:3px;box-shadow:0 2px 8px rgba(0,0,0,.05);transition:var(--transition)}
.wc-card:hover{border-color:var(--teal);box-shadow:0 4px 16px rgba(0,169,157,.12);transform:translateY(-2px)}
.wc-flag{font-size:1.8rem;line-height:1;margin-bottom:4px}
.wc-city{font-weight:800;font-size:.95rem;color:var(--dark)}
.wc-country{font-size:.75rem;color:#64748b}
.wc-time{font-size:1.5rem;font-weight:900;color:var(--teal);font-family:monospace;margin-top:6px;letter-spacing:.02em}
.wc-date{font-size:.72rem;color:#94a3b8;text-transform:capitalize}
.wc-utc{font-size:.7rem;color:#cbd5e1;margin-top:2px}
/* ── VesselFinder module ── */
.vessel-zone-row{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:16px}
.vessel-zone-btn{padding:9px 16px;border-radius:22px;border:2px solid var(--ec-border);background:#fff;color:var(--dark);font-size:.85rem;font-weight:600;cursor:pointer;transition:var(--transition);display:flex;align-items:center;gap:7px}
.vessel-zone-btn:hover{border-color:var(--teal);color:var(--teal)}
.vessel-zone-btn.active{background:var(--teal);border-color:var(--teal);color:#fff}
.vessel-map-wrap{border-radius:14px;overflow:hidden;box-shadow:0 4px 20px rgba(0,0,0,.1);border:1px solid var(--ec-border)}
.vessel-credit{margin-top:12px;font-size:.8rem;color:#94a3b8;display:flex;align-items:center;gap:6px}
.vessel-credit a{color:var(--teal);text-decoration:none}
.vessel-credit a:hover{text-decoration:underline}

/* ── Trafic Routier ── */
.road-zone-row{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}
.road-zone-btn{padding:9px 16px;border-radius:22px;border:2px solid var(--ec-border);background:#fff;color:var(--dark);font-size:.84rem;font-weight:600;cursor:pointer;transition:var(--transition);display:flex;align-items:center;gap:7px}
.road-zone-btn:hover{border-color:#e67e22;color:#e67e22}
.road-zone-btn.active{background:linear-gradient(135deg,#e67e22,#f39c12);border-color:#e67e22;color:#fff;box-shadow:0 3px 12px rgba(230,126,34,.3)}
.road-map-wrap{border-radius:14px;overflow:hidden;box-shadow:0 4px 20px rgba(0,0,0,.12);border:1px solid var(--ec-border);position:relative}
.road-map-wrap iframe{display:block;width:100%;height:560px;border:none}
.road-legend{display:flex;align-items:center;gap:20px;flex-wrap:wrap;margin-top:14px;padding:12px 16px;background:#fff;border-radius:12px;border:1px solid var(--ec-border)}
.road-legend-item{display:flex;align-items:center;gap:7px;font-size:.8rem;font-weight:600;color:var(--dark)}
.road-legend-dot{width:14px;height:6px;border-radius:3px;flex-shrink:0}
.road-legend-dot.green{background:#4ade80}
.road-legend-dot.orange{background:#fb923c}
.road-legend-dot.red{background:#ef4444}
.road-legend-dot.grey{background:#94a3b8}
.road-legend-sep{width:1px;height:18px;background:var(--ec-border)}
.road-port-info{display:flex;align-items:center;gap:10px;font-size:.82rem;color:#64748b;flex:1;justify-content:flex-end}
.road-port-info strong{color:var(--dark)}
@media(max-width:600px){
  .road-zone-row{gap:6px}
  .road-zone-btn{padding:7px 12px;font-size:.78rem}
  .road-legend{gap:12px}
  .road-port-info{display:none}
}

/* ── Galerie Navires ── */
.gallery-toolbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;margin-bottom:14px;padding:12px 16px;background:#fff;border-radius:12px;border:1px solid var(--ec-border)}
.gallery-info{font-size:.83rem;color:#64748b;display:flex;align-items:center;gap:8px}
.gallery-open-btn{display:inline-flex;align-items:center;gap:7px;padding:8px 18px;background:#1d6fa4;color:#fff;border-radius:10px;text-decoration:none;font-weight:700;font-size:.83rem;transition:var(--transition);white-space:nowrap}
.gallery-open-btn:hover{background:#1558a0;transform:translateY(-1px)}
.gallery-frame-wrap{position:relative;border-radius:14px;overflow:hidden;box-shadow:0 4px 20px rgba(0,0,0,.12);border:1px solid var(--ec-border);background:#f8fafc;min-height:680px}
.gallery-frame-wrap iframe{display:block;width:100%;height:78vh;min-height:620px;border:none}
.gallery-fallback{display:none;position:absolute;inset:0;background:#f0f4f8;align-items:center;justify-content:center}
.gallery-fallback-inner{text-align:center;padding:40px 24px;max-width:340px}
.gallery-fallback-inner h3{font-size:1.2rem;font-weight:800;color:var(--dark);margin:0 0 8px}
.gallery-fallback-inner p{font-size:.88rem;color:#64748b;line-height:1.6;margin:0}
@media(max-width:600px){
  .gallery-frame-wrap iframe{height:65vh;min-height:420px}
  .gallery-toolbar{flex-direction:column;align-items:flex-start}
}
.shp-customs-subtitle{margin:0 0 14px;font-size:.9rem;font-weight:700;color:var(--dark);display:flex;align-items:center;gap:6px}
.shp-article-card{background:#f7f9fc;border:1px solid var(--ec-border);border-radius:12px;padding:16px;margin-bottom:12px}
.shp-pickup-section{margin-top:20px;padding-top:20px;border-top:1px solid var(--ec-border)}
.shp-pickup-title{margin:0 0 14px;font-size:.9rem;font-weight:700;color:var(--dark);display:flex;align-items:center;gap:6px}
/* Mode de remise — cartes de sélection */
.shp-mode-cards{display:flex;gap:12px;margin-bottom:20px;flex-wrap:wrap}
.shp-mode-card{flex:1;min-width:200px;border:2px solid var(--ec-border);border-radius:12px;padding:16px 14px;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center;transition:var(--transition);user-select:none}
.shp-mode-card input[type="radio"]{display:none}
.shp-mode-card i{font-size:1.7rem;color:var(--text-light);transition:var(--transition)}
.shp-mode-card:has(input:checked){border-color:var(--teal);background:rgba(0,169,157,.07);box-shadow:0 0 0 3px rgba(0,169,157,.1)}
.shp-mode-card:has(input:checked) i{color:var(--teal)}
.shp-mode-title{font-weight:700;font-size:.9rem;color:var(--dark)}
.shp-mode-desc{font-size:.78rem;color:var(--text-light);line-height:1.4}
.shp-mode-sub{margin:0 0 12px;font-size:.85rem;font-weight:700;color:var(--dark);display:flex;align-items:center;gap:6px}
/* Logo CashPlus dans la carte de choix */
.shp-mode-logo{height:46px;width:auto;object-fit:contain;transition:var(--transition)}
.shp-mode-card:has(input:checked) .shp-mode-logo{filter:drop-shadow(0 0 4px rgba(0,169,157,.35))}
/* Section CashPlus */
.shp-cashplus-info{display:flex;gap:12px;align-items:flex-start;background:#f0fdf9;border:1px solid #6ee7dc;border-radius:10px;padding:14px;font-size:.85rem;line-height:1.5}
.shp-cashplus-info i{color:var(--teal);font-size:1.1rem;margin-top:2px;flex-shrink:0}
.shp-cashplus-info strong{display:block;margin-bottom:4px;color:var(--dark)}
.shp-cashplus-logo{height:32px;width:auto;object-fit:contain;display:block;margin-bottom:8px}
/* ── Localisateur d'agences CashPlus ── */
/* ── Localisateur CashPlus ── */
.shp-cp-locator{margin-top:18px;border:1px solid #a5f3ee;border-radius:12px;overflow:hidden;background:#fff}
.shp-cp-locator-head{display:flex;align-items:center;gap:8px;padding:10px 14px;background:linear-gradient(135deg,#e6faf8,#f0fdfc);border-bottom:1px solid #a5f3ee}
.shp-cp-locator-head strong{font-size:.85rem;color:var(--dark)}
.shp-cp-count{margin-left:auto;background:var(--teal);color:#fff;font-size:.72rem;font-weight:700;padding:2px 10px;border-radius:20px}
.shp-cp-map{width:100%;height:360px}
.shp-cp-agency-list{max-height:200px;overflow-y:auto;border-top:1px solid #e2e8f0;padding:6px 8px}
.shp-cp-list-hint{text-align:center;color:#94a3b8;font-size:.82rem;padding:14px;margin:0;display:flex;align-items:center;justify-content:center;gap:6px}
.shp-cp-agency-item{display:flex;align-items:flex-start;gap:10px;padding:8px 10px;border-radius:8px;cursor:pointer;transition:var(--transition)}
.shp-cp-agency-item:hover,.shp-cp-agency-item.selected{background:rgba(0,169,157,.09)}
.shp-cp-agency-item>i{color:var(--teal);margin-top:3px;flex-shrink:0;font-size:.9rem}
.shp-cp-agency-name{font-weight:600;font-size:.83rem;color:var(--dark)}
.shp-cp-agency-addr{font-size:.76rem;color:#64748b;margin-top:2px;display:flex;align-items:center;gap:4px}
.shp-cp-item-logo{width:28px;height:28px;border-radius:50%;object-fit:cover;border:1.5px solid #e2e8f0;flex-shrink:0}
.shp-cp-dir-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:8px;background:#4285F4;color:#fff;text-decoration:none;font-size:.85rem;flex-shrink:0;transition:var(--transition)}
.shp-cp-dir-btn:hover{background:#2b6bd4;transform:scale(1.08)}
.shp-cp-no-data{text-align:center;padding:14px;font-size:.82rem;color:#64748b}

/* ── Simulation tarifaire étape 1 ── */
.shp-sim-intro{font-size:.9rem;color:#64748b;margin:0 0 20px;line-height:1.6}
.shp-sim-params{background:#f8fafc;border:1px solid var(--ec-border);border-radius:12px;padding:18px;margin-bottom:20px}
.shp-sim-results{min-height:80px}
.shp-sim-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:30px;text-align:center;color:#94a3b8;font-size:.85rem;border:2px dashed #e2e8f0;border-radius:12px}
.shp-sim-cards{display:flex;flex-direction:column;gap:12px}
.shp-sim-card{border:2px solid var(--ec-border);border-radius:14px;padding:16px 20px;display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:16px;transition:var(--transition);cursor:default;background:#fff}
.shp-sim-card.selected{border-color:var(--teal);background:rgba(0,169,157,.04);box-shadow:0 0 0 4px rgba(0,169,157,.12)}
.shp-sim-card.unavailable{opacity:.55}
.shp-sim-card-header{display:flex;align-items:center;gap:14px}
.shp-sim-card-logo{height:36px;width:auto;object-fit:contain;flex-shrink:0}
.shp-sim-card-name{font-weight:700;font-size:.9rem;color:var(--dark)}
.shp-sim-card-transit{font-size:.75rem;color:#64748b;margin-top:3px;display:flex;align-items:center;gap:4px}
.shp-sim-card-price{text-align:right}
.shp-sim-card-price strong{display:block;font-size:1.25rem;color:var(--teal);font-weight:800}
.shp-sim-card-price small{font-size:.7rem;color:#94a3b8}
.shp-sim-card-price.na{color:#94a3b8;font-size:.82rem}
.shp-sim-card-btn{padding:9px 18px;border-radius:9px;background:var(--teal);color:#fff;font-size:.82rem;font-weight:700;cursor:pointer;white-space:nowrap;transition:var(--transition);text-align:center}
.shp-sim-card-btn:hover:not(.selected):not(.disabled){background:#008f87;transform:translateX(2px)}
.shp-sim-card-btn.selected{background:#059669;cursor:default}
.shp-sim-card-btn.disabled{background:#e2e8f0;color:#94a3b8;cursor:not-allowed}
.shp-sim-note{font-size:.74rem;color:#94a3b8;margin-top:12px;display:flex;align-items:center;gap:5px}
.shp-sim-selection-bar{display:flex;align-items:center;gap:10px;background:#f0fdf9;border:1px solid #6ee7dc;border-radius:10px;padding:12px 16px;margin-top:16px;flex-wrap:wrap}
.shp-sim-selection-bar>i{color:var(--teal);font-size:1.1rem}
.shp-sim-sel-price{margin-left:4px;color:var(--teal);font-weight:800;font-size:1rem}
.shp-sim-change-btn{margin-left:auto;padding:5px 12px;border-radius:7px;border:1px solid var(--teal);background:#fff;color:var(--teal);font-size:.78rem;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:5px;transition:var(--transition)}
.shp-sim-change-btn:hover{background:rgba(0,169,157,.08)}
@media(max-width:600px){.shp-sim-card{grid-template-columns:1fr;gap:10px}.shp-sim-card-price{text-align:left}}
/* Live FedEx badge */
.shp-live-badge{display:inline-flex;align-items:center;gap:3px;background:linear-gradient(135deg,#00a99d,#059669);color:#fff;font-size:.62rem;font-weight:800;padding:2px 6px;border-radius:20px;margin-left:4px;letter-spacing:.03em;vertical-align:middle;text-transform:uppercase}
.shp-live-note{font-size:.74rem;color:var(--teal);font-weight:600}

/* ── Calculateur multi-colis & poids taxable (étape simulation) ── */
.shp-sim-colis-block{margin-top:16px;border:1.5px solid var(--ec-border);border-radius:12px;overflow:hidden;background:#fff}
.shp-sim-colis-header-row{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;background:#f8fafc;border-bottom:1.5px solid var(--ec-border)}
.shp-sim-colis-title{font-size:.85rem;font-weight:700;color:var(--dark);display:flex;align-items:center;gap:6px}
.shp-sim-add-btn{display:flex;align-items:center;gap:5px;padding:5px 12px;background:var(--teal);color:#fff;border:none;border-radius:7px;font-size:.78rem;font-weight:700;cursor:pointer;transition:var(--transition)}
.shp-sim-add-btn:hover{background:#008f87}
.shp-sim-colis-cols{display:grid;grid-template-columns:28px 92px 1fr 1fr 1fr 1fr 70px 70px 32px;gap:4px;padding:6px 14px;background:#f1f5f9;font-size:.7rem;font-weight:700;color:#64748b;text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid #e2e8f0}
.shp-sim-colis-row{display:grid;grid-template-columns:28px 92px 1fr 1fr 1fr 1fr 70px 70px 32px;gap:4px;align-items:center;padding:6px 14px;border-bottom:1px solid #f1f5f9}
.shp-sim-colis-row:last-child{border-bottom:none}
.shp-colis-num{font-size:.75rem;font-weight:700;color:#94a3b8;text-align:center}
.shp-colis-inp{width:100%;border:1.5px solid #e2e8f0;border-radius:6px;padding:4px 6px;font-size:.82rem;text-align:center;outline:none;transition:border .2s}
.shp-colis-inp:focus{border-color:var(--teal)}
.shp-colis-inp-dim-disabled{background:#f8fafc;color:#94a3b8;cursor:not-allowed}
.shp-colis-type-sel{width:100%;border:1.5px solid #e2e8f0;border-radius:6px;padding:4px 3px;font-size:.78rem;background:#fff;cursor:pointer;outline:none;transition:border .2s;font-family:var(--font)}
.shp-colis-type-sel:focus{border-color:var(--teal)}
.shp-colis-vol{font-size:.78rem;color:#64748b;text-align:center;font-weight:600}
.shp-colis-tax{font-size:.8rem;font-weight:700;color:#0a8f85;text-align:center}
.shp-colis-vol.vol-wins,.shp-colis-tax.vol-wins{color:#d97706}
.shp-colis-del{background:none;border:none;cursor:pointer;color:#ef4444;padding:4px;border-radius:5px;display:flex;align-items:center;justify-content:center;transition:background .2s;font-size:.8rem}
.shp-colis-del:hover{background:#fee2e2}
.shp-sim-colis-total{padding:10px 14px;background:#f0fdf9;border-top:1.5px solid #6ee7dc;font-size:.82rem;color:#0f766e;display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.shp-tax-highlight{color:#0a8f85;font-weight:800}
.shp-vol-badge{display:inline-flex;align-items:center;gap:4px;background:#fef3c7;color:#b45309;font-size:.72rem;font-weight:700;padding:2px 8px;border-radius:20px;border:1px solid #fde68a}
@media(max-width:640px){
  .shp-sim-colis-cols,.shp-sim-colis-row{grid-template-columns:18px 56px 50px 38px 38px 38px 54px 54px 24px;gap:2px;padding:5px 8px;font-size:.68rem}
  .shp-colis-inp,.shp-colis-type-sel{font-size:.72rem;padding:3px 3px}
}

/* Payment */
.shp-payment-modes{display:flex;flex-direction:column;gap:12px;margin-bottom:16px}
.shp-pay-option{display:grid;grid-template-columns:36px 1fr auto auto;align-items:center;gap:12px;background:#f7f9fc;border:2px solid var(--ec-border);border-radius:12px;padding:14px 16px;cursor:pointer;transition:var(--transition)}
.shp-pay-option:hover{border-color:var(--teal);background:#f0faf9}
.shp-pay-option.selected{border-color:var(--teal);background:rgba(0,169,157,.06)}
.shp-pay-option input[type="radio"]{width:18px;height:18px;accent-color:var(--teal);cursor:pointer}
.shp-pay-icon{font-size:1.3rem;text-align:center}
.shp-pay-label{display:flex;flex-direction:column;gap:2px}
.shp-pay-label strong{font-size:.9rem}
.shp-pay-label span{font-size:.78rem;color:#64748b}
.shp-pay-badges{display:flex;gap:5px;flex-wrap:wrap}
.shp-pay-badge{padding:3px 8px;border-radius:5px;color:#fff;font-size:.7rem;font-weight:800;letter-spacing:.04em}
.shp-pay-detail-box{background:#f0faf9;border:1px solid var(--teal);border-radius:10px;padding:16px;margin-top:4px}
.shp-card-notice,.shp-account-notice{font-size:.82rem;color:#0a6b5e;display:flex;align-items:flex-start;gap:8px;line-height:1.5}
.shp-account-notice a{color:var(--teal)}
.shp-billing-type{display:flex;gap:24px;margin-bottom:14px}
.shp-billing-radio{display:flex;align-items:center;gap:8px;font-weight:600;cursor:pointer;font-size:.9rem}
.shp-billing-radio input{width:16px;height:16px;accent-color:var(--teal);cursor:pointer}
.shp-promo-row{display:flex;gap:10px;max-width:400px}
.shp-promo-row input{flex:1;padding:9px 12px;border:2px solid var(--ec-border);border-radius:9px;font-size:.9rem}
.shp-promo-btn{padding:9px 18px;background:var(--teal);color:#fff;border:none;border-radius:9px;font-weight:700;cursor:pointer;font-size:.88rem;transition:var(--transition)}
.shp-promo-btn:hover{opacity:.9}

/* API result */
.shp-api-pending{background:#fff8f0;border:1px solid #e67e22;border-radius:12px;padding:24px;display:flex;gap:16px;align-items:flex-start}
.shp-api-icon{flex-shrink:0;width:48px;height:48px;background:#fff3e0;border-radius:50%;display:flex;align-items:center;justify-content:center}
.shp-api-json{background:#1e293b;color:#e2e8f0;padding:16px;border-radius:10px;font-size:.75rem;overflow-x:auto;max-height:300px;overflow-y:auto;margin-top:10px;white-space:pre;font-family:monospace}

/* Carrier logo image */
.shp-carrier-logo{display:flex;align-items:center;justify-content:center;padding:2px;width:80px}
.shp-carrier-logo-img{width:76px;height:auto;max-height:48px;object-fit:contain;border-radius:6px;display:block}

/* Confirm grid */
.shp-confirm-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:20px}
.shp-confirm-block{background:#f7f9fc;border:1px solid var(--ec-border);border-radius:12px;padding:16px}
.shp-confirm-block h4{margin:0 0 10px;font-size:.82rem;font-weight:700;color:var(--text-light);text-transform:uppercase;letter-spacing:.06em}
.shp-confirm-block p{margin:4px 0;font-size:.88rem;color:var(--dark)}
.shp-confirm-notice{background:#fff8f0;border:1px solid #e67e22;border-radius:10px;padding:14px 16px;font-size:.85rem;color:#7d4e00;display:flex;gap:10px;align-items:flex-start;margin-top:8px}

/* ── Postal Code Autocomplete ── */
.shp-ac-wrap{position:relative;display:flex;align-items:center;gap:6px}
.shp-ac-wrap input{flex:1;min-width:0}

/* Status indicator (dot next to ZIP input) */
.pc-zip-status{width:10px;height:10px;border-radius:50%;flex-shrink:0;transition:background .2s}
.pc-status-idle{background:transparent}
.pc-status-loading{background:#f59e0b;animation:pc-pulse 1s infinite}
.pc-status-ok{background:#10b981}
.pc-status-error{background:#ef4444}
@keyframes pc-pulse{0%,100%{opacity:1}50%{opacity:.4}}

/* Dropdown autocomplete */
.pc-drop{position:absolute;top:calc(100% + 4px);left:0;right:0;background:#fff;border:1.5px solid var(--teal);border-radius:10px;box-shadow:0 8px 24px rgba(0,0,0,.12);z-index:9999;overflow:hidden;max-height:280px;overflow-y:auto}
.pc-drop-item{display:grid;grid-template-columns:1fr auto;align-items:center;gap:6px;padding:10px 14px;cursor:pointer;border-bottom:1px solid #f1f5f9;transition:background .12s}
.pc-drop-item:last-child{border-bottom:none}
.pc-drop-item:hover{background:#f0faf9}
.pc-drop-city{font-weight:600;font-size:.88rem;color:var(--dark)}
.pc-drop-zip{font-size:.78rem;font-weight:700;color:var(--teal);background:rgba(0,169,157,.1);padding:2px 7px;border-radius:5px;white-space:nowrap}
.pc-drop-region{grid-column:1/-1;font-size:.72rem;color:#94a3b8;margin-top:-4px}

/* Animations */
@keyframes fadeIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}

@media(max-width:1100px){.shp-layout{grid-template-columns:1fr}.shp-summary-col{display:none}}
@media(max-width:700px){.shp-grid-2{grid-template-columns:1fr}.shp-field.span2{grid-column:span 1}.shp-grid-3{grid-template-columns:1fr 1fr}.shp-field.span3{grid-column:span 2}.shp-confirm-grid{grid-template-columns:1fr}.shp-carrier-card{grid-template-columns:60px 1fr auto}.shp-carrier-logo-img{width:56px;height:32px}}

/* ═══════════════════════════════════════════════════
   ADMIN BACKEND — Styles
   ═══════════════════════════════════════════════════ */

/* ── Layout ── */
.adm-section-intro{display:flex;align-items:flex-start;gap:14px;background:#f0fdfa;border:1px solid #99f6e4;border-radius:12px;padding:16px 20px;margin-bottom:24px}
.adm-intro-icon{font-size:1.4rem;color:var(--teal);flex-shrink:0;margin-top:2px}
.adm-section-intro strong{display:block;font-size:.95rem;font-weight:700;color:#0f172a;margin-bottom:3px}
.adm-section-intro span{font-size:.82rem;color:#475569}

/* ── Tabs ── */
.adm-tabs{display:flex;gap:4px;flex-wrap:wrap;background:#f1f5f9;border-radius:12px;padding:5px;margin-bottom:28px}
.adm-tab{padding:9px 16px;border:none;background:transparent;border-radius:8px;font-size:.83rem;font-weight:600;color:#64748b;cursor:pointer;transition:.2s;display:flex;align-items:center;gap:7px;white-space:nowrap}
.adm-tab:hover{background:rgba(0,169,157,.08);color:var(--teal)}
.adm-tab.active{background:#fff;color:#0f172a;box-shadow:0 1px 4px rgba(0,0,0,.12)}

.adm-sub-tabs{display:flex;gap:0;border-bottom:2px solid #e2e8f0;margin-bottom:20px}
.adm-stab{padding:10px 18px;border:none;background:transparent;font-size:.83rem;font-weight:600;color:#64748b;cursor:pointer;border-bottom:3px solid transparent;margin-bottom:-2px;transition:.2s}
.adm-stab:hover{color:var(--teal)}
.adm-stab.active{color:var(--teal);border-bottom-color:var(--teal)}

.adm-panel{display:none}
.adm-panel.active{display:block}
.adm-sub-panel{display:none}
.adm-sub-panel.active{display:block}

/* ── Carrier tabs ── */
.adm-carrier-tabs{display:flex;gap:8px;margin-bottom:16px}
.adm-ctab{padding:8px 22px;border:2px solid #e2e8f0;background:#fff;border-radius:10px;cursor:pointer;font-size:.9rem;transition:.2s}
.adm-ctab.active{border-color:var(--teal);background:#f0fdfa}

.adm-carrier-panel{display:none}
.adm-carrier-panel.active{display:block}
.adm-carrier-header{display:flex;align-items:center;gap:12px;margin-bottom:16px}
.adm-fuel-badge{font-size:.82rem;background:#fef9c3;border:1px solid #fde68a;padding:4px 10px;border-radius:20px;color:#78350f}

/* ── Inputs ── */
.adm-input{padding:8px 12px;border:1.5px solid #e2e8f0;border-radius:8px;font-size:.87rem;font-family:inherit;color:#0f172a;background:#fff;transition:.15s;width:100%}
.adm-input:focus{outline:none;border-color:var(--teal);box-shadow:0 0 0 3px rgba(0,169,157,.1)}
.adm-input-sm{width:auto;padding:6px 10px;font-size:.83rem}
.adm-input-pct{width:100px;font-size:1.2rem;font-weight:700;text-align:center}
.adm-select-sm{width:auto;padding:6px 10px;font-size:.82rem}
.adm-input-row-sm{display:flex;align-items:center;gap:6px}
.adm-input-row-sm span{font-size:.82rem;color:#64748b;white-space:nowrap}
.adm-pct-sign{font-size:1.4rem;font-weight:700;color:#64748b}

/* ── Fuel cards ── */
.adm-fuel-month{display:flex;align-items:center;gap:12px;margin-bottom:20px;font-size:.88rem;font-weight:600;color:#334155}
.adm-fuel-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;margin-bottom:24px}
.adm-fuel-card{background:#fff;border:1px solid #e2e8f0;border-radius:14px;overflow:hidden;box-shadow:0 2px 8px rgba(0,0,0,.05)}
.adm-fuel-carrier{padding:12px 18px;color:#fff;font-weight:800;font-size:1.1rem;letter-spacing:.5px}
.adm-fuel-body{padding:16px 18px}
.adm-fuel-body label{font-size:.78rem;font-weight:600;color:#64748b;display:block;margin-bottom:8px}
.adm-fuel-input-row{display:flex;align-items:center;gap:10px;margin-bottom:8px}
.adm-fuel-note{font-size:.78rem;color:#64748b;background:#f8fafc;padding:8px 10px;border-radius:8px}
.adm-fuel-history-wrap{margin-top:20px;padding:16px;background:#f8fafc;border-radius:12px}
.adm-fuel-history-wrap h4{font-size:.88rem;font-weight:700;color:#334155;margin-bottom:12px}

/* ── Tables ── */
.adm-table{width:100%;border-collapse:collapse;background:#fff;border-radius:12px;overflow:hidden;font-size:.84rem;border:1px solid #e2e8f0}
.adm-table th{background:#0f172a;color:#fff;padding:10px 14px;text-align:left;font-size:.78rem;font-weight:700;letter-spacing:.3px}
.adm-table td{padding:9px 12px;border-bottom:1px solid #f1f5f9;color:#334155;vertical-align:middle}
.adm-table tr:last-child td{border-bottom:none}
.adm-table tr:hover td{background:#f0fdfa}
.adm-margins-table th,.adm-margins-table td{padding:8px 10px}
.adm-routes-table th,.adm-routes-table td{padding:7px 8px;font-size:.8rem}
.adm-data-table td{padding:8px 10px}

/* ── Zone/carrier pills ── */
.adm-zone-pill{display:inline-flex;align-items:center;justify-content:center;padding:3px 10px;background:#e0f2fe;color:#0369a1;border-radius:20px;font-size:.75rem;font-weight:700;white-space:nowrap}
.adm-carrier-badge{display:inline-block;padding:3px 10px;border-radius:6px;font-size:.72rem;font-weight:800;color:#fff}
.adm-carrier-dhl{background:#d40511}
.adm-carrier-fedex{background:#4d148c}
.adm-carrier-aramex{background:#ef4123}

/* ── Badges ── */
.adm-badge{display:inline-flex;align-items:center;padding:3px 10px;border-radius:20px;font-size:.74rem;font-weight:700}
.adm-badge-orange{background:#fef3c7;color:#92400e}
.adm-badge-green{background:#dcfce7;color:#166534}
.adm-badge-blue{background:#dbeafe;color:#1e40af}
.adm-badge-red{background:#fee2e2;color:#991b1b}
.adm-badge-teal{background:#ccfbf1;color:#0f766e}
.adm-badge-purple{background:#f3e8ff;color:#7e22ce}
.adm-badge-gray{background:#f1f5f9;color:#475569}

/* ── Buttons ── */
.adm-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px;padding-top:16px;border-top:1px solid #f1f5f9}
.adm-btn{display:inline-flex;align-items:center;gap:7px;padding:9px 18px;border:none;border-radius:9px;font-size:.85rem;font-weight:700;cursor:pointer;transition:.2s}
.adm-btn-primary{background:var(--teal);color:#fff}
.adm-btn-primary:hover{background:var(--teal-dark)}
.adm-btn-secondary{background:#e0f2fe;color:#0369a1}
.adm-btn-secondary:hover{background:#bae6fd}
.adm-btn-ghost{background:#f1f5f9;color:#334155;border:1px solid #e2e8f0}
.adm-btn-ghost:hover{background:#e2e8f0}
.adm-btn-danger{background:#fee2e2;color:#991b1b}
.adm-btn-danger:hover{background:#fecaca}
.adm-btn-icon{background:none;border:none;cursor:pointer;padding:5px 8px;border-radius:6px;color:#64748b;font-size:.85rem;transition:.15s}
.adm-btn-icon:hover{background:#f1f5f9;color:#0f172a}

/* ── Toolbar ── */
.adm-toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:16px}
.adm-toolbar-right{display:flex;gap:8px;align-items:center;margin-left:auto;flex-wrap:wrap}
.adm-search{max-width:340px;flex:1}

/* ── Empty state ── */
.adm-empty{text-align:center;padding:60px 20px;color:#94a3b8}
.adm-empty i{font-size:2.5rem;margin-bottom:16px;display:block;color:#cbd5e1}
.adm-empty p{font-size:.9rem;line-height:1.7}

/* ── Stats row ── */
.adm-stats-row{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:20px}
.adm-stat-chip{background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:10px 16px;text-align:center;min-width:90px}
.adm-stat-total{border-color:var(--teal);background:#f0fdfa}
.adm-stat-num{display:block;font-size:1.4rem;font-weight:800;color:var(--teal);line-height:1.2}
.adm-stat-lbl{font-size:.73rem;color:#64748b;font-weight:600}

/* ── Info box ── */
.adm-info-box{display:flex;gap:12px;background:#eff6ff;border:1px solid #bfdbfe;border-radius:10px;padding:14px 16px;font-size:.82rem;color:#1e40af;margin-top:16px}
.adm-info-box i{flex-shrink:0;margin-top:1px}

/* ── Sub title ── */
.adm-sub-title{font-size:.9rem;font-weight:700;color:#334155;margin-bottom:14px;padding-bottom:8px;border-bottom:1px solid #f1f5f9}

/* ── Toast ── */
.adm-toast{position:fixed;bottom:24px;right:24px;z-index:9999;padding:12px 20px;border-radius:10px;font-size:.88rem;font-weight:600;box-shadow:0 4px 20px rgba(0,0,0,.15);display:none;animation:fadeIn .2s ease}
.adm-toast-ok{background:#166534;color:#fff}
.adm-toast-err{background:#991b1b;color:#fff}

/* ── Preview cell ── */
.adm-preview-cell{font-size:.8rem;color:var(--teal);font-weight:700}

/* ── Detail modal ── */
.adm-detail-modal{position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:9000;display:flex;align-items:center;justify-content:center;padding:20px}
.adm-detail-modal.hidden{display:none}
.adm-modal-content{background:#fff;border-radius:16px;max-width:680px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px rgba(0,0,0,.3)}
.adm-modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid #e2e8f0}
.adm-modal-header h3{font-size:1rem;font-weight:700;color:#0f172a}
.adm-modal-close{background:none;border:none;cursor:pointer;font-size:1.2rem;color:#64748b;padding:4px 8px;border-radius:6px}
.adm-modal-close:hover{background:#f1f5f9;color:#0f172a}
.adm-modal-body{padding:20px 24px}
.adm-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:16px}
.adm-detail-col h4{font-size:.85rem;font-weight:700;color:#334155;margin-bottom:10px}
.adm-detail-meta{display:flex;flex-wrap:wrap;gap:10px;font-size:.82rem;border-top:1px solid #f1f5f9;padding-top:12px}
.adm-detail-meta span{background:#f8fafc;padding:5px 10px;border-radius:6px}

/* ── User management ── */
.adm-users-list{display:flex;flex-direction:column;gap:12px}
.adm-user-card{display:grid;grid-template-columns:52px 1fr auto;gap:16px;align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:16px 20px;transition:.2s}
.adm-user-pending{border-left:4px solid #f59e0b}
.adm-user-avatar{width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:.95rem;flex-shrink:0}
.adm-user-name{font-weight:700;font-size:.95rem;color:#0f172a;margin-bottom:2px}
.adm-user-email{font-size:.82rem;color:#64748b;margin-bottom:4px}
.adm-user-meta{display:flex;gap:12px;font-size:.75rem;color:#94a3b8}
.adm-user-actions{display:flex;flex-direction:column;gap:8px;align-items:flex-end}
.adm-approve-row{display:flex;align-items:center;gap:8px;font-size:.78rem}
.adm-approve-btns{display:flex;gap:6px}

/* ── Responsive ── */
@media(max-width:768px){
  .adm-tabs{gap:2px}
  .adm-tab{padding:7px 10px;font-size:.75rem}
  .adm-fuel-grid{grid-template-columns:1fr}
  .adm-detail-grid{grid-template-columns:1fr}
  .adm-toolbar{flex-direction:column;align-items:stretch}
  .adm-toolbar-right{margin-left:0}
  .adm-user-card{grid-template-columns:1fr;gap:10px}
  .adm-user-actions{align-items:flex-start}
}

/* ── Maritime grid ── */
.adm-maritime-origin-bar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;background:#f0fdfa;border:1px solid #99f6e4;border-radius:12px;padding:12px 16px;margin-bottom:20px}
.adm-maritime-origin-bar strong{font-size:.82rem;font-weight:700;color:#0f766e;white-space:nowrap;margin-right:4px}
.adm-origin-pill{display:inline-flex;align-items:center;gap:5px;padding:7px 14px;border:1.5px solid #e2e8f0;border-radius:20px;background:#fff;font-size:.82rem;font-weight:600;color:#334155;cursor:pointer;transition:.2s;white-space:nowrap}
.adm-origin-pill:hover{border-color:var(--teal);color:var(--teal);background:#f0fdfa}
.adm-origin-pill.active{border-color:var(--teal);background:var(--teal);color:#fff;box-shadow:0 2px 8px rgba(0,169,157,.3)}

/* Direction badge Export/Import */
.adm-maritime-dir-badge{display:flex;align-items:center;gap:10px;border-radius:10px;padding:10px 16px;margin-bottom:16px;font-size:.83rem;font-weight:700;letter-spacing:.2px}
.adm-badge-export{background:#eff6ff;border:1px solid #bfdbfe;color:#1d4ed8}
.adm-badge-export i{color:#3b82f6}
.adm-badge-import{background:#fdf4ff;border:1px solid #e9d5ff;color:#7e22ce}
.adm-badge-import i{color:#a855f7}
.adm-inline-info{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;padding:20px;text-align:center;color:#94a3b8;font-size:.85rem}

/* Maritime rates table */
.adm-maritime-grid{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
.adm-maritime-table{border-collapse:collapse;background:#fff;font-size:.8rem;border:1px solid #e2e8f0;border-radius:12px;overflow:hidden;min-width:700px;width:100%}
.adm-maritime-table th{background:#0f172a;color:#fff;padding:9px 10px;text-align:center;font-size:.75rem;font-weight:700;letter-spacing:.3px;white-space:nowrap}
.adm-maritime-table th:first-child{text-align:left;padding-left:14px;min-width:140px}
.adm-maritime-table th:nth-child(2){min-width:120px}
.adm-maritime-table td{padding:7px 8px;border-bottom:1px solid #f1f5f9;vertical-align:middle;text-align:center}
.adm-maritime-table td:first-child{text-align:left;padding-left:12px;font-size:.75rem;color:#64748b;background:#fafbfc;white-space:nowrap}
.adm-maritime-table td:nth-child(2){font-size:.73rem;color:#94a3b8;text-align:center;background:#fafbfc}
.adm-maritime-table tr:last-child td{border-bottom:none}
.adm-maritime-table tr:hover td{background:#f0fdfa}
.adm-maritime-table tr:hover td:first-child,.adm-maritime-table tr:hover td:nth-child(2){background:#e6faf7}

/* Country separator rows */
.adm-country-sep{background:linear-gradient(90deg,#0f172a 0%,#1e293b 100%) !important}
.adm-country-sep td{color:#fff !important;font-weight:700 !important;font-size:.8rem !important;padding:8px 12px !important;background:transparent !important;border-bottom:none !important}

/* Rate inputs in the grid */
.adm-rate-inp{width:80px;padding:5px 8px;border:1.5px solid #e2e8f0;border-radius:7px;font-size:.83rem;font-weight:600;text-align:center;color:#0f172a;background:#fff;transition:.15s;font-family:inherit}
.adm-rate-inp:focus{outline:none;border-color:var(--teal);box-shadow:0 0 0 2px rgba(0,169,157,.12)}
.adm-transit-inp{width:52px;padding:5px 7px;border:1.5px solid #e2e8f0;border-radius:7px;font-size:.78rem;text-align:center;color:#64748b;background:#fff;transition:.15s;font-family:inherit}
.adm-transit-inp:focus{outline:none;border-color:#a78bfa;box-shadow:0 0 0 2px rgba(167,139,250,.12)}

/* Destination country block (ports tab) */
.adm-dest-country{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:14px 16px;margin-bottom:12px}
.adm-dest-header{display:flex;align-items:center;gap:10px;margin-bottom:10px;padding-bottom:8px;border-bottom:1px solid #f1f5f9}
.adm-dest-header span{font-weight:700;font-size:.9rem;color:#0f172a}
.adm-dest-ports-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:8px}

@media(max-width:768px){
  .adm-maritime-origin-bar{gap:6px;padding:10px 12px}
  .adm-origin-pill{padding:6px 10px;font-size:.78rem}
  .adm-rate-inp{width:68px}
  .adm-transit-inp{width:44px}
  .adm-dest-ports-grid{grid-template-columns:1fr}
}

/* ── CMS Editor ── */
.cms-global-bar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;padding:10px 16px;margin-bottom:20px}
.cms-override-count{font-size:.83rem;font-weight:600;color:#6366f1;display:flex;align-items:center;gap:6px;flex:1}

.cms-page-tabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:20px}
.cms-ptab{padding:9px 18px;border:2px solid #e2e8f0;border-radius:20px;background:#fff;font-size:.83rem;font-weight:600;color:#64748b;cursor:pointer;transition:.2s}
.cms-ptab:hover{border-color:#6366f1;color:#6366f1}
.cms-ptab.active{border-color:#6366f1;background:#6366f1;color:#fff}

.cms-section{border:1px solid #e2e8f0;border-radius:14px;overflow:hidden;margin-bottom:14px;background:#fff}
.cms-section-header{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;cursor:pointer;background:#fafbfc;border-bottom:1px solid #f1f5f9;transition:background .15s}
.cms-section-header:hover{background:#f0f4f8}
.cms-section-title{display:flex;align-items:center;gap:10px;font-weight:700;font-size:.9rem;color:#0f172a}
.cms-chevron{font-size:.75rem;color:#64748b;transition:transform .2s}
.cms-mod-badge{background:#6366f118;border:1px solid #6366f140;color:#6366f1;padding:2px 9px;border-radius:20px;font-size:.72rem;font-weight:700}

.cms-section-body{padding:16px 18px;display:flex;flex-direction:column;gap:12px}

.cms-field-row{display:grid;grid-template-columns:200px 1fr;gap:12px;align-items:start;padding:12px;border-radius:10px;transition:background .15s}
.cms-field-row:hover{background:#fafbfc}
.cms-field-modified{background:#f5f3ff;border:1px solid #e0e7ff;border-radius:10px}
.cms-field-meta{display:flex;flex-direction:column;gap:4px;padding-top:6px}
.cms-field-label{font-size:.85rem;font-weight:700;color:#334155}
.cms-field-key{font-size:.72rem;color:#94a3b8;font-family:monospace;background:#f1f5f9;padding:2px 6px;border-radius:4px;display:inline-block}
.cms-field-inputs{display:flex;flex-direction:column;gap:6px}
.cms-field-input{width:100%}
.cms-textarea{resize:vertical;min-height:72px;font-family:inherit;line-height:1.5}
.cms-field-actions{display:flex;align-items:center;gap:8px}
.cms-modified-indicator{font-size:.75rem;font-weight:700;color:#6366f1;display:flex;align-items:center;gap:4px}
.cms-default-indicator{font-size:.75rem;color:#94a3b8}
.cms-html-note{font-size:.73rem;color:#64748b;background:#f8fafc;border:1px solid #f1f5f9;border-radius:6px;padding:5px 10px;display:flex;align-items:center;gap:5px}

@media(max-width:768px){
  .cms-field-row{grid-template-columns:1fr}
  .cms-page-tabs{gap:4px}
  .cms-ptab{padding:7px 12px;font-size:.78rem}
}

/* ══════════════════════════════════════════════
   FRET CARGO AÉRIEN — Admin panel
══════════════════════════════════════════════ */
.cargo-airline-selector{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;padding:14px 16px;margin-bottom:16px}
.cargo-al-label{font-size:.82rem;font-weight:700;color:#475569;margin-bottom:10px;display:flex;align-items:center;gap:6px}
.cargo-al-cards{display:flex;flex-wrap:wrap;gap:8px}
.cargo-al-card{display:flex;flex-direction:column;align-items:center;gap:5px;padding:10px 14px;border:2px solid #e2e8f0;border-radius:10px;background:#fff;cursor:pointer;transition:.18s;min-width:90px;max-width:120px}
.cargo-al-card:hover{border-color:var(--teal);background:#f0fdfa}
.cargo-al-card.active{border-color:var(--teal);background:#e6fbf8;box-shadow:0 0 0 3px rgba(0,169,157,.15)}
.cargo-al-card-name{font-size:.68rem;font-weight:600;color:#334155;text-align:center;line-height:1.2;white-space:normal;max-width:100px}
.cargo-airline-code-badge{display:inline-flex;align-items:center;justify-content:center;padding:4px 10px;border-radius:6px;color:#fff;font-size:.78rem;font-weight:800;letter-spacing:.5px;font-family:monospace}

.cargo-wb-pill{background:#0ea5e9;color:#fff;font-size:.73rem;font-weight:700;padding:2px 8px;border-radius:5px}
.cargo-ap-code{display:inline-block;background:#334155;color:#fff;font-size:.68rem;font-weight:800;font-family:monospace;padding:1px 6px;border-radius:4px;margin-right:4px;letter-spacing:.5px}
.cargo-rates-table td,.cargo-rates-table th{padding:8px 10px!important}
.cargo-rate-inp:focus{border-color:#0ea5e9;box-shadow:0 0 0 2px rgba(14,165,233,.2)}

.cargo-airlines-grid{display:flex;flex-direction:column;gap:10px;margin-bottom:14px}
.cargo-airline-row{display:grid;grid-template-columns:60px 1fr 1fr 80px 100px auto;gap:10px;align-items:center;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;padding:10px 14px}
.cargo-airline-row-logo{height:36px;max-width:80px;object-fit:contain}
.cargo-airline-row-code{font-size:.85rem;font-weight:800;font-family:monospace;color:#334155}
.cargo-airline-row-name{font-size:.83rem;color:#334155}
.cargo-airline-row-awb{font-size:.8rem;font-family:monospace;color:#64748b}

.cargo-airports-grid{display:flex;flex-direction:column;gap:8px;margin-bottom:14px}
.cargo-airport-row{display:grid;grid-template-columns:80px 1fr 80px 50px auto;gap:10px;align-items:center;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:8px 12px;font-size:.82rem}

.cargo-surcharges-table{width:100%;border-collapse:collapse;margin-bottom:14px}
.cargo-surcharges-table th{background:#f1f5f9;font-size:.78rem;font-weight:700;padding:8px 12px;text-align:left;border-bottom:2px solid #e2e8f0}
.cargo-surcharges-table td{padding:8px 10px;border-bottom:1px solid #f1f5f9;font-size:.82rem}

/* ── Marges & Tarification ── */
.cargo-exchange-box{display:flex;align-items:center;flex-wrap:wrap;gap:16px;background:#f0fdfa;border:1px solid #99f6e4;border-radius:12px;padding:14px 18px;margin-bottom:20px}
.cargo-exchange-label{display:flex;align-items:center;gap:8px;font-size:.85rem;flex:1;min-width:200px}
.cargo-margins-table{width:100%;border-collapse:collapse;margin-bottom:16px}
.cargo-margins-table th{background:#f1f5f9;font-size:.78rem;font-weight:700;padding:9px 12px;text-align:left;border-bottom:2px solid #e2e8f0}
.cargo-margins-table td{padding:9px 12px;border-bottom:1px solid #f1f5f9;font-size:.83rem;vertical-align:middle}
.cargo-margin-row:hover td{background:#f8fafc}
.cargo-margin-row-ram td{background:#fff8f8}
.cargo-margin-row-ram:hover td{background:#fff0f0}
.cargo-margin-preview{display:flex;align-items:center;gap:6px;font-size:.80rem}
.cargo-margin-info-box{display:flex;gap:12px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;padding:14px 16px;margin-top:14px;font-size:.83rem;color:#475569;line-height:1.6}
.cargo-margin-info-box i{font-size:1.1rem;margin-top:2px;flex-shrink:0}

@media(max-width:768px){
  .cargo-al-cards{gap:6px}
  .cargo-al-card{min-width:70px;padding:7px 8px}
  .cargo-al-card-name{font-size:.64rem}
  .cargo-airline-row{grid-template-columns:1fr 1fr;gap:8px}
  .cargo-airport-row{grid-template-columns:1fr 1fr}
  .cargo-margins-table th:nth-child(5),.cargo-margins-table td:nth-child(5){display:none}
}


/* ── Grille tarifaire de vente express (admin) ── */
.adm-vente-toolbar{display:flex;gap:16px;flex-wrap:wrap;align-items:center;margin-bottom:14px}
.adm-vente-info{background:#f0fdf9;border:1px solid #6ee7dc;border-radius:9px;padding:10px 14px;font-size:.81rem;color:#0f766e;margin-bottom:14px;display:flex;align-items:flex-start;gap:8px}
.adm-vente-info i{flex-shrink:0;margin-top:2px}
.adm-table-scroll{overflow-x:auto;border-radius:10px;border:1px solid #e2e8f0}
.adm-vente-table{border-collapse:collapse;width:100%;font-size:.81rem}
.adm-vente-table th{background:#f8fafc;font-weight:700;color:#475569;padding:9px 10px;text-align:center;border-bottom:2px solid #e2e8f0;white-space:nowrap}
.adm-vente-table th:first-child{text-align:left}
.adm-vente-table td{padding:6px 8px;border-bottom:1px solid #f1f5f9;vertical-align:middle}
.adm-vente-table tr:hover td{background:#f8fafc}
.adm-vente-table input{width:68px;padding:5px 6px;border:1.5px solid #e2e8f0;border-radius:7px;font-size:.8rem;text-align:right;transition:.15s;font-family:inherit}
.adm-vente-table input:focus{outline:none;border-color:var(--teal);background:#f0fdfa}
.adm-vente-table input:not([value="0"]):not([value=""]){border-color:#6ee7dc;background:#f0fdf9;font-weight:700;color:var(--teal)}
.adm-hint{font-size:.78rem;color:#94a3b8}

/* ── Dropdown HS inline (article customs) ── */
.shp-hs-dropdown{position:absolute;top:100%;left:0;right:0;z-index:200;background:#fff;border:1.5px solid #6ee7dc;border-radius:10px;box-shadow:0 8px 24px rgba(0,0,0,.12);max-height:220px;overflow-y:auto;margin-top:2px}
.shp-hs-dropdown.hidden{display:none}
.shp-hs-item{display:grid;grid-template-columns:70px 1fr 60px;gap:6px;align-items:center;padding:9px 12px;cursor:pointer;border-bottom:1px solid #f1f5f9;font-size:.82rem;transition:background .12s}
.shp-hs-item:last-child{border-bottom:none}
.shp-hs-item:hover{background:#f0fdf9}
.shp-hs-item strong{color:var(--teal);font-size:.85rem;font-family:monospace}
.shp-hs-item span{color:#374151;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.shp-hs-item em{font-style:normal;font-size:.75rem;color:#64748b;text-align:right;white-space:nowrap}

/* ── Label result / success / error ── */
.shp-label-success{background:#f0fdf4;border:1.5px solid #86efac;border-radius:14px;padding:22px;display:flex;flex-direction:column;gap:16px}
.shp-label-success-header{display:flex;align-items:center;gap:14px}
.shp-tracking-box{background:#fff;border:2px solid #6ee7dc;border-radius:12px;padding:16px 20px;text-align:center}
.shp-tracking-label{font-size:.78rem;color:#64748b;text-transform:uppercase;letter-spacing:.05em;margin-bottom:4px}
.shp-tracking-number{font-size:1.6rem;font-weight:800;color:var(--teal);letter-spacing:.04em;font-family:monospace}
.shp-track-link{display:inline-block;margin-top:8px;font-size:.82rem;color:var(--teal);text-decoration:none}
.shp-track-link:hover{text-decoration:underline}
.shp-dl-buttons{display:flex;gap:10px;flex-wrap:wrap}
.shp-dl-btn{display:inline-flex;align-items:center;gap:8px;padding:10px 18px;background:var(--teal);color:#fff;border-radius:9px;text-decoration:none;font-size:.88rem;font-weight:600;transition:.15s}
.shp-dl-btn:hover{background:#0f766e;color:#fff}
.shp-dl-btn.shp-dl-invoice{background:#1e40af}
.shp-dl-btn.shp-dl-invoice:hover{background:#1e3a8a}
.shp-dl-btn.shp-dl-waybill{background:#7c3aed}
.shp-dl-btn.shp-dl-waybill:hover{background:#6d28d9}

/* ── Prévisualisation PDF inline (label + facture) ── */
.shp-doc-previews{display:flex;gap:16px;flex-wrap:wrap;margin-top:4px}
.shp-doc-preview{flex:1;min-width:270px;display:flex;flex-direction:column}
.shp-doc-preview-title{font-size:.82rem;font-weight:700;color:#1e293b;margin-bottom:0;display:flex;align-items:center;gap:7px;padding:8px 12px;background:#f1f5f9;border-radius:8px 8px 0 0;border:1.5px solid #e2e8f0;border-bottom:none}
.shp-doc-preview-title i{color:var(--teal)}
.shp-doc-preview-frame{width:100%;height:460px;border:1.5px solid #e2e8f0;border-radius:0 0 8px 8px;background:#f8fafc;display:block}
.shp-doc-preview-unavailable{height:100px;display:flex;align-items:center;justify-content:center;color:#94a3b8;font-size:.84rem;gap:8px;border:1.5px dashed #e2e8f0;border-radius:0 0 8px 8px;background:#f8fafc}
@media(max-width:640px){.shp-doc-preview-frame{height:300px}.shp-doc-preview{min-width:100%}}

/* ══════════════════════════════════════════════════════
   MES EXPÉDITIONS — Historique
   ══════════════════════════════════════════════════════ */
.shph-filters{display:flex;flex-wrap:wrap;gap:12px;background:#fff;padding:18px 20px;border-radius:14px;box-shadow:0 2px 12px rgba(0,0,0,.06);margin-bottom:20px}
.shph-filter-group{display:flex;flex-direction:column;gap:5px;min-width:140px;flex:1}
.shph-filter-group label{font-size:.78rem;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.04em}
.shph-filter-group input,.shph-filter-group select{height:42px;border:1.5px solid #e2e8f0;border-radius:9px;padding:0 12px;font-size:.88rem;background:#f8fafc;outline:none;transition:border .2s;color:#0f172a}
.shph-filter-group input:focus,.shph-filter-group select:focus{border-color:var(--teal)}
.shph-count{margin-bottom:12px;font-size:.82rem;color:#64748b;font-weight:600}
.shph-count span{background:#f0f4f8;border-radius:20px;padding:4px 12px}
.shph-table{width:100%;border-collapse:collapse;background:#fff;border-radius:14px;overflow:hidden;box-shadow:0 2px 12px rgba(0,0,0,.06)}
.shph-table th{background:#f8fafc;padding:12px 14px;font-size:.78rem;font-weight:700;color:#475569;text-transform:uppercase;letter-spacing:.04em;text-align:left;border-bottom:2px solid #e2e8f0}
.shph-table td{padding:12px 14px;font-size:.85rem;color:#334155;border-bottom:1px solid #f1f5f9;vertical-align:middle}
.shph-table tr:last-child td{border-bottom:none}
.shph-table tr:hover td{background:#f8fafc}
.shph-tracking{font-family:monospace;font-size:.83rem;font-weight:600;color:#0f172a}
.shph-carrier-badge{display:inline-block;padding:2px 8px;border-radius:5px;font-size:.75rem;font-weight:700}
.shph-carrier-fedex{background:#4d148c;color:#fff}
.shph-carrier-dhl{background:#ffcc00;color:#d40511}
.shph-carrier-aramex{background:#e2231a;color:#fff}
.shph-badge{display:inline-flex;align-items:center;gap:4px;padding:3px 9px;border-radius:20px;font-size:.75rem;font-weight:600}
.shph-badge-pkg{background:#eff6ff;color:#3b82f6}
.shph-badge-doc{background:#fef3c7;color:#d97706}
.shph-actions{display:flex;gap:6px;align-items:center}
.shph-action-btn{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:8px;font-size:.88rem;text-decoration:none;border:none;cursor:pointer;transition:background .15s,transform .1s}
.shph-action-btn:hover{transform:scale(1.08)}
.shph-btn-label{background:#f0fdf4;color:#16a34a}
.shph-btn-label:hover{background:#dcfce7}
.shph-btn-invoice{background:#eff6ff;color:#2563eb}
.shph-btn-invoice:hover{background:#dbeafe}
.shph-btn-track{background:#faf5ff;color:#7c3aed}
.shph-btn-track:hover{background:#ede9fe}
.shph-btn-del{background:#fff5f5;color:#dc2626}
.shph-btn-del:hover{background:#fee2e2}
.shph-btn-disabled{background:#f8fafc;color:#cbd5e1;cursor:not-allowed}
.shph-btn-disabled:hover{transform:none}
.shph-empty{text-align:center;padding:60px 20px;background:#fff;border-radius:14px;box-shadow:0 2px 12px rgba(0,0,0,.06)}

/* ── Traduction document description ── */
.shp-trans-btn{display:inline-flex;align-items:center;gap:6px;padding:0 14px;height:42px;background:var(--teal);color:#fff;border:none;border-radius:9px;font-size:.82rem;font-weight:600;cursor:pointer;white-space:nowrap;transition:.15s;flex-shrink:0}
.shp-trans-btn:hover{background:#0f766e}
.shp-trans-accept-btn{display:inline-flex;align-items:center;gap:5px;padding:5px 12px;background:#16a34a;color:#fff;border:none;border-radius:7px;font-size:.78rem;font-weight:700;cursor:pointer;transition:.15s;flex-shrink:0}
.shp-trans-accept-btn:hover{background:#15803d}
@media(max-width:768px){
  .shph-table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}
  .shph-filters{flex-direction:column}
  .shph-actions{flex-wrap:wrap}
}

/* ══════════════════════════════════════════════════════
   TRACKING MODAL — iframe intégré
   ══════════════════════════════════════════════════════ */
#shph-track-modal{position:fixed;inset:0;z-index:9100;display:flex;align-items:center;justify-content:center;padding:20px}
.shph-tmod-overlay{position:fixed;inset:0;background:rgba(10,20,40,.55);backdrop-filter:blur(3px);z-index:0}
.shph-tmod-panel{position:relative;z-index:1;width:100%;max-width:1040px;height:88vh;background:#fff;border-radius:18px;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 24px 80px rgba(0,0,0,.35);animation:shpTmodIn .22s cubic-bezier(.22,1,.36,1)}
@keyframes shpTmodIn{from{opacity:0;transform:translateY(28px) scale(.97)}to{opacity:1;transform:none}}

/* Header */
.shph-tmod-header{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;background:#f8fafc;border-bottom:1.5px solid #e2e8f0;gap:12px;flex-wrap:wrap;flex-shrink:0}
.shph-tmod-title{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.shph-tmod-num{font-family:monospace;font-size:1.05rem;font-weight:800;color:#0f172a;letter-spacing:.03em}
.shph-copy-btn{background:none;border:1px solid #e2e8f0;color:var(--teal);cursor:pointer;font-size:.85rem;padding:4px 9px;border-radius:7px;transition:.15s}
.shph-copy-btn:hover{background:#f0fdfa;border-color:var(--teal)}
.shph-tmod-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.shph-tmod-extlink{display:inline-flex;align-items:center;gap:6px;padding:6px 13px;border-radius:8px;font-size:.78rem;font-weight:600;text-decoration:none;background:#f1f5f9;color:#475569;transition:.15s;border:1.5px solid #e2e8f0}
.shph-tmod-extlink:hover{background:#e2e8f0;color:#0f172a}
.shph-tmod-17{background:#ede9fe;color:#6d28d9;border-color:#c4b5fd}
.shph-tmod-17:hover{background:#ddd6fe}
.shph-tmod-close{background:none;border:1.5px solid #e2e8f0;border-radius:9px;width:38px;height:38px;cursor:pointer;font-size:1rem;color:#64748b;display:flex;align-items:center;justify-content:center;transition:.15s;flex-shrink:0}
.shph-tmod-close:hover{background:#fee2e2;color:#dc2626;border-color:#fca5a5}

/* Onglets */
.shph-tmod-tabs{display:flex;border-bottom:2px solid #e2e8f0;background:#f8fafc;flex-shrink:0}
.shph-tmod-tab{flex:1;padding:11px 18px;background:none;border:none;border-bottom:3px solid transparent;font-size:.84rem;font-weight:600;color:#64748b;cursor:pointer;transition:.15s;display:flex;align-items:center;justify-content:center;gap:7px;margin-bottom:-2px}
.shph-tmod-tab:hover{color:#0f172a;background:rgba(0,0,0,.03)}
.shph-tmod-tab.active{color:var(--teal);border-bottom-color:var(--teal);background:#fff}

/* Corps */
.shph-tmod-body{flex:1;overflow:hidden;position:relative}
.shph-tpane{width:100%;height:100%;position:relative;display:flex;flex-direction:column}

/* Loader */
.shph-tmod-loading{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;color:#64748b;background:#fff;z-index:2;font-size:.9rem}

/* Iframe */
.shph-tpane iframe{width:100%;flex:1;border:none;opacity:0;transition:opacity .35s;display:block}

/* Panneau bloqué */
.shph-tmod-blocked{position:absolute;inset:0;display:none;flex-direction:column;align-items:center;justify-content:center;padding:48px 32px;text-align:center;gap:0;z-index:3;background:#fff}
.shph-tmod-blocked h4{font-size:1.1rem;font-weight:700;color:#1e293b;margin:14px 0 4px}

/* ── Pane carrier : scrollable pour la timeline ── */
#shph-tpane-carrier{overflow-y:auto;height:100%;display:block;padding-bottom:0}
#shph-tpane-carrier-content{position:relative;z-index:1}
#shph-tiframe-17{width:100%;height:100%;border:none;opacity:0;transition:opacity .35s;display:block}

/* ── Timeline tracking DHL ── */
.shph-tl-wrap{padding:20px 24px 12px}
.shph-tl-summary{display:flex;align-items:center;flex-wrap:wrap;gap:12px;padding-bottom:14px;margin-bottom:4px;border-bottom:1px solid #e2e8f0}
.shph-tl-status{font-weight:700;font-size:.95rem;display:flex;align-items:center;gap:6px}
.shph-tl-route{font-size:.85rem;color:#64748b;display:flex;align-items:center;gap:6px}
.shph-timeline{list-style:none;padding:0;margin:12px 0 0;position:relative}
.shph-timeline::before{content:'';position:absolute;left:88px;top:6px;bottom:6px;width:2px;background:#e2e8f0}
.shph-timeline li{display:flex;gap:14px;padding:9px 0;position:relative}
.shph-timeline li::before{content:'';position:absolute;left:84px;top:13px;width:10px;height:10px;background:#1A8A99;border-radius:50%;box-shadow:0 0 0 3px #fff;z-index:1}
.shph-timeline li.shph-tl-first::before{background:#10b981}
.shph-tl-date{width:80px;flex-shrink:0;font-size:11.5px;color:#64748b;font-variant-numeric:tabular-nums;line-height:1.4;padding-top:1px}
.shph-tl-body{padding-left:24px;flex:1;font-size:13.5px;line-height:1.4}
.shph-tl-body strong{color:#1e293b}
.shph-tl-body small{color:#94a3b8;font-size:12px}
.shph-tl-empty{color:#94a3b8;font-size:.88rem;padding:24px 0;text-align:center}
.shph-tl-footer{display:flex;gap:10px;flex-wrap:wrap;padding:14px 0 4px;border-top:1px solid #e2e8f0;margin-top:12px}
.shph-tl-footer .btn{font-size:.8rem;padding:6px 14px}

@media(max-width:720px){
  .shph-timeline::before,.shph-timeline li::before{display:none}
  .shph-tl-date{width:auto;font-weight:600}
  .shph-tl-body{padding-left:0}
  .shph-tl-wrap{padding:14px 16px 10px}
  #shph-track-modal{padding:0}
  .shph-tmod-panel{height:100vh;border-radius:0;max-width:100%}
  .shph-tmod-header{padding:12px 14px}
  .shph-tmod-tabs .shph-tmod-tab{font-size:.75rem;padding:10px 8px}
}

/* ── Simulateur Export/Import Toggle ── */
.shp-sim-toggle-bar{display:flex;margin-bottom:16px;border-radius:12px;overflow:hidden;border:2px solid var(--ec-border)}
.shp-sim-toggle-btn{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;padding:11px 14px;border:none;background:#fff;color:var(--dark);font-size:.88rem;font-weight:700;cursor:pointer;transition:var(--transition);line-height:1.2}
.shp-sim-toggle-btn small{font-size:.7rem;font-weight:400;color:#94a3b8;transition:var(--transition)}
.shp-sim-toggle-btn:hover:not(.active){background:#f8fafc}
.shp-sim-toggle-btn.active{background:var(--teal);color:#fff}
.shp-sim-toggle-btn.active small{color:rgba(255,255,255,.8)}
.shp-sim-toggle-btn:first-child{border-right:2px solid var(--ec-border)}
/* ── Route Expéditeur → Destinataire ── */
.shp-sim-route{display:grid;grid-template-columns:1fr 36px 1fr;align-items:start;gap:10px;margin-bottom:4px}
.shp-sim-route-arrow{display:flex;align-items:center;justify-content:center;padding-top:34px;color:#94a3b8;font-size:1.1rem}
.shp-sim-addr-box{background:#fff;border:1.5px solid var(--ec-border);border-radius:12px;padding:12px 14px}
.shp-sim-addr-title{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#64748b;margin-bottom:8px;display:flex;align-items:center;gap:5px}
.shp-sim-country-badge{display:flex;align-items:center;gap:7px;padding:7px 11px;background:#f0fdf9;border:1.5px solid #6ee7dc;border-radius:9px;font-size:.85rem;font-weight:700;color:#0f766e;margin-bottom:8px}
.shp-field-inline-select{padding:8px 11px;border:2px solid var(--ec-border);border-radius:9px;font-size:.85rem;width:100%;box-sizing:border-box;background:#fff;color:var(--dark);transition:var(--transition);margin-bottom:8px}
.shp-field-inline-select:focus{border-color:var(--teal);outline:none}
/* Fix alignement CP / Ville : le label peut wrapper sur 2 lignes → inputs toujours au même niveau */
.shp-sim-addr-box .shp-grid-2{align-items:end}
.shp-sim-addr-box .shp-field label{min-height:2.4em;display:flex;align-items:flex-end;white-space:normal}
.mt-sm{margin-top:8px}
/* ── Import Breakdown Card ── */
/* ── DHL Notification Block (résultat expédition) ── */
.shp-notif-dhl-block{display:flex;align-items:center;justify-content:space-between;gap:14px;background:linear-gradient(135deg,#fff5f5,#fff);border:1.5px solid #fecaca;border-radius:12px;padding:14px 16px;margin:12px 0;flex-wrap:wrap}
.shp-notif-dhl-left{display:flex;align-items:center;gap:12px;flex:1;min-width:200px}
.shp-notif-bell{font-size:1.6rem;color:#d40511;animation:shp-bell-ring 2.5s ease-in-out infinite}
@keyframes shp-bell-ring{0%,100%{transform:rotate(0)}10%,30%{transform:rotate(-12deg)}20%,40%{transform:rotate(12deg)}50%{transform:rotate(0)}}
.shp-notif-dhl-title{font-size:.88rem;font-weight:700;color:#1e293b}
.shp-notif-dhl-sub{font-size:.75rem;color:#64748b;margin-top:2px}
.shp-notif-dhl-right{flex-shrink:0}
.shp-notif-dhl-btn{display:flex;align-items:center;gap:7px;padding:9px 18px;background:#d40511;color:#fff;border:none;border-radius:9px;font-size:.82rem;font-weight:700;cursor:pointer;transition:background .18s,transform .12s;white-space:nowrap}
.shp-notif-dhl-btn:hover{background:#b50010;transform:translateY(-1px)}
/* ── Modal Overlay générique (shpOpenDhlNotif etc.) ── */
.shp-modal-overlay{position:fixed;inset:0;z-index:9999;background:rgba(0,0,0,.55);display:flex;align-items:center;justify-content:center;padding:16px;backdrop-filter:blur(3px)}
.shp-modal-box{background:#fff;border-radius:18px;box-shadow:0 24px 64px rgba(0,0,0,.22);overflow:hidden;width:100%}
/* ── DHL Notification Modal ── */
.shp-notif-modal-box{max-width:480px}
.shp-notif-modal-header{display:flex;align-items:center;justify-content:space-between;padding:18px 20px;background:linear-gradient(135deg,#d40511,#b50010);color:#fff}
.shp-notif-modal-icon{width:42px;height:42px;background:rgba(255,255,255,.18);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.3rem;flex-shrink:0}
.shp-notif-modal-title{font-size:1rem;font-weight:800}
.shp-notif-modal-awb{font-size:.75rem;opacity:.85;margin-top:2px}
.shp-notif-modal-body{padding:20px 22px;background:#fff}
.shp-notif-modal-desc{font-size:.88rem;color:#374151;margin-bottom:14px}
.shp-notif-steps-grid{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}
.shp-notif-step{display:flex;align-items:center;gap:6px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:20px;padding:5px 12px;font-size:.78rem;font-weight:600;color:#374151}
.shp-notif-modal-divider{height:1px;background:#f1f5f9;margin:14px 0}
.shp-notif-modal-info{font-size:.82rem;color:#374151;background:#f0f9ff;border:1px solid #bae6fd;border-radius:9px;padding:10px 12px;margin-bottom:14px}
.shp-notif-dhl-open-btn{display:flex;align-items:center;justify-content:center;gap:9px;width:100%;padding:13px 20px;background:#d40511;color:#fff;border-radius:11px;font-size:.9rem;font-weight:800;text-decoration:none;transition:background .18s,transform .12s}
.shp-notif-dhl-open-btn:hover{background:#b50010;transform:translateY(-1px);color:#fff}
.shp-import-card{border:2px solid #d40511;border-radius:14px;overflow:hidden;background:#fff}
.shp-import-card-header{background:linear-gradient(135deg,#d40511,#b50010);color:#fff;padding:14px 18px;display:flex;align-items:center;gap:12px}
.shp-import-card-logo{height:38px;object-fit:contain;filter:brightness(0) invert(1)}
.shp-import-card-title{font-weight:800;font-size:.95rem}
.shp-import-card-sub{font-size:.73rem;opacity:.85;margin-top:2px}
.shp-import-section-lbl{font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:#94a3b8;padding:8px 16px 3px;background:#f8fafc;border-bottom:1px solid #f1f5f9}
.shp-import-row{display:flex;align-items:center;justify-content:space-between;padding:7px 16px;border-bottom:1px solid #f8fafc;font-size:.82rem}
.shp-import-row .lbl{color:#475569;display:flex;align-items:center;gap:5px}
.shp-import-row .amt{font-weight:600;color:var(--dark)}
.shp-import-margin-row{display:flex;align-items:center;justify-content:space-between;padding:7px 16px;border-bottom:1px solid #fef2f2;font-size:.82rem;background:#fff8f8}
.shp-import-margin-row .lbl{color:#b91c1c;display:flex;align-items:center;gap:5px}
.shp-import-margin-row .amt{font-weight:700;color:#b91c1c}
.shp-import-subtotal{display:flex;justify-content:space-between;align-items:center;padding:9px 16px;background:#fff8f8;border-top:2px solid #fecaca;font-size:.84rem;font-weight:700;color:#991b1b}
.shp-import-total-bar{display:flex;justify-content:space-between;align-items:center;padding:13px 18px;background:linear-gradient(135deg,#0f766e,#00a99d);color:#fff;font-weight:800;font-size:.95rem}
.shp-import-total-bar .total-amt{font-size:1.4rem;font-weight:900}
.shp-import-delivery{display:flex;align-items:center;gap:7px;padding:9px 16px;background:#f0fdf9;border-top:1px solid #6ee7dc;font-size:.78rem;color:#0f766e;font-weight:600}
.shp-import-actions{display:flex;gap:10px;padding:13px 16px;background:#f8fafc;border-top:1.5px solid var(--ec-border)}
.shp-import-select-btn{flex:1;padding:10px 16px;background:#d40511;color:#fff;border:none;border-radius:9px;font-size:.85rem;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:6px;transition:var(--transition)}
.shp-import-select-btn:hover{background:#b50010;transform:translateY(-1px)}
.shp-import-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:32px;text-align:center;border:2px dashed #fca5a5;border-radius:14px;background:#fff8f8;color:#dc2626;font-size:.85rem}
@media(max-width:700px){.shp-sim-route{grid-template-columns:1fr;gap:8px}.shp-sim-route-arrow{padding-top:0;transform:rotate(90deg);padding:4px 0}}

/* ══ MODULE COTATIONS ══ */
.cotq-page-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px;flex-wrap:wrap;gap:12px}
.cotq-page-title{font-size:1.35rem;font-weight:800;color:#1e293b;margin:0;display:flex;align-items:center;gap:10px}
.cotq-page-sub{color:#64748b;font-size:.85rem;margin:4px 0 0}
.cotq-btn-new{background:var(--teal);color:#fff;border:none;border-radius:10px;padding:10px 20px;font-size:.9rem;font-weight:700;cursor:pointer;display:flex;align-items:center;gap:8px;transition:background .2s}
.cotq-btn-new:hover{background:#0e6e63}

/* Onglets */
.cotq-tabs{display:flex;gap:0;border-bottom:2px solid #e2e8f0;margin-bottom:20px}
.cotq-tab{background:none;border:none;padding:10px 20px;font-size:.9rem;font-weight:600;color:#64748b;cursor:pointer;position:relative;display:flex;align-items:center;gap:8px;transition:color .2s}
.cotq-tab.active{color:var(--teal)}
.cotq-tab.active::after{content:'';position:absolute;bottom:-2px;left:0;right:0;height:2px;background:var(--teal)}
.cotq-tab-badge{background:#e2e8f0;color:#475569;font-size:.7rem;font-weight:700;padding:1px 7px;border-radius:10px}
.cotq-tab-badge-green{background:#dcfce7;color:#166534}

/* Filtres */
.cotq-filters{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:20px;align-items:center}
.cotq-filter-search{display:flex;align-items:center;gap:8px;background:#fff;border:1.5px solid #e2e8f0;border-radius:9px;padding:8px 14px;flex:1;min-width:200px}
.cotq-filter-search i{color:#94a3b8}
.cotq-filter-search input{border:none;outline:none;width:100%;font-size:.88rem;background:none;color:#1e293b}
.cotq-select{background:#fff;border:1.5px solid #e2e8f0;border-radius:9px;padding:8px 14px;font-size:.85rem;color:#374151;outline:none;cursor:pointer}

/* Cartes de demandes (style Rotra) */
.cotq-card{background:#fff;border:1.5px solid #e2e8f0;border-radius:12px;padding:18px 20px;margin-bottom:12px;display:flex;align-items:center;gap:16px;transition:box-shadow .2s;cursor:pointer}
.cotq-card:hover{box-shadow:0 4px 20px rgba(0,0,0,.08);border-color:#cbd5e1}
.cotq-card-icon{width:44px;height:44px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:1.3rem;flex-shrink:0}
.cotq-card-icon-air{background:#eff6ff;color:#3b82f6}
.cotq-card-icon-sea{background:#f0f9ff;color:#0284c7}
.cotq-card-icon-road{background:#fefce8;color:#ca8a04}
.cotq-card-body{flex:1;min-width:0}
.cotq-card-meta{display:flex;gap:16px;flex-wrap:wrap;align-items:center;margin-bottom:6px}
.cotq-card-ref{font-size:.8rem;color:#64748b;display:flex;align-items:center;gap:4px}
.cotq-card-vol{font-size:.8rem;color:#64748b;display:flex;align-items:center;gap:4px}
.cotq-card-route{display:flex;align-items:center;gap:10px;font-size:.95rem;font-weight:700;color:#1e293b}
.cotq-card-route-arrow{display:flex;align-items:center;gap:6px;color:#94a3b8;font-size:.8rem}
.cotq-card-route-arrow::before{content:'';display:block;width:30px;height:2px;background:#e2e8f0}
.cotq-card-route-arrow::after{content:'';display:block;width:8px;height:8px;border-right:2px solid #e2e8f0;border-top:2px solid #e2e8f0;transform:rotate(45deg)}
.cotq-card-dates{font-size:.75rem;color:#94a3b8;margin-top:4px}
.cotq-card-right{display:flex;flex-direction:column;align-items:flex-end;gap:8px;flex-shrink:0}
.cotq-status{padding:4px 12px;border-radius:20px;font-size:.75rem;font-weight:700;border:1.5px solid}
.cotq-status-draft{background:#f8fafc;color:#64748b;border-color:#e2e8f0}
.cotq-status-sent{background:#eff6ff;color:#1d4ed8;border-color:#bfdbfe}
.cotq-status-processing{background:#fffbeb;color:#92400e;border-color:#fde68a}
.cotq-status-quoted{background:#f0fdf4;color:#166534;border-color:#bbf7d0}
.cotq-status-accepted{background:#dcfce7;color:#14532d;border-color:#86efac}
.cotq-status-rejected{background:#fef2f2;color:#991b1b;border-color:#fecaca}
.cotq-card-view-btn{background:#f1f5f9;border:none;border-radius:8px;padding:6px 14px;font-size:.8rem;font-weight:600;cursor:pointer;color:#475569;display:flex;align-items:center;gap:5px;transition:background .2s;white-space:nowrap}
.cotq-card-view-btn:hover{background:#e2e8f0}
.cotq-empty-state{text-align:center;padding:60px 20px;color:#94a3b8}
.cotq-empty-state i{font-size:3rem;margin-bottom:12px;display:block}

/* Formulaire */
.cotq-form-header{display:flex;align-items:center;gap:16px;margin-bottom:24px;flex-wrap:wrap}
.cotq-btn-back{background:none;border:1.5px solid #e2e8f0;border-radius:9px;padding:8px 14px;font-size:.85rem;cursor:pointer;color:#475569;display:flex;align-items:center;gap:6px;font-weight:600}
.cotq-btn-back:hover{background:#f1f5f9}

/* Steps indicator */
.cotq-steps{display:flex;align-items:center;margin-bottom:28px;overflow-x:auto;padding-bottom:4px}
.cotq-step{display:flex;align-items:center;gap:8px;font-size:.83rem;font-weight:600;color:#94a3b8;flex-shrink:0}
.cotq-step.active{color:var(--teal)}
.cotq-step.done{color:#22c55e}
.cotq-step-num{width:28px;height:28px;border-radius:50%;border:2px solid #e2e8f0;display:flex;align-items:center;justify-content:center;font-size:.78rem;font-weight:800;background:#fff;color:#94a3b8;transition:all .25s}
.cotq-step.active .cotq-step-num{background:var(--teal);border-color:var(--teal);color:#fff}
.cotq-step.done .cotq-step-num{background:#22c55e;border-color:#22c55e;color:#fff}
.cotq-step-line{flex:1;height:2px;background:#e2e8f0;margin:0 8px;min-width:20px}

/* Section form */
.cotq-section{background:#fff;border:1.5px solid #e2e8f0;border-radius:12px;padding:22px;margin-bottom:20px}
.cotq-section-title{font-size:1rem;font-weight:800;color:#1e293b;margin:0 0 18px;padding-bottom:10px;border-bottom:1.5px solid #f1f5f9}
.cotq-field-group{margin-bottom:16px}
.cotq-label{display:block;font-size:.82rem;font-weight:700;color:#374151;margin-bottom:6px}
.cotq-input{width:100%;border:1.5px solid #e2e8f0;border-radius:8px;padding:10px 14px;font-size:.88rem;outline:none;transition:border-color .2s;box-sizing:border-box;background:#fff;color:#1e293b}
.cotq-input:focus{border-color:var(--teal)}
.cotq-textarea{width:100%;border:1.5px solid #e2e8f0;border-radius:8px;padding:10px 14px;font-size:.88rem;outline:none;resize:vertical;transition:border-color .2s;box-sizing:border-box;background:#fff;color:#1e293b;font-family:inherit}
.cotq-textarea:focus{border-color:var(--teal)}
.cotq-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media(max-width:640px){.cotq-row{grid-template-columns:1fr}}

/* Maps preview — Origine / Destination */
.cotq-maps-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:4px;margin-bottom:16px}
.cotq-map-card{border-radius:10px;overflow:hidden;border:1.5px solid #e2e8f0;box-shadow:0 2px 10px rgba(0,0,0,.07)}
.cotq-map-label{padding:7px 12px;font-size:.78rem;font-weight:700;color:#374151;background:#f8fafc;border-bottom:1px solid #e2e8f0;display:flex;align-items:center;gap:6px;letter-spacing:.03em}
.cotq-map-iframe{width:100%;height:220px;display:block;border:none}
@media(max-width:640px){.cotq-maps-row{grid-template-columns:1fr}.cotq-map-iframe{height:180px}}

/* Mode selector */
.cotq-mode-selector{display:flex;gap:10px;flex-wrap:wrap}
.cotq-mode-btn{flex:1;min-width:120px;padding:12px 16px;border:2px solid #e2e8f0;border-radius:10px;background:#fff;cursor:pointer;font-size:.88rem;font-weight:700;color:#64748b;display:flex;align-items:center;justify-content:center;gap:8px;transition:all .2s}
.cotq-mode-btn:hover{border-color:#94a3b8;background:#f8fafc}
.cotq-mode-btn.active{border-color:var(--teal);background:#f0fdfa;color:var(--teal)}
.cotq-mode-btn.active-air{border-color:#3b82f6;background:#eff6ff;color:#3b82f6}
.cotq-mode-btn.active-road{border-color:#ca8a04;background:#fefce8;color:#ca8a04}

/* Address block */
.cotq-address-block{background:#f8fafc;border:1.5px solid #e2e8f0;border-radius:10px;padding:16px}
.cotq-address-title{font-size:.88rem;font-weight:800;color:#1e293b;margin-bottom:14px;display:flex;align-items:center;gap:7px}

/* Radio big cards */
.cotq-radio-big{display:flex;gap:12px;flex-wrap:wrap}
.cotq-radio-card{display:flex;align-items:center;gap:10px;padding:12px 18px;border:2px solid #e2e8f0;border-radius:10px;cursor:pointer;font-size:.88rem;background:#fff;transition:all .2s;flex:1;min-width:120px}
.cotq-radio-card:has(input:checked){border-color:var(--teal);background:#f0fdfa}
.cotq-radio-card input{accent-color:var(--teal)}

/* Packages table */
.cotq-packages-table{border:1.5px solid #e2e8f0;border-radius:8px;overflow:hidden;margin-bottom:10px}
.cotq-pkg-header{display:grid;background:#f8fafc;padding:8px 12px;font-size:.75rem;font-weight:700;color:#64748b;text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid #e2e8f0}
.cotq-pkg-row{display:grid;padding:8px 12px;border-bottom:1px solid #f1f5f9;align-items:center;gap:6px}
.cotq-pkg-row:last-child{border-bottom:none}
.cotq-pkg-input{border:1px solid #e2e8f0;border-radius:6px;padding:5px 8px;font-size:.82rem;width:100%;box-sizing:border-box;outline:none}
.cotq-pkg-input:focus{border-color:var(--teal)}
.cotq-pkg-del{background:none;border:none;color:#ef4444;cursor:pointer;font-size:.9rem;padding:4px}
.cotq-btn-add-pkg{background:#f0fdfa;border:1.5px solid var(--teal);color:var(--teal);border-radius:8px;padding:7px 14px;font-size:.82rem;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:6px;transition:background .2s}
.cotq-btn-add-pkg:hover{background:#ccfbf1}
.cotq-pkg-totals{font-size:.82rem;color:#64748b;padding:6px 2px;display:flex;gap:16px;flex-wrap:wrap}

/* Dropzone */
.cotq-dropzone{border:2px dashed #cbd5e1;border-radius:12px;padding:28px;text-align:center;cursor:pointer;transition:all .2s;background:#f8fafc}
.cotq-dropzone:hover,.cotq-dropzone-active{border-color:var(--teal);background:#f0fdfa}
.cotq-file-item{display:flex;align-items:center;gap:10px;padding:8px 12px;background:#f8fafc;border-radius:8px;margin-bottom:6px;font-size:.83rem}
.cotq-file-item i{color:var(--teal)}
.cotq-file-del{background:none;border:none;color:#ef4444;cursor:pointer;margin-left:auto;font-size:.85rem}

/* Step navigation */
.cotq-step-nav{display:flex;justify-content:space-between;align-items:center;margin-top:10px;padding-top:16px;border-top:1.5px solid #f1f5f9}
.cotq-btn-back-step{background:#f1f5f9;border:none;border-radius:9px;padding:10px 20px;font-size:.88rem;font-weight:600;cursor:pointer;color:#475569;display:flex;align-items:center;gap:7px}
.cotq-btn-back-step:hover{background:#e2e8f0}
.cotq-btn-next{background:var(--teal);color:#fff;border:none;border-radius:10px;padding:11px 24px;font-size:.9rem;font-weight:700;cursor:pointer;display:flex;align-items:center;gap:8px;transition:background .2s}
.cotq-btn-next:hover{background:#0e6e63}
.cotq-btn-submit{background:linear-gradient(135deg,#059669,#047857);color:#fff;border:none;border-radius:10px;padding:12px 28px;font-size:.95rem;font-weight:800;cursor:pointer;display:flex;align-items:center;gap:8px;box-shadow:0 4px 14px rgba(5,150,105,.3)}
.cotq-btn-submit:hover{background:linear-gradient(135deg,#047857,#065f46)}

/* Review */
.cotq-review-banner{display:flex;align-items:center;gap:14px;background:#eff6ff;border-color:#bfdbfe;margin-bottom:8px}
.cotq-review-section{background:#fff;border:1.5px solid #e2e8f0;border-radius:12px;margin-bottom:12px;overflow:hidden}
.cotq-review-section-header{display:flex;justify-content:space-between;align-items:center;padding:14px 18px;background:#f8fafc;border-bottom:1px solid #f1f5f9}
.cotq-review-section-title{font-size:.88rem;font-weight:800;color:#1e293b;display:flex;align-items:center;gap:7px}
.cotq-review-section-body{padding:14px 18px}
.cotq-review-row{display:flex;gap:8px;margin-bottom:8px;font-size:.85rem}
.cotq-review-lbl{font-weight:700;color:#374151;min-width:160px;flex-shrink:0}
.cotq-review-val{color:#64748b}

/* Detail view */
.cotq-detail-section{background:#fff;border:1.5px solid #e2e8f0;border-radius:12px;padding:18px 20px;margin-bottom:16px}
.cotq-detail-section-title{font-size:.95rem;font-weight:800;color:#1e293b;margin:0 0 14px;padding-bottom:10px;border-bottom:1.5px solid #f1f5f9;display:flex;align-items:center;gap:8px}
.cotq-response-box{background:linear-gradient(135deg,#f0fdf4,#dcfce7);border:1.5px solid #86efac;border-radius:12px;padding:18px 20px;margin-bottom:16px}
.cotq-response-price{font-size:1.8rem;font-weight:900;color:#166534}

/* Checkboxes */
.cotq-checkboxes{display:flex;gap:16px;flex-wrap:wrap}
.cotq-checkboxes label{display:flex;align-items:center;gap:6px;font-size:.85rem;color:#374151;cursor:pointer}

/* Admin view */
.cotq-admin-card{background:#fff;border:1.5px solid #e2e8f0;border-radius:10px;padding:14px 18px;margin-bottom:10px;display:flex;align-items:center;gap:14px}
.cotq-admin-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.cotq-admin-btn{padding:6px 14px;border-radius:7px;font-size:.8rem;font-weight:700;cursor:pointer;border:none}
.cotq-admin-btn-process{background:#fffbeb;color:#92400e;border:1px solid #fde68a}
.cotq-admin-btn-quote{background:#f0fdf4;color:#166534;border:1px solid #86efac}
.cotq-admin-btn-reject{background:#fef2f2;color:#991b1b;border:1px solid #fecaca}

/* Admin reply panel (in detail view) */
.cotq-admin-panel{background:linear-gradient(135deg,#f0f4ff,#eef2ff);border:1.5px solid #c7d2fe;border-radius:12px;padding:20px 22px;margin-top:20px}
.cotq-admin-panel-title{font-size:.85rem;font-weight:800;color:#3730a3;text-transform:uppercase;letter-spacing:.06em;margin-bottom:16px;display:flex;align-items:center;gap:8px}
.cotq-admin-panel-row{margin-bottom:13px}
.cotq-admin-label{display:block;font-size:.8rem;font-weight:700;color:#4b5563;margin-bottom:5px}
.cotq-admin-select{padding:9px 12px;border:1.5px solid #c7d2fe;border-radius:8px;font-size:.87rem;color:#1e293b;outline:none;background:#fff;cursor:pointer;width:100%}
.cotq-admin-select:focus{border-color:#6366f1}
.cotq-admin-input{padding:9px 12px;border:1.5px solid #c7d2fe;border-radius:8px;font-size:.87rem;color:#1e293b;outline:none;background:#fff;width:100%;box-sizing:border-box}
.cotq-admin-input:focus{border-color:#6366f1}
.cotq-admin-textarea{padding:9px 12px;border:1.5px solid #c7d2fe;border-radius:8px;font-size:.87rem;color:#1e293b;outline:none;background:#fff;width:100%;box-sizing:border-box;resize:vertical;font-family:inherit}
.cotq-admin-textarea:focus{border-color:#6366f1}

/* ══════════════════════════════════════════════════════
   CARNET D'ADRESSES — Address Book
   ══════════════════════════════════════════════════════ */
.abook-page-header{display:flex;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-bottom:24px}
.abook-page-title{font-size:1.6rem;font-weight:800;color:#1e293b;margin:0 0 4px}
.abook-page-sub{color:#64748b;font-size:.9rem;margin:0}
.abook-btn-primary{background:#1a4fba;color:#fff;border:none;border-radius:8px;padding:11px 20px;font-size:.85rem;font-weight:700;cursor:pointer;letter-spacing:.04em;display:flex;align-items:center;gap:7px;transition:background .2s;white-space:nowrap}
.abook-btn-primary:hover{background:#1740a0}

/* Search bar */
.abook-search-bar{display:flex;align-items:center;gap:10px;background:#fff;border:1.5px solid #e2e8f0;border-radius:10px;padding:0 14px;margin-bottom:20px}
.abook-search-bar i{color:#94a3b8;font-size:.95rem}
.abook-search-bar input{flex:1;border:none;outline:none;padding:11px 0;font-size:.9rem;color:#334155;background:transparent}

/* Grid */
.abook-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px}
.abook-empty{grid-column:1/-1;text-align:center;padding:60px 20px;color:#94a3b8;display:flex;flex-direction:column;align-items:center;gap:8px}
.abook-empty p{font-size:.95rem;line-height:1.6}

/* Card */
.abook-card{background:#fff;border:1.5px solid #e2e8f0;border-radius:12px;padding:18px;display:flex;gap:14px;position:relative;transition:box-shadow .2s,border-color .2s}
.abook-card:hover{box-shadow:0 4px 16px rgba(0,0,0,.07);border-color:#cbd5e1}
.abook-card-icon{width:44px;height:44px;min-width:44px;border-radius:50%;background:#f1f5f9;display:flex;align-items:center;justify-content:center;color:#64748b;font-size:1.1rem}
.abook-card-body{flex:1;min-width:0;padding-right:28px}
.abook-card-company{font-weight:700;font-size:.95rem;color:#1e293b;margin-bottom:4px}
.abook-card-addr{font-size:.8rem;color:#64748b;margin-bottom:8px;line-height:1.4}
.abook-card-contact{font-size:.79rem;color:#374151;margin-top:5px;display:flex;flex-wrap:wrap;align-items:center;gap:4px}
.abook-contact-name{font-weight:600;color:#1e293b}
.abook-contact-link{color:#1a4fba;text-decoration:none;display:inline-flex;align-items:center;gap:3px;font-size:.78rem}
.abook-contact-link:hover{text-decoration:underline}

/* 3-dot menu */
.abook-card-actions{position:absolute;top:12px;right:12px}
.abook-card-menu-wrap{position:relative}
.abook-card-menu-btn{background:transparent;border:none;cursor:pointer;color:#94a3b8;font-size:1rem;padding:4px 8px;border-radius:6px;transition:background .15s}
.abook-card-menu-btn:hover{background:#f1f5f9;color:#334155}
.abook-card-menu-dropdown{display:none;position:absolute;right:0;top:30px;background:#fff;border:1.5px solid #e2e8f0;border-radius:9px;box-shadow:0 8px 28px rgba(0,0,0,.12);min-width:150px;z-index:60;overflow:hidden}
.abook-card-menu-dropdown.open{display:block}
.abook-card-menu-dropdown button{width:100%;background:transparent;border:none;padding:10px 16px;text-align:left;font-size:.85rem;cursor:pointer;display:flex;align-items:center;gap:8px;color:#374151;transition:background .15s}
.abook-card-menu-dropdown button:hover{background:#f8fafc}

/* Pagination */
.abook-pagination{display:flex;align-items:center;justify-content:flex-end;gap:8px;margin-top:18px;color:#64748b;font-size:.85rem}
.abook-pag-info{margin-right:6px}
.abook-pag-btn{background:#fff;border:1.5px solid #e2e8f0;border-radius:7px;padding:5px 12px;cursor:pointer;color:#374151;font-size:.9rem;transition:background .15s}
.abook-pag-btn:hover:not(:disabled){background:#f1f5f9}
.abook-pag-btn:disabled{opacity:.4;cursor:default}

/* Form */
.abook-form-topbar{display:flex;align-items:center;gap:16px;margin-bottom:22px}
.abook-back-btn{background:transparent;border:none;color:#1a4fba;font-size:.8rem;font-weight:700;cursor:pointer;letter-spacing:.06em;display:flex;align-items:center;gap:5px;padding:6px 0}
.abook-back-btn:hover{text-decoration:underline}
.abook-form-title-h{font-size:1.35rem;font-weight:800;color:#1e293b;margin:0}
.abook-form-card{background:#fff;border:1.5px solid #e2e8f0;border-radius:12px;padding:22px 24px}
.abook-section-label{font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:#94a3b8;margin-bottom:16px;display:flex;align-items:center;gap:7px}
.abook-form-field{margin-bottom:11px}
.abook-form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.abook-input{width:100%;padding:10px 14px;border:1.5px solid #e2e8f0;border-radius:8px;font-size:.88rem;color:#334155;outline:none;transition:border-color .2s;box-sizing:border-box;background:#fff}
.abook-input:focus{border-color:#1a4fba;box-shadow:0 0 0 3px rgba(26,79,186,.08)}
.abook-select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%2394a3b8' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;cursor:pointer}
.abook-contact-row{display:grid;grid-template-columns:1.2fr 1.4fr 1fr auto;gap:8px;align-items:center;margin-bottom:8px}
.abook-remove-contact{background:transparent;border:1.5px solid #fecaca;cursor:pointer;color:#ef4444;font-size:.85rem;padding:6px 9px;border-radius:7px;transition:background .15s;flex-shrink:0}
.abook-remove-contact:hover{background:#fef2f2}
.abook-add-contact-btn{margin-top:10px;background:transparent;border:1.5px dashed #cbd5e1;border-radius:8px;color:#64748b;padding:9px 18px;font-size:.83rem;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:7px;transition:border-color .2s,color .2s;letter-spacing:.03em}
.abook-add-contact-btn:hover{border-color:#1a4fba;color:#1a4fba}
.abook-no-contact{color:#94a3b8;font-size:.84rem;margin-bottom:10px;font-style:italic}
.abook-form-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:22px}
.abook-btn-cancel{background:#f8fafc;color:#64748b;border:1.5px solid #e2e8f0;border-radius:8px;padding:11px 22px;font-size:.88rem;font-weight:700;cursor:pointer;letter-spacing:.03em;transition:background .2s}
.abook-btn-cancel:hover{background:#f1f5f9}
.abook-btn-save{background:#1a4fba;color:#fff;border:none;border-radius:8px;padding:11px 22px;font-size:.88rem;font-weight:700;cursor:pointer;letter-spacing:.03em;display:flex;align-items:center;gap:7px;transition:background .2s}
.abook-btn-save:hover{background:#1740a0}

/* Toast */
.abook-toast{position:fixed;bottom:28px;right:28px;background:#1e293b;color:#fff;padding:12px 22px;border-radius:10px;font-size:.88rem;font-weight:600;opacity:0;pointer-events:none;transition:opacity .3s;z-index:9999;box-shadow:0 4px 18px rgba(0,0,0,.25)}
.abook-toast.show{opacity:1}

/* Responsive */
@media(max-width:640px){
  .abook-form-row{grid-template-columns:1fr}
  .abook-contact-row{grid-template-columns:1fr auto;row-gap:6px}
  .abook-contact-row input:nth-child(2),
  .abook-contact-row input:nth-child(3){grid-column:1}
  .abook-page-header{flex-direction:column}
  .abook-grid{grid-template-columns:1fr}
  .abook-card-body{padding-right:20px}
}

/* ══════════════════════════════════════════════════════
   COTATION REPLY BUILDER (Staff)
   ══════════════════════════════════════════════════════ */
.cotqr-panel{background:linear-gradient(135deg,#f0f4ff,#eef2ff);border:1.5px solid #c7d2fe;border-radius:14px;padding:22px 24px;margin-top:20px}
.cotqr-panel-title{font-size:.85rem;font-weight:800;color:#3730a3;text-transform:uppercase;letter-spacing:.07em;margin-bottom:18px;display:flex;align-items:center;gap:8px}
.cotqr-meta-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:10px;margin-bottom:12px}
.cotqr-meta-field label{display:block;font-size:.78rem;font-weight:700;color:#4b5563;margin-bottom:4px}
.cotqr-input{width:100%;padding:8px 11px;border:1.5px solid #c7d2fe;border-radius:7px;font-size:.85rem;color:#1e293b;outline:none;background:#fff;box-sizing:border-box;font-family:inherit}
.cotqr-input:focus{border-color:#6366f1;box-shadow:0 0 0 2px rgba(99,102,241,.12)}
textarea.cotqr-input{resize:vertical}
.cotqr-section{background:#fff;border:1.5px solid #e0e7ff;border-radius:10px;margin-bottom:14px;overflow:hidden}
.cotqr-section-name{background:#6366f1;color:#fff;font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;padding:8px 16px}
.cotqr-table-wrap{overflow-x:auto}
.cotqr-table{width:100%;border-collapse:collapse;font-size:.83rem}
.cotqr-table thead tr{background:#f5f3ff}
.cotqr-table th{padding:7px 10px;text-align:left;font-weight:700;color:#4b5563;white-space:nowrap;border-bottom:1.5px solid #e0e7ff}
.cotqr-th-desc{min-width:180px}
.cotqr-th-type{min-width:130px}
.cotqr-th-num{width:85px;text-align:right!important}
.cotqr-th-total{width:100px;text-align:right!important}
.cotqr-th-del{width:34px}
.cotqr-line td{padding:5px 8px;border-bottom:1px solid #f1f5f9;vertical-align:middle}
.cotqr-td-desc{min-width:180px}
.cotqr-td-type{min-width:130px}
.cotqr-td-num{width:85px;text-align:right}
.cotqr-td-total{width:100px;text-align:right;font-weight:600;color:#1e293b;white-space:nowrap}
.cotqr-td-del{width:34px;text-align:center}
.cotqr-cell-input{width:100%;border:1.5px solid transparent;border-radius:5px;padding:5px 7px;font-size:.82rem;outline:none;background:transparent;transition:border-color .15s;font-family:inherit;color:#1e293b}
.cotqr-cell-input:focus{border-color:#6366f1;background:#fff}
.cotqr-num{text-align:right!important}
.cotqr-del-btn{background:transparent;border:1px solid #fecaca;border-radius:5px;cursor:pointer;color:#ef4444;padding:3px 7px;font-size:.8rem;transition:background .15s}
.cotqr-del-btn:hover{background:#fef2f2}
.cotqr-section-footer{display:flex;align-items:center;justify-content:space-between;padding:9px 14px;background:#fafafa;border-top:1.5px solid #e0e7ff;flex-wrap:wrap;gap:8px}
.cotqr-add-line-btn{background:transparent;border:1.5px dashed #a5b4fc;border-radius:7px;color:#6366f1;padding:5px 14px;font-size:.8rem;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:5px;transition:all .15s}
.cotqr-add-line-btn:hover{border-color:#6366f1;background:#f5f3ff}
.cotqr-subtotal{font-size:.85rem;color:#374151}
.cotqr-grand-total{display:flex;align-items:center;justify-content:space-between;background:#312e81;color:#fff;border-radius:10px;padding:14px 20px;margin-top:4px}
.cotqr-grand-total>span:first-child{font-size:.9rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em}
.cotqr-grand-amount{font-size:1.3rem;font-weight:800}
.cotqr-send-btn{background:#059669;color:#fff;border:none;border-radius:9px;padding:12px 26px;font-weight:800;font-size:.9rem;cursor:pointer;display:flex;align-items:center;gap:8px;transition:background .2s}
.cotqr-send-btn:hover{background:#047857}
.cotqr-pdf-btn{background:#dc2626;color:#fff;border:none;border-radius:9px;padding:12px 22px;font-weight:800;font-size:.9rem;cursor:pointer;display:flex;align-items:center;gap:8px;transition:background .2s}
.cotqr-pdf-btn:hover{background:#b91c1c}

/* Client quote view */
.cotqr-client-quote{background:#fff;border:1.5px solid #d1fae5;border-radius:12px;overflow:hidden;margin-top:20px}
.cotqr-client-quote-header{background:linear-gradient(135deg,#ecfdf5,#d1fae5);padding:18px 22px;border-bottom:1.5px solid #a7f3d0;display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:10px}
.cotqr-client-quote-title{font-size:1rem;font-weight:800;color:#065f46;display:flex;align-items:center;gap:8px}
.cotqr-client-quote-ref{font-size:.82rem;color:#059669;font-weight:600;margin-top:4px}
.cotqr-client-quote-meta{display:flex;flex-direction:column;align-items:flex-end;gap:4px;font-size:.8rem;color:#047857}
.cotqr-client-quote-meta span{display:flex;align-items:center;gap:5px}
.cotqr-client-section{padding:16px 22px;border-bottom:1px solid #d1fae5}
.cotqr-client-section-name{font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:#059669;margin-bottom:10px}
.cotqr-client-table{width:100%;border-collapse:collapse;font-size:.83rem}
.cotqr-client-table th{padding:6px 10px;background:#f0fdf4;font-weight:700;color:#374151;border-bottom:1.5px solid #a7f3d0;text-align:left}
.cotqr-client-table td{padding:7px 10px;border-bottom:1px solid #f0fdf4;color:#374151}
.cotqr-client-subtotal{text-align:right;font-size:.82rem;color:#374151;padding:8px 0 0;border-top:1.5px solid #d1fae5;margin-top:6px}
.cotqr-client-grand-total{display:flex;justify-content:space-between;align-items:center;background:#065f46;color:#fff;padding:14px 22px;font-weight:800}
.cotqr-client-grand-total span{font-size:1.25rem}
.cotqr-client-notes{padding:14px 22px;font-size:.82rem;color:#374151;background:#f0fdf4;border-top:1px solid #d1fae5;line-height:1.6;display:flex;gap:8px}
.cotqr-accept-btn{background:#059669;color:#fff;border:none;border-radius:8px;padding:11px 22px;font-weight:700;font-size:.88rem;cursor:pointer;display:flex;align-items:center;gap:7px}
.cotqr-reject-btn{background:transparent;color:#dc2626;border:1.5px solid #fca5a5;border-radius:8px;padding:11px 22px;font-weight:700;font-size:.88rem;cursor:pointer;display:flex;align-items:center;gap:7px}
.cotqr-accept-btn:hover{background:#047857}
.cotqr-reject-btn:hover{background:#fef2f2}

@media(max-width:700px){
  .cotqr-meta-grid{grid-template-columns:1fr 1fr}
  .cotqr-client-quote-header{flex-direction:column}
}

/* ══════════════════════════════════════════════
   Boîte à outils — collapsible nav group
   ══════════════════════════════════════════════ */
.ec-nav-group-wrap{position:relative}
.ec-nav-group-toggle{width:100%;background:none;border:none;border-left:3px solid transparent;color:rgba(255,255,255,.7);text-align:left;padding:11px 20px;font-size:.88rem;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:12px;transition:var(--transition)}
.ec-nav-group-toggle>span{display:flex;align-items:center;gap:12px}
.ec-nav-group-toggle:hover{background:rgba(255,255,255,.07);color:#fff}
.ec-nav-group-toggle.ec-group-open{background:rgba(0,169,157,.15);color:var(--teal);border-left-color:var(--teal)}
.ec-group-chevron{font-size:.72rem;transition:transform .2s;opacity:.65}
.ec-nav-group-toggle.ec-group-open .ec-group-chevron{transform:rotate(90deg)}
.ec-nav-group-items{display:none;border-left:2px solid rgba(255,255,255,.1);margin-left:20px;margin-bottom:4px}
.ec-nav-group-items.ec-group-open{display:block}
.ec-nav-sub{padding:9px 14px !important;font-size:.83rem !important}

