/* Consolidated legacy CSS extracted from index.php for v4.9.7 R7. */

:root{
  --bg:#07111f;--panel:#0d1b2a;--panel2:#11263a;--line:#22384f;
  --text:#eef6ff;--muted:#93a9bf;--accent:#23d5ab;--accent2:#39a9ff;
  --warn:#ffca5c;--danger:#ff6b7a;--good:#51d88a;--white:#fff;
}
*{box-sizing:border-box}
body{margin:0;font-family:Inter,Segoe UI,Arial,sans-serif;background:linear-gradient(180deg,#07111f,#0a1625 45%,#07111f);color:var(--text);overflow-x:hidden}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
.shell{max-width:100%;margin:auto;padding:18px;overflow-x:hidden}
.topbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border:1px solid var(--line);background:rgba(13,27,42,.94);border-radius:18px;position:sticky;top:12px;z-index:30;backdrop-filter:blur(12px)}
.brand{display:flex;align-items:center;gap:14px}
.logo{width:46px;height:46px;border-radius:14px;background:linear-gradient(135deg,var(--accent),var(--accent2));display:grid;place-items:center;color:#04131d;font-weight:900;font-size:20px}
.brand h1{font-size:16px;margin:0;white-space:nowrap}.brand small{color:var(--muted)}
.actions{display:flex;gap:8px;flex-wrap:wrap}
.btn{border:1px solid var(--line);background:var(--theme-inputBackground,var(--panel2));color:var(--theme-inputText,var(--text));padding:10px 13px;border-radius:11px}
.btn.primary{border:none;background:linear-gradient(135deg,var(--accent),var(--accent2));color:#04131d;font-weight:800}
.btn.danger{color:#ffd7dc}
.hero{display:grid;grid-template-columns:1.6fr 1fr;gap:18px;margin-top:20px}
.heroCard,.panel{border:1px solid var(--line);background:rgba(13,27,42,.92);border-radius:18px;padding:20px}
.eyebrow{color:inherit;font-weight:800;text-transform:uppercase;letter-spacing:.12em;font-size:12px}
.heroCard .eyebrow{color:var(--theme-cardText,var(--text-primary,var(--text,#071a33)))}
.hero h2{font-size:34px;line-height:1.1;margin:10px 0 8px}.hero p{color:var(--muted);margin:0}
.sync{display:flex;flex-direction:column;justify-content:center}
.sync .status{display:flex;justify-content:space-between;align-items:center;margin:10px 0;padding:12px;border-radius:12px;background:#0a1726;border:1px solid var(--line)}
.dot{width:9px;height:9px;border-radius:50%;background:var(--good);display:inline-block;margin-right:8px}
.filters{display:grid;grid-template-columns:1.5fr repeat(4,1fr);gap:10px;margin:18px 0}
.field label{display:block;color:var(--muted);font-size:12px;margin-bottom:6px}
.field input,.field select,.field textarea{width:100%;border:1px solid var(--line);background:#091725;color:var(--text);padding:10px 12px;border-radius:11px;outline:none}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--accent2)}
.kpis{display:grid;grid-template-columns:repeat(6,1fr);gap:12px}
.kpi{border:1px solid var(--line);background:linear-gradient(180deg,#0f2133,#0c1b2b);border-radius:16px;padding:16px}
.kpi span{font-size:12px;color:var(--muted)}.kpi strong{display:block;font-size:30px;margin-top:8px}.kpi em{font-style:normal;color:var(--accent);font-size:12px}
.grid2{display:grid;grid-template-columns:1.25fr .75fr;gap:18px;margin-top:18px}
.sectionTitle{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:14px}
.sectionTitle h3{margin:0;font-size:17px}.sectionTitle small{color:var(--muted)}
.barRow{display:grid;grid-template-columns:180px 1fr 55px;gap:10px;align-items:center;margin:12px 0}
.track{height:10px;background:#06111d;border-radius:99px;overflow:hidden}.fill{height:100%;border-radius:99px;background:linear-gradient(90deg,var(--accent),var(--accent2))}
.tableWrap{overflow-x:hidden;border:1px solid var(--line);border-radius:14px}
table{width:100%;border-collapse:collapse;table-layout:fixed}
th,td{padding:10px 8px;border-bottom:1px solid var(--line);text-align:left;font-size:12px;vertical-align:top;word-break:break-word}
th{position:sticky;top:0;background:#0c1c2c;color:#a9c0d7}
.badge{display:inline-flex;padding:5px 8px;border-radius:99px;background:#163047;border:1px solid #254963;font-size:12px}
.badge.review{background:#322916;border-color:#665427;color:#ffe19c}.badge.manual{background:#1d2d23;border-color:#31593e;color:#b9f5ca}
.rowActions{display:flex;gap:6px}.iconBtn{border:1px solid var(--line);background:#0d2133;color:var(--text);border-radius:8px;padding:6px 9px}
.modalBackdrop{position:fixed;inset:0;background:rgba(0,0,0,.72);display:none;align-items:center;justify-content:center;padding:16px;z-index:100}
.processBackdrop{position:fixed;inset:0;background:rgba(2,8,15,.82);display:none;align-items:center;justify-content:center;padding:16px;z-index:250;backdrop-filter:blur(5px)}
.processModal{width:min(620px,100%);background:#0d1b2a;border:1px solid var(--line);border-radius:20px;padding:22px}
.processHeader{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.processHeader h3{margin:0 0 5px;font-size:20px}.processHeader p{margin:0;color:var(--muted);font-size:13px}
.processSpinner{width:42px;height:42px;border:4px solid #173049;border-top-color:var(--accent);border-radius:50%;animation:spin 1s linear infinite;flex:0 0 auto}
@keyframes spin{to{transform:rotate(360deg)}}
.processTrack{height:12px;background:#06111d;border-radius:99px;overflow:hidden;margin:20px 0 12px}
.processFill{height:100%;width:0;background:linear-gradient(90deg,var(--accent),var(--accent2));transition:width .35s ease}
.processSteps{display:grid;gap:8px;margin-top:15px}
.processStep{display:grid;grid-template-columns:26px 1fr auto;gap:10px;align-items:center;padding:10px 11px;border:1px solid var(--line);border-radius:12px;background:#091725}
.processStepIcon{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:#112b3f;font-size:12px}
.processStep.done .processStepIcon{background:#12311f;color:#b9f5ca}.processStep.active{border-color:#2c5b78}.processStep.active .processStepIcon{background:#153b52}
.processStep small{color:var(--muted)}
.processResult{display:none;margin-top:16px;padding:13px;border-radius:12px;border:1px solid var(--line);background:#0a1726}
.processResult.ok{display:block;border-color:#28553a;color:#b9f5ca;background:#10281a}
.processResult.error{display:block;border-color:#6c3340;color:#ffd0d5;background:#31161b}
.lockedUI .topbar button,.lockedUI .tabBtn,.lockedUI input,.lockedUI select,.lockedUI textarea,.lockedUI .iconBtn,.lockedUI a.btn{pointer-events:none!important;opacity:.5}
.lockedUI #calendarImportBtn{pointer-events:none!important;opacity:.5}
.modal{width:min(760px,100%);max-height:92vh;overflow:auto;background:#0d1b2a;border:1px solid var(--line);border-radius:18px;padding:20px}
.modal h3{margin-top:0}.formGrid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.span2{grid-column:1/-1}
.modalActions{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}
.notice{padding:12px 14px;border-radius:12px;background:#0a1a2b;border:1px solid var(--line);color:var(--muted);font-size:13px}
.qualityGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.qualityMetric{border:1px solid var(--line);background:#091725;border-radius:14px;padding:14px;min-height:112px;display:flex;flex-direction:column;justify-content:space-between}
.qualityMetricTop{display:flex;align-items:center;justify-content:space-between;gap:10px}
.qualityIcon{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:#112b3f;border:1px solid #23445d;font-size:16px}
.qualityValue{font-size:28px;font-weight:800;letter-spacing:-.03em}
.qualityLabel{font-size:12px;color:var(--muted)}
.qualityState{display:inline-flex;align-items:center;gap:6px;font-size:11px;padding:4px 7px;border-radius:999px;border:1px solid var(--line);width:max-content}
.qualityState.ok{color:#b9f5ca;background:#10281a;border-color:#28553a}
.qualityState.warn{color:#ffe19c;background:#2b2413;border-color:#665427}
.activitySummary{display:block}
.activityMore{display:none;margin-top:8px;padding-top:8px;border-top:1px dashed var(--line);color:var(--muted);white-space:pre-wrap}
.activityMore.open{display:block}
.expandActivityBtn{margin-top:6px;border:0;background:transparent;color:var(--accent2);padding:0;cursor:pointer;font-size:12px;display:inline-flex;align-items:center;gap:5px}
.expandActivityBtn .arrow{display:inline-block;transition:transform .2s ease}.expandActivityBtn.open .arrow{transform:rotate(180deg)}
.qualityHelp{margin-top:12px;display:flex;align-items:flex-start;gap:9px;padding:11px 12px;border-radius:12px;background:#0a1726;border:1px solid var(--line);color:var(--muted);font-size:12px;line-height:1.45}
@media(max-width:700px){.qualityGrid{grid-template-columns:1fr}}
.tabs{display:flex;gap:8px;margin:18px 0 0;flex-wrap:wrap}
.tabBtn{border:1px solid var(--line);background:#0b1a29;color:var(--muted);padding:10px 14px;border-radius:11px;font-weight:700}
.tabBtn.active{background:linear-gradient(135deg,var(--accent),var(--accent2));border-color:transparent;color:#04131d}
.tabPane{display:none}.tabPane.active{display:block}
.importGrid{display:grid;grid-template-columns:1fr 1fr 1fr auto;gap:10px;align-items:end}
.importModeBar{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:14px}
.importModeOption{display:flex;align-items:center;gap:10px;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:#091725;cursor:pointer;min-width:220px}
.importModeOption input{accent-color:var(--accent)}
.importModeOption span{display:flex;flex-direction:column}.importModeOption small{color:var(--muted);margin-top:2px}
.aiBox{padding:14px;border:1px solid var(--line);background:#091725;border-radius:14px;margin-top:12px}
.chart{height:260px;display:flex;align-items:flex-end;gap:10px;border-bottom:1px solid var(--line);padding:20px 8px 28px;position:relative}
.chartCol{flex:1;min-width:18px;position:relative;height:100%;display:flex;align-items:flex-end;justify-content:center}
.chartBar{width:min(42px,80%);background:linear-gradient(180deg,var(--accent2),var(--accent));border-radius:8px 8px 2px 2px;min-height:2px}
.chartLabel{position:absolute;bottom:-24px;font-size:10px;color:var(--muted);white-space:nowrap;transform:rotate(-35deg);transform-origin:top center}
.chartVal{position:absolute;bottom:calc(var(--h) + 4px);font-size:11px}
.pieWrap{display:grid;grid-template-columns:240px 1fr;gap:24px;align-items:center}
.pieChart{width:230px;aspect-ratio:1;border-radius:50%;position:relative;margin:auto;background:#173049}
.pieHole{position:absolute;inset:28%;background:#0d1b2a;border-radius:50%;display:grid;place-items:center;text-align:center;border:1px solid var(--line)}
.pieHole strong{font-size:25px}.pieHole small{display:block;color:var(--muted)}
.pieLegend{display:grid;gap:9px}
.pieLegendRow{display:grid;grid-template-columns:12px 1fr auto;gap:9px;align-items:center}
.pieSwatch{width:10px;height:10px;border-radius:3px}
@media(max-width:650px){.pieWrap{grid-template-columns:1fr}.pieChart{width:200px}}
.kpiHero{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.analyticsGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:18px}
.statStrip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:14px}
.statMini{border:1px solid var(--line);background:#091725;border-radius:13px;padding:13px}
.statMini span{display:block;color:var(--muted);font-size:11px}.statMini strong{display:block;font-size:22px;margin-top:5px}
.compareTable{display:grid;gap:9px}
.compareRow{display:grid;grid-template-columns:minmax(120px,1.2fr) 1fr 1fr;gap:10px;align-items:center}
.compareBars{display:grid;grid-template-columns:1fr 1fr;gap:5px}
.compareBar{height:10px;background:#06111d;border-radius:999px;overflow:hidden}.compareFill{height:100%;background:linear-gradient(90deg,var(--accent),var(--accent2));border-radius:999px}
.compareFill.prev{opacity:.45}
@media(max-width:900px){.analyticsGrid{grid-template-columns:1fr}.statStrip{grid-template-columns:repeat(2,1fr)}}
.footer{color:var(--muted);text-align:center;padding:25px 0 5px;font-size:12px}.footer a{color:var(--theme-textPrimary,var(--text));text-decoration:underline;text-underline-offset:3px}
@media(max-width:1050px){.kpiHero{grid-template-columns:repeat(3,1fr)}.importGrid{grid-template-columns:repeat(2,1fr)}.kpis{grid-template-columns:repeat(3,1fr)}.hero,.grid2{grid-template-columns:1fr}.filters{grid-template-columns:repeat(2,1fr)}}
@media(max-width:650px){.kpiHero,.importGrid{grid-template-columns:1fr}.shell{padding:12px}.topbar{position:static;align-items:flex-start}.topbar,.brand{flex-direction:column}.actions{width:100%}.actions .btn{flex:1}.filters,.formGrid{grid-template-columns:1fr}.span2{grid-column:auto}.kpis{grid-template-columns:repeat(2,1fr)}.hero h2{font-size:28px}.barRow{grid-template-columns:125px 1fr 42px}}

:root{--sidebar:238px}
body{overflow-x:hidden}
.shell{max-width:none;margin-left:var(--sidebar);padding:18px;min-height:100vh}
.tabs{display:none!important}
.sidebar{position:fixed;left:0;top:0;bottom:0;width:var(--sidebar);z-index:90;background:#07111f;border-right:1px solid var(--line);padding:16px 12px;display:flex;flex-direction:column;overflow:auto}
.sidebarLogo{display:block;padding:4px 6px 16px;border-bottom:1px solid var(--line);margin-bottom:12px}
.sidebarLogo img{width:100%;max-width:196px;height:auto}
.sideGroup{font-size:10px;color:#607b94;text-transform:uppercase;letter-spacing:.12em;font-weight:800;padding:10px 10px 5px}
.sideNav{display:grid;gap:5px}.sideBtn{border:1px solid transparent;background:transparent;color:var(--muted);padding:10px 11px;border-radius:10px;text-align:left;cursor:pointer;font-weight:700}
.sideBtn:hover{background:#0c1c2c;color:var(--text)}.sideBtn.active{background:#102b3e;border-color:#24506b;color:#fff}
.sideBottom{margin-top:auto;display:grid;gap:7px;padding-top:12px;border-top:1px solid var(--line)}
.sideBottom .btn{text-align:left}
.pivotControls{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}
.pivotTableWrap{overflow:auto;max-height:520px}.pivotTable{width:100%;border-collapse:collapse;table-layout:auto}.pivotTable th,.pivotTable td{padding:8px;border:1px solid var(--line);font-size:12px;text-align:center}.pivotTable th{background:#0b1b2a}
.savedKpiGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.savedKpiCard{border:1px solid var(--line);border-radius:15px;padding:14px;background:#091725}.savedKpiCard h4{margin:0 0 8px}.savedKpiHead{display:flex;justify-content:space-between;gap:8px;align-items:center}
.masterRows{display:grid;gap:8px}.masterRow{display:grid;grid-template-columns:1.3fr 1.3fr .65fr auto auto;gap:8px;align-items:end;padding:10px;border:1px solid var(--line);border-radius:12px;background:#091725}
.clientRow{grid-template-columns:1.7fr .65fr auto auto}
@media(max-width:1100px){:root{--sidebar:205px}.pivotControls{grid-template-columns:repeat(2,1fr)}.savedKpiGrid{grid-template-columns:1fr}}
@media(max-width:760px){.sidebar{position:static;width:auto}.shell{margin-left:0}.sideNav{grid-template-columns:repeat(2,1fr)}.pivotControls{grid-template-columns:1fr}.masterRow,.clientRow{grid-template-columns:1fr}.sidebarLogo img{max-width:210px}}



.clientAccordion{display:grid;gap:10px}.clientCard{border:1px solid var(--line);border-radius:14px;background:#091725;overflow:hidden}.clientCardHead{display:grid;grid-template-columns:1fr auto auto;gap:10px;align-items:center;padding:13px 14px;cursor:pointer}.clientCardHead:hover{background:#0c1c2c}.clientNameWrap strong{display:block}.clientNameWrap small{color:var(--muted)}.clientChevron{transition:transform .2s}.clientCard.open .clientChevron{transform:rotate(180deg)}.clientBody{display:none;padding:0 14px 14px;border-top:1px solid var(--line)}.clientCard.open .clientBody{display:block}.clientEditGrid{display:grid;grid-template-columns:1.25fr 1fr 1fr .7fr auto;gap:8px;align-items:end;margin:12px 0}.contactsCompact{display:grid;gap:7px}.contactRow{display:grid;grid-template-columns:1fr 1fr 1.3fr 1fr auto auto;gap:7px;align-items:end;padding:9px;border:1px solid var(--line);border-radius:10px;background:#071522}.contactAdd{display:grid;grid-template-columns:1fr 1fr 1.2fr 1fr auto;gap:7px;align-items:end;margin-top:10px;padding-top:10px;border-top:1px dashed var(--line)}
.companyFiscalFields{grid-column:1/-1;border:1px solid var(--line);border-radius:12px;padding:12px;margin:8px 0}.companyFiscalFields legend{padding:0 8px;color:var(--theme-cardText,var(--accent));font-weight:800}.companyFiscalFields .formGrid{grid-template-columns:repeat(3,minmax(0,1fr))}.companyFiscalActivitySearch{margin-bottom:6px}
.pivotFieldPool{display:flex;gap:8px;flex-wrap:wrap;padding:10px;border:1px dashed #31526b;border-radius:12px;background:#071522}.pivotField{padding:8px 10px;border:1px solid #31526b;border-radius:9px;background:#10283a;color:#e8f4ff;cursor:grab;user-select:none;font-size:12px;font-weight:700}.pivotDropGrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:12px}.pivotDropZone{min-height:130px;border:1px dashed #31526b;border-radius:12px;padding:10px;background:#071522}.pivotDropZone.dragover{border-color:var(--accent);background:#0b2530}.pivotDropZone small{display:block;color:var(--muted);margin:2px 0 8px}.pivotZoneItems{display:flex;gap:6px;flex-wrap:wrap}.pivotChip{display:inline-flex;align-items:center;gap:6px;padding:7px 9px;border-radius:8px;background:#123044;border:1px solid #31526b;font-size:12px}.pivotChip button{border:0;background:transparent;color:#ffb6bf;cursor:pointer;padding:0}.pivotToolbar{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-top:12px}
@media(max-width:1000px){.pivotDropGrid{grid-template-columns:repeat(2,1fr)}.pivotToolbar{grid-template-columns:repeat(2,1fr)}}@media(max-width:760px){.pivotDropGrid,.pivotToolbar,.clientEditGrid,.contactRow,.contactAdd{grid-template-columns:1fr}}


.sidebarLogo img{width:100%;max-width:185px;height:auto;object-fit:contain;background:transparent}
.reviewActions{display:flex;gap:6px;align-items:center;flex-wrap:nowrap;white-space:nowrap}
.reviewActions .iconBtn{flex:0 0 auto;padding:7px 9px;font-size:11px}
#reviewBody td:last-child{min-width:205px}
.userAdminOnly{display:none!important}
@media(max-width:900px){#reviewBody td:last-child{min-width:190px}.reviewActions{gap:4px}.reviewActions .iconBtn{padding:6px 7px}}

.masterFilterBar{display:flex;align-items:end;gap:10px;flex-wrap:wrap;margin:0 0 14px}
.masterFilterBar .field{min-width:180px}


html,body{max-width:100%;overflow-x:hidden}
.shell,.tabPane,.panel,.heroCard,.tableWrap,.processModal{min-width:0;max-width:100%}
.processBackdrop{padding:12px;overflow:auto}
.processModal{width:min(680px,calc(100vw - 24px))!important;max-height:calc(100vh - 24px);overflow-y:auto;overflow-x:hidden;box-sizing:border-box}
.processHeader{min-width:0}.processHeader>div:first-child{min-width:0}.processHeader h3,.processHeader p,.processLabel,.processResult{overflow-wrap:anywhere;word-break:break-word}
.processSteps{min-width:0}.processStep{grid-template-columns:26px minmax(0,1fr) auto;min-width:0}.processStep>div{min-width:0}
.tableWrap{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
table{max-width:100%}.reviewTable{min-width:980px}
@media(max-width:900px){.shell{padding:12px}.hero,.grid2,.analyticsGrid,.kpiHero,.statStrip{grid-template-columns:1fr!important}.filters,.formGrid,.importGrid{grid-template-columns:1fr 1fr!important}.processSteps{gap:6px}.processStep{padding:8px}}
@media(max-width:620px){.filters,.formGrid,.importGrid{grid-template-columns:1fr!important}.processModal{width:calc(100vw - 16px)!important;max-height:calc(100vh - 16px);padding:14px}.processHeader h3{font-size:17px}.processStep{grid-template-columns:24px minmax(0,1fr)}.processStep>span:last-child{display:none}}


@media (max-width:900px){
 .modal .formGrid{grid-template-columns:1fr 1fr!important}
 .reviewTable th,.reviewTable td{font-size:9.5px;padding:5px 3px}
 .reviewTable .reviewActions .iconBtn{font-size:8.5px;padding:4px}
}
@media(max-width:620px){
 .modal .formGrid{grid-template-columns:1fr!important}.modal .span2{grid-column:auto!important}
 .modalActions{flex-wrap:wrap}.modalActions .btn{flex:1 1 auto}
 .contactRow{grid-template-columns:1fr!important}
}


@media (min-width:901px){
  .sidebar{
    height:100vh;
    max-height:100vh;
    overflow-y:hidden !important;
    padding-top:14px !important;
    padding-bottom:12px !important;
    box-sizing:border-box;
  }
  .brand{
    margin-bottom:10px !important;
  }
  .brand img{
    max-height:38px !important;
    width:auto;
  }
  .brandText h1{
    font-size:13px !important;
    line-height:1.15 !important;
    margin:0 !important;
  }
  .brandText small{
    font-size:9px !important;
    line-height:1.1 !important;
  }
  .nav{
    gap:3px !important;
  }
  .sideBtn{
    min-height:34px !important;
    padding:7px 9px !important;
    font-size:11px !important;
    line-height:1.05 !important;
    border-radius:9px !important;
  }
  .sidebarFooter{
    margin-top:auto !important;
    padding-top:8px !important;
    font-size:10px !important;
    line-height:1.15 !important;
  }
  .sidebarFooter .btn{
    padding:6px 8px !important;
    min-height:30px !important;
    font-size:10px !important;
  }
}
@media (max-height: 760px) and (min-width:901px){
  .sidebar{padding-top:8px !important;padding-bottom:7px !important}
  .brand{margin-bottom:6px !important}
  .brand img{max-height:30px !important}
  .brandText h1{font-size:12px !important}
  .brandText small{font-size:8px !important}
  .nav{gap:2px !important}
  .sideBtn{min-height:29px !important;padding:5px 8px !important;font-size:10px !important}
  .sidebarFooter{padding-top:5px !important;font-size:9px !important}
  .sidebarFooter .btn{min-height:27px !important;padding:4px 7px !important;font-size:9px !important}
}


@media print{#tab-executive .actions,#tab-executive .heroCard.sync{display:none!important}}





.rowActions{position:relative;z-index:2}
.editBtn{position:relative;z-index:3;pointer-events:auto!important}
#modalBackdrop[style*="display: none"],#modalBackdrop:not([style*="display: flex"]){pointer-events:none}


/* v4.6.5 · modal reconstruido y capas seguras */
.clearKamOption{
  display:flex!important;
  align-items:flex-start;
  gap:10px;
  padding:10px 12px;
  border:1px solid #38536a;
  border-radius:10px;
  background:#081929;
  cursor:pointer;
}
.clearKamOption input{margin-top:3px}
.clearKamOption span{display:flex;flex-direction:column;gap:2px}
.clearKamOption small{color:var(--muted)}
.modalBackdrop{display:none}
.modalBackdrop[style*="display: flex"]{display:flex!important}
#processBackdrop{display:none}
#processBackdrop[style*="display: flex"]{display:flex!important}
#loginBackdrop{display:flex}
.rowActions,.editBtn,#loginBtn,#newBtn{pointer-events:auto!important}


/* ===== v4.6.5 UX / Executive Summary ===== */
.kamClearCard{display:flex!important;align-items:center;justify-content:space-between;gap:18px;padding:13px 15px;border:1px solid #28475e;border-radius:12px;background:linear-gradient(135deg,#0a1b2a,#0c2133);cursor:pointer;transition:.18s ease}
.kamClearCard:hover{border-color:#4d7897;background:linear-gradient(135deg,#0c2032,#0e2940)}
.kamClearCopy{display:flex;flex-direction:column;gap:3px;min-width:0}
.kamClearCopy strong{font-size:12px;color:#dceaf5}.kamClearCopy small{font-size:10px;color:var(--muted);line-height:1.35}
.kamToggle{position:relative;flex:0 0 auto}.kamToggle input{position:absolute;opacity:0;pointer-events:none}
.kamToggleTrack{display:block;width:42px;height:23px;border-radius:999px;background:#20394d;border:1px solid #31536d;position:relative;transition:.2s}
.kamToggleKnob{position:absolute;width:17px;height:17px;border-radius:50%;left:2px;top:2px;background:#dbe7ef;transition:.2s;box-shadow:0 1px 4px #0008}
.kamToggle input:checked + .kamToggleTrack{background:linear-gradient(90deg,var(--accent),var(--accent2));border-color:transparent}
.kamToggle input:checked + .kamToggleTrack .kamToggleKnob{transform:translateX(19px);background:#fff}

/* Executive cards / rankings */
#tab-executive .grid2{grid-template-columns:1fr 1fr}
#tab-executive .panel{overflow:hidden}
.execRankRow{display:grid;grid-template-columns:34px minmax(0,1fr) 48px;align-items:center;gap:10px;padding:10px 11px;margin:6px 0;border:1px solid #17344a;border-radius:11px;background:linear-gradient(90deg,#091827,#0b1e2e);cursor:pointer;transition:.16s}
.execRankRow:hover{transform:translateY(-1px);border-color:#35627f;background:#0d2437}
.execRankRow:before{content:attr(data-rank);display:grid;place-items:center;width:27px;height:27px;border-radius:8px;background:#102d42;color:#7ed7ff;font-weight:800;font-size:11px}
.execRankRow span{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:700}
.execRankRow strong{text-align:center;padding:5px 7px;border-radius:8px;background:#102b3e;color:#7fe5cf}
.scoreRow{display:grid;grid-template-columns:minmax(0,1fr) 52px;gap:12px;align-items:center;padding:10px 11px;margin:6px 0;border:1px solid #17344a;border-radius:11px;background:#091827}
.scoreRow>div{min-width:0}.scoreRow strong{font-size:12px}.scoreRow small{margin-top:3px;white-space:normal;line-height:1.35}
.scoreBadge{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;font-weight:900;border:2px solid currentColor}
.scoreHigh{color:#55e2a4;background:#0b2b24}.scoreMid{color:#ffd166;background:#332a12}.scoreLow{color:#ff7f8c;background:#35161c}
.heatGrid{display:grid;grid-template-columns:repeat(7,minmax(28px,1fr));gap:5px}
.heatCell{aspect-ratio:1/1;min-height:28px;display:grid;place-items:center;border-radius:7px;font-size:10px;font-weight:800;border:1px solid #19364b}
.heat1{background:#0b1d2a;color:#6f8799}.heat2{background:#0d3544;color:#9fd9e6}.heat3{background:#12606b;color:#d5fbff}.heat4{background:#1497a0;color:#fff}
#execHours .barRow{grid-template-columns:48px 1fr 30px;margin:7px 0;font-size:10px}
#execHours .track{height:7px}

/* Review queue must fit viewport */
.reviewFilters{grid-template-columns:repeat(6,minmax(0,1fr))!important;gap:8px}
.reviewFilters .field{min-width:0}.reviewFilters input,.reviewFilters select{width:100%;min-width:0}
#tab-import .tableWrap{overflow-x:hidden!important;max-width:100%}
.reviewTable{width:100%!important;min-width:0!important;table-layout:fixed!important}
.reviewTable th,.reviewTable td{padding:6px 4px!important;font-size:9.5px!important;line-height:1.25;overflow-wrap:anywhere;word-break:break-word}
.reviewTable th:nth-child(1),.reviewTable td:nth-child(1){width:3%}
.reviewTable th:nth-child(2),.reviewTable td:nth-child(2){width:8%}
.reviewTable th:nth-child(3),.reviewTable td:nth-child(3){width:17%}
.reviewTable th:nth-child(4),.reviewTable td:nth-child(4){width:11%}
.reviewTable th:nth-child(5),.reviewTable td:nth-child(5){width:11%}
.reviewTable th:nth-child(6),.reviewTable td:nth-child(6){width:11%}
.reviewTable th:nth-child(7),.reviewTable td:nth-child(7){width:7%}
.reviewTable th:nth-child(8),.reviewTable td:nth-child(8){width:18%}
.reviewTable th:nth-child(9),.reviewTable td:nth-child(9){width:14%}
.reviewActions{display:flex!important;gap:3px!important;flex-wrap:nowrap!important;justify-content:flex-end}
.reviewActions .iconBtn,.reviewActions .btn{padding:4px 5px!important;font-size:8px!important;white-space:nowrap!important;min-width:0!important}

/* Executive print / Letter */

@media(max-width:1050px){
 .reviewFilters{grid-template-columns:repeat(3,minmax(0,1fr))!important}
 .reviewTable th,.reviewTable td{font-size:8.5px!important;padding:5px 2px!important}
 .reviewActions .iconBtn,.reviewActions .btn{font-size:7px!important;padding:3px!important}
}


/* v4.6.5 · filtros de fecha DMY + picker nativo */
.datePickerDMY{display:grid;grid-template-columns:minmax(0,1fr) 34px;gap:5px;position:relative}
.datePickerDMY .dateDMY{width:100%;min-width:0}
.datePickerBtn{border:1px solid #294961;background:#0d2334;color:#bcd4e6;border-radius:8px;cursor:pointer;font-size:14px;display:grid;place-items:center}
.datePickerBtn:hover{border-color:#4d7897;background:#123149}
.nativeDatePicker{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important;right:0;bottom:0}

.heatCell{aspect-ratio:auto!important;min-height:54px!important;padding:5px 3px!important;display:flex!important;flex-direction:column;justify-content:center;align-items:center;gap:1px;text-align:center}
.heatCell .heatDay{font-size:8px;font-weight:700;opacity:.9;line-height:1.1}
.heatCell strong{font-size:15px;line-height:1;font-weight:900}
.heatCell small{font-size:6.5px;opacity:.78;line-height:1}
@media(max-width:1050px){
  .heatCell{min-height:48px!important}
  .heatCell .heatDay{font-size:7px}.heatCell strong{font-size:13px}
}



/* ==========================================================
   v4.6.5 · Distribución por categoría rediseñada
   ========================================================== */
.categoryKpiRow{
  display:grid;
  grid-template-columns:minmax(300px,.72fr) minmax(620px,1.28fr);
  gap:18px;
  margin-top:18px;
  align-items:stretch;
}
.categoryDistributionPanel{
  padding:18px 20px!important;
  overflow:hidden;
  background:
    radial-gradient(circle at 15% 20%,rgba(35,213,171,.06),transparent 34%),
    linear-gradient(145deg,#091827,#0b1b2b)!important;
}
.categoryKpiHeader{
  display:flex;
  align-items:center;
  gap:12px;
  margin-bottom:16px;
}
.categoryKpiIcon{
  width:38px;
  height:38px;
  display:grid;
  place-items:center;
  flex:0 0 auto;
  border:1px solid rgba(35,213,171,.45);
  border-radius:11px;
  background:#0c2730;
  color:#23d5ab;
  font-size:23px;
  line-height:1;
}
.categoryKpiHeader h3{
  margin:0;
  font-size:17px;
  line-height:1.15;
}
.categoryKpiHeader p{
  margin:4px 0 0;
  color:var(--muted);
  font-size:11px;
}
.categoryKpiBody{
  display:grid;
  grid-template-columns:minmax(225px,.85fr) minmax(330px,1.15fr);
  gap:26px;
  align-items:center;
}
.categoryPieSide{
  min-width:0;
}
.categoryPieChart{
  width:min(260px,100%)!important;
  aspect-ratio:1!important;
  margin:0 auto!important;
  box-shadow:0 15px 34px rgba(0,0,0,.2);
}
.categoryPieHole{
  inset:29%!important;
  background:radial-gradient(circle at 45% 38%,#10263a,#081725)!important;
  border:1px solid #29485d!important;
  box-shadow:inset 0 0 22px rgba(0,0,0,.3);
}
.categoryPieHole strong{
  display:block;
  font-size:34px!important;
  line-height:1;
  color:#fff;
  margin-bottom:7px;
}
.categoryPieHole small{
  display:block;
  font-size:9px!important;
  line-height:1.25;
  letter-spacing:.04em;
  color:#9fb9cc!important;
}
.categoryPieTotalLine{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  border-top:1px solid #214056;
  margin-top:15px;
  padding:12px 6px 0;
  font-size:11px;
}
.categoryPieTotalLine span{
  color:#cbd8e3;
  font-weight:700;
}
.categoryPieTotalLine strong{
  color:#23d5ab;
  font-size:12px;
}
.categoryLegendTable{
  min-width:0;
}
.categoryLegendHead{
  display:grid;
  grid-template-columns:minmax(0,1fr) 86px 72px;
  gap:8px;
  align-items:center;
  padding:0 6px 9px;
  border-bottom:1px solid #294253;
  color:#a9bdcc;
  font-size:9px;
  font-weight:800;
  letter-spacing:.04em;
}
.categoryLegendHead span:nth-child(2),
.categoryLegendHead span:nth-child(3){
  text-align:center;
}
.categoryDistributionPanel .pieLegend{
  display:block!important;
}
.categoryLegendRow{
  display:grid;
  grid-template-columns:minmax(0,1fr) 86px 72px;
  gap:8px;
  align-items:center;
  min-height:42px;
  padding:7px 6px;
  border-bottom:1px solid rgba(41,66,83,.72);
}
.categoryLegendName{
  display:grid;
  grid-template-columns:11px minmax(0,1fr);
  gap:10px;
  align-items:center;
  min-width:0;
  font-size:11px;
  font-weight:600;
}
.categoryLegendName>span:last-child{
  min-width:0;
  white-space:normal;
  overflow-wrap:anywhere;
  line-height:1.25;
}
.categoryLegendCount{
  text-align:center;
  font-size:12px;
}
.categoryLegendPct{
  justify-self:center;
  min-width:57px;
  padding:5px 7px;
  border-radius:10px;
  text-align:center;
  color:var(--legendColor);
  background:#10283a;
  border:1px solid #29485d;
  background:color-mix(in srgb,var(--legendColor) 14%,transparent);
  border-color:color-mix(in srgb,var(--legendColor) 18%,transparent);
  font-size:11px;
}
.categoryLegendTotal{
  display:grid;
  grid-template-columns:minmax(0,1fr) 86px 72px;
  gap:8px;
  align-items:center;
  padding:12px 6px 2px;
  font-size:11px;
}
.categoryLegendTotal span{
  font-weight:800;
  color:#dce7ef;
}
.categoryLegendTotal strong:nth-child(2){
  text-align:center;
}
.categoryLegendTotal strong:last-child{
  justify-self:center;
  min-width:57px;
  padding:5px 7px;
  text-align:center;
  border-radius:10px;
  background:#0c3234;
  color:#23d5ab;
  border:1px solid rgba(35,213,171,.16);
}
.categoryLegendEmpty{
  padding:22px 6px;
  color:var(--muted);
  text-align:center;
}
.monthlyCompactPanel{
  min-width:0;
}

/* responsive */
@media(max-width:1250px){
  .categoryKpiRow{
    grid-template-columns:1fr;
  }
  .categoryDistributionPanel{
    width:100%;
  }
  .categoryKpiBody{
    grid-template-columns:260px minmax(0,1fr);
  }
}
@media(max-width:760px){
  .categoryDistributionPanel{padding:15px!important}
  .categoryKpiBody{grid-template-columns:1fr;gap:18px}
  .categoryPieChart{width:220px!important}
  .categoryLegendHead,
  .categoryLegendRow,
  .categoryLegendTotal{
    grid-template-columns:minmax(0,1fr) 64px 62px;
  }
  .categoryLegendHead{font-size:8px}
  .categoryLegendName{font-size:10px}
}
@media(max-width:480px){
  .categoryLegendHead span:nth-child(2){font-size:0}
  .categoryLegendHead span:nth-child(2)::after{content:"ACT.";font-size:8px}
  .categoryLegendHead,
  .categoryLegendRow,
  .categoryLegendTotal{
    grid-template-columns:minmax(0,1fr) 46px 56px;
    gap:5px;
  }
  .categoryLegendPct{min-width:49px;padding:4px;font-size:9px}
}

/* impresión */



/* ===== v2.0 Revenue Intelligence mockup implementation ===== */
:root{--ri-teal:#21d4b1;--ri-blue:#38a7ff;--ri-purple:#8c7cf2;--ri-yellow:#ffc85a;--ri-red:#ff7b8b;--ri-panel:#0b1a2a;--ri-border:#1d3a50}
.riExecHeader,.riPageHeader{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:18px 20px;border:1px solid var(--ri-border);border-radius:14px;background:linear-gradient(135deg,#091827,#0d2133)}
.riExecHeader h2,.riPageHeader h2{margin:4px 0 3px;font-size:20px}.riExecHeader p,.riPageHeader p{margin:0;color:var(--muted);font-size:11px}
.riExecControls{display:flex;align-items:end;gap:8px;min-width:420px}.riExecControls .field{min-width:130px}.riExecControls .btn{height:34px}
.riKpiStrip{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:12px 0}
.riKpiStrip4{grid-template-columns:repeat(4,minmax(0,1fr))}
.riKpiCard{position:relative;min-height:92px;padding:13px 15px;border:1px solid var(--ri-border);border-radius:12px;background:linear-gradient(145deg,#0b1c2d,#0c2032);overflow:hidden}
.riKpiCard:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--ri-blue);opacity:.7}
.riKpiCard:nth-child(2):before{background:var(--ri-purple)}.riKpiCard:nth-child(3):before{background:var(--ri-teal)}.riKpiCard:nth-child(4):before{background:var(--ri-yellow)}.riKpiCard:nth-child(5):before{background:var(--ri-teal)}
.riKpiCard span{display:block;font-size:8px;font-weight:800;color:#9db5c7;letter-spacing:.04em}.riKpiCard>strong{display:block;margin:7px 0 4px;font-size:24px;line-height:1}.riKpiCard strong small{font-size:10px;color:var(--muted)}.riKpiCard em{font-size:9px;color:var(--ri-teal);font-style:normal}
.riScoreCard{padding-right:70px}.riGauge{position:absolute;right:12px;bottom:15px;width:50px;height:25px;border:7px solid #173449;border-bottom:0;border-radius:50px 50px 0 0;overflow:hidden}.riGauge i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--ri-blue),var(--ri-teal))}
.riExecMainGrid{display:grid;grid-template-columns:.8fr 1.08fr 1.35fr;gap:10px;margin-bottom:10px}.riExecBottomGrid{display:grid;grid-template-columns:1fr 1fr 1.05fr 1fr;gap:10px}.riExecMainGrid .panel,.riExecBottomGrid .panel{margin:0;padding:12px}
.riFunnel{padding:5px 10px}.riFunnelStage{height:34px;margin:0 auto 3px;display:flex;align-items:center;justify-content:center;gap:10px;clip-path:polygon(5% 0,95% 0,87% 100%,13% 100%);font-size:9px;font-weight:800;color:#fff}.riFunnelStage strong{font-size:12px}.riFunnelRate{text-align:center;font-size:8px;color:var(--muted);margin:-1px 0 2px}
.riMiniDonutWrap{display:grid;grid-template-columns:145px 1fr;gap:12px;align-items:center}.riMiniDonut{width:140px;height:140px;border-radius:50%;position:relative;display:grid;place-items:center}.riMiniDonut:after{content:"";position:absolute;inset:30%;background:#0b1a2a;border:1px solid #24475f;border-radius:50%}.riMiniDonut>div{z-index:2;text-align:center}.riMiniDonut strong{display:block;font-size:23px}.riMiniDonut small{font-size:7px;color:var(--muted)}.riMiniLegend{font-size:8px}.riLegendRow{display:grid;grid-template-columns:8px 1fr auto;gap:6px;align-items:center;margin:7px 0}.riLegendRow i{width:7px;height:7px;border-radius:2px}.riLegendRow span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.riLegendRow strong{font-size:8px}
.riTrendChart{height:155px;display:flex;align-items:end;gap:3px;padding:10px 4px 18px;border-bottom:1px solid #214055}.riTrendBar{flex:1;min-width:3px;background:linear-gradient(180deg,var(--ri-teal),#167e82);border-radius:3px 3px 0 0;position:relative}.riTrendBar:hover:after{content:attr(data-tip);position:absolute;bottom:100%;left:50%;transform:translateX(-50%);padding:4px 6px;background:#07121d;border:1px solid #31526a;border-radius:5px;font-size:7px;white-space:nowrap;z-index:4}
.riSignalStrip{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:10px 0}.riSignal{display:flex;gap:10px;align-items:center;padding:9px 12px;border:1px solid var(--ri-border);border-radius:10px;background:#0a1928}.riSignal>span{font-size:18px;color:var(--ri-teal)}.riSignal strong{display:block;font-size:9px}.riSignal small{font-size:7px;color:var(--muted)}
.riInsightsPanel{margin-top:10px!important}.riHeaderBadge{padding:7px 10px;border:1px solid #24506a;border-radius:999px;color:var(--ri-teal);font-size:9px;background:#0b2633}.riClientSelector{min-width:250px}
.riOppTable{width:100%;border-collapse:collapse}.riOppTable th{padding:8px 7px;text-align:left;font-size:8px;color:#8fa9bb;border-bottom:1px solid #284458}.riOppTable td{padding:9px 7px;font-size:9px;border-bottom:1px solid #172f42;vertical-align:middle}.riOppTable tr{cursor:pointer}.riOppTable tr:hover td{background:#0e2435}.riScorePill{display:inline-grid;place-items:center;min-width:34px;padding:5px 6px;border-radius:7px;font-weight:900}.riScorePill.high{background:#153f38;color:#55e3ba}.riScorePill.mid{background:#443816;color:#ffd164}.riScorePill.low{background:#431e27;color:#ff8492}.riStagePill{padding:4px 7px;border:1px solid #2c4d64;border-radius:999px;color:#b8ccda;white-space:nowrap}.riActionBtn{padding:5px 7px;border:1px solid #2b536d;border-radius:6px;background:#10283a;color:#dce8f0;font-size:8px}
.riNextRow,.riCoolingRow{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;padding:9px;border-bottom:1px solid #1c374a}.riNextRow strong,.riCoolingRow strong{display:block;font-size:9px}.riNextRow small,.riCoolingRow small{font-size:8px;color:var(--muted)}.riDays{font-size:8px;padding:4px 6px;border-radius:7px;background:#102a3c;color:#9ed6f3}
.riClientHero{display:grid;grid-template-columns:1.4fr repeat(4,.7fr);gap:8px;margin:12px 0}.riClientHero>div{padding:12px;border:1px solid var(--ri-border);border-radius:10px;background:#0b1b2b}.riClientHero .riClientName strong{font-size:17px}.riClientHero span{display:block;font-size:7px;color:var(--muted);text-transform:uppercase}.riClientHero strong{display:block;margin-top:5px;font-size:12px}.riClientGrid{display:grid;grid-template-columns:.75fr 1.25fr;gap:10px}.riMiniBars .barRow{grid-template-columns:110px 1fr 25px}.riTimeline{position:relative;padding-left:15px}.riTimeline:before{content:"";position:absolute;left:4px;top:5px;bottom:5px;width:1px;background:#2b5169}.riTimelineRow{position:relative;padding:0 0 12px 12px;font-size:9px}.riTimelineRow:before{content:"";position:absolute;left:-14px;top:3px;width:7px;height:7px;border-radius:50%;background:var(--ri-teal)}.riTimelineRow small{display:block;color:var(--muted);font-size:7px;margin-top:2px}
.riKamHero{display:grid;grid-template-columns:1.4fr repeat(5,.7fr);gap:8px;margin:12px 0}.riKamHero>div{padding:11px;border:1px solid var(--ri-border);border-radius:10px;background:#0b1b2b}.riKamHero span{display:block;font-size:7px;color:var(--muted)}.riKamHero strong{display:block;font-size:16px;margin-top:4px}.riKamGrid{display:grid;grid-template-columns:.75fr 1.25fr;gap:10px;margin-bottom:10px}
.riMatrixWrap{overflow:auto}.riMatrix{border-collapse:separate;border-spacing:3px;width:100%;min-width:700px}.riMatrix th{font-size:7px;color:#9bb0bf;padding:5px}.riMatrix td{font-size:9px;text-align:center;padding:8px;border-radius:5px;background:#0c2132;border:1px solid #193b50;cursor:pointer}.riMatrix td[data-v="0"]{color:#5e7180}.riMatrix td.hot{background:#0b655d;color:#fff}.riMatrix td.warm{background:#12475a;color:#d9f9ff}
.execRankRow{grid-template-columns:26px minmax(0,1fr) 34px!important;padding:6px 7px!important;margin:3px 0!important}.execRankRow:before{width:20px!important;height:20px!important}.scoreRow{padding:6px 7px!important;margin:3px 0!important}.scoreBadge{width:32px!important;height:32px!important;font-size:9px!important}.heatCell{min-height:38px!important}.heatCell strong{font-size:11px!important}.heatCell small{display:none}.heatCell .heatDay{font-size:6.5px!important}.riHours{margin-top:7px;max-height:300px;overflow:auto;padding-right:4px}
.riDashGrid4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:10px 0}
.riFichaPanel{margin:10px 0}
.riFichaMiniHero{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;margin:8px 0 12px;padding:10px 12px;border:1px solid var(--ri-border);border-radius:10px;background:#0a1928}
.riFichaMiniHero>div:first-child strong{font-size:15px;margin-right:8px}
.riFichaMeta{display:flex;gap:18px;flex-wrap:wrap}
.riFichaMeta div{font-size:7px;color:var(--muted);text-transform:uppercase}
.riFichaMeta b{display:block;color:#e7eef3;font-size:10.5px;margin-top:3px;text-transform:none;font-weight:700}
.riObjTable{width:100%;border-collapse:collapse}
.riObjTable th{font-size:7.5px;color:#8fa9bb;text-align:left;padding:6px 5px;border-bottom:1px solid #284458}
.riObjTable td{font-size:9px;padding:7px 5px;border-bottom:1px solid #172f42;vertical-align:middle}
.riObjBarWrap{display:flex;align-items:center;gap:7px}
.riObjBarTrack{height:6px;border-radius:4px;background:#122a3c;overflow:hidden;min-width:60px;flex:1}
.riObjBarFill{height:100%;background:linear-gradient(90deg,var(--ri-blue),var(--ri-teal))}
.riObjTable input{width:56px;background:#0c2032;border:1px solid #24475f;color:#e7eef3;border-radius:5px;padding:3px 5px;font-size:9px}
.riObjProjection{margin-top:10px;padding:9px 10px;border:1px solid var(--ri-border);border-radius:9px;background:#0a1928;font-size:9px;line-height:1.6}
.riOppCards{display:flex;flex-direction:column;gap:6px}
.riOppCard{display:grid;grid-template-columns:32px 1fr auto;gap:9px;align-items:center;padding:8px 9px;border:1px solid var(--ri-border);border-radius:9px;background:#0a1928;cursor:pointer}
.riOppCard:hover{background:#0e2435}
.riOppCard strong{display:block;font-size:9.5px}
.riOppCard small{color:var(--muted);font-size:7.5px;display:block;margin-top:2px}
.riKamDetailHero{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:8px}
.riKamDetailHero>div{padding:9px;border:1px solid var(--ri-border);border-radius:10px;background:#0b1b2b}
.riKamDetailHero span{display:block;font-size:7px;color:var(--muted)}
.riKamDetailHero strong{display:block;font-size:15px;margin-top:4px}
.riKamDetailHero .riKdSpark{grid-column:1/-1}
.riPdfPreviewStrip{display:flex;gap:8px;overflow-x:auto;padding-bottom:2px}
.riPdfMini{min-width:140px;flex:1;padding:10px;border:1px solid var(--ri-border);border-radius:9px;background:#0b1b2b}
.riPdfMini h4{margin:0 0 6px;font-size:7.5px;color:#9db5c7;letter-spacing:.03em}
.riPdfMini .big{font-size:19px;font-weight:800;line-height:1}
.riPdfMini small{display:block;margin-top:5px;color:var(--muted);font-size:7.5px}
@media(max-width:1250px){.riKpiStrip{grid-template-columns:repeat(3,1fr)}.riExecMainGrid{grid-template-columns:1fr 1fr}.riTrendPanel{grid-column:1/-1}.riExecBottomGrid{grid-template-columns:1fr 1fr}.riClientHero,.riKamHero{grid-template-columns:repeat(3,1fr)}.riDashGrid4{grid-template-columns:1fr 1fr}}
@media(max-width:780px){.riExecHeader,.riPageHeader{align-items:flex-start;flex-direction:column}.riExecControls{min-width:0;width:100%;flex-wrap:wrap}.riKpiStrip,.riKpiStrip4{grid-template-columns:1fr 1fr}.riExecMainGrid,.riExecBottomGrid,.riClientGrid,.riKamGrid,.riDashGrid4{grid-template-columns:1fr}.riMiniDonutWrap{grid-template-columns:130px 1fr}.riClientHero,.riKamHero{grid-template-columns:1fr 1fr}.riSignalStrip{grid-template-columns:1fr}.riKamDetailHero{grid-template-columns:1fr 1fr}}



/* ===== v4.6.5 Executive readability + calendar heatmap + professional print ===== */
#tab-executive{font-size:13px}
#tab-executive .sectionTitle h3{font-size:13px;letter-spacing:.01em}
#tab-executive .sectionTitle small{font-size:10px;line-height:1.35}
#tab-executive .riExecHeader h2{font-size:24px}
#tab-executive .riExecHeader p{font-size:12px;line-height:1.5}
#tab-executive .riKpiCard span{font-size:10px}
#tab-executive .riKpiCard>strong{font-size:28px}
#tab-executive .riKpiCard em{font-size:10px}
#tab-executive .execRankRow span,#tab-executive .execRankRow strong{font-size:11px}
#tab-executive .scoreRow strong{font-size:11px}
#tab-executive .scoreRow small{font-size:9px!important;line-height:1.35}
#tab-executive .riSignal strong{font-size:11px}
#tab-executive .riSignal small{font-size:9px}
#tab-executive .riDashGrid4{grid-template-columns:repeat(2,minmax(0,1fr))}

.riCalHeader{display:flex;justify-content:space-between;align-items:center;margin:2px 0 8px;padding:0 2px}
.riCalHeader strong{font-size:12px;text-transform:capitalize}.riCalHeader span{font-size:8px;color:var(--muted)}
.riCalWeek,.riCalendarHeat{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}
.riCalWeek{margin-bottom:4px}.riCalWeek b{text-align:center;font-size:8px;color:#8faabd;font-weight:700;padding:3px}
.riCalDay{min-width:0;aspect-ratio:1.15/1;border:1px solid #1e3c51;border-radius:7px;padding:5px;display:flex;flex-direction:column;align-items:center;justify-content:center;transition:.15s;background:#0b1b2a}
.riCalDay span{align-self:flex-start;font-size:8px;color:#a9c0d0;line-height:1}.riCalDay strong{font-size:14px;line-height:1.15;margin-top:auto}.riCalDay small{font-size:6px;color:#b7cbd7;margin-top:1px}.riCalEmpty{border-color:transparent;background:transparent}
.riCalLevel0{opacity:.48}.riCalLevel1{background:#103246}.riCalLevel2{background:#105260}.riCalLevel3{background:#08776f}.riCalLevel4{background:#08a98f;box-shadow:inset 0 0 0 1px rgba(80,255,218,.18)}
.riCalDay:not(.riCalEmpty):hover{transform:translateY(-1px);border-color:#4e819e}
.riHourTitle{font-size:8px;font-weight:800;color:#9eb5c5;margin:8px 0 4px;text-transform:uppercase;letter-spacing:.04em}
#tab-opportunities{font-size:13px}
#tab-opportunities .riPageHeader h2{font-size:24px}
#tab-opportunities .riPageHeader p{font-size:12px;line-height:1.5}
#tab-opportunities .riKpiCard span{font-size:10px}
#tab-opportunities .riKpiCard>strong{font-size:27px}
#tab-opportunities .riKpiCard em{font-size:10px}
#tab-opportunities .sectionTitle h3{font-size:13px}
#tab-opportunities .sectionTitle small{font-size:10px}
#tab-opportunities .riOppTable th{font-size:9px;padding:10px 8px}
#tab-opportunities .riOppTable td{font-size:11px;line-height:1.35;padding:11px 8px}
#tab-opportunities .riStagePill,#tab-opportunities .riActionBtn{font-size:9px}
#tab-opportunities .riNextRow strong,#tab-opportunities .riCoolingRow strong{font-size:11px}
#tab-opportunities .riNextRow small,#tab-opportunities .riCoolingRow small,#tab-opportunities .riDays{font-size:9px}

@media(max-width:1180px){
 #tab-executive .riExecBottomGrid{grid-template-columns:repeat(2,minmax(0,1fr))}
 #tab-executive .riDashGrid4{grid-template-columns:1fr}
 .riCalDay{aspect-ratio:auto;min-height:54px}
}
@media(max-width:700px){
 .riCalWeek,.riCalendarHeat{gap:2px}.riCalDay{padding:3px;min-height:46px;border-radius:5px}.riCalDay strong{font-size:12px}.riCalDay small{font-size:5.5px}
 #tab-executive .riExecBottomGrid{grid-template-columns:1fr}
}

/* Professional print system — Letter */



/* ============================================================
   v4.6.5 · Readability upgrade
   Executive Summary / Oportunidades / Cliente 360°
   ============================================================ */

/* ---------- Executive Summary ---------- */
#tab-executive{
  font-size:14px!important;
  line-height:1.45;
}
#tab-executive .riExecHeader{
  padding:22px 24px!important;
}
#tab-executive .riExecHeader .eyebrow{
  font-size:11px!important;
}
#tab-executive .riExecHeader h2{
  font-size:28px!important;
  line-height:1.15!important;
  margin:6px 0 6px!important;
}
#tab-executive .riExecHeader p{
  font-size:13px!important;
  line-height:1.55!important;
  max-width:820px;
}
#tab-executive .riExecControls label{
  font-size:10px!important;
}
#tab-executive .riExecControls select{
  font-size:12px!important;
  min-height:38px;
}
#tab-executive .riKpiStrip{
  gap:12px!important;
  margin:14px 0!important;
}
#tab-executive .riKpiCard{
  min-height:112px!important;
  padding:16px 17px!important;
}
#tab-executive .riKpiCard span{
  font-size:11px!important;
  line-height:1.25!important;
}
#tab-executive .riKpiCard>strong{
  font-size:32px!important;
  margin:10px 0 6px!important;
}
#tab-executive .riKpiCard em{
  font-size:11px!important;
  line-height:1.35!important;
}
#tab-executive .riScoreCard>strong{
  font-size:30px!important;
}
#tab-executive .riGauge{
  width:58px!important;
  height:29px!important;
}
#tab-executive .panel{
  padding:16px!important;
}
#tab-executive .sectionTitle{
  margin-bottom:11px!important;
}
#tab-executive .sectionTitle h3{
  font-size:15px!important;
  line-height:1.2!important;
}
#tab-executive .sectionTitle small{
  font-size:11px!important;
  line-height:1.4!important;
}
#tab-executive .riFunnelStage{
  height:42px!important;
  font-size:11px!important;
}
#tab-executive .riFunnelStage strong{
  font-size:15px!important;
}
#tab-executive .riFunnelRate{
  font-size:10px!important;
  margin:2px 0 5px!important;
}
#tab-executive .riLegendRow{
  font-size:10px!important;
  margin:9px 0!important;
}
#tab-executive .riLegendRow strong{
  font-size:10px!important;
}
#tab-executive .riMiniDonut strong{
  font-size:27px!important;
}
#tab-executive .riMiniDonut small{
  font-size:9px!important;
}
#tab-executive .execRankRow{
  min-height:38px!important;
  padding:8px 9px!important;
  margin:5px 0!important;
}
#tab-executive .execRankRow span,
#tab-executive .execRankRow strong{
  font-size:12px!important;
}
#tab-executive .execRankRow:before{
  width:25px!important;
  height:25px!important;
  font-size:10px!important;
}
#tab-executive .scoreRow{
  padding:9px 10px!important;
  margin:5px 0!important;
}
#tab-executive .scoreRow strong{
  font-size:12px!important;
}
#tab-executive .scoreRow small{
  font-size:10px!important;
  line-height:1.45!important;
}
#tab-executive .scoreBadge{
  width:38px!important;
  height:38px!important;
  font-size:11px!important;
}
#tab-executive .riSignal{
  padding:12px 14px!important;
}
#tab-executive .riSignal>span{
  font-size:22px!important;
}
#tab-executive .riSignal strong{
  font-size:12px!important;
}
#tab-executive .riSignal small{
  font-size:10px!important;
  line-height:1.35!important;
}
#tab-executive #executiveInsights{
  font-size:12px!important;
  line-height:1.55!important;
  padding:14px!important;
}
#tab-executive #executiveInsights strong{
  font-size:13px!important;
}
#tab-executive #executiveInsights li{
  margin:5px 0!important;
}
#tab-executive .riFichaPanel{
  padding:17px!important;
}

/* Heatmap calendario más legible */
#tab-executive .riCalHeader strong{
  font-size:13px!important;
}
#tab-executive .riCalHeader span{
  font-size:9px!important;
}
#tab-executive .riCalWeek b{
  font-size:9px!important;
}
#tab-executive .riCalDay{
  min-height:62px!important;
  padding:6px!important;
}
#tab-executive .riCalDay span{
  font-size:9px!important;
}
#tab-executive .riCalDay strong{
  font-size:16px!important;
}
#tab-executive .riCalDay small{
  font-size:7px!important;
}

/* ---------- Oportunidades ---------- */
#tab-opportunities{
  font-size:14px!important;
  line-height:1.45!important;
}
#tab-opportunities .riPageHeader{
  padding:22px 24px!important;
}
#tab-opportunities .riPageHeader .eyebrow{
  font-size:11px!important;
}
#tab-opportunities .riPageHeader h2{
  font-size:28px!important;
  margin:6px 0!important;
}
#tab-opportunities .riPageHeader p{
  font-size:13px!important;
  line-height:1.55!important;
}
#tab-opportunities .riHeaderBadge{
  font-size:11px!important;
  padding:9px 12px!important;
}
#tab-opportunities .riKpiStrip{
  gap:12px!important;
  margin:14px 0!important;
}
#tab-opportunities .riKpiCard{
  min-height:105px!important;
  padding:16px!important;
}
#tab-opportunities .riKpiCard span{
  font-size:11px!important;
}
#tab-opportunities .riKpiCard>strong{
  font-size:31px!important;
}
#tab-opportunities .riKpiCard em{
  font-size:11px!important;
}
#tab-opportunities .panel{
  padding:17px!important;
}
#tab-opportunities .sectionTitle h3{
  font-size:15px!important;
}
#tab-opportunities .sectionTitle small{
  font-size:11px!important;
}
#tab-opportunities .riOppTable th{
  font-size:10px!important;
  padding:11px 9px!important;
}
#tab-opportunities .riOppTable td{
  font-size:12px!important;
  line-height:1.45!important;
  padding:12px 9px!important;
}
#tab-opportunities .riStagePill{
  font-size:10px!important;
  padding:5px 8px!important;
}
#tab-opportunities .riScorePill{
  font-size:11px!important;
  min-width:38px!important;
}
#tab-opportunities .riActionBtn{
  font-size:10px!important;
  padding:6px 8px!important;
}
#tab-opportunities .riNextRow,
#tab-opportunities .riCoolingRow{
  padding:11px 10px!important;
}
#tab-opportunities .riNextRow strong,
#tab-opportunities .riCoolingRow strong{
  font-size:12px!important;
}
#tab-opportunities .riNextRow small,
#tab-opportunities .riCoolingRow small{
  font-size:10px!important;
  line-height:1.4!important;
}
#tab-opportunities .riDays{
  font-size:10px!important;
  padding:5px 7px!important;
}

/* ---------- Cliente 360 ---------- */
#tab-client360{
  font-size:14px!important;
  line-height:1.45!important;
}
#tab-client360 .riPageHeader{
  padding:22px 24px!important;
}
#tab-client360 .riPageHeader .eyebrow{
  font-size:11px!important;
}
#tab-client360 .riPageHeader h2{
  font-size:28px!important;
  margin:6px 0!important;
}
#tab-client360 .riPageHeader p{
  font-size:13px!important;
  line-height:1.55!important;
}
#tab-client360 .riClientSelector label{
  font-size:10px!important;
}
#tab-client360 .riClientSelector select{
  min-height:40px!important;
  font-size:12px!important;
}
#tab-client360 .riClientHero{
  gap:10px!important;
  margin:14px 0!important;
}
#tab-client360 .riClientHero>div{
  padding:15px!important;
}
#tab-client360 .riClientHero span{
  font-size:9px!important;
}
#tab-client360 .riClientHero strong{
  font-size:15px!important;
  line-height:1.3!important;
}
#tab-client360 .riClientHero .riClientName strong{
  font-size:21px!important;
}
#tab-client360 .riClientHero .riScorePill{
  font-size:10px!important;
  margin-top:7px!important;
  display:inline-block;
}
#tab-client360 .panel{
  padding:17px!important;
}
#tab-client360 .sectionTitle h3{
  font-size:15px!important;
}
#tab-client360 .sectionTitle small{
  font-size:11px!important;
}
#tab-client360 .barRow{
  font-size:11px!important;
  margin:9px 0!important;
}
#tab-client360 .barRow span{
  font-size:11px!important;
}
#tab-client360 .barRow strong{
  font-size:11px!important;
}
#tab-client360 .notice{
  font-size:11px!important;
  line-height:1.5!important;
}
#tab-client360 .riTimeline{
  padding-left:18px!important;
}
#tab-client360 .riTimelineRow{
  padding:0 0 15px 14px!important;
  font-size:11px!important;
}
#tab-client360 .riTimelineRow strong{
  font-size:12px!important;
  line-height:1.35!important;
}
#tab-client360 .riTimelineRow small{
  font-size:9px!important;
  line-height:1.4!important;
  margin-top:4px!important;
}

/* ---------- Desktop comfortable density ---------- */
@media (min-width:1400px){
  #tab-executive .riExecMainGrid{
    grid-template-columns:.9fr 1.05fr 1.25fr!important;
    gap:14px!important;
  }
  #tab-executive .riExecBottomGrid{
    gap:14px!important;
  }
  #tab-client360 .riClientGrid{
    gap:14px!important;
  }
}

/* ---------- Notebook/tablet responsive ---------- */
@media (max-width:1200px){
  #tab-executive .riKpiStrip{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }
  #tab-executive .riExecMainGrid{
    grid-template-columns:1fr 1fr!important;
  }
  #tab-executive .riTrendPanel{
    grid-column:1/-1!important;
  }
  #tab-executive .riExecBottomGrid{
    grid-template-columns:1fr 1fr!important;
  }
  #tab-opportunities .riKpiStrip{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  #tab-client360 .riClientHero{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }
}

/* ---------- Mobile ---------- */
@media (max-width:760px){
  #tab-executive .riExecHeader h2,
  #tab-opportunities .riPageHeader h2,
  #tab-client360 .riPageHeader h2{
    font-size:23px!important;
  }
  #tab-executive .riKpiStrip,
  #tab-opportunities .riKpiStrip{
    grid-template-columns:1fr 1fr!important;
  }
  #tab-executive .riExecMainGrid,
  #tab-executive .riExecBottomGrid,
  #tab-client360 .riClientGrid{
    grid-template-columns:1fr!important;
  }
  #tab-client360 .riClientHero{
    grid-template-columns:1fr 1fr!important;
  }
  #tab-opportunities .riOppTable{
    table-layout:auto!important;
  }
}

