/* Repris de prototype/cabinet-prototype.html (maquette de référence). */
:root{
  --bg:#F7EEE8; --surface:#FFFDFC; --ink:#4A3B36; --ink-soft:#8C7972;
  --primary:#8F463E; --primary-tint:#F3DFDA;
  --coral:#B5716A; --coral-tint:#F1DAD5;
  --success:#8FA37E; --success-tint:#E7EEE1;
  --amber:#C9A15A; --amber-tint:#F4E9D6;
  --line:#EADDD3;
  --navy:#6B1F2E; --navy-soft:#80303F; --navy-text:#F6E4E4;
  --radius:10px;
  color-scheme:light;
}
*{box-sizing:border-box;}
html,body{height:100%;}
body{margin:0;background:var(--bg);color:var(--ink);font-family:'Source Sans 3',system-ui,sans-serif;font-size:15.5px;line-height:1.5;
  padding-top: env(safe-area-inset-top,0px); padding-bottom: env(safe-area-inset-bottom,0px);}
h1,h2,h3,.brand{font-family:'Source Serif 4',Georgia,serif;font-weight:600;}
.app{display:flex;min-height:100vh;}
.sidebar{width:220px;flex-shrink:0;background:var(--navy);border-right:1px solid var(--navy);padding:24px 16px;position:sticky;top:0;height:100vh;overflow-y:auto;}
.brand{font-size:13px;font-weight:600;margin:0 0 26px 2px;color:#fff;letter-spacing:0.02em;display:flex;align-items:center;gap:10px;line-height:1.25;}
.brand .brand-logo{width:38px;height:38px;border-radius:8px;background:rgba(255,255,255,.12);display:flex;align-items:center;justify-content:center;flex-shrink:0;overflow:hidden;}
.brand .brand-logo img{width:100%;height:100%;object-fit:contain;background:#fff;}
.nav-item{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:6px;cursor:pointer;color:var(--navy-text);font-weight:500;margin-bottom:4px;}
.nav-grp{font-size:10.5px;text-transform:uppercase;letter-spacing:0.07em;color:var(--navy-text);opacity:0.55;font-weight:600;margin:16px 4px 6px;}
.nav-grp:first-of-type{margin-top:4px;}
.nav-item svg{flex-shrink:0;opacity:0.85;}
.nav-item:hover{background:var(--navy-soft);}
.nav-item.active{background:rgba(255,255,255,.2);color:#fff;}
.nav-item.active svg{opacity:1;}
.main{flex:1;min-width:0;padding:32px 40px;}
.view{display:none;}
.view.active{display:block;}
.topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;gap:16px;flex-wrap:wrap;}
h1{font-size:24px;margin:0;}
.btn{background:var(--primary);color:#fff;border:1px solid var(--primary);padding:10px 18px;border-radius:8px;font-weight:600;cursor:pointer;font-size:14px;font-family:inherit;line-height:1.2;}
.btn:hover{background:#6F332D;border-color:#6F332D;}
.btn:disabled{opacity:.5;cursor:not-allowed;}
.btn-ghost{background:var(--surface);color:var(--ink);border:1px solid #C9B5AA;}
.btn-ghost:hover{background:var(--primary-tint);border-color:var(--primary);}
.btn-danger{background:#F8DDD8;color:#86281B;border:1px solid #E5B4AA;}
.btn-danger:hover{background:#F2C9C1;}
.btn-sm{padding:6px 12px;font-size:13px;}
.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:18px 20px;margin-bottom:12px;}
.dossier-row{display:flex;justify-content:space-between;align-items:center;cursor:pointer;border-left:4px solid var(--primary);padding:10px 16px !important;margin-bottom:6px !important;}
.dossier-row .dossier-title{font-size:14px;}
.dossier-row .dossier-meta{font-size:12px;margin-top:1px;}
.dossier-row:hover{background:#fdfdfc;}
.dossier-row.aj{border-left-color:var(--coral);}
.dossier-title{font-weight:600;font-size:15.5px;}
.dossier-meta{color:var(--ink-soft);font-size:13px;margin-top:3px;}
.pill{display:inline-block;padding:4px 11px;border-radius:20px;font-size:12px;font-weight:600;white-space:nowrap;}
.pill-attente-aj{background:var(--coral-tint);color:#9B3426;}
.pill-attente-provision{background:var(--amber-tint);color:#9A7B12;}
.pill-a-rediger{background:var(--primary-tint);color:#7A3029;}
.pill-attente-audience{background:#D5EFEF;color:#1E6F6F;}
.pill-en-redaction{background:#EADDF7;color:#4B2A78;}
.pill-attente-decision{background:#E3EEFB;color:#2A6FB0;}
.pill-terminee{background:#D5EFDF;color:#1E5A3A;}
.back-link{color:var(--ink-soft);cursor:pointer;font-size:14px;margin-bottom:16px;display:inline-block;}
.section-title{font-size:13px;text-transform:uppercase;letter-spacing:0.04em;color:var(--ink-soft);font-weight:600;margin:20px 0 10px;}
.stepper{display:flex;gap:6px;margin-bottom:20px;flex-wrap:wrap;}
.step{padding:7px 14px;border-radius:20px;font-size:13px;font-weight:600;background:var(--bg);color:var(--ink-soft);border:1px solid var(--line);}
.step.current{background:var(--primary);color:#fff;border-color:var(--primary);}
.step.done{background:var(--success-tint);color:#3E5B31;border-color:transparent;}
.checklist-item{display:flex;align-items:center;gap:10px;padding:9px 0;border-bottom:1px solid var(--line);}
.checklist-item:last-child{border-bottom:none;}
.checklist-item input[type=checkbox]{width:18px;height:18px;accent-color:var(--primary);flex-shrink:0;}
.checklist-item.done label{color:var(--ink-soft);text-decoration:line-through;}
.two-col{display:grid;grid-template-columns:1.3fr 1fr;gap:16px;}
@media (max-width:800px){.two-col{grid-template-columns:1fr;} .sidebar{display:none;}}
.field{margin-bottom:14px;}
.field label{display:block;font-size:13px;font-weight:600;color:var(--ink-soft);margin-bottom:5px;}
.field input,.field select,.field textarea{width:100%;padding:9px 11px;border:1px solid var(--line);border-radius:8px;font-family:inherit;font-size:14px;}
.field textarea{resize:vertical;}
.facture-line{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px dashed var(--line);font-size:14px;}
.facture-total{display:flex;justify-content:space-between;padding-top:10px;font-weight:700;font-size:16px;}
.badge-solde{padding:3px 10px;border-radius:6px;font-size:12px;font-weight:600;}
.solde-du{background:var(--coral-tint);color:#9B3426;}
.solde-soldee{background:var(--success-tint);color:#3E5B31;}
.empty{color:var(--ink-soft);font-size:14px;padding:16px 0;}
.dash-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin-bottom:24px;}
.dash-num{font-size:26px;font-weight:700;font-family:'Source Serif 4',Georgia,serif;color:var(--navy);}
.dash-label{font-size:13px;color:var(--ink-soft);margin-top:2px;}
.tag{display:inline-flex;align-items:center;gap:4px;font-size:12px;font-weight:600;margin-right:14px;}
.tag-AUD{color:#B8860B;} .tag-RDV{color:#3A7D2C;} .tag-DEL{color:#8E4FC4;} .tag-ADM{color:#B5258A;}
.tag-EXP{color:#2A8DB5;} .tag-AUDEX{color:#A8782F;} .tag-MEE{color:#8C9420;} .tag-DELIB{color:#3F6EA8;} .tag-PERSO{color:#5A6B72;}
.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;}
.cal-dow{font-size:12px;font-weight:600;color:var(--ink-soft);text-align:center;padding-bottom:4px;}
.cal-day{background:var(--surface);border:1px solid var(--line);border-radius:8px;min-height:74px;padding:6px;font-size:12px;}
.cal-day.empty{background:transparent;border:none;}
.cal-daynum{font-weight:600;color:var(--ink-soft);margin-bottom:4px;}
.cal-evt{border-radius:4px;padding:1px 5px;margin-bottom:2px;font-size:11px;font-weight:600;color:#fff;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.evt-AUD{background:#E2B33B;color:#3A2A00;} .evt-RDV{background:#3A7D2C;color:#fff;} .evt-DEL{background:#8E4FC4;color:#fff;} .evt-ADM{background:#B5258A;color:#fff;}
.evt-EXP{background:#5BC0EB;color:#06364A;} .evt-AUDEX{background:#C79A4B;color:#3A2600;} .evt-MEE{background:#D9E35A;color:#3B3F00;} .evt-DELIB{background:#3F6EA8;color:#fff;} .evt-PERSO{background:#5A6B72;color:#fff;}
.trame-card .step-row{display:flex;align-items:center;gap:8px;padding:6px 0;border-bottom:1px solid var(--line);font-size:14px;}
.trame-card .step-row:last-child{border-bottom:none;}
.step-num{color:var(--ink-soft);font-weight:600;min-width:20px;}
.trame-title-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;}
.trame-title{font-weight:700;}
.fact-table-row{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr 1fr 1fr;gap:8px;padding:9px 0;border-bottom:1px solid var(--line);font-size:13.5px;align-items:center;}
.fact-table-row.head{font-weight:600;color:var(--ink-soft);font-size:12px;text-transform:uppercase;}
.postit{background:#FFE066;border:2px solid #D9A400;color:#3A2A00;border-radius:8px;padding:14px;font-size:14px;position:relative;box-shadow:2px 3px 8px rgba(140,100,0,0.28);}
.postit textarea{background:transparent;border:none;width:100%;min-height:80px;font-family:inherit;font-size:14px;resize:vertical;}
.postit textarea:focus{outline:none;}
.postit-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
@media (max-width:600px){.postit-grid{grid-template-columns:1fr;}}
.postit-del{position:absolute;top:8px;right:10px;cursor:pointer;color:var(--ink-soft);font-weight:700;}
.tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);margin-bottom:20px;flex-wrap:wrap;}
.tab-btn{padding:10px 16px;background:none;border:none;font-family:inherit;font-size:14px;font-weight:600;color:var(--ink-soft);cursor:pointer;border-bottom:2px solid transparent;}
.mod-grille{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px;}
.mod-carte{border:1px solid var(--line);border-radius:12px;padding:12px;cursor:pointer;background:var(--surface);transition:box-shadow .15s,border-color .15s;}
.mod-carte:hover{border-color:var(--primary);box-shadow:0 4px 14px rgba(80,30,20,.15);}
.mod-carte-t{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;}
.mod-carte-b{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:8px;}
.mod-prev{height:330px;overflow:hidden;border:1px solid var(--line);border-radius:8px;background:#fff;position:relative;pointer-events:none;}
.mod-prev-in{transform:scale(.42);transform-origin:top left;width:238%;}
.mod-prev-g{height:620px;overflow:auto;pointer-events:auto;}
.mod-prev-g .mod-prev-in{transform:scale(.62);width:161%;}
.ed-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:20px;align-items:start;}
.ed-prev{position:sticky;top:0;}
@media (max-width:900px){.ed-grid{grid-template-columns:1fr;}.ed-prev{position:static;}}
.liste-grille{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:18px;margin-top:8px;}
.liste-ligne{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center;margin-bottom:5px;}
.liste-ligne input:disabled{opacity:.7;}
#view-parametres input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=range]),#view-parametres select,#view-parametres textarea{border:1px solid var(--line);border-radius:8px;padding:8px 11px;font-family:inherit;font-size:14px;background:#fff;color:var(--ink);min-height:36px;box-sizing:border-box;}
#view-parametres input:focus,#view-parametres select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-tint);}
#view-parametres input:disabled{background:var(--bg);color:var(--ink-soft);border-style:dashed;}
#view-parametres .liste-ligne{grid-template-columns:1fr auto;gap:10px;padding:2px 0;margin-bottom:6px;}
#view-parametres .liste-ligne input{width:100%;min-width:0;}
#view-parametres .liste-ligne .dossier-meta{background:var(--bg);border-radius:999px;padding:3px 9px;white-space:nowrap;}
#view-parametres .card{padding:22px 24px;}
#view-parametres .card h3,#view-parametres .card strong.sec{font-size:16px;}
.doc-tree{position:sticky;top:12px;align-self:start;padding:16px 14px;}
.doc-tree .tree-item{padding:12px 14px;font-size:15px;margin-bottom:4px;border-radius:9px;}
.doc-tree .tree-item.sub{margin-left:12px;font-size:14.5px;}
.doc-tree .btn{padding:10px;font-size:14px;}
.trame-sep{font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft);margin:6px 0 10px;font-weight:700;}
.trame-aj-note{font-size:13px;color:var(--ink-soft);margin:-4px 0 12px;}
.card.trame-aj-card,.card.trame-aj-row{border-left:4px solid #C9A15A;}
.aj-trame-box{border:1px solid #E5D3AC;background:#FBF5E8;border-radius:12px;padding:14px 16px;margin-bottom:14px;}
.aj-trame-box .etape{background:#fff;}
.tab-btn.active{color:var(--primary);border-bottom-color:var(--primary);}
.search-bar{display:flex;align-items:center;gap:8px;background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:9px 14px;margin-bottom:16px;max-width:380px;}
.search-bar input{border:none;outline:none;font-family:inherit;font-size:14px;flex:1;background:transparent;}
.ic{color:var(--ink-soft);}
.ajsum{display:flex;justify-content:space-between;align-items:center;}
.progress-outer{background:var(--bg);border-radius:20px;height:10px;overflow:hidden;margin-top:8px;}
.progress-inner{background:var(--success);height:100%;border-radius:20px;}
.tt-row{display:grid;grid-template-columns:100px 90px 1fr;gap:8px;padding:7px 0;border-bottom:1px solid var(--line);font-size:13.5px;}
.hist-item{padding:10px 0;border-bottom:1px solid var(--line);}
.hist-date{font-size:12px;color:var(--ink-soft);font-weight:600;}
.mail-item{padding:10px 0;border-bottom:1px solid var(--line);font-size:14px;}
.mail-item .m-from{font-weight:600;}
.mail-item .m-subj{color:var(--ink-soft);}
.notice{background:var(--primary-tint);color:var(--primary);border-radius:8px;padding:12px 14px;font-size:13.5px;margin-bottom:16px;}
.doc-row{display:grid;grid-template-columns:24px 1fr 100px auto;gap:10px;align-items:center;padding:9px 0;border-bottom:1px solid var(--line);font-size:14px;}
.doc-row:last-child{border-bottom:none;}
.doc-actions{display:flex;gap:6px;}
.doc-actions button:not(.btn){background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:6px;padding:4px 8px;cursor:pointer;font-size:13px;}
.doc-actions button:not(.btn):hover{background:var(--bg);}
.modal-overlay{position:fixed;inset:0;background:rgba(247,238,232,0.82);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;z-index:100;}
.modal-box{background:#fff;border:1px solid var(--line);box-shadow:0 18px 50px rgba(94,74,68,0.18);border-radius:12px;padding:28px;max-width:520px;width:90%;max-height:80vh;overflow:auto;}
.modal-box.large{max-width:800px;}
.modal-close{float:right;cursor:pointer;color:var(--ink-soft);font-weight:600;}
.audience-view{display:flex;align-items:center;gap:10px;}
.audience-badge{background:var(--success-tint);color:#3E5B31;padding:4px 10px;border-radius:6px;font-size:13px;font-weight:600;}
.dropzone{border:2px dashed var(--line);border-radius:10px;padding:20px;text-align:center;color:var(--ink-soft);font-size:14px;}
.dropzone.over{border-color:var(--primary);background:var(--primary-tint);}
.doc-split{display:grid;grid-template-columns:1fr 1.2fr;gap:16px;}
@media (max-width:800px){.doc-split{grid-template-columns:1fr;}}
.doc-row2{display:flex;align-items:center;gap:10px;padding:9px 6px;border-bottom:1px solid var(--line);cursor:pointer;border-radius:6px;font-size:14px;}
.doc-row2:hover{background:var(--bg);}
.doc-row2.selected{background:var(--primary-tint);}
.doc-row2:last-child{border-bottom:none;}
.acc-week{display:grid;grid-template-columns:repeat(7,1fr);gap:10px;}
.acc-week-card{background:transparent;border:none;box-shadow:none;padding:0;margin-bottom:20px;}
.acc-day{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:10px 8px;min-height:120px;font-size:12px;display:flex;flex-direction:column;}
.acc-day.today{border-color:var(--primary);border-width:2px;background:var(--primary-tint);box-shadow:0 2px 8px rgba(168,93,84,0.15);}
.acc-day .acc-dow{color:var(--ink-soft);font-weight:700;text-transform:uppercase;font-size:11px;letter-spacing:0.03em;}
.acc-day.today .acc-dow{color:var(--primary);}
.acc-day .acc-num{font-weight:700;font-size:17px;margin-bottom:8px;font-family:'Source Serif 4',Georgia,serif;}
.acc-evts{display:flex;flex-direction:column;gap:4px;flex:1;}
.acc-evts .cal-evt{cursor:pointer;font-size:11px;padding:4px 6px;line-height:1.3;}
.acc-evt-empty{color:var(--ink-soft);opacity:0.4;font-size:16px;text-align:center;padding-top:8px;}
.pi-band{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px;margin:0 0 16px;}
.pi-big{background:#FFE066;border:2px solid #D9A400;border-radius:10px;padding:14px 16px;box-shadow:2px 4px 10px rgba(140,100,0,.3);color:#3A2A00;transform:rotate(-.4deg);}
.pi-big .pi-txt{font-size:17px;font-weight:600;line-height:1.35;white-space:pre-wrap;}
.pi-big .pi-foot{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:10px;font-size:13px;}
.pi-big.pi-urgent{background:#FF9E80;border-color:#C4421A;box-shadow:2px 4px 12px rgba(190,50,10,.45);animation:piPulse 2.2s ease-in-out infinite;}
.pi-flag{display:block;background:#C4421A;color:#fff;font-size:12px;font-weight:800;letter-spacing:.04em;padding:2px 8px;border-radius:4px;margin-bottom:6px;width:fit-content;}
@keyframes piPulse{50%{box-shadow:2px 4px 18px rgba(220,50,10,.75);}}
.badge-pi{display:inline-block;background:#C4421A;color:#fff;font-size:11px;font-weight:800;padding:1px 7px;border-radius:10px;margin-left:6px;}
.postit-urgent{background:#FFAE94!important;border:2px solid #C4421A!important;box-shadow:2px 3px 8px rgba(160,50,10,0.3)!important;}
.postit-urgent .tag-ADM, .postit-urgent .tag-DEL{color:#7A2418;font-weight:700;}
.type-pill{display:inline-block;padding:3px 9px;border-radius:5px;font-size:11px;font-weight:700;color:#fff;white-space:nowrap;}
.jour-pill{display:inline-block;padding:3px 10px;border-radius:20px;font-size:11.5px;font-weight:700;}
.jour-bad{background:var(--coral-tint);color:#9B3426;}
.jour-warn{background:var(--amber-tint);color:#9A7B12;}
.jour-neutral{background:var(--bg);color:var(--ink-soft);}
tr.clickable{cursor:pointer;}
.prio-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;}
.prio-card{position:relative;background:#FFE066;border:1px solid #D9A400;border-top:5px solid #B88700;color:#3A2A00;border-radius:6px;padding:14px 16px;box-shadow:2px 4px 10px rgba(140,100,0,0.28);}
.prio-card.auto{background:#FFAE94;border-color:#C4421A;border-top-color:#9C2F0E;box-shadow:2px 4px 10px rgba(160,50,10,0.3);}
.prio-card .prio-txt{font-size:14.5px;font-weight:600;line-height:1.35;padding-right:48px;}
.prio-card .prio-tag{font-size:10.5px;text-transform:uppercase;letter-spacing:0.05em;color:#6B4A00;font-weight:700;margin-top:10px;display:block;}
.prio-card.auto .prio-tag{color:#7A200A;}
.prio-card .prio-actions{position:absolute;top:10px;right:10px;display:flex;gap:4px;}
.prio-card .prio-actions button{width:24px;height:24px;border-radius:5px;border:1px solid rgba(58,42,0,.35);background:rgba(255,255,255,.65);color:#3A2A00;cursor:pointer;font-size:12px;line-height:1;padding:0;}
.prio-card .prio-actions button:hover{background:#fff;}
.ech-row{padding:10px 0;border-bottom:1px dashed var(--line);cursor:pointer;}
.ech-row:last-child{border-bottom:none;}
.ech-row-top{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;}
.ech-titre{font-weight:600;font-size:14px;}
.date-pill{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;border-radius:20px;font-size:12px;font-weight:700;white-space:nowrap;}
.date-pill .d{width:6px;height:6px;border-radius:50%;background:currentColor;display:inline-block;}
.date-pill.bad{background:var(--coral-tint);color:#9B3426;}
.date-pill.warn{background:var(--amber-tint);color:#9A7B12;}
.date-pill.neutral{background:var(--bg);color:var(--ink-soft);}
.alerte-charge{display:flex;align-items:center;gap:10px;flex-wrap:wrap;border:1px solid var(--coral);border-radius:10px;padding:14px 18px;margin-bottom:16px;}
.grp-head{display:flex;justify-content:space-between;align-items:center;padding:12px 4px 8px;font-weight:700;font-size:14px;}
.grp-head:not(:first-child){margin-top:8px;}
.dot{width:7px;height:7px;border-radius:50%;display:inline-block;margin-right:6px;}
.dot-grey{background:#C8BBB3;}
.dot-aj{background:#9A5A3F;}
.dot-green{background:var(--success);}
.row-dossier-title{font-weight:700;}
.row-dossier-sub{color:var(--ink-soft);font-size:12px;margin-top:1px;}
.timeline{position:relative;padding-left:22px;}
.timeline::before{content:'';position:absolute;left:5px;top:4px;bottom:4px;width:2px;background:var(--line);}
.tl-item{position:relative;padding-bottom:18px;}
.tl-item:last-child{padding-bottom:0;}
.tl-dot{position:absolute;left:-22px;top:3px;width:11px;height:11px;border-radius:50%;background:var(--primary);border:2px solid var(--surface);box-shadow:0 0 0 1px var(--line);}
.tl-item.tl-AUD .tl-dot,.tl-item.tl-EXP .tl-dot,.tl-item.tl-DEL .tl-dot,.tl-item.tl-AUDEX .tl-dot,.tl-item.tl-MEE .tl-dot,.tl-item.tl-ADM .tl-dot,.tl-item.tl-RDV .tl-dot,.tl-item.tl-DELIB .tl-dot,.tl-item.tl-PERSO .tl-dot{background:var(--coral);}
.tl-item.tl-PAIEMENT .tl-dot{background:var(--success);}
.tl-item.tl-DOC .tl-dot{background:var(--amber);}
.tl-item.tl-NOTE .tl-dot{background:var(--ink-soft);}
.tl-date{font-size:11px;color:var(--ink-soft);text-transform:uppercase;letter-spacing:0.03em;font-weight:600;}
.tl-title{font-weight:700;font-size:14px;margin-top:2px;}
.tl-desc{color:var(--ink-soft);font-size:13px;margin-top:2px;}
.acc-link{cursor:pointer;}
.acc-link:hover{background:var(--bg);}
.acc-hero{text-align:left;margin-bottom:16px;padding:22px 26px;}
.acc-hero .acc-hero-num{font-family:'Source Serif 4',Georgia,serif;font-size:40px;font-weight:700;line-height:1.1;color:var(--navy);}
.acc-hero .acc-hero-label{font-size:13px;color:var(--ink-soft);margin-top:2px;}
.acc-hero .progress-outer{max-width:420px;margin-top:10px;}
.gsearch{position:relative;margin-bottom:20px;max-width:560px;}
.gsearch input{width:100%;padding:10px 14px 10px 38px;border:1px solid var(--line);border-radius:8px;font-family:inherit;font-size:14px;background:var(--surface);}
.gsearch .gs-ic{position:absolute;left:12px;top:9px;color:var(--ink-soft);}
#gs-results{position:absolute;top:100%;left:0;right:0;margin-top:4px;background:var(--surface);border:1px solid var(--line);border-radius:8px;box-shadow:0 8px 24px rgba(74,59,54,0.12);z-index:60;max-height:440px;overflow:auto;display:none;}
.gs-title{padding:8px 14px 4px;font-size:11px;text-transform:uppercase;letter-spacing:0.04em;color:var(--ink-soft);font-weight:600;background:var(--bg);}
.gs-item{padding:8px 14px;cursor:pointer;font-size:14px;border-bottom:1px solid var(--line);}
.gs-item:hover{background:var(--primary-tint);}
.gs-empty,.gs-more{padding:12px 14px;font-size:13px;color:var(--ink-soft);}
.tree-item{padding:8px 10px;border-radius:6px;cursor:pointer;font-size:14px;margin-bottom:2px;}
.tree-item.sub{margin-left:14px;font-size:13.5px;}
.tree-item:hover{background:var(--bg);}
.tree-item.active{background:var(--primary-tint);color:var(--primary);font-weight:600;}
.wizard-steps{display:flex;gap:2px;margin-bottom:24px;}
.wizard-step{flex:1;padding:14px 20px;background:var(--bg);color:var(--ink-soft);cursor:pointer;border-bottom:3px solid var(--line);}
.wizard-step strong{display:block;font-size:15px;}
.wizard-step.active{background:var(--primary-tint);color:var(--primary);border-bottom-color:var(--primary);}
.wizard-step.active strong{color:var(--primary);}
.coord-row{display:grid;grid-template-columns:140px 1fr 30px;gap:8px;align-items:center;margin-bottom:8px;}
.fact-ligne-row{display:grid;grid-template-columns:1.5fr 1fr 90px 20px;gap:8px;padding:7px 0;border-bottom:1px dashed var(--line);font-size:14px;align-items:center;}
.data-table{width:100%;border-collapse:collapse;font-size:13.5px;}
.data-table th{text-align:left;padding:9px 10px;border-bottom:2px solid var(--line);color:var(--ink-soft);font-weight:600;font-size:12px;text-transform:uppercase;white-space:nowrap;}
.data-table td{padding:9px 10px;border-bottom:1px solid var(--line);white-space:nowrap;}
.data-table tr:hover td{background:var(--bg);}
.paye-badge{display:inline-block;padding:3px 10px;border-radius:5px;font-size:12px;font-weight:700;color:#fff;min-width:42px;text-align:center;}
.row-avoir td{color:var(--coral);font-style:italic;}

.sel-inline{width:auto;padding:9px 10px;border:1px solid #C9B5AA;border-radius:8px;background:var(--surface);color:var(--ink);font-family:inherit;font-size:14px;}
.chips{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 14px;}
.chip{display:inline-flex;align-items:center;gap:7px;padding:6px 13px;border-radius:20px;border:1px solid #C9B5AA;background:var(--surface);color:var(--ink);font-size:13px;font-weight:600;cursor:pointer;font-family:inherit;}
.chip:hover{border-color:var(--primary);}
.chip.active{background:var(--primary);border-color:var(--primary);color:#fff;}
.chip .n{opacity:.75;font-weight:500;}
.chip .cdot{width:9px;height:9px;border-radius:50%;display:inline-block;}
.mini-bar{display:inline-block;width:64px;height:7px;background:var(--bg);border-radius:6px;overflow:hidden;vertical-align:middle;margin-right:6px;border:1px solid var(--line);}
.mini-bar>span{display:block;height:100%;background:var(--success);}
.tbl-card{overflow-x:auto;padding:6px 10px;}
.dossier-table{table-layout:fixed;width:100%;}
.dossier-table td{white-space:normal;overflow-wrap:break-word;vertical-align:top;padding:12px 10px;}
.dossier-table th:nth-child(1){width:7%;}.dossier-table th:nth-child(2){width:18%;}.dossier-table th:nth-child(3){width:10%;}.dossier-table th:nth-child(4){width:16%;}.dossier-table th:nth-child(5){width:10%;}.dossier-table th:nth-child(6){width:9%;}.dossier-table th:nth-child(7){width:14%;}.dossier-table th:nth-child(8){width:10%;}.dossier-table th:nth-child(9){width:7%;}
.dossier-table .ref-cell{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:13px;color:var(--ink-soft);}
.dossier-table th{white-space:normal;}
.grp-head .pill{font-size:12px;}

/* ---- Agenda v2 ---- */
.ag-legend{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px;}
.type-chip{border:1px solid rgba(0,0,0,.12);border-radius:999px;padding:4px 11px;font-family:inherit;font-size:12.5px;cursor:pointer;}
.type-chip.off{opacity:.35;text-decoration:line-through;}
.ag-filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px;align-items:center;}
#modele-list .doc-row2{display:flex;align-items:center;gap:14px;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:12px 16px;margin-bottom:10px;box-shadow:0 1px 2px rgba(74,59,54,.04);}
#modele-list .doc-row2 > div:nth-child(2){flex:1;min-width:0;}
#modele-list .doc-row2 .doc-actions{margin-left:auto;flex-shrink:0;}
#modele-list .doc-row2:hover{border-color:var(--coral);}
.pil-ctl .sel-inline,.ag-filters select,.ag-filters input,#mod-cat{height:42px;border-radius:10px;border-color:var(--line);}
.ag-filters select{border:1px solid var(--line);background-color:#fff;}
.sel-inline{border-color:var(--line);}
.ag-filters input.sin{padding:10px 14px 10px 40px;border:1px solid var(--line);border-radius:10px;background:#fff url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%238C7972' stroke-width='2' stroke-linecap='round'><circle cx='11' cy='11' r='7'/><path d='M20 20l-3.5-3.5'/></svg>") no-repeat 14px center;}
.ag-filters input,.ag-filters select{padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--ink);font-family:inherit;font-size:14px;}
.ag-card{padding:14px;}
.ag-toolbar{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;margin-bottom:12px;}
.ag-nav{display:flex;gap:6px;}
.ag-title{margin:0;font-size:21px;text-transform:capitalize;}
.ag-vues{display:flex;border:1px solid #C9B5AA;border-radius:8px;overflow:hidden;}
.ag-vues button{border:none;background:var(--surface);color:var(--ink);padding:7px 14px;font-family:inherit;font-size:14px;font-weight:600;cursor:pointer;border-right:1px solid #C9B5AA;}
.ag-vues button:last-child{border-right:none;}
.ag-vues button.on{background:var(--primary);color:#fff;}
.ag-month{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border-top:1px solid var(--line);border-left:1px solid var(--line);}
.ag-dow{padding:6px;font-size:12px;font-weight:700;text-transform:uppercase;color:var(--ink-soft);border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--bg);text-align:center;}
.ag-cell{min-height:118px;padding:4px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);cursor:pointer;overflow:hidden;}
.ag-cell:hover{background:var(--bg);}
.ag-cell.other{background:#F6F1EE;color:#9a8c85;}
.ag-cell.we{background:#FBF8F6;}
.ag-cell.today{background:#FFF4CC;}
.ag-dn{text-align:right;font-size:13px;font-weight:700;margin-bottom:3px;}
.ag-dn span{display:inline-block;min-width:24px;padding:1px 5px;border-radius:12px;text-align:center;}
.ag-dn span:hover{background:var(--primary-tint);}
.ag-cell.today .ag-dn span{background:var(--primary);color:#fff;}
.ag-chip{border-radius:4px;padding:2px 6px;margin-bottom:2px;font-size:12px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;}
.ag-chip .ag-l1,.ag-chip .ag-l2{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.ag-chip .ag-l2{font-size:10.5px;font-weight:500;opacity:.92;}
.ag-ev .ag-ev-sub{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.ag-tip{position:fixed;z-index:10001;display:none;background:#fff;color:#2B2220;border:1px solid #D9CCC5;border-radius:10px;box-shadow:0 8px 26px rgba(40,20,10,.28);padding:12px 14px;width:330px;max-width:calc(100vw - 24px);font-size:13px;pointer-events:none;line-height:1.4;}
.agt-titre{font-weight:700;font-size:15px;margin:4px 0 8px;}
.agt-r{display:grid;grid-template-columns:78px 1fr;gap:8px;padding:3px 0;border-top:1px solid #F0E8E3;}
.agt-r>span{color:#8C7972;font-size:12px;}
.agt-f{margin-top:8px;font-size:11px;color:#8C7972;font-style:italic;}
.ag-chip.done,.ag-ev.done{opacity:.5;text-decoration:line-through;}
.ag-more{font-size:12px;font-weight:700;color:var(--primary);padding:1px 4px;}
.ag-tg-wrap{overflow-x:auto;}
.ag-tg-head,.ag-allday,.ag-tg{display:grid;min-width:640px;}
.ag-tg-day{padding:6px;text-align:center;border-left:1px solid var(--line);cursor:pointer;font-size:13px;}
.ag-tg-day b{font-size:17px;}
.ag-tg-day.today b{background:var(--primary);color:#fff;border-radius:50%;padding:1px 7px;}
.ag-allday{border-top:1px solid var(--line);border-bottom:2px solid var(--line);}
.ag-ad-cell{border-left:1px solid var(--line);padding:3px;min-height:30px;cursor:pointer;}
.ag-hl{font-size:11px;color:var(--ink-soft);padding:6px 4px;text-align:right;}
.ag-hours div{font-size:11px;color:var(--ink-soft);text-align:right;padding-right:6px;box-sizing:border-box;border-top:1px solid var(--line);}
.ag-col{position:relative;border-left:1px solid var(--line);background-image:repeating-linear-gradient(to bottom,transparent 0,transparent 45px,var(--line) 45px,var(--line) 46px);cursor:pointer;}
.ag-col.today{background-color:#FFFAE6;}
.ag-ev{position:absolute;border-radius:5px;padding:2px 5px;font-size:12px;overflow:hidden;cursor:pointer;box-sizing:border-box;border:1px solid rgba(0,0,0,.15);}
.ag-ev-sub{font-size:11px;opacity:.85;}
.av-group{margin-bottom:14px;}
.av-ghead{display:flex;justify-content:space-between;align-items:center;font-weight:700;font-size:14px;margin:0 2px 6px;}
.av-ghead.bad{color:#9B3426;}
.av-card{padding:0;overflow:hidden;}
.av-row{display:flex;gap:14px;align-items:center;padding:10px 14px;border-bottom:1px solid var(--line);cursor:pointer;}
.av-row:last-child{border-bottom:none;}
.av-row:hover{background:var(--bg);}
.av-row.done{opacity:.55;}
.av-date{min-width:62px;text-align:center;font-size:12.5px;line-height:1.2;}
.av-date b{display:block;font-size:22px;font-family:'Source Serif 4',Georgia,serif;}
.av-date small{display:block;color:var(--ink-soft);}
.av-main{flex:1;min-width:0;}
.av-titre{font-weight:600;}
.av-side{display:flex;gap:8px;align-items:center;}
.swatch{width:22px;height:22px;border-radius:6px;border:1px solid rgba(0,0,0,.2);flex:none;}
.tab-badge{background:var(--primary);color:#fff;border-radius:10px;padding:0 7px;font-size:12px;margin-left:4px;}

/* ---- Étapes / dossier v2 ---- */
.band{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:10px 14px;margin-bottom:14px;}
.band-lab{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft);margin-right:4px;}
.mini-act{border:1px solid #C9B5AA;background:var(--surface);color:var(--primary);border-radius:6px;padding:3px 9px;font-family:inherit;font-size:12.5px;font-weight:600;cursor:pointer;}
.mini-act:hover{background:var(--primary-tint);}
.cat-pill{display:inline-block;border-radius:999px;padding:1px 9px;font-size:11.5px;font-weight:700;}
.etapes-list{margin-top:14px;display:flex;flex-direction:column;gap:8px;}
.etape{background:var(--surface);border:1px solid var(--line);border-left:4px solid #C9B5AA;border-radius:8px;padding:10px 12px;}
.etape.done{opacity:.65;border-left-color:#2F6B4F;}
.etape.cur{border-left-color:var(--primary);box-shadow:0 0 0 2px var(--primary-tint);}
.etape-head{display:flex;gap:10px;align-items:center;}
.etape-num{width:24px;height:24px;border-radius:50%;background:var(--bg);display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;flex:none;}
.etape-lab{flex:1;min-width:0;}
.etape-t{font-weight:600;}
.etape.done .etape-t{text-decoration:line-through;}
.etape-now{background:var(--primary);color:#fff;border-radius:999px;padding:1px 9px;font-size:11.5px;font-weight:700;}
.etape-act{display:flex;gap:6px;}
.etape-subs{margin:8px 0 2px 34px;display:flex;flex-direction:column;gap:4px;border-left:2px solid var(--line);padding-left:12px;}
.sub{display:flex;gap:8px;align-items:center;font-size:14px;cursor:pointer;}
.sub.done span:first-of-type{text-decoration:line-through;color:var(--ink-soft);}
.sub-x{margin-left:auto;color:var(--coral);opacity:.5;}
.sub-x:hover{opacity:1;}
.prochaine{border:2px solid var(--primary);background:var(--primary-tint);border-radius:8px;padding:10px 14px;}
.dp-box{display:flex;justify-content:space-between;gap:10px;align-items:center;border:1px dashed #C79A1E;background:#FFF6D6;border-radius:8px;padding:10px 12px;}
.dp-box.ok{border-color:#2F6B4F;background:#E3F3EA;}

.fact-filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;}
.fact-filters .field{margin:0;}
.fact-etats{display:flex;flex-wrap:wrap;gap:14px;align-items:center;margin-top:12px;font-size:14px;}
.fact-etats label{display:flex;gap:5px;align-items:center;cursor:pointer;}
.act-icons{display:inline-flex;gap:2px;}
.act-icons button{border:1px solid #C9B5AA;background:var(--surface);color:var(--ink);border-radius:6px;padding:3px 7px;cursor:pointer;font-size:14px;}
.act-icons button:hover{background:var(--primary-tint);}
.paye-badge{display:inline-block;border-radius:999px;padding:1px 9px;font-size:12px;font-weight:700;}

.tr-steps{display:flex;flex-direction:column;gap:8px;margin:12px 0;}
.tr-step{border:1px solid var(--line);border-left:4px solid var(--primary);border-radius:8px;padding:8px 10px;background:var(--surface);}
.tr-head{display:flex;gap:8px;align-items:center;flex-wrap:wrap;}
.tr-label{flex:1;min-width:200px;border:1px solid transparent;background:transparent;font-family:inherit;font-size:15px;font-weight:600;padding:5px 7px;border-radius:6px;color:var(--ink);}
.tr-label:hover,.tr-label:focus,.tr-sub input:hover,.tr-sub input:focus{border-color:#C9B5AA;background:#fff;}
.tr-cat{border:none;border-radius:999px;padding:3px 8px;font-family:inherit;font-size:12px;font-weight:700;}
.tr-sub{display:flex;gap:8px;align-items:center;}
.tr-sub input{flex:1;border:1px solid transparent;background:transparent;font-family:inherit;font-size:14px;padding:3px 7px;border-radius:6px;color:var(--ink);}
.tr-add{display:flex;gap:8px;flex-wrap:wrap;align-items:center;}
.tr-add input,.tr-add select{padding:8px;border:1px solid #C9B5AA;border-radius:8px;background:var(--surface);color:var(--ink);font-family:inherit;font-size:14px;}
code{background:var(--bg);padding:1px 5px;border-radius:4px;font-size:12px;}

.pil-cols{align-items:start;}
.aj-date{padding:3px 5px;border:1px solid var(--line);border-radius:6px;font-size:11.5px;width:112px;font-family:inherit;}
.aj-num{padding:3px 5px;border:1px solid var(--line);border-radius:6px;font-size:12px;width:84px;text-align:right;font-family:inherit;}
.aj-bar{padding:4px 22px 4px 7px;font-size:11.5px;height:30px;max-width:190px;margin-bottom:4px;}
.aj-dc{display:inline-block;min-width:78px;padding:5px 9px;border-radius:7px;cursor:pointer;font-size:13px;font-variant-numeric:tabular-nums;border:1px solid transparent;}
.aj-dc:hover{background:var(--primary-tint);border-color:var(--line);}
.aj-dc.vide{color:var(--ink-soft);text-align:center;}
.aj-mode{display:block;font-size:11px;color:var(--ink-soft);padding:0 9px;}
.aj-jal{display:flex;gap:4px;margin-bottom:5px;}
.aj-jal b{width:20px;height:20px;border-radius:50%;background:var(--line);color:var(--ink-soft);font-size:11px;display:flex;align-items:center;justify-content:center;font-weight:700;}
.aj-jal b.ok{background:#5E9A4B;color:#fff;}.aj-jal b.cur{background:#C9A15A;color:#fff;box-shadow:0 0 0 3px rgba(201,161,90,.3);}.aj-jal b.ko{background:#B5716A;color:#fff;}
.aj-next{font-size:12px;line-height:1.35;}
.aj-legende{display:flex;flex-wrap:wrap;gap:6px 16px;font-size:12px;color:var(--ink-soft);margin:0 0 12px;}
.aj-legende b{display:inline-flex;width:18px;height:18px;border-radius:50%;background:var(--line);align-items:center;justify-content:center;font-size:10.5px;margin-right:5px;color:var(--ink);}
.aj-sync{margin:8px 0;}.aj-sync-l{display:flex;align-items:center;gap:10px;padding:7px 0;border-bottom:1px solid var(--line);font-size:14px;}
.aj-ck{width:20px;height:20px;border-radius:6px;border:1.5px solid var(--line);display:inline-flex;align-items:center;justify-content:center;font-size:13px;color:#fff;flex:none;}.aj-ck.ok{background:#5E9A4B;border-color:#5E9A4B;}
.aj-chips{display:flex;gap:8px;flex-wrap:wrap;margin:6px 0 14px;}
.aj-chip{padding:6px 12px;border-radius:99px;border:1px solid var(--line);background:var(--surface);font-size:13px;cursor:pointer;font-weight:600;color:var(--ink-soft);}
.aj-chip.active{background:var(--primary);color:#fff;border-color:var(--primary);}
.mod-layout{display:grid;grid-template-columns:240px 1fr;gap:18px;align-items:start;}
.mod-main{min-width:0;}
.mt-ic{opacity:0;cursor:pointer;padding:0 3px;font-size:12px;color:var(--ink-soft);}
.mod-tree .tree-item:hover .mt-ic{opacity:.8;}
.mt-ic:hover{color:var(--primary);}
.mod-tree{padding:12px;position:sticky;top:12px;}
.mod-tree .tree-item{display:flex;align-items:center;gap:6px;margin-left:0;}
.mod-tree .tree-item .lbl{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.mod-tree .tree-item.active{background:var(--primary-tint);color:var(--primary);font-weight:600;}
@media(max-width:900px){.mod-layout{grid-template-columns:1fr;}.mod-tree{position:static;}}
.pil-card{padding:18px 22px;margin-bottom:18px;}
.pil-ctitle{font-size:16px;font-weight:700;margin-bottom:12px;color:var(--ink);display:flex;gap:10px;align-items:baseline;}
.pil-ctitle span{font-size:12px;font-weight:400;color:var(--ink-soft);}
.pil-hit:hover{fill:rgba(143,70,62,.07);}
.pil-leg{display:flex;gap:18px;justify-content:center;font-size:13px;margin-top:6px;flex-wrap:wrap;}
.pil-leg i{display:inline-block;width:14px;height:14px;border-radius:4px;vertical-align:middle;margin-right:6px;}
.pil-ctl{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin-bottom:10px;}
.hb-row{display:grid;grid-template-columns:minmax(110px,190px) 1fr 190px;gap:12px;align-items:center;margin:9px 0;font-size:14px;}
.hb-track{background:var(--line);border-radius:7px;height:16px;overflow:hidden;}
.hb-fill{height:100%;border-radius:7px;min-width:3px;}
.hb-val{white-space:nowrap;text-align:right;font-variant-numeric:tabular-nums;font-weight:600;}
.pil-chip{display:inline-block;padding:2px 9px;border-radius:99px;font-size:11px;font-weight:600;}
.chip-ok{background:var(--success-tint);color:#3E5A2E;}.chip-wait{background:var(--amber-tint);color:#6B4A00;}.chip-warn{background:var(--coral-tint);color:#8A2D20;}.chip-off{background:var(--line);color:var(--ink-soft);}
.btn-valider{background:#3E7D4F;color:#fff;border-color:#3E7D4F;}
.act-icons button.act-valider{background:#3E7D4F;color:#fff;border-color:#3E7D4F;font-weight:700;}
@media(max-width:700px){.hb-row{grid-template-columns:1fr;gap:3px;}}
.tr-cond{font-size:12px;padding:4px 6px;border:1px solid var(--line);border-radius:6px;background:var(--surface);color:var(--ink);}
.tr-head{flex-wrap:wrap;}
.prio-card.calme{border-top-color:var(--line);}
[class^=ic-]{flex:none;display:inline-block;width:15px;height:15px;vertical-align:-3px;margin-right:2px;background:currentColor;-webkit-mask:var(--m) center/contain no-repeat;mask:var(--m) center/contain no-repeat;}
button:empty+[class^=ic-]{margin:0;}
.doc-actions{flex-wrap:wrap;}
.doc-actions .btn{white-space:nowrap;}
.ic-stamp{--m:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 12c0-3 1-4 1-6a2 2 0 0 1 4 0c0 2 1 3 1 6'/%3E%3Cpath d='M5 12h14v4H5zM4 20h16'/%3E%3C/svg%3E");}
.ic-word{--m:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='16' rx='2'/%3E%3Cpath d='m7 9 2 6 3-6 3 6 2-6'/%3E%3C/svg%3E");}
.ic-eye{--m:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 12s3.6-7 10-7 10 7 10 7-3.6 7-10 7S2 12 2 12z'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3C/svg%3E");}
.ic-save{--m:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 3h11l4 4v14H5z'/%3E%3Cpath d='M8 3v6h7V3M8 21v-7h8v7'/%3E%3C/svg%3E");}
.ic-print{--m:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 9V3h10v6'/%3E%3Cpath d='M7 18H4v-8h16v8h-3'/%3E%3Cpath d='M7 14h10v7H7z'/%3E%3C/svg%3E");}
.ic-mail{--m:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='14' rx='2'/%3E%3Cpath d='m3 7 9 6 9-6'/%3E%3C/svg%3E");}
.ic-edit{--m:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 20h4L19 9l-4-4L4 16z'/%3E%3Cpath d='m13.5 6.5 4 4'/%3E%3C/svg%3E");}
.ic-trash{--m:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 7h16M9 7V4h6v3M6 7l1 13h10l1-13M10 11v6M14 11v6'/%3E%3C/svg%3E");}
.ic-download{--m:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 4v11m-5-4 5 5 5-5M5 20h14'/%3E%3C/svg%3E");}
.ic-file{--m:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 2h8l5 5v15H6z'/%3E%3Cpath d='M14 2v5h5M9 13h7M9 17h7'/%3E%3C/svg%3E");}

.fact-params{margin-top:18px;border-top:1px solid var(--line);padding-top:10px;font-size:12px;color:var(--ink-soft);}
.fact-params summary{cursor:pointer;font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;margin-bottom:8px;}
.fact-params .field label{font-size:11px;}
.fact-params input,.fact-params select{padding:5px 8px;font-size:12px;}
.fact-params .field{margin-bottom:8px;}
.fact-params .two-col{gap:10px;}
.pil-col:hover .pil-bar{opacity:.7;}
.pil-hit{cursor:default;}
.pil-h{display:flex;justify-content:space-between;align-items:baseline;border-bottom:1px solid var(--line);padding-bottom:12px;margin-bottom:14px;}
.pil-h h2{margin:0;font-size:19px;}
.pil-h span{font-size:12px;color:var(--ink-soft);}
.pil-tab{width:100%;border-collapse:collapse;font-size:14px;}
.pil-tab th{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);text-align:right;padding:6px 0;font-weight:600;}
.pil-tab th:first-child,.pil-tab td:first-child{text-align:left;}
.pil-tab td{padding:10px 0;border-bottom:1px dashed var(--line);text-align:right;font-variant-numeric:tabular-nums;}
.pil-tab tr.tot td{font-weight:700;border-bottom:none;padding-top:14px;}
.pil-neg{color:#9B3426;}.pil-pos{color:#4F6B3C;}
.pil-big{background:var(--success-tint);border:1px solid var(--line);border-radius:12px;padding:16px 20px;margin:16px 0;}
.pil-big .n{font-size:32px;font-weight:700;line-height:1.1;}
.pil-big p{margin:8px 0 0;font-size:13px;color:var(--ink-soft);}
.pil-acc{border-top:1px solid var(--line);}
.pil-acc summary{cursor:pointer;display:flex;justify-content:space-between;gap:12px;padding:12px 0;font-size:14px;list-style:none;}
.pil-acc summary::-webkit-details-marker{display:none;}
.pil-acc summary::before{content:"▸";color:var(--ink-soft);margin-right:8px;font-size:11px;}
.pil-acc[open] summary::before{content:"▾";}
.pil-acc summary b{margin-left:auto;}
.pil-acc .corps{padding:0 0 14px 20px;font-size:13px;color:var(--ink-soft);}
.pil-acc .corps .facture-line{color:var(--ink);}
.pil-note{font-size:12px;color:var(--ink-soft);margin-top:12px;line-height:1.5;}

html{color-scheme:light;}
input,select,textarea{background-color:#fff;color:var(--ink);}
select{-webkit-appearance:none;appearance:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'><path d='M1 1l5 5 5-5' fill='none' stroke='%238C7972' stroke-width='1.6'/></svg>");background-repeat:no-repeat;background-position:right 11px center;padding-right:32px !important;}
.sin{padding:10px 14px 10px 40px;border:1px solid var(--line);border-radius:10px;background:#fff url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%238C7972' stroke-width='2' stroke-linecap='round'><circle cx='11' cy='11' r='7'/><path d='M20 20l-3.5-3.5'/></svg>") no-repeat 14px center;font-family:inherit;font-size:14px;color:var(--ink);box-shadow:0 1px 2px rgba(74,59,54,.05);}
.sin::placeholder{color:#B09F98;}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--primary) !important;box-shadow:0 0 0 3px var(--primary-tint);}
.search-bar:focus-within{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-tint);}
.aj-steps{display:flex;gap:3px;min-width:110px;}.aj-steps i{flex:1;height:8px;border-radius:4px;background:var(--line);display:block;}
.aj-steps i.ok{background:#5E9A4B;}.aj-steps i.cur{background:#C9A15A;}.aj-steps i.ko{background:#B5716A;}
.dp{position:relative;}
.dp-q{padding-right:32px !important;}
.dp-x{position:absolute;right:6px;top:5px;border:0;background:none;color:var(--ink-soft);cursor:pointer;font-size:14px;padding:4px 6px;}
.dp-list{position:absolute;left:0;right:0;top:100%;margin-top:2px;z-index:20;background:#fff;border:1px solid var(--line);border-radius:8px;max-height:230px;overflow:auto;box-shadow:0 10px 28px rgba(94,74,68,0.18);}
.dp-it{padding:8px 12px;cursor:pointer;font-size:13.5px;border-bottom:1px solid var(--line);}
.dp-it:last-child{border-bottom:none;}
.dp-it:hover{background:var(--primary-tint);}
.dp-it small{color:var(--ink-soft);display:block;}

.trame-row{display:flex;align-items:center;gap:12px;cursor:pointer;padding:14px 18px !important;margin-bottom:8px !important;border-left:4px solid var(--primary);}
.trame-row:hover{background:var(--primary-tint);}
.trame-nom{font-size:16px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.trame-chev{color:var(--ink-soft);font-size:22px;line-height:1;}
.modal-box.tw{max-width:980px;width:94%;max-height:90vh;}
.tw-steps{display:flex;align-items:center;justify-content:center;gap:10px;margin:0 0 16px;}
.tw-st{display:flex;flex-direction:column;align-items:center;gap:4px;font-size:12px;color:var(--ink-soft);}
.tw-dot{width:30px;height:30px;border-radius:50%;background:#ddd;color:#777;display:flex;align-items:center;justify-content:center;font-weight:700;}
.tw-st.on .tw-dot,.tw-st.ok .tw-dot{background:var(--navy);color:#fff;} .tw-st.on{color:var(--ink);font-weight:600;}
.tw-line{width:70px;height:2px;background:var(--line);margin-bottom:18px;}
.tw-tools{display:flex;gap:8px;align-items:center;margin-bottom:10px;}
.tw-count{background:var(--primary-tint);border-radius:8px;padding:9px 14px;font-size:13.5px;}
.tw-list{max-height:46vh;overflow:auto;}
.tw-row{display:flex;align-items:center;gap:10px;padding:9px 10px;border-bottom:1px solid var(--line);background:#fff;}
.tw-row.off{background:#FFF9E6;} .tw-grip{cursor:grab;color:var(--ink-soft);}
.tw-num{width:64px;padding:7px;border:1px solid var(--line);border-radius:8px;text-align:center;font-weight:700;}
.tw-foot{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:14px;padding-top:12px;border-top:1px solid var(--line);}
.tw-cards{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:12px;}
.tw-card{position:relative;width:190px;height:120px;border:2px solid var(--line);border-radius:10px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;cursor:pointer;font-size:13px;text-align:center;padding:6px;}
.tw-card.sel{border-color:var(--navy);background:#faf5f5;} .tw-card.add{border-style:dashed;color:var(--ink-soft);}
.tw-check{position:absolute;right:8px;top:8px;background:var(--navy);color:#fff;border-radius:50%;width:20px;height:20px;font-size:12px;display:flex;align-items:center;justify-content:center;}
.tw-opts{display:flex;align-items:center;gap:10px;margin:6px 0 12px;font-size:13px;}
.tw-sw{width:24px;height:24px;border-radius:50%;cursor:pointer;border:3px solid #fff;box-shadow:0 0 0 1px var(--line);} .tw-sw.sel{box-shadow:0 0 0 2px var(--navy);}
.tw-adv{border:1px solid var(--line);border-radius:10px;padding:10px 14px;display:flex;flex-direction:column;gap:6px;font-size:13px;margin-bottom:12px;}
.tw-prev{background:#faf7f5;border-radius:10px;padding:12px 14px;}
.tw-prevhead{display:flex;align-items:center;gap:10px;margin-bottom:8px;font-size:13px;flex-wrap:wrap;}
.tw-tail{display:flex;align-items:center;gap:10px;margin-bottom:10px;font-size:13px;} .tw-tail input{flex:1;}
.tw-two{display:grid;grid-template-columns:1fr 330px;gap:18px;align-items:start;} @media (max-width:800px){.tw-two{grid-template-columns:1fr;}}
.tw-card{width:170px !important;}
.tw-page{position:relative;width:min(100%,300px);aspect-ratio:1/1.414;margin:0 auto;background:#fff center/contain no-repeat;border:1px solid var(--line);overflow:hidden;touch-action:none;}
.tw-pagetxt{position:absolute;left:12%;top:40%;right:12%;text-align:center;color:#bbb;font-size:15px;}
#tw-stamp{position:absolute;transform:translate(-50%,-50%);cursor:grab;user-select:none;}
.tw-exp{border:1px solid var(--line);border-radius:12px;padding:16px 20px;margin-bottom:12px;cursor:pointer;} .tw-exp:hover{border-color:var(--navy);}
.tw-reco{background:#222;color:#fff;border-radius:6px;font-size:10.5px;padding:2px 7px;vertical-align:middle;}
.exos{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:14px;margin-bottom:8px;}
.exo{background:var(--card,#fff);border:1px solid var(--line);border-radius:12px;padding:16px 18px;display:flex;flex-direction:column;gap:10px;cursor:pointer;}
.exo:hover,.exo.actuel{border-color:var(--primary);}
.exo.futur{opacity:.65;}
.exo-an{display:flex;align-items:center;gap:10px;}
.exo-an b{font-size:26px;font-weight:600;}
.exo-mont{font-size:19px;font-weight:600;margin-bottom:6px;}
.exo-ch{display:flex;flex-wrap:wrap;gap:4px 14px;font-size:12px;color:var(--ink-soft);}
.exo-ch b{color:var(--ink);}
.exo-pill{font-size:11px;font-weight:600;border-radius:999px;padding:2px 9px;background:var(--primary-tint);color:var(--primary);}
.exo-pill.clos{background:#E3EDDB;color:#4F6B3C;}
.exo-pill.futur{background:#EEE;color:#777;}
.exo-jauge{height:6px;border-radius:3px;background:var(--line);overflow:hidden;}
.exo-jauge i{display:block;height:100%;background:var(--primary);}
.exo-l{display:flex;align-items:center;gap:12px;padding:9px 0;border-top:1px solid var(--line);cursor:pointer;}
.exo-l:first-of-type{border-top:0;}
.mois-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:6px;align-items:end;}
.mois-c{text-align:center;min-width:0;}
.mois-b{height:74px;display:flex;align-items:flex-end;background:var(--primary-tint);border-radius:4px;overflow:hidden;}
.mois-b i{display:block;width:100%;background:var(--primary);opacity:.75;border-radius:3px;}
.mois-c b{display:block;font-size:10px;font-weight:600;margin-top:6px;white-space:nowrap;}
.mois-c small{display:block;font-size:10px;color:var(--ink-soft);}
