:root{--bg:#f5f7fb;--panel:#fff;--line:#e5e9f2;--text:#172033;--muted:#7a8499;--blue:#2563eb;--green:#059669;--orange:#c2410c;--red:#dc2626;--yellow:#b45309;--purple:#7c3aed;--shadow:0 10px 35px #0f172a0f;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input,select{font:inherit}.app-shell{background:var(--bg);min-height:100vh;display:flex}.sidebar{border-right:1px solid var(--line);background:#fff;width:280px;height:100vh;padding:22px 18px;position:sticky;top:0}.brand{align-items:center;gap:12px;margin-bottom:26px;display:flex}.logo{color:#fff;background:#111827;border-radius:14px;place-items:center;width:42px;height:42px;font-weight:800;display:grid}.brand strong{font-size:15px;display:block}.brand span{color:var(--muted);font-size:12px}nav{gap:8px;display:grid}nav a{text-align:left;cursor:pointer;color:inherit;background:0 0;border:1px solid #0000;border-radius:12px;padding:11px 12px;text-decoration:none;display:block}nav a strong{font-size:13px;display:block}nav a span{color:var(--muted);font-size:11px}nav a.active{color:#1d4ed8;background:#eff6ff;border-color:#bfdbfe}main{flex:1;min-width:0}.topbar{border-bottom:1px solid var(--line);background:#fff;justify-content:space-between;align-items:center;height:86px;padding:18px 28px;display:flex}h1{letter-spacing:-.02em;margin:0;font-size:22px}h2{margin:0;font-size:15px}p{margin:0}.topbar p,.section-header p{color:var(--muted);margin-top:4px;font-size:12px}.topbar-actions{align-items:center;gap:8px;display:flex}.pill{border:1px solid var(--line);color:var(--muted);background:#fff;border-radius:999px;padding:6px 9px;font-size:12px}.green-text{color:var(--green);border-color:#bbf7d0}button{border:1px solid var(--line);cursor:pointer;color:var(--text);background:#fff;border-radius:8px;padding:8px 10px}button.primary{color:#fff;background:#111827;border-color:#111827;margin-top:8px}.page-grid{gap:20px;padding:28px;display:grid}.kpi-grid{gap:14px;display:grid}.kpi-grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}.card{border:1px solid var(--line);min-height:98px;box-shadow:var(--shadow);background:#fff;border-radius:14px;padding:16px}.card-title{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:11px}.card-value{letter-spacing:-.03em;margin-top:8px;font-size:24px;font-weight:800}.card-sub{color:var(--muted);margin-top:4px;font-size:12px;line-height:1.4}.card.blue .card-value{color:var(--blue)}.card.green .card-value{color:var(--green)}.card.red .card-value{color:var(--red)}.card.purple .card-value{color:var(--purple)}.card.yellow .card-value{color:var(--yellow)}.alert{border-radius:14px;justify-content:space-between;align-items:center;gap:16px;padding:16px;display:flex}.alert strong{margin-right:8px}.alert span{color:#7f1d1d;font-size:13px}.alert.red{color:var(--red);background:#fef2f2;border:1px solid #fecaca}.alert.yellow{color:var(--yellow);background:#fffbeb;border:1px solid #fde68a}.alert.yellow span{color:#92400e}.alert.green{color:var(--green);background:#f0fdf4;border:1px solid #bbf7d0}.alert.green span{color:#065f46}.alert.blue{color:var(--blue);background:#eff6ff;border:1px solid #bfdbfe}.alert.blue span{color:#1e40af;font-size:13px}.split{gap:20px;display:grid}.split.two-one{grid-template-columns:2fr 1fr}.split.one-two{grid-template-columns:1fr 2fr}.split.equal{grid-template-columns:repeat(2,minmax(0,1fr))}.panel{background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:14px;overflow:hidden}.section-header{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:16px 18px;display:flex}.section-actions{flex-wrap:wrap;gap:8px;display:flex}.link-button{color:#1d4ed8;background:#eff6ff;border-color:#bfdbfe;font-size:12px;font-weight:700}.link-button.primary-link{color:#fff;background:#111827;border-color:#111827}table{border-collapse:collapse;width:100%;font-size:13px}th{text-align:left;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;background:#fbfcfe;font-size:11px}th,td{vertical-align:top;border-bottom:1px solid #edf0f6;padding:12px 14px}tr:last-child td{border-bottom:none}.strong{font-weight:700}.link{color:var(--blue);font-weight:700}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:12px}.positive{color:var(--red);font-weight:800}.negative{color:var(--blue);font-weight:800}td.inflow,.inflow{color:var(--green);font-weight:800}td.outflow,.outflow{color:var(--orange);font-weight:800}.badge{border-radius:999px;align-items:center;padding:4px 8px;font-size:11px;font-weight:800;display:inline-flex}.badge.ok,.badge.completed,.badge.conforme,.badge.low,.badge.no_action{color:#047857;background:#d1fae5}.badge.pending,.badge.queued,.badge.processing,.badge.medium,.badge.warning,.badge.proposed{color:#b45309;background:#fef3c7}.planned-subheader{border-bottom:1px solid var(--line);background:#fbfcfe;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;display:flex}.planned-subheader h3{margin:0;font-size:14px}.planned-main.full-width{border:1px solid var(--line);border-radius:14px;margin:18px;overflow:hidden}.history-filters label{color:var(--muted);text-transform:uppercase;gap:6px;font-size:11px;font-weight:800;display:grid}.history-filters input[type=date]{border:1px solid var(--line);border-radius:9px;padding:10px 12px}.badge.anomaly,.badge.failed,.badge.ecart,.badge.critical,.badge.high,.badge.ouvert,.badge.blocked,.badge.rejected{color:#b91c1c;background:#fee2e2}.badge.en_cours{color:#b45309;background:#fef3c7}.badge.resolu{color:#047857;background:#d1fae5}.badge.reouvert,.badge.retry{color:#c2410c;background:#ffedd5}.badge.approved{color:#1d4ed8;background:#dbeafe}.badge.executed{color:#047857;background:#d1fae5}.badge.shadow{color:#6d28d9;background:#ede9fe}.total-row{background:#f8fafc}.total-row td{border-top:2px solid var(--line);font-weight:800}.cell-sub{color:var(--muted);margin-top:4px;font-size:11px;font-weight:500;line-height:1.35}.planned-grid{grid-template-columns:1.5fr 1fr;gap:18px;padding:18px;display:grid}.planned-main{border:1px solid var(--line);border-radius:14px;overflow:hidden}.plan-row{border-bottom:1px solid #edf0f6;grid-template-columns:1fr auto;align-items:center;gap:16px;padding:14px 16px;display:grid}.plan-row:last-child{border-bottom:none}.plan-row strong{font-size:13px;display:block}.plan-row span{color:var(--muted);margin-top:3px;font-size:11px;display:block}.plan-row.highlight{background:#eff6ff}.plan-row.settlement-account{background:#f5f3ff}.plan-row.settlement-deficit{border-left:3px solid var(--red);background:#fef2f2}.operation-hero{background:linear-gradient(#fff7ed 0%,#ffedd5 100%);border-top:1px solid #fed7aa;border-bottom:1px solid #fed7aa;grid-template-columns:1fr auto;align-items:center;gap:16px;padding:14px 16px;display:grid}.operation-hero-kicker{color:#9a3412;text-transform:uppercase;letter-spacing:.05em;font-size:10px;font-weight:800;display:block}.operation-hero-direction{color:#7c2d12;margin-top:3px;font-size:13px;font-weight:800}.operation-hero-amount{letter-spacing:-.03em;color:#c2410c;white-space:nowrap;font-size:20px;font-weight:800}.plan-amount{letter-spacing:-.03em;white-space:nowrap;font-size:20px;font-weight:800}.plan-amount.negative{color:var(--red)}.plan-amount.movement.movement-in{color:var(--green)}.plan-amount.movement.movement-out{color:var(--orange)}.actions{white-space:nowrap;gap:6px;display:flex}.filters{border-bottom:1px solid var(--line);grid-template-columns:1fr 180px 180px auto;gap:10px;padding:14px 18px;display:grid}.filters input,.filters select{border:1px solid var(--line);border-radius:9px;padding:10px 12px}.settlement-filters,.safeguarding-filters{grid-template-columns:180px 180px auto}.safeguarding-movements-table td.negative{color:var(--red);font-weight:800}.safeguarding-movements-table tr.anomaly-row{background:#fff5f5}.safeguarding-movements-table tr.planned-row{background:#fffbeb}.empty-state{text-align:center;color:var(--muted);padding:32px 18px;font-size:13px}@media (max-width:1180px){.sidebar{width:230px}.kpi-grid.four,.split.two-one,.split.one-two,.split.equal,.planned-grid{grid-template-columns:1fr}.topbar{flex-direction:column;align-items:flex-start;gap:14px;height:auto}.filters{grid-template-columns:1fr}}