/* Mantener PDF compacto y profesional: las reglas de impresión previas siguen mandando */


/* v4.6.5 Performance KAM restored */
#tab-kam360{font-size:14px!important;line-height:1.45}
#tab-kam360 .riPageHeader{padding:22px 24px!important}
#tab-kam360 .riPageHeader .eyebrow{font-size:11px!important}
#tab-kam360 .riPageHeader h2{font-size:28px!important;line-height:1.15!important;margin:6px 0!important}
#tab-kam360 .riPageHeader p{font-size:13px!important;line-height:1.55!important}
#tab-kam360 .riClientSelector label{font-size:10px!important}
#tab-kam360 .riClientSelector select{min-height:40px!important;font-size:12px!important}
#tab-kam360 .riKamHero{gap:10px!important;margin:14px 0!important}
#tab-kam360 .riKamHero>div{padding:15px!important;min-height:82px}
#tab-kam360 .riKamHero span{font-size:9px!important}
#tab-kam360 .riKamHero strong{font-size:19px!important;margin-top:7px!important}
#tab-kam360 .panel{padding:17px!important}
#tab-kam360 .sectionTitle h3{font-size:15px!important}
#tab-kam360 .sectionTitle small{font-size:11px!important}
#tab-kam360 .execRankRow{min-height:39px!important;padding:9px 10px!important;margin:5px 0!important}
#tab-kam360 .execRankRow span,#tab-kam360 .execRankRow strong{font-size:12px!important}
#tab-kam360 .riTrendChart{height:190px!important}
#tab-kam360 .riMatrix th{font-size:9px!important;padding:7px!important}
#tab-kam360 .riMatrix td{font-size:11px!important;padding:10px!important}
@media(max-width:1200px){#tab-kam360 .riKamHero{grid-template-columns:repeat(3,minmax(0,1fr))!important}#tab-kam360 .riKamGrid{grid-template-columns:1fr!important}}
@media(max-width:700px){#tab-kam360 .riPageHeader h2{font-size:23px!important}#tab-kam360 .riKamHero{grid-template-columns:1fr 1fr!important}}



/* v4.6.5 · Google connection status */
#googleStatus.statusOk{color:var(--theme-success,#61dfc1)!important}
#googleStatus.statusError{color:#ff8d9a!important}
#refreshGoogleStatus{margin-top:8px;width:100%}


/* v4.6.5 · Maintenance procedure + user calendar guide modal */
#calendarSetupGuideModal{
  display:none;
  position:fixed;
  inset:0;
  z-index:10000;
  background:rgba(3,10,17,.78);
  padding:24px;
  align-items:center;
  justify-content:center;
  overflow:auto;
}
#calendarSetupGuideModal.open{display:flex}
#calendarSetupGuideModal .calendarGuideModal{margin:auto}
.dbProcedureRunner{display:grid;grid-template-columns:1.2fr .9fr auto;gap:10px;align-items:end;margin-top:12px}
.dbProcAction{min-width:180px}
.procedureExamples{display:grid;grid-template-columns:max-content 1fr;gap:7px 12px;align-items:center;margin-top:12px;padding:11px 13px;border:1px solid #28485c;border-radius:10px;background:#091a27}
.procedureExamples code{font-size:10px;color:#72e1c9}.procedureExamples span{font-size:9px;color:var(--muted)}
@media(max-width:800px){.dbProcedureRunner{grid-template-columns:1fr}.dbProcAction{min-width:0}.procedureExamples{grid-template-columns:1fr}}



.dbConnectionCheck{display:flex;align-items:center;gap:10px;margin:10px 0 14px;padding:10px 12px;border:1px solid #28485c;border-radius:10px;background:#091a27}
#databaseConnectionResult{font-size:10px;color:var(--muted)}


/* v4.6.5 · Calendar guide popup actions */
#calendarSetupGuideModal button{pointer-events:auto!important;position:relative;z-index:2}
body.printingCalendarGuide #calendarSetupGuideModal{display:block!important}



/* v4.6.5 · Role based scopes */
.roleScopeBar{display:none;align-items:end;justify-content:flex-end;gap:8px;margin:0 0 12px;padding:10px 12px;border:1px solid #23475d;border-radius:11px;background:#091b29}
.roleScopeBar .field{min-width:190px}.roleScopeBar label{font-size:8px}.roleScopeBar select{min-height:36px;font-size:10px}
@media(max-width:760px){.roleScopeBar{flex-direction:column;align-items:stretch}.roleScopeBar .field{min-width:0}}


/* ============================================================
   v4.6.5 · Readability / Typography
   Executive, KPI, Cliente 360, Oportunidades, Performance KAM
   ============================================================ */

/* General executive and analytical pages */
#tab-executive,
#tab-kpis,
#tab-client360,
#tab-opportunities,
#tab-kam360{
  font-size:15px!important;
  line-height:1.5!important;
}

/* Page titles */
#tab-executive .riExecHeader h2,
#tab-kpis .hero h2,
#tab-client360 .riPageHeader h2,
#tab-opportunities .riPageHeader h2,
#tab-kam360 .riPageHeader h2{
  font-size:30px!important;
  line-height:1.15!important;
}

#tab-executive .riExecHeader p,
#tab-kpis .hero p,
#tab-client360 .riPageHeader p,
#tab-opportunities .riPageHeader p,
#tab-kam360 .riPageHeader p{
  font-size:14px!important;
  line-height:1.55!important;
}

/* Section headings */
#tab-executive .sectionTitle h3,
#tab-kpis .sectionTitle h3,
#tab-client360 .sectionTitle h3,
#tab-opportunities .sectionTitle h3,
#tab-kam360 .sectionTitle h3{
  font-size:17px!important;
  line-height:1.25!important;
}

#tab-executive .sectionTitle small,
#tab-kpis .sectionTitle small,
#tab-client360 .sectionTitle small,
#tab-opportunities .sectionTitle small,
#tab-kam360 .sectionTitle small{
  font-size:12px!important;
  line-height:1.4!important;
}

