*{box-sizing:border-box;margin:0;padding:0}:root{--ink:#172033;--muted:#738095;--line:#eadfce;--navy:#111827;--green:#059669;--red:#dc2626;--gold:#b98935;--shadow:0 24px 70px rgba(45,35,20,.12);--r:26px}body{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Inter,Roboto,Arial,sans-serif;background:linear-gradient(135deg,#f7efe3 0%,#eef7fb 45%,#f8fbff 100%);color:var(--ink);min-height:100vh}.app{display:grid;grid-template-columns:280px 1fr;min-height:100vh}.side{padding:28px 22px;background:rgba(255,250,242,.74);backdrop-filter:blur(18px);border-right:1px solid rgba(185,137,53,.14);position:sticky;top:0;height:100vh}.brand{display:flex;gap:13px;align-items:center;margin-bottom:34px}.logo{width:44px;height:44px;border-radius:16px;background:linear-gradient(135deg,#0f172a,#0ea5e9);display:grid;place-items:center;color:white;font-weight:900}.brand h1{font-size:20px;letter-spacing:-.04em}.brand p,.muted{font-size:13px;color:var(--muted)}.nav{display:grid;gap:7px}.nav a{display:flex;gap:10px;color:#415064;padding:12px 13px;border-radius:15px;font-weight:800;font-size:14px;text-decoration:none}.nav a.active,.nav a:hover{background:white;color:var(--navy);box-shadow:0 10px 28px rgba(17,24,39,.07)}.private{position:absolute;bottom:22px;left:22px;right:22px;padding:16px;border-radius:20px;background:#111827;color:white}.private .small{font-size:12px;color:#cbd5e1;line-height:1.45;margin-top:6px}.main{padding:30px 36px 60px}.top{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:26px}.top h2{font-size:38px;letter-spacing:-.055em;line-height:1.02}.top p{color:var(--muted);margin-top:8px}.actions{display:flex;gap:10px;flex-wrap:wrap}.btn{border:0;border-radius:15px;padding:12px 16px;font-weight:900;cursor:pointer;background:var(--navy);color:white;box-shadow:0 14px 32px rgba(17,24,39,.18);text-decoration:none;display:inline-flex;align-items:center;justify-content:center}.btn.light{background:white;color:var(--ink);border:1px solid var(--line);box-shadow:none}.btn.red{background:#fee2e2;color:#991b1b;box-shadow:none;border:1px solid #fecaca}.kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:18px}.card{background:rgba(255,255,255,.84);border:1px solid rgba(234,223,206,.9);border-radius:var(--r);box-shadow:var(--shadow)}.kpi,.section{padding:22px}.label{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:900}.value{font-size:29px;font-weight:950;letter-spacing:-.045em;margin-top:9px}.trend{font-size:13px;margin-top:7px;color:var(--muted)}.green{color:var(--green)}.redText{color:var(--red)}.gold{color:var(--gold)}.grid{display:grid;grid-template-columns:1.15fr .85fr;gap:18px}.section h3{font-size:19px;letter-spacing:-.03em;margin-bottom:16px}.tableWrap{overflow:auto}.table{width:100%;border-collapse:collapse}td,th{padding:13px 6px;border-bottom:1px solid #efe6d9;text-align:left;font-size:14px;vertical-align:top}th{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}.amount{text-align:right;font-weight:950;white-space:nowrap}.pill{display:inline-flex;border-radius:999px;padding:6px 10px;background:#eff6ff;color:#1d4ed8;font-weight:900;font-size:12px}.pill.exp{background:#fff1f2;color:#be123c}.pill.pool{background:#ecfeff;color:#0e7490}.form{display:grid;gap:10px}.form input,.form select,.form textarea{width:100%;border:1px solid #e6dac8;border-radius:15px;padding:12px;background:white;color:var(--ink);font-size:14px}.form textarea{min-height:76px;resize:vertical}.two{display:grid;grid-template-columns:1fr 1fr;gap:10px}.bottom{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:18px}.doc{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #efe6d9;padding:12px 0;color:#4b5563;gap:12px}.doc b{color:var(--ink)}.bar{height:10px;border-radius:999px;background:#eef2f7;overflow:hidden;margin-top:10px}.bar i{display:block;height:100%;background:linear-gradient(90deg,#0ea5e9,#22c55e);border-radius:999px}.filters{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:12px}.filters input,.filters select{border:1px solid #e6dac8;border-radius:14px;padding:10px;background:white}.alert{display:flex;gap:12px;padding:14px;border-radius:18px;background:#fff7ed;border:1px solid #fed7aa;margin-bottom:10px}.dot{width:10px;height:10px;background:#f97316;border-radius:50%;margin-top:5px;flex:none}.notice{background:#ecfdf5;color:#065f46;border:1px solid #a7f3d0;padding:12px 14px;border-radius:16px;margin-bottom:16px;font-weight:800}.login{min-height:100vh;display:grid;place-items:center;padding:24px}.loginBox{width:min(460px,100%);padding:28px}.error{background:#fee2e2;color:#991b1b;border:1px solid #fecaca;padding:12px;border-radius:14px;margin-bottom:12px}.smallBtn{border:0;background:#fee2e2;color:#991b1b;border-radius:999px;padding:7px 10px;font-weight:900;cursor:pointer}@media(max-width:980px){.app{grid-template-columns:1fr}.side{position:relative;height:auto}.private{position:static;margin-top:24px}.kpis,.grid,.bottom{grid-template-columns:1fr}.top{display:block}.actions{margin-top:16px}.main{padding:22px}.side .nav{grid-template-columns:1fr 1fr}.two{grid-template-columns:1fr}}

/* Financement construction */
.finance-summary{margin-bottom:18px}.finance-form h4{margin:8px 0 2px;font-size:15px}.three{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.four{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.finance-table{max-height:72vh}.finance-table table{min-width:1500px}.finance-table th{position:sticky;top:0;z-index:2}.finance-table tfoot th{position:sticky;bottom:0;background:#111827;color:white}.row-actions{display:flex;gap:6px;align-items:center}.row-actions form{margin:0}.finance-row td{border-color:rgba(17,24,39,.12)}.finance-rose td{background:#f45dde33}.finance-pink td{background:#f08dbd44}.finance-peach td{background:#ffc7b544}.finance-blue td{background:#93c5fd55}.finance-lime td{background:#d9ff6655}.finance-mint td{background:#bbf7d055}.finance-aqua td{background:#5eead455}.finance-coral td{background:#ff8a8a55}.finance-gold td{background:#facc1555}.finance-teal td{background:#2dd4bf55}.finance-plain td{background:#fff}@media(max-width:900px){.three,.four{grid-template-columns:1fr}.finance-table{max-height:none}.finance-summary{grid-template-columns:1fr!important}}
