:root{--ink:#14213d;--muted:#64748b;--line:#dbe4ee;--brand:#2357d9;--bg:#f4f7fb;--card:#fff}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,Segoe UI,Arial,sans-serif}.topbar{height:68px;padding:0 max(24px,calc((100% - 1120px)/2));background:#101a2e;color:#fff;display:flex;align-items:center;gap:30px}.brand{font-weight:800;font-size:20px;color:#fff;text-decoration:none}.topbar nav{display:flex;gap:20px;flex:1}.topbar nav a,.organization-context{color:#dbeafe;text-decoration:none}.organization-context{display:flex;align-items:center;gap:12px}.container{max-width:1120px;margin:auto;padding:42px 24px}.hero{text-align:center;max-width:720px;margin:45px auto}.hero h1,.page-heading h1{font-size:36px;margin:8px 0}.eyebrow{color:var(--brand);font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.muted,small{color:var(--muted)}.grid{display:grid;gap:20px}.grid.two{grid-template-columns:repeat(2,1fr)}.grid.three{grid-template-columns:repeat(3,1fr)}.grid.four{grid-template-columns:repeat(4,1fr)}.entity-layout{grid-template-columns:340px 1fr}.card,.metric{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:24px;box-shadow:0 10px 30px rgba(15,23,42,.05)}.card h2{font-size:19px}.metric span{display:block;color:var(--muted)}.metric strong{display:block;font-size:42px;margin-top:10px}.button{display:inline-block;border:0;border-radius:9px;padding:10px 16px;background:var(--brand);color:white;text-decoration:none;font-weight:700;cursor:pointer}.button.secondary{background:transparent;border:1px solid #64748b;padding:7px 11px}.page-heading,.split{display:flex;justify-content:space-between;align-items:center}.page-heading{margin-bottom:28px}.section{margin-top:25px}.list-row{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding:15px 0}.list-row small{display:block;margin-top:5px}.badge{display:inline-block;padding:5px 9px;border-radius:99px;background:#e2e8f0;font-size:12px}.badge.primary{background:#dbeafe;color:#1d4ed8}.badge.success{background:#dcfce7;color:#166534}.table-wrap{padding:0;overflow:hidden}table{width:100%;border-collapse:collapse}th,td{padding:15px 18px;text-align:left;border-bottom:1px solid var(--line)}th{font-size:12px;text-transform:uppercase;color:var(--muted);background:#f8fafc}.empty{text-align:center;color:var(--muted);padding:35px}.form{max-width:850px}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}label{display:block;font-weight:700;font-size:14px;margin-top:14px}input,select{display:block;width:100%;margin-top:7px;padding:11px;border:1px solid #cbd5e1;border-radius:8px;background:white}.actions{display:flex;align-items:center;gap:18px;margin-top:25px}.actions a{color:var(--muted)}.alert{padding:14px 18px;border-radius:10px;margin-bottom:20px}.alert.success{background:#dcfce7;color:#166534}details{margin-top:25px;text-align:left}pre{white-space:pre-wrap;background:#fff;padding:15px;border-radius:8px}@media(max-width:760px){.grid.two,.grid.three,.grid.four,.entity-layout,.form-grid{grid-template-columns:1fr}.topbar nav{display:none}.organization-context span{display:none}.page-heading{align-items:flex-start;gap:15px}.table-wrap{overflow:auto}}
.form-wide{max-width:none}.check-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.check-label{display:flex;align-items:center;gap:8px}.check-label input{width:auto;margin:0}fieldset{border:1px solid var(--line);border-radius:10px;margin-top:20px;padding:15px}legend{font-weight:700;padding:0 8px}@media(max-width:760px){.check-grid{grid-template-columns:1fr}}

/* Dashboard */
.container{max-width:1380px}
.topbar{height:auto;min-height:72px;padding:10px max(24px,calc((100% - 1380px)/2));gap:22px;flex-wrap:wrap}
.topbar .brand{font-size:22px;line-height:1.05;min-width:72px}
.topbar nav{gap:8px;flex-wrap:wrap}
.topbar nav a{padding:9px 11px;border-radius:8px;font-size:14px;transition:.2s ease}
.topbar nav a:hover{background:rgba(255,255,255,.1);color:#fff}
.organization-context{gap:8px;font-size:13px;max-width:240px}
.organization-context span{line-height:1.2}
.dashboard-hero{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:28px;padding:10px 2px}
.dashboard-hero h1{font-size:clamp(30px,4vw,48px);letter-spacing:-.04em;margin:8px 0 6px}
.dashboard-hero p{color:var(--muted);margin:0;font-size:16px}
.dashboard-action{box-shadow:0 12px 25px rgba(49,94,231,.25);padding:13px 19px}
.dashboard-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.dashboard-metrics .metric{position:relative;display:flex;align-items:center;gap:15px;padding:20px;overflow:hidden;min-width:0}
.dashboard-metrics .metric:after{content:"";position:absolute;right:-24px;top:-34px;width:105px;height:105px;border-radius:50%;background:currentColor;opacity:.06}
.dashboard-metrics .metric-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:13px;color:#fff;font-size:18px;font-weight:800;flex:0 0 auto}
.dashboard-metrics small{font-weight:700;font-size:12px;text-transform:uppercase;letter-spacing:.06em}
.dashboard-metrics strong{font-size:36px;line-height:1;margin:7px 0 5px}
.dashboard-metrics p{font-size:12px;color:var(--muted);margin:0;white-space:nowrap}
.metric-blue{color:#315ee7}.metric-blue .metric-icon{background:#315ee7}.metric-teal{color:#16a6a1}.metric-teal .metric-icon{background:#16a6a1}.metric-violet{color:#8b5cf6}.metric-violet .metric-icon{background:#8b5cf6}.metric-amber{color:#d97706}.metric-amber .metric-icon{background:#f59e0b}
.dashboard-charts{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:20px;margin-top:20px}
.chart-card{padding:22px;min-width:0}
.card-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:12px}
.card-heading h2{margin:5px 0 0;font-size:19px}
.card-heading a{font-size:13px;color:var(--brand);font-weight:700;text-decoration:none}
.chart-total{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:#eef3ff;color:var(--brand);font-size:18px;font-weight:800}
.chart{height:300px;width:100%}
.chart-placeholder{display:grid;place-items:center;height:100%;color:var(--muted)}
.recent-card{margin-top:20px;padding:22px}
.empty-state{display:grid;place-items:center;text-align:center;min-height:145px;color:var(--muted);border:1px dashed var(--line);border-radius:12px;background:#f8fafc}
.empty-state strong{color:var(--ink)}.empty-state p{margin:6px 0 0;max-width:390px}.empty-state.compact{min-height:250px}
@media(max-width:1080px){.dashboard-metrics{grid-template-columns:repeat(2,1fr)}.dashboard-charts{grid-template-columns:1fr}.topbar nav{order:3;width:100%}}
@media(max-width:640px){.dashboard-hero{align-items:flex-start;flex-direction:column}.dashboard-metrics{grid-template-columns:1fr}.dashboard-metrics p{white-space:normal}.chart{height:260px}.container{padding:28px 16px}}

/* Search, filters, sorting and entity map */
.table-tools{display:flex;gap:10px;align-items:center;flex-wrap:wrap;padding:16px 18px;border-bottom:1px solid var(--line);background:#fff}
.table-tools input,.table-tools select{width:auto;min-width:190px;margin:0}
.table-tools input{flex:1;min-width:260px}
.stack-tools{margin-bottom:16px;border:1px solid var(--line);border-radius:14px;box-shadow:0 10px 30px rgba(15,23,42,.04)}
th.sortable{cursor:pointer;user-select:none;position:relative;padding-right:28px}
th.sortable:after{content:"↕";position:absolute;right:10px;color:#94a3b8}
th.sortable[data-sort="asc"]:after{content:"↑";color:var(--brand)}
th.sortable[data-sort="desc"]:after{content:"↓";color:var(--brand)}
td small{display:block;margin-top:4px}
.form-grid.compact{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.map-card{margin-top:16px;padding:14px;border:1px solid var(--line);border-radius:12px;background:#f8fafc}
.entity-map{height:260px;margin-top:12px;border-radius:12px;border:1px solid var(--line);overflow:hidden;background:#e2e8f0}
textarea{display:block;width:100%;margin-top:7px;padding:11px;border:1px solid #cbd5e1;border-radius:8px;background:white;font:inherit}
@media(max-width:760px){.table-tools input,.table-tools select{width:100%;min-width:0}.form-grid.compact{grid-template-columns:1fr}}

/* Layout refresh: right accordion menu and calmer spacing */
:root{--sidebar:288px;--shadow:0 18px 45px rgba(15,23,42,.08);--soft:#eef4fb}
body{font-size:16px;line-height:1.45}
body.with-sidebar{padding-left:var(--sidebar)}
.topbar{position:sticky;top:0;z-index:20;min-height:72px;padding:10px 28px;background:linear-gradient(135deg,#101a2e,#0d1b35);box-shadow:0 10px 30px rgba(15,23,42,.12)}
.topbar-spacer{flex:1}
.topbar nav{display:none}
.brand{display:flex;align-items:center;width:74px;line-height:1.05}
.organization-context{background:rgba(255,255,255,.05);border:1px solid rgba(219,234,254,.18);border-radius:14px;padding:8px 10px}
.button{border-radius:12px;box-shadow:0 10px 24px rgba(35,87,217,.18)}
.button.secondary{box-shadow:none;color:#fff}
.side-menu{position:fixed;left:0;top:0;bottom:0;z-index:30;width:var(--sidebar);padding:18px;background:#0f1a2e;color:#e5efff;box-shadow:18px 0 40px rgba(15,23,42,.18);overflow:auto}
.side-menu-head{padding:6px 8px 18px;margin-bottom:8px;border-bottom:1px solid rgba(219,234,254,.14)}
.side-menu-head strong{display:block;font-size:28px;line-height:1.05;color:#fff;margin-top:6px}
.side-menu details{margin:10px 0;border:1px solid rgba(219,234,254,.12);border-radius:16px;background:rgba(255,255,255,.04);overflow:hidden}
.side-menu summary{cursor:pointer;list-style:none;padding:14px 15px;font-weight:800;color:#fff;display:flex;align-items:center;justify-content:space-between}
.side-menu summary::-webkit-details-marker{display:none}
.side-menu summary:after{content:"+";font-size:18px;color:#9db7ff}
.side-menu details[open] summary:after{content:"−"}
.side-menu a{display:block;margin:0 10px 8px;padding:10px 12px;border-radius:11px;color:#dbeafe;text-decoration:none;font-weight:650}
.side-menu a:hover{background:rgba(49,94,231,.24);color:#fff}
.side-menu .nav-pending{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:0 10px 8px;padding:9px 10px 9px 14px;border:1px dashed rgba(219,234,254,.18);border-radius:11px;color:rgba(219,234,254,.55);font-size:13px;font-weight:650;background:rgba(255,255,255,.025)}
.side-menu .nav-pending em{flex:0 0 auto;font-style:normal;font-size:9px;font-weight:900;letter-spacing:.05em;text-transform:uppercase;color:#f8fafc;background:rgba(148,163,184,.28);border:1px solid rgba(226,232,240,.16);border-radius:999px;padding:3px 6px}
.container{max-width:1180px;padding:48px 28px 64px}
.card,.metric{border-color:#d8e3f1;border-radius:18px;box-shadow:var(--shadow)}
.page-heading{align-items:flex-end}
.page-heading h1,.hero h1{font-size:clamp(32px,4.5vw,48px);letter-spacing:-.045em}
.entity-layout{grid-template-columns:minmax(320px,390px) minmax(0,1fr);align-items:start}
.dashboard-metrics{grid-template-columns:repeat(4,minmax(180px,1fr));gap:18px}
.dashboard-metrics .metric{min-height:132px}
.dashboard-charts{grid-template-columns:repeat(2,minmax(0,1fr))}
.chart-card,.recent-card{border-radius:18px}
.table-wrap{border-radius:18px;overflow:auto}
.table-tools{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,220px));justify-content:start;gap:12px;padding:14px;background:#f8fbff;border-bottom:1px solid var(--line)}
.table-tools input,.table-tools select{width:100%;min-width:0;height:42px;margin:0;border-radius:12px;background:#fff;box-shadow:inset 0 0 0 1px rgba(203,213,225,.25)}
.table-tools input{grid-column:span 2;max-width:450px}
.stack-tools{margin-bottom:18px;border:1px solid var(--line);border-radius:18px;background:#fff}
th{white-space:nowrap;letter-spacing:.03em}
td{vertical-align:top}
input,select,textarea{border-radius:12px;min-height:42px}
label{color:#12203a}
.form-grid{gap:16px 20px}
.map-card{border-radius:16px}
.entity-map{height:280px;border-radius:16px}
@media(max-width:1180px){body.with-sidebar{padding-left:0}.side-menu{position:static;width:auto;margin:0;background:#101a2e;border-top:1px solid rgba(219,234,254,.1);box-shadow:none}.side-menu-head{display:none}.side-menu details{display:inline-block;vertical-align:top;width:calc(50% - 8px);margin:8px 4px}.topbar{position:static}.container{padding:34px 18px}}
@media(max-width:760px){.side-menu details{display:block;width:auto}.table-tools{grid-template-columns:1fr}.table-tools input{grid-column:auto;max-width:none}.dashboard-metrics,.dashboard-charts{grid-template-columns:1fr}.organization-context{max-width:100%}.entity-layout{grid-template-columns:1fr}}

/* Indicators */
.indicator-form textarea{min-height:88px;resize:vertical}
.indicator-form .required,.required-note{color:#e11d48}
.indicator-form h3{margin:0;font-size:19px}
.score-heading{margin-top:24px}
.score-heading p{margin:6px 0 0;color:var(--muted)}
.indicator-form .score-grid{display:grid;grid-template-columns:repeat(2,minmax(280px,1fr));gap:14px 22px;margin:16px 0 20px}
.score-field{display:grid;grid-template-columns:58px 1fr;align-items:stretch;margin:0;border:1px solid #cbd5e1;border-radius:12px;background:#fff;overflow:hidden}
.score-field span{display:flex;align-items:center;justify-content:center;color:var(--brand);font-size:22px;font-weight:900;background:#f8fbff}
.score-field textarea{border:0;border-left:1px solid #e2e8f0;border-radius:0;margin:0;min-height:70px}
.button.light{background:#eef3ff;color:var(--brand);box-shadow:none;border:1px solid #dbe4ee}
.row-actions{min-width:190px}
.row-actions .button{padding:8px 11px}
.inline-action{margin-top:8px}
.button.danger{background:#ef4444;box-shadow:0 10px 24px rgba(239,68,68,.16)}
@media(max-width:760px){.indicator-form .score-grid{grid-template-columns:1fr}.score-field{grid-template-columns:48px 1fr}}

/* Indicator sets */
.set-card{display:flex;flex-direction:column;gap:14px}
.axis-block{border:1px solid var(--line);border-radius:16px;background:#f8fbff;padding:14px;margin-top:10px;transition:.2s ease}
.axis-block>summary{cursor:pointer;list-style:none}
.axis-block>summary::-webkit-details-marker{display:none}
.axis-block>summary:after{content:"Abrir";align-self:flex-start;margin-left:10px;padding:5px 9px;border-radius:999px;background:#eef3ff;color:var(--brand);font-size:12px;font-weight:800}
.axis-block[open]{background:#fff;box-shadow:0 14px 28px rgba(15,23,42,.07)}
.axis-block[open]>summary:after{content:"Cerrar"}
.axis-block small{display:block;margin-top:4px}
.inline-add-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:end;margin:12px 0}
.inline-add-form select{margin:0}
.axis-indicators{display:grid;gap:8px;margin-top:10px}
.axis-block .inline-add-form,.axis-block .axis-indicators{margin-top:12px}
.axis-indicator-row{display:flex;justify-content:space-between;gap:14px;align-items:center;padding:10px 12px;border-radius:12px;background:#fff;border:1px solid #e2e8f0}
.axis-indicator-row .button{padding:7px 10px}
@media(max-width:760px){.inline-add-form,.axis-indicator-row{grid-template-columns:1fr;display:grid}.axis-indicator-row{align-items:start}}

/* Measurements */
.measurement-form{padding:0;overflow:hidden;font-size:14px}
.measurement-form>.form-grid,.measurement-form>label,.measurement-form>fieldset,.measurement-indicators,.measurement-location,.measurement-note,.measurement-form>.actions,.measurement-form>.required-note{margin-left:24px;margin-right:24px}
.measurement-note{margin-top:18px;padding:10px 12px;border-radius:12px;background:#f8fbff;color:var(--muted);font-size:13px}
.measurement-location{display:grid;grid-template-columns:auto repeat(2,minmax(150px,1fr)) minmax(180px,1fr);gap:12px;align-items:end;margin-top:18px}
.measurement-location label{margin:0}
.measurement-indicators{margin-top:22px}
.measurement-indicators h2{font-size:18px;margin-bottom:6px}
.measurement-indicators p{font-size:13px}
.measurement-indicators table{min-width:1040px;font-size:13px}
.measurement-indicators th,.measurement-indicators td{padding:10px 12px}
.measurement-indicators select,.measurement-indicators input,.measurement-indicators textarea{font-size:12px;min-height:36px;padding:8px}
.measurement-score-select{min-width:260px}
.measurement-indicator-row textarea{min-height:48px;resize:vertical}
.measurement-indicator-row input[type=file]{min-width:170px}
.measurement-axis-summary{margin:20px 24px 0;padding:16px;border:1px solid var(--line);border-radius:16px;background:#f8fbff}
.measurement-axis-summary h2{margin:4px 0 0;font-size:18px}
.measurement-axis-summary .split>strong{font-size:24px;color:var(--brand)}
.axis-average-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;margin-top:14px}
.axis-average-card{padding:12px;border:1px solid #dbe4ee;border-radius:14px;background:#fff}
.axis-average-card span{display:block;color:var(--brand);font-size:12px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.axis-average-card strong{display:block;margin:6px 0;font-size:24px}
.axis-average-card small{display:block;line-height:1.3}
.score-legend{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:14px;padding:12px 14px}
.score-legend strong{margin-right:4px}
.score-legend.compact{margin:12px 0 0;padding:0;background:transparent;border:0;box-shadow:none}
.score-pill{display:inline-flex;align-items:center;justify-content:center;min-width:54px;padding:5px 9px;border-radius:999px;font-weight:900;font-size:12px;color:#102033;border:1px solid rgba(15,23,42,.08)}
.score-0{background:#ef4444;color:#fff}
.score-1{background:#f97316;color:#fff}
.score-2{background:#facc15;color:#422006}
.score-3{background:#fde68a;color:#713f12}
.score-4{background:#84cc16;color:#173b0b}
.score-5{background:#22c55e;color:#052e16}
.score-empty{background:#e2e8f0;color:#475569}
.axis-average-card.score-0,.axis-average-card.score-1{color:#fff;border-color:transparent}
.axis-average-card.score-2,.axis-average-card.score-3,.axis-average-card.score-4,.axis-average-card.score-5{border-color:transparent}
.axis-average-card.score-0 span,.axis-average-card.score-1 span,.axis-average-card.score-0 small,.axis-average-card.score-1 small{color:rgba(255,255,255,.9)}
.axis-average-card.score-2 span,.axis-average-card.score-3 span,.axis-average-card.score-4 span,.axis-average-card.score-5 span{color:inherit}
.indicator-info summary{cursor:pointer;color:var(--brand);font-weight:800;font-size:13px}
.indicator-info div{margin-top:10px;padding:12px;border:1px solid var(--line);border-radius:12px;background:#f8fbff;min-width:280px}
.indicator-info ul{margin:10px 0;padding-left:18px}
.indicator-info li{margin:5px 0}
@media(max-width:900px){.measurement-location{grid-template-columns:1fr}.measurement-form>.form-grid,.measurement-form>label,.measurement-form>fieldset,.measurement-indicators,.measurement-location,.measurement-note,.measurement-axis-summary,.measurement-form>.actions,.measurement-form>.required-note{margin-left:16px;margin-right:16px}}

/* Compact scale and active navigation */
body{font-size:14px;line-height:1.38}
.container{padding-top:34px;padding-bottom:46px}
.page-heading{margin-bottom:20px}
.page-heading h1,.hero h1{font-size:clamp(26px,3.6vw,38px)}
.dashboard-hero h1{font-size:clamp(28px,3.6vw,40px)}
.dashboard-hero p{font-size:14px}
.card,.metric{padding:18px}
.card h2,.card-heading h2{font-size:17px}
.metric strong{font-size:34px}
.dashboard-metrics strong{font-size:30px}
label{font-size:13px;margin-top:10px}
input,select,textarea{font-size:13px;min-height:38px;padding:9px 10px}
.button{font-size:13px;padding:9px 13px}
th{font-size:11px}
th,td{padding:11px 13px}
small,.muted{font-size:12px}
.badge{font-size:11px;padding:4px 8px}
.side-menu{width:260px;padding:14px}
:root{--sidebar:260px}
.side-menu-head strong{font-size:24px}
.side-menu details{margin:8px 0;border-radius:14px}
.side-menu summary{padding:11px 12px;font-size:13px}
.side-menu a{position:relative;margin:0 8px 6px;padding:9px 10px 9px 14px;border-radius:10px;font-size:13px}
.side-menu .nav-pending{margin:0 8px 6px;padding:8px 9px 8px 14px;border-radius:10px;font-size:12px}
.side-menu a.active{background:#2b5df0;color:#fff;box-shadow:0 10px 22px rgba(35,87,217,.28)}
.side-menu a.active:before{content:"";position:absolute;left:5px;top:9px;bottom:9px;width:3px;border-radius:99px;background:#fff}
.side-menu details:has(a.active){border-color:rgba(157,183,255,.45);background:rgba(49,94,231,.14)}
.organization-context{font-size:12px;padding:7px 9px}
.topbar{min-height:62px;padding-top:8px;padding-bottom:8px}
.topbar .brand{font-size:19px}
.table-tools{gap:9px;padding:11px}
.table-tools input,.table-tools select{height:38px}
@media(max-width:1180px){.side-menu{width:auto}.side-menu a{font-size:13px}}

/* Entity screen stacked layout */
.entity-form-card{max-width:none}
.entity-form-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px 16px}
.entity-form-grid label:last-child{grid-column:span 2}
.entity-form-card .map-card{margin-top:14px}
.entity-form-card .entity-map{height:220px}
.entity-table-card{margin-top:4px}
@media(max-width:980px){.entity-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.entity-form-grid{grid-template-columns:1fr}.entity-form-grid label:last-child{grid-column:auto}}

/* Consultas */
.consultas-hero{margin-bottom:18px}
.consulta-filters{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr)) auto;gap:12px;align-items:end;margin-bottom:18px}
.consulta-filters label{margin:0}
.consulta-filters .actions{margin:0;gap:8px}
.consulta-metrics{margin-bottom:14px}
.consulta-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:16px}
.consulta-grid .chart{height:320px}
.consulta-bottom{margin-top:16px;align-items:start}
.heatmap-table{overflow:auto;border:1px solid var(--line);border-radius:14px}
.heatmap-table table{min-width:560px}
.heatmap-table th:first-child,.heatmap-table td:first-child{position:sticky;left:0;background:#fff;z-index:1}
.heatmap-table th{background:#eef4fb}
.list-row.compact{gap:12px;align-items:center}
.list-row.compact>div{min-width:0}
.list-row.compact strong{display:block}
@media(max-width:1180px){.consulta-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.consulta-filters .actions{grid-column:1/-1}.consulta-grid,.consulta-bottom{grid-template-columns:1fr}}
@media(max-width:640px){.consulta-filters{grid-template-columns:1fr}.consulta-grid .chart{height:280px}}

/* Visual polish */
:root{
    --brand-2:#16a6a1;
    --brand-3:#8b5cf6;
    --warm:#f59e0b;
    --surface-glass:rgba(255,255,255,.82);
    --ring:0 0 0 4px rgba(35,87,217,.12);
}
body{
    background:
        radial-gradient(circle at 16% 8%,rgba(35,87,217,.13),transparent 28rem),
        radial-gradient(circle at 86% 18%,rgba(22,166,161,.12),transparent 24rem),
        radial-gradient(circle at 54% 95%,rgba(139,92,246,.10),transparent 26rem),
        linear-gradient(180deg,#f8fbff 0%,#eef4fb 48%,#f7fafc 100%);
    background-attachment:fixed;
}
body:before{
    content:"";
    position:fixed;
    inset:0;
    pointer-events:none;
    background-image:linear-gradient(rgba(15,23,42,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(15,23,42,.03) 1px,transparent 1px);
    background-size:42px 42px;
    mask-image:linear-gradient(180deg,rgba(0,0,0,.55),transparent 62%);
}
.topbar{
    background:
        linear-gradient(135deg,rgba(16,26,46,.98),rgba(12,28,62,.98)),
        radial-gradient(circle at 18% 20%,rgba(49,94,231,.5),transparent 18rem);
    backdrop-filter:blur(14px);
}
.side-menu{
    background:
        radial-gradient(circle at 0 0,rgba(49,94,231,.25),transparent 16rem),
        radial-gradient(circle at 100% 38%,rgba(22,166,161,.14),transparent 15rem),
        linear-gradient(180deg,#0f1a2e 0%,#111c35 56%,#0b1327 100%);
}
.side-menu-head{
    position:relative;
}
.side-menu-head:after{
    content:"";
    position:absolute;
    left:8px;
    right:8px;
    bottom:-1px;
    height:1px;
    background:linear-gradient(90deg,transparent,#9db7ff,transparent);
}
.side-menu details{
    box-shadow:inset 0 1px 0 rgba(255,255,255,.05);
}
.side-menu summary:hover{
    background:rgba(255,255,255,.05);
}
.side-menu a{
    transition:transform .18s ease,background .18s ease,color .18s ease,box-shadow .18s ease;
}
.side-menu a:hover{
    transform:translateX(2px);
}
.container{
    position:relative;
    z-index:1;
}
.card,.metric{
    background:linear-gradient(180deg,rgba(255,255,255,.94),rgba(255,255,255,.84));
    border-color:rgba(203,213,225,.85);
    box-shadow:0 18px 48px rgba(15,23,42,.08),0 1px 0 rgba(255,255,255,.8) inset;
    backdrop-filter:blur(10px);
}
.card:hover,.metric:hover{
    border-color:rgba(35,87,217,.18);
}
.dashboard-hero,.page-heading{
    position:relative;
}
.dashboard-hero:before,.page-heading:before{
    content:"";
    position:absolute;
    left:-18px;
    top:8px;
    width:6px;
    height:54px;
    border-radius:999px;
    background:linear-gradient(180deg,var(--brand),var(--brand-2));
    box-shadow:0 10px 24px rgba(35,87,217,.22);
}
.page-heading h1,.dashboard-hero h1{
    color:#0b1b3a;
    text-shadow:0 1px 0 rgba(255,255,255,.9);
}
.eyebrow{
    color:#2f62ea;
}
.button{
    background:linear-gradient(135deg,#2458dc,#1748bf);
    box-shadow:0 12px 24px rgba(35,87,217,.22);
    transition:transform .16s ease,box-shadow .16s ease,filter .16s ease;
}
.button:hover{
    transform:translateY(-1px);
    filter:saturate(1.08);
    box-shadow:0 16px 30px rgba(35,87,217,.28);
}
.button.light{
    background:linear-gradient(135deg,#eef4ff,#f8fbff);
}
.button.danger{
    background:linear-gradient(135deg,#ef4444,#dc2626);
}
input,select,textarea{
    background:rgba(255,255,255,.92);
    transition:border-color .16s ease,box-shadow .16s ease,background .16s ease;
}
input:focus,select:focus,textarea:focus{
    outline:none;
    border-color:rgba(35,87,217,.55);
    box-shadow:var(--ring);
    background:#fff;
}
.table-wrap{
    background:var(--surface-glass);
}
thead th{
    background:linear-gradient(180deg,#f8fbff,#eef4fb);
    color:#51627a;
}
tbody tr{
    transition:background .14s ease;
}
tbody tr:hover{
    background:rgba(35,87,217,.035);
}
.table-tools,.consulta-filters,.score-legend{
    background:linear-gradient(180deg,rgba(255,255,255,.92),rgba(248,251,255,.86));
}
.metric-icon{
    box-shadow:0 12px 24px rgba(15,23,42,.16);
}
.metric-blue .metric-icon{background:linear-gradient(135deg,#315ee7,#1d4ed8)}
.metric-teal .metric-icon{background:linear-gradient(135deg,#16a6a1,#0f766e)}
.metric-violet .metric-icon{background:linear-gradient(135deg,#8b5cf6,#6d28d9)}
.metric-amber .metric-icon{background:linear-gradient(135deg,#f59e0b,#d97706)}
.chart-card{
    position:relative;
    overflow:hidden;
}
.chart-card:before{
    content:"";
    position:absolute;
    right:-60px;
    top:-70px;
    width:180px;
    height:180px;
    border-radius:50%;
    background:radial-gradient(circle,rgba(35,87,217,.13),transparent 68%);
}
.empty-state{
    background:linear-gradient(135deg,#f8fbff,#eef4fb);
}
.badge{
    background:linear-gradient(135deg,#e8eef6,#f8fbff);
    border:1px solid rgba(203,213,225,.75);
}
.map-card,.measurement-axis-summary,.axis-block{
    background:linear-gradient(135deg,#f8fbff,#eef6ff);
}
.score-pill{
    box-shadow:0 6px 14px rgba(15,23,42,.10);
}
.score-empty{
    box-shadow:none;
}
.heatmap-table{
    background:#fff;
}
.list-row{
    border-color:rgba(203,213,225,.7);
}
@media(max-width:760px){
    .dashboard-hero:before,.page-heading:before{display:none}
    body{background-attachment:scroll}
}

/* Improvement plans */
.improvement-create{margin-bottom:18px}
.improvement-plan-form .span-2,.improvement-activity-form .span-2{grid-column:span 2}
.improvement-plan-form textarea,.improvement-activity-form textarea{min-height:84px;resize:vertical}
.improvement-stack{display:grid;gap:16px}
.improvement-plan-card{padding:0;overflow:hidden}
.improvement-plan-card details{margin:0}
.improvement-plan-card summary{
    cursor:pointer;
    list-style:none;
    display:flex;
    justify-content:space-between;
    gap:18px;
    align-items:center;
    padding:18px;
    background:linear-gradient(135deg,rgba(248,251,255,.96),rgba(239,246,255,.9));
}
.improvement-plan-card summary::-webkit-details-marker{display:none}
.improvement-plan-card summary h2{margin:4px 0;font-size:20px}
.progress-pill{display:grid;place-items:center;min-width:58px;height:58px;border-radius:50%;background:linear-gradient(135deg,var(--brand),var(--brand-2));color:#fff;font-weight:900;box-shadow:0 14px 30px rgba(35,87,217,.24)}
.improvement-plan-body{padding:18px}
.improvement-meta{display:flex;gap:9px;flex-wrap:wrap;align-items:center;color:var(--muted);font-size:12px;margin-bottom:12px}
.progress-bar{height:10px;border-radius:999px;background:#e2e8f0;overflow:hidden;margin:12px 0 18px}
.progress-bar span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--brand),var(--brand-2))}
.improvement-activity-form{padding:16px;border:1px solid var(--line);border-radius:16px;background:linear-gradient(135deg,#fff,#f8fbff);margin:16px 0}
.add-activity-form{margin-top:22px;border-style:dashed}
.improvement-activity-form h3,.activity-list h3{margin:0 0 10px}
.indicator-picker{margin:4px 0 0;padding:11px 12px 12px;border:1px solid var(--line);border-radius:14px;background:rgba(248,251,255,.82)}
.indicator-picker legend{padding:0 7px;font-weight:900;color:var(--ink)}
.indicator-picker>small{display:block;margin-top:8px;color:var(--muted)}
.indicator-picker-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:8px;max-height:218px;overflow:auto;padding:2px 4px 2px 0}
.indicator-choice{display:grid;grid-template-columns:auto 1fr;gap:8px;align-items:flex-start;margin:0;padding:9px 10px;border:1px solid #dbe4ee;border-radius:12px;background:#fff;cursor:pointer;transition:.16s ease}
.indicator-choice:hover{border-color:rgba(35,87,217,.34);box-shadow:0 8px 18px rgba(15,23,42,.06);transform:translateY(-1px)}
.indicator-choice:has(input:checked){border-color:rgba(35,87,217,.58);background:linear-gradient(135deg,#eef4ff,#fff);box-shadow:0 10px 20px rgba(35,87,217,.11)}
.indicator-choice input{width:auto;min-height:auto;margin:3px 0 0;accent-color:var(--brand)}
.indicator-choice-body strong{display:block;font-size:12px;line-height:1.28;color:var(--ink)}
.indicator-choice-body small{display:block;margin-top:3px;font-size:11px;color:var(--muted);line-height:1.25}
.indicator-choice:has(input:checked) .indicator-choice-body strong{color:var(--brand)}
.activity-list{display:grid;gap:10px;margin-top:16px}
.activity-card{padding:14px;border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:0 8px 20px rgba(15,23,42,.04)}
.activity-card .split{align-items:flex-start}
.activity-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.activity-card p{margin:10px 0}
.activity-card small{display:block;margin-top:6px}
.activity-responsible{display:inline-grid;gap:2px;margin-top:8px;padding:9px 11px;border:1px solid #dbe4ee;border-radius:13px;background:linear-gradient(135deg,#f8fbff,#eef4ff)}
.activity-responsible span{font-size:10px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:var(--brand)}
.activity-responsible strong{font-size:13px}
.activity-responsible small{margin:0;font-size:11px}
.responsible-picker{margin:4px 0 0;padding:11px 12px 12px;border:1px solid var(--line);border-radius:14px;background:rgba(248,251,255,.82)}
.responsible-picker legend{padding:0 7px;font-weight:900;color:var(--ink)}
.responsible-picker>small{display:block;margin-top:8px;color:var(--muted)}
.responsible-picker-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:8px;max-height:190px;overflow:auto;padding:2px 4px 2px 0}
.responsible-choice{display:grid;grid-template-columns:auto 1fr;gap:8px;align-items:flex-start;margin:0;padding:9px 10px;border:1px solid #dbe4ee;border-radius:12px;background:#fff;cursor:pointer;transition:.16s ease}
.responsible-choice:hover{border-color:rgba(35,87,217,.34);box-shadow:0 8px 18px rgba(15,23,42,.06)}
.responsible-choice:has(input:checked){border-color:rgba(22,166,161,.58);background:linear-gradient(135deg,#ecfeff,#fff);box-shadow:0 10px 20px rgba(22,166,161,.10)}
.responsible-choice input{width:auto;min-height:auto;margin:3px 0 0;accent-color:var(--brand)}
.responsible-choice strong{display:block;font-size:12px;line-height:1.25}
.responsible-choice small{margin:3px 0 0;font-size:11px;line-height:1.25}
.inline-editor{margin-top:12px;padding:10px;border:1px solid #e2e8f0;border-radius:12px;background:#f8fbff}
.inline-editor>summary{cursor:pointer;font-weight:800;color:var(--brand);list-style:none}
.inline-editor>summary::-webkit-details-marker{display:none}
.inline-editor>summary:after{content:" +";color:#64748b}
.inline-editor[open]>summary:after{content:" −"}
.inline-editor .improvement-activity-form,.inline-editor .improvement-plan-form{margin:12px 0 0;padding:12px}
.delete-activity-form{margin-top:10px}
.delete-activity-form .button{padding:8px 11px}
.priority-low{background:#e0f2fe;color:#075985}
.priority-medium{background:#fef3c7;color:#92400e}
.priority-high{background:#fed7aa;color:#9a3412}
.priority-critical{background:#fee2e2;color:#991b1b}
@media(max-width:760px){.improvement-plan-form .span-2,.improvement-activity-form .span-2{grid-column:auto}.improvement-plan-card summary{align-items:flex-start;flex-direction:column}.progress-pill{width:58px}.indicator-picker-grid{grid-template-columns:1fr;max-height:260px}}

/* Improvement tracking */
.tracking-hero{align-items:center;justify-content:space-between}
.tracking-filters{margin-bottom:18px}
.metric-red{background:linear-gradient(135deg,#fff1f2,#ffe4e6)}
.tracking-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(320px,.55fr);gap:18px;align-items:start;margin-bottom:18px}
.tracking-main{min-width:0}
.tracking-side{display:grid;gap:18px}
.tracking-plan-list{display:grid;gap:12px}
.tracking-plan{display:grid;grid-template-columns:1fr auto;gap:10px;padding:14px;border:1px solid rgba(203,213,225,.74);border-radius:16px;background:linear-gradient(135deg,#fff,#f8fbff);box-shadow:0 10px 24px rgba(15,23,42,.04)}
.tracking-plan h3{margin:3px 0 4px;font-size:17px}
.tracking-plan-side{text-align:right;display:grid;gap:6px;justify-items:end;align-content:start}
.tracking-plan-side strong{font-size:24px;color:var(--ink)}
.span-full{grid-column:1/-1}
.tracking-mini{display:flex;gap:8px;flex-wrap:wrap;color:var(--muted);font-size:12px}
.tracking-mini span{padding:5px 8px;border-radius:999px;background:#eef4ff;border:1px solid #dbeafe}
.risk-badge{padding:5px 9px;border-radius:999px;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.04em}
.risk-alto{background:#fee2e2;color:#991b1b}
.risk-medio{background:#fef3c7;color:#92400e}
.risk-normal{background:#e0f2fe;color:#075985}
.risk-bajo{background:#dcfce7;color:#166534}
.tracking-responsible{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;padding:10px 0;border-bottom:1px solid rgba(226,232,240,.9)}
.tracking-responsible:last-child{border-bottom:0}
.tracking-responsible small{display:block;color:var(--muted);margin-top:3px}
.tracking-responsible span{font-weight:900;color:var(--brand)}
.tracking-overdue-row{background:#fff1f2}
.danger-text{color:#e11d48;font-weight:900}
@media(max-width:980px){.tracking-grid{grid-template-columns:1fr}.tracking-side{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.tracking-side{grid-template-columns:1fr}.tracking-plan{grid-template-columns:1fr}.tracking-plan-side{text-align:left;justify-items:start}}

/* Improvement execution */
.execution-metrics{margin-bottom:18px}
.execution-stack{display:grid;gap:18px;margin-bottom:20px}
.execution-card{padding:20px;background:linear-gradient(135deg,rgba(255,255,255,.98),rgba(245,249,255,.96))}
.execution-card-head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:start}
.execution-card-head h2{margin:4px 0 5px;font-size:18px}
.execution-card-head p{margin:0;color:var(--muted)}
.execution-status{text-align:right;display:grid;gap:7px;justify-items:end}
.execution-status strong{font-size:30px;line-height:1;color:var(--brand)}
.execution-progress{margin:14px 0}
.execution-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 14px;margin:12px 0 16px;font-size:12px;color:var(--muted)}
.execution-meta strong{color:var(--ink)}
.execution-form{display:grid;grid-template-columns:140px 120px minmax(220px,1fr) minmax(220px,1fr);gap:12px;align-items:end;padding:14px;border:1px solid rgba(203,213,225,.72);border-radius:16px;background:#fff}
.execution-form label{margin-top:0;font-size:12px}
.execution-form input,.execution-form select,.execution-form textarea,.execution-close input{font-size:12px}
.execution-form textarea{display:block;width:100%;margin-top:7px;padding:10px;border:1px solid #cbd5e1;border-radius:8px;background:white;resize:vertical}
.execution-form .span-2{grid-column:span 2}
.execution-check{display:flex;align-items:center;gap:8px;padding:10px 0;font-weight:700;color:var(--muted)}
.execution-check input{width:auto;margin:0}
.execution-close{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:end;margin-top:10px;padding:10px;border-radius:14px;background:#f8fafc;border:1px dashed #cbd5e1}
.execution-close input{margin-top:0}
.execution-history{margin-top:15px;padding-top:14px;border-top:1px solid rgba(226,232,240,.9)}
.execution-history h3{font-size:14px;margin:0 0 10px}
.execution-history-item{display:grid;grid-template-columns:auto 1fr;gap:10px;padding:10px 0;border-bottom:1px solid rgba(226,232,240,.75)}
.execution-history-item:last-child{border-bottom:0}
.execution-history-item strong{font-size:13px}
.execution-history-item small{display:block;margin-top:3px}
.execution-history-item p{margin:6px 0 0;color:var(--muted);font-size:12px}
.execution-history-item a{display:inline-block;margin-top:6px;font-size:12px;font-weight:800;color:var(--brand)}
.status-pending{background:#eef2ff;color:#3730a3}.status-in_progress{background:#dbeafe;color:#1d4ed8}.status-done{background:#dcfce7;color:#166534}.status-blocked{background:#fee2e2;color:#b91c1c}.status-cancelled{background:#e5e7eb;color:#374151}

@media(max-width:980px){.execution-form{grid-template-columns:repeat(2,minmax(0,1fr))}.execution-meta{grid-template-columns:1fr}}
@media(max-width:640px){.execution-card-head,.execution-close{grid-template-columns:1fr}.execution-status{text-align:left;justify-items:start}.execution-form{grid-template-columns:1fr}.execution-form .span-2{grid-column:auto}}

/* Quality management: findings, dossiers, alerts, reports */
.quality-form-card{margin-bottom:18px}
.quality-form .span-2{grid-column:span 2}
.quality-form textarea{min-height:82px;resize:vertical}
.quality-stack{display:grid;gap:14px}
.quality-card h2{margin:5px 0 6px;font-size:19px}
.quality-card p{margin:12px 0}
.quality-badges{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}
.quality-meta{display:flex;gap:8px;flex-wrap:wrap;color:var(--muted);font-size:12px}
.quality-meta span{padding:5px 8px;border-radius:999px;background:#f8fbff;border:1px solid #e2e8f0}
.risk-low{background:#dcfce7;color:#166534}
.risk-medium{background:#fef3c7;color:#92400e}
.risk-high{background:#fed7aa;color:#9a3412}
.risk-critical{background:#fee2e2;color:#991b1b}
.dossier-grid{margin-top:18px;align-items:start}
.quality-note{padding:12px 0;border-bottom:1px solid rgba(226,232,240,.9)}
.quality-note:last-child{border-bottom:0}
.quality-note strong{display:block;margin:7px 0 2px}
.quality-note p{margin:8px 0 0;color:var(--ink)}
.quality-alert-grid{align-items:start}
.alert-board{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px}
.alert-row{display:grid;gap:5px;padding:12px;border:1px solid #e2e8f0;border-radius:14px;background:#fff;margin-bottom:10px}
.alert-row strong{font-size:14px}
.alert-row span:not(.badge){font-weight:900;color:var(--brand)}
.alert-critical{border-color:#fecdd3;background:#fff1f2}
.alert-warning{border-color:#fde68a;background:#fffbeb}
.report-grid{align-items:stretch;margin:18px 0}
.report-card{display:flex;flex-direction:column;gap:10px}
.report-card p{color:var(--muted);flex:1}
@media(max-width:760px){.quality-form .span-2{grid-column:auto}.quality-badges{justify-content:flex-start}.quality-meta{display:grid}}