/* KPI cards */
#tab-executive .riKpiCard,
#tab-kpis .kpi,
#tab-opportunities .riKpiCard{
  min-height:118px!important;
  padding:17px 18px!important;
}

#tab-executive .riKpiCard span,
#tab-kpis .kpi span,
#tab-opportunities .riKpiCard span{
  font-size:12px!important;
}

#tab-executive .riKpiCard>strong,
#tab-kpis .kpi strong,
#tab-opportunities .riKpiCard>strong{
  font-size:34px!important;
  line-height:1.05!important;
}

#tab-executive .riKpiCard em,
#tab-kpis .kpi small,
#tab-opportunities .riKpiCard em{
  font-size:12px!important;
  line-height:1.35!important;
}

/* Executive rankings / score / heatmap */
#tab-executive .execRankRow{
  min-height:45px!important;
  padding:11px 12px!important;
}
#tab-executive .execRankRow span,
#tab-executive .execRankRow strong{
  font-size:13px!important;
}
#tab-executive .scoreRow strong{font-size:13px!important}
#tab-executive .scoreRow small{font-size:11px!important;line-height:1.45!important}
#tab-executive .scoreBadge{font-size:13px!important;width:46px!important;height:46px!important}
#tab-executive .heatCell{font-size:11px!important;min-height:34px!important}
#tab-executive #execHours .barRow{font-size:11px!important}

/* Opportunities */
#tab-opportunities .riOppTable th{
  font-size:11px!important;
  padding:12px 10px!important;
}
#tab-opportunities .riOppTable td{
  font-size:13px!important;
  line-height:1.5!important;
  padding:13px 10px!important;
}
#tab-opportunities .riStagePill,
#tab-opportunities .riScorePill,
#tab-opportunities .riActionBtn{
  font-size:11px!important;
}
#tab-opportunities .riNextRow strong,
#tab-opportunities .riCoolingRow strong{
  font-size:13px!important;
}
#tab-opportunities .riNextRow small,
#tab-opportunities .riCoolingRow small{
  font-size:11px!important;
}

/* Cliente 360 */
#tab-client360 .riClientSelector label,
#tab-kam360 .riClientSelector label{
  font-size:11px!important;
}
#tab-client360 .riClientSelector select,
#tab-kam360 .riClientSelector select{
  min-height:42px!important;
  font-size:13px!important;
}
#tab-client360 .riClientHero span,
#tab-kam360 .riKamHero span{
  font-size:10px!important;
}
#tab-client360 .riClientHero strong{
  font-size:17px!important;
}
#tab-client360 .riClientHero .riClientName strong{
  font-size:23px!important;
}
#tab-client360 .barRow,
#tab-client360 .barRow span,
#tab-client360 .barRow strong{
  font-size:12px!important;
}
#tab-client360 .notice{
  font-size:12px!important;
}
#tab-client360 .riTimelineRow{
  font-size:12px!important;
}
#tab-client360 .riTimelineRow strong{
  font-size:13px!important;
}
#tab-client360 .riTimelineRow small{
  font-size:10.5px!important;
}

/* Performance KAM */
#tab-kam360 .riKamHero strong{
  font-size:21px!important;
}
#tab-kam360 .execRankRow span,
#tab-kam360 .execRankRow strong{
  font-size:13px!important;
}
#tab-kam360 .riMatrix th{
  font-size:10.5px!important;
}
#tab-kam360 .riMatrix td{
  font-size:12px!important;
}
#tab-kam360 .notice{
  font-size:12px!important;
}

/* Scope filters */
.roleScopeBar label{font-size:10px!important}
.roleScopeBar select{font-size:12px!important;min-height:40px!important}

/* Responsive scaling */
@media(max-width:1200px){
  #tab-executive,
  #tab-kpis,
  #tab-client360,
  #tab-opportunities,
  #tab-kam360{
    font-size:14px!important;
  }
}

@media(max-width:760px){
  #tab-executive .riExecHeader h2,
  #tab-kpis .hero h2,
  #tab-client360 .riPageHeader h2,
  #tab-opportunities .riPageHeader h2,
  #tab-kam360 .riPageHeader h2{
    font-size:25px!important;
  }
  #tab-executive .riKpiCard>strong,
  #tab-kpis .kpi strong,
  #tab-opportunities .riKpiCard>strong{
    font-size:29px!important;
  }
}

/* Preserve compact PDF layouts */



/* v4.6.5 · Service Account por usuario */
.serviceAccountField{grid-column:span 2}
.serviceAccountField textarea{width:100%;min-height:74px;resize:vertical;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:10px;line-height:1.35}
.serviceAccountField small{display:block;margin-top:4px;color:var(--muted);font-size:9px;line-height:1.35}
@media(max-width:900px){.serviceAccountField{grid-column:1/-1}}


