:root{
  /* ── Nota palette ── */
  --nota-navy:#082347;--nota-navy-dark:#061A36;--nota-blue:#123E6F;
  --nota-gold:#C4A04B;--nota-gold-light:#F4E8C4;--nota-gold-mid:#DFC878;
  --nota-bg:#F7F8FA;--nota-paper:#FAFAF8;--nota-card:#FFFFFF;--nota-border:#E2E2DD;
  --nota-text:#1B2635;--nota-muted:#667085;--nota-soft:#98A2B3;
  /* ── Semantic status ── */
  --success-text:#166534;--success-bg:#DCFCE7;--success-mid:#86EFAC;
  --warning-text:#92400E;--warning-bg:#FEF3C7;--warning-mid:#FDE68A;
  --danger-text:#991B1B;--danger-bg:#FEE2E2;--danger-mid:#FECACA;
  --info-text:#1E3A8A;--info-bg:#DBEAFE;--info-mid:#BFDBFE;
  --neutral-text:#475467;--neutral-bg:#F2F4F7;
  /* ── Legacy aliases → Nota values ── */
  --ink:#1B2635;--ink-2:#2D3748;--ink-3:#667085;--ink-4:#98A2B3;
  --paper:#FAFAF8;--paper-2:#F0F2F5;--paper-3:#E2E2DD;--white:#FFFFFF;
  --accent:#082347;--accent-2:#123E6F;--accent-3:#061A36;--accent-light:#EBF0F8;--accent-mid:#B8CBE0;
  --gold:#C4A04B;--gold-light:#F4E8C4;--gold-mid:#DFC878;
  --red:#991B1B;--red-light:#FEE2E2;--red-mid:#FECACA;
  --blue:#1E3A8A;--blue-light:#DBEAFE;--blue-mid:#BFDBFE;
  --amber:#92400E;--amber-light:#FEF3C7;--amber-mid:#FDE68A;
  --r:6px;--rlg:10px;--rxl:14px;
  /* ── Brand — remplacées par brand_settings au chargement ── */
  --brand-primary:var(--nota-navy);--brand-accent:var(--nota-blue);--brand-secondary:var(--nota-navy-dark);
  --brand-bg:var(--nota-bg);--brand-card:var(--nota-card);--brand-text:var(--nota-text);--brand-text-2:var(--nota-muted);
}
*{box-sizing:border-box;margin:0;padding:0;}
body{font-family:'DM Sans',sans-serif;background:var(--paper);color:var(--ink);font-size:15px;line-height:1.4;}
.shell{display:flex;min-height:100vh;}

