:root{--green:#176535;--dark:#174329;--orange:#ef7c22;--yellow:#f7d348;--bg:#f3f6f1;--ink:#24392d;--muted:#627267;--line:#dbe3d8}*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0;font:15px/1.5 system-ui,-apple-system,Segoe UI,sans-serif;color:var(--ink);background:var(--bg)}button,input,select{font:inherit}button{cursor:pointer;background:var(--green);border:1px solid transparent;border-radius:9px;color:white;padding:10px 16px;font-weight:650;min-height:44px}button:hover{filter:brightness(.95)}button:disabled{opacity:.55;cursor:wait}button.secondary{background:white;color:var(--green);border-color:var(--line)}button.danger{color:#9b3025;background:#fff1eb;border-color:#e4b7ab}input,select{width:100%;padding:11px;border:1px solid #cbd5c8;border-radius:8px;background:white;color:var(--ink);min-height:44px}input::placeholder{color:#7e8981}label{display:grid;gap:6px;font-weight:600;font-size:13px}h1,h2,h3,p{margin-top:0}h1{font-size:23px;margin-bottom:0}h2{font-size:25px;line-height:1.2;margin-bottom:14px}p{color:var(--muted)}.eyebrow{font-size:11px;letter-spacing:1.4px;font-weight:750;color:var(--green)}.login{min-height:100vh;display:grid;place-items:center;padding:25px;background:radial-gradient(ellipse at top right,#e3edc3,transparent 65%),var(--bg)}.login-card{width:min(440px,100%);background:white;border:1px solid var(--line);border-radius:22px;padding:32px;box-shadow:0 15px 60px #17432912}.login-card img{width:235px;max-width:100%;display:block;margin:0 auto 30px}.login-card h1{font-size:30px;margin:12px 0}.login-card form{display:grid;gap:15px}.login-card button{background:var(--orange)}#loginMsg{color:#9b3025;margin-top:12px}aside{position:fixed;inset:0 auto 0 0;width:250px;background:white;border-right:1px solid var(--line);padding:22px 18px;display:flex;flex-direction:column;z-index:20;overflow-y:auto}aside img{width:100%;max-height:115px;object-fit:contain}.brand-title{font-weight:800;padding:20px 10px 0}.brand-title span{font-size:11px;color:var(--muted);margin-left:8px}.side-label{font-size:10px;font-weight:700;letter-spacing:1px;margin:25px 10px 12px}nav{display:grid;gap:6px}nav button{text-align:left;background:transparent;color:var(--muted)}nav button.active{background:#e9f1e5;color:var(--green);border-left:4px solid var(--orange)}.sidebar-bottom{margin-top:auto;padding:30px 10px 0;color:var(--green);font-size:13px}.sidebar-bottom small{font-size:10px;color:var(--muted)}.workspace{margin-left:250px;min-width:0}header{position:sticky;top:0;z-index:10;background:#f3f6f1ee;backdrop-filter:blur(10px);border-bottom:1px solid var(--line);padding:18px 28px;display:flex;align-items:center;gap:15px}.user{margin-left:auto;display:flex;align-items:center;gap:15px;font-size:12px}.user span{max-width:260px;overflow-wrap:anywhere}#menuButton{display:none}main{max-width:1240px;margin:auto;padding:25px;min-width:0}section[data-section]{display:grid;gap:20px}.hero{background:#e9efdb;border:1px solid #dce4c5;border-radius:18px;padding:32px;position:relative;overflow:hidden;border-top:5px solid var(--yellow)}.hero h2{font-size:34px;margin:12px 0 16px;color:var(--dark)}.hero p{max-width:580px}.hero button{background:var(--orange)}article{background:white;border:1px solid var(--line);border-radius:16px;padding:24px;min-width:0}.cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.card{background:white;border:1px solid var(--line);border-radius:13px;padding:18px;border-top:4px solid var(--green)}.card strong{display:block;font-size:29px;margin:10px 0 4px}.card p{font-size:12px;margin:0}.card:nth-child(2){border-top-color:var(--orange)}.card:nth-child(3){border-top-color:var(--yellow)}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin:18px 0}.note{background:#f6f4e9;border-left:3px solid var(--yellow);padding:13px;font-size:13px;margin:15px 0;color:#59634a}.heading-row{display:flex;justify-content:space-between;align-items:center;gap:15px;margin:15px 0;flex-wrap:wrap}.heading-row h2{margin-bottom:8px}.heading-row button{flex-shrink:0}.job{border:1px solid var(--line);border-radius:12px;padding:17px;margin-top:12px}.job h3{font-size:16px;margin-bottom:4px;overflow-wrap:anywhere}.job p{font-size:12px;margin:6px 0}.job .actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.badge{font-size:11px;font-weight:750;padding:5px 9px;border-radius:6px;background:#e9f1e5;color:var(--green)}progress{width:100%;height:9px;accent-color:var(--green)}.table-wrap{width:100%;overflow-x:auto;margin:18px 0}table{border-collapse:collapse;width:100%;font-size:13px}th,td{text-align:left;padding:11px 12px;border-bottom:1px solid var(--line);vertical-align:top}th{background:#eef4e9;white-space:nowrap;color:var(--green)}td{min-width:80px}td:nth-child(2){min-width:210px}#message{padding:14px;border:1px solid #c7dabc;background:#e9f1e5;border-radius:10px;margin-bottom:20px;overflow-wrap:anywhere}#message.error{background:#fff1eb;border-color:#e4b7ab;color:#9b3025}footer{margin:30px 0;color:var(--muted);font-size:11px}ol{padding-left:22px}li{margin:10px 0}#preview{border:1px solid #c7dabc;background:#f3f8ef;padding:18px;border-radius:12px;margin-top:18px}#preview h3{overflow-wrap:anywhere}#preview .actions{display:flex;gap:10px;flex-wrap:wrap}:focus-visible{outline:3px solid #ef7c2280;outline-offset:2px}@media(max-width:1100px){.cards{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:800px){aside{transform:translateX(-100%);transition:transform .2s;box-shadow:8px 0 30px #17432920}aside.open{transform:translateX(0)}.workspace{margin-left:0}#menuButton{display:block}header{padding:12px 15px}header h1{font-size:19px}.user span{display:none}main{padding:16px}.hero{padding:24px}.hero h2{font-size:28px}article{padding:18px}.form-grid{grid-template-columns:1fr}}@media(max-width:420px){.cards{grid-template-columns:1fr 1fr;gap:9px}.card{padding:13px}.card strong{font-size:24px}.hero h2{font-size:25px}button{padding:9px 12px}}

#closeMenu{display:none}@media(max-width:800px){#closeMenu{display:block;align-self:flex-end;margin-bottom:15px}}

#activity{position:fixed;bottom:18px;left:50%;transform:translateX(-50%);z-index:1000;background:#176535;color:white;padding:14px 20px;border-radius:12px;box-shadow:0 4px 22px #0003;display:flex;align-items:center;gap:12px;width:max-content;max-width:90vw}#activity[hidden]{display:none}.spinner{width:20px;height:20px;border:3px solid #ffffff55;border-top-color:white;border-radius:50%;animation:spin .8s linear infinite;flex-shrink:0}@keyframes spin{to{transform:rotate(360deg)}}button:disabled{opacity:.6;cursor:wait}

.actions{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}details{border:1px solid var(--line);border-radius:10px;padding:14px;margin:12px 0}summary{cursor:pointer;font-weight:700;color:var(--green)}dialog{width:min(860px,95vw);max-height:90vh;border:1px solid var(--line);border-radius:16px;padding:22px;color:var(--ink)}dialog::backdrop{background:#17432966}textarea{width:100%;font:inherit;border:1px solid var(--line);border-radius:8px;padding:10px;min-height:80px}.filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px}.metric small{display:block}.muted{color:var(--muted);font-size:12px}.source-date{font-size:15px!important;font-weight:700;color:var(--dark);margin-top:10px!important}.pending{color:#9b3025}.form-grid small{font-weight:400;color:var(--muted)}#viewStatus{font-size:12px;margin-top:16px}#dashboardMetrics{margin:16px 0}#parametersTopic{max-width:420px}td button{padding:6px 10px;font-size:12px}.param-edit[readonly]{background:#f3f6f1}#planningTable,#alertsTable,#maintenanceTable{max-height:65vh}.pager-buttons{display:flex;gap:10px}@media(max-width:600px){.filters{grid-template-columns:1fr 1fr}.source-date{font-size:13px!important}dialog{padding:16px}.cards{grid-template-columns:1fr 1fr}}

#policyDraftStatus{margin:16px 0;color:#174d2d}#policyDraftStatus strong{font-size:1.1rem}.proposal-field{outline:2px solid #d78c16;outline-offset:2px}
/* V2.1.2 fixed original banners and executive views. All widgets remain live HTML. */
aside{background:#f8fbf8 url('banner-vertical-v212.png') center top/100% 100% no-repeat;padding-top:12px}.side-brand-space{height:155px;flex-shrink:0}.brand-title{padding-top:5px}.side-label{margin-top:14px}aside nav{background:#ffffffd9;border-radius:12px;padding:5px}aside nav button{padding:8px 12px;min-height:39px}.sidebar-bottom{margin-bottom:140px;background:#ffffffc9;border-radius:8px;padding:12px 8px;margin-top:12px;font-size:11px}header{background:#f4f9f0 url('banner-horizontal-v212.png') center/cover no-repeat;min-height:108px;backdrop-filter:none}header .user{background:#ffffffdf;padding:8px;border-radius:10px}header h1,header .eyebrow{background:#ffffffb8;border-radius:5px;padding:2px 6px}.hero{padding:20px 25px}.hero h2{font-size:28px}.summary-strip{display:flex;gap:10px;flex-wrap:wrap;margin:18px 0}.summary-strip .stat{border:1px solid var(--line);border-radius:10px;padding:10px 14px;flex:1;min-width:145px;background:#f8fbf8}.stat strong{display:block;color:var(--green);font-size:21px}.stat span{font-size:12px}.metric-button{text-align:left;background:white;color:var(--ink);font-size:13px;min-width:0;width:100%;border:1px solid var(--line);border-top:4px solid var(--green);padding:16px;border-radius:12px}.metric-button strong{display:block;font-size:24px;color:var(--green);margin:8px 0}.metric-button small{display:block;color:var(--muted)}.metric-button.warn{border-top-color:var(--orange)}.metric-button.danger{border-top-color:#c43c3c;background:#fff8f7;color:var(--ink)}.metric-button .valuation{font-weight:700;color:var(--ink)}.badge{display:inline-block;white-space:normal}.badge.red{color:#ad2525;background:#ffe3e3}.badge.amber{color:#785300;background:#fff0bd}.badge.gray{color:#52636a;background:#edf0f3}.badge.green{color:#176535;background:#d9f2df}.import-top{display:grid;grid-template-columns:1.2fr 1fr;gap:16px;align-items:start}#importAttention{background:#fff9f5;border-color:#f0d0c1}.attention-item{padding:12px;border:1px solid #ecd7ca;border-radius:10px;margin:8px 0}.attention-item p{font-size:13px;margin:8px 0}.steps{display:flex;gap:15px;flex-wrap:wrap;padding-left:20px;margin:20px 0;font-size:12px}.steps li.active{font-weight:800;color:var(--green)}.tabs{display:flex;gap:5px;overflow-x:auto;align-items:stretch;margin:16px 0}.tabs button{background:#f0f5ef;color:var(--green);white-space:nowrap;font-size:13px}.tabs button[aria-selected="true"]{background:var(--green);color:white}.table-wrap tbody tr:nth-child(even){background:#f8faf7}.table-wrap tbody tr:hover{background:#eff6e9}#demandRows td.numeric{text-align:right;font-variant-numeric:tabular-nums}#demandRows td:first-child,#demandRows td:nth-child(2){position:sticky;background:white;z-index:1}#demandRows td:first-child{left:0;min-width:110px}#demandRows td:nth-child(2){left:110px;min-width:220px;max-width:260px}.view-button{padding:6px 9px;display:flex;gap:7px;align-items:center;white-space:nowrap}.view-button svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.8}#detailDialog{width:min(1120px,96vw)}.analysis-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.analysis-grid>div{min-width:0}.analysis-grid .table-wrap{max-height:48vh;overflow:auto}.history-chart{width:100%;height:auto;max-height:260px;background:#f6faf5;border:1px solid var(--line);border-radius:12px}.history-chart text{font-size:11px;fill:#506356}.analysis-panel h3{font-size:17px}.analysis-panel pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px}.analysis-panel th{white-space:normal}.analysis-panel td:first-child{min-width:160px}#planningTable table{min-width:1250px}#planningTable td{padding:10px;max-width:240px}#planningTable td:nth-child(3){min-width:175px}#planningTable .action-cell{display:flex;gap:6px;flex-direction:column}.legend{font-size:12px;color:var(--muted)}
@media(min-width:1600px){main{max-width:1520px}}@media(max-width:800px){.import-top,.analysis-grid{grid-template-columns:1fr}.side-brand-space{height:150px}header{min-height:88px}.sidebar-bottom{margin-bottom:130px}.tabs button{padding:8px 10px}.hero h2{font-size:24px}.summary-strip .stat{min-width:130px}#demandRows td:nth-child(2){position:static}.metric-button strong{font-size:21px}}@media(max-height:750px){.side-brand-space{height:125px}.sidebar-bottom{display:none}aside nav button{min-height:34px;padding-top:6px;padding-bottom:6px}.side-label{margin-bottom:5px}}

/* R1 executive hierarchy and compact product presentation. */
.metrics-primary,.metrics-secondary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:16px 0 24px}.executive-dashboard h3{margin-top:24px}.metric-button:disabled{opacity:1;cursor:default;background:#f8faf8}.metric-button:disabled strong{color:#68786e;font-size:20px}.sparkline{width:70px;height:28px;display:block}.page-numbers{display:flex;gap:5px;flex-wrap:wrap}.page-numbers [aria-current=page]{background:var(--green);color:white}.detail-facts{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;margin:18px 0}.detail-facts .stat,.method-facts .stat{border:1px solid var(--line);border-radius:10px;padding:12px}.detail-facts strong{font-size:22px}.method-facts{display:grid;grid-template-columns:2fr 1fr;gap:12px;margin:15px 0}.interpretation{padding:16px;background:#eff7f0;border:1px solid #d0e7d6;border-radius:12px}.analysis-panel>.summary-strip .stat{background:white;border-top:4px solid var(--green)}#demandRows td{vertical-align:middle}#demandFilters{grid-template-columns:repeat(5,minmax(0,1fr))}#retryViewR1,#showTimingsR1{margin:16px 8px 0 0;font-size:12px}#demandPageSize{min-width:80px}#demandRows td:nth-child(2){min-width:220px;max-width:260px}.analysis-panel table{font-size:13px}.analysis-panel .note p{margin-bottom:0}@media(max-width:1000px){.detail-facts{grid-template-columns:repeat(3,minmax(0,1fr))}#demandFilters{grid-template-columns:repeat(3,minmax(0,1fr))}.metrics-primary,.metrics-secondary{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){#demandFilters{grid-template-columns:1fr}.method-facts{grid-template-columns:1fr}.detail-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.metrics-primary,.metrics-secondary{grid-template-columns:repeat(2,minmax(0,1fr))}.metric-button{padding:12px;font-size:12px}.metric-button strong{font-size:20px}}

#detailDialog{width:min(1120px,96vw);max-height:90vh;overflow-y:auto;padding:24px;border:1px solid var(--line);border-radius:16px}#detailDialog::backdrop{background:#153d2855}#detailDialog .analysis-panel{min-width:0}.detail-facts strong,.method-facts strong{display:block}#demandRows .sparkline{min-width:70px}

/* V2.1.3 responsive banner and keyboard accessible consent. */
input[type=checkbox]{width:22px;min-height:22px;height:22px;flex:0 0 22px;accent-color:var(--green)}.checkbox-label{display:flex;gap:12px;align-items:flex-start;margin:18px 0;font-size:15px}.checkbox-label span{flex:1}#centralFeedback213.error,#budgetFeedback213{color:#9b3025}#centralFeedback213{background:#f3f7ef;padding:12px;border-radius:8px}.review-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:18px 0}.review-steps button{text-align:left;white-space:normal}.issue-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.issue-card{padding:16px;background:#fff9ed;border:1px solid #ead8ad;border-radius:12px}.issue-card p{margin:8px 0}.task-help{float:right;font-size:12px;margin:0 0 12px 10px}#jobList{max-height:65vh;overflow:auto}#budgetMonth213{max-width:200px}.brand-title{background:#ffffffea;border-radius:8px;margin-top:8px}.side-brand-space{height:auto;aspect-ratio:536/320;min-height:0}aside{background-size:100% auto;background-position:center top;overflow:hidden;padding:12px 16px 170px}.side-label{margin:10px 8px}.sidebar-bottom{margin-bottom:0;padding:8px}.sidebar-bottom small{font-size:10px}aside nav{overflow-y:auto;min-height:0;flex:1;scrollbar-width:thin}aside nav button{flex-shrink:0}aside{background-color:#f3f8f1}header{background-size:cover;min-height:96px}#centralAttention213{border-color:#f0d0c1}#budgetPanel213 .summary-strip{margin-bottom:8px}
@media(max-height:850px){aside{padding-bottom:80px}.side-brand-space{aspect-ratio:536/320}.sidebar-bottom{display:none}aside nav button{min-height:36px;padding:7px 10px}aside nav{gap:2px}.brand-title{font-size:12px}.side-label{margin:7px}}
@media(max-height:650px){aside{padding-bottom:15px}.side-brand-space{aspect-ratio:536/290}aside nav button{min-height:34px}header{min-height:80px}}
@media(max-width:1100px){aside{width:220px}.workspace{margin-left:220px}.review-steps{grid-template-columns:repeat(2,minmax(0,1fr))}main{padding:18px}.user{max-width:45%}}
@media(max-width:800px){aside{width:250px}.workspace{margin-left:0}.user{max-width:none}.issue-grid{grid-template-columns:1fr}.side-brand-space{aspect-ratio:536/320}.task-help{float:none;margin:0 0 15px}header{min-height:80px}#closeMenu{flex-shrink:0}}
@media(max-width:450px){.review-steps{grid-template-columns:1fr}.summary-strip .stat{min-width:130px}header{background-position:65% center}}

aside::after{content:'';position:absolute;bottom:0;left:0;right:0;height:150px;background:url('banner-vertical-v212.png') center bottom/100% auto no-repeat;pointer-events:none;z-index:-1}@media(max-height:850px){aside::after{height:70px}}@media(max-height:650px){aside::after{display:none}}
/* V3.0.2 managerial surfaces use established palette, responsive tabs and compact details. */
.bi-guidance{background:#f5f4e9;border-left:3px solid #f4be28;padding:10px 16px;margin:16px 0}.bi-guidance p{margin:5px 0}.bi-extra{margin:14px 0}.bi-chart{border:1px solid #d9e4d6;border-radius:12px;padding:16px;margin:16px 0}.bi-bar-row{display:grid;grid-template-columns:minmax(100px,1fr) minmax(120px,2fr) minmax(110px,1fr);align-items:center;gap:12px;margin:8px 0}.bi-bar-row svg{width:100%;height:20px}.bi-bar-row strong{text-align:right}.tabs{overflow-x:auto;flex-wrap:nowrap}.tabs button{flex-shrink:0}.tabs [aria-selected=true]{background:#176535;color:white}.summary-strip{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}.table-wrap{max-height:560px;overflow:auto}.table-wrap th{position:sticky;top:0;z-index:1}.bi-extra input{max-width:100%}#sidebar nav{max-height:calc(100dvh - 275px);overflow-y:auto}#sidebar{overflow-y:auto}#metaImport301 summary{font-weight:700;color:#176535}#metaImport301 progress{width:100%;margin-top:15px}@media(max-width:700px){.bi-bar-row{grid-template-columns:1fr 1fr}.bi-bar-row strong{grid-column:2}.summary-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.card strong{overflow-wrap:anywhere}.form-grid{grid-template-columns:1fr}#sidebar nav{max-height:none}}@media(min-width:701px) and (max-height:800px){.side-brand-space{height:130px!important}.brand-title{margin-top:0!important}#sidebar nav{max-height:calc(100dvh - 210px)}}

/* SAG 3.0.2 responsive login and a single footer illustration. */
#login{position:relative;isolation:isolate;display:flex;align-items:center;justify-content:flex-start;padding:clamp(24px,5vw,80px);background:#eef7f6;overflow:hidden}.sag-login-scene{position:absolute;inset:0 0 0 38%;z-index:-1;background:#eaf5f7;overflow:hidden}.sag-login-scene img{width:100%;height:100%;object-fit:contain;object-position:right center}.sag-login-caption{position:absolute;bottom:0;left:0;right:0;min-height:10%;background:#005544;color:white;display:flex;align-items:center;justify-content:flex-end;padding:20px;font-weight:600}.login-card{width:clamp(310px,32vw,430px);background:#fffffff2;box-shadow:0 16px 60px #17432925}.login-card h1{font-size:46px;color:#005544}.login-card img{margin-bottom:20px}#sidebar{background:#f3f8f1;padding-bottom:160px;overflow:hidden}#sidebar .side-brand-space{background:url('banner-vertical-v212.png') center top/100% auto no-repeat;height:145px;aspect-ratio:auto}#sidebar::after{z-index:0}#sidebar nav,#sidebar .sidebar-bottom{position:relative;z-index:1;background:#ffffffef}#sidebar nav{display:block;flex:1;max-height:none;overflow-y:auto}.sag-nav-group summary{cursor:pointer;color:#176535;font-weight:700;padding:12px 8px;border-radius:8px}.sag-nav-group button{display:block;width:100%;padding-left:24px;font-size:13px}.sag-nav-group[open]>summary{background:#e9f1e5}.brand-title{padding:6px 10px}.sidebar-bottom{margin:8px 0 0!important}#centralFold302>summary{cursor:pointer;font-size:19px;font-weight:700;color:#176535}#centralSummary302{display:block;font-size:12px;font-weight:400;margin:6px 0 12px}#centralFold302 .heading-row h2{display:none}@media(max-height:850px){#sidebar{padding-bottom:80px}#sidebar .side-brand-space{height:120px!important}}@media(max-height:650px){#sidebar{padding-bottom:12px}}@media(max-width:900px){#login{padding:24px}.login-card{width:340px}.sag-login-scene{left:28%}}@media(max-width:650px){#login{justify-content:center;background:#eef7f6}.sag-login-scene{display:none}.login-card{width:min(430px,100%)}#sidebar::after{display:none}#sidebar{padding-bottom:12px}}

/* V4.0.1 R1: actionable managerial presentation, responsive and read-only */
.r1-panels{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.r1-panels .bi-chart{margin:8px 0}.r1-insights{margin:18px 0;padding:16px;border:1px solid #dae7d8;background:#f5faf6;border-radius:14px}.r1-insights h3{margin-bottom:12px}.r1-insight-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.r1-insight{display:flex;align-items:flex-start;gap:12px;padding:13px;background:white;border-radius:10px;border:1px solid #e3ece0}.r1-insight p{margin:0;color:#294234;font-size:13px}.r1-rank{display:grid;place-items:center;background:#66aa59;color:white;font-weight:800;width:32px;height:32px;flex:none;border-radius:50%}.r1-donut-panel{padding:16px;border:1px solid var(--line);border-radius:12px;margin:8px 0}.r1-donut-layout{display:flex;gap:24px;align-items:center}.r1-donut{width:170px;height:170px;flex:0 0 170px;display:grid;place-items:center;border-radius:50%}.r1-donut>div{width:100px;height:100px;background:white;border-radius:50%;display:grid;place-items:center;font-weight:800}.r1-donut-legend{display:grid;gap:9px;font-size:12px}.r1-donut-legend div{display:flex;align-items:center;gap:7px}.r1-donut-legend span{width:11px;height:11px;display:inline-block;border-radius:2px;flex-shrink:0}.r1-trend-chart svg{width:100%;max-height:265px}.r1-chart-note{font-size:11px;margin:8px 0 0}.bi-extra label{min-width:200px;max-width:320px}@media(max-width:850px){.r1-panels,.r1-insight-grid{grid-template-columns:1fr}.r1-donut-layout{flex-wrap:wrap}}

/* R2 - pantallas ejecutivas y navegación accesible */
.r2-two,.r2-three{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:14px 0}
.r2-three{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch}
.r2-panel{min-width:0;overflow:hidden;background:#fff;border:1px solid #dce7de;border-radius:12px;padding:16px}
.r2-panel h3{font-size:15px;color:#1a5030;margin:0 0 12px;font-weight:750}
.r2-svg{display:block;width:100%;max-width:100%;height:auto;max-height:250px}
.r2-legend{display:flex;flex-wrap:wrap;gap:8px 16px;font-size:11px;color:#54705f;margin-bottom:8px}
.r2-legend span{display:inline-flex;align-items:center;gap:6px}.r2-legend i{display:inline-block;width:11px;height:11px;border-radius:50%}
.r2-bar{display:grid;grid-template-columns:minmax(115px,1.4fr) minmax(48px,2fr) minmax(70px,1fr);gap:8px;align-items:center;margin:10px 0;font-size:12px}
.r2-bar>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.r2-bar strong{text-align:right;white-space:nowrap;font-size:12px}
.r2-track{background:#eaf2ec;height:14px;border-radius:3px;overflow:hidden}.r2-track>div{background:#176535;height:100%;border-radius:3px}
.r2-emphasis{border-left:3px solid #ef8225;background:#fff8ee;padding:10px}.r2-small{font-size:11px;color:#52685b;margin-top:3px}
.r2-clickable{cursor:pointer}.r2-clickable:hover{background:#eef6f0}.r2-clickable:focus{outline:2px solid #e47824;outline-offset:-2px}
@media(max-width:1180px){.r2-three{grid-template-columns:1fr 1fr}}@media(max-width:800px){.r2-two,.r2-three{grid-template-columns:1fr}}
/* SAG R3 — Gráficas SVG seguras bajo Content-Security-Policy sin inline-style */
.r3-legend{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;margin:4px 0 11px;color:#455f51;font-size:12px}
.r3-legend span{display:inline-flex;align-items:center;gap:5px}
.r3-pie-layout{display:flex;align-items:center;gap:16px;min-height:170px}
.r3-donut-svg{width:172px;height:172px;flex:0 0 172px;max-width:100%}
.r3-pie-legend{display:grid;gap:8px;flex:1;min-width:0}
.r3-pie-item{display:grid;grid-template-columns:14px minmax(0,1fr) auto;align-items:center;gap:8px;font-size:12px;color:#355142}
.r3-pie-item strong{white-space:nowrap;font-variant-numeric:tabular-nums}
.r3-pie-item span{overflow-wrap:anywhere}
.r3-outlier{border-left:3px solid #ec872b;background:#fff8ef;padding:8px 10px;font-size:12px;line-height:1.5}
.r3-detail-host{margin:16px 0}.r3-product-detail{padding:16px;border:1px solid #d4e4d5;border-radius:12px;background:#f7faf7}
.r3-product-detail>h3{margin:0 0 10px;color:#176535}.r3-product-detail .r2-two{margin-bottom:8px}
.r3-hint{border:1px dashed #a7c0ab;padding:14px;color:#465f4f;border-radius:10px;background:#fbfdfb}
.r2-bar svg{width:100%;min-width:0;height:18px}.r2-figure{display:flex;flex-direction:column;justify-content:flex-start}
@media(max-width:780px){.r3-pie-layout{flex-wrap:wrap;justify-content:center}.r3-donut-svg{width:150px;height:150px;flex-basis:150px}.r3-pie-legend{width:100%;flex-basis:100%}.r2-bar{grid-template-columns:minmax(85px,1.2fr) minmax(70px,2fr) minmax(72px,1fr);gap:6px}}

/* R4: executive drilldowns and methodology after business results. */
.r4-notes{margin:22px 0 10px;border:1px solid #dbe7d8;border-radius:10px;background:#f9fbf9;padding:10px 15px}
.r4-notes>summary{cursor:pointer;font-weight:650;color:#176535}
.r4-notes .bi-guidance{margin:12px 0 0}
.r4-kpi-sub{margin:18px 0 14px;padding:16px;border:1px solid #dce8dc;border-radius:12px;background:#f9fbf9}
.r4-kpi-sub h3,.r4-top h3{margin:0 0 12px;color:#176535}
.r4-kpi-sub .card{min-width:125px;flex:1 1 155px}
.r4-top{border:1px solid #dce8dc;border-radius:12px;margin:16px 0;padding:16px;overflow:hidden}
.r4-top p,.r4-method{font-size:12px;color:#586c61}
.r4-scroll{max-width:100%;overflow-x:auto}
.r4-scroll table{min-width:1020px}
.r4-tree details{padding:6px 8px 7px 16px;border-left:2px solid #d7e7d4}
.r4-tree summary{cursor:pointer;color:#176535;font-weight:600;white-space:normal}
.r4-tree table{width:100%}
.r4-action{cursor:pointer;outline-offset:3px}
.r4-action:hover,.r4-action:focus-visible{background:#f4f9f3;outline:2px solid #176535}
.r1-insights{position:static!important;max-width:none!important;width:100%!important;margin:20px 0!important;display:block!important}
.r1-insight-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:800px){.r1-insight-grid{grid-template-columns:1fr}.r4-kpi-sub .summary-strip{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}}
/* R5: tablas Top 10 y mismas nueve tarjetas desde Inventarios / Resumen */
.r5-top-mode{display:inline-flex;align-items:center;gap:12px;margin:12px 0;font-weight:600}
.r5-top-mode select{min-width:190px}
.r5-table-scroll{overflow-x:auto;max-width:100%;border:1px solid #dce7df;border-radius:9px}
.r5-fixed-cols{border-collapse:separate;border-spacing:0;min-width:950px;width:max-content}
.r5-fixed-cols th,.r5-fixed-cols td{padding:10px 12px;border-bottom:1px solid #e3ebe5;background:#fff;min-width:115px;white-space:nowrap}
.r5-fixed-cols th{position:sticky;top:0;background:#eff5ef;z-index:4}
.r5-fixed-cols th:nth-child(1),.r5-fixed-cols td:nth-child(1){position:sticky;left:0;min-width:110px;width:110px;max-width:110px;z-index:3;box-shadow:1px 0 #dbe6db}
.r5-fixed-cols th:nth-child(2),.r5-fixed-cols td:nth-child(2){position:sticky;left:110px;min-width:230px;width:230px;max-width:230px;white-space:normal;z-index:3;box-shadow:1px 0 #dbe6db}
.r5-fixed-cols th:nth-child(3),.r5-fixed-cols td:nth-child(3){position:sticky;left:340px;min-width:145px;width:145px;max-width:145px;z-index:3;box-shadow:2px 0 5px #e6ede6}
.r5-fixed-cols th:nth-child(-n+3){z-index:6;background:#eff5ef}
.r5-fixed-cols tr:nth-child(even) td{background:#f8faf8}
.r5-fixed-cols tr:nth-child(even) td:nth-child(-n+3){background:#f8faf8}
.r5-inv-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(205px,1fr));gap:12px;margin:13px 0 20px}
.r5-inv-card{text-align:left;min-height:128px;display:flex;flex-direction:column;align-items:flex-start;gap:11px;border-radius:13px;border:1px solid #d8e5da;border-top:4px solid #176535;background:#fff;padding:15px;color:#183e27;cursor:pointer}
.r5-inv-card:hover,.r5-inv-card:focus-visible{border-color:#176535;outline-offset:2px}
.r5-inv-card strong{font-size:clamp(18px,2vw,27px);font-weight:800;overflow-wrap:anywhere}
.r5-inv-card small{font-size:13px;font-weight:600}.r5-inv-card em{font-size:12px;font-style:normal;font-weight:700}
.r5-tree details{margin-left:6px;border-left:2px solid #dce7dc;padding:6px 0 6px 10px}
.r5-tree summary{cursor:pointer;font-weight:600;padding:6px}
@media(max-width:650px){.r5-fixed-cols th:nth-child(2),.r5-fixed-cols td:nth-child(2){left:110px;width:145px;min-width:145px;max-width:145px}.r5-fixed-cols th:nth-child(3),.r5-fixed-cols td:nth-child(3){left:255px;width:100px;min-width:100px;max-width:100px}.r5-inv-grid{grid-template-columns:repeat(auto-fit,minmax(145px,1fr))}}

/* V4 clean access */
.login{display:flex;align-items:center;justify-content:center;min-height:100vh;background:#edf5f1}.login-card{width:min(430px,94vw);margin:24px}.login-card #v4Config{font-size:13px;line-height:1.5}button:disabled{opacity:.6;cursor:wait}

/* PUL-SSO-002: acceso visible al submódulo, sin alterar navegación SAG */
#sagPulseLink{display:block;color:#176535;background:#e9f1e5;border-left:4px solid #ef7c22;border-radius:9px;padding:10px 12px;margin:7px 0;text-decoration:none;font-weight:750;font-size:13px}#sagPulseLink:focus-visible{outline:3px solid #ef7c22}

/* PUL-SSO-001: enlace complementario, no concede permisos. */
#sidebar .pulse-nav-link{display:block;padding:12px 14px;margin:7px 0;background:#176535;color:#fff;border-radius:8px;text-decoration:none;font-weight:700}
#sidebar .pulse-nav-link:hover,#sidebar .pulse-nav-link:focus-visible{background:#114a29;outline:2px solid #f7d348}
