:root{color:#10223a;font-synthesis:none;background:#f3f7fc;font-family:Inter,ui-sans-serif,system-ui,sans-serif;line-height:1.55}*{box-sizing:border-box}body{margin:0}a{color:#1f5fae;text-underline-offset:3px}button,.button{font:inherit;color:#10223a;cursor:pointer;background:#fff;border:1px solid #d6e2f0;border-radius:8px;padding:9px 14px;text-decoration:none}button:hover{background:#e6f0fb}button:disabled{opacity:.5;cursor:wait}.primary{color:#fff;background:#1f5fae;border-color:#1f5fae}.primary:hover{background:#143560}.danger{color:#a63124}h1{margin:.6rem 0;font-size:2rem;line-height:1.2}h2{margin:0 0 1rem;font-size:1.2rem}h3{font-size:1rem}.topbar{background:#fff;border-bottom:1px solid #d6e2f0;align-items:center;gap:24px;padding:20px 32px;display:flex}.brand{color:inherit;align-items:center;gap:12px;margin-right:auto;font-weight:750;text-decoration:none;display:flex}.brand-mark{color:#fff;background:#1f5fae;border-radius:12px;place-items:center;width:44px;height:44px;font-size:26px;display:grid}.brand small{color:#5a6f8a;letter-spacing:1px;font-size:12px;font-weight:500;display:block}.app-shell{grid-template-columns:220px minmax(0,1fr);min-height:calc(100vh - 85px);display:grid}aside{background:#fff;border-right:1px solid #d6e2f0;padding:24px 16px}aside nav{gap:8px;display:grid}aside a{color:#5a6f8a;border-radius:8px;padding:10px 12px;text-decoration:none;display:block}.selected{font-weight:650;color:#143560!important;background:#e6f0fb!important}main{width:100%;max-width:1500px;margin:auto;padding:36px}.page-header,.section-heading{justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px;display:flex}.eyebrow{letter-spacing:1.5px;color:#1f5fae;font-size:11px;font-weight:750}.card{background:#fff;border:1px solid #d6e2f0;border-radius:14px;margin-bottom:24px;padding:24px}.table-wrap{padding:0;overflow:auto}table{border-collapse:collapse;text-align:left;width:100%;font-size:14px}th,td{vertical-align:top;border-bottom:1px solid #d6e2f0;padding:16px 20px}th{text-transform:uppercase;letter-spacing:.7px;color:#5a6f8a;background:#f3f7fc;font-size:11px}tr:last-child td{border-bottom:0}.badge{background:#eef3f2;border-radius:30px;padding:4px 10px;font-size:12px;display:inline-block}.badge.Valide{color:#10634b;background:#e1f3e8}.badge.Bloque{color:#a63222;background:#fff0ec}.filters,.actions{flex-wrap:wrap;align-items:end;gap:12px;margin-bottom:20px;display:flex}.actions{align-items:center;margin-top:16px}.actions a{margin-right:auto}.field{flex-direction:column;gap:7px;min-width:160px;font-size:13px;display:flex}.field input,.field select,.field textarea{font:inherit;color:#10223a;background:#fff;border:1px solid #d6e2f0;border-radius:7px;width:100%;max-width:100%;padding:10px 12px}.field input[type=checkbox]{accent-color:#1f5fae;width:20px;height:20px}.filters .field:first-child{flex:1}.form-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px;display:grid}.alert{color:#aa3627;background:#fff1ed;border:1px solid #f1b4a8;border-radius:8px;padding:16px}.tabs{flex-wrap:wrap;gap:8px;margin:24px 0;display:flex}.milestone-strip{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;display:grid}.milestone-strip>div{background:#fff;border:1px solid #d6e2f0;border-radius:10px;padding:16px}.milestone-strip strong{margin-bottom:10px;font-size:13px;display:block}.prewrap{white-space:pre-wrap;overflow-wrap:anywhere;min-width:120px;max-width:450px}.muted{color:#5a6f8a}.catalogue details{margin:16px 0}.catalogue li{margin-bottom:20px}.login-page{place-items:center;min-height:100vh;display:grid}.login-card{background:#fff;border:1px solid #d6e2f0;border-radius:18px;max-width:470px;padding:42px}.login-card p{color:#5a6f8a}.login-card button{margin-top:16px}summary{cursor:pointer;color:#1f5fae}:focus-visible{outline-offset:3px;outline:3px solid #5ea8e8}@media (width<=800px){.app-shell{grid-template-columns:1fr}aside{border-bottom:1px solid #d6e2f0;border-right:0;padding:12px}aside nav{display:flex;overflow:auto}aside a{white-space:nowrap}main{padding:20px}.topbar{gap:12px;padding:16px}.topbar>span{display:none}.page-header{align-items:start}h1{font-size:1.7rem}}@media print{aside,.topbar,button,.filters,.tabs{display:none!important}.app-shell{display:block}main{padding:0}.card{break-inside:avoid}.catalogue details>*{display:block}body{background:#fff}}aside{background:#0c2340}aside a{color:#c9dbf2}aside a.selected{color:#fff!important;background:#1f5fae!important}
