:root{--navy:#110d18;--navy-2:#24162d;--blue:#7b466f;--blue-soft:#f3eaf1;--cyan:#d4ac72;--ink:#201825;--muted:#796f7d;--line:#e8e0e8;--surface:#fff;--canvas:#f8f5f7;--green:#148568;--green-soft:#e6f5ef;--amber:#b8781f;--amber-soft:#fff3dc;--red:#c54f64;--red-soft:#fcebee;--violet:#6f477c;--gold:#d7ae70;--rose:#c86981;--shadow:0 18px 46px rgba(37,20,43,.09);--radius:20px;--radius-sm:12px}
*{box-sizing:border-box}html{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--canvas)}body{margin:0;min-height:100vh}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}small{color:var(--muted)}
.app-shell{display:grid;grid-template-columns:248px minmax(0,1fr);min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;padding:28px 18px 22px;background:linear-gradient(170deg,#07172f 0%,#0a2140 68%,#102f59 100%);color:#fff;display:flex;flex-direction:column;z-index:20;box-shadow:14px 0 42px rgba(7,23,47,.08)}.brand{display:flex;align-items:center;gap:13px;padding:0 9px}.brand-mark{display:grid;place-items:center;width:40px;height:40px;border-radius:13px;background:linear-gradient(145deg,#2e75ff,#35c3d6);font-size:22px;font-weight:900;box-shadow:0 9px 24px rgba(39,113,239,.34)}.brand strong{display:block;font-size:19px;letter-spacing:-.4px}.brand small{display:block;color:#8fa8c8;font-size:10px;margin-top:2px}.main-nav{display:flex;flex-direction:column;gap:6px;margin-top:42px}.main-nav a{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:11px;color:#aabbd2;font-size:14px;font-weight:650;transition:.2s}.main-nav a:hover{color:#fff;background:rgba(255,255,255,.06)}.main-nav a.active{color:#fff;background:linear-gradient(90deg,rgba(49,113,239,.95),rgba(35,137,216,.75));box-shadow:0 10px 26px rgba(22,94,212,.3)}.nav-icon{width:21px;text-align:center;font-size:18px}.sidebar-foot{margin-top:auto;padding:16px 10px 0;border-top:1px solid rgba(255,255,255,.09)}.sidebar-foot small{font-size:11px;color:#7893b5;line-height:1.5}.secure-chip{display:flex;align-items:center;gap:8px;font-size:11px;font-weight:700;color:#b8e8dc;margin-bottom:10px}.secure-chip span{width:7px;height:7px;border-radius:50%;background:#4ed2a8;box-shadow:0 0 0 4px rgba(78,210,168,.12)}
.workspace{min-width:0}.topbar{height:80px;background:rgba(255,255,255,.88);backdrop-filter:blur(18px);border-bottom:1px solid #e5ebf3;display:flex;align-items:center;justify-content:space-between;padding:0 32px;position:sticky;top:0;z-index:15}.dossier-switcher small,.dossier-switcher strong,.dossier-switcher span{display:block}.dossier-switcher small{font-size:10px;text-transform:uppercase;letter-spacing:.12em;font-weight:800}.dossier-switcher strong{font-size:14px;margin-top:2px}.dossier-switcher span,.dossier-switcher a{font-size:11px;color:var(--muted)}.user-menu{display:flex;align-items:center;gap:10px}.user-menu div strong,.user-menu div small{display:block;font-size:12px}.user-menu div small{text-transform:capitalize}.avatar{width:36px;height:36px;display:grid;place-items:center;border-radius:12px;background:var(--blue-soft);color:var(--blue);font-weight:850}.icon-button{border:0;background:transparent;color:var(--muted);width:34px;height:34px;border-radius:9px;display:grid;place-items:center}.icon-button:hover{background:#edf2f8;color:var(--ink)}.main-content{padding:32px;max-width:1680px;margin:0 auto}.mobile-only{display:none}
.page-heading,.report-toolbar{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:24px}.page-heading h1,.report-toolbar h1{font-size:28px;line-height:1.15;letter-spacing:-.8px;margin:5px 0 7px}.page-heading p,.report-toolbar p{margin:0;color:var(--muted);font-size:14px}.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:10px;font-weight:850;color:var(--blue)}.button{border:1px solid transparent;border-radius:10px;padding:10px 15px;font-size:13px;font-weight:750;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:.18s;white-space:nowrap}.button:hover{transform:translateY(-1px)}.button-primary{background:linear-gradient(135deg,#1d63ed,#287cdb);color:#fff;box-shadow:0 8px 22px rgba(29,99,237,.2)}.button-secondary{background:#fff;border-color:#d7e1ee;color:#193655}.button-ghost{background:transparent;color:var(--blue);padding:8px 10px}.button-danger{background:var(--red-soft);color:#b32d3a}.button-light{background:#fff;color:var(--navy)}.button-wide{width:100%;padding:13px}.button-row{display:flex;gap:9px;align-items:center}.card{background:var(--surface);border:1px solid rgba(213,224,237,.82);border-radius:var(--radius);box-shadow:var(--shadow);padding:22px}.card-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px}.card-heading h2,.card h2{font-size:18px;letter-spacing:-.35px;margin:4px 0}.narrow-card{max-width:600px}.alert{display:flex;gap:10px;align-items:center;padding:12px 15px;border-radius:11px;margin-bottom:18px;font-size:13px;font-weight:650}.alert span{width:22px;height:22px;border-radius:50%;display:grid;place-items:center}.alert-success{background:var(--green-soft);color:#087653}.alert-warning{background:var(--amber-soft);color:#8d5a00}.alert-error{background:var(--red-soft);color:#a82e3a}
.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:20px}.metric-card{background:#fff;border:1px solid #dfe7f0;border-radius:16px;padding:19px;display:flex;gap:15px;align-items:flex-start;box-shadow:0 8px 25px rgba(14,40,76,.055)}.metric-icon{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;font-size:20px;flex:0 0 auto}.metric-icon.blue{background:var(--blue-soft);color:var(--blue)}.metric-icon.green{background:var(--green-soft);color:var(--green)}.metric-icon.amber{background:var(--amber-soft);color:var(--amber)}.metric-icon.red{background:var(--red-soft);color:var(--red)}.metric-icon.violet{background:#eee9ff;color:var(--violet)}.metric-card small,.metric-card strong,.metric-card p{display:block}.metric-card strong{font-size:27px;line-height:1;margin:6px 0}.metric-card p{font-size:11px;color:var(--muted);margin:0}.content-grid{display:grid;gap:20px}.content-grid.two-thirds{grid-template-columns:minmax(0,2fr) minmax(280px,1fr)}.dark-card{background:linear-gradient(145deg,var(--navy),#153d6c);color:#fff;border:0}.dark-card .eyebrow{color:#7fd9e8}.detail-list{margin:24px 0}.detail-list div{display:flex;justify-content:space-between;gap:20px;padding:10px 0;border-bottom:1px solid rgba(255,255,255,.1)}.detail-list dt{color:#91a8c3;font-size:12px}.detail-list dd{margin:0;font-size:12px;font-weight:700;text-align:right}.step-list{display:flex;flex-direction:column}.step{display:grid;grid-template-columns:38px 1fr 20px;align-items:center;gap:14px;padding:13px 3px;border-top:1px solid #edf1f6}.step>span{width:32px;height:32px;border-radius:10px;background:#edf2f9;color:#75849a;display:grid;place-items:center;font-size:12px;font-weight:800}.step.done>span{background:var(--green-soft);color:var(--green)}.step strong,.step small{display:block}.step strong{font-size:13px}.step small{font-size:11px;margin-top:2px}.step>b{color:var(--blue)}.empty-hero{text-align:center;padding:60px 24px}.empty-hero .empty-icon{margin:0 auto 18px;width:64px;height:64px;border-radius:20px;background:var(--blue-soft);color:var(--blue);display:grid;place-items:center;font-size:25px;font-weight:800}.empty-hero h1,.empty-hero h2{margin:0 0 8px}.empty-hero p{max-width:520px;margin:0 auto 20px;color:var(--muted)}
.table-card{padding:0;overflow:hidden}.table-responsive{overflow:auto}.data-table{width:100%;border-collapse:collapse;font-size:13px}.data-table th{text-align:left;padding:13px 18px;background:#f7f9fc;color:#69788d;text-transform:uppercase;letter-spacing:.08em;font-size:9px}.data-table td{padding:15px 18px;border-top:1px solid #edf1f5}.data-table td strong,.data-table td small{display:block}.selected-row{background:#f3f7ff}.empty-cell{text-align:center;color:var(--muted);padding:40px!important}.pill{display:inline-flex;background:#edf2f8;padding:4px 8px;border-radius:20px;font-weight:750}.status{display:inline-flex;align-items:center;border-radius:20px;padding:5px 9px;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.status-pass{color:#087653;background:var(--green-soft)}.status-fail{color:#a52a36;background:var(--red-soft)}.status-warning{color:#8a5900;background:var(--amber-soft)}.status-pending{color:#65748a;background:#edf2f7}.modal{border:0;padding:0;border-radius:20px;background:transparent;box-shadow:0 28px 80px rgba(3,17,36,.3);width:min(720px,calc(100vw - 30px))}.modal::backdrop{background:rgba(5,20,40,.62);backdrop-filter:blur(5px)}.modal-card{background:#fff;padding:24px;border-radius:20px}.modal-head,.modal-actions{display:flex;justify-content:space-between;align-items:center}.modal-head h2{margin:4px 0 20px}.modal-actions{justify-content:flex-end;gap:10px;margin-top:22px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.span-2{grid-column:span 2}.form-grid label,.stack-form label,.report-nav label{font-size:11px;color:#52637a;font-weight:750}.form-grid input,.stack-form input,.report-nav input{display:block;width:100%;margin-top:6px;border:1px solid #cfdae7;background:#fbfcfe;border-radius:10px;padding:10px 11px;outline:0;color:var(--ink)}.form-grid input:focus,.stack-form input:focus,.report-nav input:focus{border-color:#75a3fa;box-shadow:0 0 0 3px rgba(29,99,237,.1);background:#fff}.stack-form{display:flex;flex-direction:column;gap:16px}
.info-banner,.warning-banner{display:flex;align-items:flex-start;gap:13px;border-radius:14px;padding:15px 18px;margin-bottom:20px}.info-banner{background:#eaf2ff;border:1px solid #cadcff}.warning-banner{background:#fff5db;border:1px solid #f2d98c}.info-banner>span,.warning-banner>span{width:26px;height:26px;display:grid;place-items:center;border-radius:50%;font-weight:850;flex:0 0 auto}.info-banner>span{background:#cfe0ff;color:var(--blue)}.warning-banner>span{background:#ffe6a2;color:#9a6500}.info-banner strong,.warning-banner strong{font-size:13px}.info-banner p,.warning-banner p{margin:3px 0 0;color:#536982;font-size:12px;line-height:1.5}.balance-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-bottom:20px}.balance-card{min-height:340px;display:flex;flex-direction:column}.period-chip{display:inline-flex;padding:4px 8px;background:#e9f0ff;color:var(--blue);border-radius:7px;font-size:11px;font-weight:850}.file-summary{display:flex;gap:13px;padding:14px;background:#f7f9fc;border-radius:12px}.file-icon{width:38px;height:38px;border-radius:10px;background:#e6f7f1;color:var(--green);display:grid;place-items:center}.file-summary strong,.file-summary small{display:block}.file-summary strong{font-size:13px}.file-summary small{font-size:11px;margin-top:4px}.mini-totals{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:15px 0}.mini-totals div{background:#f8fafc;padding:10px;border-radius:10px}.mini-totals small,.mini-totals strong,.mini-totals span{display:block}.mini-totals strong{font-size:14px;margin:3px 0}.mini-totals span{font-size:9px;color:var(--muted)}.balance-card .button-row{margin-top:auto}.upload-zone{flex:1;border:1.5px dashed #b8c8dc;border-radius:14px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:22px;background:#fafcff;transition:.2s}.upload-zone:hover{border-color:#6c99ef;background:#f3f7ff}.upload-zone>span{font-size:28px;color:var(--blue)}.upload-zone strong{margin:8px 0 4px}.upload-zone small{margin-bottom:15px}.hidden-upload{display:none}.process-flow{display:flex;align-items:center;justify-content:space-around;gap:14px}.process-flow div{text-align:center}.process-flow b{display:block;color:var(--blue);font-size:10px}.process-flow strong,.process-flow small{display:block}.process-flow strong{font-size:13px;margin:4px}.process-flow small{font-size:10px}.process-flow i{color:#9eacc0;font-style:normal}
.control-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:20px}.summary-card{border-radius:15px;padding:17px;background:#fff;border:1px solid var(--line)}.summary-card small,.summary-card strong,.summary-card span{display:block}.summary-card strong{font-size:25px;margin:5px 0}.summary-card span{font-size:10px;color:var(--muted)}.summary-card.green{border-top:3px solid var(--green)}.summary-card.amber{border-top:3px solid var(--amber)}.summary-card.red{border-top:3px solid var(--red)}.summary-card.navy{border-top:3px solid var(--navy)}.control-list{display:flex;flex-direction:column;gap:14px}.control-group{padding:0;overflow:hidden}.control-group-head{border:0;background:#fff;width:100%;padding:17px 20px;display:flex;align-items:center;justify-content:space-between;text-align:left}.control-group-head small,.control-group-head strong{display:block}.control-group-head strong{margin-top:3px}.control-group-body{border-top:1px solid #e8edf3}.collapsed .control-group-body{display:none}.control-item{display:grid;grid-template-columns:30px minmax(0,1fr) auto;gap:13px;padding:15px 20px;border-bottom:1px solid #edf1f5;border-left:3px solid transparent}.control-item:last-child{border-bottom:0}.control-state{width:25px;height:25px;border-radius:50%;display:grid;place-items:center;background:#edf2f7;color:#60738a;font-weight:800}.status-border-pass{border-left-color:var(--green)}.status-border-pass .control-state{background:var(--green-soft);color:var(--green)}.status-border-fail{border-left-color:var(--red)}.status-border-fail .control-state{background:var(--red-soft);color:var(--red)}.status-border-warning,.status-border-pending{border-left-color:var(--amber)}.status-border-warning .control-state,.status-border-pending .control-state{background:var(--amber-soft);color:var(--amber)}.control-item strong{font-size:13px}.control-item p{font-size:12px;color:var(--muted);margin:4px 0}.control-item code{font-size:9px;color:#77879b;background:#f1f4f8;padding:5px 7px;border-radius:6px;height:max-content}.control-item details{margin-top:8px}.control-item summary{font-size:11px;color:var(--blue);cursor:pointer}.control-item pre{max-height:260px;overflow:auto;background:#101f34;color:#d7e6f6;padding:12px;border-radius:9px;font-size:10px}
.report-toolbar{margin-bottom:16px}.report-layout{display:grid;grid-template-columns:230px minmax(0,1fr);gap:16px;align-items:start}.report-nav{background:#fff;border:1px solid var(--line);border-radius:15px;padding:14px;max-height:calc(100vh - 180px);overflow:auto;position:sticky;top:98px}.report-nav label{display:block;margin-bottom:13px}.report-nav section{border-top:1px solid #edf1f5;padding-top:10px;margin-top:10px}.report-nav h3{font-size:9px;text-transform:uppercase;letter-spacing:.1em;color:#8391a4;margin:3px 7px 6px}.report-link{display:block;padding:7px 8px;border-radius:8px;font-size:11px;color:#4d5f75}.report-link:hover{background:#f1f5fa}.report-link.active{background:var(--blue-soft);color:var(--blue);font-weight:800}.report-stage{min-width:0}.report-hint{font-size:10px;color:var(--muted);margin:0 0 8px 5px;display:flex;align-items:center;gap:7px}.legend-dot{width:9px;height:9px;border-radius:3px}.legend-dot.editable{background:#fff1a9;border:1px solid #dec95e}.legend-dot.formula{background:#e4efff;border:1px solid #a9c7fa}.warning-inline{margin-left:auto;color:#a36a00}.report-scroll{overflow:auto;background:#dfe5ec;border:1px solid #cad4e0;border-radius:13px;padding:14px;max-height:calc(100vh - 190px)}.report-canvas{display:grid;grid-template-columns:var(--sheet-columns);grid-template-rows:var(--sheet-rows);background:#fff;width:max-content;min-width:100%;box-shadow:0 5px 25px rgba(10,30,55,.14)}.report-cell{position:relative;overflow:hidden;padding:3px 5px;line-height:1.15;white-space:normal;background:#fff;font-size:10px;display:flex;align-items:center}.report-cell.role-header{background:#e6eef8;color:#15385f}.report-cell.role-formula{background:#f8fbff}.report-cell.border-top{border-top:1px solid #65758a}.report-cell.border-right{border-right:1px solid #65758a}.report-cell.border-bottom{border-bottom:1px solid #65758a}.report-cell.border-left{border-left:1px solid #65758a}.editable-cell{background:#fff6bd!important;box-shadow:inset 0 0 0 1px rgba(199,166,26,.24)}.sheet-input{width:100%;height:100%;border:0;outline:0;background:transparent;font:inherit;color:inherit;text-align:inherit;padding:0}.sheet-input:focus{background:#fff;box-shadow:0 0 0 2px var(--blue);border-radius:2px}.sheet-input.saving{opacity:.45}.sheet-input.saved{background:#dff7ed}.formula-warning{position:absolute;right:1px;top:1px;width:12px;height:12px;border-radius:50%;display:grid;place-items:center;background:var(--amber);color:#fff;font-size:8px;font-style:normal}.readiness{display:flex;justify-content:space-between;gap:30px;align-items:center;margin-bottom:20px}.readiness>div{display:flex;align-items:center;gap:16px}.readiness h2{margin:4px 0}.readiness p{font-size:12px;color:var(--muted);margin:0}.status-ring{width:56px;height:56px;border-radius:50%;display:grid;place-items:center;font-size:23px;font-weight:850}.status-ring.ready{background:var(--green-soft);color:var(--green)}.status-ring.not-ready{background:var(--amber-soft);color:var(--amber)}.readiness ul{display:flex;gap:8px;list-style:none;padding:0;margin:0;flex-wrap:wrap}.readiness li{padding:6px 9px;border-radius:20px;background:#f0f3f7;color:#748397;font-size:10px}.readiness li.done{background:var(--green-soft);color:var(--green)}.export-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.export-card{display:grid;grid-template-columns:55px 1fr;gap:16px}.export-card .button{grid-column:2;width:max-content}.export-icon{width:52px;height:52px;border-radius:15px;background:var(--blue-soft);color:var(--blue);display:grid;place-items:center;font-weight:850}.export-card h2{margin:0 0 6px}.export-card p{margin:0;color:var(--muted);font-size:12px;line-height:1.55}
.auth-body{background:var(--navy);color:#fff;overflow-x:hidden}.auth-atmosphere{position:fixed;inset:0;background:radial-gradient(circle at 15% 20%,rgba(28,105,231,.32),transparent 32%),radial-gradient(circle at 78% 80%,rgba(43,191,212,.15),transparent 30%),linear-gradient(120deg,#06142b,#0c284a)}.auth-shell{position:relative;z-index:1;min-height:100vh;display:grid;grid-template-columns:1fr minmax(400px,510px);gap:70px;align-items:center;max-width:1180px;margin:auto;padding:50px}.brand-large{padding:0}.brand-large .brand-mark{width:54px;height:54px;font-size:28px}.brand-large strong{font-size:28px}.brand-large small{font-size:13px;max-width:430px;margin-top:5px}.auth-proof{display:grid;grid-template-columns:auto 1fr;gap:4px 13px;margin-top:65px;max-width:380px}.auth-proof span{font-size:25px;font-weight:850;color:#75d5e5}.auth-proof p{margin:5px 0 16px;color:#8fa8c8;font-size:12px}.auth-card{background:rgba(255,255,255,.97);color:var(--ink);padding:38px;border-radius:25px;box-shadow:0 28px 90px rgba(0,0,0,.3)}.auth-card h1{font-size:30px;letter-spacing:-1px;margin:7px 0 9px}.auth-card>div>p{color:var(--muted);font-size:13px;line-height:1.55;margin-bottom:28px}.auth-note{text-align:center;color:var(--muted);font-size:10px;margin:16px 0 0}.toast-stack{position:fixed;right:22px;bottom:22px;z-index:100;display:flex;flex-direction:column;gap:8px}.toast{background:#112641;color:#fff;border-radius:10px;padding:11px 15px;font-size:12px;box-shadow:0 12px 30px rgba(0,0,0,.2);opacity:0;transform:translateY(8px);transition:.22s}.toast.visible{opacity:1;transform:none}.toast-error{background:#a82d39}
.print-body{background:#fff;color:#111;padding:20px;font-family:Arial,sans-serif}.print-header{display:flex;justify-content:space-between;border-bottom:2px solid #183b63;padding-bottom:8px;font-size:10px}.print-header strong,.print-header span{display:block}.print-title{text-align:center;font-size:18px;margin:16px}.print-report{overflow:visible}.print-footer{font-size:8px;color:#666;margin-top:12px;border-top:1px solid #ccc;padding-top:5px}
@media(max-width:1100px){.metric-grid{grid-template-columns:repeat(2,1fr)}.control-summary{grid-template-columns:repeat(2,1fr)}.report-layout{grid-template-columns:190px minmax(0,1fr)}.process-flow{flex-wrap:wrap}.process-flow i{display:none}}
@media(max-width:760px){.app-shell{display:block}.sidebar{position:fixed;left:-260px;width:248px;transition:.22s}.sidebar.open{left:0}.mobile-only{display:grid}.topbar{padding:0 15px}.dossier-switcher span{display:none}.user-menu>div{display:none}.main-content{padding:22px 15px}.page-heading,.report-toolbar{align-items:flex-start;flex-direction:column}.metric-grid,.balance-grid,.export-grid,.content-grid.two-thirds,.control-summary{grid-template-columns:1fr}.report-layout{display:block}.report-nav{position:static;max-height:240px;margin-bottom:12px}.form-grid{grid-template-columns:1fr}.span-2{grid-column:auto}.readiness{align-items:flex-start;flex-direction:column}.auth-shell{grid-template-columns:1fr;padding:22px}.auth-copy{display:none}.auth-card{padding:26px}.process-flow{display:grid;grid-template-columns:repeat(2,1fr)}}
@media print{.print-body{padding:0}.report-canvas{transform-origin:top left;box-shadow:none}.report-cell{font-size:8px!important}.sheet-input{font-size:8px}.print-footer{position:fixed;bottom:0;left:0;right:0}@page{size:A4 landscape;margin:8mm}}

/* Identité Odelya DSF : surcharge isolée pour préserver les composants métier. */
.app-shell{grid-template-columns:258px minmax(0,1fr)}
.sidebar{background:radial-gradient(circle at 18% 4%,rgba(144,83,126,.24),transparent 31%),linear-gradient(165deg,#211329 0%,#110d18 58%,#09070d 100%);box-shadow:16px 0 48px rgba(25,12,31,.12)}
.brand-logo{display:block;width:46px;height:46px;filter:drop-shadow(0 10px 18px rgba(0,0,0,.24));flex:0 0 auto}
.brand strong{font-size:21px;letter-spacing:-.55px}.brand small{color:#bcaebe;font-size:9px;letter-spacing:.09em}
.main-nav a{color:#c1b5c5}.main-nav a.active{background:linear-gradient(100deg,rgba(126,70,113,.96),rgba(183,92,120,.8));box-shadow:0 12px 28px rgba(119,55,104,.32)}.nav-icon{color:#e5c289}
.sidebar-foot small{color:#96869d}.topbar{border-bottom-color:#ece4eb}
.tenant-chip{max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border:1px solid #eadce6;background:#fbf7fa;color:#745469;border-radius:999px;padding:6px 10px;font-size:10px;font-weight:800}
.avatar{background:linear-gradient(145deg,#f2e6ee,#f7eddd)}
.button-primary{background:linear-gradient(135deg,#754267,#a65370);box-shadow:0 10px 24px rgba(116,55,99,.25)}
.dark-card{background:radial-gradient(circle at 90% 0,rgba(216,174,112,.18),transparent 35%),linear-gradient(145deg,#1c1023,#38203e)}.dark-card .eyebrow{color:#e4c48f}
.auth-body{background:#0b0810}.auth-atmosphere{background:radial-gradient(circle at 14% 16%,rgba(132,70,119,.42),transparent 34%),radial-gradient(circle at 84% 78%,rgba(210,161,101,.18),transparent 31%),linear-gradient(125deg,#09070d,#1c1024 58%,#0c0911)}
.brand-large .brand-logo{width:68px;height:68px}.brand-large strong{font-size:31px}.auth-proof span{color:#e0ba7c}.auth-card{box-shadow:0 34px 100px rgba(0,0,0,.38),0 0 0 1px rgba(216,174,112,.12)}
.confirm-modal{width:min(460px,calc(100vw - 30px))}.confirm-modal .modal-card{text-align:center;padding:34px}.confirm-modal h2{margin:8px 0}.confirm-modal p{color:var(--muted);font-size:13px;line-height:1.6}.confirm-modal .modal-actions{justify-content:center}.confirm-symbol{width:48px;height:48px;border-radius:16px;margin:0 auto 16px;display:grid;place-items:center;background:var(--red-soft);color:var(--red);font-size:24px;font-weight:900}
@media(max-width:760px){.app-shell{display:block}.tenant-chip{display:none}}

/* ==========================================================================
   ADMINISTRATION DES REFERENTIELS
   Les composants ci-dessous restent isolés afin qu'une évolution du moteur
   des états ne modifie pas involontairement les écrans d'administration.
   ========================================================================== */
.settings-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:12px}.settings-tab{display:block;padding:15px 16px;border:1px solid var(--line);border-radius:14px;background:#fff;transition:.18s}.settings-tab strong,.settings-tab small{display:block}.settings-tab strong{font-size:13px}.settings-tab small{font-size:10px;margin-top:4px}.settings-tab:hover{border-color:#d5b8cd;transform:translateY(-1px)}.settings-tab.active{color:#fff;border-color:transparent;background:linear-gradient(135deg,#5e3657,#9e536e);box-shadow:0 12px 28px rgba(98,49,86,.22)}.settings-tab.active small{color:#eadbe6}
.reference-version-bar{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:20px}.reference-version-bar span{font-size:9px;color:var(--muted);border:1px solid var(--line);background:#fbf9fb;border-radius:999px;padding:5px 9px}.reference-version-bar b{color:var(--ink);margin-left:4px}.reference-toolbar{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:14px}.reference-search{display:flex;align-items:center;gap:8px;min-width:min(620px,70%)}.reference-search input,.filter-input{width:100%;border:1px solid #d8cfd8;background:#fff;border-radius:10px;padding:10px 12px;outline:0}.reference-search input:focus,.filter-input:focus{border-color:#a4628b;box-shadow:0 0 0 3px rgba(126,70,113,.1)}
.reference-table td{vertical-align:middle}.reference-table .wide-cell{min-width:260px;max-width:520px;white-space:normal;line-height:1.45}.reference-table code{font-size:10px;white-space:pre-wrap;overflow-wrap:anywhere}.mono-value{font-family:"SFMono-Regular",Consolas,"Liberation Mono",monospace;letter-spacing:.03em}.tag-row{display:flex;gap:5px;flex-wrap:wrap}.mini-tag{display:inline-flex;padding:4px 7px;border-radius:999px;background:#efe9f0;color:#69475f;font-size:9px;font-weight:800}.mini-tag.ok{background:var(--green-soft);color:var(--green)}.mini-tag.danger{background:var(--red-soft);color:var(--red)}.mini-tag.muted{background:#f0f1f3;color:#7e8792}.scope-chip{display:inline-flex;padding:5px 8px;border-radius:8px;font-size:9px;font-weight:850;letter-spacing:.06em}.scope-chip.system{background:#201825;color:#e9c98f}.scope-chip.tenant{background:#f3eaf1;color:#7b466f}.pagination-line{display:flex;align-items:center;justify-content:space-between;color:var(--muted);font-size:11px;padding:12px 3px}.pagination-line>div{display:flex;align-items:center;gap:8px}.form-grid select,.form-grid textarea,.advanced-options select,.advanced-options input{display:block;width:100%;margin-top:6px;border:1px solid #cfdae7;background:#fbfcfe;border-radius:10px;padding:10px 11px;outline:0;color:var(--ink)}.form-grid textarea{resize:vertical}.check-line{display:flex!important;align-items:center;gap:8px;padding:9px 11px;border:1px solid #e4dce3;border-radius:10px;background:#fcfafc}.check-line input{width:auto!important;margin:0!important}.check-line:has(input:checked){background:#f5eaf1;border-color:#d7b9cd}
.report-admin-grid{display:grid;grid-template-columns:300px minmax(0,1fr);gap:16px;align-items:start}.sheet-admin-list{position:sticky;top:98px;padding:16px;max-height:calc(100vh - 120px);overflow:hidden;display:flex;flex-direction:column}.sheet-admin-list .card-heading{margin-bottom:10px}.sheet-admin-links{overflow:auto;margin-top:10px}.sheet-admin-item{display:flex;align-items:center;border-bottom:1px solid #eee8ed;border-radius:9px}.sheet-admin-item>a{min-width:0;flex:1;padding:9px}.sheet-admin-item strong,.sheet-admin-item small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sheet-admin-item strong{font-size:11px}.sheet-admin-item small{font-size:9px;margin-top:2px}.sheet-admin-item.active{background:#f3eaf1}.sheet-admin-item.active strong{color:#7b466f}
.advanced-control-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.advanced-control-card{padding:20px;border-top:4px solid #d7cbd4}.advanced-control-card.enabled{border-top-color:var(--green)}.advanced-control-card>form{height:100%;display:flex;flex-direction:column}.advanced-head{display:flex;justify-content:space-between;align-items:flex-start;gap:15px}.advanced-head h2{margin:5px 0 4px}.advanced-head code{font-size:9px;color:#7e6d7a}.advanced-control-card>form>p{font-size:12px;color:var(--muted);line-height:1.55}.control-rationale{display:grid;gap:8px;margin:10px 0 16px}.control-rationale div{padding:10px 11px;border:1px solid #eee8ed;background:#fcfbfc;border-radius:10px}.control-rationale b,.control-rationale span{display:block}.control-rationale b{font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:#7b466f}.control-rationale span{font-size:11px;line-height:1.5;margin-top:4px}.advanced-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;align-items:end;margin-top:auto}.advanced-options label{font-size:10px;font-weight:750;color:#625765}.advanced-options .button{min-height:39px}.switch{position:relative;display:inline-flex}.switch input{position:absolute;opacity:0}.switch span{width:46px;height:26px;border-radius:999px;background:#d7d0d6;position:relative;transition:.2s}.switch span:after{content:"";position:absolute;width:20px;height:20px;left:3px;top:3px;border-radius:50%;background:#fff;box-shadow:0 2px 8px rgba(0,0,0,.16);transition:.2s}.switch input:checked+span{background:var(--green)}.switch input:checked+span:after{transform:translateX(20px)}
@media(max-width:1100px){.settings-tabs{grid-template-columns:repeat(2,1fr)}.advanced-control-grid{grid-template-columns:1fr}.report-admin-grid{grid-template-columns:240px minmax(0,1fr)}}
@media(max-width:760px){.settings-tabs{grid-template-columns:1fr}.reference-toolbar,.pagination-line{align-items:stretch;flex-direction:column}.reference-search{min-width:0;width:100%}.report-admin-grid{display:block}.sheet-admin-list{position:static;max-height:360px;margin-bottom:14px}.advanced-options{grid-template-columns:1fr}}
