:root{color-scheme:light;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:#f4f7fb;color:#172033;--nav: #0f2742;--blue: #2f80ed;--green: #16845b;--yellow: #b7791f;--red: #c53030;--muted: #667085;--line: #dbe3ef}*{box-sizing:border-box}body{margin:0}button,input,textarea{font:inherit}.shell{display:grid;grid-template-columns:280px minmax(0,1fr);min-height:100vh}.sidebar{background:var(--nav);color:#fff;padding:22px 16px;position:sticky;top:0;height:100vh;overflow:auto}.brand{display:flex;align-items:center;gap:12px;margin-bottom:22px}.brand strong{display:block;font-size:18px}.brand span{color:#bdd2ea;display:block;font-size:12px}.brand.large{color:var(--nav)}.brand.large span{color:var(--muted)}nav{display:grid;gap:14px}.nav-group{display:grid;gap:4px}.nav-group>span{color:#8fb0d1;font-size:11px;font-weight:800;letter-spacing:.08em;padding:4px 12px;text-transform:uppercase}nav button{align-items:center;background:transparent;border:0;border-radius:8px;color:#d9e7f5;cursor:pointer;display:flex;gap:10px;padding:10px 12px;text-align:left}nav button.active,nav button:hover{background:#183b61;color:#fff}main{min-width:0}.topbar{align-items:center;background:#fff;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;padding:18px 28px}.topbar h1{color:var(--nav);font-size:24px;margin:2px 0 0}.eyebrow{color:var(--blue);font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.user-chip{background:#f3f7fb;border:1px solid var(--line);border-radius:8px;padding:9px 12px;text-align:right}.user-area{align-items:center;display:flex;gap:8px}.icon-button{align-items:center;background:#fff;border:1px solid var(--line);border-radius:8px;color:var(--nav);cursor:pointer;display:inline-flex;height:40px;justify-content:center;width:40px}.user-chip span,.user-chip small{display:block}.user-chip small,.muted,.panel p,.list-item span,.risk-row p,.risk-row small,.feature span{color:var(--muted)}.page-grid,.content{padding:24px 28px}.page-grid{display:grid;gap:18px;grid-template-columns:minmax(0,1.4fr) minmax(320px,.8fr)}.summary-row{display:grid;gap:12px;grid-column:1 / -1;grid-template-columns:repeat(6,minmax(140px,1fr))}.kpi,.panel,.feature{background:#fff;border:1px solid var(--line);border-radius:8px}.kpi{padding:16px}.kpi span{color:var(--muted);display:block;font-size:13px}.kpi strong{color:var(--nav);display:block;font-size:28px;margin-top:8px}.panel{padding:18px}.panel.wide{min-height:320px}.panel-head{align-items:flex-start;display:flex;gap:16px;justify-content:space-between;margin-bottom:14px}.panel h2,.panel h3{color:var(--nav);margin:0 0 6px}.chart{height:250px}.heatmap{display:grid;gap:7px;grid-template-columns:repeat(5,1fr)}.heat-cell{align-items:center;border-radius:6px;color:#fff;display:flex;flex-direction:column;justify-content:center;min-height:58px}.heat-cell span{font-size:20px;font-weight:800}.heat-cell small{opacity:.88}.heat-bajo{background:#16845b}.heat-medio{background:#b7791f}.heat-alto{background:#d97706}.heat-critico{background:#c53030}.stack{display:grid;gap:10px}.list-item,.risk-row{align-items:center;border:1px solid var(--line);border-radius:8px;display:flex;gap:14px;justify-content:space-between;padding:12px}.list-item strong,.list-item span{display:block}.badge{border-radius:999px;display:inline-flex;font-size:12px;font-weight:700;padding:5px 9px;text-transform:capitalize;white-space:nowrap}.badge-bajo,.badge-implementado,.badge-aceptado{background:#e7f7ef;color:var(--green)}.badge-medio,.badge-en-progreso{background:#fff4dc;color:var(--yellow)}.badge-alto,.badge-pendiente{background:#eaf3ff;color:var(--blue)}.badge-critico,.badge-vencido{background:#ffe8e8;color:var(--red)}.risk-row h3{margin:0 0 6px}.risk-meta{align-items:flex-end;display:flex;flex-direction:column;gap:8px;min-width:150px}.table-wrap{overflow:auto}table{border-collapse:collapse;min-width:760px;width:100%}th,td{border-bottom:1px solid var(--line);padding:12px;text-align:left;vertical-align:top}th{color:var(--muted);font-size:12px;text-transform:uppercase}.feature-grid{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.feature{padding:14px}.feature strong,.feature span{display:block}.audit-summary{margin-bottom:18px}.audit-meta,.standard-row,.stage-metrics{display:flex;flex-wrap:wrap;gap:8px}.audit-meta span,.standard-row span,.stage-metrics span{background:#f3f7fb;border:1px solid var(--line);border-radius:999px;color:var(--muted);font-size:12px;font-weight:700;padding:6px 10px}.standard-row{margin-top:12px}.stage-grid{display:grid;gap:14px;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:18px}.assessment-panel{margin-top:18px}.stage-card{display:grid;gap:12px}.panel-head.compact{margin-bottom:0}.responsibility-grid{display:grid;gap:7px 12px;grid-template-columns:160px minmax(0,1fr)}.responsibility-grid span{color:var(--muted);font-size:12px;font-weight:700}.responsibility-grid strong{color:var(--nav);font-size:13px}.question-stack{display:grid;gap:12px}.question-card{align-items:flex-start;border:1px solid var(--line);border-radius:8px;display:grid;gap:16px;grid-template-columns:minmax(0,1fr) minmax(210px,280px);padding:14px}.question-card h3,.remediation-card h4{color:var(--nav);margin:4px 0 6px}.question-card p{color:var(--muted);margin:0}.question-result{align-items:flex-start;display:grid;gap:8px}.question-result span,.question-result small{color:var(--muted)}.question-result strong{color:var(--red)}.finding-row{align-items:flex-start}.remediation-board{align-items:start;display:grid;gap:14px;grid-template-columns:repeat(3,minmax(0,1fr))}.area-progress{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));margin-bottom:16px}.area-card{background:#f7fafe;border:1px solid var(--line);border-radius:8px;padding:12px}.area-card span,.area-card small{color:var(--muted);display:block;font-size:12px;font-weight:700}.area-card strong{color:var(--nav);display:block;font-size:24px;margin:4px 0}.remediation-column{background:#f7fafe;border:1px solid var(--line);border-radius:8px;display:grid;gap:10px;padding:12px}.column-head{align-items:center;display:flex;justify-content:space-between}.column-head h3{color:var(--nav);margin:0}.column-head span{color:var(--muted);font-size:12px;font-weight:700}.remediation-card{background:#fff;border:1px solid var(--line);border-radius:8px;display:grid;gap:12px;padding:12px}.compact-grid{grid-template-columns:92px minmax(0,1fr)}.checklist{border-top:1px solid var(--line);display:grid;gap:8px;padding-top:10px}.check-row{align-items:flex-start;color:var(--muted);display:grid;font-weight:600;gap:8px;grid-template-columns:16px minmax(0,1fr)}.check-row input{height:14px;margin:3px 0 0;padding:0;width:14px}.check-row span{line-height:1.35}.form-grid{display:grid;gap:14px;grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid .full{grid-column:1 / -1}label{color:var(--nav);display:grid;font-weight:700;gap:6px}input,textarea{border:1px solid var(--line);border-radius:8px;color:#172033;padding:11px 12px}textarea{min-height:90px;resize:vertical}.primary{background:var(--blue);border:0;border-radius:8px;color:#fff;cursor:pointer;font-weight:800;padding:12px 16px}.error{background:#ffe8e8;border:1px solid #ffc4c4;border-radius:8px;color:var(--red);padding:10px 12px}.result-grid{display:grid;gap:12px;grid-template-columns:160px 1fr}.clean-list{display:grid;gap:8px;padding-left:18px}.login-screen{align-items:center;background:#f4f7fb;display:grid;min-height:100vh;padding:24px;place-items:center}.login-panel{background:#fff;border:1px solid var(--line);border-radius:8px;max-width:460px;padding:28px;width:100%}.login-panel h1{color:var(--nav);margin-bottom:8px}.login-panel form{display:grid;gap:14px;margin:20px 0}.sso-button{align-items:center;display:flex;gap:8px;justify-content:center;margin:20px 0;width:100%}.app-loading{align-items:center;background:#f4f7fb;color:var(--nav);display:flex;font-weight:700;justify-content:center;min-height:100vh}@media(max-width:1100px){.summary-row{grid-template-columns:repeat(3,1fr)}.page-grid,.stage-grid,.remediation-board{grid-template-columns:1fr}}@media(max-width:820px){.shell{grid-template-columns:1fr}.sidebar{height:auto;position:static}nav{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}.topbar,.list-item,.risk-row{align-items:flex-start;flex-direction:column}.summary-row,.form-grid,.result-grid,.question-card,.responsibility-grid{grid-template-columns:1fr}}