/* ══ SIDEBAR ══ */
.sidebar{width:260px;background:var(--accent-3);position:fixed;top:0;left:0;bottom:0;display:flex;flex-direction:column;z-index:100;overflow-y:auto;}
.s-logo{padding:24px 20px 18px;border-bottom:1px solid rgba(196,160,75,.35);}
.s-logo-nota{font-family:'DM Serif Display',serif;font-size:26px;color:var(--nota-gold);line-height:1;letter-spacing:-.02em;}
.s-logo-img{height:72px;width:auto;display:block;}
.s-logo-firm{font-size:11px;color:rgba(255,255,255,.45);margin-top:5px;letter-spacing:.04em;}
.s-logo-title{font-family:'DM Serif Display',serif;font-size:20px;color:#fff;line-height:1.2;}
.s-logo-sub{font-size:11px;color:rgba(255,255,255,.4);margin-top:3px;letter-spacing:.07em;text-transform:uppercase;}
.s-nav{padding:10px 10px;flex:1;display:flex;flex-direction:column;gap:2px;}
.nav-lbl{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.3);padding:10px 12px 4px;font-weight:500;}
.nav-item{display:flex;align-items:center;gap:9px;padding:8px 12px;border-radius:var(--r);cursor:pointer;color:rgba(255,255,255,.6);font-size:15px;transition:all .15s;user-select:none;}
.nav-item:hover{background:rgba(255,255,255,.08);color:#fff;}
.nav-item.active{background:rgba(255,255,255,.12);color:#fff;font-weight:500;border-left:2px solid var(--nota-gold);padding-left:10px;}
.nav-item.active .nav-icon{color:var(--nota-gold);}
.nav-item.disabled{opacity:.32;cursor:default;pointer-events:none;}
.nav-item.dev-inactif{opacity:.45;border-left:2px dashed rgba(196,160,75,.4);padding-left:10px;}
.nav-item.admin-item{color:rgba(255,255,255,.5);font-size:14px;}
.nav-item.admin-item.active{background:rgba(255,255,255,.1);}
.nav-sep{height:1px;background:rgba(255,255,255,.1);margin:6px 12px;}
.nav-icon{width:14px;height:14px;flex-shrink:0;}
.nav-fav-btn{margin-left:auto;padding:3px;opacity:0;color:rgba(255,255,255,.45);transition:opacity .15s,color .15s;flex-shrink:0;line-height:0;border-radius:3px;}
.nav-item:hover .nav-fav-btn{opacity:1;}
.nav-fav-btn:hover{color:#fff;background:rgba(255,255,255,.1);}
.nav-fav-btn.is-fav{opacity:1;color:#fbbf24;}
.s-footer{padding:12px 16px;border-top:1px solid rgba(255,255,255,.08);flex-shrink:0;position:relative;}
.user-sel-lbl{font-size:11px;color:rgba(255,255,255,.35);letter-spacing:.06em;text-transform:uppercase;margin-bottom:4px;}
.user-sel{width:100%;appearance:none;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.15);border-radius:var(--r);color:#fff;font-family:inherit;font-size:14px;padding:5px 24px 5px 9px;cursor:pointer;outline:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='white' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 7px center;margin-bottom:8px;}
.u-chip{display:flex;align-items:center;gap:8px;padding:5px 6px;border-radius:var(--r);cursor:pointer;transition:background .15s;margin:-5px -6px;}
.u-chip:hover{background:rgba(255,255,255,.07);}
.u-av{width:26px;height:26px;border-radius:50%;background:rgba(255,255,255,.15);color:#fff;font-size:11px;font-weight:600;display:flex;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.2);flex-shrink:0;}
.u-name{font-size:14px;color:rgba(255,255,255,.8);font-weight:500;}
.u-role{font-size:11px;color:rgba(255,255,255,.35);}
.u-popover{position:absolute;bottom:calc(100% + 4px);left:10px;right:10px;background:var(--accent-3);border:1px solid rgba(255,255,255,.13);border-radius:8px;box-shadow:0 8px 24px rgba(0,0,0,.35);overflow:hidden;z-index:200;}
.u-pop-header{padding:12px 14px;display:flex;align-items:center;gap:10px;border-bottom:1px solid rgba(255,255,255,.08);}
.u-pop-av{width:34px;height:34px;border-radius:50%;background:rgba(255,255,255,.15);color:#fff;font-size:14px;font-weight:600;display:flex;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.2);flex-shrink:0;}
.u-pop-name{font-size:15px;color:#fff;font-weight:500;line-height:1.3;}
.u-pop-email{font-size:13px;color:rgba(255,255,255,.4);margin-top:1px;}
.u-pop-btn{width:100%;display:flex;align-items:center;gap:9px;padding:10px 14px;background:none;border:none;color:rgba(255,255,255,.7);font-family:inherit;font-size:14px;cursor:pointer;transition:background .15s;text-align:left;}
.u-pop-btn:hover{background:rgba(255,255,255,.08);color:#fff;}

/* ══ MAIN ══ */
.main{margin-left:260px;flex:1;display:flex;flex-direction:column;min-width:0;}
.page{display:none;flex-direction:column;flex:1;}
.page.active{display:flex;}

/* ══ TOPBAR ══ */
.topbar{background:var(--white);border-bottom:1px solid var(--paper-3);padding:0 24px;height:66px;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:50;flex-shrink:0;}
.topbar-title{font-family:'DM Serif Display',serif;font-size:22px;}
.topbar-right{display:flex;gap:8px;align-items:center;}
.btn{display:inline-flex;align-items:center;gap:5px;padding:6px 13px;border-radius:var(--r);font-family:inherit;font-size:14px;font-weight:500;cursor:pointer;border:none;transition:all .15s;}
.btn-primary{background:var(--accent);color:#fff;}
.btn-primary:hover{background:var(--accent-2);}
.btn-ghost{background:transparent;color:var(--ink-2);border:1px solid var(--paper-3);}
.btn-ghost:hover{background:var(--paper-2);}
.btn-danger{background:transparent;color:var(--red);border:1px solid var(--red-mid);}
.btn-danger:hover{background:var(--red-light);}
.btn-sm{padding:5px 11px;font-size:14px;}
.btn-xs{padding:3px 9px;font-size:13px;}

/* ══ SHARED ══ */
.card{background:var(--white);border:1px solid var(--paper-3);border-radius:var(--rlg);overflow:hidden;}
.card-header{padding:15px 20px 12px;border-bottom:1px solid var(--paper-2);display:flex;align-items:center;justify-content:space-between;gap:10px;}
.card-title{font-size:16px;font-weight:600;color:var(--ink);}
.card-sub{font-size:14px;color:var(--ink-3);margin-top:1px;}
.card-body{padding:18px 20px;}
.badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:20px;font-size:13px;font-weight:500;}
.badge::before{content:'';width:4px;height:4px;border-radius:50%;background:currentColor;}
.b-vert{background:var(--success-bg);color:var(--success-text);}
.b-or{background:var(--gold-light);color:var(--gold);}
.b-rouge{background:var(--red-light);color:var(--red);}
.b-bleu{background:var(--blue-light);color:var(--blue);}
.b-gris{background:var(--paper-2);color:var(--ink-3);}
.b-amber{background:var(--amber-light);color:var(--amber);}
.flbl{font-size:12px;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:var(--ink-3);margin-bottom:4px;}
.fctrl{padding:8px 11px;border:1px solid var(--paper-3);border-radius:var(--r);font-family:inherit;font-size:13px;color:var(--ink);background:var(--paper);outline:none;width:100%;transition:border-color .15s;}
.fctrl:focus{border-color:var(--accent);background:var(--white);}
select.fctrl{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%23a1a1aa' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 9px center;padding-right:28px;cursor:pointer;}
.notif{position:fixed;bottom:20px;right:20px;background:var(--ink);color:#fff;padding:10px 18px;border-radius:var(--r);font-size:15px;box-shadow:0 4px 20px rgba(0,0,0,.2);transform:translateY(14px);opacity:0;transition:all .2s;z-index:9999;}
.notif.show{transform:translateY(0);opacity:1;}
.notif.notif-error{background:var(--red);}
.notif.notif-success{background:var(--success-text);}
.ordi-log-skeleton{color:var(--ink-4);font-size:14px;padding:10px 0;font-style:italic;}

/* ══ STATS BAR ══ */
.stats-bar{display:flex;gap:12px;padding:10px 24px;background:var(--white);border-bottom:1px solid var(--paper-2);flex-wrap:wrap;flex-shrink:0;}
.stat-pill{display:flex;align-items:center;gap:7px;padding:6px 13px;background:var(--paper);border:1px solid var(--paper-3);border-radius:var(--rlg);}
.stat-val{font-family:'DM Serif Display',serif;font-size:22px;color:var(--ink);line-height:1;}
.stat-lbl{font-size:13px;color:var(--ink-3);}

/* ══ VIEW TABS ══ */
.view-tabs{display:flex;border-bottom:2px solid var(--paper-3);padding:0 24px;background:var(--white);flex-shrink:0;}
.view-tab{padding:10px 16px;font-size:15px;font-weight:500;cursor:pointer;color:var(--ink-3);border:none;background:none;border-bottom:2px solid transparent;margin-bottom:-2px;transition:all .15s;white-space:nowrap;}
.view-tab:hover{color:var(--ink-2);}
.view-tab.active{color:var(--accent);border-bottom-color:var(--accent);}

/* ══ TOOLBAR ══ */
.toolbar{padding:10px 24px;display:flex;gap:8px;align-items:center;flex-wrap:wrap;background:var(--white);border-bottom:1px solid var(--paper-2);flex-shrink:0;}
.search-input{padding:6px 12px;border:1px solid var(--paper-3);border-radius:var(--r);background:var(--paper);font-family:inherit;font-size:14px;color:var(--ink);outline:none;width:210px;transition:border-color .15s;}
.search-input:focus{border-color:var(--accent);background:var(--white);}
.filter-chip{padding:4px 11px;border-radius:20px;border:1px solid var(--paper-3);background:var(--white);font-family:inherit;font-size:14px;font-weight:500;cursor:pointer;color:var(--ink-3);transition:all .15s;white-space:nowrap;}
.filter-chip:hover{border-color:var(--accent);color:var(--accent);}
.filter-chip.active{background:var(--accent);color:#fff;border-color:var(--accent);}
.cfg-btn{display:flex;align-items:center;gap:5px;padding:4px 10px;border-radius:var(--r);border:1px solid var(--paper-3);background:transparent;font-family:inherit;font-size:14px;cursor:pointer;color:var(--ink-3);transition:all .15s;margin-left:auto;}
.cfg-btn:hover{background:var(--paper-2);color:var(--ink);}
.cfg-panel{display:none;background:var(--white);border-bottom:1px solid var(--paper-3);padding:12px 24px;flex-shrink:0;}
.cfg-panel.open{display:block;}
.cfg-input{padding:5px 9px;border:1px solid var(--paper-3);border-radius:var(--r);font-family:inherit;font-size:14px;width:70px;text-align:center;background:var(--paper);color:var(--ink);outline:none;}
.cfg-input:focus{border-color:var(--accent);}

/* ══ TABLE DOSSIERS ══ */
.table-outer{overflow-x:auto;padding:16px 24px 32px;flex:1;}
.table-wrap{background:var(--white);border:1px solid var(--paper-3);border-radius:var(--rlg);overflow:hidden;min-width:2600px;}
table{width:100%;border-collapse:collapse;}
thead{background:var(--paper-2);}
th{padding:9px 10px;text-align:left;font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);border-bottom:1px solid var(--paper-3);white-space:nowrap;cursor:pointer;user-select:none;transition:color .15s;}
th:hover{color:var(--ink);}
th.sorted{color:var(--accent);}
th .sa{font-size:10px;margin-left:3px;opacity:.5;}
th.sorted .sa{opacity:1;}
td{padding:0;border-bottom:1px solid var(--paper-2);vertical-align:middle;}
tr:last-child td{border-bottom:none;}
tbody tr{transition:background .1s;cursor:pointer;}
tbody tr:hover{background:#f5f9f7;}
tbody tr.prod-row{background:#f3fbf7;}
tbody tr.prod-row:hover{background:#ebf7f2;}
.td-in{padding:7px 10px;display:flex;align-items:center;min-height:42px;}
td.col-ref,th.col-ref{position:sticky;left:0;z-index:10;background:var(--white);border-right:1px solid var(--paper-3);min-width:108px;}
thead th.col-ref{background:var(--paper-2);}
tbody tr:hover td.col-ref{background:#f5f9f7;}
tbody tr.prod-row td.col-ref{background:#f3fbf7;}
tbody tr.prod-row:hover td.col-ref{background:#ebf7f2;}
.dref{font-family:'DM Serif Display',serif;font-size:16px;color:var(--accent);}
.date-input{padding:3px 7px;border:1px solid var(--paper-3);border-radius:var(--r);font-family:inherit;font-size:14px;color:var(--ink-2);background:var(--paper);outline:none;width:130px;transition:border-color .15s;}
.date-input:focus{border-color:var(--accent);}
.sel{appearance:none;-webkit-appearance:none;padding:3px 20px 3px 7px;border:1px solid var(--paper-3);border-radius:var(--r);font-family:inherit;font-size:14px;color:var(--ink-2);background:var(--paper) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%23a1a1aa' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat right 5px center;cursor:pointer;outline:none;transition:all .15s;max-width:138px;}
.sel:focus{border-color:var(--accent);}
.sel.rdv-oui{border-color:var(--accent-mid);color:var(--accent);background-color:var(--accent-light);}
.sel.rdv-partiel{border-color:var(--gold-mid);color:var(--gold);background-color:var(--gold-light);}
.cb-wrap{display:flex;justify-content:center;width:100%;}
.cb{width:16px;height:16px;border:1.5px solid var(--paper-3);border-radius:3px;cursor:pointer;background:var(--white);display:flex;align-items:center;justify-content:center;transition:all .15s;flex-shrink:0;}
.cb.on{background:var(--accent);border-color:var(--accent);}
.cb.on::after{content:'✓';font-size:11px;color:#fff;font-weight:700;line-height:1;}
.n-chip{display:flex;align-items:center;gap:6px;white-space:nowrap;}
.n-av{width:21px;height:21px;border-radius:50%;background:var(--accent);color:#fff;font-size:10px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.db{display:inline-flex;align-items:center;padding:2px 7px;border-radius:3px;font-size:13px;font-weight:500;white-space:nowrap;}
.db-ok{background:var(--success-bg);color:var(--success-text);}
.db-warn{background:var(--amber-light);color:var(--amber);}
.db-urg{background:var(--red-light);color:var(--red);}
.db-na{background:var(--paper-2);color:var(--ink-4);}
.pill{appearance:none;-webkit-appearance:none;padding:3px 22px 3px 9px;border-radius:20px;font-family:inherit;font-size:13px;font-weight:500;cursor:pointer;outline:none;border:1.5px solid transparent;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%23a1a1aa' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 7px center;transition:all .15s;white-space:nowrap;}
.p-att{background:var(--paper-2);color:var(--ink-3);border-color:var(--paper-3);}
.p-rec{background:var(--success-bg);color:var(--success-text);border-color:var(--success-mid);}
.p-env{background:var(--blue-light);color:var(--blue);border-color:var(--blue-mid);}
.ci{padding:3px 7px;border:1px solid var(--paper-3);border-radius:var(--r);font-family:inherit;font-size:14px;color:var(--ink-2);background:var(--paper);outline:none;transition:border-color .15s;width:100%;}
.ci:focus{border-color:var(--accent);background:var(--white);}

/* ══ MODAL APERÇU ══ */
.ov{display:none;position:fixed;inset:0;background:rgba(10,10,10,.4);z-index:300;align-items:center;justify-content:center;}
.ov.open{display:flex;}
.modal{background:var(--white);border-radius:var(--rxl);box-shadow:0 16px 56px rgba(0,0,0,.2);width:800px;max-width:96vw;max-height:92vh;overflow:hidden;display:flex;flex-direction:column;}
.modal-sm{width:540px;}
.modal-lg{width:680px;}
.m-head{background:var(--accent-3);padding:20px 26px 16px;display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-shrink:0;}
.m-ref{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.4);margin-bottom:3px;}
.m-title{font-family:'DM Serif Display',serif;font-size:25px;color:#fff;line-height:1.1;}
.m-sub{font-size:14px;color:rgba(255,255,255,.55);margin-top:2px;}
.m-close{background:rgba(255,255,255,.12);border:none;cursor:pointer;color:#fff;font-size:21px;width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .15s;}
.m-close:hover{background:rgba(255,255,255,.22);}
.m-badges{display:flex;gap:6px;margin-top:9px;flex-wrap:wrap;}
.mbadge{display:inline-flex;align-items:center;gap:4px;padding:3px 9px;border-radius:20px;font-size:13px;font-weight:500;}
.mbadge::before{content:'';width:4px;height:4px;border-radius:50%;background:currentColor;}
.mb-g{background:rgba(234,242,239,.18);color:#7dd3f0;}
.mb-o{background:rgba(253,245,230,.15);color:#fac775;}
.mb-r{background:rgba(253,240,242,.15);color:#f09595;}
.m-tabs{display:flex;border-bottom:1px solid var(--paper-3);padding:0 26px;background:var(--paper);flex-shrink:0;}
.mtab{padding:9px 15px;font-size:15px;font-weight:500;cursor:pointer;color:var(--ink-3);border:none;background:none;border-bottom:2px solid transparent;margin-bottom:-1px;transition:all .15s;}
.mtab.active{color:var(--accent);border-bottom-color:var(--accent);}
.m-body{overflow-y:auto;flex:1;}
.mpane{display:none;padding:20px 26px;}
.mpane.active{display:block;}
.tl{display:flex;align-items:flex-start;margin-bottom:18px;}
.tl-step{flex:1;display:flex;flex-direction:column;align-items:center;gap:5px;position:relative;}
.tl-step:not(:last-child)::after{content:'';position:absolute;top:13px;left:50%;right:-50%;height:2px;background:var(--paper-3);z-index:0;}
.tl-step.done:not(:last-child)::after{background:var(--accent);}
.tl-dot{width:26px;height:26px;border-radius:50%;border:2px solid var(--paper-3);background:var(--white);display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;color:var(--ink-4);z-index:1;position:relative;}
.tl-step.done .tl-dot{background:var(--accent);border-color:var(--accent);color:#fff;}
.tl-step.current .tl-dot{border-color:var(--accent);color:var(--accent);box-shadow:0 0 0 3px var(--accent-light);}
.tl-lbl{font-size:13px;color:var(--ink-3);text-align:center;font-weight:500;}
.tl-step.done .tl-lbl,.tl-step.current .tl-lbl{color:var(--accent);font-weight:600;}
.ig{display:grid;grid-template-columns:1fr 1fr;gap:12px 24px;margin-bottom:18px;}
.ii{display:flex;flex-direction:column;gap:2px;}
.il{font-size:11px;text-transform:uppercase;letter-spacing:.07em;color:var(--ink-4);font-weight:500;}
.iv{font-size:16px;color:var(--ink);}
.if{grid-column:1/-1;}
.sec-title{font-size:11px;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:var(--ink-3);padding-bottom:7px;border-bottom:1px solid var(--paper-3);margin-bottom:12px;}
.docs-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px;}
.doc-row{display:flex;align-items:center;justify-content:space-between;padding:8px 11px;background:var(--paper);border-radius:var(--r);border:1px solid var(--paper-3);}
.doc-name{font-size:14px;color:var(--ink-2);}
.hi-item{display:flex;gap:11px;padding:11px 0;border-bottom:1px solid var(--paper-2);}
.hi-item:last-child{border-bottom:none;}
.hi-av{width:26px;height:26px;border-radius:50%;background:var(--accent);color:#fff;font-size:11px;font-weight:600;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.hi-av.sys{background:var(--paper-3);color:var(--ink-3);}
.hi-change{display:inline-flex;align-items:center;gap:5px;padding:2px 7px;background:var(--paper-2);border-radius:3px;font-size:13px;color:var(--ink-3);margin-top:3px;}
.hi-from{text-decoration:line-through;}
.hi-to{color:var(--accent);font-weight:500;}
.date-item{display:flex;align-items:stretch;padding:11px 0;border-bottom:1px solid var(--paper-2);gap:0;}
.date-item:last-child{border-bottom:none;}
.d-cal{display:flex;flex-direction:column;align-items:center;width:46px;flex-shrink:0;}
.d-m{font-size:11px;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:var(--ink-4);}
.d-d{font-family:'DM Serif Display',serif;font-size:25px;color:var(--ink);line-height:1;}
.d-y{font-size:11px;color:var(--ink-4);}
.d-div{width:1px;background:var(--paper-3);margin:0 13px;flex-shrink:0;}
.d-info{flex:1;display:flex;flex-direction:column;justify-content:center;gap:2px;}
.d-lbl{font-size:15px;font-weight:500;color:var(--ink);}
.d-sub{font-size:13px;color:var(--ink-3);}
.date-item.past .d-d{color:var(--ink-3);}
.date-item.upcoming .d-d{color:var(--accent);}
.m-footer{padding:12px 26px;border-top:1px solid var(--paper-3);display:flex;justify-content:space-between;align-items:center;background:var(--paper);flex-shrink:0;}



/* ══ ESTIMATEUR v3 ══ */
.e-cat-btn{border:1.5px solid var(--paper-3);border-radius:var(--rlg);padding:14px 10px;cursor:pointer;transition:all .15s;background:var(--white);text-align:center;}
.e-cat-btn:hover{border-color:var(--accent-mid);}
.e-cat-btn.active{border-color:var(--accent-2);background:var(--accent-light);}
.e-cat-icon{display:flex;justify-content:center;margin-bottom:7px;color:var(--ink-3);}
.e-cat-btn.active .e-cat-icon{color:var(--accent);}
.e-cat-nom{font-size:15px;font-weight:600;color:var(--ink);margin-bottom:2px;}
.e-cat-sub{font-size:13px;color:var(--ink-3);}
.e-sub-btn{border:1.5px solid var(--paper-3);border-radius:var(--rlg);padding:12px 14px;cursor:pointer;transition:all .15s;background:var(--white);}
.e-sub-btn:hover{border-color:var(--accent-mid);}
.e-sub-btn.active{border-color:var(--accent-2);background:var(--accent-light);}
.e-sub-nom{font-size:15px;font-weight:600;color:var(--ink);margin-bottom:3px;}
.e-sub-p{font-size:15px;font-weight:600;color:var(--accent-3);}
.e-fsec{font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);padding-bottom:7px;border-bottom:1px solid var(--paper-2);margin:16px 0 12px;}
.e-tog-row{display:flex;border:1px solid var(--paper-3);border-radius:var(--r);overflow:hidden;margin-top:5px;}
.e-tog{flex:1;padding:7px 8px;font-size:14px;cursor:pointer;color:var(--ink-3);text-align:center;transition:all .15s;background:var(--white);}
.e-tog:not(:last-child){border-right:1px solid var(--paper-3);}
.e-tog.active{background:var(--accent);color:#fff;font-weight:500;}
.e-opt{display:flex;align-items:flex-start;gap:10px;padding:9px 12px;background:var(--paper);border-radius:var(--r);border:1px solid var(--paper-3);margin-bottom:7px;cursor:pointer;transition:border-color .15s;}
.e-opt.active{border-color:var(--accent-mid);background:var(--accent-light);}
.e-opt-cb{width:15px;height:15px;border:1.5px solid var(--paper-3);border-radius:3px;background:var(--white);display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:2px;transition:all .15s;}
.e-opt.active .e-opt-cb{background:var(--accent);border-color:var(--accent);}
.e-opt.active .e-opt-cb::after{content:"\2713";font-size:10px;color:#fff;font-weight:700;}
.e-opt-lbl{flex:1;font-size:15px;color:var(--ink-2);line-height:1.4;}
.e-opt-lbl small{display:block;font-size:13px;color:var(--ink-3);margin-top:2px;}
.e-opt-prix{font-size:15px;font-weight:500;color:var(--ink);white-space:nowrap;}
.e-warn{background:var(--amber-light);border:1px solid var(--amber-mid);border-radius:var(--r);padding:10px 12px;margin-top:5px;}
.e-warn-t{display:flex;align-items:center;gap:6px;font-size:14px;font-weight:600;color:var(--amber);margin-bottom:4px;}
.e-warn-b{font-size:14px;color:var(--amber);line-height:1.5;}
.e-warn-input{padding:5px 9px;border:1px solid var(--amber-mid);border-radius:var(--r);font-family:inherit;font-size:14px;width:110px;text-align:right;background:var(--white);color:var(--ink);outline:none;}
.e-base-opt{border:1.5px solid var(--paper-3);border-radius:var(--rlg);padding:11px 13px;cursor:pointer;transition:all .15s;background:var(--white);}
.e-base-opt:hover{border-color:var(--accent-mid);}
.e-base-opt.active{border-color:var(--accent-2);background:var(--accent-light);}
.bon{font-size:15px;font-weight:500;color:var(--ink);margin-bottom:2px;}
.bop{font-size:15px;font-weight:600;color:var(--accent-3);}
.bno{font-size:13px;color:var(--ink-3);margin-top:2px;line-height:1.4;}
.e-nb-row{display:flex;align-items:center;gap:8px;}
.e-nb-btn{width:26px;height:26px;border:1px solid var(--paper-3);border-radius:var(--r);background:var(--white);cursor:pointer;font-size:19px;display:flex;align-items:center;justify-content:center;color:var(--ink-3);user-select:none;flex-shrink:0;transition:background .1s;}
.e-nb-btn:hover{background:var(--paper-2);}
.e-nb-input{width:50px;border:1px solid var(--paper-3);border-radius:var(--r);font-family:inherit;font-size:17px;font-weight:600;text-align:center;padding:3px;background:var(--paper);color:var(--ink);outline:none;}
.e-nb-input:focus{border-color:var(--accent);}
.e-nb-hint{font-size:13px;color:var(--ink-3);}
.e-drop{position:absolute;top:calc(100% + 2px);left:0;right:0;background:var(--white);border:1px solid var(--paper-3);border-radius:var(--r);box-shadow:0 4px 16px rgba(0,0,0,.1);z-index:200;max-height:240px;overflow-y:auto;}
.e-drop-item{padding:8px 12px;font-size:15px;cursor:pointer;color:var(--ink-2);border-bottom:1px solid var(--paper-2);}
.e-drop-item:last-child{border-bottom:none;}
.e-drop-item:hover{background:var(--accent-light);color:var(--accent-3);}
.e-drop-item .e-drop-sup{font-size:13px;color:var(--ink-4);margin-left:6px;}
.e-drop-group{padding:5px 12px 3px;font-size:11px;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:var(--ink-4);background:var(--paper-2);}
.e-rl{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:5px;font-size:14px;color:#fff;}
.e-rl .rl{opacity:.7;}.e-rl .rv{font-weight:500;}
.e-rl .rw{color:#fac775;}
.e-hist-item{background:var(--white);border:1px solid var(--paper-3);border-radius:var(--rlg);padding:14px 16px;margin-bottom:10px;display:flex;align-items:flex-start;gap:14px;}
.e-hist-av{width:36px;height:36px;border-radius:50%;background:var(--accent-light);color:var(--accent-3);font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.e-hist-nom{font-size:16px;font-weight:600;color:var(--ink);margin-bottom:2px;}
.e-hist-meta{font-size:14px;color:var(--ink-3);}
.e-hist-total{font-family:'DM Serif Display',serif;font-size:23px;color:var(--accent-3);white-space:nowrap;}


.e-cat-btn{border:1.5px solid var(--paper-3);border-radius:var(--rlg);padding:14px 12px;cursor:pointer;transition:all .15s;background:var(--white);text-align:center;}
.e-cat-btn:hover{border-color:var(--accent-mid);}
.e-cat-btn.active{border-color:var(--accent-2);background:var(--accent-light);}
.e-cat-icon{display:flex;justify-content:center;margin-bottom:7px;color:var(--ink-3);}
.e-cat-btn.active .e-cat-icon{color:var(--accent);}
.e-cat-nom{font-size:15px;font-weight:600;color:var(--ink);margin-bottom:2px;}
.e-cat-sub{font-size:13px;color:var(--ink-3);}
.e-sub-btn{border:1.5px solid var(--paper-3);border-radius:var(--rlg);padding:13px 14px;cursor:pointer;transition:all .15s;background:var(--white);}
.e-sub-btn:hover{border-color:var(--accent-mid);}
.e-sub-btn.active{border-color:var(--accent-2);background:var(--accent-light);}
.e-sub-nom{font-size:15px;font-weight:600;color:var(--ink);margin-bottom:3px;}
.e-sub-p{font-size:16px;font-weight:600;color:var(--accent-3);}
.e-fsec{font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);padding-bottom:7px;border-bottom:1px solid var(--paper-2);margin:16px 0 12px;}
.e-tog-row{display:flex;border:1px solid var(--paper-3);border-radius:var(--r);overflow:hidden;margin-top:4px;}
.e-tog{flex:1;padding:7px 10px;font-size:14px;cursor:pointer;color:var(--ink-3);text-align:center;transition:all .15s;background:var(--white);}
.e-tog:not(:last-child){border-right:1px solid var(--paper-3);}
.e-tog.active{background:var(--accent);color:#fff;font-weight:500;}
.e-opt{display:flex;align-items:flex-start;gap:10px;padding:9px 12px;background:var(--paper);border-radius:var(--r);border:1px solid var(--paper-3);margin-bottom:7px;cursor:pointer;transition:border-color .15s;}
.e-opt.active{border-color:var(--accent-mid);background:var(--accent-light);}
.e-opt-cb{width:15px;height:15px;border:1.5px solid var(--paper-3);border-radius:3px;background:var(--white);display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:2px;transition:all .15s;}
.e-opt.active .e-opt-cb{background:var(--accent);border-color:var(--accent);}
.e-opt.active .e-opt-cb::after{content:"✓";font-size:10px;color:#fff;font-weight:700;}
.e-opt-lbl{flex:1;font-size:15px;color:var(--ink-2);line-height:1.4;}
.e-opt-lbl small{display:block;font-size:13px;color:var(--ink-3);margin-top:2px;}
.e-opt-prix{font-size:15px;font-weight:500;color:var(--ink);white-space:nowrap;}
.e-warn{background:var(--amber-light);border:1px solid var(--amber-mid);border-radius:var(--r);padding:10px 12px;margin-top:5px;}
.e-warn-t{display:flex;align-items:center;gap:6px;font-size:14px;font-weight:600;color:var(--amber);margin-bottom:4px;}
.e-warn-b{font-size:14px;color:var(--amber);line-height:1.5;}
.e-warn-m{display:flex;align-items:center;gap:8px;margin-top:8px;}
.e-warn-m label{font-size:14px;color:var(--amber);}
.e-warn-input{padding:5px 9px;border:1px solid var(--amber-mid);border-radius:var(--r);font-family:inherit;font-size:14px;width:110px;text-align:right;background:var(--white);color:var(--ink);outline:none;}
.e-base-opt{border:1.5px solid var(--paper-3);border-radius:var(--rlg);padding:11px 13px;cursor:pointer;transition:all .15s;background:var(--white);}
.e-base-opt:hover{border-color:var(--accent-mid);}
.e-base-opt.active{border-color:var(--accent-2);background:var(--accent-light);}
.e-base-opt .bon{font-size:15px;font-weight:500;color:var(--ink);margin-bottom:2px;}
.e-base-opt .bop{font-size:15px;font-weight:600;color:var(--accent-3);}
.e-base-opt .bno{font-size:13px;color:var(--ink-3);margin-top:2px;line-height:1.4;}
.e-nb-btn{width:26px;height:26px;border:1px solid var(--paper-3);border-radius:var(--r);background:var(--white);cursor:pointer;font-size:19px;display:flex;align-items:center;justify-content:center;color:var(--ink-3);user-select:none;flex-shrink:0;}
.e-nb-btn:hover{background:var(--paper-2);}
.e-nb-val{font-size:19px;font-weight:600;color:var(--ink);min-width:22px;text-align:center;}
.e-rl{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:5px;font-size:14px;color:#fff;}
.e-rl .l{opacity:.7;}.e-rl .v{font-weight:500;}
.e-rl .vw{color:#fac775;}
.e-hist-item{background:var(--white);border:1px solid var(--paper-3);border-radius:var(--rlg);padding:14px 16px;margin-bottom:10px;display:flex;align-items:flex-start;gap:14px;}
.e-hist-dot{width:36px;height:36px;border-radius:50%;background:var(--accent-light);color:var(--accent-3);font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.e-hist-info{flex:1;}
.e-hist-nom{font-size:16px;font-weight:600;color:var(--ink);margin-bottom:2px;}
.e-hist-meta{font-size:14px;color:var(--ink-3);}
.e-hist-total{font-family:'DM Serif Display',serif;font-size:23px;color:var(--accent-3);white-space:nowrap;}
.e-hist-empty{text-align:center;padding:40px 20px;color:var(--ink-3);font-size:15px;}

.est-layout{display:grid;grid-template-columns:1fr 360px;gap:22px;padding:24px;flex:1;align-items:start;overflow-y:auto;}
.est-card{background:var(--white);border:1px solid var(--paper-3);border-radius:var(--rlg);padding:24px;}
.est-card-title{font-family:'DM Serif Display',serif;font-size:21px;margin-bottom:4px;}
.est-card-sub{font-size:14px;color:var(--ink-3);margin-bottom:20px;}
.est-sec{font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);margin:18px 0 10px;padding-bottom:7px;border-bottom:1px solid var(--paper-2);}
.est-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px;}
.tog-grp{display:flex;border:1px solid var(--paper-3);border-radius:var(--r);overflow:hidden;}
.tog-btn{flex:1;padding:8px;border:none;background:var(--white);font-family:inherit;font-size:14px;cursor:pointer;color:var(--ink-3);border-right:1px solid var(--paper-3);transition:all .15s;}
.tog-btn:last-child{border-right:none;}
.tog-btn.active{background:var(--accent);color:#fff;font-weight:500;}
.prix-card{background:var(--accent);border-radius:var(--rlg);padding:24px;color:#fff;position:sticky;top:24px;}
.prix-lbl{font-size:13px;letter-spacing:.1em;text-transform:uppercase;opacity:.65;margin-bottom:16px;font-weight:500;}
.prix-total{font-family:'DM Serif Display',serif;font-size:46px;line-height:1;margin-bottom:4px;}
.prix-tps{font-size:13px;opacity:.5;margin-bottom:20px;}
.prix-div{border:none;border-top:1px solid rgba(255,255,255,.18);margin:16px 0;}
.prix-ligne{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;font-size:14px;}
.pl-lbl{opacity:.7;}
.pl-sub{opacity:.45;font-size:13px;}
.prix-note{margin-top:16px;padding:10px 12px;background:rgba(255,255,255,.1);border-radius:var(--r);font-size:13px;opacity:.8;line-height:1.5;}
.prix-actions{margin-top:16px;display:flex;flex-direction:column;gap:7px;}
.btn-w{background:#fff;color:var(--accent);border:none;padding:9px 16px;border-radius:var(--r);font-family:inherit;font-size:14px;font-weight:600;cursor:pointer;transition:opacity .15s;width:100%;}
.btn-w:hover{opacity:.9;}
.btn-wo{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.35);padding:8px 16px;border-radius:var(--r);font-family:inherit;font-size:14px;cursor:pointer;transition:background .15s;width:100%;}
.btn-wo:hover{background:rgba(255,255,255,.1);}
.bareme-wrap{background:var(--white);border:1px solid var(--paper-3);border-radius:var(--rlg);margin-top:18px;overflow:hidden;}
.bareme-hd{padding:13px 18px;border-bottom:1px solid var(--paper-2);display:flex;align-items:center;justify-content:space-between;}
.save-ind{font-size:13px;color:var(--accent);opacity:0;transition:opacity .3s;}
.save-ind.show{opacity:1;}
.bareme-table{width:100%;border-collapse:collapse;}
.bareme-table th{padding:8px 14px;font-size:11px;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:var(--ink-3);background:var(--paper-2);border-bottom:1px solid var(--paper-3);text-align:left;}
.bareme-table td{padding:8px 14px;border-bottom:1px solid var(--paper-2);font-size:15px;vertical-align:middle;}
.bareme-table tr:last-child td{border-bottom:none;}
.price-input{padding:4px 8px;border:1px solid var(--paper-3);border-radius:var(--r);font-family:inherit;font-size:14px;width:95px;text-align:right;background:var(--paper);color:var(--ink);outline:none;}
.price-input:focus{border-color:var(--accent);}
.tag{display:inline-block;padding:1px 7px;background:var(--paper-2);border-radius:3px;font-size:13px;color:var(--ink-3);}

/* ══ FORMATION ══ */
.form-layout{padding:24px;flex:1;overflow-y:auto;}
.proc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;margin-top:16px;}
.proc-card{background:var(--white);border:1px solid var(--paper-3);border-radius:var(--rlg);overflow:hidden;cursor:pointer;transition:border-color .15s,box-shadow .15s;}
.proc-card:hover{border-color:var(--accent-mid);box-shadow:0 2px 12px rgba(44,74,62,.08);}
.proc-card-head{padding:18px 18px 14px;border-bottom:1px solid var(--paper-2);}
.proc-card-icon{width:36px;height:36px;border-radius:var(--rlg);background:var(--accent-light);display:flex;align-items:center;justify-content:center;margin-bottom:10px;}
.proc-card-title{font-family:'DM Serif Display',serif;font-size:19px;color:var(--ink);margin-bottom:3px;}
.proc-card-sub{font-size:14px;color:var(--ink-3);}
.proc-card-footer{padding:10px 18px;display:flex;align-items:center;justify-content:space-between;}
.proc-detail{display:none;flex-direction:column;flex:1;}
.proc-detail.active{display:flex;}
.proc-back{display:flex;align-items:center;gap:6px;padding:10px 24px;background:var(--white);border-bottom:1px solid var(--paper-3);cursor:pointer;color:var(--accent);font-size:15px;font-weight:500;flex-shrink:0;}
.proc-back:hover{background:var(--paper);}
.proc-content{padding:24px;flex:1;overflow-y:auto;}
.proc-title{font-family:'DM Serif Display',serif;font-size:28px;margin-bottom:6px;}
.proc-desc{font-size:16px;color:var(--ink-3);margin-bottom:28px;}
.step-item{display:flex;gap:16px;margin-bottom:20px;align-items:flex-start;}
.step-num{width:30px;height:30px;border-radius:50%;background:var(--accent);color:#fff;font-size:15px;font-weight:600;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:1px;}
.step-body{flex:1;background:var(--white);border:1px solid var(--paper-3);border-radius:var(--rlg);padding:14px 16px;}
.step-title{font-size:16px;font-weight:600;color:var(--ink);margin-bottom:4px;}
.step-desc{font-size:15px;color:var(--ink-2);line-height:1.6;}
.step-video{margin-top:10px;background:var(--paper-2);border-radius:var(--r);padding:10px 14px;display:flex;align-items:center;gap:10px;cursor:pointer;border:1px solid var(--paper-3);transition:background .15s;}
.step-video:hover{background:var(--accent-light);}
.video-icon{width:28px;height:28px;border-radius:50%;background:var(--accent);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.add-step-btn{display:flex;align-items:center;gap:8px;padding:12px 16px;border:2px dashed var(--paper-3);border-radius:var(--rlg);color:var(--ink-3);cursor:pointer;font-size:15px;background:transparent;font-family:inherit;width:100%;transition:all .15s;margin-top:4px;}
.add-step-btn:hover{border-color:var(--accent-mid);color:var(--accent);background:var(--accent-light);}

/* ══ CENTRE INFO ══ */
.ci-layout{padding:24px;flex:1;display:flex;flex-direction:column;gap:0;overflow-y:auto;}
.ci-tabs{display:flex;gap:0;border-bottom:2px solid var(--paper-3);margin-bottom:18px;flex-shrink:0;}
.ci-tab{padding:9px 16px;font-size:15px;font-weight:500;cursor:pointer;color:var(--ink-3);border:none;background:none;border-bottom:2px solid transparent;margin-bottom:-2px;transition:all .15s;}
.ci-tab.active{color:var(--accent);border-bottom-color:var(--accent);}
.ci-pane{display:none;}
.ci-pane.active{display:block;}
.ordi-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px;margin-top:16px;}
.ordi-card{background:var(--white);border:1px solid var(--paper-3);border-radius:var(--rlg);padding:16px;cursor:pointer;transition:box-shadow .15s;}
.ordi-card:hover{box-shadow:0 2px 10px rgba(0,0,0,.07);}
.ordi-card-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;}
.ordi-card-body{display:flex;flex-direction:column;gap:4px;}
.ordi-id{font-weight:600;font-size:15px;color:var(--ink);}
.ordi-type{font-size:13px;color:var(--ink-3);}
.ordi-loc{font-size:14px;color:var(--ink-3);display:flex;align-items:center;gap:4px;}
.ordi-name{font-weight:600;font-size:16px;color:var(--ink);margin-bottom:2px;}
.ordi-user{font-size:14px;color:var(--accent-2);margin-bottom:10px;display:flex;align-items:center;gap:5px;}
.ordi-specs{display:flex;flex-direction:column;gap:5px;}
.ordi-spec-row{display:flex;gap:8px;font-size:14px;}
.ordi-spec-lbl{color:var(--ink-3);width:60px;flex-shrink:0;}
.ordi-spec-val{color:var(--ink-2);}
.ordi-status{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:20px;font-size:13px;font-weight:500;margin-top:10px;}
.os-ok{background:var(--success-bg);color:var(--success-text);}
.os-warn{background:var(--amber-light);color:var(--amber);}
.astuce-grid{display:flex;flex-direction:column;gap:10px;margin-top:0;}
.astuce-item{background:var(--white);border:1px solid var(--paper-3);border-radius:var(--rlg);overflow:hidden;}
.astuce-head{padding:13px 16px;display:flex;align-items:center;justify-content:space-between;cursor:pointer;user-select:none;}
.astuce-head:hover{background:var(--paper);}
.astuce-q{font-size:16px;font-weight:500;color:var(--ink);display:flex;align-items:center;gap:10px;}
.astuce-cat{display:inline-block;padding:2px 8px;border-radius:3px;font-size:12px;font-weight:500;background:var(--blue-light);color:var(--blue);}
.astuce-arrow{color:var(--ink-3);transition:transform .2s;font-size:14px;}
.astuce-item.open .astuce-arrow{transform:rotate(180deg);}
.astuce-body{display:none;padding:0 16px 14px;font-size:15px;color:var(--ink-2);line-height:1.7;border-top:1px solid var(--paper-2);}
.astuce-item.open .astuce-body{display:block;}
.search-ci{padding:8px 13px;border:1px solid var(--paper-3);border-radius:var(--r);background:var(--paper);font-family:inherit;font-size:15px;color:var(--ink);outline:none;width:300px;transition:border-color .15s;margin-bottom:14px;}
.search-ci:focus{border-color:var(--accent);}

/* ══ ADMIN ══ */
.admin-layout{display:flex;flex:1;min-height:0;}
.admin-sidenav{display:none;}
.asn-section{font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-4);padding:10px 18px 4px;}
.asn-item{display:flex;align-items:center;gap:9px;padding:8px 18px;cursor:pointer;font-size:15px;color:var(--ink-3);transition:all .15s;border-left:2px solid transparent;}
.asn-item:hover{background:var(--paper);color:var(--ink-2);}
.asn-item.active{color:var(--accent);font-weight:500;border-left-color:var(--accent);background:var(--accent-light);}
.asn-icon{width:14px;height:14px;flex-shrink:0;}
.admin-content{overflow-y:auto;padding:28px;}
.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:22px;}
.stat-card{background:var(--white);border:1px solid var(--paper-3);border-radius:var(--rlg);padding:16px 18px;}
.stat-val2{font-family:'DM Serif Display',serif;font-size:35px;color:var(--ink);line-height:1;margin-bottom:4px;}
.stat-lbl2{font-size:13px;color:var(--ink-3);}
.stat-sub2{font-size:13px;color:var(--ink-4);margin-top:2px;}
.col-item{display:flex;align-items:center;gap:10px;padding:9px 12px;background:var(--white);border:1px solid var(--paper-3);border-radius:var(--r);margin-bottom:6px;}
.col-drag{cursor:grab;color:var(--ink-4);font-size:19px;}
.col-name-span{flex:1;font-size:15px;color:var(--ink-2);}
.col-type-span{font-size:13px;color:var(--ink-4);background:var(--paper-2);padding:2px 7px;border-radius:3px;}
.col-req{font-size:13px;color:var(--accent-2);}
.tgl{position:relative;width:34px;height:20px;flex-shrink:0;}
.tgl input{opacity:0;width:0;height:0;position:absolute;}
.tgl-track{position:absolute;inset:0;background:var(--paper-3);border-radius:10px;cursor:pointer;transition:background .2s;}
.tgl input:checked+.tgl-track{background:var(--accent);}
.tgl-thumb{position:absolute;top:2px;left:2px;width:16px;height:16px;background:#fff;border-radius:50%;transition:transform .2s;pointer-events:none;}
.tgl input:checked~.tgl-thumb{transform:translateX(14px);}
.tag-list{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:10px;}
.tag-chip{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;background:var(--paper-2);border:1px solid var(--paper-3);border-radius:20px;font-size:14px;color:var(--ink-2);}
.tag-del{cursor:pointer;color:var(--ink-4);font-size:16px;line-height:1;transition:color .15s;}
.tag-del:hover{color:var(--red);}
.tag-add-row{display:flex;gap:8px;align-items:center;}
.tag-input{padding:6px 10px;border:1px solid var(--paper-3);border-radius:var(--r);font-family:inherit;font-size:14px;color:var(--ink);background:var(--paper);outline:none;flex:1;max-width:220px;transition:border-color .15s;}
.tag-input:focus{border-color:var(--accent);}
.data-table{width:100%;border-collapse:collapse;}
.data-table th{padding:9px 12px;text-align:left;font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);border-bottom:1px solid var(--paper-3);background:var(--paper-2);white-space:nowrap;}
.data-table td{padding:10px 12px;border-bottom:1px solid var(--paper-2);font-size:15px;color:var(--ink-2);vertical-align:middle;}
.data-table tr:last-child td{border-bottom:none;}
.data-table tbody tr:hover{background:var(--paper);}
.prix-row-a{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid var(--paper-2);}
.prix-row-a:last-child{border-bottom:none;}
.prix-lbl-a{flex:1;font-size:15px;color:var(--ink-2);}
.prix-input-a{padding:5px 9px;border:1px solid var(--paper-3);border-radius:var(--r);font-family:inherit;font-size:15px;width:110px;text-align:right;background:var(--paper);color:var(--ink);outline:none;}
.prix-input-a:focus{border-color:var(--accent);}
.proc-row-a{display:flex;align-items:center;gap:10px;padding:11px 14px;background:var(--white);border:1px solid var(--paper-3);border-radius:var(--rlg);margin-bottom:8px;}
.log-row{display:flex;gap:12px;padding:10px 0;border-bottom:1px solid var(--paper-2);align-items:flex-start;}
.log-row:last-child{border-bottom:none;}
.log-av{width:28px;height:28px;border-radius:50%;background:var(--accent);color:#fff;font-size:11px;font-weight:600;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.log-av.sys{background:var(--paper-3);color:var(--ink-3);}
.log-av.warn{background:var(--amber-light);color:var(--amber);}
.log-filter{display:flex;gap:6px;margin-bottom:16px;}
.log-filter-btn{padding:4px 11px;border-radius:20px;border:1px solid var(--paper-3);background:var(--white);font-family:inherit;font-size:13px;cursor:pointer;color:var(--ink-3);transition:all .15s;}
.log-filter-btn.active{background:var(--ink);color:#fff;border-color:var(--ink);}
.danger-zone{border:1px solid var(--red-mid);border-radius:var(--rlg);padding:18px 20px;background:var(--red-light);}
.danger-title{font-size:16px;font-weight:600;color:var(--red);margin-bottom:6px;}
.danger-desc{font-size:14px;color:var(--red);opacity:.8;margin-bottom:12px;line-height:1.5;}
.modal-plain{background:var(--white);border-radius:var(--rxl);box-shadow:0 16px 56px rgba(0,0,0,.2);width:480px;max-width:96vw;max-height:92vh;overflow:hidden;display:flex;flex-direction:column;}
.modal-head-plain{padding:18px 22px 14px;border-bottom:1px solid var(--paper-3);display:flex;align-items:center;justify-content:space-between;}
.modal-title-plain{font-family:'DM Serif Display',serif;font-size:23px;}
.modal-close-plain{background:none;border:none;cursor:pointer;color:var(--ink-3);font-size:23px;padding:2px 6px;border-radius:var(--r);}
.modal-body-plain{padding:20px 22px;}
.modal-foot-plain{padding:12px 22px;border-top:1px solid var(--paper-3);display:flex;justify-content:flex-end;gap:8px;background:var(--paper);}
.form-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:14px 18px;}
.form-full-2{grid-column:1/-1;}
.ci-admin-tabs{display:flex;gap:0;border-bottom:2px solid var(--paper-3);margin-bottom:18px;}
.ci-admin-tab{padding:8px 16px;font-size:15px;font-weight:500;cursor:pointer;color:var(--ink-3);border:none;background:none;border-bottom:2px solid transparent;margin-bottom:-2px;transition:all .15s;}
.ci-admin-tab.active{color:var(--accent);border-bottom-color:var(--accent);}

/* ══ MODAL HISTORIQUE ══ */
.hist-ov{display:none;position:fixed;inset:0;background:rgba(10,10,10,.45);z-index:400;align-items:center;justify-content:center;}
.hist-ov.open{display:flex;}
.hist-modal{background:var(--white);border-radius:var(--rxl);box-shadow:0 16px 56px rgba(0,0,0,.22);width:680px;max-width:96vw;max-height:90vh;display:flex;flex-direction:column;overflow:hidden;}
.hist-modal-head{background:var(--accent-3);padding:18px 24px 16px;display:flex;align-items:flex-start;justify-content:space-between;flex-shrink:0;}
.hist-modal-title{font-family:'DM Serif Display',serif;font-size:23px;color:#fff;margin-bottom:2px;}
.hist-modal-sub{font-size:14px;color:rgba(255,255,255,.55);}
.hist-modal-close{background:rgba(255,255,255,.15);border:none;cursor:pointer;color:#fff;font-size:21px;width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;}
.hist-modal-body{overflow-y:auto;flex:1;padding:20px 24px;}
.hist-modal-foot{padding:12px 24px;border-top:1px solid var(--paper-3);display:flex;justify-content:space-between;align-items:center;background:var(--paper);flex-shrink:0;}
.hist-section{font-size:11px;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:var(--ink-3);padding-bottom:7px;border-bottom:1px solid var(--paper-2);margin:16px 0 10px;}
.hist-section:first-child{margin-top:0;}
.hist-field-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px 20px;margin-bottom:14px;}
.hist-field{display:flex;flex-direction:column;gap:2px;}
.hist-field-l{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-4);font-weight:500;}
.hist-field-v{font-size:16px;color:var(--ink);}
.hist-ligne{display:flex;justify-content:space-between;align-items:baseline;padding:7px 10px;background:var(--paper);border-radius:var(--r);margin-bottom:5px;font-size:15px;}
.hist-ligne .hl{color:var(--ink-2);}.hist-ligne .hv{font-weight:500;color:var(--ink);}
.hist-total-row{display:flex;justify-content:space-between;align-items:baseline;padding:10px 10px;background:var(--accent-3);border-radius:var(--r);color:#fff;font-size:16px;font-weight:600;margin-top:8px;}
.hist-del-zone{background:var(--red-light);border:1px solid var(--red-mid);border-radius:var(--r);padding:14px 16px;}
.hist-del-t{font-size:15px;font-weight:600;color:var(--red);margin-bottom:6px;}
.hist-del-d{font-size:14px;color:var(--red);opacity:.8;margin-bottom:10px;line-height:1.5;}


/* ══ RÈGLES FRAIS DATE ══ */
.regle-row{display:grid;grid-template-columns:1fr 1fr 120px 40px;gap:8px;align-items:center;padding:10px 12px;background:var(--paper);border-radius:var(--r);border:1px solid var(--paper-3);margin-bottom:8px;}
.regle-lbl{font-size:13px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);margin-bottom:3px;}
.regle-del{width:32px;height:32px;border-radius:var(--r);border:1px solid var(--red-mid);background:var(--red-light);color:var(--red);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:19px;transition:background .15s;}
.regle-del:hover{background:var(--red-mid);}
.e-valid-err{background:var(--red-light);border:1px solid var(--red-mid);border-radius:var(--r);padding:10px 13px;margin-bottom:12px;font-size:15px;color:var(--red);line-height:1.6;}
@keyframes spin{to{transform:rotate(360deg);}}

/* ══ ACCUEIL ══ */
.acc-app-card{background:var(--white);border:1px solid var(--paper-3);border-radius:var(--rlg);padding:20px;cursor:pointer;transition:box-shadow .15s,transform .1s;display:flex;flex-direction:column;gap:6px;}
.acc-app-card:hover{box-shadow:0 4px 16px rgba(0,0,0,.08);transform:translateY(-2px);}
.acc-app-icon{width:36px;height:36px;background:var(--accent-light);border-radius:10px;display:flex;align-items:center;justify-content:center;margin-bottom:4px;}
.acc-app-icon svg{width:18px;height:18px;stroke:var(--accent-3);}
.acc-app-name{font-size:16px;font-weight:600;color:var(--ink);}
.acc-app-desc{font-size:14px;color:var(--ink-3);line-height:1.5;flex:1;}
.acc-app-stat{font-size:13px;color:var(--ink-4);margin-top:4px;}
.acc-app-bientot{opacity:.65;cursor:default;}
.acc-app-bientot:hover{border-color:var(--paper-3);box-shadow:none;}

/* ══ ORDI VIEW MODE ══ */
.ordi-view-mode .fctrl{background:transparent!important;border-color:transparent!important;padding-left:0!important;pointer-events:none;color:var(--ink);font-weight:500;cursor:default;}
.ordi-view-mode .fctrl:focus{outline:none!important;box-shadow:none!important;}
.ordi-view-mode .flbl{color:var(--ink-4);font-size:13px;}
.ordi-view-mode .ordi-note-zone .fctrl{background:var(--paper)!important;border-color:var(--paper-3)!important;padding-left:11px!important;pointer-events:auto;font-weight:400;cursor:text;}
.ordi-view-mode .ordi-note-zone select.fctrl{cursor:pointer;}
.ordi-view-mode .ordi-note-zone .fctrl:focus{outline:none!important;border-color:var(--accent)!important;box-shadow:none!important;}

/* ══ ÉQUIPE ══ */
.equipe-card{background:var(--white);border:1px solid var(--paper-3);border-radius:var(--rlg);padding:18px;display:flex;gap:14px;align-items:flex-start;transition:box-shadow .15s,border-color .15s;}
.equipe-card:hover{box-shadow:0 4px 14px rgba(0,0,0,.09);border-color:var(--accent-mid);}
.equipe-av{width:46px;height:46px;border-radius:50%;background:var(--accent-3);color:#fff;display:flex;align-items:center;justify-content:center;font-size:17px;font-weight:700;flex-shrink:0;}
.equipe-info{flex:1;min-width:0;}
.equipe-nom{font-size:17px;font-weight:600;color:var(--ink);margin-bottom:2px;}
.equipe-role{font-size:15px;color:var(--ink-3);margin-bottom:5px;text-transform:capitalize;}
.equipe-contact{display:block;font-size:13px;color:var(--ink-3);margin-top:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.equipe-contact a{color:var(--accent);text-decoration:none;}
.equipe-contact a:hover{text-decoration:underline;}
.equipe-ordis{display:flex;flex-wrap:wrap;gap:4px;margin-top:8px;}
.equipe-ordi-badge{font-size:11px;font-weight:500;padding:2px 7px;background:var(--paper-2);border:1px solid var(--paper-3);border-radius:4px;color:var(--ink-3);}

/* ══ ORDINATEUR HISTORIQUE ══ */
.ordi-log-entry{padding:10px 12px;background:var(--paper-2);border-radius:var(--r);margin-bottom:8px;border:1px solid var(--paper-3);}
.ordi-log-meta{display:flex;align-items:center;gap:10px;margin-bottom:5px;}
.ordi-log-date{font-size:13px;color:var(--ink-3);}
.ordi-log-auteur{font-size:13px;color:var(--ink-4);}
.ordi-log-texte{font-size:15px;color:var(--ink-2);line-height:1.5;}
.ordi-mse{font-size:14px;color:var(--ink-3);padding:10px 14px;background:var(--paper-2);border-radius:var(--r);border:1px solid var(--paper-3);}

/* ══ CI MULTI-PAGE ══ */
.ci-sub-nav{display:flex;gap:0;border-bottom:1px solid var(--paper-3);background:var(--white);padding:0 24px;flex-shrink:0;}
.ci-sub-item{padding:10px 16px;font-size:15px;font-weight:500;color:var(--ink-3);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;transition:color .15s;}
.ci-sub-item:hover{color:var(--ink);}
.ci-sub-item.active{color:var(--accent);border-bottom-color:var(--accent);}
.ci-sub-page{display:none;flex:1;flex-direction:column;min-height:0;}
.ci-sub-page.active{display:flex;}
.ci-gallery{display:flex;gap:16px;flex-wrap:nowrap;}
.ci-gallery-card{background:var(--white);border:1px solid var(--paper-3);border-radius:var(--rlg);padding:20px 24px;cursor:pointer;min-width:160px;display:flex;flex-direction:column;align-items:flex-start;gap:10px;transition:border-color .15s,box-shadow .15s;}
.ci-gallery-card:hover{border-color:var(--accent-mid);box-shadow:0 2px 8px rgba(0,0,0,.07);}
.ci-gallery-icon{color:var(--ink-2);}
.ci-gallery-name{font-size:16px;font-weight:600;color:var(--ink);}
.ci-gallery-count{font-size:14px;color:var(--accent);font-weight:500;}
.ci-section-title{font-family:'DM Serif Display',serif;font-size:22px;color:var(--ink);margin-bottom:16px;}
.ci-support-grid{display:flex;flex-direction:column;gap:12px;}
.ci-support-card{background:var(--white);border:1px solid var(--paper-3);border-radius:var(--rlg);padding:20px 22px;}
.ci-support-company{font-size:13px;font-weight:700;color:var(--ink);letter-spacing:.06em;text-transform:uppercase;margin-bottom:14px;}
.ci-support-contacts{display:flex;gap:0;flex-wrap:wrap;}
.ci-support-contact{flex:1;min-width:220px;padding:0 20px;}
.ci-support-contact:first-child{padding-left:0;}
.ci-contact-name{font-size:16px;font-weight:600;color:var(--ink);margin-bottom:2px;}
.ci-contact-role{font-size:14px;color:var(--ink-3);margin-bottom:8px;}
.ci-contact-info{display:flex;flex-direction:column;gap:3px;}
.ci-contact-info a{font-size:15px;color:var(--blue);text-decoration:none;}
.ci-contact-info a:hover{text-decoration:underline;}
.ci-support-divider{width:1px;background:var(--paper-3);flex-shrink:0;margin:4px 0;}
.ci-support-urgent{margin-top:16px;padding-top:14px;border-top:1px solid var(--paper-3);font-size:14px;color:var(--ink-3);display:flex;align-items:center;gap:7px;}

/* ── Coffre ──────────────────────────────── */
.pin-dot{width:14px;height:14px;border-radius:50%;border:2px solid var(--paper-3);background:var(--white);transition:all .15s;}
.pin-dot.filled{background:var(--accent);border-color:var(--accent);}
.pin-key{width:64px;height:64px;border-radius:14px;border:1px solid var(--paper-3);background:var(--white);font-size:22px;font-weight:500;color:var(--ink);cursor:pointer;transition:all .12s;font-family:inherit;}
.pin-key:hover{background:var(--accent-light);border-color:var(--accent-mid);}
.pin-key:active{transform:scale(.94);background:var(--accent-mid);}
.pin-key-ghost{font-size:18px;color:var(--ink-3);}
.coffre-tab{padding:8px 16px;border:none;background:none;border-radius:8px 8px 0 0;font-size:13px;font-weight:500;color:var(--ink-3);cursor:pointer;border-bottom:2px solid transparent;transition:all .15s;}
.coffre-tab.active{color:var(--accent);border-bottom-color:var(--accent);background:var(--accent-light);}
.coffre-row{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:10px;border:1px solid var(--paper-3);background:var(--white);margin-bottom:8px;cursor:pointer;transition:border-color .15s,box-shadow .15s;}
.coffre-row:hover{border-color:var(--accent-mid);box-shadow:0 1px 6px rgba(0,0,0,.06);}
.coffre-row-icon{width:36px;height:36px;border-radius:9px;background:var(--paper-2);display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:16px;}
.coffre-row-name{font-size:13.5px;font-weight:600;color:var(--ink);}
.coffre-row-sub{font-size:12px;color:var(--ink-3);margin-top:2px;}
.coffre-badge-partage{font-size:10px;font-weight:600;padding:2px 7px;border-radius:8px;background:var(--gold-light);color:var(--gold);margin-left:auto;flex-shrink:0;}
.coffre-group-header{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-3);padding:20px 0 6px;border-bottom:1px solid var(--paper-2);margin-bottom:8px;}
.coffre-group-header:first-child{padding-top:0;}
.coffre-section-header{font-size:13px;font-weight:700;color:var(--ink-2);padding:24px 0 10px;}
.coffre-card{padding:11px 13px!important;}
.mdp-proprio-opt{padding:8px 12px;font-size:13.5px;cursor:pointer;}
.mdp-proprio-opt:hover{background:var(--paper-2);}
@keyframes shake{0%,100%{transform:translateX(0)}25%{transform:translateX(-6px)}75%{transform:translateX(6px)}}