/* v4.6.5 · Dual Google auth */
.toggleLine{display:flex!important;align-items:center;gap:8px;min-height:40px;padding:0 10px;border:1px solid #28485c;border-radius:9px;background:#091a27;text-transform:none!important;letter-spacing:0!important}
.toggleLine input{width:18px;height:18px;margin:0}
.toggleLine span{font-size:11px;color:#d7e7ef;font-weight:700}
.authModeField small{display:block;font-size:9px;color:var(--muted);margin-top:4px}


/* ============================================================
   v4.6.5 · Lightweight UI
   Reduce expensive painting/compositing on NAS/desktop browsers.
   ============================================================ */
html{scroll-behavior:auto!important}
body{background:#07111f!important}
.topbar{backdrop-filter:none!important;-webkit-backdrop-filter:none!important;background:#0d1b2a!important}
.processBackdrop{backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
.heroCard,.panel,.kpi,.qualityMetric,.processModal,.modal,.modalCard{
  box-shadow:none!important;
}
.btn.primary,.tabBtn.active,.chartBar,.fill,.kpi{
  background-image:none!important;
}
.btn.primary,.tabBtn.active{background:var(--accent)!important}
.kpi{background:#0d1f30!important}
.fill,.chartBar{background:var(--accent2)!important}
*{transition-duration:0s!important}
.processFill{transition:none!important}
.expandActivityBtn .arrow{transition:none!important}
.tabPane{contain:layout style paint}
.panel{content-visibility:auto;contain-intrinsic-size:500px}
.tableWrap{contain:layout paint}
#tbody tr{content-visibility:auto;contain-intrinsic-size:52px}
.oauthInfoCard{min-height:74px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:#091725}
.oauthInfoCard strong{display:block;font-size:11px;margin-bottom:4px}
.oauthInfoCard small{display:block;font-size:9px;line-height:1.45;color:var(--muted)}
@media(prefers-reduced-motion:reduce){
  .processSpinner{animation:none!important}
}


/* ============================================================
   v4.6.5 · Ultra-light UI + Google tutorial
   ============================================================ */
.googleHelpHero{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:10px 0 14px;padding:13px 14px;border:1px solid var(--line);border-radius:12px;background:#0a1927}
.googleHelpHero strong{display:block;font-size:13px}
.googleHelpHero span{display:block;margin-top:3px;color:var(--muted);font-size:10px}
.tutorialBackdrop{display:none;position:fixed;inset:0;z-index:12000;background:rgba(2,8,15,.82);padding:18px;align-items:center;justify-content:center}
.tutorialBackdrop.open{display:flex}
.tutorialModal{width:min(860px,96vw);max-height:94vh;overflow:auto;background:#0d1b2a;border:1px solid var(--line);border-radius:16px;padding:18px}
.tutorialHeader{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
.tutorialHeader h3{margin:5px 0 4px;font-size:22px}.tutorialHeader p{margin:0;color:var(--muted);font-size:12px}
.tutorialTabs{display:flex;gap:8px;margin:15px 0 12px}
.tutorialTab{flex:1;border:1px solid var(--line);background:#091725;color:var(--muted);padding:10px;border-radius:9px;font-weight:800}
.tutorialTab.active{background:var(--accent);color:#04131d;border-color:transparent}
.tutorialScene{min-height:330px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;border:1px solid var(--line);border-radius:14px;background:#081522;padding:24px}
.tutorialSceneIcon{font-size:46px}.tutorialSceneStep{margin-top:10px;color:var(--accent);font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.09em}
.tutorialScene h4{font-size:22px;margin:10px 0 7px}.tutorialScene p{max-width:650px;color:#b6c8d5;font-size:13px;line-height:1.6;margin:0}
.tutorialMock{margin-top:18px;padding:13px 16px;border:1px dashed #32546a;border-radius:10px;background:#0b2130;font-family:ui-monospace,monospace;font-size:11px;color:#79e6d0}
.tutorialProgress{height:6px;background:#07111b;border-radius:99px;overflow:hidden;margin:12px 0}.tutorialProgress>div{height:100%;background:var(--accent);width:0}
.tutorialControls{display:flex;justify-content:center;gap:8px}.tutorialSummary{margin-top:12px;padding:10px 12px;border:1px solid var(--line);border-radius:9px;background:#091725;color:var(--muted);font-size:11px}
.activityMore{min-height:0}
body,.shell,.tabPane,.panel,.tableWrap,table,tr,td{will-change:auto!important}
.panel{content-visibility:auto;contain-intrinsic-size:420px}
#tbody tr{content-visibility:auto;contain-intrinsic-size:48px}
.chart,.pieChart,.riCalendarHeatmap{contain:layout paint}
@media(max-width:700px){.googleHelpHero{align-items:flex-start;flex-direction:column}.tutorialControls{flex-wrap:wrap}.tutorialScene{min-height:300px}}


/* ============================================================
   v4.6.5 · Readability / Executive density
   ============================================================ */
:root{--ui-font:14px;--ui-small:12px;--ui-tiny:11px}
body{font-size:var(--ui-font)}
.panel h2,.panelTitle{font-size:18px!important;line-height:1.25!important}
.panel h3{font-size:16px!important}
.panel p,.panel small,.muted,.subtle{font-size:var(--ui-small)!important;line-height:1.5!important}
label,.label,.eyebrow{font-size:var(--ui-tiny)!important}
input,select,textarea,button,.btn{font-size:13px!important;min-height:38px}
table{font-size:12px!important}
th{font-size:10px!important;letter-spacing:.035em!important;padding:11px 10px!important}
td{font-size:12px!important;line-height:1.4!important;padding:11px 10px!important}
.kpi .value,.kpiValue{font-size:30px!important}
.kpi .label,.kpiLabel{font-size:11px!important}
.riClient360Header{padding:16px!important}
.riClient360Header strong,.riClient360Header h3{font-size:17px!important}
.riClient360Header small{font-size:11px!important}
.riTimelineItem,.riTimelineItem strong{font-size:12px!important}
.riTimelineItem small{font-size:10.5px!important}
.riOpportunityRow{min-height:58px!important;padding:11px 12px!important}
.riOpportunityRow strong{font-size:12px!important}
.riOpportunityRow small{font-size:10.5px!important}
.riScore{font-size:17px!important;min-width:42px!important;min-height:42px!important}
.riNextTable td{font-size:11.5px!important;padding:10px 8px!important}
.riNextTable th{font-size:9.5px!important}
#riClient360Panel,#riOpportunityCenter,#riNextSteps{min-height:unset!important}
.kpiCustomerScoreCard{margin-top:14px;padding:16px;border:1px solid var(--line);border-radius:13px;background:#0a1927}
.kpiCustomerScoreHead{display:flex;justify-content:space-between;align-items:center;gap:16px}
.kpiCustomerScoreHead h3{margin:4px 0 0;font-size:17px!important}
.kpiCustomerScoreValue{font-size:28px;font-weight:900;color:#ffd36b}
.scoreTrack{height:9px;background:#07111b;border-radius:99px;overflow:hidden;margin:13px 0 9px}
.scoreTrack>div{height:100%;width:0;background:var(--accent);border-radius:99px}
.kpiCustomerScoreMeta{font-size:12px;line-height:1.5;color:var(--muted)}
.tutorialScene{min-height:390px!important}
.tutorialScene h4{font-size:24px!important}
.tutorialScene p{font-size:14px!important;max-width:700px!important}
.tutorialMock{font-size:12px!important;line-height:1.5!important}
.tutorialSummary{font-size:12px!important;line-height:1.5!important}
@media(min-width:1600px){
  body{font-size:15px}
  .panel h2,.panelTitle{font-size:20px!important}
  table,td{font-size:13px!important}
  th{font-size:11px!important}
  .riTimelineItem,.riOpportunityRow strong{font-size:13px!important}
  .riTimelineItem small,.riOpportunityRow small{font-size:11px!important}
}


/* ============================================================
   v4.6.5 · Visibility fixes based on real screen captures
   ============================================================ */

/* Rejected activities: larger, easier to scan */
#tab-rejected .panel{padding:20px!important}
#tab-rejected .sectionTitle h3{font-size:21px!important}
#tab-rejected .sectionTitle small{font-size:13px!important}
#tab-rejected .filters label{font-size:12px!important}
#tab-rejected .filters input,
#tab-rejected .filters select{font-size:14px!important;min-height:44px!important}
#tab-rejected table{font-size:14px!important}
#tab-rejected th{font-size:11px!important;padding:13px 10px!important}
#tab-rejected td{font-size:13px!important;line-height:1.5!important;padding:13px 10px!important;vertical-align:middle!important}
#tab-rejected td strong{font-size:13px!important}
#tab-rejected .btn{font-size:12px!important;min-height:38px!important;padding:8px 12px!important}
#tab-rejected .categoryPill,#tab-rejected .pill{font-size:12px!important}
#tab-rejected input[type=checkbox]{width:18px!important;height:18px!important}

/* Category distribution: use available space, not tiny legend */
.categoryPieLayout{gap:26px!important;align-items:center!important}
.categoryPieVisual{min-width:290px!important}
#categoryPie{width:250px!important;height:250px!important}
#pieTotal{font-size:42px!important}
.categoryLegendTable{font-size:14px!important}
.categoryLegendHead{font-size:11px!important}
.categoryLegendRow{min-height:43px!important}
.categoryLegendName{font-size:14px!important;gap:10px!important}
.categoryLegendCount,.categoryLegendPct{font-size:14px!important}
.pieSwatch{width:13px!important;height:13px!important}

/* KPI comparison */
.compareTable{display:grid!important;gap:12px!important;padding-top:6px}
.compareRow{
  display:grid!important;
  grid-template-columns:minmax(150px,1.2fr) minmax(150px,1fr) minmax(150px,1fr)!important;
  gap:14px!important;
  align-items:center!important;
  padding:12px 14px!important;
  border:1px solid var(--line)!important;
  border-radius:10px!important;
  background:#0a1927!important;
}
.compareRow>span{font-size:14px!important;font-weight:800!important}
.compareLabel{display:flex!important;justify-content:space-between!important;gap:8px!important;font-size:11px!important;color:var(--muted)!important;margin-bottom:6px!important}
.compareLabel strong{font-size:13px!important;color:#eef7fb!important}
.compareBar{height:10px!important;border-radius:99px!important;overflow:hidden!important;background:#07121e!important}
.compareFill{height:100%!important;border-radius:99px!important}
.compareEmpty{min-height:110px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}
.compareEmpty strong{font-size:14px}.compareEmpty span{font-size:12px;color:var(--muted);margin-top:5px}

/* Client 360 quick card */
.riFichaPanel{padding:22px!important}
.riFichaPanel .sectionTitle h3{font-size:22px!important}
.riFichaPanel .sectionTitle small{font-size:13px!important}
#execFichaContent .riClientHero{padding:18px!important}
#execFichaContent .riClientHero strong{font-size:19px!important}
#execFichaContent .riClientName strong{font-size:24px!important}
#execFichaContent .riTimelineRow{padding:10px 0!important}
#execFichaContent .riTimelineRow strong{font-size:13.5px!important}
#execFichaContent .riTimelineRow small{font-size:12px!important}
#execFichaContent .btn{font-size:13px!important;padding:10px 15px!important}

/* Opportunities / next steps */
.riDashGrid4{gap:16px!important}
.riDashGrid4>.panel{padding:20px!important}
.riDashGrid4 .sectionTitle h3{font-size:21px!important}
.riDashGrid4 .sectionTitle small{font-size:12px!important}
.riOppCards{gap:10px!important}
.riOppCards>div{min-height:60px!important;padding:11px 13px!important}
.riOppCards strong{font-size:13px!important}
.riOppCards small{font-size:12px!important;line-height:1.45!important}
#execNextStepsIA table td{font-size:12.5px!important;padding:11px 9px!important}
#execNextStepsIA table th{font-size:10.5px!important}

/* Executive Customer Engagement Score */
.execEngagementPanel .sectionTitle{align-items:center!important}
.execScoreAverage{display:flex;align-items:baseline;gap:3px;padding:7px 11px;border:1px solid #31495d;border-radius:9px;background:#0b1d2b}
.execScoreAverage span{font-size:10px;color:var(--muted);margin-right:4px}
.execScoreAverage strong{font-size:25px;color:#ffd36b}
.execScoreAverage small{font-size:10px;color:var(--muted)}
#execScores{display:grid;gap:9px}
#execScores .scoreRow{display:grid!important;grid-template-columns:minmax(0,1fr) 180px!important;gap:14px!important;align-items:center!important;padding:12px 13px!important;border:1px solid var(--line)!important;border-radius:10px!important;background:#0a1927!important}
#execScores .scoreRowMain strong{display:block;font-size:14px!important;margin-bottom:4px}
#execScores .scoreRowMain small{display:block!important;font-size:11.5px!important;line-height:1.45!important;color:#a9bdca!important}
#execScores .scoreRecency{margin-top:2px!important;color:#7f9daf!important}
#execScores .scoreVisual{display:grid;grid-template-columns:1fr 48px;gap:10px;align-items:center}
#execScores .scoreMiniTrack{height:8px;background:#07131f;border-radius:99px;overflow:hidden}
#execScores .scoreMiniTrack i{display:block;height:100%;background:#55d6b8;border-radius:99px}
#execScores .scoreBadge{width:48px!important;height:48px!important;font-size:15px!important}
.engagementEmpty{min-height:110px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}
.engagementEmpty strong{font-size:14px}.engagementEmpty span{font-size:12px;color:var(--muted);margin-top:5px}

/* PDF preview and AI insights in screenshot */
.riPdfPreviewStrip{gap:10px!important}
.riPdfMini{padding:14px!important;min-height:92px!important}
.riPdfMini h4{font-size:10px!important}
.riPdfMini .big{font-size:25px!important}
.riPdfMini>small{font-size:11px!important;line-height:1.4!important}
.riInsightsPanel{padding:21px!important}
.riInsightsPanel .sectionTitle h3{font-size:21px!important}
#executiveInsights{font-size:13px!important;line-height:1.7!important;padding:16px!important}
#executiveInsights strong{font-size:14px!important}
#executiveInsights li{margin:6px 0!important}

/* General executive grids */
#tab-executive .panel{border-color:#274258!important}
#tab-executive .sectionTitle{margin-bottom:13px!important}
#tab-executive .sectionTitle h3{font-size:19px!important}
#tab-executive .sectionTitle small{font-size:12px!important}

@media(min-width:1600px){
  #tab-rejected td{font-size:14px!important}
  #tab-rejected th{font-size:12px!important}
  #execScores .scoreRowMain strong{font-size:15px!important}
  #execScores .scoreRowMain small{font-size:12.5px!important}
  .riOppCards strong{font-size:14px!important}
  .riOppCards small{font-size:12.5px!important}
  #executiveInsights{font-size:14px!important}
}

@media(max-width:950px){
  .compareRow{grid-template-columns:1fr!important}
  #execScores .scoreRow{grid-template-columns:1fr!important}
  #execScores .scoreVisual{grid-template-columns:1fr 48px}
}


/* v4.6.5 · KPI resilience */
.kpiError{display:flex;align-items:center;gap:10px;flex-wrap:wrap;border-color:#70404a!important;background:#25161d!important;color:#ffd7dd!important}
.kpiError strong{font-size:13px}.kpiError span{font-size:12px;flex:1}.kpiWarning{border-color:#725f2e!important;background:#241f12!important}


/* v4.6.5 · Meeting creator + client master KAM */
.meetingCreator{display:flex;flex-direction:column;gap:2px;min-width:0}
.meetingCreator strong{font-size:inherit;white-space:normal;overflow-wrap:anywhere}
.meetingCreator small{font-size:9px!important;color:var(--muted);white-space:normal;overflow-wrap:anywhere}
.fieldHelp{display:block;margin-top:4px;color:var(--muted);font-size:9px;line-height:1.35}

/* 10-column review/rejected layouts */
.reviewTable th:nth-child(1),.reviewTable td:nth-child(1){width:3%!important}
.reviewTable th:nth-child(2),.reviewTable td:nth-child(2){width:7%!important}
.reviewTable th:nth-child(3),.reviewTable td:nth-child(3){width:15%!important}
.reviewTable th:nth-child(4),.reviewTable td:nth-child(4){width:10%!important}
.reviewTable th:nth-child(5),.reviewTable td:nth-child(5){width:10%!important}
.reviewTable th:nth-child(6),.reviewTable td:nth-child(6){width:12%!important}
.reviewTable th:nth-child(7),.reviewTable td:nth-child(7){width:10%!important}
.reviewTable th:nth-child(8),.reviewTable td:nth-child(8){width:6%!important}
.reviewTable th:nth-child(9),.reviewTable td:nth-child(9){width:16%!important}
.reviewTable th:nth-child(10),.reviewTable td:nth-child(10){width:11%!important}
#reviewBody td:last-child{min-width:165px!important}


/* v4.6.5 · Login resilience + password recovery */
.loginModal{padding:24px!important}
.loginModal h3{font-size:22px!important}
.loginModal input{font-size:14px!important;min-height:44px!important}
.loginModal .btn{min-height:44px!important;font-size:13px!important}
.loginRecoveryLink{
  width:100%;margin-top:12px;padding:8px;border:0;background:transparent;
  color:#72d8c1;font-size:12px!important;font-weight:800;cursor:pointer;text-align:center
}
.loginRecoveryLink:hover{text-decoration:underline}
#passwordRecoveryBackdrop{display:none}
.recoveryIntro{font-size:13px!important;line-height:1.5;color:#b9ccd7}
.recoveryNote{font-size:10.5px!important;line-height:1.55;color:var(--muted);margin:13px 0 0}
.processResult.success{display:block;border-color:#2e7b65!important;background:#102a24!important;color:#c8f7e9!important}


/* v4.6.5 · Secure standalone login */
#loginBox{display:block}
#loginBtn[disabled]{opacity:.7;cursor:wait}


/* v4.6.5 · essential portal interaction resilience */
body:not(.lockedUI) .sidebar,
body:not(.lockedUI) .sideNav,
body:not(.lockedUI) .sideBtn,
body:not(.lockedUI) .shell,
body:not(.lockedUI) #newBtn{pointer-events:auto!important}
#loginBackdrop[style*="display: none"],
#passwordRecoveryBackdrop[style*="display: none"],
#processBackdrop[style*="display: none"],
#modalBackdrop[style*="display: none"]{pointer-events:none!important}


/* v4.6.5 · authenticated portal bootstrap */
body[data-is-user-admin="1"] .masterAdminGroup{display:block!important}
body[data-is-user-admin="1"] #masterMenuGroup{display:block!important}
body[data-is-user-admin="1"] .masterAdminNav{display:block!important}
body[data-is-user-admin="0"] .masterAdminGroup,
body[data-is-user-admin="0"] .masterAdminNav{display:none!important}
#logoutBtn,#fullscreenBtn,#printBtn,#newBtn{pointer-events:auto!important}


/* ============================================================
   v4.6.5 · Functional UI Repairs
   ============================================================ */

/* Activities */
#tab-activities .barRow{grid-template-columns:minmax(155px,220px) 1fr 44px!important;gap:12px!important;align-items:center!important;margin:12px 0!important}
#tab-activities .barRow>span{font-size:13px!important;line-height:1.3!important}
#tab-activities .track{height:10px!important;background:#06111d!important;border-radius:99px!important;overflow:hidden!important}
#tab-activities .fill{height:100%!important;background:linear-gradient(90deg,var(--accent),var(--accent2))!important;border-radius:99px!important}
#tab-activities .qualityGrid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:12px!important}
#tab-activities .qualityMetric{display:flex!important;min-height:118px!important;padding:14px!important;border:1px solid var(--line)!important;border-radius:14px!important;background:#091725!important}
#tab-activities .qualityMetricTop{display:flex!important;align-items:center!important;justify-content:space-between!important}
#tab-activities .qualityValue{font-size:28px!important;font-weight:900!important}
#tab-activities .qualityLabel{font-size:12px!important}
#tab-activities .qualityIcon{width:34px!important;height:34px!important}
#tab-activities .qualityHelp{margin-top:12px!important}
#tab-activities .tableWrap{overflow-x:auto!important}
#tab-activities table{min-width:1180px}
#tab-activities td,#tab-activities th{vertical-align:middle!important}

/* Users accordion */
.userAccordion{border:1px solid var(--line);border-radius:13px;background:#0a1826;margin:10px 0;overflow:hidden}
.userAccordionSummary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 16px;user-select:none}
.userAccordionSummary::-webkit-details-marker{display:none}
.userAccordionSummary:hover{background:#0d2030}
.userAccordionIdentity{display:flex;flex-direction:column;gap:3px;min-width:0}
.userAccordionIdentity strong{font-size:14px}
.userAccordionIdentity span{font-size:11px;color:var(--muted)}
.userAccordionMeta{display:flex;align-items:center;justify-content:flex-end;gap:12px;min-width:0}
.userAccordionMeta>span:first-child{font-size:11px;color:var(--muted);overflow-wrap:anywhere}
.userAccordionChevron{font-size:18px;transition:transform .15s ease}
.userAccordion[open] .userAccordionChevron{transform:rotate(180deg)}
.userAccordionBody{padding:0 16px 16px;border-top:1px solid var(--line)}
.userSummaryStrip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:14px 0}
.userSummaryStrip>div{padding:10px;border:1px solid var(--line);border-radius:9px;background:#091725}
.userSummaryStrip span{display:block;font-size:9px;color:var(--muted);text-transform:uppercase}
.userSummaryStrip strong{display:block;margin-top:5px;font-size:11px;overflow-wrap:anywhere}

/* Maintenance */
.dbMaintenanceActions{margin-top:12px!important;display:flex!important;gap:9px!important;flex-wrap:wrap!important;align-items:center!important}
#dbPerformancePanel .dbConnectionCheck{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
#dbPerformancePanel .dbConnectionCheck span{font-size:11px;color:var(--muted)}

@media(max-width:900px){
  #tab-activities .qualityGrid{grid-template-columns:1fr!important}
  .userAccordionSummary{align-items:flex-start;flex-direction:column}
  .userAccordionMeta{justify-content:flex-start;flex-wrap:wrap}
  .userSummaryStrip{grid-template-columns:1fr 1fr}
}


/* v4.6.5 · Pivot runtime + closed user accordions */
#tab-pivot .pivotField{cursor:pointer!important;min-height:38px!important;padding:8px 11px!important;border:1px solid var(--line)!important;border-radius:8px!important;background:#0a1927!important;color:#eaf4f8!important;text-align:left!important}
#tab-pivot .pivotField:hover{border-color:#4d7388!important;background:#0c2232!important}
#tab-pivot .pivotZone{min-height:78px!important}
#tab-pivot .pivotTableWrap{min-height:160px}
#pivotRefreshBtn{margin-left:8px}
.userAccordion:not([open]) .userAccordionBody{display:none}


/* v4.6.5 Roles / Categories */
.masterAccordion{border:1px solid var(--line);border-radius:12px;background:#0a1826;margin:10px 0;overflow:hidden}
.masterAccordion>summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:14px;padding:14px 16px}
.masterAccordion>summary::-webkit-details-marker{display:none}
.masterAccordion>summary:hover{background:#0d2030}
.masterAccordion>summary>div{display:flex;flex-direction:column;gap:3px}
.masterAccordion>summary strong{font-size:14px}
.masterAccordion>summary small{font-size:10px;color:var(--muted)}
.masterAccordion>summary>span{font-size:11px;color:var(--muted)}
.masterAccordionBody{padding:14px 16px 16px;border-top:1px solid var(--line)}
.permissionGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.permissionGrid label{display:flex;align-items:center;gap:7px;min-height:36px;padding:7px 9px;border:1px solid var(--line);border-radius:8px;background:#091725;font-size:11px!important}
.permissionGrid input{width:16px;height:16px}
@media(max-width:900px){.permissionGrid{grid-template-columns:1fr}}


/* v4.6.5 · Master group / dynamic filters / refresh */
.masterMenuGroup{margin-top:8px}
.masterMenuToggle{width:100%;display:flex!important;align-items:center;justify-content:space-between}
.masterMenuChevron{margin-left:auto;font-size:16px;transition:transform .15s ease}
.masterMenuToggle[aria-expanded="true"] .masterMenuChevron{transform:rotate(180deg)}
.masterMenuChildren{margin:5px 0 0 12px;padding-left:8px;border-left:1px solid var(--line)}
.masterMenuChildren .sideBtn{width:100%;font-size:11.5px!important;padding-left:12px!important}
.pivotFilterControls{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:12px 0}
.pivotDynamicFilter select{min-height:38px!important}
@media(max-width:900px){.pivotFilterControls{grid-template-columns:1fr}}


/* ============================================================
   v4.6.5 · Header / scope layout repair
   ============================================================ */

/* Main shell header must grow with its contents instead of clipping/overlapping. */
.topbar{
  height:auto!important;
  min-height:76px!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  grid-template-rows:auto auto!important;
  column-gap:18px!important;
  row-gap:12px!important;
  align-items:center!important;
  padding:14px 18px!important;
  overflow:visible!important;
}

.topbar .brand,
.topbar .topbarBrand,
.topbar .brandBlock{
  grid-column:1!important;
  grid-row:1!important;
  min-width:0!important;
  align-self:center!important;
}

.topbar #newBtn,
.topbar .topActions,
.topbar .headerActions{
  grid-column:2!important;
  grid-row:1!important;
  align-self:center!important;
  justify-self:end!important;
  position:static!important;
  margin:0!important;
}

.topbar .scopeControls,
.topbar .scopeBar,
.topbar .viewControls,
.topbar .scopeFilters{
  grid-column:1 / -1!important;
  grid-row:2!important;
  width:100%!important;
  display:flex!important;
  flex-wrap:wrap!important;
  justify-content:flex-end!important;
  align-items:flex-end!important;
  gap:10px 12px!important;
  position:static!important;
  inset:auto!important;
  transform:none!important;
  margin:0!important;
  padding:0!important;
  min-height:0!important;
}

/* Generic protection for scope fields even if old markup uses plain .field wrappers. */
.topbar .scopeField,
.topbar .scopeFilterBlock,
.topbar .scopeControls>.field,
.topbar .scopeBar>.field,
.topbar .viewControls>.field,
.topbar .scopeFilters>.field{
  flex:0 1 305px!important;
  min-width:220px!important;
  max-width:360px!important;
  margin:0!important;
}

.topbar .scopeField label,
.topbar .scopeFilterBlock label,
.topbar .scopeControls label,
.topbar .scopeBar label,
.topbar .viewControls label,
.topbar .scopeFilters label{
  display:block!important;
  margin:0 0 5px!important;
  line-height:1.2!important;
  white-space:normal!important;
}

.topbar select,
.topbar input{
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
}

/* The second header/control strip in analytics pages must also wrap safely. */
#tab-executive .sectionTitle,
#tab-opportunities .sectionTitle,
#tab-client360 .sectionTitle,
#tab-kam360 .sectionTitle{
  display:flex!important;
  flex-wrap:wrap!important;
  align-items:flex-start!important;
  justify-content:space-between!important;
  gap:12px 18px!important;
  min-width:0!important;
}

#tab-executive .sectionTitle>.actions,
#tab-opportunities .sectionTitle>.actions,
#tab-client360 .sectionTitle>.actions,
#tab-kam360 .sectionTitle>.actions{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:8px!important;
  align-items:flex-end!important;
  margin-left:auto!important;
  max-width:100%!important;
}

#tab-executive .sectionTitle .field,
#tab-opportunities .sectionTitle .field,
#tab-client360 .sectionTitle .field,
#tab-kam360 .sectionTitle .field{
  min-width:210px!important;
  flex:1 1 240px!important;
}

/* Avoid cards crawling underneath header due to old negative offsets/margins. */
#tab-executive,
#tab-opportunities,
#tab-client360,
#tab-kam360{
  padding-top:0!important;
  margin-top:0!important;
}

#tab-executive>.panel:first-child,
#tab-opportunities>.panel:first-child,
#tab-client360>.panel:first-child,
#tab-kam360>.panel:first-child{
  margin-top:0!important;
}

@media(max-width:1100px){
  .topbar{
    grid-template-columns:1fr!important;
    grid-template-rows:auto auto auto!important;
  }
  .topbar .brand,
  .topbar .topbarBrand,
  .topbar .brandBlock{
    grid-column:1!important;
    grid-row:1!important;
  }
  .topbar #newBtn,
  .topbar .topActions,
  .topbar .headerActions{
    grid-column:1!important;
    grid-row:2!important;
    justify-self:start!important;
  }
  .topbar .scopeControls,
  .topbar .scopeBar,
  .topbar .viewControls,
  .topbar .scopeFilters{
    grid-column:1!important;
    grid-row:3!important;
    justify-content:flex-start!important;
  }
}

@media(max-width:720px){
  .topbar{
    padding:12px!important;
    gap:10px!important;
  }
  .topbar .scopeField,
  .topbar .scopeFilterBlock,
  .topbar .scopeControls>.field,
  .topbar .scopeBar>.field,
  .topbar .viewControls>.field,
  .topbar .scopeFilters>.field{
    flex:1 1 100%!important;
    min-width:100%!important;
    max-width:none!important;
  }
  .topbar #newBtn{
    width:100%!important;
  }
}


/* v4.6.5 · role-id authority + adaptive dynamic filters */
.pivotDateRange{padding:10px;border:1px solid var(--line);border-radius:10px;background:#091725}
.pivotDateRange>label{display:block;margin-bottom:7px}
.pivotDateRangeGrid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.pivotDateRangeGrid small{display:block;margin-bottom:4px;color:var(--muted);font-size:9px}
.pivotDateRangeGrid input{width:100%;min-height:38px}
.masterMenuToggle{font-weight:800!important}
@media(max-width:700px){.pivotDateRangeGrid{grid-template-columns:1fr}}


/* ============================================================
   v4.6.5 · ABM / layout / pivot filter usability
   ============================================================ */

/* Stop the sticky header from floating over analytical/admin panes. */
.topbar{
  position:relative!important;
  top:auto!important;
  z-index:5!important;
  margin:0 0 18px!important;
}
.tabs{
  position:relative!important;
  z-index:4!important;
  margin:0 0 18px!important;
}
.tabPane.active{
  position:relative!important;
  z-index:1!important;
  padding-top:0!important;
}
.tabPane.active>section:first-child,
.tabPane.active>.roleScopeBar:first-child{
  margin-top:0!important;
}
.roleScopeBar{
  position:relative!important;
  inset:auto!important;
  transform:none!important;
  margin:0 0 18px!important;
  display:flex;
  flex-wrap:wrap;
  min-height:62px;
}
.roleScopeBar .field{
  flex:0 1 300px!important;
  min-width:220px!important;
}
#tab-categories>.panel,
#tab-roles>.panel{
  margin-top:0!important;
  position:relative!important;
}

/* ABM content */
.adminDataSummary{margin-bottom:22px}
.adminMaintenanceBlock{margin-top:22px}
.roleCategoryGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.roleCategoryCard{padding:14px;border:1px solid var(--line);border-radius:13px;background:#091725}
.roleCategoryHead{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.roleCategoryHead>div{display:flex;flex-direction:column;gap:3px}
.roleCategoryHead strong{font-size:14px}
.roleCategoryHead small,.roleCategoryHead>span{font-size:10px;color:var(--muted)}
.roleCategoryChips{display:flex;flex-wrap:wrap;gap:6px;margin-top:11px}
.roleCategoryChip{padding:5px 8px;border-radius:99px;background:#143448;border:1px solid #275269;font-size:10px}
.roleCategoryChip.inactive{opacity:.5}
.mutedText{font-size:11px;color:var(--muted)}

/* Pivot filter experience */
.pivotFieldCard{display:flex;align-items:center;gap:6px;padding:5px;border:1px solid var(--line);border-radius:10px;background:#081725}
.pivotFieldCard .pivotField{flex:1;border:0!important;background:transparent!important}
.pivotFieldActions{display:flex;gap:4px}
.pivotQuickAdd{border:1px solid #31546a;background:#10283a;color:#cde8f5;border-radius:7px;padding:6px 8px;font-size:9px;font-weight:800}
.pivotQuickAdd:hover{border-color:var(--accent);color:#fff}
.pivotZoneHint{font-size:10px;color:var(--muted);padding:5px}
#pivotFilterControls{margin-top:12px!important;padding-top:12px;border-top:1px solid var(--line)}
.pivotDynamicFilter{min-width:0}
.pivotDynamicFilter select,.pivotDynamicFilter input{font-size:12px!important}

@media(max-width:900px){
  .roleCategoryGrid{grid-template-columns:1fr}
  .roleScopeBar .field{flex:1 1 100%!important;min-width:0!important}
}


/* ============================================================
   v4.6.5 · Revenue Intelligence
   ============================================================ */
.notificationBell{position:relative}.notificationBell span{display:inline-grid;place-items:center;min-width:20px;height:20px;border-radius:99px;background:var(--danger);font-size:10px;margin-left:4px}
.notificationPanel{position:fixed;right:24px;top:92px;width:min(420px,calc(100vw - 32px));max-height:70vh;overflow:auto;z-index:5000;background:#0b1928;border:1px solid var(--line);border-radius:16px;padding:16px;box-shadow:0 20px 60px rgba(0,0,0,.45)}
.notificationRow{display:flex;justify-content:space-between;gap:12px;padding:11px;border-bottom:1px solid var(--line);cursor:pointer}.notificationRow.read{opacity:.55}.notificationRow div{display:flex;flex-direction:column;gap:3px}.notificationRow small,.notificationRow time{color:var(--muted);font-size:10px}
.healthGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.healthCard{display:grid;grid-template-columns:16px 1fr auto;gap:10px;align-items:center;padding:13px;border:1px solid var(--line);border-radius:12px;background:#091725}.healthCard div{display:flex;flex-direction:column;gap:3px}.healthCard small{color:var(--muted)}.healthCard span{font-size:10px;font-weight:800}.healthDot{width:11px;height:11px;border-radius:50%}.healthDot.ok{background:#51d88a}.healthDot.warning{background:#ffca5c}.healthDot.error{background:#ff6b7a}
.ruleRow{display:grid;grid-template-columns:minmax(220px,1fr) 90px 120px 110px auto;gap:10px;align-items:end;padding:10px 0;border-bottom:1px solid var(--line)}.ruleRow>div{display:flex;flex-direction:column}.ruleRow small{color:var(--muted)}
.smartAlert{display:flex;justify-content:space-between;gap:12px;padding:13px;margin:8px 0;border:1px solid var(--line);border-left:4px solid var(--warn);border-radius:11px;background:#091725}.smartAlert.critical{border-left-color:var(--danger)}.smartAlert.info{border-left-color:var(--accent2)}.smartAlert div{display:flex;flex-direction:column}.smartAlert small{color:var(--muted)}
.kpiTargetGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.kpiTargetCard{padding:14px;border:1px solid var(--line);border-radius:13px;background:#091725}.kpiTargetHead{display:flex;justify-content:space-between;gap:12px}.kpiTargetHead div{display:flex;flex-direction:column}.kpiTargetHead small{color:var(--muted)}.kpiTargetHead em{font-size:18px;font-style:normal;font-weight:900}.kpiProgressTrack{height:9px;background:#06111d;border-radius:99px;overflow:hidden;margin:11px 0}.kpiProgressTrack i{display:block;height:100%;background:linear-gradient(90deg,var(--accent),var(--accent2))}.kpiTargetInputs{display:grid;grid-template-columns:1fr 1fr;gap:8px}.kpiTargetInputs label{font-size:10px;color:var(--muted)}.kpiTargetInputs input{width:100%;margin-top:4px}.excludedWeight{display:inline-block;margin-top:8px;font-size:9px;color:var(--warn)}
.kpiOverallProgress{display:flex;flex-direction:column;text-align:right}.kpiOverallProgress strong{font-size:30px}.kpiOverallProgress small{color:var(--muted)}
.temporalGrid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}.temporalCard{padding:13px;border:1px solid var(--line);border-radius:12px;background:#091725;display:flex;flex-direction:column;gap:5px}.temporalCard span,.temporalCard small{font-size:10px;color:var(--muted)}.temporalCard strong{font-size:25px}.temporalCard em{font-style:normal;font-weight:800;font-size:11px}.temporalCard em.up{color:var(--good)}.temporalCard em.down{color:var(--danger)}
.timeline360Row{display:grid;grid-template-columns:100px 1fr 110px;gap:12px;padding:12px;border-bottom:1px solid var(--line);align-items:start}.timeline360Date{font-weight:800}.timeline360Row>div:nth-child(2){display:flex;flex-direction:column;gap:4px}.timeline360Row small,.timeline360Row>span{color:var(--muted);font-size:10px}.productPill{display:inline-flex;padding:4px 7px;margin:2px;border-radius:99px;background:#143448;border:1px solid #275269;font-size:9px}
@media(max-width:1000px){.healthGrid,.kpiTargetGrid{grid-template-columns:1fr 1fr}.temporalGrid{grid-template-columns:repeat(3,1fr)}.ruleRow{grid-template-columns:1fr 1fr}.timeline360Row{grid-template-columns:90px 1fr}}
@media(max-width:650px){.healthGrid,.kpiTargetGrid,.temporalGrid{grid-template-columns:1fr}.kpiTargetInputs{grid-template-columns:1fr}.timeline360Row{grid-template-columns:1fr}.ruleRow{grid-template-columns:1fr}}


/* v4.6.5 · Objectives + placement corrections */
.objectivePanel{border:1px solid var(--line);border-radius:14px;padding:16px;background:#081624}
.objectiveHeader{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px}
.objectiveStep{font-size:12px;font-weight:900;letter-spacing:.04em;color:var(--accent)}
.objectiveHeader input[type="month"]{width:auto;min-width:150px}
.objectiveTable{width:100%;border-collapse:collapse}.objectiveTable th{font-size:9px;color:var(--muted);text-align:left;padding:8px}.objectiveTable td{padding:10px 8px;border-top:1px solid var(--line);vertical-align:middle}.objectiveTable td:first-child{min-width:180px}.compactGoalInput{width:82px!important;min-width:72px!important;padding:7px!important}.actualValue{font-size:16px;font-weight:900}
.objectiveProgress{display:grid;grid-template-columns:minmax(90px,1fr) 46px;gap:9px;align-items:center}.objectiveProgressTrack{height:8px;background:#06111d;border-radius:99px;overflow:hidden}.objectiveProgressTrack i{display:block;height:100%;background:linear-gradient(90deg,var(--accent),var(--accent2));border-radius:99px}.objectiveProgress strong{font-size:12px}
.projectionBox{margin-top:16px;padding:13px;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center}.projectionBox>span{font-size:9px;font-weight:800;color:var(--muted)}.projectionBox>div{display:flex;align-items:baseline;gap:7px}.projectionBox strong{font-size:26px;color:var(--accent)}.projectionBox small{color:var(--muted)}
#tab-maintenance #systemHealthPanel{margin-top:18px!important}
#tab-client360 #clientTimelinePanel{margin-top:18px!important}
#tab-rules>.panel,#tab-products>.panel,#tab-maintenance>.panel,#tab-client360>.panel,#tab-kpis>.panel{position:relative!important;margin-top:0!important;margin-bottom:18px!important}
@media(max-width:760px){.objectiveHeader{align-items:flex-start;flex-direction:column}.objectiveTableWrap{overflow-x:auto}.objectiveTable{min-width:620px}}

/* v4.6.5 */ .tabPane{display:none!important}.tabPane.active{display:block!important} #impersonateBtn{white-space:nowrap}.objectiveHeader input[type="month"],.objectiveTable input{background:#0b1928!important;color:#eaf4f8!important;border:1px solid var(--line)!important;border-radius:8px!important;padding:8px!important}.objectiveTable input:focus{outline:2px solid rgba(97,223,193,.25)!important;border-color:var(--accent)!important}

/* v4.6.5 strict tab ownership */
.tabPane{display:none!important}
.tabPane.active{display:block!important}

/* Special blocks are hidden by default anywhere outside their owner. */
#clientTimelinePanel,
#systemHealthPanel,
.kpiTargetPanel,
.temporalComparisonPanel,
.smartAlertsPanel{display:none!important}

#tab-client360.active #clientTimelinePanel{display:block!important}
#tab-maintenance.active #systemHealthPanel{display:block!important}
#tab-kpis.active .kpiTargetPanel,
#tab-kpis.active .temporalComparisonPanel{display:block!important}
#tab-alerts.active .smartAlertsPanel{display:block!important}

.helpCalcGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.helpCalcCard{padding:13px;border:1px solid var(--line);border-radius:11px;background:#091725}
.helpCalcCard strong{display:block;margin-bottom:6px}
.helpCalcCard p{margin:0;color:var(--muted);font-size:11px;line-height:1.5}
.kpiHelpModal{max-width:850px}
.objectiveTable th,.objectiveTable td{white-space:nowrap}
.objectiveTable th:first-child,.objectiveTable td:first-child{white-space:normal}
@media(max-width:760px){.helpCalcGrid{grid-template-columns:1fr}}


/* v4.6.5 static owner panels */
#clientTimelinePanel,#systemHealthPanel,.kpiTargetPanel,.temporalComparisonPanel{display:block!important}
.tabPane:not(.active) #clientTimelinePanel,
.tabPane:not(.active) #systemHealthPanel,
.tabPane:not(.active) .kpiTargetPanel,
.tabPane:not(.active) .temporalComparisonPanel{display:none!important}
#tab-client360.active #clientTimelinePanel,
#tab-maintenance.active #systemHealthPanel,
#tab-kpis.active .kpiTargetPanel,
#tab-kpis.active .temporalComparisonPanel{display:block!important}

.topbar .topActions,.topbar .headerActions{display:flex!important;gap:8px!important;align-items:center!important;flex-wrap:wrap}
#impersonateBtn,#kpiHelpBtn,#notificationBell{min-height:42px}
.kpiHelpModal{max-width:900px!important}
.helpCalcGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.helpCalcCard{padding:14px;border:1px solid var(--line);border-radius:12px;background:#091725}
.helpCalcCard strong{display:block;margin-bottom:6px}
.helpCalcCard p{margin:0;color:var(--muted);font-size:11px;line-height:1.5}
@media(max-width:760px){.helpCalcGrid{grid-template-columns:1fr}}


/* ============================================================
   v4.6.5 · Absolute active-tab visibility guard
   DOM nesting no longer determines whether these panels appear.
   ============================================================ */

/* Hidden everywhere by default */
#clientTimelinePanel,
#systemHealthPanel,
.kpiTargetPanel,
.temporalComparisonPanel,
.smartAlertsPanel{
  display:none!important;
}

/* Visible ONLY for their owning active tab */
body[data-active-tab="client360"] #clientTimelinePanel{
  display:block!important;
}

body[data-active-tab="kpis"] .kpiTargetPanel,
body[data-active-tab="kpis"] .temporalComparisonPanel{
  display:block!important;
}

body[data-active-tab="maintenance"] #systemHealthPanel{
  display:block!important;
}

body[data-active-tab="alerts"] .smartAlertsPanel{
  display:block!important;
}

/* Explicit negative guards, regardless of accidental DOM nesting */
body:not([data-active-tab="client360"]) #clientTimelinePanel{
  display:none!important;
}
body:not([data-active-tab="kpis"]) .kpiTargetPanel,
body:not([data-active-tab="kpis"]) .temporalComparisonPanel{
  display:none!important;
}
body:not([data-active-tab="maintenance"]) #systemHealthPanel{
  display:none!important;
}
body:not([data-active-tab="alerts"]) .smartAlertsPanel{
  display:none!important;
}


/* v4.6.5 action controls */
#kpiHelpBackdrop,#impersonationBackdrop{z-index:10050!important}
#kpiHelpBackdrop .modal,#impersonationBackdrop .modal{position:relative!important;z-index:10051!important}
#addKpiGoalBtn,#kpiHelpBtn,#impersonateBtn{pointer-events:auto!important;cursor:pointer!important}


/* v4.6.5 independent critical controls */
#addKpiGoalBtn,#kpiHelpBtn,#impersonateBtn{
  position:relative!important;
  z-index:12000!important;
  pointer-events:auto!important;
  cursor:pointer!important;
}
#kpiHelpBackdrop,#impersonationBackdrop{
  z-index:13000!important;
  pointer-events:auto!important;
}
#kpiHelpBackdrop .modal,#impersonationBackdrop .modal{
  z-index:13001!important;
  pointer-events:auto!important;
}


/* v4.6.5 KPI manual + goals */
#tab-client360 #clientTimelinePanel{margin-top:22px!important}
#tab-kpis .kpiTargetPanel{margin-bottom:24px!important}
#tab-kpis .temporalComparisonPanel{margin-top:24px!important}
.kpiGoalCategory{min-width:220px!important;width:100%!important}
.objectiveTable td:first-child{min-width:240px!important}
.kpiManualHero{padding:24px!important}
.kpiManualHero h2{font-size:24px!important;margin:4px 0}
.manualIntro{margin-top:16px;padding:14px;border:1px solid var(--line);border-radius:12px;background:#0a1927}
.manualIntro p{margin:6px 0 0;color:var(--muted);line-height:1.55}
.manualGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.manualCard{padding:15px;border:1px solid var(--line);border-radius:12px;background:#091725}
.manualCard h4{margin:0 0 9px;font-size:14px}
.manualCard p{margin:6px 0;color:#b8cbd7;font-size:11.5px;line-height:1.55}
.manualCard code{display:block;padding:9px 10px;border-radius:8px;background:#06111d;color:#79dfc5;font-size:10.5px;white-space:normal;line-height:1.5}
.manualRules{display:grid;gap:8px}.manualRules p{margin:0;padding:11px;border-left:3px solid var(--accent);background:#091725;border-radius:8px;font-size:11.5px;line-height:1.55;color:#b8cbd7}
@media(max-width:900px){.manualGrid{grid-template-columns:1fr}.kpiGoalCategory{min-width:180px!important}}


/* ============================================================
   v4.6.5 · C-Level PDF / print report
   ============================================================ */
.printReportHeader,.printReportFooterNote{display:none}




/* v4.6.5 stability release */
#notificationBell,#kpiHelpBtn,#impersonateBtn,#addKpiGoalBtn,#saveKpiTargets{pointer-events:auto!important;cursor:pointer!important}
#notificationPanel{z-index:14000!important}
#tab-kpihelp.active{display:block!important}
.kpiGoalCategory{background:#0b1928!important;color:var(--text)!important;border:1px solid var(--line)!important}


/* v4.6.5 · PDF privacy rule: Client 360 is never part of PDF output */



/* ============================================================
   v4.6.5 · Branding
   ============================================================ */
body{background:var(--bg)!important;color:var(--text)!important}
.logo.hasBrandImage{padding:4px!important;background:var(--panel2)!important;overflow:hidden}
.logo.hasBrandImage img{width:100%;height:100%;object-fit:contain;border-radius:9px}
.brandingLayout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);gap:20px}
.brandingForm{display:grid;gap:14px}
.brandingColorGrid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.colorPickerRow{display:grid;grid-template-columns:58px 1fr;gap:10px;align-items:center}
.colorPickerRow input[type="color"]{width:58px!important;height:42px!important;padding:3px!important;cursor:pointer}
.colorPickerRow code{padding:9px 10px;border:1px solid var(--line);border-radius:8px;background:#07111f;color:#b8cbd7}
.brandingPreview{min-height:340px;border:2px solid var(--accent);border-radius:16px;padding:22px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:10px;transition:.15s}
.brandingPreviewLogo{width:86px;height:86px;border-radius:18px;background:var(--panel2);display:grid;place-items:center;font-size:28px;font-weight:900;overflow:hidden}
.brandingPreviewLogo img{width:100%;height:100%;object-fit:contain}
.brandingPreview h2{margin:6px 0 0}
.brandingPreview p{line-height:1.55;opacity:.8}
.brandingPreviewButton{padding:10px 14px;border-radius:10px;font-weight:800}
.brandingRemoveLogo{margin-top:-3px}
@media(max-width:900px){.brandingLayout{grid-template-columns:1fr}.brandingColorGrid{grid-template-columns:1fr}}


/* ============================================================
   v4.6.5 · Stable C-Level print
   ============================================================ */
@media print{
  @page{size:A4 portrait;margin:14mm 12mm 14mm 12mm}

  html,body{background:#fff!important;color:#111!important;overflow:visible!important;width:auto!important;height:auto!important}
  body{font-family:Arial,Helvetica,sans-serif!important;font-size:9pt!important;line-height:1.35!important}

  .sidebar,.topbar,.tabs,.roleScopeBar,.filters,.actions,button,.btn,
  .notificationPanel,.modalBackdrop,.toast,.footer,.masterFilterBar,
  #tab-client360,[data-tab="client360"]{display:none!important}

  .shell{margin:0!important;padding:0!important;width:100%!important;max-width:none!important;overflow:visible!important}
  .tabPane{display:none!important}
  .tabPane.active{display:block!important}

  section,.panel,.heroCard,.kpi,.statMini,.manualCard,.healthCard,.temporalCard,
  .objectivePanel,.riClientHero,.riKamHero,.savedKpiCard,.masterAccordion{
    background:#fff!important;color:#111!important;border:1px solid #d7dde2!important;
    box-shadow:none!important;border-radius:5px!important;
    break-inside:avoid-page!important;page-break-inside:avoid!important;
    margin:0 0 10mm!important;padding:7mm!important;
  }

  section+section,.panel+.panel{margin-top:8mm!important}

  h1,h2,h3,h4,.sectionTitle{color:#173b50!important;break-after:avoid-page!important}
  .sectionTitle{border-bottom:1px solid #dce4e8!important;padding-bottom:3mm!important;margin-bottom:4mm!important}

  table{width:100%!important;border-collapse:collapse!important;table-layout:auto!important;font-size:7.5pt!important}
  thead{display:table-header-group!important}
  tr{break-inside:avoid-page!important;page-break-inside:avoid!important}
  th,td{border:1px solid #ccd5db!important;padding:3mm 2mm!important;white-space:normal!important;overflow-wrap:anywhere!important}
  th{background:#eef3f6!important;color:#173b50!important}

  details{display:block!important;break-inside:avoid-page!important}
  details>summary{display:block!important;font-weight:700!important}
  details>*{display:block!important}

  canvas,svg,.chart,.execChart,.riTrendChart{max-width:100%!important;break-inside:avoid-page!important}

  input,select,textarea{border:0!important;background:transparent!important;color:#111!important;padding:0!important;appearance:none!important}

  #clientTimelinePanel,#client360Select{display:none!important}
}


/* v4.6.5 · uniform section spacing */
.tabPane.active>section,
.tabPane.active>.panel,
.tabPane.active>.roleScopeBar,
.tabPane.active>.analyticsGrid,
.tabPane.active>.grid2,
.tabPane.active>.kpiHero,
.tabPane.active>.statStrip{
  margin-bottom:22px!important;
}
.tabPane.active>section+section,
.tabPane.active>.panel+.panel,
.tabPane.active>section+.panel,
.tabPane.active>.panel+section{
  margin-top:22px!important;
}
.panel{scroll-margin-top:24px}
.loggedUserIdentity{display:inline-flex;align-items:center;gap:8px}
.loggedUserPhoto{width:28px;height:28px;border-radius:50%;display:inline-grid;place-items:center;background:var(--panel2);border:1px solid var(--line);font-size:10px;font-weight:900;overflow:hidden;vertical-align:middle}
.loggedUserPhoto img{width:100%;height:100%;object-fit:cover}
.userPhotoAdminWrap{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.userPhotoAdmin{width:46px;height:46px;border-radius:50%;object-fit:cover;background:var(--panel2);border:1px solid var(--line)}


/* ============================================================
   v4.6.5 · Header identity + theme mode
   ============================================================ */
.topbar{
  min-height:104px!important;
  padding:18px 20px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:18px!important;
}
.topbar>.brand,
.topbar>.brandBlock,
.topbar>.identity{
  display:flex!important;
  align-items:center!important;
  gap:14px!important;
}
.logo{
  width:64px!important;
  height:64px!important;
  border-radius:18px!important;
  flex:0 0 64px!important;
  box-shadow:0 8px 22px rgba(0,0,0,.20)!important;
}
.brandIdentity{display:flex;flex-direction:column;gap:7px;min-width:0}
.brandIdentity h1{
  display:flex!important;
  align-items:baseline!important;
  gap:10px!important;
  flex-wrap:wrap!important;
  margin:0!important;
  font-size:22px!important;
  line-height:1.1!important;
}
.trackerSuffix{
  font-size:13px!important;
  font-weight:600!important;
  color:var(--muted)!important;
  letter-spacing:.01em!important;
}
.loggedUserIdentity{
  display:flex!important;
  align-items:center!important;
  gap:9px!important;
}
.loggedUserPhoto{
  width:34px!important;
  height:34px!important;
  border-radius:50%!important;
  flex:0 0 34px!important;
  background:var(--panel2)!important;
  border:1px solid var(--line)!important;
  box-shadow:0 2px 8px rgba(0,0,0,.15)!important;
}
#loggedUserSubtitle{
  font-size:13px!important;
  font-weight:600!important;
  color:var(--text)!important;
}
.themeModeCards{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.themeModeCard{border:1px solid var(--line);border-radius:14px;padding:16px;display:flex;gap:12px;align-items:flex-start;cursor:pointer;background:var(--panel2)}
.themeModeCard input{margin-top:3px}
.themeModeCard div{display:flex;flex-direction:column;gap:5px}.themeModeCard small{color:var(--muted);line-height:1.45}
@media(max-width:800px){
  .topbar{align-items:flex-start!important;flex-direction:column!important}
  .themeModeCards{grid-template-columns:1fr}
}


/* ============================================================
   v4.6.5 · Consistent vertical rhythm
   ============================================================ */
.tabPane.active{
  padding-bottom:22px!important;
}
.tabPane.active > section,
.tabPane.active > .panel,
.tabPane.active > .hero,
.tabPane.active > .filters,
.tabPane.active > .kpis,
.tabPane.active > .grid2,
.tabPane.active > .analyticsGrid,
.tabPane.active > .roleScopeBar,
.tabPane.active > .statStrip,
.tabPane.active > .kpiHero,
.tabPane.active > .qualityGrid,
.tabPane.active > .temporalGrid{
  margin-top:0!important;
  margin-bottom:22px!important;
}
.tabPane.active > section:last-child,
.tabPane.active > .panel:last-child{
  margin-bottom:0!important;
}
.tabPane.active > :where(section,.panel,.hero,.filters,.kpis,.grid2,.analyticsGrid,.roleScopeBar,.statStrip,.kpiHero,.qualityGrid,.temporalGrid)
+ :where(section,.panel,.hero,.filters,.kpis,.grid2,.analyticsGrid,.roleScopeBar,.statStrip,.kpiHero,.qualityGrid,.temporalGrid){
  margin-top:22px!important;
}
.panel > section + section,
.panel > .panel + .panel,
section > .panel + .panel,
.analyticsGrid + .panel,
.grid2 + .panel,
.panel + .analyticsGrid,
.panel + .grid2{
  margin-top:22px!important;
}
#clientTimelinePanel,
.kpiTargetPanel,
.temporalComparisonPanel,
.smartAlertsPanel,
#systemHealthPanel{
  margin-top:22px!important;
  margin-bottom:22px!important;
}
.userPhotoField{border:1px solid var(--line);border-radius:12px;padding:12px!important;background:var(--panel2)}
.userPhotoAdminWrap{display:grid!important;grid-template-columns:64px minmax(0,1fr)!important;gap:14px!important;align-items:center!important}
.userPhotoAdminPreview{width:64px;height:64px;border-radius:50%;overflow:hidden;background:var(--panel);border:1px solid var(--line);display:grid;place-items:center}
.userPhotoAdmin,.userPhotoFallback{width:100%;height:100%;object-fit:cover}
.userPhotoFallback{display:grid;place-items:center;font-weight:900;font-size:16px}
.userPhotoAdminActions{display:flex;flex-direction:column;gap:8px;min-width:0}
.userPhotoAdminActions input[type="file"]{width:100%!important}
#themeModeToggleBtn{margin-top:6px!important}


/* v4.6.5 repaired tab containment */
#tab-branding,#tab-maintenance,#tab-users{display:none!important}
#tab-branding.active,#tab-maintenance.active,#tab-users.active{display:block!important}
body:not([data-active-tab="branding"]) #tab-branding,
body:not([data-active-tab="maintenance"]) #tab-maintenance,
body:not([data-active-tab="users"]) #tab-users{display:none!important}

.brandingModeTabs{display:flex;gap:8px;padding:6px;margin-bottom:18px;border:1px solid var(--line);border-radius:12px;background:var(--panel2)}
.brandingModeTab{border:0;border-radius:9px;padding:10px 14px;background:transparent;color:var(--muted);font-weight:800;cursor:pointer}
.brandingModeTab.active{background:#075bc8;color:#fff}
.brandingModePane{display:none}.brandingModePane.active{display:block}
.brandingUserPreference{margin-top:22px;padding:16px;border:1px solid var(--line);border-radius:12px;background:var(--panel2);display:grid;grid-template-columns:minmax(0,1fr) minmax(190px,280px) auto;gap:12px;align-items:center}
.brandingUserPreference>div{display:flex;flex-direction:column;gap:4px}.brandingUserPreference small{color:var(--muted)}
.brandingActions{margin-top:10px;display:flex;flex-wrap:wrap;gap:8px}
.darkPreview{min-height:320px}

.newUserPhotoField,.userPhotoField{border:1px solid var(--line);border-radius:12px;padding:12px!important;background:var(--panel2)}
.newUserPhotoWrap{display:grid;grid-template-columns:64px 1fr;gap:14px;align-items:center}
.newUserPhotoPreview{width:64px;height:64px;border-radius:50%;display:grid;place-items:center;overflow:hidden;background:var(--panel);border:1px solid var(--line);font-weight:900}
.newUserPhotoPreview img{width:100%;height:100%;object-fit:cover}

.tabPane.active > * + *{margin-top:24px!important}
.tabPane.active section + section,
.tabPane.active .panel + .panel,
.tabPane.active section + .panel,
.tabPane.active .panel + section{margin-top:24px!important}
#systemHealthPanel{margin-top:24px!important}
@media(max-width:800px){.brandingUserPreference{grid-template-columns:1fr}.brandingModeTabs{flex-direction:column}.newUserPhotoWrap{grid-template-columns:1fr}}


/* v4.6.5 enterprise */
.openaiSettingsGrid{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:end}
.openaiUsageFilters{display:grid;grid-template-columns:180px 190px auto;gap:12px;align-items:end;margin-top:18px}
.openaiUsageCards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:14px}
.openaiUsageChart{margin-top:14px;display:grid;gap:6px;max-height:280px;overflow:auto}
.usageDay,.templateRow{display:flex;justify-content:space-between;gap:12px;padding:9px 11px;border:1px solid var(--line);border-radius:9px;background:var(--panel2)}
.templateRow div{display:flex;flex-direction:column;gap:3px}
.advancedTargetControls{display:flex;gap:10px;align-items:center;margin-bottom:12px}
.densityCompact .panel{padding:12px!important}.densityCompact table th,.densityCompact table td{padding:6px 8px!important}.densityCompact .sideBtn{padding-top:7px!important;padding-bottom:7px!important}
.tabPane.active>*+*{margin-top:24px!important}
#portalBrandLogo.hasBrandImage img,#portalBrandLogo img{width:100%;height:100%;object-fit:contain;border-radius:inherit}
@media(max-width:850px){.openaiSettingsGrid,.openaiUsageFilters,.openaiUsageCards{grid-template-columns:1fr}}


/* v4.6.5 strict ownership and spacing */
.kamBenchmarkPanel,.advancedTargetsPanel,.kpiForecastPanel{display:none!important}
body[data-active-tab="kam360"] #tab-kam360 .kamBenchmarkPanel,
body[data-active-tab="kam360"] #tab-kam360 .advancedTargetsPanel{display:block!important}
body[data-active-tab="kpis"] #tab-kpis .kpiForecastPanel{display:block!important}
#tab-kam360>section+section,#tab-kpis>section+section{margin-top:24px!important}
.kamBenchmarkPanel,.advancedTargetsPanel,.kpiForecastPanel{margin-top:24px!important;margin-bottom:24px!important}
.sidebarBrandLogoInner{width:100%;min-height:78px;display:grid;place-items:center;font-weight:900;font-size:24px;overflow:hidden}
.sidebarBrandLogoInner img{max-width:100%;max-height:78px;object-fit:contain}
#portalBrandLogo img{width:100%;height:100%;object-fit:contain}
.goalComparisonChart{display:grid;gap:9px;margin-top:14px;padding-top:12px;border-top:1px solid var(--line)}
.goalCompareRow{display:grid;grid-template-columns:minmax(190px,.8fr) minmax(220px,1.2fr);gap:12px;align-items:center}
.goalCompareRow>div:first-child{display:flex;flex-direction:column;gap:3px}.goalCompareRow small{color:var(--muted)}
.goalCompareTrack{height:9px;border-radius:999px;background:var(--panel2);overflow:hidden}.goalCompareTrack i{display:block;height:100%;background:var(--accent);border-radius:999px}
.compactSelect{max-width:180px}.openaiKeyGrid{grid-template-columns:minmax(0,1fr) auto!important}.openaiAdminNotice{margin-top:10px}
@media(max-width:850px){.goalCompareRow{grid-template-columns:1fr}.openaiKeyGrid{grid-template-columns:1fr!important}}


/* v4.6.5 */
.sidebarBrandLogoInner,.logo.hasBrandImage{overflow:hidden}
.sidebarBrandLogoInner img{width:100%;height:100%;max-height:82px;object-fit:contain}
#portalBrandLogo img{width:100%;height:100%;object-fit:contain}
.userPhotoAdminPreview,.newUserPhotoPreview{overflow:hidden}
.userPhotoAdminPreview img,.newUserPhotoPreview img{width:100%;height:100%;object-fit:cover;display:block}
.goalCompliancePanel{margin-top:24px!important;margin-bottom:24px!important}
.goalComplianceChart{display:grid;gap:12px}
.goalComplianceRow{display:grid;grid-template-columns:minmax(220px,.8fr) minmax(280px,1.4fr) 72px;gap:14px;align-items:center}
.goalComplianceMeta{display:flex;flex-direction:column;gap:4px}
.goalComplianceMeta small{color:var(--muted)}
.goalComplianceTrack{height:12px;border-radius:999px;background:var(--panel2);overflow:hidden;border:1px solid var(--line)}
.goalComplianceTrack i{display:block;height:100%;background:var(--accent);border-radius:999px}
.goalCompliancePct{text-align:right;font-weight:900}
@media(max-width:850px){.goalComplianceRow{grid-template-columns:1fr}.goalCompliancePct{text-align:left}}


/* v4.6.5 */
#tab-kpis .kpiTargetPanel .kpiGoalCategory,
#tab-kpis .kpiTargetPanel .kpiTargetInput,
#tab-kpis .kpiTargetPanel .kpiWeightInput,
#tab-kpis .kpiTargetPanel .removeKpiGoalRow{
  pointer-events:none!important;
}
#tab-kpis .kpiTargetPanel .removeKpiGoalRow{display:none!important}
#tab-kpis .kpiTargetPanel input,#tab-kpis .kpiTargetPanel select{opacity:.92}

.openaiProjectSettings{display:grid;grid-template-columns:minmax(260px,1fr) minmax(220px,.65fr) auto;gap:12px;align-items:end;margin-top:14px}
.openaiBudgetStatus{margin-top:12px}
.budgetCard{padding:14px;border:1px solid var(--line);border-radius:12px;background:var(--panel2);display:grid;gap:10px}
.budgetCard.blocked{border-color:#ff6b6b}
.budgetCard>div:first-child{display:flex;gap:10px;align-items:baseline;flex-wrap:wrap}.budgetCard span{color:var(--muted)}.budgetCard small{margin-left:auto}
.budgetTrack{height:10px;border-radius:999px;background:var(--panel);overflow:hidden}.budgetTrack i{display:block;height:100%;background:var(--accent);border-radius:999px}.budgetCard.blocked .budgetTrack i{background:#ff6b6b}

.openaiUsageFilters{grid-template-columns:160px 180px 190px auto!important}
.openaiSpendReport{margin-top:16px;border:1px solid var(--line);border-radius:14px;padding:18px;background:var(--panel2)}
.openaiSpendHeader{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.openaiSpendHeader>div{display:flex;flex-direction:column;gap:6px}.openaiSpendHeader span{color:var(--muted)}.openaiSpendHeader strong{font-size:30px}
.openaiSpendGraph{height:300px;display:flex;align-items:stretch;gap:8px;margin-top:18px;overflow-x:auto;padding:8px 4px 0}
.spendBarCol{min-width:64px;flex:1;display:grid;grid-template-rows:24px 1fr 36px;gap:5px;text-align:center;align-items:end}
.spendBarValue{font-size:10px;color:var(--muted);white-space:nowrap}
.spendBarTrack{height:100%;min-height:170px;display:flex;align-items:flex-end;border-bottom:2px solid var(--line)}
.spendBarTrack i{width:100%;display:block;background:var(--accent);border-radius:4px 4px 0 0;min-height:2px}
.spendBarCol small{font-size:10px;color:var(--muted);overflow:hidden;text-overflow:ellipsis}

#loggedUserPhoto img{width:100%;height:100%;object-fit:cover;display:block}
.userPhotoAdminPreview img,.newUserPhotoPreview img{width:100%;height:100%;object-fit:cover!important;display:block!important}

.auditExplanation{max-width:420px;white-space:normal}

@media(max-width:900px){
 .openaiProjectSettings,.openaiUsageFilters{grid-template-columns:1fr!important}
 .openaiSpendGraph{height:250px}
}


/* v4.6.5 */
.riExecControlsCompact{display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:10px!important;min-width:min(100%,620px)}
.execFilterRow{display:grid;grid-template-columns:minmax(170px,1fr) minmax(200px,1fr) auto;gap:10px;align-items:end}
.execFilterRow:last-child{grid-template-columns:minmax(220px,1fr) minmax(220px,1fr)}
.riHeaderFilters{display:grid;grid-template-columns:minmax(230px,1fr);gap:10px;min-width:300px;max-width:420px}
.riHeaderFilters .field{margin:0}
.auditFilters{display:grid;grid-template-columns:180px 180px auto;gap:12px;align-items:end;margin:0 0 16px;padding:14px;border:1px solid var(--line);border-radius:12px;background:var(--panel2)}
.openaiUnifiedSave{margin-top:14px}
.openaiUnifiedSave .btn{min-width:260px}

.modalBackdrop#openAIHelpBackdrop{display:none;position:fixed;inset:0;background:rgba(0,0,0,.72);z-index:9999;align-items:center;justify-content:center;padding:20px}
.modalBackdrop#openAIHelpBackdrop.open{display:flex}
.openAIHelpModal{width:min(980px,96vw);max-height:92vh;overflow:auto;background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:18px}
.openAIHelpStage{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(260px,.7fr);gap:18px}
.openAIHelpVideo{border:1px solid var(--line);border-radius:14px;background:var(--panel2);padding:18px;min-height:420px;display:flex;flex-direction:column}
.openAIHelpCounter{font-size:12px;color:var(--muted);font-weight:800;letter-spacing:.04em}
.openAIHelpVisual{flex:1;display:grid;place-items:center;text-align:center;font-size:24px;font-weight:900;line-height:1.6;margin:20px 0;border-radius:12px;background:var(--bg);border:1px solid var(--line)}
.openAIHelpText h4{font-size:19px;margin:0 0 8px}.openAIHelpText p{color:var(--muted);line-height:1.55}
.openAIHelpProgress{height:8px;background:var(--bg);border-radius:999px;overflow:hidden;margin-top:14px}.openAIHelpProgress i{display:block;height:100%;background:var(--accent);border-radius:999px;transition:width .25s}
.openAIHelpChecklist{border:1px solid var(--line);border-radius:14px;padding:16px;background:var(--panel2)}
.openAIHelpChecklist ol{padding-left:22px}.openAIHelpChecklist li{padding:7px 5px;color:var(--muted)}.openAIHelpChecklist li.active{color:var(--text);font-weight:900}
.goalCompareRow{grid-template-columns:minmax(190px,.8fr) minmax(220px,1.2fr) 64px!important}
.goalCompareEndPct{text-align:right;font-size:14px}
@media(max-width:850px){
 .execFilterRow,.execFilterRow:last-child,.auditFilters,.openAIHelpStage{grid-template-columns:1fr}
 .riHeaderFilters{min-width:0;max-width:none;width:100%}
}


/* v4.6.5 */
.openaiBudgetAlertStrip{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:12px}
.budgetThreshold{border:1px solid var(--line);border-radius:10px;padding:10px;background:var(--panel2);display:flex;justify-content:space-between;align-items:center}.budgetThreshold.reached{border-color:var(--accent)}
.openaiForecastCard{margin-top:12px;padding:14px;border:1px solid var(--line);border-radius:12px;background:var(--panel2);display:grid;gap:10px}.openaiForecastCard>div:first-child{display:flex;gap:12px;align-items:baseline;flex-wrap:wrap}.openaiForecastCard small{color:var(--muted)}
.forecastGauge{height:10px;background:var(--bg);border-radius:999px;overflow:hidden}.forecastGauge i{display:block;height:100%;background:var(--accent)}
.trafficLight{width:14px;height:14px;border-radius:50%;display:inline-block}.trafficLight.green{background:#29c98f}.trafficLight.yellow{background:#f4c95d}.trafficLight.red{background:#ef6a75}
.kamGoalBenchmarkPanel{margin-top:24px!important}
.clevelDashboardPanel{margin-bottom:24px!important}.clevelDashboardGrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.clevelCard{padding:14px;border:1px solid var(--line);border-radius:12px;background:var(--panel2);display:flex;flex-direction:column;gap:7px}.clevelCard span{color:var(--muted);font-size:12px}.clevelCard strong{font-size:25px}
#clevelBackdrop,#auditDiffBackdrop{display:none;position:fixed;inset:0;background:rgba(0,0,0,.72);z-index:10020;align-items:center;justify-content:center;padding:20px}#clevelBackdrop.open,#auditDiffBackdrop.open{display:flex}
.clevelModal,.auditDiffModal{width:min(980px,96vw);max-height:90vh;overflow:auto;background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:18px}.clevelWidgetOptions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:16px 0}.clevelOption{padding:12px;border:1px solid var(--line);border-radius:10px;background:var(--panel2);display:flex;gap:10px;align-items:center}
.auditDiffGrid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.auditDiffGrid>div{border:1px solid var(--line);border-radius:12px;padding:12px;background:var(--panel2)}.auditDiffGrid pre{white-space:pre-wrap;word-break:break-word;max-height:60vh;overflow:auto;color:var(--text)}
/* Audit evidence is an administrative surface and must not inherit tenant branding. */
#auditDiffBackdrop{background:#fff!important;color:#0f172a!important}
#auditDiffBackdrop .auditDiffModal{background:#fff!important;border-color:#cbd5e1!important;color:#0f172a!important}
#auditDiffBackdrop .modalHeader{display:flex!important;align-items:flex-start!important;justify-content:space-between!important;gap:16px!important;padding-right:0!important}
#auditDiffBackdrop .modalHeader h3,#auditDiffBackdrop .modalHeader small,#auditDiffBackdrop .auditDiffGrid h4{color:#0f172a!important;-webkit-text-fill-color:#0f172a!important}
#auditDiffBackdrop .modalHeader small{color:#475569!important;-webkit-text-fill-color:#475569!important}
#auditDiffBackdrop .auditDiffGrid>div{min-width:0;background:#fff!important;border-color:#cbd5e1!important;color:#0f172a!important}
#auditDiffBackdrop .auditDiffGrid pre{margin:0;padding:12px;background:#f8fafc!important;border:1px solid #cbd5e1;border-radius:8px;color:#172033!important;-webkit-text-fill-color:#172033!important;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;white-space:pre-wrap;overflow:auto;overflow-wrap:anywhere;word-break:break-word;max-height:min(60vh,640px)}
#auditDiffBackdrop #closeAuditDiffBtn{background:#fff!important;border-color:#94a3b8!important;color:#334155!important;-webkit-text-fill-color:#334155!important}
#auditDiffBackdrop #closeAuditDiffBtn:hover,#auditDiffBackdrop #closeAuditDiffBtn:focus-visible{background:#f1f5f9!important;color:#0f172a!important;-webkit-text-fill-color:#0f172a!important}
.ruleGridV410{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding:14px}.ruleGridV410 .span2{grid-column:span 2}.ruleCard{border:1px solid var(--line);border-radius:12px;margin-top:12px;background:var(--panel2)}.ruleCard summary{padding:14px;display:flex;justify-content:space-between;cursor:pointer}
.roleCategoryNotice{margin:12px 0;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--panel2);color:var(--muted)}
@media(max-width:900px){.clevelDashboardGrid{grid-template-columns:repeat(2,1fr)}.ruleGridV410{grid-template-columns:1fr 1fr}.auditDiffGrid{grid-template-columns:1fr}#auditDiffBackdrop{align-items:flex-start;padding:12px;overflow:auto}#auditDiffBackdrop .auditDiffModal{width:100%;max-height:none;margin:auto 0;padding:14px}#auditDiffBackdrop .auditDiffGrid pre{max-height:38vh}}


/* v4.6.5 */
.companyCalendarPanel{margin-bottom:24px}.calendarProviderChoice{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:12px 0}.calendarProviderChoice label{display:flex;flex-direction:column;gap:5px;padding:14px;border:1px solid var(--line);border-radius:12px;background:var(--panel2)}.calendarProviderChoice input{align-self:flex-start}.calendarProviderChoice small{color:var(--muted)}
.exchangeCompanyConfig{grid-template-columns:repeat(3,minmax(0,1fr)) auto;gap:12px;align-items:end;margin:12px 0}.providerFields{grid-column:1/-1}
.tutorialModal{width:min(1000px,96vw);max-height:92vh;overflow:auto}.videoWizard{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(250px,.65fr);gap:16px}.videoStage{padding:18px;border:1px solid var(--line);border-radius:14px;background:var(--panel2)}.videoVisual{min-height:210px;display:grid;place-items:center;text-align:center;font-size:28px;font-weight:900;margin:14px 0;border:1px solid var(--line);border-radius:12px;background:var(--bg)}.videoWizard aside{border:1px solid var(--line);border-radius:14px;padding:14px;background:var(--panel2)}.videoWizard li{padding:6px;color:var(--muted)}.videoWizard li.active{color:var(--text);font-weight:900}
.openaiForecastHero{position:relative;overflow:hidden;padding:20px!important;background:linear-gradient(135deg,var(--panel2),var(--panel))!important}.openaiForecastHero strong{font-size:34px}.openaiForecastHero:after{content:'↗';position:absolute;right:22px;top:16px;font-size:38px;color:var(--accent);opacity:.7}.openaiForecastHero .forecastGauge{height:14px;margin-top:8px}
#execHours .barRow{min-height:24px}
#tab-kpis>section:last-child,#tab-kam360>section:last-child{margin-bottom:30px!important}
body[data-language="en"] .sideBtn,body[data-language="en"] .tabBtn{letter-spacing:0}
@media(max-width:900px){.calendarProviderChoice,.exchangeCompanyConfig,.videoWizard{grid-template-columns:1fr}}


/* v4.6.5 stability/performance */
.openaiSpendGraph{contain:layout paint;content-visibility:auto;min-height:280px}
.openaiForecastHero{display:grid!important;grid-template-columns:minmax(0,1fr);gap:14px!important}
.openaiForecastHero>div:first-child{display:grid!important;grid-template-columns:auto 1fr;align-items:end;gap:8px 18px}
.openaiForecastHero>div:first-child span{grid-column:1/-1}.openaiForecastHero>div:first-child strong{font-size:38px!important;line-height:1}.openaiForecastHero>div:first-child small{font-size:13px}
.openaiForecastHero .forecastGauge{height:16px!important;box-shadow:inset 0 0 0 1px var(--line)}
.tabPane:not(.active){content-visibility:hidden}
.ruleCard,.tableWrap,.panel{contain:layout style}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}


/* v4.6.5 */
.openaiSpendReport{display:block!important;overflow:hidden}
.openaiSpendGraph{
  display:flex!important;
  align-items:stretch!important;
  min-height:300px!important;
  height:300px!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  gap:10px!important;
  contain:layout!important;
  content-visibility:visible!important;
}
.spendBarCol{display:grid!important;grid-template-rows:24px 1fr 34px!important;min-width:72px!important;max-width:96px!important;flex:1 0 72px!important}
.spendBarTrack{height:220px!important;min-height:220px!important;display:flex!important;align-items:flex-end!important}
.openaiForecastCard{min-height:126px}
.openaiForecastCard strong{font-size:40px!important}
.rejectedQuickDateFilters{display:flex;gap:12px;align-items:end;margin:10px 0 14px}
.monthlyPercentLabel,.goalCompareEndPct{min-width:54px;text-align:right;font-weight:900}
#execHours{max-height:none!important;overflow:visible!important}
#execHours .barRow{display:grid;grid-template-columns:48px 1fr 40px;gap:8px;align-items:center}
#execHours .track{height:10px}
#execHours .fill{min-width:0}


.tabPane:not(.active){display:none!important}
.tabPane.active{display:block!important}

/* v4.6.5 */
.stableWizardBackdrop{display:none;position:fixed;inset:0;background:rgba(0,0,0,.74);z-index:12000;align-items:center;justify-content:center;padding:20px}
.stableWizardBackdrop.open{display:flex!important}
.stableWizardModal{width:min(980px,96vw);max-height:92vh;overflow:auto}
.stableWizardStage{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(250px,.65fr);gap:18px}
.stableWizardScreen{border:1px solid var(--line);border-radius:14px;background:var(--panel2);padding:18px}
.stableWizardVisual{height:180px;display:grid;place-items:center;border:1px solid var(--line);border-radius:12px;background:var(--bg);font-size:32px;font-weight:900;margin-bottom:14px}
.stableWizardList li{padding:6px;color:var(--muted)}.stableWizardList li.active{color:var(--text);font-weight:900}
.goalComplianceFilters{display:grid;grid-template-columns:160px 220px minmax(260px,1fr) auto;gap:12px;align-items:end;margin:12px 0 16px}
#advancedTargetUser,#goalComplianceUser{min-width:260px}
#advancedTargetRows input:disabled{opacity:.72;cursor:not-allowed}
.tabPane:not(.active){display:none!important}
.tabPane.active{display:block!important}
body:not(.loaded) .sidebar,body:not(.loaded) .topbar{visibility:visible}
@media(max-width:900px){.stableWizardStage,.goalComplianceFilters{grid-template-columns:1fr}}


/* v4.6.5 · Performance KAM Executive */
#tab-kam360{padding:0 0 30px}
.pkHero{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;margin-bottom:14px;border:1px solid var(--line);border-radius:14px;background:linear-gradient(135deg,var(--panel),var(--panel2))}
.pkHero h2{font-size:28px;margin:4px 0}.pkHero p{margin:0;color:var(--muted)}.pkHeroActions{display:flex;gap:10px}
.pkFilterBar{display:grid;grid-template-columns:1fr 1fr 180px 220px auto;gap:14px;align-items:end;padding:16px 18px;border:1px solid var(--line);border-radius:14px;background:var(--panel);margin-bottom:14px}
.pkGridTop{display:grid;grid-template-columns:1.15fr 1fr 1.15fr;gap:14px;margin-bottom:14px}
.pkGridMiddle{display:grid;grid-template-columns:1.25fr 1fr;gap:14px;margin-bottom:14px}
.pkGridInsights{display:grid;grid-template-columns:.8fr 1.2fr;gap:14px;margin-bottom:14px}
.pkPanel{margin:0 0 14px!important;border-radius:14px!important;box-shadow:0 8px 26px rgba(0,0,0,.10)}
.pkMetricCards{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.pkMetricCard{padding:14px;border:1px solid var(--line);border-radius:12px;background:var(--panel2);display:flex;flex-direction:column;gap:5px}.pkMetricCard span{color:var(--muted);font-size:12px}.pkMetricCard strong{font-size:28px}.pkMetricCard small{color:var(--muted)}.pkMetricCard.completion strong{color:#70d78d}.pkMetricCard.gap strong{color:#ff6b6b}
.pkBenchmarkGauge{margin-top:16px}.pkGaugeTrack{height:18px;border-radius:999px;background:linear-gradient(90deg,#64cf83 0 75%,#e9c857 75% 90%,#ef6a75 90%);position:relative;overflow:visible}.pkGaugeTrack>i{position:absolute;inset:0 auto 0 0;background:rgba(255,255,255,.20);border-right:3px solid #fff;border-radius:999px}.pkGaugeTrack b{position:absolute;left:75%;top:-22px;font-size:10px;color:var(--muted)}.pkGaugeTrack strong{position:absolute;right:0;top:-26px}
.pkRankingTable td,.pkRankingTable th{font-size:12px}.pkRankingTable td small{display:block;color:var(--muted);margin-top:3px}.pkScore.green{color:#62d58b}.pkScore.yellow{color:#f1c95d}.pkScore.red{color:#f16f78}
.pkForecastWrap{display:grid;grid-template-columns:180px 1fr;gap:16px}.pkForecastStats{display:grid;grid-template-columns:1fr 1fr;gap:10px}.pkForecastStats>div{padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--panel2);display:flex;flex-direction:column}.pkForecastStats span{font-size:11px;color:var(--muted)}.pkForecastStats strong{font-size:23px;margin-top:5px;color:var(--accent)}
.pkForecastChart{min-height:250px;border:1px solid var(--line);border-radius:12px;background:var(--panel2);padding:16px;position:relative}.pkForecastLegend{display:flex;gap:16px;font-size:11px;color:var(--muted)}.pkForecastPlot{height:195px;position:relative;border-bottom:1px solid var(--line);margin-top:10px;display:flex;justify-content:space-around}.pkForecastPointWrap{position:relative;flex:1;height:100%;border-right:1px dashed rgba(255,255,255,.05)}.pkForecastPoint{position:absolute;width:10px;height:10px;border-radius:50%;background:var(--accent);left:50%;transform:translate(-50%,50%);box-shadow:0 0 0 4px rgba(80,135,255,.14)}.pkForecastPointWrap small{position:absolute;bottom:-22px;left:50%;transform:translateX(-50%);color:var(--muted)}.pkForecastPointWrap b{position:absolute;top:5px;left:50%;transform:translateX(-50%);font-size:10px}.pkForecastTarget{position:absolute;left:0;right:0;border-top:1px dashed #6fd28b}.pkForecastTarget span{position:absolute;right:0;top:-18px;color:#6fd28b;font-size:10px}
.pkHorizonGrid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.pkHorizonCard{padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--panel2);text-align:center}.pkHorizonCard>strong{display:block;text-align:left}.pkHorizonCard>small{display:block;color:var(--muted);font-size:10px}.pkHorizonBars{height:120px;display:flex;justify-content:center;gap:16px;align-items:flex-end;margin:10px 0}.pkHorizonBars>div{height:100%;width:42px;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:4px}.pkHorizonBars span{font-size:9px;color:var(--muted)}.pkHorizonBars i{display:block;width:26px;border-radius:4px 4px 0 0}.pkHorizonBars i.goal{border:2px dashed #98a7bd;background:transparent}.pkHorizonBars i.actual{background:linear-gradient(180deg,#4f86ff,#315fcc)}.pkHorizonBars b{font-size:10px}.pkHorizonCard em{font-style:normal;font-size:22px;font-weight:900}.pkHorizonCard em.ok{color:#6fd28b}.pkHorizonCard em.warn{color:#f1c95d}.pkHorizonCard em.bad{color:#f16f78}
.pkRiskHero{display:grid;grid-template-columns:120px 1fr;gap:18px;align-items:center}.pkRiskDial{width:110px;height:110px;border-radius:50%;display:grid;place-items:center;border:12px solid var(--line);position:relative}.pkRiskDial strong{font-size:30px}.pkRiskDial span{font-size:10px;color:var(--muted);margin-top:-34px}.pkRiskHero.low .pkRiskDial{border-color:#63d18a}.pkRiskHero.medium .pkRiskDial{border-color:#f0c85b}.pkRiskHero.high .pkRiskDial{border-color:#ef6b74}.pkRiskHero h4{margin:0 0 6px}.pkRiskHero p{color:var(--muted)}.pkRiskTrack{height:10px;border-radius:999px;background:var(--panel2);overflow:hidden}.pkRiskTrack i{display:block;height:100%;background:var(--accent)}
.pkRecommendation{display:grid;grid-template-columns:32px 1fr auto;gap:10px;align-items:center;padding:10px;border-bottom:1px solid var(--line)}.pkRecommendation:last-child{border-bottom:0}.pkRecNum{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:var(--panel2);font-weight:800}.pkRecommendation p{margin:2px 0;color:var(--muted);font-size:12px}.pkRecommendation em{font-style:normal;font-size:11px;font-weight:800;padding:5px 8px;border-radius:999px}.pkRecommendation.high em{background:rgba(239,107,116,.15);color:#ef6b74}.pkRecommendation.medium em{background:rgba(240,200,91,.15);color:#f0c85b}.pkRecommendation.low em{background:rgba(99,209,138,.15);color:#63d18a}
.pkCapacityBar{display:inline-block;width:100px;height:8px;border-radius:999px;background:var(--panel2);overflow:hidden;margin-right:8px}.pkCapacityBar i{display:block;height:100%;background:var(--accent)}.pkCapacityStatus{font-size:11px;padding:5px 8px;border-radius:999px}.pkCapacityStatus.high{color:#ef6b74;background:rgba(239,107,116,.15)}.pkCapacityStatus.normal{color:#63d18a;background:rgba(99,209,138,.15)}.pkCapacityStatus.low{color:#74a6ff;background:rgba(80,135,255,.15)}
.pkManualGrid{display:grid;grid-template-columns:repeat(6,1fr);gap:10px}.pkManualGrid article{padding:14px;border:1px solid var(--line);border-radius:12px;background:var(--panel2);display:flex;flex-direction:column;gap:6px}.pkManualGrid small{color:var(--muted);line-height:1.4}
#advancedTargetsGrid .tableWrap{max-height:430px;overflow:auto}#advancedTargetsGrid table input{max-width:150px}
@media(max-width:1250px){.pkGridTop{grid-template-columns:1fr 1fr}.pkGridTop>section:last-child{grid-column:1/-1}.pkHorizonGrid{grid-template-columns:repeat(2,1fr)}.pkManualGrid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:850px){.pkFilterBar,.pkGridTop,.pkGridMiddle,.pkGridInsights{grid-template-columns:1fr}.pkForecastWrap{grid-template-columns:1fr}.pkManualGrid{grid-template-columns:1fr 1fr}.pkHero{align-items:flex-start;gap:12px;flex-direction:column}}


/* v4.6.5 · Performance Intelligence */
.pkIntelligenceHeader{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;margin:8px 0 14px;border:1px solid var(--line);border-radius:14px;background:linear-gradient(135deg,var(--panel),var(--panel2))}
.pkIntelligenceHeader h2{font-size:26px;margin:4px 0}.pkIntelligenceHeader p{margin:0;color:var(--muted)}
.pkFeatureGrid{display:grid;gap:14px;margin-bottom:14px}.pkFeatureGrid3{grid-template-columns:repeat(3,minmax(0,1fr))}.pkFeatureGrid2{grid-template-columns:repeat(2,minmax(0,1fr))}
.piScoreRow{display:grid;grid-template-columns:30px minmax(120px,1fr) minmax(100px,1.2fr) 45px;gap:10px;align-items:center;padding:9px 0;border-bottom:1px solid var(--line)}.piRank{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:var(--panel2);font-weight:800}.piScoreRow small{display:block;color:var(--muted)}.piScoreBar,.piPercentileTrack{height:9px;border-radius:999px;background:var(--panel2);overflow:hidden}.piScoreBar i,.piPercentileTrack i{display:block;height:100%;background:linear-gradient(90deg,#4f86ff,#64cf83)}
.piAttention,.piPredictive{display:flex;gap:8px;align-items:center;padding:9px;border-bottom:1px solid var(--line)}.piAttention p{margin:0}.piAttention.red span{color:#ef6a75}.piAttention.yellow span{color:#f0c85b}.piAllGood{padding:14px;border-radius:12px;background:rgba(99,209,138,.10);color:#6fd28b}
.piPredictive{justify-content:space-between}.piPredictive.high{border-left:3px solid #ef6a75}.piPredictive.medium{border-left:3px solid #f0c85b}.piPredictive.low{border-left:3px solid #63d18a}
.pkWhatIfForm{display:grid;grid-template-columns:1.2fr repeat(4,.65fr) auto;gap:10px;align-items:end}.piWhatIfResult{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:14px}.piWhatIfResult>div{padding:14px;border:1px solid var(--line);border-radius:12px;background:var(--panel2);display:flex;flex-direction:column}.piWhatIfResult span{color:var(--muted);font-size:11px}.piWhatIfResult strong{font-size:20px}
.piAction{display:grid;grid-template-columns:28px 1fr;gap:10px;padding:9px 0;border-bottom:1px solid var(--line)}.piAction>span{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:var(--accent);color:#fff;font-weight:900}.piAction p{margin:3px 0;color:var(--muted);font-size:12px}
.piFunnel{display:flex;flex-direction:column;align-items:center;gap:5px}.piFunnel>div{padding:10px;text-align:center;background:linear-gradient(135deg,#335eaa,#4f86ff);clip-path:polygon(5% 0,95% 0,100% 100%,0 100%)}.piFunnel strong{font-size:23px;display:block}.piFunnel span{font-size:11px}.piFunnel i{font-style:normal;color:var(--muted);font-size:10px}
.piHealthScore{width:105px;height:105px;border-radius:50%;border:12px solid #63d18a;display:grid;place-items:center;margin:0 auto 12px}.piHealthScore strong{font-size:28px}.piHealthScore span{font-size:10px;color:var(--muted);margin-top:-28px}.piHealthLegend{display:grid;gap:7px}
.piInactive{display:flex;justify-content:space-between;align-items:center;padding:10px;border-bottom:1px solid var(--line)}.piInactive strong{font-size:23px}
.piCompare{display:grid;grid-template-columns:1fr 50px 90px 60px;gap:8px;align-items:center;padding:8px 0;border-bottom:1px solid var(--line)}.piCompare small{color:var(--muted)}.piCompare em{font-style:normal}.piCompare em.up{color:#63d18a}.piCompare em.down{color:#ef6a75}
.piPercentile strong{font-size:42px;color:var(--accent)}.piPercentile p{color:var(--muted)}.piStreak{text-align:center;padding:20px}.piStreak strong{font-size:54px;color:#f0c85b;display:block}.piStreak span,.piStreak small{display:block}
.piTrendChart{height:200px;display:flex;align-items:flex-end;gap:7px;padding:10px 0}.piTrendChart>div{flex:1;height:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:4px}.piTrendChart i{width:65%;min-height:4px;background:linear-gradient(180deg,#4f86ff,#315fcc);border-radius:4px 4px 0 0}.piTrendChart b,.piTrendChart small{font-size:9px}
.piRollingCard{display:grid;grid-template-columns:1fr auto;gap:6px;padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--panel2);margin-bottom:8px}.piRollingCard strong{font-size:24px;color:var(--accent)}.piRollingCard small,.piRollingCard div{grid-column:1/-1;color:var(--muted)}
.piSuggestion{display:grid;grid-template-columns:1fr 80px 45px 45px;gap:8px;align-items:center;padding:8px 0;border-bottom:1px solid var(--line)}.piSuggestion small{color:var(--muted)}.piSuggestion strong{font-size:19px}.piSuggestion em{font-style:normal;color:#63d18a}
.piCapacityCompare,.piTeamForecast{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.piTeamForecast{grid-template-columns:repeat(2,1fr)}.piCapacityCompare>div,.piTeamForecast>div{padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--panel2);display:flex;flex-direction:column}.piCapacityCompare span,.piTeamForecast span{color:var(--muted);font-size:11px}.piCapacityCompare strong,.piTeamForecast strong{font-size:24px}.piCapacityCompare .bad strong{color:#ef6a75}.piCapacityCompare .ok strong{color:#63d18a}
.piComment{padding:10px 0;border-bottom:1px solid var(--line)}.piComment>div{display:flex;justify-content:space-between;margin-bottom:7px}.piComment small{color:var(--muted)}.piComment textarea{width:100%;margin-bottom:7px}.piSnapshot{padding:14px;border:1px solid var(--line);border-radius:12px;background:var(--panel2)}.piSnapshot p{color:var(--muted)}
.piBrief{display:grid;grid-template-columns:54px 1fr;gap:15px;align-items:flex-start;padding:18px;border:1px solid var(--line);border-radius:12px;background:linear-gradient(135deg,var(--panel2),var(--panel))}.piBriefIcon{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;background:rgba(79,134,255,.15);color:var(--accent);font-size:24px}.piBrief p{margin:0;line-height:1.65}
@media(max-width:1100px){.pkFeatureGrid3{grid-template-columns:1fr 1fr}.pkFeatureGrid3>section:last-child{grid-column:1/-1}.pkWhatIfForm{grid-template-columns:1fr 1fr 1fr}}
@media(max-width:760px){.pkFeatureGrid3,.pkFeatureGrid2,.pkWhatIfForm{grid-template-columns:1fr}.pkFeatureGrid3>section:last-child{grid-column:auto}.pkIntelligenceHeader{flex-direction:column;align-items:flex-start;gap:12px}}


/* v4.6.5 · Client Contacts */
.clientContactsPanel{margin-top:18px!important}.clientContactToolbar{display:grid;grid-template-columns:minmax(260px,1fr) minmax(280px,1.4fr) auto;gap:12px;align-items:end;margin:12px 0 16px}
.contactCardGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.contactCard{border:1px solid var(--line);border-radius:14px;background:var(--panel2);padding:14px;display:flex;flex-direction:column;gap:12px}.contactCard.inactive{opacity:1;border-style:dashed}.contactCardHead{display:grid;grid-template-columns:44px 1fr auto;gap:10px;align-items:center}.contactAvatar{width:42px;height:42px;border-radius:12px;background:#e6eeff;color:#0754b8;display:grid;place-items:center;font-size:20px;font-weight:900}.contactCardHead strong{display:block}.contactCardHead small{display:block;color:var(--muted);margin-top:2px}.contactState{font-size:10px;padding:5px 8px;border-radius:999px;background:#ecf9f1;color:#166534}.contactCard.inactive .contactState{background:#fff0f2;color:#a32234}
.contactTags{display:flex;flex-wrap:wrap;gap:5px}.contactTags span{font-size:10px;padding:4px 7px;border-radius:999px;background:#eaf0ff;color:#0754b8}.contactDetails{display:grid;gap:7px}.contactDetails>div{display:grid;grid-template-columns:72px 1fr;gap:8px;font-size:12px}.contactDetails b{color:var(--muted);font-weight:600}.contactDetails a{color:var(--text);text-decoration:none}.contactDetails a:hover{text-decoration:underline}.contactNotes{font-size:12px;color:var(--muted);margin:0;padding-top:8px;border-top:1px solid var(--line);line-height:1.5}.contactActions{display:flex;gap:8px;margin-top:auto}.contactActions .btn{flex:1}
.clientContactModal{width:min(940px,96vw);max-height:92vh;overflow:auto}.clientContactForm{grid-template-columns:repeat(2,minmax(0,1fr))}.contactFlagGrid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.contactFlagGrid label{display:flex;align-items:center;gap:6px;padding:9px;border:1px solid var(--line);border-radius:10px;background:var(--panel2)}
.client360ContactList{display:grid;gap:9px}.client360ContactRow{display:grid;grid-template-columns:minmax(180px,1fr) minmax(200px,1fr) auto;gap:14px;align-items:center;padding:11px;border:1px solid var(--line);border-radius:12px;background:var(--panel2)}.client360ContactRow strong,.client360ContactRow small,.client360ContactRow a,.client360ContactRow span{display:block}.client360ContactRow small{color:var(--muted);margin-top:2px}.client360ContactRow a{color:var(--accent);text-decoration:none}.client360ContactRow>div:nth-child(2) span{color:var(--muted);margin-top:3px}
@media(max-width:1100px){.contactCardGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.contactFlagGrid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:760px){.clientContactToolbar,.contactCardGrid,.clientContactForm,.client360ContactRow{grid-template-columns:1fr}.contactFlagGrid{grid-template-columns:1fr 1fr}}


/* v4.6.5 · Automated Test Center */
.automatedTestCenter{margin-top:18px!important}.testCenterSummary{display:grid;grid-template-columns:1.5fr repeat(6,1fr);gap:10px;margin:14px 0}.testCenterSummary>div{padding:13px;border:1px solid var(--line);border-radius:12px;background:var(--panel2);display:flex;flex-direction:column;gap:4px}.testCenterSummary span{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}.testCenterSummary strong{font-size:20px}.testCenterSummary .pass strong{color:#63d18a}.testCenterSummary .fail strong{color:#ef6a75}.testCenterSummary .warn strong{color:#f0c85b}
.testCenterMeta{display:flex;gap:18px;flex-wrap:wrap;padding:10px 12px;border-radius:10px;background:var(--panel2);color:var(--muted);font-size:12px}.testCenterMeta strong{color:var(--text)}.testCenterFilters{display:grid;grid-template-columns:1fr 180px 1.5fr;gap:12px;align-items:end;margin:14px 0}.testResultsTable small{display:block;color:var(--muted);margin-top:3px}.testBadge{display:inline-flex;padding:4px 7px;border-radius:999px;font-size:9px;font-weight:900}.testBadge.passed{background:rgba(99,209,138,.14);color:#63d18a}.testBadge.failed{background:rgba(239,106,117,.14);color:#ef6a75}.testBadge.warning{background:rgba(240,200,91,.14);color:#f0c85b}.testBadge.skipped{background:rgba(120,135,160,.14);color:var(--muted)}.test-failed{background:rgba(239,106,117,.035)}.test-warning{background:rgba(240,200,91,.025)}
.testCenterHelp{display:grid;gap:8px;margin-top:14px;padding:14px;border:1px solid var(--line);border-radius:12px;background:var(--panel2)}.testCenterHelp code{display:block;padding:9px;border-radius:8px;background:var(--bg);overflow:auto}.testCenterHelp small{color:var(--muted);line-height:1.5}
@media(max-width:1100px){.testCenterSummary{grid-template-columns:repeat(4,1fr)}}
@media(max-width:760px){.testCenterSummary,.testCenterFilters{grid-template-columns:1fr 1fr}}


/* v4.6.5 · Quick Test vs Full Test */
.testCenterHeader{align-items:center}.testExecutionOptions{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:14px 0}.testExecutionOption{border:1px solid var(--line);border-radius:14px;background:var(--panel2);padding:16px;display:grid;grid-template-columns:1fr auto;gap:16px;align-items:center}.testExecutionOption strong{font-size:16px}.testExecutionOption p{margin:6px 0 0;color:var(--muted);font-size:12px;line-height:1.55;max-width:720px}.testExecutionOption.quick{border-left:4px solid #4f86ff}.testExecutionOption.full{border-left:4px solid #a77cff}.fullTestBtn{background:linear-gradient(135deg,#7b5bd6,#4f86ff);color:#fff;border-color:transparent}.fullTestBtn:hover{filter:brightness(1.08)}.testLaunchMessage{display:grid;gap:4px;padding:12px 14px;border-radius:12px;margin-bottom:12px}.testLaunchMessage.success{background:rgba(99,209,138,.10);border:1px solid rgba(99,209,138,.28)}.testLaunchMessage.error{background:rgba(239,106,117,.10);border:1px solid rgba(239,106,117,.28)}.testLaunchMessage span,.testLaunchMessage small{color:var(--muted)}
@media(max-width:850px){.testExecutionOptions{grid-template-columns:1fr}.testExecutionOption{grid-template-columns:1fr}.testExecutionOption .btn{width:100%}}


/* v4.6.5 · Operational Intelligence */
.globalSearchWrap{position:relative;min-width:300px}.globalSearchWrap input{width:100%;padding:9px 12px;border-radius:10px;border:1px solid var(--line);background:var(--panel2);color:var(--text)}.globalSearchResults{position:absolute;top:calc(100% + 8px);left:0;width:min(520px,80vw);max-height:420px;overflow:auto;background:var(--panel);border:1px solid var(--line);border-radius:12px;box-shadow:0 16px 50px rgba(0,0,0,.35);z-index:2000;padding:7px}.globalSearchItem{width:100%;display:grid;grid-template-columns:1fr auto;gap:2px 10px;text-align:left;padding:10px;border:0;border-bottom:1px solid var(--line);background:transparent;color:var(--text);cursor:pointer}.globalSearchItem small{color:var(--muted)}.globalSearchItem span{grid-row:1/3;grid-column:2;font-size:9px;text-transform:uppercase;color:var(--accent)}
.operationsHero{margin-bottom:16px}.opsEnvironment{display:inline-flex;padding:7px 11px;border-radius:999px;font-weight:900;font-size:11px;letter-spacing:.08em}.opsEnvironment.production{background:#fff0f2;color:#a32234}.opsEnvironment.staging{background:rgba(240,200,91,.14);color:#f0c85b}.opsHeroActions{display:flex;gap:8px;margin-top:14px}.opsGrid{display:grid;gap:14px;margin-bottom:14px}.opsTop{grid-template-columns:1fr 1.15fr 1.15fr}.opsTwo{grid-template-columns:1fr 1fr}.opsThree{grid-template-columns:repeat(3,1fr)}
.opsHealthScore{width:120px;height:120px;border-radius:50%;border:12px solid var(--accent);display:grid;place-items:center;margin:6px auto 12px}.opsHealthScore strong{font-size:31px}.opsHealthScore span{font-size:10px;color:var(--muted);margin-top:-36px}.opsBadge{font-size:9px;font-weight:900;padding:4px 7px;border-radius:999px}.opsBadge.success,.opsBadge.passed{background:rgba(99,209,138,.14);color:#63d18a}.opsBadge.warning,.opsBadge.unknown,.opsBadge.running{background:rgba(240,200,91,.14);color:#f0c85b}.opsBadge.failed{background:rgba(239,106,117,.14);color:#ef6a75}.opsCheck{display:flex;align-items:center;gap:9px;padding:7px 0;border-bottom:1px solid var(--line)}
.opsDQHead{display:flex;justify-content:space-between;align-items:center;margin-bottom:7px}.opsDQHead strong{font-size:28px}.opsDQHead span{color:var(--muted)}.opsIssue{width:100%;display:grid;grid-template-columns:16px 35px 1fr;gap:7px;align-items:center;text-align:left;background:transparent;border:0;border-bottom:1px solid var(--line);padding:8px 0;color:var(--text);cursor:pointer}.opsIssue em{font-style:normal}.opsIssue .critical{color:#ef6a75}.opsIssue .warning{color:#f0c85b}.opsAllGood{padding:12px;border-radius:10px;background:rgba(99,209,138,.10);color:#63d18a}
.opsJob,.opsQueueItem,.opsFlag,.opsPerf,.opsBackup,.opsTask,.opsRelease{display:grid;grid-template-columns:1fr auto auto;gap:10px;align-items:center;padding:8px 0;border-bottom:1px solid var(--line)}.opsJob small,.opsQueueItem small,.opsFlag small,.opsPerf small,.opsRelease small{display:block;color:var(--muted)}.opsRelease{grid-template-columns:85px 1fr auto}.opsRelease.current{background:rgba(79,134,255,.05)}.opsPerf{grid-template-columns:1fr 80px 150px}.opsSlow{padding:9px;border-left:3px solid #ef6a75;margin-bottom:7px;background:rgba(239,106,117,.05);display:flex;justify-content:space-between}
.environmentControl{display:flex;gap:8px;margin-bottom:10px}.opsMigrationState{display:grid;grid-template-columns:auto auto auto auto;gap:8px;padding:10px;margin-top:10px;border:1px solid var(--line);border-radius:10px}.opsTechGrid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.opsTechGrid>div{padding:10px;border:1px solid var(--line);border-radius:10px;background:var(--panel2)}.opsTechGrid span,.opsTechGrid strong{display:block}.opsTechGrid span{font-size:10px;color:var(--muted)}
.opsTask{grid-template-columns:10px 1fr auto}.priority{width:8px;height:32px;border-radius:999px}.priority.low{background:#63d18a}.priority.medium{background:#4f86ff}.priority.high{background:#f0c85b}.priority.critical{background:#ef6a75}.opsAgendaCard{display:flex;align-items:baseline;gap:10px;padding:12px;border-bottom:1px solid var(--line)}.opsAgendaCard strong{font-size:27px}.opsNBA{padding:10px;border-left:3px solid var(--accent);margin-bottom:8px;background:var(--panel2)}.opsNBA.high{border-left-color:#ef6a75}.opsNBA.medium{border-left-color:#f0c85b}.opsNBA span,.opsNBA small{display:block;margin-top:3px}.opsNBA small{color:var(--muted)}
.opsEngRow{display:grid;grid-template-columns:1fr 45px 110px;gap:8px;padding:8px 0;border-bottom:1px solid var(--line)}.opsMiniItem{display:block;width:100%;text-align:left;padding:9px;border:0;border-bottom:1px solid var(--line);background:transparent;color:var(--text)}.opsMergeForm{display:grid;grid-template-columns:1fr auto 1fr auto;gap:10px;align-items:center;margin-bottom:10px}
.clientOpsGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:16px}.clientOpsCard{padding:14px;border:1px solid var(--line);border-radius:12px;background:var(--panel2)}.clientOpsCard span,.clientOpsCard small,.clientOpsCard strong{display:block}.clientOpsCard span,.clientOpsCard small{color:var(--muted)}.clientOpsCard strong{font-size:22px;margin:4px 0}.relationRoot{width:max-content;margin:0 auto 14px;padding:10px 16px;border:2px solid var(--accent);border-radius:12px;font-weight:900}.relationBranches{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.relationPerson{padding:9px;border:1px solid var(--line);border-radius:10px;background:var(--panel2)}.relationPerson small,.relationPerson span{display:block;color:var(--muted);font-size:10px}.timelineItem{display:grid;grid-template-columns:80px 1fr;gap:10px;padding:8px 0;border-bottom:1px solid var(--line)}.timelineItem>span{color:var(--muted);font-size:11px}.timelineItem p{margin:3px 0}
.commitmentRow{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:12px;align-items:center;padding:12px;margin-top:8px;border:1px solid var(--line);border-left:4px solid var(--accent);border-radius:12px;background:var(--panel2)}.commitmentRow strong,.commitmentRow small{display:block}.commitmentRow small{margin-top:4px;color:var(--muted)}.commitmentRow.overdue{border-left-color:var(--danger,#d72f45)}.commitmentRow.due_soon{border-left-color:var(--warning,#c88a00)}.commitmentRow.completed{opacity:.72}@media(max-width:760px){.commitmentRow{grid-template-columns:1fr}.commitmentRow .btn{width:100%}}
.opsCompareFilters{display:flex;gap:9px;align-items:center;margin-bottom:12px}.opsCompareGrid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.opsCompareGrid>div{padding:12px;border:1px solid var(--line);border-radius:10px;background:var(--panel2);display:flex;flex-direction:column}.opsCompareGrid strong{font-size:24px}.opsCompareGrid small{color:var(--muted)}.opsCompareGrid em{font-style:normal}.opsCompareGrid .up{color:#63d18a}.opsCompareGrid .down{color:#ef6a75}.opsDetailModal{width:min(980px,95vw)}
@media(max-width:1150px){.opsTop,.opsThree{grid-template-columns:1fr 1fr}.opsTop>section:last-child,.opsThree>section:last-child{grid-column:1/-1}.globalSearchWrap{min-width:220px}}
@media(max-width:800px){.opsTop,.opsTwo,.opsThree,.clientOpsGrid,.opsCompareGrid{grid-template-columns:1fr}.opsTop>section:last-child,.opsThree>section:last-child{grid-column:auto}.opsMergeForm{grid-template-columns:1fr}.globalSearchWrap{display:none}}


.opsStatGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.opsStatGrid>div{padding:10px;border:1px solid var(--line);border-radius:10px;background:var(--panel2)}.opsStatGrid span,.opsStatGrid strong{display:block}.opsStatGrid span{font-size:10px;color:var(--muted)}.opsAuditRow{border-bottom:1px solid var(--line);padding:7px 0}.opsAuditRow summary{display:flex;justify-content:space-between;cursor:pointer}.opsAuditBody{display:grid;grid-template-columns:1fr auto 1fr;gap:8px;align-items:start;margin-top:8px}.opsAuditBody pre{white-space:pre-wrap;overflow-wrap:anywhere;margin:0;padding:8px;border-radius:8px;background:var(--bg);font-size:10px}.opsAgendaSummary{display:grid;grid-template-columns:auto 1fr auto 1fr;gap:8px;align-items:baseline;margin-bottom:8px}.opsAgendaSummary strong{font-size:25px}.opsAgendaLine{display:grid;grid-template-columns:78px 60px 1fr 130px;gap:8px;padding:7px 0;border-bottom:1px solid var(--line)}.opsAgendaLine small{color:var(--muted)}.opsAgendaLine.task{border-left:3px solid #f0c85b;padding-left:8px}.opsKpiExplain{display:flex;gap:8px;flex-wrap:wrap}.opsKpiDrill{padding:10px 13px;border:1px solid var(--line);border-radius:10px;background:var(--panel2);color:var(--text);cursor:pointer}.opsFormulaBreakdown{margin-top:12px;padding:12px;border:1px solid var(--line);border-radius:10px}.opsFormulaBreakdown span,.opsFormulaBreakdown code{display:block}.opsFormulaBreakdown code{margin-top:5px;color:var(--muted)}

\n/* v4.6.5 · Stabilization / visual alignment */\n.pkFeatureGrid{align-items:stretch!important}.pkFeatureGrid>.pkPanel{margin:0!important;height:100%!important;align-self:stretch!important;box-sizing:border-box}.pkFeatureGrid>.pkPanel>.sectionTitle{min-height:62px;align-items:flex-start!important}.pkFeatureGrid3,.pkFeatureGrid2{grid-auto-rows:1fr}.pkPanel{box-sizing:border-box!important}.pkInlineFilters{display:grid;grid-template-columns:minmax(150px,220px) minmax(150px,220px) auto auto;gap:10px;align-items:end;margin:0 0 14px}.pkHistoryFilters{grid-template-columns:1fr 180px 1fr 1fr auto}.performanceMergedKpisHeader{margin-top:24px!important}.performanceMergedKpisHeader h2{margin:3px 0}.legacyKpisNav{display:none!important}.openaiUsageChart{display:flex!important;align-items:stretch!important;gap:8px!important;height:320px!important;min-height:320px!important;max-height:none!important;overflow-x:auto!important;overflow-y:hidden!important;padding-bottom:6px}.openaiUsageChart .spendBarTrack{height:240px!important;min-height:240px!important}.clevelDashboardGrid{align-items:stretch!important}.clevelCard{height:100%;box-sizing:border-box}.opsGrid{align-items:stretch}.opsGrid>.panel{height:100%;box-sizing:border-box}.opsFunctionChips{display:flex;flex-wrap:wrap;gap:8px}.opsFunctionChips button{border:1px solid var(--line);background:var(--panel2);color:var(--text);padding:9px 11px;border-radius:999px;cursor:pointer}.clientOpsGrid>.clientOpsCard{height:100%;box-sizing:border-box}\n@media(max-width:900px){.pkInlineFilters,.pkHistoryFilters{grid-template-columns:1fr 1fr}.pkInlineFilters .btn{width:100%}}\n@media(max-width:620px){.pkInlineFilters,.pkHistoryFilters{grid-template-columns:1fr}}\n

/* v4.6.5 · layout stabilization */
#tab-kam360 .panel,#tab-executive .panel,#tab-client360 .panel,#tab-operations .panel{min-width:0;box-sizing:border-box}
#tab-kam360 .pkFeatureGrid,#tab-kam360 .pkGridTop,#tab-kam360 .pkGridMiddle,#tab-kam360 .pkGridInsights,
#tab-executive .analyticsGrid,#tab-executive .riExecBottomGrid{align-items:stretch!important}
#tab-kam360 .pkFeatureGrid>.panel,#tab-kam360 .pkGridTop>.panel,#tab-kam360 .pkGridMiddle>.panel,#tab-kam360 .pkGridInsights>.panel,
#tab-executive .analyticsGrid>.panel,#tab-executive .riExecBottomGrid>.panel{height:100%!important;min-height:0!important;overflow:hidden}
#tab-kam360 .sectionTitle,#tab-executive .sectionTitle{min-height:58px;align-items:flex-start}
#tab-kam360 .chart,#tab-kam360 .pkForecastChart,#tab-executive .chart{max-width:100%;overflow:hidden}
#tab-kam360>*+*,#tab-executive>*+*{scroll-margin-top:22px}
#pkExecutiveCommentsPanel,#savedKpisPanel{margin-top:22px!important}
.goalsConfigFilters{display:grid;grid-template-columns:minmax(220px,1fr) 180px minmax(180px,.8fr) auto auto;gap:12px;align-items:end;margin:14px 0 18px}
.goalsConfigGridTable{width:100%;border-collapse:collapse}.goalsConfigGridTable th,.goalsConfigGridTable td{padding:10px;border-bottom:1px solid var(--line);text-align:left}.goalsConfigGridTable input{width:100%}
#goalsConfigScope{margin:0 0 12px}
.client360RelationshipGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:16px}.client360RelationshipCard{border:1px solid var(--line);border-radius:12px;padding:14px;background:var(--panel2)}.client360RelationshipCard span,.client360RelationshipCard small{display:block;color:var(--muted)}.client360RelationshipCard strong{display:block;font-size:24px;margin:4px 0}
.c360ContactGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.c360ContactCard{padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--panel2)}.c360ContactCard strong,.c360ContactCard small,.c360ContactCard span,.c360ContactCard a{display:block}.c360ContactCard small{color:var(--muted)}.c360ContactTags{display:flex!important;flex-wrap:wrap;gap:5px;margin-top:8px}.c360ContactTags em{font-style:normal;padding:4px 7px;border-radius:999px;background:#eaf0ff;color:#0754b8;font-size:10px}
.c360UnifiedTimeline{display:grid;gap:8px}.c360TimelineRow{display:grid;grid-template-columns:100px 95px 1fr;gap:12px;align-items:start;padding:10px;border-bottom:1px solid var(--line)}.c360TimelineRow>span{color:var(--muted);font-size:11px}.c360TimelineRow strong{display:block}.c360TimelineRow small{color:var(--muted)}
.capacityPlannerGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.capacityPlannerCard{border:1px solid var(--line);border-radius:12px;padding:12px;background:var(--panel2)}.capacityPlannerCard>strong{display:block}.capacityPlannerMetrics{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:10px}.capacityPlannerMetrics div{padding:8px;border-radius:8px;background:var(--bg)}.capacityPlannerMetrics span,.capacityPlannerMetrics b{display:block}.capacityPlannerMetrics span{font-size:9px;color:var(--muted)}
.stableWizardVisual{height:270px!important;background:linear-gradient(145deg,#0b1724,#10243a)!important;border:1px solid #24445b!important;border-radius:14px!important;display:grid!important;place-items:center!important;overflow:hidden!important}
.wizardIllustration{width:92%;height:88%;position:relative}.wizBrowser{position:absolute;inset:6px;border:1px solid #33566d;border-radius:12px;background:#0c1d2b;overflow:hidden}.wizBrowserTop{height:28px;background:#132a3c;border-bottom:1px solid #315166;display:flex;align-items:center;gap:5px;padding:0 10px}.wizDot{width:7px;height:7px;border-radius:50%;background:#68869a}.wizSidebar{position:absolute;top:29px;bottom:0;left:0;width:28%;border-right:1px solid #29465c;padding:12px 8px}.wizLine{height:8px;border-radius:6px;background:#24445a;margin:7px 0}.wizLine.active{background:#4f86ff}.wizContent{position:absolute;top:29px;bottom:0;left:28%;right:0;padding:14px}.wizCard{border:1px solid #2d5169;border-radius:9px;padding:10px;margin-bottom:9px;background:#102536}.wizTitle{width:55%;height:10px;background:#5f8095;border-radius:6px;margin-bottom:8px}.wizField{height:24px;border:1px solid #365a70;border-radius:6px;margin:6px 0;background:#0a1a27}.wizBtn{height:24px;width:42%;border-radius:7px;background:#4f86ff;margin-top:8px}.wizRuleNode{display:inline-grid;place-items:center;min-width:80px;height:44px;padding:0 8px;border:1px solid #3b6680;border-radius:9px;background:#102b3e;margin:8px}.wizConnector{display:inline-block;width:36px;height:2px;background:#4f86ff;vertical-align:middle}.wizPermission{display:grid;grid-template-columns:1fr auto;gap:8px;padding:7px;border-bottom:1px solid #27465c}.wizCheck{width:18px;height:18px;border-radius:4px;background:#55d39e}.wizAvatar{width:54px;height:54px;border-radius:50%;background:#4f86ff;display:grid;place-items:center;font-weight:900;font-size:20px;margin:0 auto 10px}
@media(max-width:900px){.goalsConfigFilters,.capacityPlannerGrid,.client360RelationshipGrid,.c360ContactGrid{grid-template-columns:1fr}.stableWizardVisual{height:230px!important}}


/* v4.6.5 definitive interaction + layout fixes */
.modalBackdrop.open{display:flex!important;z-index:16000!important}
#clientContactBackdrop.open,#followupBackdrop.open,#opsDetailBackdrop.open{display:flex!important}
#newClientContactBtn,.editClientContact,.deleteClientContact,#c360NewTaskBtn,.opsKpiDrill{pointer-events:auto!important;position:relative;z-index:2}

/* Performance: uniform, non-overlapping cards */
#tab-kam360{display:none}
#tab-kam360.active{display:block!important}
#tab-kam360 .pkGridTop{grid-template-columns:repeat(2,minmax(0,1fr))!important}
#tab-kam360 .pkGridMiddle,#tab-kam360 .pkGridInsights,#tab-kam360 .pkFeatureGrid2{grid-template-columns:repeat(2,minmax(0,1fr))!important}
#tab-kam360 .pkFeatureGrid3{grid-template-columns:repeat(3,minmax(0,1fr))!important}
#tab-kam360 :is(.pkGridTop,.pkGridMiddle,.pkGridInsights,.pkFeatureGrid){width:100%!important;gap:16px!important;align-items:stretch!important;margin:0 0 16px!important}
#tab-kam360 :is(.pkGridTop,.pkGridMiddle,.pkGridInsights,.pkFeatureGrid)>.panel{margin:0!important;height:100%!important;min-height:220px!important;overflow:hidden!important}
#tab-kam360>.panel{width:100%!important;margin:0 0 16px!important;box-sizing:border-box!important;overflow:hidden!important}
#tab-kam360 .sectionTitle{min-height:62px!important;margin-bottom:12px!important}
#tab-kam360 .sectionTitle h3{line-height:1.2!important;margin:0!important}
#tab-kam360 .pkIntelligenceHeader{margin:26px 0 16px!important;width:100%!important;box-sizing:border-box!important}
#tab-kam360 #pkExecutiveCommentsPanel{min-height:240px!important}
#tab-kam360 #savedKpisPanel{margin-top:24px!important;width:100%!important}
#tab-kam360 textarea{max-width:100%!important;box-sizing:border-box!important}

/* Executive Summary: consistent grids */
#tab-executive :is(.riExecMainGrid,.riExecBottomGrid,.riDashGrid4,.riKpiStrip){display:grid!important;width:100%!important;gap:16px!important;align-items:stretch!important;box-sizing:border-box!important}
#tab-executive .riExecMainGrid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
#tab-executive .riExecBottomGrid{grid-template-columns:repeat(4,minmax(0,1fr))!important}
#tab-executive .riDashGrid4{grid-template-columns:repeat(2,minmax(0,1fr))!important}
#tab-executive .riKpiStrip{grid-template-columns:repeat(5,minmax(0,1fr))!important}
#tab-executive :is(.riExecMainGrid,.riExecBottomGrid,.riDashGrid4)>.panel{height:100%!important;margin:0!important;min-width:0!important;overflow:hidden!important;box-sizing:border-box!important}
#tab-executive .sectionTitle{min-height:58px!important;align-items:flex-start!important}
#tab-executive .clevelDashboardGrid{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(190px,1fr))!important;gap:12px!important;align-items:stretch!important}
#tab-executive .clevelCard{height:100%!important;box-sizing:border-box!important}

/* Opportunities alignment */
#tab-opportunities .grid2{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:16px!important;align-items:stretch!important}
#tab-opportunities .grid2>.panel{height:100%!important;min-height:260px!important;margin:0!important;overflow:hidden!important;box-sizing:border-box!important}
#tab-opportunities .sectionTitle{min-height:54px!important}
#nextStepsList,#coolingClients{display:flex!important;flex-direction:column!important;gap:8px!important}

/* Client admin merge */
.clientMergePanel{margin-top:18px!important}.clientMergeForm{display:grid;grid-template-columns:minmax(220px,1fr) auto minmax(220px,1fr) auto;gap:12px;align-items:end}.clientMergeArrow{font-size:24px;color:var(--muted);align-self:center}.clientMergeResult{margin-top:10px}

/* Wizard illustrations: lightened illustrated canvas */
.stableWizardVisual{height:300px!important;background:linear-gradient(145deg,#102131,#173047)!important;border:1px solid #355b73!important;box-shadow:inset 0 0 0 1px rgba(255,255,255,.025),0 14px 35px rgba(0,0,0,.22)!important}
.wizardIllustration{width:94%!important;height:90%!important}.wizBrowser{background:#f5f8fb!important;border-color:#a9bdca!important;box-shadow:0 12px 30px rgba(0,0,0,.28)!important}.wizBrowserTop{background:#dfe9f0!important;border-color:#b4c7d3!important}.wizDot{background:#7894a6!important}.wizSidebar{background:#e9f0f5!important;border-color:#c2d2dc!important}.wizLine{background:#c0d0da!important}.wizLine.active{background:#2878d4!important}.wizContent{background:#f7fafc!important}.wizCard{background:#fff!important;border-color:#c4d3dd!important;box-shadow:0 3px 10px rgba(35,65,82,.08)!important;color:#203746!important}.wizTitle{background:#6f8b9d!important}.wizField{background:#f4f8fa!important;border-color:#b9ccd8!important}.wizBtn{background:#2878d4!important}.wizRuleNode{background:#eaf4ff!important;border-color:#6da1d0!important;color:#1e527d!important}.wizConnector{background:#2878d4!important}.wizPermission{border-color:#d5e1e8!important;color:#284251!important}.wizCheck{background:#36b989!important}.wizAvatar{background:linear-gradient(135deg,#2878d4,#45b7a2)!important;color:#fff!important}

@media(max-width:1200px){#tab-executive .riExecBottomGrid{grid-template-columns:repeat(2,minmax(0,1fr))!important}#tab-executive .riKpiStrip{grid-template-columns:repeat(3,minmax(0,1fr))!important}#tab-kam360 .pkFeatureGrid3{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:800px){#tab-kam360 :is(.pkGridTop,.pkGridMiddle,.pkGridInsights,.pkFeatureGrid2,.pkFeatureGrid3),#tab-executive :is(.riExecMainGrid,.riExecBottomGrid,.riDashGrid4,.riKpiStrip),#tab-opportunities .grid2,.clientMergeForm{grid-template-columns:1fr!important}.clientMergeArrow{display:none}.stableWizardVisual{height:240px!important}}


.envBadge{display:none;align-items:center;gap:6px;padding:7px 10px;border-radius:999px;font-size:11px;font-weight:900;letter-spacing:.08em;border:1px solid var(--line)}.envBadge.qa{display:inline-flex;background:rgba(255,193,73,.16);border-color:rgba(255,193,73,.48);color:#ffd16f}.envBadge.qa:before{content:'⚠'}
.fxRateTable input,.lossReasonTable input{min-width:100px}.maintenanceConfigGrid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:18px}.envSwitchButtons{display:flex;gap:10px;flex-wrap:wrap}.environmentPanel .currentEnv{font-size:28px;font-weight:900;margin:8px 0}.fxLatestGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:12px 0}.fxLatestGrid article{border:1px solid var(--line);border-radius:12px;padding:12px;background:var(--panel2)}.fxLatestGrid strong,.fxLatestGrid span{display:block}.lossReasonRow{display:grid;grid-template-columns:minmax(180px,1fr) 100px 100px auto;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line)}.lossReasonRow>div{display:flex;flex-direction:column;align-items:flex-start;gap:5px;min-width:0}.lossReasonRow>div strong,.lossReasonRow>div small{display:block;max-width:100%;overflow-wrap:anywhere}.lossReasonRow>div small{color:var(--muted);font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:12px}.qaTopHint{color:#ffd16f!important}
@media(max-width:900px){.maintenanceConfigGrid,.fxLatestGrid{grid-template-columns:1fr}.lossReasonRow{grid-template-columns:1fr 1fr}.lossReasonRow>div{grid-column:1/-1}}


.goalsWeightSummary{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-top:14px;padding:12px 14px;border:1px solid var(--line);border-radius:11px;background:var(--panel2)}.goalsWeightSummary span{color:var(--muted);font-size:12px}.goalsWeightSummary.invalid{border-color:#b75863;background:rgba(213,88,102,.08)}.goalsWeightSummary.invalid strong,.goalsWeightSummary.invalid span{color:#ff9aa4}.goalsWeightSummary.complete{border-color:#2e8f72}.goalsSaveFeedback{min-height:22px;margin-top:9px;font-size:12px;font-weight:700}.goalsSaveFeedback.success{color:#67d9ad}.goalsSaveFeedback.error{color:#ff8f9b}.goalsSaveFeedback.working{color:#e4c86f}

.fxAutomationGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:14px 0}.fxAutomationGrid article{display:grid;gap:9px;padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--panel2)}.fxHistoryFilters{display:grid;grid-template-columns:1fr 1fr 160px auto;gap:10px;align-items:end;margin-top:18px}.fxHistoryFilters .field{margin:0}@media(max-width:900px){.fxAutomationGrid,.fxHistoryFilters{grid-template-columns:1fr}}

.calendarRuleRow{display:grid;grid-template-columns:1fr auto auto;gap:10px;align-items:center;padding:10px;border-bottom:1px solid var(--line)}.calendarRuleRow strong,.calendarRuleRow small{display:block}.calendarRuleRow small{color:var(--muted);margin-top:3px}.suppressRejectedBtn{min-height:40px!important;padding:9px 13px!important;font-size:12px!important}

.domainPolicyRow{display:grid;grid-template-columns:1fr 130px minmax(220px,1.4fr) auto auto;gap:10px;align-items:center;padding:9px 0;border-bottom:1px solid var(--line)}@media(max-width:900px){.domainPolicyRow{grid-template-columns:1fr}}

.revupFixedLogoLink{display:flex!important;align-items:center!important;justify-content:flex-start!important;padding:10px 8px 16px!important}.revupFixedLogoLink img{width:100%!important;max-width:182px!important;height:54px!important;object-fit:contain!important;object-position:left center!important}.revupHeaderLogo{width:124px!important;height:46px!important;display:flex!important;align-items:center!important;justify-content:center!important;background:transparent!important;border:0!important}.revupHeaderLogo img{width:100%!important;height:100%!important;object-fit:contain!important}.fixedBrandNotice{margin:4px 0 14px}.brandingPreviewLogo{width:112px!important;height:112px!important;min-height:112px!important;background:transparent!important;overflow:visible!important;display:flex!important;align-items:center!important;justify-content:center!important}.brandingPreviewLogo img{display:block!important;width:100%!important;height:100%!important;max-width:112px!important;max-height:112px!important;object-fit:contain!important;object-position:center!important}.licenseSummary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.licenseMetric,.governanceControlCard{border:1px solid var(--line);border-radius:14px;padding:16px;background:var(--panel2)}.licenseMetric span,.licenseMetric strong{display:block}.licenseMetric span{font-size:12px;color:var(--muted)}.licenseMetric strong{font-size:26px;margin-top:5px}.governanceControlsGrid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}.governanceControlCard strong,.governanceControlCard span{display:block}.governanceControlCard span{font-size:11px;color:var(--muted);margin-top:5px}.licenseTrial{color:var(--theme-warning,#ffd16f)}.licenseBlocked{color:var(--theme-error,#ff8c8c)}.licenseOk{color:var(--theme-success,#6fd7b4)}
.opportunityDuplicateCard{border-color:color-mix(in srgb,var(--warning,#f5b942) 45%,var(--line));background:linear-gradient(135deg,var(--panel),var(--panel2))}.opportunityDuplicateCard .sectionTitle>strong{font-size:28px}.duplicateAlertList{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}.duplicateAlertList article{border:1px solid var(--line);border-radius:12px;padding:12px;background:var(--panel2)}.duplicateAlertList article div,.duplicateAlertList article b,.duplicateAlertList article span,.duplicateAlertList article small{display:block}.duplicateAlertList article span{margin-top:4px}.duplicateAlertList article small{margin-top:6px;color:var(--muted)}
#environmentBadge.qa{background:#7c4d13!important;color:#ffe3a1!important;border-color:#c08733!important}.brandIdentity .trackerSuffix:before{content:' · ';}
@media(max-width:900px){.licenseSummary,.governanceControlsGrid{grid-template-columns:1fr 1fr}.revupHeaderLogo{width:104px!important}.revupFixedLogoLink img{max-width:150px!important}}
@media(max-width:600px){.licenseSummary,.governanceControlsGrid{grid-template-columns:1fr}.revupHeaderLogo{width:92px!important;height:40px!important}}

:root{--revup-gap:18px;--revup-radius:14px}
.tabPane{font-size:14px;line-height:1.48}.tabPane>.panel,.tabPane>section.panel,.tabPane>.hero,.tabPane>.grid2,.tabPane>.grid3,.tabPane>.opsGrid,.tabPane>.pkGridTop,.tabPane>.pkGridMiddle,.tabPane>.pkGridInsights,.tabPane>.pkFeatureGrid,.tabPane>.pkFeatureGrid2,.tabPane>.pkFeatureGrid3{margin-bottom:var(--revup-gap)!important}
.grid2,.grid3,.opsGrid,.pkGridTop,.pkGridMiddle,.pkGridInsights,.pkFeatureGrid,.pkFeatureGrid2,.pkFeatureGrid3,.analyticsGrid,.riExecMainGrid,.riExecBottomGrid,.riDashGrid4,.myDayKpis,.revenueOsKpis,.licenseSummary,.governanceControlsGrid{gap:var(--revup-gap)!important;align-items:start!important;grid-auto-rows:auto!important}
.grid2>*,.grid3>*,.opsGrid>*,.pkGridTop>*,.pkGridMiddle>*,.pkGridInsights>*,.pkFeatureGrid>*,.pkFeatureGrid2>*,.pkFeatureGrid3>*,.analyticsGrid>*,.riExecMainGrid>*,.riExecBottomGrid>*,.riDashGrid4>*{height:auto!important;min-height:0!important;align-self:start!important}
.panel,.heroCard,.temporalCard,.licenseMetric,.governanceControlCard{border-radius:var(--revup-radius)!important;box-sizing:border-box!important;min-width:0!important}.panel{padding:18px!important}.sectionTitle{min-height:0!important;margin-bottom:14px!important;gap:12px!important}.sectionTitle h2,.sectionTitle h3{line-height:1.24!important;margin:0!important}.sectionTitle small,.panel small{line-height:1.42!important}.btn,button,input,select,textarea{font-size:14px}.btn,button{min-height:40px}.tableWrap{max-width:100%;overflow:auto}.tableWrap table{width:100%}.chart,.pkForecastChart,.piTrendChart,.riChart,.dashboardChart{max-width:100%;overflow:hidden}
.sidebarLogo,.revupFixedLogoLink{min-height:70px}.revupFixedLogoLink img{max-width:168px!important}
@media(max-width:1100px){.grid3,.riDashGrid4,.governanceControlsGrid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.licenseSummary{grid-template-columns:repeat(3,minmax(0,1fr))!important}}
@media(max-width:760px){body{font-size:15px}.tabPane{font-size:15px;line-height:1.55}.panel{padding:15px!important}.hero{gap:14px!important}.heroCard{padding:16px!important}.grid2,.grid3,.opsGrid,.pkGridTop,.pkGridMiddle,.pkGridInsights,.pkFeatureGrid,.pkFeatureGrid2,.pkFeatureGrid3,.analyticsGrid,.riExecMainGrid,.riExecBottomGrid,.riDashGrid4,.myDayKpis,.revenueOsKpis,.licenseSummary,.governanceControlsGrid{grid-template-columns:1fr!important;gap:15px!important}.btn,button,input,select,textarea{font-size:16px!important;min-height:44px}.sectionTitle{flex-wrap:wrap}.sectionTitle h2{font-size:22px!important}.sectionTitle h3{font-size:18px!important}.tableWrap{margin-inline:-2px;padding-bottom:4px;-webkit-overflow-scrolling:touch}.tableWrap table{min-width:680px}.modal,.modalCard,.processModal,.stableWizardCard{font-size:15px!important}.stableWizardVisual{max-height:175px!important;min-height:150px!important}.revupHeaderLogo{width:92px!important;height:38px!important}.sidebarLogo,.revupFixedLogoLink{min-height:58px}.revupFixedLogoLink img{max-width:138px!important;height:46px!important}}
@media(max-width:480px){.panel{padding:14px!important}.tableWrap table{min-width:620px}.heroCard h2{font-size:22px!important}.kpis,.riKpiStrip,.riKpiStrip4{grid-template-columns:1fr!important}}

.qa-mode .googleHelpHero,.qa-mode #newUserGoogleCalendarFields,.qa-mode #newUserExchangeCalendarFields,.qa-mode .existingGoogleField,.qa-mode .existingExchangeField,.qa-mode .authModeField,.qa-mode .serviceAccountField,.qa-mode .connectOAuthBtn,.qa-mode .saModeBadge{display:none!important}
.qa-mode .userSummaryStrip>div:nth-child(1),.qa-mode .userSummaryStrip>div:nth-child(2),.qa-mode .userSummaryStrip>div:nth-child(3){display:none!important}
.qa-mode .qaCalendarSimulationPanel{border-style:dashed}

/* v4.6.5 · UI/OPS alignment patch */
.v465Toast{position:fixed;right:22px;bottom:22px;z-index:20050;background:linear-gradient(180deg,#17324d,#12253a);color:#fff;border:1px solid #31506b;border-radius:12px;padding:12px 16px;box-shadow:0 14px 30px rgba(0,0,0,.28);min-width:280px;max-width:420px}
.v465Toast strong{display:block;margin-bottom:4px}.v465Toast.success{border-color:#2f8f6a}.v465Toast.error{border-color:#b86161}
#tab-operations .opsGrid,#tab-activities .opsGrid,#tab-client360 .opsGrid,#tab-kam360 .pkGridTop,#tab-kam360 .pkGridMiddle,#tab-kam360 .pkGridInsights,#tab-kam360 .pkFeatureGrid2,#tab-kam360 .pkFeatureGrid3,#tab-executive .riExecMainGrid,#tab-executive .riExecBottomGrid,#tab-executive .riDashGrid4,#tab-opportunities .grid2{align-items:stretch!important;grid-auto-rows:1fr!important}
#tab-operations .panel,#tab-activities .panel,#tab-client360 .panel,#tab-kam360 .pkPanel,#tab-executive .panel,#tab-opportunities .panel{box-sizing:border-box!important;height:100%!important;min-width:0}
#tab-operations .sectionTitle h3,#tab-kam360 .sectionTitle h3,#tab-client360 .sectionTitle h3{line-height:1.2}
#tab-operations .opsGrid .panel,#tab-kam360 .pkFeatureGrid2>.panel,#tab-kam360 .pkFeatureGrid3>.panel{min-height:280px}
#savedKpisPanel{margin-top:20px!important}
.opsFlagProfiles{display:flex;flex-wrap:wrap;gap:10px;margin-top:8px}.opsFlagProfiles label{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--muted)}
.opsFlag{display:grid;grid-template-columns:1fr auto;gap:16px;padding:12px 0;border-bottom:1px solid var(--line)}.opsFlagMain{display:grid;gap:4px}
.opsMiniMeta{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}.opsMiniMeta span{font-size:11px;padding:4px 8px;border:1px solid var(--line);border-radius:999px;background:rgba(255,255,255,.03)}
#tab-client360 .clientOps360 .opsGrid{grid-template-columns:1fr 1fr!important}.c360TimelineDrill{margin-top:10px}.c360ContactGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.c360ContactCard{border:1px solid var(--line);border-radius:12px;padding:12px;background:rgba(255,255,255,.02)}.c360ContactCard a,.c360ContactCard span{display:block;margin-top:6px}.c360ContactTags{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.c360ContactTags em{font-style:normal;font-size:11px;padding:4px 8px;border-radius:999px;border:1px solid var(--line);color:var(--muted)}
.c360TimelineRow{grid-template-columns:88px 88px 1fr!important}.c360TasksCompact{display:grid;gap:8px}.c360TaskLine{display:grid;grid-template-columns:10px 1fr auto;gap:10px;padding:10px;border:1px solid var(--line);border-radius:10px}.c360TaskLine .dot{border-radius:999px;background:#51c6a7}.c360TaskLine .meta{font-size:12px;color:var(--muted)}
#opsWeeklyAgenda .opsAgendaLine,#opsNextActions .opsNBA,#opsTasks .opsTask,#opsEngagement .opsEngRow{border:1px solid var(--line);border-radius:10px;padding:10px;margin-bottom:8px;background:rgba(255,255,255,.02)}
#tab-rejected .bulkActions{display:flex;justify-content:flex-end;padding-top:10px;margin-top:8px}.bulkActions .bulkBtnApprove{margin-left:auto;padding-inline:16px;box-shadow:0 8px 18px rgba(0,0,0,.18)}
.opsCompareFiltersV465{display:grid;grid-template-columns:1fr 120px 1fr 120px auto;gap:10px;align-items:end}.opsCompareFiltersV465 .field{margin:0}
.opsPeriodHint{color:var(--muted);font-size:12px;margin:8px 0 12px}
.piTrendChart .piTrendBar{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:6px;height:190px}.piTrendChart .piTrendBar i{width:38px;border-radius:10px 10px 0 0;display:block}.piTrendChart .piTrendPct{font-size:11px;color:var(--muted);font-weight:700}
#goalsConfigFeedback{margin-left:10px;font-size:12px;color:#7ed7b4}
@media(max-width:980px){.opsCompareFiltersV465{grid-template-columns:1fr 1fr}.c360ContactGrid{grid-template-columns:1fr}#tab-client360 .clientOps360 .opsGrid{grid-template-columns:1fr!important}}

/* v4.6.5.2 visual / print / KPI helper */
.kpiHelpQuickNav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:16px}.kpiHelpQuickNav .kpiQuickBtn{cursor:pointer;border:1px solid var(--line);background:linear-gradient(180deg,var(--panel2),var(--panel));border-radius:14px;padding:14px 16px;text-align:left;color:var(--text)}.kpiHelpQuickNav .kpiQuickBtn strong{display:block;font-size:14px}.kpiHelpQuickNav .kpiQuickBtn small{display:block;color:var(--muted);margin-top:6px}
#tab-kpihelp .manualCard{cursor:pointer;transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease}#tab-kpihelp .manualCard:hover{transform:translateY(-2px);border-color:#4b718a;box-shadow:0 10px 24px rgba(0,0,0,.18)}#tab-kpihelp .manualCard::after{content:'Ir al KPI';display:inline-block;margin-top:12px;font-size:11px;color:var(--accent);font-weight:700}
#execScores .scoreMoreBtn{margin-top:10px;width:100%}
#execTrend{align-items:flex-end!important}.riTrendBarV2{display:flex;flex-direction:column;justify-content:flex-end;align-items:center;min-width:72px;height:100%;position:relative}.riTrendValue{position:absolute;top:8px;font-size:12px;font-weight:800;color:#dff4ee}.riTrendPillar{width:100%;max-width:64px;border-radius:8px 8px 0 0;background:linear-gradient(180deg,#67d7bc,#4f8d97);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:800}.riTrendDate{margin-top:8px;font-size:11px;color:#a8bdcb;text-align:center}
#executiveInsights.loading{position:relative;padding-left:42px!important}#executiveInsights.loading:before{content:'';position:absolute;left:14px;top:50%;width:16px;height:16px;margin-top:-8px;border-radius:50%;border:2px solid #4b7087;border-top-color:#6be0c0;animation:v465spin .8s linear infinite}@keyframes v465spin{to{transform:rotate(360deg)}}
.execPdfCompact .riKpiCard,.execPdfCompact .panel{break-inside:avoid-page;page-break-inside:avoid}.execPdfCompact .riExecTop,.execPdfCompact .riExecMainGrid,.execPdfCompact .riExecBottomGrid,.execPdfCompact .riDashGrid4{gap:10px!important}.execPdfCompact .panel{padding:14px!important}.execPdfCompact .sectionTitle h3{font-size:18px!important}.execPdfCompact .riKpiCard strong{font-size:28px!important}
.stableWizardVisual{background:linear-gradient(180deg,#10243a,#0a1626)!important;border:1px solid #28465f!important;border-radius:18px!important;overflow:hidden}.stableWizardVisual:before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 20% 20%,rgba(93,199,178,.18),transparent 28%),radial-gradient(circle at 85% 30%,rgba(78,136,255,.18),transparent 30%),radial-gradient(circle at 50% 80%,rgba(255,201,91,.10),transparent 28%);pointer-events:none}.stableWizardVisual .wizardIllustration{position:relative;z-index:1}
#tab-executive .execEngagementPanel,#tab-executive .riTrendPanel,#tab-executive .riCategoryPanel,#tab-executive .riFunnelPanel{min-height:320px}
@media(max-width:960px){.kpiHelpQuickNav{grid-template-columns:1fr 1fr}}@media(max-width:680px){.kpiHelpQuickNav{grid-template-columns:1fr}}
@media print{body{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important} .riTrendBar,.riTrendBarV2,.riFunnelStage,.riMiniDonut,.scoreMiniTrack i,.riGauge i,.budgetTrack i,.forecastGauge i,[style*='background'],[style*='linear-gradient'],[style*='conic-gradient']{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important} .sidebar,.topTabs,.actions .btn,.tabBtn,.sideBtn,.themeToggle,.toolbar,.navBar,.filtersBar{display:none!important} .tabPane{display:block!important;visibility:visible!important} #tab-executive{display:block!important} body{zoom:.86} .panel{break-inside:avoid-page;page-break-inside:avoid;margin-bottom:10px!important} .riExecTop,.riExecMainGrid,.riExecBottomGrid,.riDashGrid4{gap:10px!important} #tab-executive,#tab-kam360,#tab-kpis{page-break-before:auto!important}}

/* v4.6.5 revised · professional layout standard */
.tabPane{box-sizing:border-box}.tabPane>.panel,.tabPane>.hero,.tabPane>.grid2,.tabPane>.grid3,.tabPane>.grid4,.tabPane>.analyticsGrid,.tabPane>.opsGrid{margin-bottom:18px!important}
.tabPane .grid2,.tabPane .grid3,.tabPane .grid4,.tabPane .analyticsGrid,.tabPane .pkFeatureGrid,.tabPane .pkFeatureGrid2,.tabPane .pkFeatureGrid3,.tabPane .opsGrid,.tabPane .riExecMainGrid,.tabPane .riExecBottomGrid,.tabPane .riDashGrid4{gap:18px!important;align-items:stretch!important;grid-auto-rows:auto!important}
.tabPane .grid2>.panel,.tabPane .grid3>.panel,.tabPane .grid4>.panel,.tabPane .analyticsGrid>.panel,.tabPane .pkFeatureGrid>.panel,.tabPane .pkFeatureGrid2>.panel,.tabPane .pkFeatureGrid3>.panel,.tabPane .opsGrid>.panel,.tabPane .riExecMainGrid>.panel,.tabPane .riExecBottomGrid>.panel,.tabPane .riDashGrid4>.panel{height:100%!important;min-width:0!important;box-sizing:border-box!important;overflow:hidden}
.tabPane .panel{border-radius:16px!important}.tabPane .sectionTitle{min-height:56px;display:flex!important;align-items:flex-start!important;justify-content:space-between!important;gap:14px}.tabPane .sectionTitle h2,.tabPane .sectionTitle h3,.tabPane .sectionTitle h4{line-height:1.18;margin-top:0!important}.tabPane .sectionTitle small{line-height:1.45}.tabPane .tableWrap{max-width:100%;overflow:auto}.tabPane textarea,.tabPane input,.tabPane select{box-sizing:border-box}
#tab-client360 a[href^="mailto:"]{color:var(--text)!important;text-decoration:none!important}#tab-client360 a[href^="mailto:"]:hover{text-decoration:underline!important}
.stableWizardVisual{height:205px!important;max-width:780px!important;margin:0 auto!important}.stableWizardScreen{gap:14px!important}.stableWizardScreen h4{margin-top:14px!important}.stableWizardScreen p{max-width:900px;margin-inline:auto}
.notificationRowV466{display:grid;grid-template-columns:1fr auto;gap:10px;padding:12px;border-bottom:1px solid var(--line)}.notificationRowV466.read{opacity:.62}.notificationRowV466 .notificationActions{display:flex;align-items:center;gap:7px}.notificationRowV466 time{display:block;color:var(--muted);font-size:10px;margin-top:4px}.notificationRowV466 small{display:block;color:var(--muted);line-height:1.4;margin-top:4px}
.slaBadge{display:inline-flex;align-items:center;gap:6px;font-size:10px;font-weight:800;padding:4px 8px;border-radius:999px}.slaBadge:before{content:'';width:7px;height:7px;border-radius:50%}.slaBadge.green{background:rgba(89,210,154,.12);color:#65d79f}.slaBadge.green:before{background:#65d79f}.slaBadge.yellow{background:rgba(242,192,74,.12);color:#f2c04a}.slaBadge.yellow:before{background:#f2c04a}.slaBadge.red{background:rgba(235,99,110,.12);color:#eb636e}.slaBadge.red:before{background:#eb636e}.slaBadge.none{background:rgba(140,160,178,.10);color:var(--muted)}.slaBadge.none:before{background:#8097a8}
.playbookCard{margin-top:12px;border:1px solid var(--line);border-radius:12px;padding:12px;background:linear-gradient(180deg,rgba(79,134,255,.06),rgba(255,255,255,.02))}.playbookCard strong,.playbookCard small{display:block}.playbookCard small{color:var(--muted);margin-top:4px}.playbookCard ol{margin:10px 0 0 20px;padding:0}.playbookCard li{margin:6px 0;color:var(--muted)}
#tab-kpihelp .kpiHelpGroup{margin-top:18px}#tab-kpihelp .kpiHelpGroupHeader{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:12px;padding:0 2px}#tab-kpihelp .kpiHelpGroupHeader h2{margin:0;font-size:22px}#tab-kpihelp .kpiHelpGroupHeader small{color:var(--muted)}#tab-kpihelp .kpiHelpGroup>.panel{margin-bottom:14px!important}#tab-kpihelp .manualCard{cursor:pointer}
.monthPickerPair{display:grid;grid-template-columns:minmax(180px,1fr) minmax(180px,1fr) auto;gap:12px;align-items:end}.monthPickerField{position:relative}.monthPickerField input[type="month"]{width:100%;padding-right:42px}.monthPickerBtn{position:absolute;right:5px;bottom:5px;width:34px;height:34px;border:0;border-radius:8px;background:var(--panel);color:var(--text);cursor:pointer}
#execScores .scoreRow:nth-of-type(n+11){display:none!important}#execScoresMoreBtn{width:100%;margin-top:10px}
#execTrend{min-height:250px!important;padding-bottom:32px!important}.riTrendBarV466{height:205px;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;position:relative;min-width:66px}.riTrendBarV466 .barValue{position:absolute;top:4px;font-weight:900;font-size:12px;color:#dff7f0}.riTrendBarV466 .barPillar{width:56px;max-height:160px;border-radius:9px 9px 0 0;background:linear-gradient(180deg,#68d9bc,#438998);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:900}.riTrendBarV466 .barDate{position:absolute;bottom:-25px;font-size:10px;color:#9eb5c4;white-space:nowrap}
.dataQualityWorking{display:inline-flex;align-items:center;gap:8px}.dataQualityWorking:before{content:'';width:14px;height:14px;border:2px solid #49677c;border-top-color:#66d5b7;border-radius:50%;animation:v466spin .7s linear infinite}@keyframes v466spin{to{transform:rotate(360deg)}}
@media(max-width:900px){.monthPickerPair{grid-template-columns:1fr}.tabPane .grid2,.tabPane .grid3,.tabPane .grid4,.tabPane .analyticsGrid,.tabPane .opsGrid{grid-template-columns:1fr!important}.stableWizardVisual{height:185px!important}}
@media print{*{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}.riTrendBarV466 .barPillar,.riTrendBar,.riFunnelStage,.riMiniDonut,.scoreMiniTrack i,.forecastGauge i,.budgetTrack i,.piTrendBar i,[style*="conic-gradient"],[style*="linear-gradient"]{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}#tab-executive .panel{padding:10px!important;margin-bottom:7px!important}#tab-executive .sectionTitle{min-height:auto!important;margin-bottom:7px!important}#tab-executive .riExecTop,#tab-executive .riExecMainGrid,#tab-executive .riExecBottomGrid,#tab-executive .riDashGrid4{gap:7px!important}#tab-executive{font-size:10px!important}#executiveSnapshotsPanel{display:none!important}}

/* ===== v4.6.5 · definitive layout + charts ===== */
:root{--portal-gap:18px;--chart-surface:rgba(8,22,35,.34);--chart-line:#284258;--chart-muted:#91a9ba}
.tabPane{min-width:0}.tabPane>.panel,.tabPane>section.panel,.tabPane .panel{box-sizing:border-box;min-width:0;max-width:100%}
/* Cancel earlier forced equal-height rules that created ghost spaces/overlaps. */
#tab-operations .opsGrid,#tab-activities .opsGrid,#tab-client360 .opsGrid,#tab-kam360 .pkGridTop,#tab-kam360 .pkGridMiddle,#tab-kam360 .pkGridInsights,#tab-kam360 .pkFeatureGrid,#tab-kam360 .pkFeatureGrid2,#tab-kam360 .pkFeatureGrid3,#tab-executive .riExecMainGrid,#tab-executive .riExecBottomGrid,#tab-executive .riDashGrid4,#tab-opportunities .grid2,.tabPane .grid2,.tabPane .grid3,.tabPane .grid4,.tabPane .analyticsGrid{grid-auto-rows:auto!important;align-items:stretch!important;gap:var(--portal-gap)!important}
#tab-operations .panel,#tab-activities .panel,#tab-client360 .panel,#tab-kam360 .pkPanel,#tab-executive .panel,#tab-opportunities .panel{height:auto!important;min-height:0!important;align-self:stretch!important;margin-block:0!important}
#tab-operations .opsGrid,#tab-kam360 .pkFeatureGrid,#tab-kam360 .pkFeatureGrid2,#tab-kam360 .pkFeatureGrid3{grid-template-columns:repeat(auto-fit,minmax(320px,1fr))!important}
#tab-executive .riExecMainGrid,#tab-executive .riExecBottomGrid,#tab-opportunities .grid2{grid-template-columns:repeat(auto-fit,minmax(390px,1fr))!important}
#tab-client360 .riClientGrid,#tab-client360 .opsGrid{grid-template-columns:repeat(auto-fit,minmax(420px,1fr))!important}
.tabPane .sectionTitle{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;min-height:auto!important;margin-bottom:14px!important}.tabPane .sectionTitle h3{line-height:1.22;margin:0}.tabPane .sectionTitle small{line-height:1.35}
.tabPane .tableWrap{max-width:100%;overflow:auto}.tabPane textarea,.tabPane input,.tabPane select{box-sizing:border-box;max-width:100%}
/* Ghost containers left by modules moved to other tabs disappear. */
.portalGhostGrid{display:none!important}
/* Unified chart language */
.chart,.pkForecastChart,.piTrendChart,.riTrendChart,.goalComplianceChart,.goalComparisonChart{border-radius:14px;background:var(--chart-surface);border:1px solid var(--chart-line);padding:14px;box-sizing:border-box}
.track,.goalCompareTrack,.pkCapacityBar,.forecastTrack{background:#0b1a29!important;border:1px solid rgba(80,112,137,.22);border-radius:999px;overflow:visible!important}
.fill,.goalCompareTrack i,.pkCapacityBar i,.forecastTrack i{border-radius:999px;background:linear-gradient(90deg,#54c7aa,#5ca3ed)!important}
.riMiniDonut,.categoryPie{filter:saturate(.95)}
/* Forecast rebuilt as aligned horizontal chart */
.pkForecastWrap{display:grid!important;grid-template-columns:minmax(230px,.72fr) minmax(0,1.65fr)!important;gap:18px!important;align-items:stretch!important}.pkForecastStats{display:grid!important;grid-template-columns:1fr 1fr!important;gap:10px!important}.forecastStatCard{padding:15px;border:1px solid var(--line);border-radius:13px;background:var(--panel2);display:flex;flex-direction:column;justify-content:center;min-height:100px}.forecastStatCard span{font-size:11px;color:var(--muted)}.forecastStatCard strong{font-size:28px;margin-top:6px}.forecastUnifiedChart{display:grid;gap:18px;padding:12px 8px 4px}.forecastScale{display:grid;grid-template-columns:repeat(5,1fr);font-size:10px;color:var(--chart-muted);border-bottom:1px solid var(--chart-line);padding-bottom:7px}.forecastScale span:last-child{text-align:right}.forecastRow{display:grid;grid-template-columns:80px 1fr;gap:12px;align-items:center}.forecastRow label{font-size:12px;color:var(--muted)}.forecastTrack{height:16px;position:relative}.forecastTrack i{height:100%;display:block}.forecastTrack i.actual{background:linear-gradient(90deg,#4f86ff,#62a7ef)!important}.forecastTrack i.projection{background:linear-gradient(90deg,#56cda8,#6bd9ba)!important}.forecastTrack.target i{background:linear-gradient(90deg,#f2c04a,#f3d173)!important}.forecastTrack b{position:absolute;top:-27px;transform:translateX(-50%);font-size:11px;color:var(--text);white-space:nowrap}.forecastPeriod{display:grid;grid-template-columns:125px 1fr 48px;gap:10px;align-items:center;margin-top:3px;color:var(--muted);font-size:11px}.forecastPeriod>div{height:8px;background:#0b1a29;border-radius:999px;overflow:hidden}.forecastPeriod i{display:block;height:100%;background:#6bd9ba;border-radius:999px}
/* Monthly evolution with actual + completion % */
.monthlyEvolutionUnified{display:flex;align-items:flex-end;gap:12px;min-height:250px;overflow-x:auto;padding:24px 8px 8px}.monthlyEvolutionCol{flex:1 0 72px;min-width:72px;height:210px;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;position:relative}.monthlyEvolutionValue{font-weight:800;font-size:12px;margin-bottom:6px}.monthlyEvolutionPillar{width:52px;min-height:6px;max-height:155px;border-radius:9px 9px 3px 3px;background:linear-gradient(180deg,#61a7ef,#4f86ff);display:flex;align-items:center;justify-content:center}.monthlyEvolutionPct{font-size:10px;font-weight:800;color:#e7f3ff;text-shadow:0 1px 2px rgba(0,0,0,.35);writing-mode:horizontal-tb}.monthlyEvolutionMonth{font-size:10px;color:var(--chart-muted);margin-top:7px;white-space:nowrap}
/* Comparator must visibly be a calendar, not manual month text. */
.calendarPeriodComparator{display:grid;grid-template-columns:minmax(220px,1fr) minmax(220px,1fr) auto;gap:14px;align-items:end;margin-bottom:12px}.calendarMonthField input[type=date]{width:100%;min-height:44px}.calendarMonthField small{display:block;margin-top:5px;color:var(--muted)}
/* Client Engagement / Executive review */
#opsEngagement{min-height:80px}.performanceEngagementLoading{padding:14px;color:var(--muted)}#opsExecutiveReview .piBrief p,#opsExecutiveReview .opsReview p{font-size:15.5px!important;line-height:1.72!important;letter-spacing:.005em}.performancePersonalRow{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:18px 0}.performancePersonalRow>.panel{height:auto!important}.performancePersonalRow .sectionTitle small{max-width:620px}
/* Customer Engagement top 10 */
#execScores{max-height:none!important}#execScores .scoreRow:nth-child(n+11){display:none!important}#execScoresMoreBtn{margin-top:12px;width:100%}
/* Follow-up client lock */
.followupClientLockNote{display:block;margin-top:6px;color:#71d3b5;font-size:11px}#followupClient:disabled{opacity:.9;cursor:not-allowed}
/* Agenda */
.agendaHeaderActions{display:flex;gap:8px;align-items:center}.opsAgendaLine.agendaMeeting,.opsAgendaLine.task{display:grid!important;grid-template-columns:minmax(108px,23%) minmax(240px,1fr) auto!important;gap:18px!important;align-items:center!important;padding:14px 4px!important;border:0!important;border-bottom:1px solid var(--line)!important;border-radius:0!important;background:transparent!important}.agendaWhen,.agendaIdentity{display:grid;gap:3px;min-width:0}.agendaWhen span,.agendaIdentity small{color:var(--muted);font-size:12px}.agendaIdentity strong{font-size:15px;overflow-wrap:anywhere}.agendaActions{display:flex;gap:7px;justify-content:flex-end;flex-wrap:wrap}.agendaAction{min-height:34px!important;padding:7px 11px!important;font-size:12px!important}.agendaAction.danger{color:#d9464f;border-color:rgba(217,70,79,.35)}.agendaSyncState{width:max-content;max-width:100%;font-size:10px;font-weight:800;padding:4px 8px;border-radius:999px}.agendaSyncState.pending{color:#8a5b00;background:#fff2c7;border:1px solid #e9bd49}.agendaDialog{width:min(430px,calc(100vw - 28px));border:1px solid var(--line);border-radius:16px;background:var(--panel);color:var(--text);padding:0;box-shadow:0 28px 80px rgba(0,0,0,.35)}.agendaDialog::backdrop{background:rgba(4,14,24,.58)}.agendaDialog form{padding:18px;display:grid;gap:14px}.agendaDialog header,.agendaDialog footer{display:flex;align-items:center;justify-content:space-between;gap:12px}.agendaDialog header div{display:grid;gap:3px}.agendaDialog header strong{font-size:19px}.agendaDialog header small,.agendaDialogHint{color:var(--muted)}.agendaDialog label{display:grid;gap:7px;font-weight:800}.agendaDialog input{width:100%}.agendaDialog footer{justify-content:flex-end}.agendaDialogStatus{min-height:18px;color:#d9464f}
@media(max-width:760px){.opsAgendaLine.agendaMeeting,.opsAgendaLine.task{grid-template-columns:94px minmax(0,1fr)!important;gap:10px!important}.agendaActions{grid-column:1/-1;justify-content:flex-start;padding-left:104px}.agendaAction{flex:1 1 auto}.agendaSyncState{white-space:normal}.opsAgendaSummary{grid-template-columns:auto 1fr!important}}
/* Wizard illustrations normalized */
.stableWizardVisual{height:180px!important;max-width:650px!important;margin-inline:auto!important}.stableWizardScreen{gap:10px!important}.stableWizardScreen h4{margin:10px 0 4px!important}.stableWizardScreen p{margin:0 auto!important;max-width:820px!important}#stableExchangeWizard .stableWizardVisual{height:165px!important;max-width:610px!important}.wizardIllustration{transform:scale(.88);transform-origin:center center}
/* Feature flags */
.opsFlag{grid-template-columns:minmax(0,1fr) auto!important;gap:18px!important}.opsFlagProfiles{justify-content:flex-end}.opsFlagProfiles label{min-width:78px}
/* KPI help */
#tab-kpihelp .kpiHelpGroup{margin:22px 0}#tab-kpihelp .kpiHelpGroupHeader{padding:14px 16px;border:1px solid var(--line);border-radius:14px;background:var(--panel2);margin-bottom:12px!important}#tab-kpihelp .kpiHelpGroupHeader h2{font-size:21px!important}.kpiHelpOperational .kpiHelpGroupHeader{border-left:4px solid #5c88b7}
/* Favoritos / Recientes explanatory content */
.opsPersonalExplainer{padding:10px 12px;border-radius:10px;background:rgba(79,134,255,.06);border:1px solid var(--line);font-size:12px;color:var(--muted);line-height:1.5;margin-bottom:10px}
/* No blue browser links in contacts */
#tab-client360 a[href^=mailto],#tab-clients a[href^=mailto]{color:var(--text)!important;text-decoration:none!important}
/* Remove visual numbering in the requested tabs/help */
#tab-operations .sectionTitle h3,#tab-kam360 .sectionTitle h3,#tab-kpihelp .sectionTitle h3{font-variant-numeric:normal}
@media(max-width:980px){.pkForecastWrap{grid-template-columns:1fr!important}.calendarPeriodComparator,.performancePersonalRow{grid-template-columns:1fr!important}.forecastRow{grid-template-columns:70px 1fr}.tabPane .sectionTitle{flex-direction:column}}

/* One layout system: cards never stretch to neighboring content height */
.tabPane{min-width:0}.tabPane>.panel,.tabPane>section.panel{margin-block:20px!important}.tabPane>.panel:first-child,.tabPane>section.panel:first-child{margin-top:0!important}
.grid2,.grid3,.grid4,.analyticsGrid,.pkFeatureGrid,.pkFeatureGrid2,.pkFeatureGrid3,.opsGrid,.riExecMainGrid,.riExecBottomGrid,.riDashGrid4,.myDayGrid{align-items:start!important;grid-auto-rows:auto!important;gap:20px!important}.grid2>.panel,.grid3>.panel,.grid4>.panel,.analyticsGrid>.panel,.pkFeatureGrid>.panel,.pkFeatureGrid2>.panel,.pkFeatureGrid3>.panel,.opsGrid>.panel,.riExecMainGrid>.panel,.riExecBottomGrid>.panel,.riDashGrid4>.panel,.myDayGrid>.panel{height:auto!important;min-height:0!important;align-self:start!important;margin:0!important}
.panel{overflow:hidden}.sectionTitle{margin-bottom:16px!important}.chart{padding:18px 12px 34px!important;overflow:visible!important;min-height:260px}.chartCol{min-width:54px}.chartLabel{font-size:10px!important;line-height:1.15!important;white-space:nowrap!important;transform:none!important;margin-top:8px!important;overflow:visible!important}.chartVal{font-size:11px!important}.goalComplianceRow{display:grid!important;grid-template-columns:minmax(230px,340px) minmax(180px,1fr) 72px!important;gap:14px!important;align-items:center!important}.goalCompliancePct{display:block!important;text-align:right!important;font-weight:800!important;color:var(--text)!important}.goalComplianceTrack{min-width:0}.monthlyEvolutionUnified{display:grid!important;grid-template-columns:repeat(6,minmax(64px,1fr))!important;align-items:end!important;gap:12px!important;min-height:245px}.monthlyEvolutionPct{display:block!important;font-weight:800!important;color:#fff!important}.monthlyEvolutionMonth{white-space:nowrap!important}
#tab-activities #opsWeeklyAgenda,#tab-activities #opsNextActions{margin-top:24px!important}#tab-activities #opsNextActions{margin-bottom:24px!important}.opsNBA{margin-bottom:10px!important}
.myDayKpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin:20px 0}.myDayKpis article{padding:18px}.myDayKpis span{display:block;color:var(--muted)}.myDayKpis strong{display:block;font-size:32px;margin-top:6px}.myDayGrid{display:grid;grid-template-columns:1fr 1fr;margin-bottom:20px}.myDayLine,.favoriteCard,.kanbanCard,.healingRow,.slaRow{border:1px solid var(--line);border-radius:12px;background:var(--panel2);padding:12px;margin-bottom:9px}.myDayLine{display:grid;grid-template-columns:110px 1fr auto;gap:10px;align-items:center}.slaDot{width:10px;height:10px;border-radius:99px;display:inline-block}.slaDot.red{background:#ef6a75}.slaDot.yellow{background:#f0c85b}.slaDot.green{background:#63d18a}
.favoritesWorkspace{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.favoriteCard{position:relative;padding:16px}.favoriteCard .favoriteActions{display:flex;gap:8px;justify-content:flex-end;margin-bottom:8px}.favoriteCard .favoriteSnapshot{pointer-events:none}.favoriteStar{position:absolute;right:12px;top:12px;z-index:5;width:32px;height:32px;border-radius:50%;border:1px solid var(--line);background:var(--favorite-background,var(--panel));color:var(--favorite-active,#f5c95b);-webkit-text-stroke:1px var(--theme-inputText,var(--text));cursor:pointer;font-size:17px;display:grid;place-items:center}.favoriteStar.active{background:var(--favorite-background,rgba(245,201,91,.15));border-color:var(--favorite-active,#f5c95b)}.favoriteEligible{position:relative!important;padding-top:42px!important}
.opportunityKanban{display:grid;grid-template-columns:repeat(6,minmax(190px,1fr));gap:12px;overflow-x:auto;padding-bottom:8px}.kanbanCol{min-width:190px;border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.02);padding:10px}.kanbanCol h4{margin:0 0 10px}.kanbanCard strong,.kanbanCard small{display:block}.kanbanCard .actions{display:flex;gap:6px;margin-top:8px}.kanbanCard select{width:100%;margin-top:8px}.checkGrid{display:grid;gap:9px}.checkGrid label{display:flex;gap:8px;align-items:center}
.healingRow{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center}.dqProposal{font-size:12px;color:var(--muted)}
#opsRecent,#opsRecent\:has(*){display:none!important}.performancePersonalRow:has(#opsRecent){display:none!important}
#tab-kam360 #opsFavorites,#tab-kam360 #opsRecent{display:none!important}
.reviewActions{display:flex!important;gap:10px!important}.reviewActions .iconBtn,.restoreRejectedBtn,.editRejectedBtn{min-height:40px!important;padding:9px 15px!important;font-size:13px!important;border-radius:9px!important}
.stableWizardBackdrop#stableExchangeWizard .stableWizardVisual{height:150px!important;max-height:150px!important;max-width:620px!important;margin-inline:auto!important}.stableWizardBackdrop#stableExchangeWizard .wizardIllustration{transform:scale(.82)!important;transform-origin:center!important}
#executiveSnapshotsPanel{display:block}#tab-preferences #executiveSnapshotsPanel,#tab-pivot #executiveSnapshotsPanel,#tab-alerts #executiveSnapshotsPanel,#tab-goals-config #executiveSnapshotsPanel{display:none!important}
@media(max-width:1100px){.myDayKpis{grid-template-columns:1fr 1fr}.favoritesWorkspace,.myDayGrid{grid-template-columns:1fr}.opportunityKanban{grid-template-columns:repeat(6,220px)}}
@media(max-width:680px){.myDayKpis{grid-template-columns:1fr}.goalComplianceRow{grid-template-columns:1fr!important}.goalCompliancePct{text-align:left!important}.favoritesWorkspace{grid-template-columns:1fr}}

/* v4.6.5 final refinement */
.slaRowReadable{display:flex!important;align-items:center!important;gap:12px!important}.slaRowText{display:flex;flex-direction:column;gap:3px;min-width:0}.slaRowText strong{display:block}.slaRowText small{display:flex;gap:7px;flex-wrap:wrap;color:var(--muted)}.slaSep{opacity:.65;margin-inline:2px}
/* unified charts: readable labels, consistent plot area, no clipped x-axis */
.chart{height:300px!important;min-height:300px!important;padding:18px 16px 58px!important;gap:14px!important;overflow-x:auto!important;overflow-y:hidden!important;scrollbar-width:thin}.chartCol{flex:1 0 72px!important;min-width:72px!important;height:220px!important}.chartBar{width:min(54px,72%)!important;border-radius:9px 9px 3px 3px!important;box-shadow:0 8px 22px rgba(52,143,226,.12)}.chartLabel{bottom:-38px!important;font-size:11px!important;line-height:1.1!important;transform:none!important;white-space:nowrap!important;text-align:center!important;max-width:76px!important;overflow:visible!important}.chartVal{font-size:12px!important;font-weight:800!important}.barRow,.goalCompareRow{display:grid!important;grid-template-columns:minmax(190px,300px) minmax(180px,1fr) 74px!important;gap:14px!important;align-items:center!important}.goalComparePct,.goalCompliancePct{display:block!important;text-align:right!important;font-weight:900!important;white-space:nowrap}.track,.goalCompareTrack,.goalComplianceTrack{height:14px!important;border-radius:999px!important;overflow:hidden!important}.fill,.goalCompareTrack i,.goalComplianceTrack i{border-radius:999px!important;background:linear-gradient(90deg,#66d1b0,#68a8ee)!important}
.monthlyEvolutionUnified{padding:18px 8px 8px!important}.monthlyEvolutionCol{min-width:72px!important}.monthlyEvolutionPillar{border-radius:10px 10px 3px 3px!important;background:linear-gradient(180deg,#65d1b1,#5ba4ed)!important;position:relative!important}.monthlyEvolutionPct{position:absolute!important;left:50%;top:50%;transform:translate(-50%,-50%);font-size:12px!important;text-shadow:0 1px 2px rgba(0,0,0,.35)}
/* Kanban */
.opportunityKanbanPanel .sectionTitle{align-items:center!important}.opportunityKanbanPanel .sectionTitle>button{margin-left:auto}.opportunityKanban{grid-template-columns:repeat(6,minmax(235px,1fr))!important;gap:14px!important;padding:4px 2px 16px!important}.kanbanCol{min-width:235px!important;padding:12px!important;min-height:310px;border-radius:14px!important;transition:border-color .15s ease,background .15s ease}.kanbanCol.dragover{border-color:#66d1b0!important;background:rgba(102,209,176,.08)!important}.kanbanColHead{display:flex;justify-content:space-between;align-items:center;margin-bottom:11px}.kanbanColHead h4{margin:0!important;font-size:15px}.kanbanColHead span{min-width:26px;height:26px;display:grid;place-items:center;border-radius:999px;background:var(--panel2);font-size:11px;font-weight:800}.kanbanCard{position:relative!important;padding:14px!important;margin-bottom:10px!important;cursor:grab!important;border-left:4px solid #5b7790!important}.kanbanCard.dragging{opacity:.45}.kanbanCard.aging-yellow{border-left-color:#f0c85b!important}.kanbanCard.aging-red{border-left-color:#ef6a75!important}.kanbanCard.aging-green{border-left-color:#63d18a!important}.kanbanDrag{position:absolute;right:10px;top:8px;color:var(--muted);letter-spacing:-3px}.kanbanProject{font-size:15px!important;line-height:1.3!important;padding-right:22px}.kanbanClient{display:block!important;color:#9eb7c8!important;font-size:12px!important;margin:4px 0 8px}.kanbanMotive{font-size:12px!important;line-height:1.45!important;color:#d9e4ec!important;margin:8px 0!important}.kanbanMeta{display:flex;gap:8px;flex-wrap:wrap;margin:9px 0}.kanbanMeta span{font-size:10px;padding:4px 7px;border:1px solid var(--line);border-radius:999px;color:var(--muted)}.kanbanAging{font-size:11px;padding:7px 8px;border-radius:8px;margin:8px 0;background:rgba(255,255,255,.035)}.kanbanAging.red{color:#ff939d}.kanbanAging.yellow{color:#f5d978}.kanbanAging.green{color:#81d9a0}.kanbanActions{display:flex;gap:7px;margin-top:9px}.kanbanActions .btn{flex:1}.kanbanMissing{display:block!important;margin-top:8px;color:#f0c85b!important}.kanbanEmpty{padding:14px;text-align:center;color:var(--muted);border:1px dashed var(--line);border-radius:10px}
.opportunityChecklist{display:grid;gap:11px;font-size:14px}.checklistIntro{display:grid;gap:4px;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:var(--panel2)}.checklistIntro strong{font-size:17px}.checklistIntro span{font-weight:700}.checklistIntro small{color:var(--muted);line-height:1.4}.opportunityChecklist>label{display:grid!important;grid-template-columns:22px 1fr;gap:11px!important;align-items:start!important;padding:11px 12px;border:1px solid var(--line);border-radius:11px;background:rgba(255,255,255,.02)}.opportunityChecklist>label input{margin-top:3px;width:17px;height:17px}.opportunityChecklist>label span{display:grid;gap:3px}.opportunityChecklist>label b{font-size:14px}.opportunityChecklist>label small{color:var(--muted);line-height:1.35}.kanbanModalForm{display:grid;gap:13px}.modalHeader{position:relative!important;padding-right:54px!important}.modalHeader>#opsDetailClose,.modalHeader .iconBtn:last-child{position:absolute!important;right:12px!important;top:10px!important}
/* Feature flags by real role */
.featureRoleMatrix{display:grid;gap:12px}.featureRoleCard{display:grid;grid-template-columns:minmax(240px,1fr) minmax(320px,1.5fr);gap:14px;padding:13px;border:1px solid var(--line);border-radius:12px;background:var(--panel2)}.featureRoleCard h4{margin:0 0 4px}.featureRoleCard small{color:var(--muted)}.featureRoleControls{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.featureRoleControls label{display:flex;align-items:center;gap:6px;padding:7px 9px;border:1px solid var(--line);border-radius:9px;font-size:12px}.featureGlobal{font-weight:800}
/* Saved dynamic KPIs favorite star */
.savedKpiCard{position:relative!important}.savedKpiCard>.favoriteStar{top:10px!important;right:10px!important}
/* KPI Help final grouping */
#tab-kpihelp .kpiHelpGroup{margin:22px 0}.kpiHelpGroupHeader{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px}.kpiHelpGroupHeader h2{margin:0}.kpiHelpGroupHeader small{color:var(--muted)}
@media(max-width:900px){.featureRoleCard{grid-template-columns:1fr}.barRow,.goalCompareRow{grid-template-columns:1fr!important}.goalComparePct,.goalCompliancePct{text-align:left!important}.opportunityKanban{grid-template-columns:repeat(6,250px)!important}}

/* v4.9.1 Opportunity Intelligence */
.productHierarchyGrid{display:grid;grid-template-columns:minmax(280px,.8fr) minmax(420px,1.4fr);gap:20px;align-items:start}.sectionTitle.compact{min-height:auto!important}.goalMetricRow{background:rgba(102,209,176,.045)}.goalMetricRow td:first-child strong,.goalMetricRow td:first-child small{display:block}.goalMetricRow td:first-child small{margin-top:3px;color:var(--muted);font-size:11px}
.kanbanFilters{display:grid;grid-template-columns:minmax(220px,1.4fr) minmax(180px,1fr) minmax(180px,1fr) 160px auto auto auto;gap:10px;align-items:center;margin:14px 0 18px}.kanbanCheck{display:flex;align-items:center;gap:7px;font-size:12px;color:var(--muted);white-space:nowrap}.opportunityKanban{display:grid!important;grid-auto-flow:column!important;grid-auto-columns:minmax(270px,320px)!important;grid-template-columns:none!important;gap:14px!important;overflow-x:auto!important;align-items:start!important;padding:2px 2px 16px!important}.kanbanCol{min-width:270px!important;width:auto!important;height:auto!important;min-height:260px!important}.kanbanColHead{align-items:flex-start!important}.kanbanColHead small{display:block;color:var(--muted);font-size:10px;margin-top:3px}.kanbanColCards{display:grid;gap:10px}.kanbanCard{cursor:grab!important;overflow:visible!important}.kanbanBadgeRow{display:flex;gap:6px;flex-wrap:wrap;padding-right:44px;margin-bottom:7px}.kanbanSource,.kanbanStatus{font-size:9px;font-weight:900;padding:4px 7px;border-radius:999px;text-transform:uppercase;letter-spacing:.04em}.kanbanSource.calendar{background:rgba(79,134,255,.15);color:#82afff}.kanbanSource.manual{background:rgba(102,209,176,.12);color:#79d8bc}.kanbanStatus{background:rgba(255,255,255,.055);color:var(--muted)}.kanbanWatch{position:absolute;right:34px;top:7px;background:transparent;border:0;color:#6d8292;font-size:18px;cursor:pointer}.kanbanWatch.active{color:#f5c95b}.kanbanPrice{display:flex;justify-content:space-between;gap:8px;align-items:flex-end;padding:9px 10px;margin:8px 0;border:1px solid var(--line);border-radius:10px;background:rgba(255,255,255,.025)}.kanbanPrice strong{font-size:16px!important}.kanbanPrice small{color:var(--muted);font-size:10px;text-align:right}.kanbanProducts{font-size:11px;line-height:1.45;color:#a9c2d3;margin:6px 0}.quoteDone{color:#71d5ad!important}.kanbanNext{display:grid;gap:3px;padding:8px 9px;border-radius:9px;background:rgba(79,134,255,.055);margin:8px 0}.kanbanNext b{font-size:11px}.kanbanNext small,.kanbanNext em{font-size:10px;color:var(--muted);font-style:normal}.kanbanNext .warn{color:#f0c85b}.kanbanCommentsMini{border-top:1px solid var(--line);padding-top:7px;margin-top:7px}.kanbanCommentsMini p{font-size:10px;line-height:1.35;margin:4px 0;color:var(--muted)}.kanbanCommentsMini b{color:var(--text)}.kanbanActions.secondary .btn{font-size:10px;padding:7px 6px}.kanbanMore{width:100%;margin-top:8px}.oppCommentsList{display:grid;gap:9px;max-height:360px;overflow:auto;margin-bottom:14px}.oppCommentsList article{padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--panel2)}.oppCommentsList article b,.oppCommentsList article time{display:inline-block}.oppCommentsList article time{float:right;color:var(--muted);font-size:10px}.oppCommentsList article p{margin:6px 0 0;white-space:pre-wrap}
.opportunityIntelligenceSummary{display:grid;gap:14px;margin-bottom:18px}.oppSummaryCards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.oppSummaryCards article{border:1px solid var(--line);border-radius:12px;padding:13px;background:var(--panel2)}.oppSummaryCards article.oppSummaryAction{cursor:pointer;transition:.15s ease}.oppSummaryCards article.oppSummaryAction:hover{transform:translateY(-2px);border-color:#4f86ff}.oppSummaryCards article.oppSummaryAction small{display:block;margin-top:3px;color:var(--accent);font-size:9px}.oppSummaryCards span,.oppSummaryCards strong{display:block}.oppSummaryCards span{font-size:10px;color:var(--muted)}.oppSummaryCards strong{font-size:24px;margin-top:4px}.oppForecastGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.oppForecastGrid article{display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto;gap:2px 10px;padding:12px;border:1px solid var(--line);border-radius:12px}.oppForecastGrid article div{grid-row:1/3}.oppForecastGrid small{display:block;color:var(--muted);font-size:10px}.oppForecastGrid strong{font-size:15px}.oppForecastGrid em{font-style:normal;color:#6bd5b4;font-size:12px;text-align:right}.oppIntelSplit{display:grid;grid-template-columns:1.3fr .7fr;gap:14px}.oppIntelSplit>div{border:1px solid var(--line);border-radius:12px;padding:12px}.oppIntelSplit h4{margin:0 0 10px}.oppFunnelRow{display:grid;grid-template-columns:minmax(120px,1fr) minmax(80px,2fr) 38px 52px;gap:8px;align-items:center;margin:8px 0}.oppFunnelRow i{height:10px;border-radius:999px;background:linear-gradient(90deg,#66d1b0,#68a8ee)}.oppFunnelRow small{color:var(--muted);font-size:10px}.oppVelocity{display:grid;grid-template-columns:1fr auto;gap:3px 8px;border-bottom:1px solid var(--line);padding:8px 0}.oppVelocity small{grid-column:1/3;color:var(--muted)}
.revenueKpiFilters{display:grid;grid-template-columns:minmax(180px,1fr) 150px minmax(150px,1fr) auto;gap:10px;align-items:end;margin-bottom:12px}.revenueKpiCards{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.revenueKpiCard{border:1px solid var(--line);border-radius:12px;padding:12px;background:var(--panel2)}.revenueKpiCard span,.revenueKpiCard strong,.revenueKpiCard small{display:block}.revenueKpiCard span{font-size:10px;color:var(--muted)}.revenueKpiCard strong{font-size:20px;margin:5px 0}.revenueKpiCard small{color:var(--muted)}.revenueCoverage{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:12px}.revenueCoverage article{padding:10px;border:1px solid var(--line);border-radius:10px}.revenueCoverage .track{margin-top:8px}.revenueCoverage .track i{display:block;height:100%;background:linear-gradient(90deg,#66d1b0,#68a8ee)}
#tab-kpihelp .oppKpiFormulaGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.oppKpiFormula{border:1px solid var(--line);border-radius:12px;padding:13px;background:var(--panel2)}.oppKpiFormula h4{margin:0 0 6px}.oppKpiFormula code{display:block;white-space:normal;color:#7fd8bf;margin-bottom:6px}.oppKpiFormula p{margin:0;color:var(--muted);line-height:1.45}
/* only allowed report tabs expose export controls */
body:not([data-active-tab="activities"]):not([data-active-tab="rejected"]):not([data-active-tab="opportunities"]):not([data-active-tab="client360"]):not([data-active-tab="kam360"]) #printBtn{opacity:.45}
#printExecutive,#executivePdfPreview{display:none!important}
@media(max-width:1100px){.productHierarchyGrid,.oppIntelSplit{grid-template-columns:1fr}.kanbanFilters{grid-template-columns:1fr 1fr}.oppSummaryCards{grid-template-columns:1fr 1fr}.revenueKpiCards{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.kanbanFilters,.oppSummaryCards,.oppForecastGrid,.revenueKpiFilters,.revenueKpiCards,.revenueCoverage,#tab-kpihelp .oppKpiFormulaGrid{grid-template-columns:1fr}}
@media print{
 @page{size:Letter portrait;margin:.35in}
 html,body{background:#fff!important;color:#111!important;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}
 .sidebar,.topbar,.topTabs,.actions,.filters,.favoriteStar,.kanbanFilters,.kanbanActions,.kanbanWatch,.btn,.notificationPanel{display:none!important}
 .tabPane{display:none!important}
 body[data-print-tab="activities"] #tab-activities,body[data-print-tab="rejected"] #tab-rejected,body[data-print-tab="opportunities"] #tab-opportunities,body[data-print-tab="client360"] #tab-client360,body[data-print-tab="kam360"] #tab-kam360{display:block!important}
 .panel,.heroCard{break-inside:avoid-page!important;page-break-inside:avoid!important;padding:10px!important;margin:0 0 8px!important;border-color:#c7d0d8!important;box-shadow:none!important}
 .sectionTitle{margin-bottom:7px!important}.sectionTitle h2,.sectionTitle h3{font-size:14px!important}.sectionTitle small{font-size:8px!important}
 .chart{height:210px!important;min-height:210px!important;padding:8px 8px 42px!important}.chartCol{height:160px!important}.chartLabel{font-size:8px!important}.chartVal{font-size:9px!important}
 .opportunityKanban{display:grid!important;grid-template-columns:1fr 1fr!important;grid-auto-flow:row!important;grid-auto-columns:auto!important;overflow:visible!important;gap:8px!important}.kanbanCol{min-width:0!important;border-color:#c7d0d8!important;break-inside:avoid-page!important}.kanbanCard{break-inside:avoid!important;padding:8px!important;background:#fff!important;color:#111!important}.kanbanProject,.kanbanClient,.kanbanMotive,.kanbanPrice,.kanbanMeta,.kanbanAging,.kanbanNext,.kanbanProducts{color:#111!important}.kanbanSource,.kanbanStatus{border:1px solid #aaa!important;color:#333!important;background:#f3f3f3!important}
 .opportunityIntelligenceSummary{gap:6px!important}.oppSummaryCards,.oppForecastGrid,.revenueKpiCards,.revenueCoverage{gap:6px!important}.oppSummaryCards article,.oppForecastGrid article,.revenueKpiCard,.revenueCoverage article{padding:7px!important}
 .tableWrap{overflow:visible!important}table{font-size:8px!important}th,td{padding:4px 5px!important}
 #tab-client360 .clientOpsGrid{grid-template-columns:repeat(3,1fr)!important}.c360UnifiedTimeline,.timelineList{max-height:none!important;overflow:visible!important}
 #tab-kam360{font-size:9px!important}.pkPanel{break-inside:avoid!important}
}

/* v4.9.1 - mobile-first stabilization */
@media(max-width:760px){
  body{overflow-x:hidden}.shell{width:100%;max-width:100vw;padding:10px!important}.topbar{gap:10px}.topTabs{max-width:100%;overflow-x:auto;scrollbar-width:none}.topTabs::-webkit-scrollbar{display:none}
  .panel,.heroCard,.clientOpsCard,.pkPanel{min-width:0!important;max-width:100%!important;overflow:hidden}.tableWrap{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
  .reviewTable{display:block!important;width:100%!important;min-width:0!important}.reviewTable thead{display:none!important}.reviewTable tbody{display:block!important;width:100%!important}
  .reviewTable tbody tr{display:block!important;width:100%!important;border:1px solid var(--line);border-radius:14px;margin:0 0 14px;padding:12px;background:var(--panel2);box-sizing:border-box}
  .reviewTable tbody td{display:grid!important;grid-template-columns:104px minmax(0,1fr)!important;gap:10px!important;width:100%!important;min-width:0!important;max-width:none!important;padding:7px 0!important;border:0!important;white-space:normal!important;overflow-wrap:anywhere!important;word-break:normal!important;vertical-align:top!important}
  .reviewTable tbody td:before{font-size:11px;color:var(--muted);font-weight:700;line-height:1.35}.reviewTable tbody td:nth-child(1):before{content:'Seleccionar'}.reviewTable tbody td:nth-child(2):before{content:'Fecha'}.reviewTable tbody td:nth-child(3):before{content:'Evento'}.reviewTable tbody td:nth-child(4):before{content:'Cliente'}.reviewTable tbody td:nth-child(5):before{content:'KAM'}.reviewTable tbody td:nth-child(6):before{content:'Organizador'}.reviewTable tbody td:nth-child(7):before{content:'Categoría IA'}.reviewTable tbody td:nth-child(8):before{content:'Confianza'}.reviewTable tbody td:nth-child(9):before{content:'Razón'}.reviewTable tbody td:nth-child(10):before{content:'Acciones'}
  .reviewTable .reviewActions{display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important;width:100%!important}.reviewTable .reviewActions .iconBtn{width:100%!important;min-height:42px!important;white-space:normal!important;padding:9px 10px!important}.reviewTable .reviewActions .suppressReviewBtn,.reviewTable .reviewActions .suppressRejectedBtn{grid-column:1/-1}
  .reviewTable .meetingCreator,.reviewTable .reviewReason{min-width:0;max-width:100%;overflow-wrap:anywhere}.reviewTable .badge{white-space:normal!important;max-width:100%!important}
  .bulkBar{flex-direction:column!important;align-items:stretch!important;gap:10px!important}.bulkActions{display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important}.bulkActions .btn{width:100%!important}
  .openaiSpendGraph,.openaiUsageChart{content-visibility:visible!important;contain:none!important;display:grid!important;grid-auto-flow:column!important;grid-auto-columns:70px!important;align-items:end!important;height:245px!important;min-height:245px!important;overflow-x:auto!important;overflow-y:hidden!important;gap:8px!important;padding:8px 4px 10px!important}
  .openaiSpendGraph .spendBarCol,.openaiUsageChart .spendBarCol{display:grid!important;grid-template-rows:22px 170px 34px!important;min-width:70px!important;max-width:70px!important;width:70px!important;align-items:end!important}
  .openaiSpendGraph .spendBarTrack,.openaiUsageChart .spendBarTrack{height:170px!important;min-height:170px!important;width:100%!important;display:flex!important;align-items:flex-end!important;border-bottom:2px solid var(--line)!important}
  .openaiSpendGraph .spendBarTrack i,.openaiUsageChart .spendBarTrack i{display:block!important;width:100%!important;min-height:4px!important;background:linear-gradient(180deg,var(--accent),#5bc7af)!important;border-radius:7px 7px 0 0!important}
  .openaiSpendGraph .spendBarCol small,.openaiUsageChart .spendBarCol small{font-size:9px!important;line-height:1.15!important;white-space:normal!important;overflow:visible!important;text-overflow:clip!important;text-align:center!important}
  .openaiSpendGraph .spendBarValue,.openaiUsageChart .spendBarValue{font-size:9px!important;white-space:nowrap!important}
  .fxAutomationGrid,.fxHistoryFilters,.maintenanceConfigGrid{grid-template-columns:1fr!important}.fxLatestGrid{grid-template-columns:1fr 1fr!important}
  .masterMenuChildren{grid-template-columns:1fr!important}
  .grid2,.grid3,.analyticsGrid,.opsGrid,.pkFeatureGrid,.pkFeatureGrid2,.pkFeatureGrid3,.riExecMainGrid,.riExecBottomGrid,.riDashGrid4,.clientOpsGrid,.myDayGrid,.maintenanceConfigGrid{grid-template-columns:1fr!important}
  .actions,.sectionTitle,.hero,.brand{max-width:100%!important}.actions{flex-wrap:wrap!important;gap:8px!important}.actions .btn{min-height:42px}
  input,select,textarea,button{max-width:100%;box-sizing:border-box}.chart,.chartArea,.riTrendPanel,.riCategoryPanel,.riFunnelPanel{max-width:100%!important;overflow-x:auto!important}
}
@media(max-width:430px){.reviewTable tbody td{grid-template-columns:86px minmax(0,1fr)!important}.fxLatestGrid{grid-template-columns:1fr!important}.kpis,.riKpiStrip,.riKpiStrip4{grid-template-columns:1fr!important}}

.forecastScenarioGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:12px}.forecastScenarioGrid article,.revenueReviewCard{border:1px solid var(--line);border-radius:12px;background:var(--panel2);padding:12px}.forecastScenarioGrid span,.forecastScenarioGrid strong,.forecastScenarioGrid small{display:block}.forecastScenarioGrid span{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}.forecastScenarioGrid strong{font-size:20px;margin:4px 0}.revenueReviewFilters{display:grid;grid-template-columns:180px 140px auto auto;gap:10px;align-items:end;margin:0 0 14px}.revenueReviewGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.revenueReviewCard h4{margin:0 0 4px}.revenueReviewCard .reviewNums{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin-top:10px}.revenueReviewCard .reviewNums div{padding:8px;border-radius:8px;background:var(--bg)}.revenueReviewCard .reviewNums span,.revenueReviewCard .reviewNums b{display:block}.revenueReviewCard .reviewNums span{font-size:9px;color:var(--muted)}
.revenueGovernanceBox{margin-top:16px;border-top:1px solid var(--line);padding-top:14px}.revenueGovernanceGrid{display:grid;grid-template-columns:160px 220px 160px auto;gap:10px;align-items:end}.kanbanApproval{font-size:9px;font-weight:800;border-radius:999px;padding:4px 7px}.kanbanApproval.pending{background:rgba(255,197,91,.14);color:#f7cd6c}.kanbanApproval.approved{background:rgba(80,210,164,.14);color:#65d9af}.kanbanPrice em{display:block;font-style:normal;font-size:9px;color:var(--muted);margin-top:3px}
@media(max-width:760px){.forecastScenarioGrid,.revenueReviewGrid{grid-template-columns:1fr}.revenueReviewFilters,.revenueGovernanceGrid{grid-template-columns:1fr}.revenueReviewCard .reviewNums{grid-template-columns:1fr 1fr}}

:root{--ro-gap:18px}.revenueOsKpis{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:var(--ro-gap);margin:18px 0}.revenueOsKpis article{padding:16px;border:1px solid var(--line);border-radius:14px;background:var(--panel);min-height:112px}.revenueOsKpis span{display:block;color:var(--muted);font-size:12px}.revenueOsKpis strong{display:block;font-size:27px;line-height:1.15;margin-top:8px}.revenueOsGrid{display:grid;gap:var(--ro-gap);margin:18px 0;align-items:stretch}.revenueOsGrid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.revenueOsGrid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.revenueOsGrid>.panel{height:auto!important;min-width:0;overflow:hidden}.revenueCommitGrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr)) auto;gap:12px;align-items:end}.revenueWaterfallBar,.revenueMetricBar{display:grid;grid-template-columns:minmax(130px,1.2fr) minmax(160px,4fr) 120px;gap:10px;align-items:center;margin:10px 0}.revenueTrack{height:12px;background:var(--panel2);border:1px solid var(--line);border-radius:999px;overflow:hidden}.revenueTrack i{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#65d5b4,#5d98eb)}.roScore{font-size:38px;font-weight:800}.roScore.good{color:#68d4ad}.roScore.warn{color:#f2c665}.roScore.bad{color:#ef7780}.roList{display:grid;gap:8px}.roRow{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;padding:9px 10px;border:1px solid var(--line);border-radius:10px;background:rgba(255,255,255,.02)}.roRow small{display:block;color:var(--muted)}.roTable{width:100%;border-collapse:collapse}.roTable th,.roTable td{padding:9px;border-bottom:1px solid var(--line);text-align:left;font-size:12px}.revenueSavedForm{display:grid;grid-template-columns:1fr 160px auto;gap:10px;margin-bottom:12px}.revenueCopilotResult{margin-top:12px;padding:14px;border:1px solid var(--line);border-radius:12px;white-space:pre-wrap;line-height:1.55;min-height:96px}.revenueCopilotResult.loading{opacity:.7}.roPill{display:inline-block;padding:4px 8px;border:1px solid var(--line);border-radius:999px;font-size:10px}.roOpportunityMini{padding:10px;border:1px solid var(--line);border-radius:10px;margin:8px 0}.roOpportunityMini strong,.roOpportunityMini small{display:block}.roOpportunityMini small{color:var(--muted)}
/* global visual normalization v4.9.1 */
.tabPane>.grid2,.tabPane>.grid3,.tabPane>.analyticsGrid,.tabPane>.pkFeatureGrid,.tabPane>.pkFeatureGrid2,.tabPane>.pkFeatureGrid3,.tabPane>.riExecMainGrid,.tabPane>.riExecBottomGrid,.tabPane>.myDayGrid{gap:18px!important;align-items:stretch!important}.tabPane .panel{box-sizing:border-box;min-width:0}.tabPane .sectionTitle{gap:14px;align-items:flex-start}.tabPane .sectionTitle h3{line-height:1.25}.tabPane .chart,.tabPane [class*="Chart"],.tabPane [class*="chart"]{max-width:100%;overflow:hidden}.tabPane table{max-width:100%}.tableWrap{overflow-x:auto}
@media(max-width:1280px){.revenueOsKpis{grid-template-columns:repeat(3,minmax(0,1fr))}.revenueOsGrid.three{grid-template-columns:1fr 1fr}.revenueCommitGrid{grid-template-columns:1fr 1fr}}
@media(max-width:820px){body{font-size:16px}.revenueOsKpis,.revenueOsGrid.two,.revenueOsGrid.three,.revenueCommitGrid,.revenueSavedForm{grid-template-columns:1fr!important}.revenueOsKpis article{min-height:94px}.revenueWaterfallBar,.revenueMetricBar{grid-template-columns:1fr}.revenueOsGrid{gap:14px;margin:14px 0}.panel{padding:15px!important}.sectionTitle h3{font-size:19px!important}.sectionTitle small{font-size:13px!important}.btn{min-height:42px;font-size:14px}.topbar .actions{gap:8px}.globalSearchWrap{min-width:0}.roTable{min-width:680px}}
@media(max-width:560px){.brandIdentity h1{font-size:18px}.revenueOsKpis{grid-template-columns:1fr 1fr}.revenueOsKpis strong{font-size:23px}.hero{grid-template-columns:1fr!important}.tabs{overflow-x:auto;white-space:nowrap}.tabBtn{min-height:42px}}

/* v4.9.1 final normalization - last CSS layer wins over legacy layout rules */
:root{--pt-gap:20px;--pt-radius:16px;--pt-card-min:0px}
.tabPane{min-width:0}
.tabPane>:is(.grid2,.grid3,.grid4,.analyticsGrid,.opsGrid,.pkGridTop,.pkGridMiddle,.pkGridInsights,.pkFeatureGrid,.pkFeatureGrid2,.pkFeatureGrid3,.riExecMainGrid,.riExecBottomGrid,.riDashGrid4,.myDayGrid,.favoritesWorkspace,.revenueOsGrid){
  gap:var(--pt-gap)!important;align-items:start!important;grid-auto-rows:auto!important;margin-block:var(--pt-gap)!important
}
.tabPane :is(.panel,.pkPanel,.heroCard,.clientOpsCard,.clevelCard,.revenueReviewCard,.capacityPlannerCard){
  height:auto!important;min-height:var(--pt-card-min)!important;align-self:start!important;box-sizing:border-box!important;min-width:0!important;overflow:visible
}
.tabPane .sectionTitle{min-height:0!important;margin-bottom:14px!important;align-items:flex-start!important;gap:14px!important}
.tabPane .sectionTitle h3{font-size:20px!important;line-height:1.24!important;margin:0!important}
.tabPane .sectionTitle small{font-size:13px!important;line-height:1.4!important}
.tabPane .panel{padding:20px!important;border-radius:var(--pt-radius)!important}
.tabPane .notice{line-height:1.45!important}
.tableWrap{width:100%;max-width:100%;overflow-x:auto!important;overflow-y:visible;-webkit-overflow-scrolling:touch}
.tableWrap table{width:100%;max-width:none;border-collapse:collapse}
.tableWrap th,.tableWrap td{word-break:normal!important;overflow-wrap:normal!important;white-space:normal;vertical-align:top;line-height:1.4}
.tableWrap th{font-size:12px!important}.tableWrap td{font-size:13px!important}
.tabPane :is(.chart,.openaiUsageChart,.piTrendChart,.riTrendChart,.forecastChart,.comparisonChart,.revenueChart,[class*="Chart"],[class*="chart"]){box-sizing:border-box;max-width:100%!important}
.tabPane :is(.barRow,.goalCompareRow,.goalComplianceRow,.revenueMetricBar,.revenueWaterfallBar){gap:12px!important;align-items:center!important}
.tabPane :is(.barTrack,.goalCompareTrack,.goalComplianceTrack,.revenueTrack){min-height:14px!important;border-radius:999px!important;overflow:hidden!important}
.tabPane :is(.barTrack i,.goalCompareTrack i,.goalComplianceTrack i,.revenueTrack i){min-height:14px!important;border-radius:999px!important}
/* remove legacy equal-height ghosts */
.pkFeatureGrid,.pkFeatureGrid2,.pkFeatureGrid3{grid-auto-rows:auto!important}
.pkFeatureGrid>.pkPanel,.pkFeatureGrid2>.pkPanel,.pkFeatureGrid3>.pkPanel{height:auto!important;min-height:0!important}
/* desktop rhythm */
@media(min-width:821px){
  body{font-size:15px!important}.shell{padding:20px 24px 34px!important}.panel+.panel{margin-top:0!important}
  .revenueOsGrid.two{grid-template-columns:repeat(2,minmax(0,1fr))!important}.revenueOsGrid.three{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .riExecMainGrid,.riExecBottomGrid{align-items:start!important}
}
/* mobile: do not squeeze desktop tables into one-letter columns */
@media(max-width:820px){
  body{font-size:16px!important;line-height:1.45!important}.shell{padding:12px!important}
  .tabPane>:is(.grid2,.grid3,.grid4,.analyticsGrid,.opsGrid,.pkGridTop,.pkGridMiddle,.pkGridInsights,.pkFeatureGrid,.pkFeatureGrid2,.pkFeatureGrid3,.riExecMainGrid,.riExecBottomGrid,.riDashGrid4,.myDayGrid,.favoritesWorkspace,.revenueOsGrid){grid-template-columns:1fr!important;gap:14px!important;margin-block:14px!important}
  .tabPane .panel{padding:16px!important;border-radius:14px!important}
  .tabPane .sectionTitle{flex-direction:column!important;gap:6px!important;margin-bottom:12px!important}.tabPane .sectionTitle h3{font-size:19px!important}.tabPane .sectionTitle small{font-size:13px!important}
  .btn,.iconBtn,button,select,input,textarea{font-size:16px!important}.btn,button{min-height:44px}
  .tableWrap table{min-width:720px}.tableWrap th,.tableWrap td{white-space:normal!important;min-width:104px}.tableWrap th:first-child,.tableWrap td:first-child{min-width:90px}
  .reviewTable{min-width:0!important}.reviewTable thead{display:none}.reviewTable tbody,.reviewTable tr,.reviewTable td{display:block;width:100%;box-sizing:border-box}.reviewTable tr{border:1px solid var(--line);border-radius:14px;margin-bottom:14px;padding:10px;background:var(--panel2)}.reviewTable td{display:grid!important;grid-template-columns:112px minmax(0,1fr)!important;gap:10px!important;min-width:0!important;border:0!important;padding:7px 4px!important;overflow-wrap:anywhere!important}.reviewTable td::before{font-weight:700;color:var(--muted);font-size:12px}
  .openaiUsageChart{min-height:270px!important;height:270px!important}.openaiUsageChart .spendBarTrack{height:190px!important;min-height:190px!important}
  .stableWizardVisual{height:165px!important;max-height:165px!important}.stableWizardVisual .wizardIllustration{transform:scale(.86);transform-origin:center center}
}
@media(max-width:560px){
  .revenueOsKpis,.kpis,.riKpiStrip,.riKpiStrip4,.myDayKpis{grid-template-columns:1fr!important}
  .tableWrap table{min-width:660px}
  .modal,.modalCard,.processModal,.stableWizardCard{width:calc(100vw - 18px)!important;max-width:calc(100vw - 18px)!important;margin:9px!important;padding:14px!important}
}
