: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}
.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 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}
.tracking-execution-cell{min-width:120px}
.tracking-execution-cell strong{display:block;color:var(--brand);font-size:16px}
.mini-progress{height:7px;border-radius:999px;background:#e2e8f0;overflow:hidden;margin:6px 0}
.mini-progress span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#ef4444,#facc15,#22c55e)}
.compact-button{padding:6px 10px;font-size:11px}
.tracking-execution-log{margin-bottom:18px}
.tracking-log-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:10px}
.tracking-log-item{display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:start;padding:12px;border:1px solid rgba(203,213,225,.7);border-radius:14px;background:linear-gradient(135deg,#fff,#f8fbff)}
.tracking-log-item strong{font-size:13px}
.tracking-log-item small{display:block;margin-top:4px;color:var(--muted)}
.tracking-log-item a{display:inline-block;margin-top:6px;color:var(--brand);font-size:12px;font-weight:800}
@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}}

/* Login and organization administration */
.login-shell{min-height:calc(100vh - 150px);display:grid;grid-template-columns:minmax(0,1.1fr) minmax(340px,.65fr);gap:24px;align-items:center}
.login-brand-panel{padding:44px;border-radius:28px;color:#fff;background:linear-gradient(145deg,#101a2e,#172d55 65%,#2357d9);box-shadow:0 28px 70px rgba(15,23,42,.22)}
.login-brand-panel .eyebrow{color:#93c5fd}.login-brand-panel h1{font-size:48px;margin:12px 0}.login-brand-panel>p{max-width:560px;color:#dbeafe;font-size:16px}
.login-feature{display:grid;gap:3px;margin-top:18px;padding:14px;border:1px solid rgba(255,255,255,.14);border-radius:15px;background:rgba(255,255,255,.06)}
.login-feature span{color:#bfdbfe;font-size:13px}.login-card{padding:30px}.login-card h2{font-size:28px;margin:8px 0}.login-card label{margin-top:17px}.login-button{width:100%;margin:22px 0 12px}
.organization-hero{margin-bottom:18px}.organization-admin-card{margin-bottom:18px}.organization-admin-form{grid-template-columns:repeat(2,minmax(0,1fr));align-items:end}
.organization-stack{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.organization-card{display:flex;flex-direction:column}.organization-card .row-actions{margin-top:auto;display:flex;gap:8px;flex-wrap:wrap}.organization-card .row-actions form{margin:0}
.status-active{background:#dcfce7;color:#166534}.status-draft{background:#fef3c7;color:#92400e}.status-inactive{background:#e5e7eb;color:#475569}
@media(max-width:850px){.login-shell{grid-template-columns:1fr}.login-brand-panel{padding:28px}.organization-stack{grid-template-columns:1fr}}
@media(max-width:640px){.organization-admin-form{grid-template-columns:1fr}.organization-admin-form .span-2{grid-column:auto}.login-brand-panel h1{font-size:38px}}

/* 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}}

/* SMC ribbon navigation and interaction refresh */
:root{--sidebar:76px;--brand:#315ee7;--brand-2:#18a7a0;--violet:#8b5cf6;--ribbon:#111a36}
body.with-sidebar{padding-left:var(--sidebar)}
body{background:
    radial-gradient(circle at 86% 8%,rgba(139,92,246,.11),transparent 27rem),
    radial-gradient(circle at 12% 88%,rgba(24,167,160,.10),transparent 30rem),#f5f7fc}
.topbar{min-height:66px;padding:8px 28px;background:linear-gradient(105deg,#111a36 0%,#172654 58%,#44237a 140%)}
.topbar .brand{width:auto;min-width:280px;font-size:16px;line-height:1.2;letter-spacing:-.01em}
.topbar .brand span{color:#a9c2ff;margin-left:5px}
.container{max-width:1320px;padding:34px 28px 64px}

.side-menu{position:fixed;z-index:40;left:0;top:0;bottom:0;width:var(--sidebar);padding:10px 8px;overflow:visible;background:linear-gradient(180deg,#171e49 0%,#4e2388 56%,#a52a96 130%);box-shadow:12px 0 34px rgba(35,28,86,.24)}
.side-menu-mark{position:relative;display:grid;place-items:center;width:58px;height:54px;margin:0 auto 16px;border-bottom:1px solid rgba(255,255,255,.2);color:#fff;text-decoration:none}
.side-menu-mark strong{font-size:15px;letter-spacing:.06em}.side-menu-mark span{position:absolute;left:64px;top:7px;width:max-content;max-width:250px;padding:9px 12px;border-radius:10px;background:#111a36;color:#fff;box-shadow:0 12px 28px rgba(15,23,42,.25);font-size:12px;font-weight:800;opacity:0;pointer-events:none;transform:translateX(-5px);transition:.16s ease}
.side-menu-mark:hover span,.side-menu-mark:focus-visible span{opacity:1;transform:none}
.ribbon-nav{display:grid;gap:8px}
.side-menu details{position:relative;width:58px;height:52px;margin:0;border:0;border-radius:14px;background:transparent;overflow:visible;box-shadow:none}
.side-menu summary{position:relative;display:grid;place-items:center;width:52px;height:52px;margin:auto;padding:0;border-radius:13px;color:#dce6ff;list-style:none;cursor:pointer;transition:background .16s ease,color .16s ease,transform .16s ease}
.side-menu summary:after{display:none}.side-menu summary::-webkit-details-marker{display:none}
.side-menu summary:hover,.side-menu summary:focus-visible{background:rgba(255,255,255,.15);color:#fff;transform:translateY(-1px);outline:none}
.side-menu details:has(a.active)>summary{background:linear-gradient(135deg,#fff,#dce8ff);color:#3f2b91;box-shadow:0 10px 22px rgba(8,15,45,.3)}
.ribbon-icon,.ribbon-icon svg{display:block;width:25px;height:25px}
.ribbon-tooltip{position:absolute;left:61px;top:9px;width:max-content;padding:8px 11px;border-radius:9px;background:#111a36;color:#fff;box-shadow:0 12px 28px rgba(15,23,42,.26);font-size:12px;font-weight:800;opacity:0;pointer-events:none;transform:translateX(-5px);transition:.16s ease}
.side-menu summary:hover .ribbon-tooltip,.side-menu summary:focus-visible .ribbon-tooltip{opacity:1;transform:none}
.side-menu details[open] .ribbon-tooltip{opacity:0}
.ribbon-flyout{display:none;position:absolute;left:66px;top:0;width:245px;padding:13px;border:1px solid rgba(139,92,246,.20);border-radius:16px;background:rgba(255,255,255,.98);box-shadow:0 22px 55px rgba(15,23,42,.24);backdrop-filter:blur(16px)}
.side-menu details[open] .ribbon-flyout{display:grid;gap:5px;animation:ribbonIn .16s ease-out}
.ribbon-flyout>strong{padding:4px 8px 9px;color:#172554;font-size:13px;text-transform:uppercase;letter-spacing:.08em;border-bottom:1px solid #e7eaf3}
.side-menu .ribbon-flyout a{display:flex;align-items:center;gap:9px;margin:0;padding:9px 10px;border-radius:10px;color:#34405a;font-size:13px;font-weight:750;text-decoration:none;transition:.15s ease}
.side-menu .ribbon-flyout a:hover{transform:none;background:#f0efff;color:#5230aa}
.side-menu .ribbon-flyout a.active{background:linear-gradient(135deg,#315ee7,#7041d8);color:#fff;box-shadow:0 8px 18px rgba(65,74,190,.22)}
.side-menu .ribbon-flyout a.active:before{display:none}
.menu-dot{width:7px;height:7px;flex:none;border-radius:50%;background:#a8b3c8}.ribbon-flyout a.active .menu-dot{background:#fff}
@keyframes ribbonIn{from{opacity:0;transform:translateX(-7px)}to{opacity:1;transform:none}}

.card,.metric{border-color:rgba(202,210,230,.78);box-shadow:0 16px 42px rgba(36,45,85,.08)}
.metric-icon{background:linear-gradient(135deg,var(--brand),var(--violet))!important}
.quality-metrics,.alert-metrics{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}
.record-card[hidden]{display:none!important}
.chart-card .chart{cursor:pointer}.chart-card:hover{border-color:rgba(91,70,190,.28)}
.active-filter-note{display:flex;gap:10px;align-items:center;margin:-4px 0 14px;padding:10px 14px;border-radius:12px;background:#eeecff;color:#4c3b91;font-size:12px}
.measurement-list-filters{grid-template-columns:repeat(5,minmax(130px,1fr)) auto}
.inline-editor>summary{display:inline-flex!important;align-items:center;width:max-content;max-width:100%;padding:6px 10px!important;border:1px solid #d9e0ee;border-radius:9px;background:#f5f7fc;color:#315ee7!important;font-size:11px!important;line-height:1.2}
.inline-editor>summary:after{margin-left:3px}.user-admin-form{margin-bottom:18px}.user-admin-form .card-heading{align-items:center}.row-actions{white-space:nowrap}
.login-brand-panel h1 span{display:block;color:#9ec5ff;font-size:.58em;margin-top:5px}

@media(max-width:900px){
    body.with-sidebar{padding-left:0}.topbar{position:static;flex-wrap:wrap}.topbar .brand{min-width:0;flex:1}.container{padding:26px 16px 50px}
    .side-menu{position:static;width:100%;height:auto;padding:10px 14px;overflow:visible;background:linear-gradient(105deg,#171e49,#54258a);box-shadow:none}
    .side-menu-mark{display:flex;justify-content:flex-start;gap:9px;width:auto;height:auto;margin:0 0 8px;padding:7px 4px}.side-menu-mark span{position:static;opacity:1;transform:none;padding:0;background:transparent;box-shadow:none;color:#dce6ff}
    .ribbon-nav{display:grid;grid-template-columns:1fr;gap:5px}.side-menu details{width:100%;height:auto;margin:0;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.05)}
    .side-menu summary{display:flex;justify-content:flex-start;gap:11px;width:100%;height:44px;padding:8px 12px}.side-menu summary:after{display:block;content:"+";margin-left:auto}.side-menu details[open] summary:after{content:"−"}
    .ribbon-icon,.ribbon-icon svg{width:21px;height:21px}.ribbon-tooltip{position:static;opacity:1;transform:none;padding:0;background:transparent;box-shadow:none;color:inherit}
    .side-menu details[open] .ribbon-tooltip{opacity:1}.ribbon-flyout{position:static;width:100%;padding:8px;border:0;border-radius:0 0 13px 13px;background:rgba(9,15,42,.28);box-shadow:none;backdrop-filter:none}
    .ribbon-flyout>strong{display:none}.side-menu .ribbon-flyout a{color:#e9edff}.side-menu .ribbon-flyout a:hover{background:rgba(255,255,255,.09);color:#fff}
    .measurement-list-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.measurement-list-filters .actions{grid-column:1/-1}
}
@media(max-width:600px){.topbar .brand{font-size:14px}.organization-context{width:100%;justify-content:space-between}.measurement-list-filters{grid-template-columns:1fr}.active-filter-note{align-items:flex-start;flex-direction:column}}

/* SMC login refresh and new operational states */
.smc-login-shell{min-height:calc(100vh - 72px);display:grid;grid-template-columns:minmax(320px,1fr) minmax(340px,520px);gap:54px;align-items:center;padding:56px;position:relative;overflow:hidden;background:radial-gradient(circle at 78% 18%,rgba(255,0,144,.42),transparent 34%),radial-gradient(circle at 18% 76%,rgba(35,87,217,.46),transparent 42%),linear-gradient(135deg,#07164a 0%,#32126d 50%,#c11783 100%);color:#fff;border-radius:28px;margin:18px}
.smc-login-shell:before,.smc-login-shell:after{content:"";position:absolute;border-radius:50%;border:1px solid rgba(255,255,255,.08);pointer-events:none}.smc-login-shell:before{width:920px;height:920px;left:34%;top:-18%;background:rgba(255,255,255,.04)}.smc-login-shell:after{width:760px;height:760px;left:42%;top:14%;background:rgba(255,255,255,.03)}
.smc-login-shell .login-brand-panel,.smc-login-shell .login-card{position:relative;z-index:1}.smc-login-shell .login-brand-panel{background:transparent;border:0;box-shadow:none;color:#fff;padding:0}
.login-logo-mark{display:flex;align-items:center;gap:16px;margin-bottom:46px}.login-logo-mark>span{display:grid;place-items:center;width:74px;height:74px;border-radius:24px;background:linear-gradient(135deg,#38bdf8,#5b21d9 55%,#d21b8f);font-size:42px;font-weight:900;color:#fff;box-shadow:0 20px 48px rgba(28,17,87,.32)}.login-logo-mark strong{display:block;font-size:42px;line-height:1}.login-logo-mark small{display:block;margin-top:4px;font-size:18px;color:rgba(255,255,255,.84)}
.smc-login-shell .login-brand-panel h1{max-width:620px;font-size:clamp(34px,4.2vw,58px);line-height:1.12;margin:0 0 24px;color:#fff}.smc-login-shell .login-brand-panel h1 span{display:block;background:linear-gradient(90deg,#5ee7ff,#9b6dff);-webkit-background-clip:text;background-clip:text;color:transparent}.smc-login-shell .login-brand-panel p{max-width:560px;color:rgba(255,255,255,.88);font-size:20px;line-height:1.65}
.login-feature-grid{display:grid;grid-template-columns:repeat(2,minmax(180px,1fr));gap:18px;margin-top:44px;max-width:620px}.smc-login-shell .login-feature{padding:18px;border:1px solid rgba(255,255,255,.16);border-radius:18px;background:rgba(255,255,255,.08);backdrop-filter:blur(10px)}.smc-login-shell .login-feature strong{color:#fff}.smc-login-shell .login-feature span{color:rgba(255,255,255,.78)}
.smc-login-shell .login-card{padding:44px;border-radius:30px;background:rgba(255,255,255,.96);box-shadow:0 30px 90px rgba(6,15,48,.34);color:var(--ink);border:0}.login-lock{display:grid;place-items:center;width:70px;height:70px;margin:0 auto 16px;border-radius:24px;background:linear-gradient(135deg,#7c3aed,#4f15c9);color:#fff;font-size:34px;font-weight:900}.smc-login-shell .login-card h2{text-align:center;font-size:32px;margin:0 0 8px}.smc-login-shell .login-card p{text-align:center;margin-bottom:28px}.smc-login-shell .login-card label{font-weight:900;color:#111d43}.smc-login-shell .login-card select,.smc-login-shell .login-card input{height:58px;border-radius:14px;border-color:#d8dcef;font-size:16px}.smc-login-shell .login-button{height:62px;border-radius:14px;margin-top:20px;background:linear-gradient(135deg,#6519df,#4b12c0);box-shadow:0 18px 36px rgba(91,33,217,.28)}
.detail-grid{display:grid;grid-template-columns:repeat(4,minmax(160px,1fr));gap:14px}.detail-grid>div{padding:14px;border:1px solid var(--line);border-radius:14px;background:#f8fbff}.detail-grid small{display:block;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:900;font-size:10px}.detail-grid strong{display:block;margin-top:4px}.measurement-detail-axis{margin-top:16px}.measurement-detail-axis .card-heading{align-items:center}
.activity-locked{border-color:#fecaca;background:linear-gradient(135deg,#fff,#fff7f7)}.locked-note{display:flex;gap:12px;align-items:center;justify-content:space-between;margin:14px 0;padding:12px;border:1px solid #fecaca;border-radius:14px;background:#fff1f2;color:#991b1b}.locked-note span{color:#7f1d1d}.progress-editor{margin-top:10px}.compact-edit{margin-top:10px}.app-access-fieldset{background:linear-gradient(135deg,#f8fbff,#f5f3ff)}
@media(max-width:980px){.smc-login-shell{grid-template-columns:1fr;padding:28px;margin:0;border-radius:0}.login-feature-grid,.detail-grid{grid-template-columns:1fr}.smc-login-shell .login-brand-panel h1{font-size:34px}}

/* Compact adjustments 2026-06-23 */
.accordion-form-card{padding:0;overflow:hidden;margin-bottom:18px}
.accordion-form-card>summary{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px 18px;cursor:pointer;list-style:none;background:linear-gradient(135deg,#fff,#f4f7ff)}
.accordion-form-card>summary::-webkit-details-marker{display:none}
.accordion-form-card>summary strong{display:block;color:var(--ink)}
.accordion-form-card>summary small{display:block;color:var(--muted);font-size:12px;margin-top:2px}
.accordion-form-card>summary b{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#edf2ff;color:var(--brand);font-size:18px}
.accordion-form-card[open]>summary b{transform:rotate(45deg)}
.accordion-form-card .indicator-form{margin:0;border:0;border-top:1px solid var(--line);border-radius:0;box-shadow:none}
.execution-progress-accordion{display:block;margin:10px 0 8px;padding:0;border:0;background:transparent}
.execution-progress-accordion>summary{margin-bottom:10px}
.execution-progress-accordion .execution-form{margin-top:0}
.compact-history-item{grid-template-columns:auto minmax(0,1fr);gap:8px;padding:7px 0}
.progress-dot{min-width:34px!important;height:24px!important;padding:0 6px!important;border-radius:999px!important;font-size:10px!important;line-height:24px!important;box-shadow:none!important}
.compact-history-item .history-main,.compact-history-item>div{min-width:0}
.compact-history-item strong{font-size:12px;line-height:1.25}
.compact-history-item small{display:inline;margin-left:6px;font-size:11px;color:var(--muted)}
.compact-history-item p{margin:4px 0 0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.compact-history-item p:hover{display:block;overflow:visible}
.history-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:4px}
.ai-analysis-button{background:linear-gradient(135deg,#6d28d9,#db2777);box-shadow:0 12px 28px rgba(109,40,217,.22)}
.ai-analysis-card{margin-top:-4px;margin-bottom:18px;border-color:rgba(109,40,217,.20);background:linear-gradient(135deg,#fff,#f8f3ff)}
.ai-analysis-output{display:grid;gap:8px;color:var(--ink);line-height:1.5}
.ai-analysis-output p{margin:0}
.smc-login-compact{grid-template-columns:minmax(300px,.85fr) minmax(340px,460px);gap:34px;min-height:calc(100vh - 96px);padding:42px}
.smc-login-compact .login-brand-panel h1{font-size:clamp(30px,3.2vw,44px);max-width:520px}
.smc-login-compact .login-brand-panel p{font-size:17px;line-height:1.5;max-width:500px}
.smc-login-compact .login-logo-mark{margin-bottom:24px}
.smc-login-compact .login-logo-mark>span{width:58px;height:58px;border-radius:18px;font-size:32px}
.smc-login-compact .login-logo-mark strong{font-size:32px}
.smc-login-compact .login-logo-mark small{font-size:15px}
.smc-login-compact .login-card{padding:34px}
.smc-login-compact .login-lock{width:56px;height:56px;border-radius:18px;font-size:26px}

/* Extra compact login height */
.smc-login-compact{min-height:calc(100vh - 128px);padding:24px 34px;gap:24px;margin:8px 12px}
.smc-login-compact .login-logo-mark{margin-bottom:14px}
.smc-login-compact .login-logo-mark>span{width:48px;height:48px;border-radius:15px;font-size:27px}
.smc-login-compact .login-logo-mark strong{font-size:27px}
.smc-login-compact .login-logo-mark small{font-size:13px}
.smc-login-compact .login-brand-panel h1{font-size:clamp(26px,2.7vw,36px);line-height:1.08;margin-bottom:12px}
.smc-login-compact .login-brand-panel p{font-size:14px;line-height:1.42;max-width:440px}
.smc-login-compact .login-card{padding:24px 28px;border-radius:24px}
.smc-login-compact .login-lock{width:44px;height:44px;border-radius:14px;font-size:21px;margin-bottom:8px}
.smc-login-compact .login-card h2{font-size:25px}
.smc-login-compact .login-card p{margin-bottom:14px}
.smc-login-compact .login-card label{margin-top:10px}
.smc-login-compact .login-card select,.smc-login-compact .login-card input{height:46px;border-radius:12px;font-size:14px}
.smc-login-compact .login-button{height:50px;margin-top:14px;margin-bottom:8px}
