:root{--navy:#282762;--teal:#393687;--bg:#f7f7fb;--gray:#6d6d80;--line:#e2e3ef}
:root{--navy:#112e43;--teal:#098a92;--bg:#f5f8fa;--gray:#667685;--line:#dae4eb}*{box-sizing:border-box}body{margin:0;background:var(--bg);font:15px/1.5 system-ui,-apple-system,'Segoe UI',sans-serif;color:#183244}a{color:var(--teal);text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}.top{background:var(--navy);color:white;display:flex;align-items:center;gap:35px;padding:15px max(24px,calc((100vw - 1220px)/2));min-height:76px}.brand{color:white;display:flex;align-items:center;gap:11px;font-weight:800;letter-spacing:.06em;white-space:nowrap}.brand small{display:block;letter-spacing:.18em;font-size:9px;font-weight:600;color:#8eb2c3}.brand-mark{width:39px;height:39px;background:#117f88;border-radius:10px;display:grid;place-items:center;font-size:23px}.top nav{display:flex;gap:20px;flex:1}.top nav a{color:#d4e3eb}.logout{display:flex;align-items:center;gap:12px;font-size:13px;color:#d4e3eb}.logout button{background:transparent;color:white;border:1px solid #66869a;border-radius:8px;padding:7px 12px}.wrap{max-width:1220px;margin:34px auto 80px;padding:0 24px;min-height:70vh}.eyebrow{font-size:11px;font-weight:800;letter-spacing:.12em;color:var(--teal)}h1{font-size:31px;line-height:1.15;color:var(--navy);margin:9px 0 14px}h2{margin:35px 0 7px;color:var(--navy);font-size:23px}h3{margin:7px 0}.intro{padding:30px 0 20px}.intro p,.muted{color:var(--gray)}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.metric,.stagecard,.panel,.step,.casecard,.signoffs{background:white;border:1px solid var(--line);border-radius:14px}.metric{padding:21px}.metric span{display:block;color:var(--gray);font-size:13px}.metric strong{font-size:31px;color:var(--navy)}.progress{height:7px;border-radius:8px;background:#e3edf0;overflow:hidden;margin-top:12px}.progress i{display:block;background:var(--teal);height:100%;border-radius:8px}.stagegrid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin-top:24px}.stagecard{display:flex;flex-direction:column;gap:10px;padding:23px;color:var(--navy);min-height:162px;transition:transform .12s,box-shadow .12s}.stagecard:hover,.casecard:hover{transform:translateY(-2px);box-shadow:0 8px 25px #15394d14}.stagecard strong{font-size:18px}.stagecard .muted{font-size:12px}.filters{display:flex;gap:12px;flex-wrap:wrap;margin:22px 0}.filters input,.filters select,.filters button,input,select,textarea{border:1px solid #cbdbe4;border-radius:8px;padding:10px;background:white;max-width:100%}.filters input{flex:1}.filters button,.primary{background:var(--teal);color:white;border:0;border-radius:8px;padding:11px 20px;font-weight:700}.case-list{display:grid;gap:10px}.casecard{padding:17px 22px;display:flex;align-items:center;justify-content:space-between;color:inherit}.casecard h3{font-size:17px}.casecard p{margin:4px 0;color:var(--gray);font-size:13px}.bubble{width:56px;height:56px;border-radius:50%;background:#e7f5f6;color:var(--teal);display:grid;place-items:center;font-weight:800}.signoffs{padding:22px}.signoffs h3{margin:0}.signoffs p{color:var(--gray)}.signoffs .filters{margin-bottom:0}.back{display:inline-block;margin-bottom:20px}.detailhead{background:white;padding:25px 28px;border-radius:15px;border:1px solid var(--line)}.detailhead h1{margin:8px 0}.detailhead p{margin:6px 0;color:#4d6474}.detailhead code{background:#f3f7f9;padding:4px 8px;border-radius:5px}.step-list{display:grid;gap:17px}.step{padding:22px;display:flex;gap:20px}.step-number{border-radius:9px;background:#ecf6f7;color:var(--teal);font-weight:800;height:42px;min-width:42px;display:grid;place-items:center}.stepbody{flex:1}.step-action{font-size:16px;font-weight:700;margin:0 0 12px}.expected{background:#f1f6f8;padding:12px;border-radius:9px;margin-bottom:15px}.step label,.stack label,.login label{display:block;font-size:12px;font-weight:700;color:#486172}.step label input,.step label select,.step label textarea,.stack input,.stack select,.login input{width:100%;margin-top:5px}.resultrow{display:grid;grid-template-columns:220px 1fr;gap:15px;margin-bottom:12px}.savebar{display:flex;justify-content:space-between;gap:15px;align-items:end;margin:12px 0}.upload input{max-width:260px}.evidence{margin-top:12px;font-size:12px}.evidence a{margin-right:12px}.usercols{display:grid;grid-template-columns:1fr 1fr;gap:24px}.panel{padding:24px}.stack{display:grid;gap:12px}.userline{border-bottom:1px solid var(--line);padding:13px 0}.userline span{display:block;color:var(--gray);font-size:12px}.login{max-width:460px;margin:10vh auto;background:white;padding:38px;border:1px solid var(--line);border-radius:15px}.login form{display:grid;gap:20px;margin-top:23px}.message{padding:15px;border-radius:9px;margin-bottom:20px;background:#e6f5e7;color:#275735}.message.bad,.message.warn{background:#fff1db;color:#79500f}.empty{padding:40px;text-align:center;color:var(--gray)}footer{text-align:center;padding:26px;border-top:1px solid var(--line);color:var(--gray);font-size:12px}@media(max-width:850px){.metrics,.stagegrid{grid-template-columns:repeat(2,1fr)}.top{flex-wrap:wrap;gap:12px}.top nav{order:3;width:100%;overflow:auto}.usercols{grid-template-columns:1fr}}@media(max-width:570px){.wrap{margin:20px auto;padding:0 14px}.metrics,.stagegrid,.resultrow{grid-template-columns:1fr}.step{padding:15px;gap:11px}.savebar{flex-direction:column;align-items:stretch}.top{padding:12px 15px}.filters{display:grid}.logout{margin-left:auto}h1{font-size:25px}}

/* Identidad visual oficial Belgravia Group — actualización 2026 */
:root{--navy:#282762;--teal:#393687;--bg:#f7f7fb;--gray:#64677d;--line:#dfe1ed}
body{color:#282747}
.top{background:#fff;color:#282762;border-bottom:1px solid #e2e2ee;box-shadow:0 2px 14px rgba(40,39,98,.055);gap:30px}
.brand{color:#282762;gap:14px;letter-spacing:0}
.brand-logo{display:block;object-fit:contain;object-position:left center;width:204px;height:53px;max-width:100%}
.brand-caption{border-left:1px solid #d7d6e8;padding-left:13px;font-size:10px;font-weight:700;letter-spacing:.11em;color:#666388;line-height:1.5;white-space:normal;max-width:105px}
.top nav a{color:#45436f;font-weight:600;font-size:14px}
.top nav a:hover,.top nav a:focus-visible{color:#282762;text-decoration:underline;text-underline-offset:5px}
.logout{color:#555373}.logout button{color:#282762;border-color:#b7b5d4}.logout button:hover{background:#f1f0fa}
a{color:#35318a}a:hover{color:#25235f}
.eyebrow{color:#464292}.primary,.filters button{background:#282762;color:white}
.primary:hover,.filters button:hover{background:#3a368c}
.metric,.stagecard,.panel,.step,.casecard,.signoffs,.login,.detailhead{box-shadow:0 2px 12px rgba(40,39,98,.035)}
.progress{background:#e8e7f3}.progress i{background:#5550a6}
.bubble,.step-number{background:#eeedf9;color:#282762}
.expected,.detailhead code{background:#f2f1fa}
.filters input:focus,.filters select:focus,input:focus,select:focus,textarea:focus{outline:2px solid #a4a0db;outline-offset:1px;border-color:#7a75be}
.login{border-top:4px solid #282762}
@media(max-width:850px){.top{gap:10px}.brand-logo{width:168px;height:45px}.brand-caption{font-size:9px}.top nav{padding-top:5px}}
@media(max-width:570px){.brand-logo{width:142px;height:38px}.brand-caption{padding-left:8px;max-width:84px;font-size:8px}.top{align-items:center}}
