
:root{
  --bg:#f5f7fb;--card:#fff;--ink:#152033;--muted:#667085;--line:#e3e8f0;
  --brand:#2f5ea8;--brand2:#224a86;--ok:#16794a;--warn:#9a6700;--danger:#b42318;
  --shadow:0 10px 30px rgba(15,23,42,.06)
}
*{box-sizing:border-box}html{font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:var(--ink);background:var(--bg)}
body{margin:0}a{color:var(--brand);text-decoration:none}.app{min-height:100vh}.topbar{height:64px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 24px;position:sticky;top:0;z-index:30}
.brand{font-weight:800;letter-spacing:-.02em}.userbox{display:flex;gap:10px;align-items:center;font-size:14px;color:var(--muted)}
.shell{display:grid;grid-template-columns:235px 1fr;min-height:calc(100vh - 64px)}.sidebar{background:#fff;border-right:1px solid var(--line);padding:18px 12px}
.nav a{display:block;padding:10px 12px;border-radius:10px;color:#344054;margin:2px 0;font-weight:600;font-size:14px}.nav a:hover,.nav a.active{background:#eef3fb;color:var(--brand)}
.main{padding:28px;max-width:1500px;width:100%;margin:0 auto}.pagehead{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:22px}
h1{font-size:28px;margin:0 0 6px;letter-spacing:-.02em}h2{font-size:20px;margin:0 0 12px}.sub{color:var(--muted);margin:0}
.card{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:20px;box-shadow:var(--shadow)}.grid{display:grid;gap:16px}.grid4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid2{grid-template-columns:repeat(2,minmax(0,1fr))}
.kpi .label{color:var(--muted);font-size:13px;font-weight:700}.kpi .value{font-size:28px;font-weight:800;margin-top:8px}.kpi .hint{font-size:12px;color:var(--muted);margin-top:6px}
.btn{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:10px;padding:10px 14px;font-weight:750;cursor:pointer;background:var(--brand);color:#fff}.btn:hover{background:var(--brand2)}.btn.secondary{background:#eef2f7;color:#344054}.btn.danger{background:#fee4e2;color:var(--danger)}
.actions{display:flex;gap:8px;flex-wrap:wrap}.tablewrap{overflow:auto;border:1px solid var(--line);border-radius:14px;background:#fff}table{border-collapse:collapse;width:100%;min-width:760px}th,td{padding:12px 14px;border-bottom:1px solid var(--line);text-align:left;font-size:14px}th{background:#f8fafc;color:#475467;font-size:12px;text-transform:uppercase;letter-spacing:.03em}tr:last-child td{border-bottom:0}
.num{text-align:right;font-variant-numeric:tabular-nums}.badge{display:inline-block;padding:4px 8px;border-radius:999px;font-size:12px;font-weight:750;background:#eef2f7;color:#344054}.badge.ok{background:#ecfdf3;color:#067647}.badge.warn{background:#fffaeb;color:#b54708}.badge.bad{background:#fef3f2;color:#b42318}
form .row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.field{margin-bottom:14px}.field label{display:block;font-size:13px;font-weight:700;margin-bottom:6px;color:#344054}.field input,.field select,.field textarea{width:100%;border:1px solid #cfd6e2;border-radius:10px;padding:10px 12px;font:inherit;background:#fff}.field textarea{min-height:90px;resize:vertical}.help{font-size:12px;color:var(--muted);margin-top:5px}
.flash{padding:12px 14px;border-radius:10px;margin:0 0 18px}.flash.ok{background:#ecfdf3;color:#067647}.flash.err{background:#fef3f2;color:#b42318}.flash.warn{background:#fffaeb;color:#b54708}
.tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}.tabs a{padding:8px 12px;border-radius:9px;background:#eef2f7;color:#344054;font-weight:700;font-size:13px}.tabs a.active{background:var(--brand);color:#fff}
.splitlines{border:1px solid var(--line);border-radius:12px;padding:14px;margin:14px 0}.lineitem{display:grid;grid-template-columns:2fr 1fr 1fr 1fr 44px;gap:8px;margin-bottom:8px}.lineitem:last-child{margin-bottom:0}
.health{display:grid;gap:8px}.healthrow{display:grid;grid-template-columns:28px 1fr auto;gap:10px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line)}.healthrow:last-child{border-bottom:0}.dot{width:12px;height:12px;border-radius:50%;background:#98a2b3}.dot.ok{background:#12b76a}.dot.warn{background:#f79009}.dot.bad{background:#f04438}
.small{font-size:12px;color:var(--muted)}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.right{text-align:right}
@media(max-width:1000px){.grid4{grid-template-columns:repeat(2,1fr)}.shell{grid-template-columns:1fr}.sidebar{display:none}.main{padding:18px}.lineitem{grid-template-columns:1fr 1fr}.lineitem .remove{grid-column:2}.pagehead{flex-direction:column}.grid2{grid-template-columns:1fr}}
@media(max-width:620px){.grid4{grid-template-columns:1fr}form .row{grid-template-columns:1fr}.topbar{padding:0 14px}.main{padding:14px}}

.helpbox{background:#f8fafc;border:1px solid var(--line);border-radius:14px;padding:16px 18px;margin-bottom:18px}
.helpbox h3{margin:0 0 8px;font-size:15px}.helpbox p{margin:6px 0;color:var(--muted);line-height:1.5}
.helpbox ul,.helpbox ol{margin:8px 0 0 20px;color:#475467;line-height:1.55}
details.guide{background:#fff;border:1px solid var(--line);border-radius:12px;padding:12px 14px;margin:10px 0}
details.guide summary{font-weight:750;cursor:pointer}
.definition{display:grid;grid-template-columns:170px 1fr;gap:10px;padding:8px 0;border-bottom:1px solid var(--line)}
.definition:last-child{border-bottom:0}.definition strong{color:#344054}
.statline{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.statmini{background:#f8fafc;border:1px solid var(--line);border-radius:12px;padding:12px}
.statmini .n{font-weight:800;font-size:20px}.statmini .t{font-size:12px;color:var(--muted)}
@media(max-width:800px){.definition{grid-template-columns:1fr}.statline{grid-template-columns:repeat(2,1fr)}}

.navgroup{padding:14px 12px 6px;color:#98a2b3;text-transform:uppercase;font-size:10px;font-weight:800;letter-spacing:.08em}
.hero-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:16px}.chart-card{min-height:280px}
.barlist{display:grid;gap:10px;margin-top:14px}.barrow{display:grid;grid-template-columns:160px 1fr 100px;gap:10px;align-items:center;font-size:13px}
.bartrack{height:10px;background:#eef2f7;border-radius:999px;overflow:hidden}.barfill{height:100%;background:var(--brand);border-radius:999px}
.monthchart{display:flex;align-items:flex-end;gap:10px;height:170px;padding-top:20px}.monthcol{flex:1;display:flex;gap:3px;height:100%;align-items:flex-end;justify-content:center;position:relative}
.monthbar{width:35%;min-width:8px;border-radius:5px 5px 0 0;background:#2f5ea8}.monthbar.exp{background:#98a2b3}.monthlabel{position:absolute;bottom:-22px;font-size:10px;color:var(--muted)}
.legend{display:flex;gap:16px;font-size:12px;color:var(--muted);margin-top:28px}.legend i{display:inline-block;width:9px;height:9px;border-radius:2px;background:#2f5ea8;margin-right:5px}.legend i.exp{background:#98a2b3}
.alertcard{border-left:4px solid #f79009}.dangercard{border-left:4px solid #f04438}
.searchbar{display:grid;grid-template-columns:2fr repeat(3,1fr) auto;gap:10px;align-items:end}
.stickyhead thead th{position:sticky;top:63px;z-index:5}
.report-section{margin-top:18px}.report-title{font-weight:800;background:#f8fafc}.totalrow td{font-weight:800;border-top:2px solid #d0d5dd}
.flowsteps{display:grid;grid-template-columns:repeat(6,1fr);gap:8px}.flowstep{padding:12px;border:1px solid var(--line);border-radius:12px;background:#fff;text-align:center;font-size:12px}.flowstep strong{display:block;font-size:16px;margin-bottom:4px;color:var(--brand)}
@media(max-width:1100px){.hero-grid{grid-template-columns:1fr}.searchbar{grid-template-columns:1fr 1fr}.flowsteps{grid-template-columns:repeat(3,1fr)}}
@media(max-width:650px){.barrow{grid-template-columns:1fr}.searchbar{grid-template-columns:1fr}.flowsteps{grid-template-columns:1fr 1fr}}

/* SET 4 · mobile-first operational refinements */
.mobile-menu-btn{display:none;border:0;background:transparent;font-size:24px;line-height:1;color:inherit;padding:6px 8px;cursor:pointer}
.mobile-bottom-nav{display:none}
.kpi-link{display:block;color:inherit;text-decoration:none;height:100%}.kpi-link:hover .card{transform:translateY(-2px);box-shadow:0 8px 24px rgba(16,24,40,.10)}.kpi-link .card{transition:.16s ease;cursor:pointer}
.card-link{color:inherit;text-decoration:none}.card-link:hover{text-decoration:none}
.clickable-row{cursor:pointer}.clickable-row:hover{background:#f8fafc}
.context-help{background:#f8fafc;border:1px solid var(--line);border-radius:12px;margin:0 0 18px;padding:12px 14px}
.context-help summary{font-weight:800;cursor:pointer;color:#344054}.context-help-body{padding-top:10px}
.question-list{display:grid;gap:8px}.question-link{display:block;padding:11px 12px;border:1px solid var(--line);border-radius:10px;text-decoration:none;background:#fff}.question-link:hover{background:#f8fafc}
.quick-actions{display:flex;flex-wrap:wrap;gap:8px}
.report-actions{display:flex;gap:8px;flex-wrap:wrap}
.receipt-ok{color:#067647;font-weight:700}.receipt-missing{color:#b42318;font-weight:700}
.mobile-only{display:none}
.desktop-only{display:block}
.metric-note{font-size:12px;color:var(--muted);margin-top:5px}
.print-only{display:none}
@media print{
  .topbar,.sidebar,.mobile-bottom-nav,.pagehead .actions,.no-print,.context-help{display:none!important}
  .shell,.main{display:block!important;margin:0!important;padding:0!important}.card{box-shadow:none!important;break-inside:avoid}
  .print-only{display:block}.app{background:#fff}.tablewrap{overflow:visible}.main{max-width:none}
}
@media(max-width:800px){
  body{padding-bottom:74px}
  .mobile-menu-btn{display:block}
  .topbar{padding:10px 12px;gap:6px}.topbar .brand{font-size:15px;flex:1}.userbox span{display:none}
  .sidebar{position:fixed;left:0;top:54px;bottom:66px;width:min(86vw,320px);z-index:1000;transform:translateX(-105%);transition:.2s ease;overflow:auto;box-shadow:12px 0 28px rgba(16,24,40,.16)}
  .sidebar.open{transform:translateX(0)}
  .shell{display:block}.main{padding:14px 12px 26px}
  .pagehead{align-items:flex-start;gap:10px}.pagehead h1{font-size:24px}.pagehead .actions{width:100%}.pagehead .actions .btn{flex:1;text-align:center}
  .mobile-bottom-nav{position:fixed;display:grid;grid-template-columns:repeat(5,1fr);left:0;right:0;bottom:0;z-index:1100;background:#fff;border-top:1px solid var(--line);padding:6px 4px calc(6px + env(safe-area-inset-bottom));box-shadow:0 -6px 20px rgba(16,24,40,.08)}
  .mobile-bottom-nav a,.mobile-bottom-nav button{border:0;background:none;color:#667085;text-decoration:none;font-size:10px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:48px;padding:2px;cursor:pointer}
  .mobile-bottom-nav span{font-size:20px;line-height:1}.mobile-bottom-nav .mobile-primary{color:var(--brand);font-weight:800}
  .grid4,.grid3,.grid2,.hero-grid,.statline{grid-template-columns:1fr!important}
  .flowsteps{grid-template-columns:repeat(3,1fr)!important}
  .row{grid-template-columns:1fr!important}
  input,select,textarea{font-size:16px!important;min-height:44px}.btn{min-height:42px}
  .lineitem{grid-template-columns:1fr!important;border:1px solid var(--line);border-radius:12px;padding:10px}
  .quick-actions .btn{flex:1;min-width:145px}
  .desktop-only{display:none!important}.mobile-only{display:block}
  .monthchart{height:140px}.barrow{grid-template-columns:1fr!important}
  .tabs{display:flex;overflow-x:auto;white-space:nowrap;padding-bottom:5px}
  .tablewrap{overflow:visible}
  .tablewrap table.mobile-cards,.tablewrap table.auto-mobile-cards{display:block;width:100%}
  .tablewrap table.mobile-cards thead,.tablewrap table.auto-mobile-cards thead{display:none}
  .tablewrap table.mobile-cards tbody,.tablewrap table.auto-mobile-cards tbody{display:grid;gap:10px}
  .tablewrap table.mobile-cards tr,.tablewrap table.auto-mobile-cards tr{display:block;border:1px solid var(--line);border-radius:12px;background:#fff;padding:8px 10px}
  .tablewrap table.mobile-cards td,.tablewrap table.auto-mobile-cards td{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;border:0!important;padding:7px 2px;text-align:right!important}
  .tablewrap table.mobile-cards td::before,.tablewrap table.auto-mobile-cards td::before{content:attr(data-label);font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:#667085;font-weight:800;text-align:left;flex:0 0 42%}
  .tablewrap table.mobile-cards td[colspan],.tablewrap table.auto-mobile-cards td[colspan]{display:block;text-align:left!important}
  .tablewrap table.mobile-cards td[colspan]::before,.tablewrap table.auto-mobile-cards td[colspan]::before{display:none}
  .tablewrap table.mobile-cards .actions,.tablewrap table.auto-mobile-cards .actions{width:100%;justify-content:flex-end}
}
@media(max-width:390px){
  .flowsteps{grid-template-columns:1fr 1fr!important}
  .main{padding-left:10px;padding-right:10px}.card{padding:14px}
  .mobile-bottom-nav a,.mobile-bottom-nav button{font-size:9px}
}

/* =========================================================
   SET 5 · FASE 1 — Arquitectura visual premium + mobile-first
   ========================================================= */
:root{
  --brand:#1f4f8f;
  --brand-strong:#173a69;
  --brand-soft:#edf4ff;
  --navy:#0f2747;
  --navy-2:#15345f;
  --ink:#172033;
  --muted:#667085;
  --line:#e5eaf1;
  --panel:#ffffff;
  --canvas:#f4f7fb;
  --success:#067647;
  --warning:#b54708;
  --danger:#b42318;
  --radius:16px;
  --shadow:0 8px 28px rgba(16,24,40,.06);
}
*{box-sizing:border-box}
html,body{max-width:100%;overflow-x:hidden}
body{background:var(--canvas);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
.app{min-height:100vh}
.topbar{
  position:sticky;top:0;z-index:1200;
  height:68px;padding:0 22px;
  display:flex;align-items:center;justify-content:space-between;gap:16px;
  background:rgba(255,255,255,.96);backdrop-filter:blur(10px);
  border-bottom:1px solid var(--line)
}
.topbar-brand{display:flex;align-items:center;gap:11px;min-width:0}
.brandmark{width:34px;height:34px;border-radius:10px;background:var(--navy);color:#fff;display:grid;place-items:center;font-weight:800;font-size:12px;letter-spacing:.04em}
.brand{font-size:14px;font-weight:800;color:var(--ink);line-height:1.15}
.brand-sub{font-size:10px;color:var(--muted);margin-top:2px}
.topbar-actions{display:flex;align-items:center;gap:14px}
.top-quick{background:var(--brand);color:#fff;text-decoration:none;padding:9px 13px;border-radius:10px;font-size:12px;font-weight:800}
.userbox{display:flex;align-items:center;gap:10px;font-size:11px;color:var(--muted)}
.userbox a{color:var(--brand);text-decoration:none;font-weight:700}
.shell{display:grid;grid-template-columns:244px minmax(0,1fr);min-height:calc(100vh - 68px)}
.sidebar{background:linear-gradient(180deg,var(--navy),var(--navy-2));color:#fff;padding:12px 10px 24px;overflow:auto;position:sticky;top:68px;height:calc(100vh - 68px)}
.sidebar-head{padding:8px 10px 10px;color:rgba(255,255,255,.62);font-size:10px;text-transform:uppercase;letter-spacing:.08em;font-weight:800}
.navgroup{padding:14px 10px 6px;color:rgba(255,255,255,.48);font-size:9px;text-transform:uppercase;letter-spacing:.1em;font-weight:800}
.nav{display:flex;flex-direction:column}
.nav a{display:flex;align-items:center;gap:9px;color:rgba(255,255,255,.82);text-decoration:none;padding:9px 10px;border-radius:10px;font-size:11px;font-weight:650;margin:1px 0}
.nav a:hover{background:rgba(255,255,255,.08);color:#fff}
.nav a.active{background:#fff;color:var(--navy);box-shadow:0 4px 14px rgba(0,0,0,.12)}
.navdot{width:6px;height:6px;border-radius:999px;background:currentColor;opacity:.65;flex:0 0 auto}
.main{min-width:0;padding:28px 30px 42px;max-width:1500px;width:100%;margin:0 auto}
.pagehead{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:20px}
.pagehead-copy{min-width:0}
.eyebrow{text-transform:uppercase;letter-spacing:.08em;color:var(--brand);font-size:9px;font-weight:800;margin-bottom:5px}
.pagehead h1{font-size:25px;line-height:1.15;margin:0;color:var(--ink);letter-spacing:-.02em}
.pagehead .sub{font-size:12px;color:var(--muted);margin:6px 0 0;max-width:720px}
.card,.helpbox,.context-help{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}
.card{padding:18px}
.card h2{font-size:14px;margin:0 0 12px;color:var(--ink)}
.kpi{min-height:118px;display:flex;flex-direction:column;justify-content:center}
.kpi .label{font-size:11px;color:var(--muted);font-weight:700}
.kpi .value{font-size:28px;letter-spacing:-.03em;font-weight:800;margin-top:6px;color:var(--ink)}
.metric-note{font-size:10px;color:var(--brand);font-weight:700;margin-top:8px}
.kpi-link{text-decoration:none;color:inherit}
.kpi-link:hover .card{transform:translateY(-2px);border-color:#c7d7ec;box-shadow:0 10px 30px rgba(16,24,40,.09)}
.grid{gap:14px}
.grid4{grid-template-columns:repeat(4,minmax(0,1fr))}
.grid3{grid-template-columns:repeat(3,minmax(0,1fr))}
.grid2{grid-template-columns:repeat(2,minmax(0,1fr))}
.flowsteps{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}
.flowstep{background:#fff;border:1px solid var(--line);border-radius:12px;padding:10px 8px;text-align:center;color:var(--muted);font-size:10px;box-shadow:0 2px 8px rgba(16,24,40,.03)}
.flowstep strong{display:block;font-size:14px;color:var(--brand);margin-bottom:2px}
.btn{border-radius:10px;font-size:11px;font-weight:800;padding:9px 12px}
.btn.secondary{background:#f8fafc;border:1px solid var(--line);color:#344054}
.quick-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.quick-actions .btn{width:100%;text-align:center}
.question-list{display:grid;gap:8px}
.question-link{padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:#fbfcfe;color:#344054;text-decoration:none;font-size:11px;font-weight:650}
.question-link:hover{border-color:#c9d7ea;background:var(--brand-soft);color:var(--brand)}
.tablewrap{border:1px solid var(--line);border-radius:14px;overflow:auto;background:#fff}
table{width:100%;border-collapse:separate;border-spacing:0}
thead th{background:#f8fafc;color:#667085;font-size:9px;text-transform:uppercase;letter-spacing:.05em;font-weight:800;padding:11px 12px;border-bottom:1px solid var(--line)}
tbody td{padding:11px 12px;font-size:11px;border-bottom:1px solid #eef1f5}
tbody tr:last-child td{border-bottom:0}
tbody tr:hover td{background:#fbfcfe}
.badge{border-radius:999px;padding:4px 8px;font-size:9px;font-weight:800}
.helpbox,.context-help{padding:14px 16px}
.helpbox h3,.context-help summary{font-size:12px;font-weight:800}
.context-help{box-shadow:none;background:#fbfcfe}
.form,.field{min-width:0}
.field label{font-size:10px;font-weight:800;color:#344054;margin-bottom:5px}
input,select,textarea{border:1px solid #d7deea;border-radius:10px;background:#fff;padding:9px 10px;color:#1d2939}
input:focus,select:focus,textarea:focus{outline:0;border-color:#8fb0dd;box-shadow:0 0 0 3px rgba(31,79,143,.08)}
.mobile-menu-btn{display:none}
.mobile-bottom-nav{display:none}
body.menu-open{overflow:hidden}

@media(max-width:1100px){
  .shell{grid-template-columns:220px minmax(0,1fr)}
  .main{padding:22px 20px 36px}
  .grid4{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:800px){
  body{padding-bottom:78px}
  .topbar{height:58px;padding:0 10px}
  .mobile-menu-btn{display:grid;place-items:center;width:38px;height:38px;border:1px solid var(--line);border-radius:10px;background:#fff;font-size:20px;color:var(--ink)}
  .topbar-brand{flex:1}
  .brandmark{width:30px;height:30px;border-radius:9px}
  .brand{font-size:13px}.brand-sub{display:none}
  .topbar-actions .top-quick{display:none}
  .userbox span{display:none}
  .shell{display:block;min-height:calc(100vh - 58px)}
  .sidebar{
    display:block!important;position:fixed;left:0;top:58px;bottom:70px;width:min(86vw,310px);height:auto;z-index:1300;
    transform:translateX(-104%);transition:transform .22s ease;box-shadow:18px 0 34px rgba(0,0,0,.22)
  }
  .sidebar.open{transform:translateX(0)!important}
  .main{padding:16px 12px 28px;max-width:100%;overflow-x:hidden}
  .pagehead{display:block;margin-bottom:14px}
  .pagehead h1{font-size:22px}
  .pagehead .sub{font-size:11px}
  .pagehead .actions{display:flex;gap:8px;margin-top:12px;width:100%}
  .pagehead .actions .btn{flex:1;text-align:center}
  .grid4,.grid3,.grid2,.hero-grid,.statline{grid-template-columns:1fr!important}
  .flowsteps{grid-template-columns:repeat(3,minmax(0,1fr))}
  .quick-actions{grid-template-columns:1fr 1fr}
  .kpi{min-height:102px}
  .kpi .value{font-size:25px}
  input,select,textarea{font-size:16px!important;min-height:44px}
  .btn{min-height:42px}
  .row,.searchbar{grid-template-columns:1fr!important}
  .tablewrap{overflow:visible;border:0;background:transparent}
  .tablewrap table{display:block;width:100%;background:transparent}
  .tablewrap thead{display:none}
  .tablewrap tbody{display:grid;gap:9px}
  .tablewrap tr{display:block;border:1px solid var(--line);border-radius:13px;background:#fff;padding:8px 10px;box-shadow:0 4px 14px rgba(16,24,40,.04)}
  .tablewrap td{display:flex;justify-content:space-between;gap:12px;border:0!important;padding:6px 2px;text-align:right!important;font-size:11px}
  .tablewrap td::before{content:attr(data-label);font-size:9px;text-transform:uppercase;letter-spacing:.04em;color:#667085;font-weight:800;text-align:left;flex:0 0 42%}
  .tablewrap td[colspan]{display:block;text-align:left!important}
  .tablewrap td[colspan]::before{display:none}
  .mobile-bottom-nav{
    position:fixed;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));left:0;right:0;bottom:0;width:100vw;max-width:100vw;z-index:1400;
    background:#fff;border-top:1px solid var(--line);padding:6px 4px calc(6px + env(safe-area-inset-bottom));box-shadow:0 -8px 24px rgba(16,24,40,.10);overflow:hidden
  }
  .mobile-bottom-nav a,.mobile-bottom-nav button{
    min-width:0;max-width:100%;overflow:hidden;border:0;background:none;text-decoration:none;color:#667085;
    display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;padding:2px 1px;min-height:48px
  }
  .mobile-bottom-nav span{font-size:18px;line-height:1}
  .mobile-bottom-nav small{font-size:8.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;display:block}
  .mobile-bottom-nav .mobile-primary{color:var(--brand);font-weight:800}
}
@media(max-width:390px){
  .flowsteps{grid-template-columns:repeat(2,minmax(0,1fr))}
  .quick-actions{grid-template-columns:1fr}
  .main{padding-left:10px;padding-right:10px}
  .card{padding:14px}
  .mobile-bottom-nav small{font-size:8px}
}

/* SET 5.1 · FIPA identity */
.brandmark{width:42px;min-width:42px;font-size:10px;letter-spacing:.02em}
.brand-context{
  display:grid;grid-template-columns:minmax(0,1.3fr) minmax(280px,.7fr);gap:14px;
  align-items:stretch;margin:0 0 16px
}
.brand-context-main,.daily-tip{
  border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:var(--shadow);padding:16px 18px
}
.brand-context-main{
  background:linear-gradient(135deg,#ffffff 0%,#f4f9f6 100%);
  border-color:#dfeae4
}
.brand-context-kicker{font-size:10px;text-transform:uppercase;letter-spacing:.07em;font-weight:800;color:#557a68}
.brand-context-title{font-size:18px;font-weight:800;color:var(--navy);margin-top:5px}
.brand-context-sub{font-size:11px;color:#6b7d73;margin-top:2px}
.daily-tip{position:relative;background:linear-gradient(135deg,#f7fbff,#fffdf7);border-color:#e1e8ef}
.daily-tip::before{content:"";position:absolute;left:0;top:14px;bottom:14px;width:3px;border-radius:4px;background:#7ea98e}
.daily-tip-label{font-size:9px;text-transform:uppercase;letter-spacing:.08em;font-weight:800;color:#7a8a80;margin-left:6px}
.daily-tip-text{font-size:12px;line-height:1.5;color:#344054;margin:5px 0 0 6px;font-weight:650}
@media(max-width:800px){
  .brand-context{grid-template-columns:1fr;gap:9px;margin-bottom:12px}
  .brand-context-main{padding:12px 14px}
  .brand-context-title{font-size:15px}
  .brand-context-sub{font-size:10px}
  .daily-tip{padding:12px 14px}
  .daily-tip-text{font-size:11px}
  .topbar .brandmark{width:32px;min-width:32px;font-size:8px}
}

/* =========================================================
   SET 5.2 · FIPA approved visual direction
   Authoritative mobile layer
   ========================================================= */
:root{
  --fipa-navy:#17365f;
  --fipa-blue:#2f6cb5;
  --fipa-sage:#5f9673;
  --fipa-cream:#fffdf8;
  --fipa-canvas:#f7f8f5;
  --fipa-gold:#e8aa2d;
  --fipa-red:#d85a4d;
  --fipa-line:#e9e8e2;
}
body{background:var(--fipa-canvas)}
.sidebar-backdrop{display:none}
.profile-pill{width:34px;height:34px;border-radius:999px;background:#edf2f7;color:#314763;display:grid;place-items:center;text-decoration:none;font-weight:800}
.fipa-hero{display:grid;grid-template-columns:1.35fr .65fr;gap:16px;padding:22px;border-radius:22px;background:linear-gradient(135deg,#edf8ff 0%,#fffef9 52%,#eef7ed 100%);border:1px solid #e4ece7;box-shadow:0 8px 28px rgba(29,63,99,.07);margin-bottom:14px;overflow:hidden}
.hero-month{font-size:11px;color:#416e9f;font-weight:800}
.fipa-hero h2{font-size:30px;line-height:1.02;color:var(--fipa-navy);margin:6px 0 8px;letter-spacing:-.035em}
.fipa-hero p{font-size:12px;color:#708095;margin:0 0 18px}
.hero-cta{display:inline-flex;align-items:center;gap:10px;background:linear-gradient(90deg,#e6a51f,#f2ba49);color:white;text-decoration:none;border-radius:999px;padding:12px 18px;font-weight:800;box-shadow:0 8px 18px rgba(232,170,45,.22)}
.hero-cta span{font-size:18px}.hero-cta b{margin-left:auto}
.fipa-hero-tip{align-self:center;padding:18px;border-left:1px solid rgba(95,150,115,.22);color:#496859}
.tip-leaf{font-size:26px;color:var(--fipa-sage)}.tip-label{font-size:9px;text-transform:uppercase;letter-spacing:.1em;font-weight:800;margin-top:4px}.tip-text{font-size:12px;line-height:1.45;margin-top:5px}
.kpi-quad{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:14px}
.mini-kpi{display:flex;flex-direction:column;text-decoration:none;color:var(--fipa-navy);border-radius:18px;padding:15px 14px;min-height:130px;border:1px solid rgba(0,0,0,.03);box-shadow:0 6px 20px rgba(28,49,74,.05)}
.mini-kpi.income{background:linear-gradient(160deg,#f1fbf4,#e7f6eb)}.mini-kpi.expense{background:linear-gradient(160deg,#fff5f3,#fce9e6)}.mini-kpi.cash{background:linear-gradient(160deg,#f1f8ff,#e6f1fc)}.mini-kpi.docs{background:linear-gradient(160deg,#fffaf0,#fbf0d8)}
.mini-icon{width:34px;height:34px;border-radius:999px;display:grid;place-items:center;background:rgba(255,255,255,.75);font-weight:900;margin-bottom:9px}.income .mini-icon{color:#277b48}.expense .mini-icon{color:#be4136}.cash .mini-icon{color:#2f6cb5}.docs .mini-icon{color:#b8780c}
.mini-label{font-size:10px;font-weight:800}.mini-kpi strong{font-size:20px;margin-top:4px;letter-spacing:-.02em}.mini-kpi small{font-size:9px;color:#758297;margin-top:auto}
.soft-panel{background:white;border:1px solid var(--fipa-line);border-radius:20px;padding:18px;margin-bottom:14px;box-shadow:0 7px 22px rgba(29,50,75,.045)}
.section-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px}.section-heading h2{font-size:17px;margin:0;color:var(--fipa-navy)}.section-heading span,.section-heading a{font-size:10px;color:#6f86a5;text-decoration:none}
.action-tiles{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:9px}
.action-tile{min-height:94px;border-radius:15px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;text-decoration:none;font-size:10px}.action-tile span{font-size:24px}.action-tile b{font-size:10px}
.t-expense{background:#fff0ee;color:#b9322f}.t-income{background:#eef8ef;color:#2d8750}.t-deposit{background:#eef6ff;color:#3470b7}.t-pending{background:#fff6df;color:#b97908}.t-provider{background:#f4f0ff;color:#6652a3}.t-report{background:#eaf8f6;color:#207d7b}
.today-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.today-card{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;border:1px solid var(--fipa-line);border-radius:14px;padding:12px;text-decoration:none;color:var(--fipa-navy)}.today-icon{width:34px;height:34px;border-radius:999px;display:grid;place-items:center}.today-icon.danger{background:#ffe9e6;color:#c94d41}.today-icon.sage{background:#e9f5ec;color:#4d8e65}.today-card b{display:block;font-size:11px}.today-card small{display:block;font-size:9px;color:#7c8798;margin-top:2px}.today-card i{font-style:normal;font-size:20px;color:#9aa6b6}
.quick-query-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.quick-query-grid a{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:9px;border:1px solid var(--fipa-line);border-radius:999px;padding:11px 14px;text-decoration:none;color:#326ba9;font-size:11px}.quick-query-grid i{font-style:normal}
.recent-list{display:grid}.recent-item{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid #eee;text-decoration:none;color:var(--fipa-navy)}.recent-item:last-child{border-bottom:0}.recent-dot{width:36px;height:36px;border-radius:999px;display:grid;place-items:center;font-weight:900}.recent-dot.in{background:#e8f5ec;color:#2a7d48}.recent-dot.out{background:#fdebea;color:#bd4036}.recent-item b{font-size:11px}.recent-item small{display:block;font-size:9px;color:#8290a1;margin-top:2px}.recent-item strong{font-size:11px}.empty-state{padding:14px;color:#7d8796;font-size:11px;background:#fafafa;border-radius:12px}
.desktop-register{display:inline-flex}

/* MOBILE: hard reset */
@media(max-width:800px){
  html,body{width:100%!important;max-width:100%!important;overflow-x:hidden!important}
  body{padding-bottom:72px!important;background:#fbfaf6!important}
  .topbar{height:58px!important;padding:0 12px!important;display:grid!important;grid-template-columns:40px minmax(0,1fr) 36px!important;gap:8px!important;background:#fff!important;border-bottom:1px solid #ecebe6!important}
  .mobile-menu-btn{display:grid!important;place-items:center!important;width:36px!important;height:36px!important;padding:0!important;border:0!important;background:transparent!important;color:var(--fipa-navy)!important;font-size:25px!important;line-height:1!important;z-index:1701!important}
  .topbar-brand{min-width:0!important;display:flex!important;gap:8px!important;align-items:center!important}.brandmark{display:none!important}
  .brand{font-size:12px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;color:var(--fipa-navy)!important}.brand-sub{font-size:9px!important;display:block!important;color:#8792a0!important}
  .topbar-actions{display:block!important}.profile-pill{width:32px!important;height:32px!important}
  .shell{display:block!important;width:100%!important;max-width:100%!important}
  .sidebar{display:block!important;position:fixed!important;top:58px!important;left:0!important;bottom:0!important;width:min(84vw,304px)!important;height:auto!important;z-index:1700!important;transform:translate3d(-105%,0,0)!important;transition:transform .22s ease!important;background:linear-gradient(180deg,#17365f,#234d76)!important;overflow-y:auto!important;visibility:visible!important;opacity:1!important}
  .sidebar.open{transform:translate3d(0,0,0)!important}
  .sidebar-backdrop{display:block!important;position:fixed!important;inset:58px 0 0 0!important;background:rgba(16,24,40,.38)!important;border:0!important;z-index:1650!important;opacity:0!important;pointer-events:none!important;transition:.2s ease!important}
  body.menu-open .sidebar-backdrop{opacity:1!important;pointer-events:auto!important}
  .main{width:100%!important;max-width:100%!important;min-width:0!important;margin:0!important;padding:14px 12px 22px!important;overflow-x:hidden!important}
  .pagehead{margin:0 0 10px!important}.pagehead .eyebrow{display:none!important}.pagehead h1{font-size:19px!important;margin:0!important}.pagehead .sub{font-size:10px!important;margin-top:3px!important}.pagehead .actions{display:none!important}
  .brand-context{display:none!important}
  .fipa-hero{grid-template-columns:1fr!important;padding:16px!important;border-radius:18px!important;margin-bottom:10px!important;min-height:180px!important;background:linear-gradient(145deg,#eef9ff 0%,#fffdf5 60%,#eff7eb 100%)!important}
  .hero-month{font-size:10px!important}.fipa-hero h2{font-size:24px!important;margin:4px 0 6px!important;line-height:1.02!important}.fipa-hero p{font-size:10px!important;margin-bottom:14px!important}.hero-cta{width:100%!important;justify-content:flex-start!important;padding:12px 15px!important}.hero-cta b{margin-left:auto!important}
  .fipa-hero-tip{border-left:0!important;border-top:1px solid rgba(95,150,115,.18)!important;padding:11px 0 0!important;margin-top:4px!important}.tip-leaf{display:none!important}.tip-label{font-size:8px!important}.tip-text{font-size:10px!important;line-height:1.35!important}
  .kpi-quad{grid-template-columns:1fr 1fr!important;gap:8px!important;margin-bottom:10px!important}.mini-kpi{min-height:112px!important;padding:12px!important;border-radius:15px!important}.mini-icon{width:30px!important;height:30px!important;margin-bottom:6px!important}.mini-label{font-size:9px!important}.mini-kpi strong{font-size:17px!important}.mini-kpi small{font-size:8px!important}
  .soft-panel{padding:14px!important;border-radius:17px!important;margin-bottom:10px!important}.section-heading{margin-bottom:11px!important}.section-heading h2{font-size:15px!important}.section-heading span{display:none!important}
  .action-tiles{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:7px!important}.action-tile{min-height:78px!important;border-radius:13px!important}.action-tile span{font-size:20px!important}.action-tile b{font-size:9px!important}
  .today-grid{grid-template-columns:1fr!important;gap:8px!important}.today-card{padding:10px!important}.today-card b{font-size:10px!important}.today-card small{font-size:8px!important}
  .quick-query-grid{grid-template-columns:1fr!important;gap:7px!important}.quick-query-grid a{padding:10px 12px!important;font-size:10px!important}
  .recent-item{padding:9px 0!important}.recent-item b,.recent-item strong{font-size:10px!important}.recent-item small{font-size:8px!important}
  .mobile-bottom-nav{display:flex!important;position:fixed!important;left:0!important;right:0!important;bottom:0!important;width:auto!important;max-width:none!important;height:64px!important;padding:4px 3px calc(4px + env(safe-area-inset-bottom))!important;background:#fff!important;border-top:1px solid #ecebe6!important;z-index:1800!important;overflow:hidden!important;box-sizing:border-box!important}
  .mobile-bottom-nav>a,.mobile-bottom-nav>button{flex:1 1 0!important;width:20%!important;min-width:0!important;max-width:20%!important;margin:0!important;padding:3px 0!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:1px!important;border:0!important;background:none!important;color:#687789!important;overflow:hidden!important;box-sizing:border-box!important}
  .mobile-bottom-nav span{font-size:18px!important;line-height:1!important}.mobile-bottom-nav small{display:block!important;width:100%!important;max-width:100%!important;font-size:7.5px!important;line-height:1.1!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;text-align:center!important}.mobile-bottom-nav .mobile-primary{color:var(--fipa-blue)!important}
}
@media(max-width:390px){
  .main{padding-left:9px!important;padding-right:9px!important}.kpi-quad{gap:6px!important}.mini-kpi{padding:10px!important}.action-tiles{gap:5px!important}.action-tile{min-height:72px!important}
}

/* =========================================================
   SET 6 · FIPA premium information architecture
   ========================================================= */
:root{
 --f-bg:#f5f6f2; --f-panel:#ffffff; --f-ink:#102a43; --f-muted:#718096;
 --f-navy:#102f52; --f-navy2:#183e68; --f-blue:#2d69ae; --f-sage:#69967a;
 --f-sage-soft:#edf5ef; --f-gold:#dca12a; --f-gold-soft:#fff7e4;
 --f-red:#c94b43; --f-line:#e6e9e4; --f-shadow:0 12px 35px rgba(25,44,66,.07);
 --f-shadow-sm:0 5px 18px rgba(25,44,66,.055);
}
html,body{background:var(--f-bg);color:var(--f-ink)}
body{font-feature-settings:"tnum" 1}
.topbar{
 height:68px!important;padding:0 22px!important;display:grid!important;
 grid-template-columns:auto minmax(180px,1fr) auto!important;align-items:center!important;
 gap:18px!important;background:rgba(255,255,255,.97)!important;backdrop-filter:blur(14px);
 border-bottom:1px solid var(--f-line)!important;box-shadow:0 1px 0 rgba(16,47,82,.02)
}
.topbar-brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--f-ink);min-width:0}
.brand-symbol{width:34px;height:34px;border-radius:11px;background:linear-gradient(145deg,var(--f-navy),var(--f-blue));color:#fff;display:grid;place-items:center;font-weight:900}
.topbar-brand b{font-size:13px;display:block}.topbar-brand small{font-size:9px;color:var(--f-muted);display:block;margin-top:1px;white-space:nowrap}
.topbar-context{justify-self:center;font-size:10px;color:#62748a;background:#f8fafb;border:1px solid var(--f-line);border-radius:999px;padding:7px 12px}
.topbar-actions{display:flex!important;align-items:center;gap:10px!important}.top-action{font-size:10px;font-weight:800;text-decoration:none;color:#fff;background:var(--f-navy);padding:9px 12px;border-radius:10px}
.profile-pill{width:34px;height:34px;border-radius:999px;background:#eef2f5;color:var(--f-navy);display:grid;place-items:center;text-decoration:none;font-size:11px;font-weight:900}
.shell{display:grid!important;grid-template-columns:216px minmax(0,1fr)!important;min-height:calc(100vh - 68px)}
.sidebar{
 top:68px!important;height:calc(100vh - 68px)!important;width:auto!important;
 padding:14px 10px!important;background:linear-gradient(180deg,#102f52 0%,#163d66 60%,#153554 100%)!important;
 color:#fff!important;overflow-y:auto!important;border-right:0!important
}
.sidebar::-webkit-scrollbar{width:4px}.sidebar::-webkit-scrollbar-thumb{background:rgba(255,255,255,.18);border-radius:4px}
.sidebar-brand{display:flex;align-items:center;gap:9px;padding:5px 8px 14px;border-bottom:1px solid rgba(255,255,255,.09);margin-bottom:8px}
.sidebar-logo{width:30px;height:30px;border-radius:10px;background:rgba(255,255,255,.12);display:grid;place-items:center;font-weight:900}
.sidebar-brand b{display:block;font-size:11px}.sidebar-brand small{display:block;font-size:8px;color:rgba(255,255,255,.55);margin-top:2px}
.nav-primary{display:grid;gap:3px;padding-bottom:8px}
.nav-section{border-top:1px solid rgba(255,255,255,.08);padding-top:7px;margin-top:4px}
.nav-section summary{list-style:none;display:flex;align-items:center;justify-content:space-between;color:rgba(255,255,255,.6);font-size:8px;text-transform:uppercase;letter-spacing:.09em;font-weight:800;padding:7px 9px;cursor:pointer}
.nav-section summary::-webkit-details-marker{display:none}.nav-section summary i{font-style:normal;font-size:12px;transition:.18s}.nav-section[open] summary i{transform:rotate(180deg)}
.nav-sub{display:grid;gap:2px;padding-bottom:4px}
.nav-link{display:flex!important;align-items:center!important;gap:9px!important;padding:8px 9px!important;border-radius:9px!important;color:rgba(255,255,255,.8)!important;text-decoration:none!important;font-size:9.5px!important;font-weight:650!important;margin:0!important;line-height:1.15}
.nav-link:hover{background:rgba(255,255,255,.08)!important;color:#fff!important}.nav-link.active{background:#fff!important;color:var(--f-navy)!important;box-shadow:0 7px 18px rgba(0,0,0,.13)}
.nav-icon{width:18px;height:18px;display:grid;place-items:center;border-radius:6px;background:rgba(255,255,255,.07);font-size:10px;flex:0 0 auto}.nav-link.active .nav-icon{background:#edf4fb;color:var(--f-blue)}
.sidebar-user{position:sticky;bottom:0;margin-top:14px;padding:10px 8px;background:rgba(8,28,48,.82);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.08);border-radius:12px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:8px}
.sidebar-user .avatar{width:28px;height:28px;border-radius:9px;background:#fff;color:var(--f-navy);display:grid;place-items:center;font-size:10px;font-weight:900}
.sidebar-user b{font-size:8.5px;display:block}.sidebar-user small{font-size:7px;color:rgba(255,255,255,.55);display:block;margin-top:1px}.sidebar-user a{color:#fff;text-decoration:none}
.main{max-width:1380px!important;width:100%!important;padding:30px 34px 44px!important;margin:0 auto!important;min-width:0!important}
.pagehead{margin-bottom:18px!important}.eyebrow{font-size:8px!important;letter-spacing:.12em!important;color:var(--f-sage)!important}.pagehead h1{font-size:28px!important;color:var(--f-navy)!important}.pagehead .sub{font-size:11px!important;color:var(--f-muted)!important}
.card,.soft-panel,.helpbox,.context-help{border:1px solid var(--f-line)!important;box-shadow:var(--f-shadow-sm)!important;background:#fff!important}
.soft-panel{border-radius:18px!important}.card{border-radius:16px!important}
.btn{border-radius:10px!important;font-size:10px!important;font-weight:800!important}.btn:not(.secondary){background:var(--f-navy)!important}.btn.secondary{background:#f7f9fb!important;border-color:var(--f-line)!important;color:#34495e!important}
.premium-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(280px,.65fr);gap:14px}
.executive-card{position:relative;overflow:hidden;border-radius:20px;padding:24px;background:linear-gradient(135deg,#102f52 0%,#1d4f7c 72%,#34698e 100%);color:#fff;box-shadow:0 16px 40px rgba(16,47,82,.18)}
.executive-card:after{content:"";position:absolute;width:230px;height:230px;border-radius:999px;background:rgba(255,255,255,.06);right:-80px;top:-90px}
.executive-kicker{font-size:9px;text-transform:uppercase;letter-spacing:.12em;color:rgba(255,255,255,.62);font-weight:800}.executive-card h2{font-size:28px;line-height:1.05;margin:8px 0;color:#fff}.executive-card p{font-size:11px;max-width:530px;color:rgba(255,255,255,.72)}
.executive-actions{display:flex;gap:8px;margin-top:18px;flex-wrap:wrap}.executive-actions a{position:relative;z-index:1;text-decoration:none;font-size:10px;font-weight:800;border-radius:10px;padding:10px 13px}.executive-actions .primary{background:#fff;color:var(--f-navy)}.executive-actions .ghost{background:rgba(255,255,255,.11);color:#fff;border:1px solid rgba(255,255,255,.14)}
.daily-advice{border-radius:20px;padding:20px;background:linear-gradient(145deg,#fffdf8,#f2f7ef);border:1px solid #e2eadf;box-shadow:var(--f-shadow-sm);display:flex;flex-direction:column;justify-content:center}
.daily-advice .advice-icon{width:36px;height:36px;border-radius:12px;background:#e5f0e7;color:#4e8060;display:grid;place-items:center;font-size:18px}.daily-advice small{font-size:8px;text-transform:uppercase;letter-spacing:.1em;color:#789083;font-weight:800;margin-top:12px}.daily-advice strong{font-size:13px;line-height:1.45;margin-top:5px;color:#385746}.daily-advice a{font-size:9px;color:#557c66;margin-top:10px;text-decoration:none}
.metric-strip{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:14px 0}
.metric-card{border-radius:16px;padding:15px 14px;background:#fff;border:1px solid var(--f-line);box-shadow:var(--f-shadow-sm);text-decoration:none;color:var(--f-ink);min-height:104px;display:flex;flex-direction:column}.metric-card .micon{width:30px;height:30px;border-radius:10px;display:grid;place-items:center;font-size:14px;margin-bottom:10px}.metric-card small{font-size:8px;color:var(--f-muted);font-weight:800}.metric-card strong{font-size:19px;color:var(--f-navy);margin-top:3px}.metric-card span{font-size:8px;color:#8a96a5;margin-top:auto}.metric-card:hover{transform:translateY(-2px);transition:.16s;box-shadow:var(--f-shadow)}
.metric-card.income .micon{background:#eaf5ed;color:#3d8256}.metric-card.expense .micon{background:#fbeceb;color:#b44740}.metric-card.result .micon{background:#edf3fb;color:#356aa3}.metric-card.cash .micon{background:#ebf4f5;color:#317e80}.metric-card.attention .micon{background:#fff4dd;color:#b67a0b}
.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);gap:14px;margin-top:14px}
.analytics-card,.attention-card,.quick-card{border-radius:18px;background:#fff;border:1px solid var(--f-line);box-shadow:var(--f-shadow-sm);padding:18px}
.panel-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:14px}.panel-head h3{font-size:14px;margin:0;color:var(--f-navy)}.panel-head p{font-size:9px;margin:3px 0 0;color:var(--f-muted)}.panel-head a{font-size:9px;color:var(--f-blue);text-decoration:none}
.monthchart.premium{height:190px;gap:12px}.monthchart.premium .monthcol{gap:4px}.monthchart.premium .monthbar{border-radius:7px 7px 2px 2px;background:linear-gradient(180deg,#4d7db2,#2f659d)}.monthchart.premium .monthbar.exp{background:linear-gradient(180deg,#e3aa83,#ca765c)}.monthchart.premium .monthlabel{font-size:8px}
.attention-list{display:grid;gap:8px}.attention-item{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;padding:11px;border-radius:12px;background:#fafbf9;border:1px solid #edf0eb;text-decoration:none;color:var(--f-ink)}.attention-item .aicon{width:31px;height:31px;border-radius:10px;display:grid;place-items:center}.attention-item.warn .aicon{background:#fff0df;color:#b56d00}.attention-item.ok .aicon{background:#eaf5ed;color:#3d8256}.attention-item.info .aicon{background:#edf3fb;color:#356aa3}.attention-item b{font-size:9px}.attention-item small{font-size:8px;color:var(--f-muted);display:block;margin-top:2px}.attention-item i{font-style:normal;color:#9ba6b2}
.quick-ops{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}.quick-op{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:78px;border-radius:14px;text-decoration:none;border:1px solid var(--f-line);background:#fff;color:var(--f-navy);font-size:8.5px;font-weight:800;gap:7px}.quick-op span{font-size:17px}.quick-op:hover{background:#f8fafb}.quick-op.primary{background:var(--f-sage-soft);border-color:#dae8dd;color:#416f52}
.insight-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:14px}.rank-list{display:grid;gap:7px}.rank-row{display:grid;grid-template-columns:minmax(110px,1fr) minmax(100px,2fr) auto;gap:8px;align-items:center;font-size:8.5px}.rank-track{height:7px;background:#eef1f2;border-radius:999px;overflow:hidden}.rank-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,#69967a,#92b39d)}
.context-help{box-shadow:none!important;background:#fbfcfb!important}.context-help summary{font-size:10px!important;display:flex;align-items:center;gap:7px;cursor:pointer}.context-help summary i{margin-left:auto;font-style:normal}.help-icon{width:20px;height:20px;border-radius:7px;background:#edf3f0;color:#567764;display:grid;place-items:center;font-weight:900}
.tablewrap{border-radius:14px!important;border-color:var(--f-line)!important;box-shadow:none!important}.stickyhead thead th{top:68px!important}.searchbar{background:#fff}.filter-toolbar{display:grid;grid-template-columns:minmax(200px,2fr) repeat(3,minmax(130px,1fr)) auto;gap:9px;align-items:end}.filter-toolbar .field{margin:0}.summary-chips{display:flex;flex-wrap:wrap;gap:7px;margin:0 0 12px}.summary-chip{padding:7px 9px;border:1px solid var(--f-line);border-radius:999px;background:#fff;font-size:8.5px;color:#5d6d7e}.summary-chip b{color:var(--f-navy);margin-left:4px}
.form-intro{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;margin-bottom:12px}.flow-pills{display:flex;gap:7px;flex-wrap:wrap}.flow-pill{padding:9px 11px;border:1px solid var(--f-line);border-radius:999px;text-decoration:none;color:#5a6b7d;background:#fff;font-size:9px;font-weight:800}.flow-pill.active,.flow-pill:hover{background:var(--f-navy);color:#fff;border-color:var(--f-navy)}
.form-card{max-width:980px}.section-block{border-top:1px solid var(--f-line);padding-top:16px;margin-top:16px}.section-block-title{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:#647789;font-weight:900;margin-bottom:10px}
.report-shell{display:grid;grid-template-columns:220px minmax(0,1fr);gap:14px}.report-nav{position:sticky;top:86px;align-self:start;background:#fff;border:1px solid var(--f-line);border-radius:16px;padding:9px;box-shadow:var(--f-shadow-sm)}.report-nav a{display:block;padding:10px;border-radius:10px;text-decoration:none;color:#586a7c;font-size:9px;font-weight:800}.report-nav a.active{background:#edf3f8;color:var(--f-navy)}
@media(max-width:1160px){
 .metric-strip{grid-template-columns:repeat(3,1fr)} .dashboard-grid,.premium-grid{grid-template-columns:1fr}.quick-ops{grid-template-columns:repeat(3,1fr)} .insight-grid{grid-template-columns:1fr}
 .topbar-context{display:none}
}
@media(max-width:800px){
 body{padding-bottom:68px!important}.topbar{height:58px!important;grid-template-columns:38px minmax(0,1fr) 34px!important;padding:0 10px!important;gap:8px!important}
 .topbar-brand small{font-size:8px}.topbar-brand b{font-size:11px}.brand-symbol{width:30px;height:30px;border-radius:9px}.top-action{display:none}.profile-pill{width:30px;height:30px}
 .shell{display:block!important}.sidebar{position:fixed!important;top:58px!important;bottom:0!important;left:0!important;width:min(82vw,300px)!important;height:auto!important;z-index:1700!important;transform:translate3d(-104%,0,0)!important;transition:.2s ease!important}
 .sidebar.open{transform:translate3d(0,0,0)!important}.sidebar-brand{display:flex}.sidebar-user{margin-bottom:72px}
 .sidebar-backdrop{display:block!important;position:fixed!important;inset:58px 0 0!important;z-index:1650!important;background:rgba(15,28,40,.42)!important;opacity:0!important;pointer-events:none!important;border:0!important}.menu-open .sidebar-backdrop{opacity:1!important;pointer-events:auto!important}
 .main{padding:14px 10px 24px!important}.pagehead{margin-bottom:10px!important}.pagehead h1{font-size:21px!important}.pagehead .sub{font-size:9px!important}.eyebrow{display:none}
 .premium-grid,.dashboard-grid,.insight-grid{grid-template-columns:1fr!important}.executive-card{padding:18px;border-radius:18px}.executive-card h2{font-size:24px}.daily-advice{padding:15px}
 .metric-strip{grid-template-columns:1fr 1fr!important;gap:7px}.metric-card{min-height:94px;padding:12px}.metric-card strong{font-size:17px}.metric-card:nth-child(5){grid-column:1/-1}
 .quick-ops{grid-template-columns:repeat(3,1fr)!important;gap:6px}.quick-op{min-height:70px}.monthchart.premium{height:150px}
 .filter-toolbar{grid-template-columns:1fr!important}.form-intro{grid-template-columns:1fr}.report-shell{grid-template-columns:1fr}.report-nav{position:static;display:flex;overflow-x:auto}.report-nav a{white-space:nowrap}
 .tablewrap table{display:block!important}.tablewrap thead{display:none!important}.tablewrap tbody{display:grid!important;gap:8px!important}.tablewrap tr{display:block!important;background:#fff!important;border:1px solid var(--f-line)!important;border-radius:13px!important;padding:8px 10px!important;box-shadow:var(--f-shadow-sm)!important}.tablewrap td{display:flex!important;justify-content:space-between!important;gap:10px!important;border:0!important;padding:6px 1px!important;font-size:10px!important;text-align:right!important}.tablewrap td:before{content:attr(data-label);text-transform:uppercase;letter-spacing:.05em;font-size:7.5px;font-weight:900;color:#7a8795;text-align:left;flex:0 0 40%}
 .mobile-bottom-nav{height:62px!important;display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;width:100%!important;max-width:100vw!important;overflow:hidden!important}.mobile-bottom-nav>a,.mobile-bottom-nav>button{width:auto!important;max-width:none!important;min-width:0!important}.mobile-bottom-nav small{font-size:7px!important}
}

/* SET 6.1 · Legibilidad + ayuda contextual */
:root{--f-muted:#596a7d}
.topbar-brand b{font-size:14px!important}
.topbar-brand small{font-size:10px!important;color:#657589!important}
.topbar-context{font-size:11px!important;color:#516276!important}
.pagehead .sub{font-size:12px!important;color:#5f6f82!important}
.eyebrow{font-size:9px!important}
.sidebar-brand b{font-size:12px!important}
.sidebar-brand small{font-size:9px!important;color:rgba(255,255,255,.72)!important}
.nav-section summary{font-size:9px!important;color:rgba(255,255,255,.72)!important}
.nav-link{font-size:10.5px!important;color:rgba(255,255,255,.92)!important}
.nav-icon{font-size:11px!important}
.sidebar-user b{font-size:9.5px!important}.sidebar-user small{font-size:8px!important;color:rgba(255,255,255,.72)!important}
.executive-card p{font-size:12px!important;color:rgba(255,255,255,.84)!important}
.daily-advice small{font-size:9px!important;color:#687f72!important}
.daily-advice strong{font-size:13.5px!important}
.metric-card small{font-size:9px!important;color:#5e6d7d!important}
.metric-card span{font-size:8.5px!important;color:#6f7c8c!important}
.panel-head p{font-size:10px!important;color:#657589!important}
.panel-head a{font-size:9.5px!important}
.quick-op{font-size:9.5px!important}
.attention-item b{font-size:10px!important}.attention-item small{font-size:9px!important;color:#657589!important}
.rank-row{font-size:9.5px!important}
.recent-item b{font-size:10px!important}.recent-item small{font-size:9px!important;color:#657589!important}
.help,.sub{color:#657589!important}
.context-help{background:linear-gradient(135deg,#fbfcfa,#f7faf7)!important;border-color:#dde8df!important;margin-bottom:14px!important}
.context-help summary{font-size:10.5px!important;color:#355f47!important;font-weight:850!important}
.context-help-body .definition strong{font-size:9.5px!important}
.context-help-body .definition span{font-size:10px!important;line-height:1.5!important;color:#526274!important}
.dashboard-help-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0 0 14px}
.dashboard-help-card{background:#fff;border:1px solid var(--f-line);border-radius:14px;padding:13px 14px;box-shadow:var(--f-shadow-sm)}
.dashboard-help-card h3{font-size:11px;margin:0 0 7px;color:var(--f-navy)}
.dashboard-help-card p{font-size:10px;line-height:1.5;margin:0;color:#5d6d7e}
.dashboard-help-card a{font-size:9px;font-weight:800;color:var(--f-blue);text-decoration:none;display:inline-block;margin-top:8px}
.help-fab{position:fixed;right:22px;bottom:22px;z-index:1500;width:44px;height:44px;border-radius:999px;background:#fff;border:1px solid #d9e5dc;box-shadow:0 10px 26px rgba(33,70,49,.13);display:grid;place-items:center;color:#4f8060;text-decoration:none;font-weight:900;font-size:18px}
@media(max-width:800px){
 .topbar-brand b{font-size:12px!important}.topbar-brand small{font-size:8.5px!important}
 .pagehead .sub{font-size:10px!important}
 .nav-link{font-size:11px!important;padding:9px 10px!important}
 .metric-card small{font-size:9px!important}.metric-card span{font-size:8px!important}
 .quick-op{font-size:9px!important}
 .dashboard-help-grid{grid-template-columns:1fr}
 .help-fab{right:14px;bottom:78px;width:42px;height:42px}
}

/* SET 6.2 · Mayor legibilidad + ayuda visible en flujo */
.topbar-brand b{font-size:15px!important;line-height:1.1}
.topbar-brand small{font-size:11px!important;line-height:1.3;color:#5f7082!important}
.topbar-context{font-size:12px!important}
.pagehead .sub{font-size:13px!important;line-height:1.45;color:#5d6d7f!important}
.eyebrow{font-size:10px!important;letter-spacing:.18em}
.sidebar-brand b{font-size:13px!important}
.sidebar-brand small{font-size:10px!important;line-height:1.35!important}
.nav-section summary{font-size:10px!important;line-height:1.4;color:rgba(255,255,255,.78)!important}
.nav-link{font-size:11.5px!important;line-height:1.45;padding:11px 12px!important}
.nav-label{line-height:1.35!important}
.sidebar-user b{font-size:10.5px!important}.sidebar-user small{font-size:9px!important;line-height:1.35!important}
.executive-kicker{font-size:10px!important}
.executive-card p{font-size:13px!important;line-height:1.5!important}
.daily-advice small{font-size:10px!important}.daily-advice strong{font-size:15px!important;line-height:1.45!important}.daily-advice a{font-size:10px!important}
.metric-card small{font-size:10px!important;line-height:1.35!important;color:#566679!important}
.metric-card h3,.metric-card .amount{line-height:1.1!important}
.metric-card span,.metric-card a{font-size:10px!important;line-height:1.4!important;color:#5f7082!important}
.panel-head p,.soft-panel .sub,.help,.helpbox p{font-size:11px!important;line-height:1.55!important;color:#607082!important}
.panel-head a{font-size:10px!important}
.quick-op{font-size:10px!important;line-height:1.35!important}
.attention-item b,.recent-item b,.rank-row b{font-size:11px!important;line-height:1.35!important}
.attention-item small,.recent-item small,.rank-row small{font-size:10px!important;line-height:1.45!important;color:#627284!important}
.context-help{margin-bottom:16px!important}
.context-help summary{font-size:11.5px!important;padding:14px 16px!important}
.context-help-body{padding:0 16px 14px!important}
.context-help-body .definition{padding:12px 0!important}
.context-help-body .definition strong{font-size:10.5px!important;line-height:1.35!important}
.context-help-body .definition span{font-size:11px!important;line-height:1.6!important;color:#506173!important}
.dashboard-help-card h3{font-size:12px!important}
.dashboard-help-card p{font-size:11px!important;line-height:1.6!important}
.dashboard-help-card a{font-size:10px!important}
.help-fab{width:48px!important;height:48px!important;font-size:20px!important}
@media(max-width:800px){
 .topbar-brand b{font-size:13px!important}
 .topbar-brand small{font-size:9.5px!important}
 .pagehead .sub{font-size:11.5px!important}
 .nav-link{font-size:12px!important;padding:10px 10px!important}
 .metric-card small,.metric-card span,.metric-card a{font-size:10px!important}
 .panel-head p,.soft-panel .sub,.help{font-size:10.5px!important}
 .context-help summary{font-size:11px!important}
 .context-help-body .definition span{font-size:10.5px!important}
 .help-fab{right:14px!important;bottom:82px!important;width:44px!important;height:44px!important}
}

/* =========================================================
   SET 7 · Legibilidad final + ayuda FIPA
   ========================================================= */
body{font-size:14px}
.pagehead h1{font-size:30px!important}
.pagehead .sub{font-size:14px!important}
.topbar-brand b{font-size:15px!important}.topbar-brand small{font-size:11px!important}
.nav-link{font-size:12px!important}.nav-section summary{font-size:10.5px!important}
.metric-card small{font-size:11px!important}.metric-card strong{font-size:21px!important}.metric-card span{font-size:10.5px!important}
.panel-head h3{font-size:15px!important}.panel-head p{font-size:11.5px!important}
.quick-op{font-size:10.5px!important}
.attention-item b,.recent-item b{font-size:11.5px!important}.attention-item small,.recent-item small{font-size:10.5px!important}
.flow-help{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center;background:linear-gradient(135deg,#f8fbf8,#fff);border:1px solid #dfe9e1;border-radius:13px;padding:11px 13px;margin:-4px 0 14px;box-shadow:0 4px 14px rgba(32,74,46,.035)}
.flow-help-icon{width:26px;height:26px;border-radius:9px;background:#e7f1e9;color:#4e7b5d;display:grid;place-items:center;font-weight:900}
.flow-help b{display:block;font-size:10.5px;color:#355b44}.flow-help span:not(.flow-help-icon){display:block;font-size:10.5px;line-height:1.45;color:#5a6c60;margin-top:2px}.flow-help a{font-size:10px;font-weight:800;color:#427357;text-decoration:none;white-space:nowrap}
.help-fab{background:#f3faf5!important;color:#3e7754!important;border-color:#cfe1d4!important}
.assistant-shell{max-width:980px}
.assistant-hero{display:flex;gap:14px;align-items:center;background:linear-gradient(135deg,#103257,#245b85);color:#fff;border-radius:20px;padding:22px;margin-bottom:12px;box-shadow:0 14px 35px rgba(16,50,87,.14)}
.assistant-orb{width:50px;height:50px;border-radius:15px;background:rgba(255,255,255,.14);display:grid;place-items:center;font-size:24px;font-weight:900;flex:0 0 auto}
.assistant-hero h2{margin:0;font-size:22px}.assistant-hero p{margin:5px 0 0;font-size:12px;line-height:1.55;color:rgba(255,255,255,.78)}
.assistant-search{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;background:#fff;border:1px solid var(--f-line);border-radius:16px;padding:10px;box-shadow:var(--f-shadow-sm);margin-bottom:12px}
.assistant-search input{border:0!important;box-shadow:none!important;font-size:14px!important}
.assistant-answer{background:#fff;border:1px solid var(--f-line);border-radius:16px;padding:18px;margin:10px 0;box-shadow:var(--f-shadow-sm)}
.assistant-answer.best{border-color:#cfe1d3;background:linear-gradient(145deg,#fff,#fbfdfb)}
.answer-badge{display:inline-block;background:#e9f4ec;color:#49745a;border-radius:999px;padding:4px 8px;font-size:9px;font-weight:900;margin-bottom:8px}
.assistant-answer h3{font-size:16px;margin:0 0 7px;color:var(--f-navy)}.assistant-answer p{font-size:12px;line-height:1.6;color:#58697a}.assistant-answer ol{padding-left:20px}.assistant-answer li{font-size:11.5px;line-height:1.6;margin:5px 0;color:#425466}
.assistant-links{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.assistant-links a{padding:8px 10px;border-radius:9px;background:#eff5f1;color:#3e6f50;font-size:10px;font-weight:800;text-decoration:none}
.assistant-suggestions{background:#fff;border:1px solid var(--f-line);border-radius:17px;padding:18px;box-shadow:var(--f-shadow-sm)}.assistant-suggestions h3{font-size:15px;margin:0 0 12px}
.assistant-question-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.assistant-question-grid a{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;border:1px solid var(--f-line);border-radius:11px;padding:11px 12px;text-decoration:none;color:#365d7c;font-size:11px;font-weight:700}.assistant-question-grid span{color:#8b9aa8}
.optional-fields{margin-top:14px;border:1px solid var(--f-line);border-radius:13px;background:#fbfcfc}.optional-fields summary{cursor:pointer;padding:12px 14px;font-size:11px;font-weight:850;color:#405466}.optional-fields summary span{float:right;font-size:9px;color:#7b8997;font-weight:700}.optional-fields-body{padding:4px 14px 14px}
@media(max-width:800px){
 body{font-size:14px}.pagehead h1{font-size:23px!important}.pagehead .sub{font-size:12px!important}
 .nav-link{font-size:12.5px!important}.metric-card small{font-size:10.5px!important}.metric-card span{font-size:9.5px!important}
 .flow-help{grid-template-columns:auto 1fr;padding:10px}.flow-help a{grid-column:2;white-space:normal;font-size:9.5px}
 .assistant-hero{padding:16px}.assistant-hero h2{font-size:19px}.assistant-search{grid-template-columns:1fr}.assistant-question-grid{grid-template-columns:1fr}
}

/* SET 7.1 · Ayuda cerrada por default + encabezado más legible */
.context-help summary{
  font-size:13px!important;
  min-height:48px!important;
  padding:14px 16px!important;
  color:#2f5e42!important;
}
.context-help summary .help-icon{
  width:24px!important;
  height:24px!important;
  border-radius:8px!important;
  font-size:12px!important;
}
.context-help summary i{
  font-size:14px!important;
  color:#678173!important;
}
@media(max-width:800px){
  .context-help summary{
    font-size:12.5px!important;
    min-height:46px!important;
    padding:13px 14px!important;
  }
}

/* =========================================================
   SET 8 · Captura rápida, plantillas, presupuesto asistido
   ========================================================= */
.quick-template-wrap{margin:0 0 14px;background:#fff;border:1px solid var(--f-line);border-radius:16px;padding:14px;box-shadow:var(--f-shadow-sm)}
.quick-template-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px}.quick-template-head strong{font-size:13px;color:var(--f-navy)}.quick-template-head span{display:block;font-size:10px;color:#68788a;margin-top:2px}.quick-template-head a{font-size:10px;color:var(--f-blue);text-decoration:none;font-weight:800}
.quick-template-list{display:flex;gap:8px;overflow-x:auto;padding-bottom:2px}.quick-template{min-width:190px;display:grid;grid-template-columns:auto 1fr;gap:9px;align-items:center;padding:10px 11px;border:1px solid #e4e9e4;border-radius:12px;background:#fafcf9;text-decoration:none;color:#365042}.quick-template>span{width:30px;height:30px;border-radius:9px;background:#e7f2e9;color:#4c7c5b;display:grid;place-items:center;font-weight:900}.quick-template b{font-size:10.5px;display:block}.quick-template small{font-size:9px;display:block;color:#758378;margin-top:2px}.quick-template.active{border-color:#82a990;background:#edf6ef}
.template-demo{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:16px;font-size:10px;color:#5d6e7f}.template-demo span{width:27px;height:27px;border-radius:999px;background:#edf5ef;color:#477258;display:grid;place-items:center;font-weight:900}.template-demo i{font-style:normal;color:#9aa5ae}
.attachment-inline{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:end;margin-top:12px;padding-top:12px;border-top:1px solid var(--f-line)}.attachment-inline .field{margin:0}
.smart-budget{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:center}.smart-budget h2{margin-bottom:4px}.smart-budget-actions{display:flex;align-items:end;gap:8px;flex-wrap:wrap}.growth-form{display:flex;align-items:end;gap:7px}.growth-form label{font-size:9px;font-weight:800;color:#526274}.growth-form input{width:76px;display:block;margin-top:3px}
.big-number{font-size:26px;font-weight:850;color:var(--f-navy);margin:8px 0}.small-link{font-size:10px;color:var(--f-blue);text-decoration:none;font-weight:800}.close-verdict.ok{border-left:4px solid #6f9b7e!important}.close-verdict.bad{border-left:4px solid #c94b43!important}
.budget-progress{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.budget-progress>div{background:#f8faf8;border:1px solid var(--f-line);border-radius:12px;padding:12px}.budget-progress span{display:block;font-size:9px;color:#667789}.budget-progress strong{display:block;font-size:18px;color:var(--f-navy);margin-top:3px}
@media(max-width:800px){
 .quick-template-head{align-items:flex-start}.quick-template-head a{white-space:nowrap}.quick-template{min-width:160px}
 .attachment-inline{grid-template-columns:1fr}.smart-budget{grid-template-columns:1fr}.smart-budget-actions,.growth-form{width:100%}.growth-form{display:grid;grid-template-columns:1fr auto}.growth-form label input{width:100%}
 .budget-progress{grid-template-columns:1fr}
}

/* =========================================================
   SET 9 · Soporte privado, permisos y readiness
   ========================================================= */
.support-login{max-width:520px!important;margin:64px auto!important}
.support-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px}
.support-badge{display:inline-block;margin-top:8px;padding:6px 9px;border-radius:999px;background:#eef4f8;color:#3d5c75;font-size:10px;font-weight:800}
.support-tools{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.support-tools a{display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:center;padding:15px;border:1px solid var(--f-line);border-radius:15px;background:#fff;text-decoration:none;color:var(--f-navy);box-shadow:var(--f-shadow-sm)}
.support-tools a>span{width:34px;height:34px;border-radius:10px;background:#eef3f7;display:grid;place-items:center}.support-tools b{font-size:11px}.support-tools small{display:block;font-size:9px;color:#68798b;margin-top:2px}
.readiness-hero{display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:center;border-radius:17px;padding:16px 18px;margin-bottom:12px;border:1px solid var(--f-line);background:#fff;box-shadow:var(--f-shadow-sm)}.readiness-hero>div:first-child{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;font-size:20px;font-weight:900}.readiness-hero.ready>div:first-child{background:#e8f4eb;color:#3f7c55}.readiness-hero.blocked>div:first-child{background:#fbeae8;color:#b8453e}.readiness-hero h2{font-size:16px;margin:0;color:var(--f-navy)}.readiness-hero p{font-size:10px;color:#66788a;margin:3px 0 0}
@media(max-width:800px){.support-grid,.support-tools{grid-template-columns:1fr}.support-login{margin:20px auto!important}}

/* =========================================================
   SET 10 · Conciliación, cierre seguro, impresión y QA móvil
   ========================================================= */
.recon-diff{border-left:4px solid #c94b43!important}.recon-ok{border-left:4px solid #6f9b7e!important}
.reconciliation-guide{margin-top:14px}.reconciliation-guide ol{padding-left:19px}.reconciliation-guide li{font-size:11px;line-height:1.55;margin:5px 0;color:#516273}
.ack-box{display:flex;gap:8px;align-items:flex-start;background:#fff8e8;border:1px solid #f0dfb2;border-radius:11px;padding:10px 12px;font-size:10.5px;line-height:1.45;color:#69551f;margin:12px 0}.ack-box input{width:auto;margin-top:2px}
.close-form{margin-top:12px}
@media print{
 .sidebar,.topbar,.mobile-bottom-nav,.sidebar-backdrop,.help-fab,.no-print,.flow-help,.context-help,.actions{display:none!important}
 .shell,.main{display:block!important;width:100%!important;max-width:none!important;padding:0!important;margin:0!important}
 body{background:#fff!important;color:#111!important;font-size:11pt!important}
 .card,.soft-panel,.analytics-card,.attention-card,.quick-card{box-shadow:none!important;border:1px solid #ddd!important;break-inside:avoid}
 .pagehead h1{font-size:20pt!important}.pagehead .sub{font-size:10pt!important}
 table{font-size:9pt!important}thead{display:table-header-group!important}.tablewrap table{display:table!important}.tablewrap tbody{display:table-row-group!important}.tablewrap tr{display:table-row!important;box-shadow:none!important;border-radius:0!important;padding:0!important}.tablewrap td{display:table-cell!important;text-align:initial!important}.tablewrap td:before{display:none!important}
}
@media(max-width:800px){
 input,select,textarea,button,.btn{min-height:42px}
 .actions{gap:7px!important}.actions .btn{flex:1 1 auto;text-align:center}
 .tablewrap td a.btn,.tablewrap td button.btn{min-height:36px!important}
}

/* =========================================================
   SET 11 · Onboarding de datos, calidad y regresión
   ========================================================= */
.import-confirm{margin-top:14px;padding-top:14px;border-top:1px solid var(--f-line);display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:end}.import-confirm .field{margin:0}
@media(max-width:800px){.import-confirm{grid-template-columns:1fr}}

/* =========================================================
   SET 12 · Pulido visual integral
   ========================================================= */
:root{
 --f-bg:#f4f6f3;
 --f-panel:#ffffff;
 --f-panel-soft:#fafbf9;
 --f-ink:#15314c;
 --f-muted:#607184;
 --f-line:#e2e8e3;
 --f-radius:16px;
 --f-radius-sm:11px;
 --f-shadow:0 8px 24px rgba(22,45,68,.055);
 --f-shadow-lg:0 18px 48px rgba(22,45,68,.10);
}
*{box-sizing:border-box}
body{letter-spacing:.002em}
.main{padding-top:28px!important}
.pagehead{display:flex!important;justify-content:space-between!important;align-items:flex-end!important;gap:16px!important;border-bottom:1px solid var(--f-line);padding-bottom:16px!important;margin-bottom:14px!important}
.pagehead h1{letter-spacing:-.025em!important;line-height:1.05!important}
.pagehead .sub{max-width:760px!important;margin-top:6px!important}
.card,.analytics-card,.attention-card,.quick-card,.soft-panel{transition:box-shadow .15s ease,border-color .15s ease}
.card:hover{border-color:#d9e2db!important}
h2{color:var(--f-navy);letter-spacing:-.012em}
.card h2{font-size:15px;margin-top:0}
label{font-size:10.5px!important;letter-spacing:.01em;color:#42566a!important}
input,select,textarea{border:1px solid #dce3df!important;background:#fff!important;border-radius:10px!important;font-size:12px!important;color:#273e53!important;box-shadow:inset 0 1px 1px rgba(20,40,60,.02)}
input:focus,select:focus,textarea:focus{outline:0!important;border-color:#7da18a!important;box-shadow:0 0 0 3px rgba(91,143,108,.10)!important}
textarea{min-height:92px}
.btn{min-height:38px;display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:6px!important;padding:9px 13px!important;border:1px solid transparent!important;box-shadow:none!important;transition:transform .08s ease,box-shadow .15s ease,background .15s ease}
.btn:hover{transform:translateY(-1px);box-shadow:0 5px 13px rgba(25,50,72,.08)!important}
.btn.secondary{background:#fff!important;border-color:#dfe5e1!important}
.btn.danger{background:#fff0ee!important;color:#a83f39!important;border-color:#f0d2cf!important}
.badge{font-size:8.5px!important;letter-spacing:.04em!important;padding:5px 7px!important;border-radius:999px!important}
.tablewrap{background:#fff!important;overflow:hidden!important}
table{width:100%;border-collapse:separate!important;border-spacing:0!important}
thead th{background:#f7f9f7!important;color:#647486!important;font-size:8.5px!important;text-transform:uppercase!important;letter-spacing:.07em!important;padding:10px 11px!important;border-bottom:1px solid var(--f-line)!important}
tbody td{font-size:10.5px!important;padding:11px!important;border-bottom:1px solid #eef1ee!important;vertical-align:middle!important}
tbody tr:last-child td{border-bottom:0!important}
tbody tr:hover{background:#fbfcfb!important}
.num{font-variant-numeric:tabular-nums}
.tabs{background:#fff!important;border:1px solid var(--f-line)!important;border-radius:12px!important;padding:4px!important;gap:3px!important;box-shadow:var(--f-shadow-sm)!important}
.tabs a{border-radius:8px!important;font-size:10px!important;padding:8px 10px!important}
.tabs a.active{background:#eaf2ec!important;color:#365f46!important}
.helpbox{border-left:3px solid #7ca08a!important;background:#fbfdfb!important}
.context-help{box-shadow:none!important;border-radius:12px!important}
.context-help summary:hover{background:#f7faf7!important}
.flow-help{box-shadow:none!important}
.flash{border-radius:12px!important;font-size:11px!important;line-height:1.45!important}
.flash.ok{background:#eef8f0!important;border-color:#cfe4d4!important;color:#356445!important}
.flash.warn{background:#fff8e9!important;border-color:#ecdba9!important;color:#6c5925!important}
.flash.err{background:#fff0ee!important;border-color:#eccbc7!important;color:#8d3b35!important}
.empty-state-pro{display:flex;gap:12px;align-items:flex-start;padding:20px;border:1px dashed #d7e0da;border-radius:14px;background:#fafcfb}
.empty-state-icon{width:38px;height:38px;border-radius:12px;background:#edf4ef;color:#537662;display:grid;place-items:center;font-size:17px;flex:0 0 auto}
.empty-state-pro strong{font-size:12px;color:var(--f-navy)}.empty-state-pro p{font-size:10.5px;line-height:1.5;color:#667789;margin:4px 0 10px}
.page-note{display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:flex-start;border-radius:12px;padding:11px 13px;margin-bottom:12px;border:1px solid var(--f-line);background:#fff}
.page-note>span{width:24px;height:24px;border-radius:8px;background:#eef3f7;display:grid;place-items:center;font-weight:900;color:#4a6982}.page-note b{font-size:10.5px;color:#314c63}.page-note p{font-size:10px;line-height:1.5;color:#647487;margin:2px 0 0}
.page-note.success>span{background:#eaf4ec;color:#4a7559}
.grid{gap:12px!important}.grid2,.grid3,.grid4{gap:12px!important}
.kpi .label{font-size:10px!important;color:#687789!important}.kpi .value{font-size:24px!important;letter-spacing:-.025em!important}.kpi .hint{font-size:9.5px!important}
.report-section h2{font-size:16px!important}
.totalrow td{font-weight:850!important;background:#f7faf8!important}
.report-title td{font-size:9px!important;color:#536779!important;letter-spacing:.06em!important}
.topbar{box-shadow:0 1px 0 rgba(23,48,72,.04)!important}
.sidebar{box-shadow:4px 0 20px rgba(8,28,45,.06)}
.nav-link.active{box-shadow:0 5px 15px rgba(0,0,0,.10)!important}
.profile-pill{border:1px solid #e2e8e4}
.assistant-answer,.assistant-suggestions{box-shadow:var(--f-shadow)!important}
.assistant-question-grid a:hover{border-color:#b9d0c0;background:#f8fbf8}
@media(max-width:800px){
 .main{padding:12px 10px 26px!important}
 .pagehead{align-items:flex-start!important;padding-bottom:12px!important;margin-bottom:10px!important}
 .pagehead h1{font-size:24px!important}
 .card{border-radius:14px!important}
 thead{display:none!important}
 tbody td{font-size:11px!important}
 .tablewrap tr{box-shadow:none!important}
 .tablewrap td{padding:7px 1px!important}
 .tablewrap td:before{font-size:8px!important}
 .btn{min-height:42px!important;font-size:10.5px!important}
 input,select,textarea{font-size:13px!important;min-height:43px}
}

.login-body{background:radial-gradient(circle at 20% 10%,#eef5ef 0,transparent 35%),linear-gradient(145deg,#f6f7f3,#edf2ee)!important;min-height:100vh}
.login-card-premium{border:1px solid #dfe7e1!important;box-shadow:0 24px 65px rgba(26,53,73,.12)!important;border-radius:22px!important}

.executive-report-cover{display:flex;justify-content:space-between;align-items:flex-end;gap:15px;background:linear-gradient(135deg,#113454,#295b7d);color:#fff;border-radius:18px;padding:20px;margin-bottom:14px;box-shadow:var(--f-shadow-lg)}.executive-report-cover small{font-size:9px;text-transform:uppercase;letter-spacing:.1em;color:rgba(255,255,255,.65)}.executive-report-cover h2{font-size:22px;color:#fff;margin:6px 0 2px}.executive-report-cover p{font-size:10px;color:rgba(255,255,255,.72);margin:0}.report-stamp{font-size:10px;padding:7px 10px;border:1px solid rgba(255,255,255,.18);border-radius:999px;background:rgba(255,255,255,.08)}
@media(max-width:800px){.executive-report-cover{align-items:flex-start;flex-direction:column}.report-stamp{white-space:normal}}

/* =========================================================
   SET 12.1 · Correcciones derivadas de revisión visual
   ========================================================= */

/* Evita la zona 801–1000 px donde una regla histórica ocultaba el sidebar
   sin activar todavía la navegación móvil. */
@media (min-width:801px) and (max-width:1000px){
  .shell{display:grid!important;grid-template-columns:188px minmax(0,1fr)!important}
  .sidebar{
    display:block!important;
    position:sticky!important;
    top:68px!important;
    height:calc(100vh - 68px)!important;
    transform:none!important;
    width:auto!important;
    bottom:auto!important;
  }
  .sidebar-backdrop,.mobile-menu-btn,.mobile-bottom-nav{display:none!important}
  .main{padding:20px 18px 34px!important;max-width:100%!important}
  .nav-link{font-size:11px!important;padding:9px 9px!important}
  .nav-section summary{font-size:9.5px!important}
  .sidebar-brand small{font-size:8.5px!important}
  .grid2{grid-template-columns:1fr!important}
}

/* Mejor aprovechamiento de pantallas grandes sin estirar excesivamente texto. */
@media (min-width:1500px){
  .main{max-width:1520px!important}
}

/* Estados vacíos dentro de tablas: que no parezcan una fila rota. */
.tablewrap td .empty-state-pro{margin:2px 0!important;text-align:left!important}
.tablewrap td .empty-state-pro .btn{width:auto!important}

/* Catálogos: panel explicativo menos alto que el formulario cuando no necesita espacio. */
.catalog-explainer{align-self:start}

/* Filas de catálogo más serenas. */
.tablewrap .actions{gap:6px!important;flex-wrap:wrap!important}
.tablewrap .actions .btn{min-height:34px!important;padding:7px 10px!important}

/* Los textos guía no deben competir con el contenido principal. */
.helpbox h3{font-size:12px!important;margin-bottom:5px!important}
.helpbox p{font-size:11px!important;line-height:1.55!important}

/* A 100% de zoom, mantener microtexto confortable. */
@media(min-width:1001px){
  .nav-link{font-size:12px!important}
  .sidebar-user b{font-size:10.5px!important}
  tbody td{font-size:11px!important}
}

/* =========================================================
   SET 13 · UX final / homologación visual
   ========================================================= */

/* Help hierarchy: first contextual hint, then optional deeper help */
.flow-help{
  margin-bottom:10px!important;
  padding:10px 12px!important;
  border-radius:11px!important;
}
.context-help{
  margin-bottom:14px!important;
  background:#fbfdfb!important;
}
.context-help summary{
  min-height:44px!important;
  font-size:12px!important;
  padding:12px 14px!important;
}
.context-help summary .help-icon{
  width:22px!important;height:22px!important;font-size:11px!important;
}

/* Form hierarchy */
.label-required{display:flex!important;align-items:center!important;gap:6px!important}
.label-required span{
  display:inline-block;
  font-size:7.5px!important;
  text-transform:uppercase;
  letter-spacing:.07em;
  padding:2px 5px;
  border-radius:999px;
  background:#eef5f0;
  color:#587060;
  font-weight:800;
}
.optional-fields summary{
  background:#fafcfb!important;
  border-radius:10px!important;
}
.optional-fields summary:hover{background:#f5f8f6!important}

/* Lower-weight tertiary actions */
.btn.tertiary{
  background:transparent!important;
  color:#647487!important;
  border-color:#e2e8e4!important;
  box-shadow:none!important;
  font-weight:700!important;
}
.btn.tertiary:hover{
  background:#f8faf9!important;
  color:#344b60!important;
  transform:none!important;
}

/* Long catalog tables */
.tablewrap thead th{
  position:sticky;
  top:0;
  z-index:2;
}
.account-row td:first-child,
.account-row td:nth-child(2){font-weight:650}
.account-row.depth-0{background:#f7faf8!important}
.account-row.depth-0 td:first-child,
.account-row.depth-0 td:nth-child(2){font-weight:850!important;color:#183a57!important}
.account-row.depth-1 td:nth-child(2){padding-left:18px!important}
.account-row.depth-2 td:nth-child(2){padding-left:30px!important}
.account-row.depth-3 td:nth-child(2){padding-left:42px!important}
.account-row.depth-4 td:nth-child(2){padding-left:54px!important}

/* Dashboard balance */
.dashboard-grid,.dashboard-lower-grid{gap:10px!important}
.metric-card{min-height:102px!important}
.metric-card h3,.metric-card .amount{font-size:21px!important}
.metric-card small{font-size:10.5px!important}
.quick-card{padding:15px!important}
.quick-ops{gap:7px!important}
.quick-op{min-height:62px!important}
.attention-item{padding:9px 10px!important}
.analytics-card,.attention-card{min-height:230px!important}

/* Cards and informational copy */
.catalog-explainer{
  min-height:unset!important;
  padding:15px!important;
}
.catalog-explainer h2{font-size:13px!important}
.catalog-explainer .sub{font-size:10.5px!important;line-height:1.5!important}
.helpbox{padding:13px 15px!important}
.helpbox h3{font-size:11.5px!important}
.helpbox p{font-size:10.5px!important}

/* Empty states */
.empty-state-pro{min-height:92px;align-items:center}
.empty-state-pro p{max-width:620px}

/* Toolbar/form density */
.filter-toolbar{
  gap:10px!important;
  align-items:end!important;
}
.filter-toolbar .field{margin-bottom:0!important}
.actions{align-items:center!important}

/* Keep forms visually calm */
.form-card{padding:16px!important}
.form-card .row{gap:10px!important}
.field{margin-bottom:10px!important}

/* Mobile */
@media(max-width:800px){
  .context-help summary{font-size:11.5px!important}
  .flow-help{grid-template-columns:auto 1fr!important}
  .tablewrap thead th{position:static}
  .account-row.depth-1 td:nth-child(2),
  .account-row.depth-2 td:nth-child(2),
  .account-row.depth-3 td:nth-child(2),
  .account-row.depth-4 td:nth-child(2){padding-left:0!important}
  .metric-card{min-height:92px!important}
  .quick-op{min-height:58px!important}
}

/* Desktop wide: slightly larger readable content without wasting space */
@media(min-width:1400px){
  .main{max-width:1480px!important}
  .pagehead h1{font-size:31px!important}
  .card h2{font-size:15.5px!important}
}

/* =========================================================
   SET 13.1 · Ajustes derivados de revisión visual
   ========================================================= */

/* Solo una opción de flujo debe destacar. */
.type-pills{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}
.type-pill{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:34px;padding:7px 12px;border-radius:999px;
  border:1px solid #dfe6e1;background:#fff;color:#607083;
  font-size:9.5px;font-weight:800;text-decoration:none;
}
.type-pill.active{
  background:#123a60!important;color:#fff!important;border-color:#123a60!important;
  box-shadow:0 4px 10px rgba(18,58,96,.10);
}

/* Panel de proveedor acompaña al formulario sin crear un gran vacío. */
.provider-info-card{align-self:start!important;min-height:0!important;height:auto!important}

/* Dashboard: microtexto ligeramente mayor sin perder densidad. */
.dashboard-page .metric-card small,
.dashboard-page .metric-card span,
.dashboard-page .panel-head p,
.dashboard-page .attention-item small,
.dashboard-page .recent-item small{
  font-size:10.5px!important;
  line-height:1.45!important;
}
.dashboard-page .quick-op{font-size:10.5px!important}

/* Mejor lectura en el catálogo largo. */
.account-row td{line-height:1.35!important}
.account-row .btn{white-space:nowrap}

/* En formularios, etiqueta Obligatorio visible pero discreta. */
.label-required span{font-size:8px!important;padding:2px 6px!important}

/* Help panels slightly tighter */
.flow-help{min-height:48px!important}
.context-help summary{min-height:46px!important}

@media(max-width:800px){
  .type-pills{justify-content:flex-start}
  .type-pill{font-size:10px;min-height:36px}
}

.metric-card small,.metric-card span{font-size:10.5px!important}
.panel-head p{font-size:11px!important}
.attention-item small,.recent-item small{font-size:10.5px!important}

/* =========================================================
   SET 14 · Preproducción y cierre final
   ========================================================= */
.final-score{display:grid;grid-template-columns:auto 1fr;gap:16px;align-items:center;border-radius:18px;padding:18px;margin-bottom:14px;border:1px solid var(--f-line);background:#fff;box-shadow:var(--f-shadow)}
.final-score .score-number{width:78px;height:78px;border-radius:20px;display:flex;align-items:baseline;justify-content:center;padding-top:18px;font-size:30px;font-weight:900;color:var(--f-navy);background:#eef4f0}
.final-score .score-number small{font-size:12px}.final-score h2{font-size:17px;margin:0}.final-score p{font-size:10.5px;color:#647587;margin:4px 0 0}
.final-score.blocked{border-left:4px solid #bd4a43}.final-score.warning{border-left:4px solid #c69a3a}.final-score.ready{border-left:4px solid #55856a}
.final-group{padding:14px!important}.final-check-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
.final-check{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:8px;align-items:center;padding:9px 10px;border:1px solid #e7ece8;border-radius:11px;background:#fafcfb}
.final-check>span{width:24px;height:24px;border-radius:8px;display:grid;place-items:center;font-weight:900}.final-check.ok>span{background:#e8f4eb;color:#45775a}.final-check.warn>span{background:#fff3d8;color:#8b6b22}.final-check.bad>span{background:#fbe8e6;color:#a6433d}.final-check b{font-size:10.5px}.final-check small{display:block;font-size:9.5px;color:#6a7988;margin-top:1px}.final-check a{font-size:9px;font-weight:800;color:#47745a;text-decoration:none}
.acceptance-list{display:grid;gap:8px}.acceptance-item{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:11px;align-items:center;background:#fff;border:1px solid var(--f-line);border-radius:13px;padding:12px;box-shadow:var(--f-shadow-sm)}.acceptance-item.done{background:#f8fcf9;border-color:#d6e7db}.acceptance-item b{font-size:11px}.acceptance-item p{font-size:10px;color:#637486;margin:2px 0 7px}.acceptance-item input[name="note"]{min-height:34px!important;font-size:10.5px!important}.acceptance-check input{position:absolute;opacity:0}.acceptance-check span{width:28px;height:28px;border:1px solid #cbd7cf;border-radius:9px;background:#fff;display:grid;place-items:center}.acceptance-check input:checked+span{background:#e5f2e8;border-color:#92b59e}.acceptance-check input:checked+span:after{content:"✓";font-weight:900;color:#47785a}
.permission-dot{display:inline-grid;place-items:center;width:25px;height:25px;border-radius:8px;font-size:10px;font-weight:900}.permission-dot.yes{background:#e8f5eb;color:#37724e}.permission-dot.no{background:#f3f4f4;color:#9aa4ab}
@media(max-width:800px){.final-check-grid{grid-template-columns:1fr}.acceptance-item{grid-template-columns:auto 1fr}.acceptance-item .btn{grid-column:2}.final-score .score-number{width:64px;height:64px;font-size:24px;padding-top:14px}}

/* SET 15 · Multi-parroquia / onboarding escalable */
.tenant-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.tenant-card{display:block;text-decoration:none;color:inherit;background:#fff;border:1px solid var(--f-line);border-radius:16px;padding:15px;box-shadow:var(--f-shadow);transition:.15s}.tenant-card:hover{transform:translateY(-1px);box-shadow:var(--f-shadow-lg);border-color:#ccdcd1}.tenant-card-top{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.tenant-card-top small{font-size:8.5px;color:#7a8794}.tenant-card h2{font-size:15px;margin:4px 0 0}.tenant-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:14px 0}.tenant-metrics span{background:#f7faf8;border-radius:10px;padding:8px}.tenant-metrics b{display:block;font-size:15px;color:var(--f-navy)}.tenant-metrics small{font-size:8px;color:#71808e}.tenant-foot{display:flex;justify-content:space-between;gap:8px;font-size:9px;color:#687888;border-top:1px solid #eef1ef;padding-top:9px}
.tenant-detail-hero{display:flex;justify-content:space-between;gap:15px;align-items:center;background:linear-gradient(135deg,#123a60,#2d668b);color:#fff;border-radius:18px;padding:18px;margin-bottom:12px}.tenant-detail-hero h2{color:#fff;font-size:20px;margin:4px 0}.tenant-detail-hero small,.tenant-detail-hero p{color:rgba(255,255,255,.7);font-size:9px}.score-pill{width:80px;height:80px;border-radius:20px;background:rgba(255,255,255,.1);display:grid;place-items:center;text-align:center}.score-pill b{font-size:23px}.score-pill small{display:block}
.onboarding-steps{display:grid;gap:8px}.onboarding-step{display:grid;grid-template-columns:auto 1fr auto;gap:11px;align-items:center;background:#fff;border:1px solid var(--f-line);border-radius:13px;padding:12px;text-decoration:none;color:inherit}.onboarding-step>span{width:30px;height:30px;border-radius:9px;background:#f0f3f1;display:grid;place-items:center;font-weight:900;color:#657583}.onboarding-step.done>span{background:#e5f2e8;color:#4b785b}.onboarding-step b{font-size:11px}.onboarding-step small{display:block;font-size:9.5px;color:#6c7a88;margin-top:2px}.onboarding-step i{font-style:normal;font-weight:900;color:#5b7c67}
@media(max-width:800px){.tenant-cards{grid-template-columns:1fr}.tenant-detail-hero{align-items:flex-start}.score-pill{width:64px;height:64px;border-radius:16px}}

/* =========================================================
   SET 16 · Clonado, importación controlada y monitoreo
   ========================================================= */
.clone-options{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0 14px}.clone-options label{display:flex!important;align-items:center!important;gap:7px!important;padding:8px 10px;border:1px solid var(--f-line);border-radius:10px;background:#fafcfb;font-size:10px!important}.clone-options input{min-height:auto!important;width:auto}
.inline-form{display:inline-flex;margin:0}
.tenant-card .badge.bad,.tablewrap .badge.bad{background:#fbe9e7!important;color:#a7433d!important}
@media(max-width:800px){.clone-options{display:grid;grid-template-columns:1fr}.inline-form{width:100%}.inline-form .btn{width:100%}}

/* =========================================================
   SET 17 · Saldos, plantilla oficial, releases y backups
   ========================================================= */
.release-current{display:flex;gap:12px;align-items:center;padding:14px;border:1px solid var(--f-line);background:#fff;border-radius:14px}
.backup-age{font-variant-numeric:tabular-nums;font-weight:800}
.template-preview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
@media(max-width:800px){.template-preview{grid-template-columns:1fr}.tenant-detail-hero+.grid4{grid-template-columns:repeat(2,minmax(0,1fr))!important}}

/* =========================================================
   SET 18 · Operación SaaS / ciclo de vida
   ========================================================= */
.tenant-state-row{display:flex;align-items:center;justify-content:space-between;gap:14px}.tenant-state-row h2{margin:3px 0;font-size:20px}.tenant-state-row small{font-size:9px;color:#71808e}
.check-state-icon{width:30px;height:30px;border-radius:9px;background:#eef3ef;display:grid;place-items:center;font-weight:900;color:#55705f}
.acceptance-item.done .check-state-icon{background:#e4f2e7;color:#407552}
.acceptance-item select{min-width:125px}
@media(max-width:800px){.tenant-state-row{align-items:flex-start}.acceptance-item{grid-template-columns:auto 1fr!important}.acceptance-item select,.acceptance-item .btn{grid-column:2;width:100%}}

/* =========================================================
   SET 19 · Tickets + entrega / recepción
   ========================================================= */
.ticket-meta{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:12px}.ticket-meta span{font-size:9px;font-weight:800;padding:6px 9px;border-radius:999px;background:#eef3f0;color:#536a5b}
.ticket-thread{display:grid;gap:9px;margin-bottom:12px}.ticket-message{max-width:82%;border:1px solid var(--f-line);border-radius:14px;padding:11px 13px;background:#fff}.ticket-message.tenant{justify-self:start}.ticket-message.support{justify-self:end;background:#f4f8f5;border-color:#d8e5dc}.ticket-message.internal{background:#fff7e6;border-style:dashed;border-color:#e8d6a3}.ticket-message header{display:flex;justify-content:space-between;gap:16px;margin-bottom:5px}.ticket-message header b{font-size:10px}.ticket-message header small{font-size:8.5px;color:#778492}.ticket-message p{font-size:10.5px;line-height:1.55;margin:0;white-space:normal}
.handover-act p{font-size:11px;line-height:1.55}.signature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin:35px 0 20px}.signature-grid>div{text-align:center}.signature-grid span{display:block;border-top:1px solid #566978;margin-bottom:7px}.signature-grid b{display:block;font-size:10.5px}.signature-grid small{font-size:9px;color:#72808c}
.btn[disabled]{opacity:.45;pointer-events:none}
@media(max-width:800px){.ticket-message{max-width:96%}.ticket-message.support{justify-self:start}.signature-grid{grid-template-columns:1fr;gap:44px}}
@media print{.signature-grid{break-inside:avoid}.handover-act{break-inside:avoid}}

/* =========================================================
   SET 19.3 · Administración Global / SUPERADMIN
   ========================================================= */
.platform-switcher{margin:8px 10px 12px;padding:10px;border:1px solid rgba(255,255,255,.12);border-radius:12px;background:rgba(255,255,255,.055);display:grid;gap:6px}
.platform-switcher label{font-size:8px!important;text-transform:uppercase;letter-spacing:.08em;color:rgba(255,255,255,.6)!important}
.platform-switcher select{min-height:34px!important;font-size:9px!important;background:#fff}
.platform-switcher .btn{min-height:32px;padding:6px 9px;font-size:9px}
.platform-attention{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.platform-attention>a{text-decoration:none;color:inherit;display:grid;gap:4px}
.platform-attention b{font-size:9px;color:#758391}.platform-attention strong{font-size:24px;color:var(--f-navy)}.platform-attention span{font-size:9px;color:#6f7d89}
.page-note.warning{border-color:#ead9ad;background:#fff9e9}.page-note.warning>span{background:#f2e2b8;color:#8a6a20}
@media(max-width:900px){.platform-attention{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.platform-attention{grid-template-columns:1fr}}

/* =========================================================
   SET 19.4 · Navegación SuperAdmin / tenant
   ========================================================= */
.platform-tenant-banner{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 18px;background:#eef5f0;border-bottom:1px solid #d9e6dc;color:#415c4b;font-size:9px;font-weight:800}.platform-tenant-banner a{text-decoration:none;color:var(--f-navy);font-weight:900}
.tenant-quick-actions,.tenant-card-actions{display:flex;gap:6px;flex-wrap:wrap}.tenant-card-actions{border-top:1px solid #eef1ef;padding-top:10px;margin-top:10px}
.tenant-alert-line{font-size:8.5px;color:#9a6a24;font-weight:700}
.tenant-card{cursor:default}
@media(max-width:800px){.platform-tenant-banner{padding:8px 12px;align-items:flex-start}.tenant-quick-actions .btn,.tenant-card-actions .btn{flex:1 1 100%}}

/* SET20 · operación a escala */


/* =========================================================
   SET20.1 · Login premium
   ========================================================= */
.login-body{
  min-height:100vh;
  background:
    radial-gradient(circle at 14% 18%,rgba(42,101,83,.08),transparent 30%),
    radial-gradient(circle at 86% 82%,rgba(24,61,98,.08),transparent 28%),
    linear-gradient(135deg,#f5f7f4 0%,#eef3f0 48%,#f7f8f6 100%);
  color:#12283d;
}
.login-page{
  min-height:100vh;
  display:grid;
  place-items:center;
  padding:34px 22px 24px;
}
.login-shell{
  width:min(900px,100%);
  display:grid;
  grid-template-columns:minmax(300px,350px) minmax(380px,1fr);
  overflow:hidden;
  border:1px solid rgba(21,48,70,.12);
  border-radius:24px;
  background:#fff;
  box-shadow:0 30px 80px rgba(17,41,61,.14),0 6px 20px rgba(17,41,61,.06);
}
.login-brand-panel{
  min-height:590px;
  padding:34px 32px 30px;
  display:flex;
  flex-direction:column;
  color:#fff;
  background:
    radial-gradient(circle at 100% 0%,rgba(255,255,255,.12),transparent 28%),
    linear-gradient(160deg,#102f50 0%,#163f68 54%,#1b526a 100%);
  position:relative;
}
.login-brand-panel:after{
  content:"";
  position:absolute;
  width:230px;height:230px;
  border:1px solid rgba(255,255,255,.07);
  border-radius:50%;
  right:-110px;bottom:-105px;
}
.login-brand-top{display:flex;align-items:center;gap:12px;position:relative;z-index:1}
.login-mark{
  width:42px;height:42px;border-radius:13px;
  display:grid;place-items:center;
  background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.16);
  font-size:17px;font-weight:900;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08)
}
.login-brand-name{font-size:15px;font-weight:900;letter-spacing:.01em}
.login-brand-sub{font-size:10px;color:rgba(255,255,255,.64);margin-top:2px}
.login-brand-copy{margin-top:76px;position:relative;z-index:1}
.login-eyebrow{
  display:block;
  font-size:9px;font-weight:850;letter-spacing:.13em;text-transform:uppercase;
  color:#a9d2c2;margin-bottom:15px
}
.login-brand-copy h1{
  margin:0 0 16px;
  color:#fff;
  font-size:30px;
  line-height:1.08;
  letter-spacing:-.035em;
  max-width:280px
}
.login-brand-copy p{
  margin:0;
  color:rgba(255,255,255,.72);
  font-size:12px;
  line-height:1.65;
  max-width:282px
}
.login-trust{display:grid;gap:13px;margin-top:auto;padding-top:40px;position:relative;z-index:1}
.login-trust>div{display:grid;grid-template-columns:24px 1fr;gap:10px;align-items:start}
.login-trust>div>span{
  width:22px;height:22px;border-radius:7px;
  display:grid;place-items:center;
  background:rgba(164,214,193,.12);
  color:#b7dfcf;font-size:10px;font-weight:900
}
.login-trust p{margin:0;display:grid;gap:2px}
.login-trust b{font-size:10px;color:#fff}
.login-trust small{font-size:9px;color:rgba(255,255,255,.56);line-height:1.45}
.login-brand-foot{
  margin-top:27px;padding-top:17px;
  border-top:1px solid rgba(255,255,255,.10);
  font-size:8.5px;color:rgba(255,255,255,.42);
  letter-spacing:.04em;position:relative;z-index:1
}
.login-form-panel{
  min-width:0;
  display:flex;align-items:center;
  background:rgba(255,255,255,.98)
}
.login-form-wrap{
  width:min(390px,calc(100% - 64px));
  margin:auto;
  padding:48px 0
}
.login-form-head{margin-bottom:29px}
.login-form-kicker{
  display:block;margin-bottom:8px;
  color:#47775f;font-size:9px;font-weight:900;
  text-transform:uppercase;letter-spacing:.13em
}
.login-form-head h2{
  margin:0 0 7px;
  color:#102f50;font-size:27px;line-height:1.1;letter-spacing:-.03em
}
.login-form-head p{margin:0;color:#72808d;font-size:11.5px;line-height:1.55}
.login-form .field{margin-bottom:17px}
.login-form .field label{
  color:#2a3d4d;font-size:10px;font-weight:850;margin-bottom:7px
}
.login-label-row{display:flex;align-items:center;justify-content:space-between;gap:12px}
.login-label-row span{font-size:8.5px;color:#95a0aa;margin-bottom:7px}
.login-form input{
  min-height:45px;
  border:1px solid #d9e0e5;
  border-radius:11px;
  background:#fbfcfc;
  padding:10px 13px;
  font-size:11.5px;
  color:#153049;
  transition:border-color .15s ease,box-shadow .15s ease,background .15s ease
}
.login-form input::placeholder{color:#b2bac1}
.login-form input:focus{
  background:#fff;
  border-color:#729887;
  box-shadow:0 0 0 4px rgba(74,124,102,.10)
}
.login-2fa-field{padding-top:1px}
.login-submit{
  width:100%;min-height:46px;margin-top:4px;
  display:flex;justify-content:space-between;
  border-radius:11px;
  padding:11px 15px;
  background:linear-gradient(135deg,#10365d,#174a72);
  box-shadow:0 10px 22px rgba(16,54,93,.16);
  font-size:10.5px;letter-spacing:.01em
}
.login-submit:hover{background:linear-gradient(135deg,#0c2f54,#123f65)}
.login-security-note{
  margin-top:20px;
  padding:12px 13px;
  border:1px solid #e7ece9;
  border-radius:11px;
  background:#f8faf8;
  display:grid;grid-template-columns:22px 1fr;gap:8px;align-items:start
}
.login-security-note>span{
  width:20px;height:20px;border-radius:7px;
  display:grid;place-items:center;
  background:#eaf2ed;color:#4b775f;font-size:9px
}
.login-security-note p{margin:1px 0 0;color:#7b868f;font-size:8.7px;line-height:1.5}
.login-footer{
  margin:17px 0 0;
  color:#87948e;font-size:8.5px;letter-spacing:.04em;text-align:center
}
.login-body .flash{
  margin-bottom:18px;
  font-size:10px;
  border-radius:10px;
  padding:10px 12px
}
@media(max-width:760px){
  .login-page{padding:18px 14px}
  .login-shell{grid-template-columns:1fr;width:min(470px,100%);border-radius:20px}
  .login-brand-panel{min-height:auto;padding:24px 24px 22px}
  .login-brand-copy{margin-top:30px}
  .login-brand-copy h1{font-size:24px;max-width:360px}
  .login-brand-copy p{max-width:390px}
  .login-trust{display:none}
  .login-brand-foot{display:none}
  .login-form-wrap{width:calc(100% - 48px);padding:34px 0 36px}
}
@media(max-width:420px){
  .login-page{padding:0;background:#fff;display:block}
  .login-shell{width:100%;border:0;border-radius:0;box-shadow:none;min-height:100vh}
  .login-brand-panel{padding:20px}
  .login-brand-copy{margin-top:26px}
  .login-brand-copy h1{font-size:22px}
  .login-brand-copy p{font-size:11px}
  .login-form-wrap{width:calc(100% - 40px);padding:30px 0 34px}
}

/* SET21 · cierre de producción */
.security-secret{font-size:16px;font-weight:900;letter-spacing:.06em;overflow-wrap:anywhere}

/* SET21.1 · cierre extendido */
.go-live-check-control{display:flex;align-items:center;gap:6px;justify-content:flex-end}
.go-live-check-control select{min-width:105px}
.go-live-check-control .btn{padding:7px 9px;min-height:34px}
@media(max-width:700px){.go-live-check-control{width:100%;justify-content:stretch}.go-live-check-control select,.go-live-check-control .btn{flex:1}}

/* SET21.2 · grids globales y paneles ejecutivos */
.grid4,.grid3,.grid2{display:grid;gap:14px}
.grid4{grid-template-columns:repeat(4,minmax(0,1fr))}
.grid3{grid-template-columns:repeat(3,minmax(0,1fr))}
.grid2{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:1100px){.grid4{grid-template-columns:repeat(2,minmax(0,1fr))}.grid3{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.grid4,.grid3,.grid2{grid-template-columns:1fr}}

/* SET22 · modo tenant seguro */
.platform-tenant-banner.readonly{background:#fff8e8;border-color:#ead59a;color:#6f5710}
.platform-tenant-banner.readonly a{color:#173f67}

/* SET23 · laboratorio multi-tenant */
.badge.lab{background:#eef0ff;color:#4c4a8f}

/* SET23.1 · captura guiada y flujos separados */
.capture-flow-intro{align-items:flex-start}
.capture-flow-intro h2{margin:4px 0 5px}
.capture-kicker{font-size:9px;font-weight:900;letter-spacing:.12em;text-transform:uppercase;color:#4d8068}
.capture-flow-lock{display:grid;grid-template-columns:42px 1fr auto;gap:12px;align-items:center;margin:12px 0;padding:13px 15px;border:1px solid #dfe7e2;border-radius:14px;background:#f9fbfa}
.capture-flow-icon{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:#e8f2ed;color:#2f7054;font-weight:900;font-size:17px}
.capture-flow-lock div{display:grid;gap:2px}.capture-flow-lock strong{font-size:12px;color:#143650}.capture-flow-lock small{font-size:9.5px;color:#75848d}
.capture-section{padding:4px 0 18px;margin-bottom:18px;border-bottom:1px solid #edf0ee}
.capture-section:last-of-type{border-bottom:0}
.capture-section-head{display:flex;align-items:center;gap:10px;margin-bottom:14px}
.capture-section-head>span{width:28px;height:28px;border-radius:9px;display:grid;place-items:center;background:#123b63;color:#fff;font-size:10px;font-weight:900}
.capture-section-head>div{display:grid;gap:2px}.capture-section-head strong{font-size:12px;color:#15364e}.capture-section-head small{font-size:9px;color:#7b8992}
.field-explainer{margin-top:7px;padding:9px 10px;border-radius:9px;background:#f4f8f5;color:#65786e;font-size:9px;line-height:1.45}
.field-disabled{opacity:.72}.field-disabled select{background:#f0f2f1}
.inline-check{width:auto!important;min-height:auto!important}
.capture-submit-row{display:flex;justify-content:space-between;gap:18px;align-items:center;margin-top:18px;padding-top:16px;border-top:1px solid #e8edeb}
.capture-submit-row>div{display:grid;gap:3px}.capture-submit-row strong{font-size:11px;color:#15364e}.capture-submit-row small{font-size:9px;color:#7b8992}
.capture-guide{position:fixed;left:calc(var(--sidebar-w,230px) + 24px);right:24px;bottom:18px;z-index:45;display:grid;grid-template-columns:38px 1fr 28px;gap:11px;align-items:center;padding:12px 14px;border:1px solid #cadfd3;border-radius:15px;background:rgba(249,252,250,.97);box-shadow:0 12px 34px rgba(22,53,42,.15);backdrop-filter:blur(10px)}
.capture-guide.hidden{display:none}
.capture-guide-icon{width:34px;height:34px;border-radius:11px;display:grid;place-items:center;background:#e6f2eb;color:#347052;font-weight:900}
.capture-guide-copy{display:grid;gap:2px}.capture-guide-copy small{font-size:8px;text-transform:uppercase;letter-spacing:.11em;color:#4f8068;font-weight:900}.capture-guide-copy strong{font-size:10.5px;color:#15364e}.capture-guide-copy p{margin:0;font-size:9px;line-height:1.45;color:#63737c}
.capture-guide-close{border:0;background:transparent;color:#75848d;font-size:20px;cursor:pointer}
@media(max-width:800px){
 .capture-flow-lock{grid-template-columns:38px 1fr}.capture-guide-toggle{grid-column:1/-1;width:100%}
 .capture-guide{left:12px;right:12px;bottom:72px}
 .capture-submit-row{align-items:stretch;flex-direction:column}.capture-submit-row .btn{width:100%}
}

/* SET23.2 · ayuda guiada no superpuesta */
body.capture-guide-active .main{padding-bottom:128px}
.capture-guide{
  left:calc(var(--sidebar-w,230px) + 24px);
  right:24px;
  bottom:16px;
  min-height:72px;
  padding:14px 16px;
  grid-template-columns:42px 1fr 30px;
}
.capture-guide-icon{width:38px;height:38px;font-size:14px}
.capture-guide-copy{gap:3px}
.capture-guide-copy small{font-size:9.5px;line-height:1.25}
.capture-guide-copy strong{font-size:12.5px;line-height:1.35}
.capture-guide-copy p{font-size:11.5px;line-height:1.55}
.capture-guide-close{font-size:22px}
.capture-guided-form{scroll-margin-bottom:140px}
.capture-submit-row{scroll-margin-bottom:140px}
.field-explainer{font-size:10.5px;line-height:1.55}
.capture-section-head small{font-size:10px}
.capture-flow-lock small{font-size:10px;line-height:1.4}
@media(max-width:800px){
  body.capture-guide-active .main{padding-bottom:168px}
  .capture-guide{left:12px;right:12px;bottom:76px;min-height:88px;padding:13px 14px}
  .capture-guide-copy strong{font-size:12px}
  .capture-guide-copy p{font-size:11px;line-height:1.5}
}


/* =========================================================
   SET23.3 · Captura guiada estable
   La ayuda deja de ser una capa flotante sobre el formulario.
   ========================================================= */
body.capture-guide-active .main{padding-bottom:28px}
.capture-workspace{
  width:min(1320px,100%);
  display:grid;
  grid-template-columns:minmax(0,980px) minmax(270px,320px);
  gap:18px;
  align-items:start;
}
.capture-workspace.guide-hidden{grid-template-columns:minmax(0,980px)}
.capture-workspace.guide-hidden .capture-guided-form{grid-column:1}
.capture-guided-form{max-width:none;min-width:0}
.capture-guide{
  position:sticky!important;
  top:92px!important;
  left:auto!important;
  right:auto!important;
  bottom:auto!important;
  z-index:2!important;
  width:100%!important;
  min-height:0!important;
  padding:18px!important;
  display:block!important;
  border:1px solid #cadfd3!important;
  border-radius:16px!important;
  background:#fbfdfb!important;
  box-shadow:0 8px 24px rgba(22,53,42,.08)!important;
  backdrop-filter:none!important;
}
.capture-guide.hidden{display:none!important}
.capture-guide-head{display:grid;grid-template-columns:38px 1fr 28px;gap:10px;align-items:center;margin-bottom:12px}
.capture-guide-icon{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;background:#e6f2eb;color:#347052;font-weight:900;font-size:14px}
.capture-guide-heading{display:grid;gap:2px}
.capture-guide-heading small{font-size:10px;line-height:1.25;text-transform:uppercase;letter-spacing:.1em;color:#4f8068;font-weight:900}
.capture-guide-heading strong{font-size:14px;line-height:1.35;color:#15364e}
.capture-guide>p{margin:0;font-size:13px;line-height:1.6;color:#556971}
.capture-guide-example{margin-top:14px;padding:12px;border-radius:11px;background:#f0f6f2;display:grid;gap:4px}
.capture-guide-example b{font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:#3d7258}
.capture-guide-example span{font-size:12px;line-height:1.5;color:#61736a}
.capture-guide-close{border:0;background:transparent;color:#75848d;font-size:22px;cursor:pointer;line-height:1}
.capture-submit-row{margin-bottom:0!important;scroll-margin-bottom:24px!important}
.capture-guided-form{scroll-margin-bottom:24px!important}
.context-help-body .definition span{font-size:11.5px;line-height:1.55}
.context-help summary{font-size:11px}

@media(max-width:1180px){
  .capture-workspace,
  .capture-workspace.guide-hidden{grid-template-columns:minmax(0,980px);width:100%}
  .capture-guide{position:static!important;grid-row:1;margin-bottom:0}
  .capture-guided-form{grid-row:2}
}
@media(max-width:800px){
  body.capture-guide-active .main{padding-bottom:68px!important}
  .capture-workspace{display:flex;flex-direction:column;gap:12px}
  .capture-guide{order:-1;padding:14px!important;border-radius:14px!important}
  .capture-guide-heading strong{font-size:13px}
  .capture-guide>p{font-size:12px;line-height:1.55}
  .capture-guide-example span{font-size:11.5px}
}

/* SET24 · Dashboard y reportes visuales */
.metric-trend{font-size:9px!important;font-weight:800!important}.metric-trend.up{color:#2e7659!important}.metric-trend.down{color:#a45a56!important}.metric-trend.flat{color:#7d8990!important}
.visual-dashboard-grid{grid-template-columns:minmax(0,1.7fr) minmax(280px,.7fr)}.visual-card-large{min-width:0}
.svg-chart-wrap{width:100%;overflow:hidden}.svg-chart{display:block;width:100%;height:auto;min-height:230px}.chart-gridline{stroke:#e8ecea;stroke-width:1}.chart-y-label,.chart-x-label{fill:#7b878f;font-size:10px;font-family:inherit}.chart-line{fill:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.chart-line.series-0,.chart-dot.series-0{stroke:#386f5b;fill:#386f5b}.chart-line.series-1,.chart-dot.series-1{stroke:#b16c61;fill:#b16c61}.chart-legend{display:flex;gap:16px;flex-wrap:wrap;margin-top:4px;font-size:10px;color:#65747d}.chart-legend span{display:flex;align-items:center;gap:6px}.chart-legend i{width:18px;height:3px;border-radius:4px;background:#386f5b}.chart-legend i.series-1{background:#b16c61}
.visual-insights-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:14px 0}.visual-insight-card{min-width:0}.donut-layout{display:grid;grid-template-columns:minmax(140px,180px) 1fr;gap:16px;align-items:center}.donut-chart{width:100%;max-width:180px;transform:rotate(-90deg)}.donut-base{fill:none;stroke:#edf1ef;stroke-width:15}.donut-segment{fill:none;stroke-width:15;transform-origin:70px 70px}.donut-segment.series-0{stroke:#315f55}.donut-segment.series-1{stroke:#557b9a}.donut-segment.series-2{stroke:#b28964}.donut-segment.series-3{stroke:#7a6d98}.donut-segment.series-4{stroke:#759d79}.donut-segment.series-5{stroke:#b47773}.donut-total-label,.donut-total{transform:rotate(90deg);transform-origin:70px 70px;fill:#7d898f;font-family:inherit;font-size:9px}.donut-total{fill:#183b55;font-size:12px;font-weight:900}.donut-legend{display:grid;gap:8px}.donut-legend>div{display:grid;grid-template-columns:10px 1fr auto;gap:7px;align-items:center;font-size:9px}.donut-legend i{width:9px;height:9px;border-radius:50%}.donut-legend i.series-0{background:#315f55}.donut-legend i.series-1{background:#557b9a}.donut-legend i.series-2{background:#b28964}.donut-legend i.series-3{background:#7a6d98}.donut-legend i.series-4{background:#759d79}.donut-legend i.series-5{background:#b47773}.donut-legend span{color:#63747c}.donut-legend strong{color:#183b55}
.hbar-chart{display:grid;gap:11px;margin-top:10px}.hbar-row{display:grid;gap:5px}.hbar-meta{display:flex;justify-content:space-between;gap:12px;font-size:10px}.hbar-meta span{color:#566872}.hbar-meta strong{color:#173a55}.hbar-track{height:8px;background:#eef1ef;border-radius:99px;overflow:hidden}.hbar-fill{height:100%;border-radius:99px;background:linear-gradient(90deg,#356f5a,#5b8e78)}
.compare-chart{display:grid;gap:14px;margin-top:10px}.compare-row{display:grid;gap:6px}.compare-row>div:first-child{display:flex;justify-content:space-between;font-size:10px}.compare-row span{color:#65747c}.compare-row strong{color:#173a55}.compare-track{height:12px;background:#eef1ef;border-radius:99px;overflow:hidden}.compare-track i{display:block;height:100%;border-radius:99px}.compare-track .planned{background:#8da8b9}.compare-track .actual{background:#3f8064}.compare-track .actual.over{background:#b76a62}.budget-visual-summary{margin-top:14px;padding-top:12px;border-top:1px solid #edf0ee;display:grid;gap:2px}.budget-visual-summary span{font-size:17px;font-weight:900;color:#173a55}.budget-visual-summary small{font-size:9px;color:#728089}
.visual-empty{min-height:160px;display:grid;place-items:center;align-content:center;gap:8px;color:#8a9790;text-align:center}.visual-empty span{font-size:28px}.visual-empty p{margin:0;font-size:10px}.report-visual-summary{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(280px,.75fr);gap:14px;margin-bottom:14px}.report-visual-card{min-width:0}
@media(max-width:1100px){.visual-insights-grid{grid-template-columns:1fr 1fr}.visual-insights-grid .budget-visual-card{grid-column:1/-1}.report-visual-summary{grid-template-columns:1fr}}
@media(max-width:760px){.visual-dashboard-grid,.visual-insights-grid{grid-template-columns:1fr}.visual-insights-grid .budget-visual-card{grid-column:auto}.donut-layout{grid-template-columns:130px 1fr;gap:10px}.chart-y-label{font-size:9px}.svg-chart{min-height:210px}}
@media print{.svg-chart{min-height:180px}.visual-insights-grid,.report-visual-summary{break-inside:avoid}.donut-layout{break-inside:avoid}}


/* =========================================================
   SET25 · inteligencia visual ejecutiva
   ========================================================= */
.premium-chart{padding:2px 0 0}
.area-chart .chart-area.series-0{fill:url(#fipa-area-0);stroke:none;color:#2f7058}
.area-chart .chart-area.series-1{fill:url(#fipa-area-1);stroke:none;color:#a8625b}
.area-chart .chart-area.series-0{fill:#3b7b621f}
.area-chart .chart-area.series-1{fill:#ad6a6118}
.chart-line{filter:drop-shadow(0 2px 2px rgba(25,55,70,.08))}
.chart-dot{stroke:#fff!important;stroke-width:2;transition:r .15s ease,opacity .15s ease}
.chart-point-link:hover .chart-dot{r:6;opacity:.95}
.chart-column{transition:opacity .15s ease,transform .15s ease;transform-box:fill-box;transform-origin:center bottom}
.chart-column.series-0{fill:#3d7b62}.chart-column.series-1{fill:#b16b61}
.chart-column-link:hover .chart-column{opacity:.82;transform:scaleY(.985)}
.chart-drill-hint{margin-top:7px;color:#87928d;font-size:9px;text-align:right}
.hbar-link,.donut-legend-link{text-decoration:none;color:inherit}
.hbar-row.clickable,.donut-legend .clickable{transition:background .15s ease,transform .15s ease}
.hbar-link:hover .hbar-row.clickable{background:#f6faf7;transform:translateX(2px)}
.donut-legend-link:hover .clickable{background:#f4f8f6}
.donut-segment-link:hover .donut-segment{stroke-width:18}
.donut-segment{transition:stroke-width .15s ease}

.executive-numbers{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:12px 0 14px}
.executive-number{padding:15px 16px;border:1px solid #e2e9e5;border-radius:14px;background:linear-gradient(145deg,#fff,#fafcfb);display:grid;gap:5px;text-decoration:none;box-shadow:0 5px 16px rgba(21,55,45,.035);transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}
.executive-number:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(21,55,45,.08);border-color:#cddcd4}
.executive-number small{font-size:9px;text-transform:uppercase;letter-spacing:.055em;color:#7d8a84;font-weight:850}
.executive-number strong{font-size:19px;color:#153b55;letter-spacing:-.025em}
.executive-number span{font-size:9px;color:#567664}
.executive-number.accent{background:linear-gradient(145deg,#173d5d,#204c6c);border-color:#173d5d}
.executive-number.accent small,.executive-number.accent span{color:#c6d8e1}.executive-number.accent strong{color:#fff}

.visual-period-filter{margin-bottom:12px}
.visual-period-head{display:flex;align-items:end;justify-content:space-between;gap:24px;margin:8px 0 16px}
.visual-period-head span{font-size:9px;letter-spacing:.09em;text-transform:uppercase;color:#63806f;font-weight:900}
.visual-period-head h2{margin:3px 0 0;font-size:25px;color:#153b55;letter-spacing:-.03em}
.visual-period-head p{margin:0;max-width:480px;color:#718079;font-size:10px;line-height:1.55;text-align:right}
.visual-report-kpis{margin-bottom:14px}
.visual-report-primary{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(250px,.58fr);gap:14px;margin-bottom:14px}
.visual-control-card{display:flex;flex-direction:column;gap:8px}
.visual-control-card h2{margin-bottom:4px}
.visual-control-card a{padding:12px;border:1px solid #e7ece9;border-radius:11px;background:#fafcfb;display:grid;gap:3px;text-decoration:none;transition:background .15s ease,border-color .15s ease}
.visual-control-card a:hover{background:#f4f8f5;border-color:#cddbd3}
.visual-control-card span{font-size:9px;text-transform:uppercase;letter-spacing:.055em;color:#78877f}
.visual-control-card strong{font-size:16px;color:#173b55}.visual-control-card small{font-size:9px;color:#7f8c85}
.visual-report-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.visual-report-grid>.card{min-width:0}
.visual-report-actions{margin:16px 0 4px;display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}

@media(max-width:1100px){
 .executive-numbers{grid-template-columns:repeat(2,minmax(0,1fr))}
 .visual-report-primary{grid-template-columns:1fr}
 .visual-report-grid{grid-template-columns:1fr 1fr}
 .visual-report-grid>.card:last-child{grid-column:1/-1}
}
@media(max-width:720px){
 .executive-numbers,.visual-report-grid{grid-template-columns:1fr}
 .visual-report-grid>.card:last-child{grid-column:auto}
 .visual-period-head{align-items:flex-start;flex-direction:column;gap:7px}
 .visual-period-head p{text-align:left}
 .visual-report-actions{justify-content:stretch}.visual-report-actions .btn{flex:1}
}
@media print{
 .chart-drill-hint{display:none}
 .executive-number{box-shadow:none}
 .visual-report-primary,.visual-report-grid,.executive-numbers{break-inside:avoid}
}


/* =========================================================
   SET26 · UX contextual premium
   ========================================================= */
.pagehead-suppressed{display:none!important}
.dashboard-hero-unified{width:100%;margin:0 0 10px;min-height:154px;padding:23px 28px;border-radius:17px;overflow:hidden;position:relative;background:linear-gradient(125deg,#163f68 0%,#205987 68%,#2f6f98 100%);color:#fff;box-shadow:0 12px 28px rgba(19,58,91,.13)}
.dashboard-hero-unified:after{content:"";position:absolute;right:-34px;top:-72px;width:220px;height:220px;border-radius:50%;background:rgba(255,255,255,.075)}
.dashboard-hero-unified .executive-kicker{color:#b8d4e5;position:relative;z-index:1}
.dashboard-hero-layout{display:flex;justify-content:space-between;align-items:flex-end;gap:28px;position:relative;z-index:1}
.dashboard-hero-unified h1{margin:7px 0 8px;font-size:27px;line-height:1.02;letter-spacing:-.035em;color:#fff}
.dashboard-hero-unified p{margin:0;max-width:590px;font-size:11px;line-height:1.55;color:#e5eef4}
.dashboard-hero-unified .executive-actions{margin:0;justify-content:flex-end;align-items:center;flex-wrap:wrap}
.dashboard-hero-unified .executive-actions a{white-space:nowrap}

.context-help-strip{min-height:56px;margin:0 0 12px;padding:10px 13px;display:grid;grid-template-columns:30px minmax(0,1fr) auto;gap:11px;align-items:center;border:1px solid #dce8e1;border-radius:12px;background:#fbfdfb}
.context-help-strip-icon{width:28px;height:28px;border-radius:9px;display:grid;place-items:center;background:#e8f2ec;color:#387356;font-size:11px;font-weight:900}
.context-help-strip-copy{display:grid;gap:2px;min-width:0}.context-help-strip-copy b{font-size:10.5px;color:#294d3e}.context-help-strip-copy span{font-size:10.5px;line-height:1.45;color:#687a71}
.context-help-strip-actions{display:flex;gap:12px;align-items:center}.context-help-strip-actions a,.context-help-open{border:0;background:transparent;padding:5px 0;color:#397357;font-size:9.5px;font-weight:850;text-decoration:none;cursor:pointer;white-space:nowrap}.context-help-open{color:#183f61}

.context-help-drawer{position:fixed;top:82px;right:0;bottom:24px;width:min(390px,calc(100vw - 28px));z-index:70;display:flex;flex-direction:column;border:1px solid #d8e5de;border-right:0;border-radius:18px 0 0 18px;background:#fff;box-shadow:-18px 18px 46px rgba(20,55,43,.16);transform:translateX(calc(100% + 16px));opacity:0;visibility:hidden;transition:transform .28s ease,opacity .22s ease,visibility .22s ease}
.context-help-drawer.open{transform:translateX(0);opacity:1;visibility:visible}
.context-help-drawer-head{display:grid;grid-template-columns:42px minmax(0,1fr) 32px;gap:11px;align-items:center;padding:17px 18px 14px;border-bottom:1px solid #edf1ef}
.context-help-drawer-icon{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:#e7f2eb;color:#397158;font-size:14px;font-weight:900}
.context-help-drawer-head>div:nth-child(2){display:grid;gap:2px}.context-help-drawer-head small{font-size:9px;text-transform:uppercase;letter-spacing:.09em;color:#63806f;font-weight:900}.context-help-drawer-head strong{font-size:15px;color:#153b55}
.context-help-drawer-head button{border:0;background:transparent;color:#77857e;font-size:24px;line-height:1;cursor:pointer}
.context-help-drawer-body{padding:8px 18px 18px;overflow:auto;display:grid;gap:0}
.context-help-drawer-item{padding:13px 2px;border-bottom:1px solid #edf1ef;display:grid;gap:5px}.context-help-drawer-item strong{font-size:11.5px;color:#214a3a}.context-help-drawer-item span{font-size:12px;line-height:1.55;color:#61736a}
.context-help-drawer-foot{margin-top:auto;padding:13px 18px 16px;border-top:1px solid #e9eeeb;background:#fafcfb;display:grid;gap:10px}.context-help-drawer-foot label{display:flex;gap:7px;align-items:flex-start;font-size:10px;line-height:1.4;color:#677770}.context-help-drawer-foot input{width:auto;min-height:auto;margin-top:1px}.context-help-drawer-foot a{font-size:10px;color:#316c52;font-weight:850;text-decoration:none}
.context-help-tab{position:fixed;right:0;top:46%;z-index:65;min-width:42px;padding:10px 7px;border:1px solid #cfe0d7;border-right:0;border-radius:12px 0 0 12px;background:#f8fcf9;color:#2d6d50;box-shadow:-5px 6px 18px rgba(24,65,50,.08);display:grid;gap:4px;place-items:center;cursor:pointer}.context-help-tab span{font-size:14px;font-weight:900}.context-help-tab b{font-size:8px;writing-mode:vertical-rl;transform:rotate(180deg);letter-spacing:.06em}
.context-help{display:none!important}.daily-advice{display:none!important}
@media(max-width:900px){.dashboard-hero-layout{align-items:flex-start;flex-direction:column;gap:16px}.dashboard-hero-unified .executive-actions{justify-content:flex-start}.context-help-strip{grid-template-columns:30px 1fr}.context-help-strip-actions{grid-column:2;justify-content:flex-start}}
@media(max-width:700px){.dashboard-hero-unified{padding:20px;border-radius:14px}.dashboard-hero-unified h1{font-size:23px}.context-help-strip-copy span{font-size:10px}.context-help-drawer{top:64px;bottom:70px;width:calc(100vw - 16px)}.context-help-tab{top:auto;bottom:82px}}
@media print{.context-help-strip,.context-help-drawer,.context-help-tab{display:none!important}}


/* =========================================================
   SET27 · dashboard ejecutivo premium
   ========================================================= */
.dashboard-executive-layout{display:grid;grid-template-columns:minmax(0,1.68fr) minmax(290px,.64fr);gap:14px;align-items:start}
.dashboard-main-column,.dashboard-side-column{display:grid;gap:14px;min-width:0}
.dashboard-kpi-section,.analytics-tabs-card,.side-executive-card{border:1px solid #e1e8e4;border-radius:15px;background:#fff;box-shadow:0 6px 20px rgba(21,55,45,.035)}
.dashboard-kpi-section{padding:16px}
.dashboard-section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:18px;margin-bottom:13px}
.dashboard-section-head>div{display:grid;gap:2px}.dashboard-section-head span,.side-card-head span{font-size:9px;text-transform:uppercase;letter-spacing:.095em;color:#688276;font-weight:900}.dashboard-section-head h2{margin:0;color:#163b55;font-size:17px;letter-spacing:-.02em}.dashboard-section-head p{margin:0;color:#7a8780;font-size:10.5px;line-height:1.45}.dashboard-section-head>a{font-size:9.5px;color:#3d7259;text-decoration:none;font-weight:800;white-space:nowrap}

.dashboard-kpi-compact{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.kpi-premium{min-height:82px;padding:12px 13px;display:grid;grid-template-columns:34px minmax(0,1fr);gap:10px;align-items:center;border:1px solid #e6ece8;border-radius:12px;background:#fbfcfb;text-decoration:none;transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}
.kpi-premium:hover{transform:translateY(-1px);border-color:#cfddd5;box-shadow:0 8px 18px rgba(22,58,47,.07)}
.kpi-icon{width:32px;height:32px;border-radius:10px;display:grid;place-items:center;font-size:14px;font-weight:900;background:#edf3f0;color:#365f50}
.kpi-premium.income .kpi-icon{background:#e7f4ed;color:#2d7856}.kpi-premium.expense .kpi-icon{background:#f8ebea;color:#9e5551}.kpi-premium.result .kpi-icon{background:#edf2f9;color:#41688b}.kpi-premium.attention .kpi-icon{background:#fff3db;color:#9b6b14}
.kpi-premium>div{display:grid;gap:2px;min-width:0}.kpi-premium small{font-size:10.5px;color:#4d5f68;font-weight:800}.kpi-premium strong{font-size:19px;line-height:1.05;color:#123b5d;letter-spacing:-.025em}.kpi-premium em{font-size:9.5px;color:#74837b;font-style:normal;line-height:1.35}

.dashboard-ytd-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-top:9px}
.ytd-premium{padding:11px 12px;border:1px solid #e6ebe8;border-radius:11px;background:#fafcfb;display:grid;gap:3px;text-decoration:none}.ytd-premium small{font-size:9.5px;color:#6f7d76;font-weight:800}.ytd-premium strong{font-size:16px;color:#143b59}.ytd-premium span{font-size:9px;color:#5b7869}.ytd-premium.accent{background:linear-gradient(135deg,#164162,#235b81);border-color:#1b4b6d}.ytd-premium.accent small,.ytd-premium.accent span{color:#d2e0e8}.ytd-premium.accent strong{color:#fff}

.analytics-tabs-card{padding:16px;min-width:0}.analytics-head{margin-bottom:8px}
.analytics-tabs{display:flex;gap:5px;border-bottom:1px solid #e7ece9;margin-bottom:12px;overflow-x:auto}.analytics-tabs button{border:0;background:transparent;padding:9px 12px 10px;color:#6e7c75;font-size:10.5px;font-weight:800;cursor:pointer;border-bottom:2px solid transparent;white-space:nowrap}.analytics-tabs button.active{color:#173f60;border-bottom-color:#3c7d5e}
.analytics-tab-panel{display:none}.analytics-tab-panel.active{display:block}.analytics-tab-copy{margin:0 0 8px}.analytics-tab-copy h3{margin:0 0 2px;color:#153b55;font-size:13px}.analytics-tab-copy p{margin:0;color:#7a8780;font-size:10px;line-height:1.45}
.analytics-tabs-card .svg-chart{min-height:235px}.analytics-tabs-card .hbar-chart{padding:8px 2px}.analytics-tabs-card .donut-layout{padding:8px 2px}

.side-executive-card{padding:14px}.side-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:10px}.side-card-head>div{display:grid;gap:2px}.side-card-head h3{margin:0;color:#153b55;font-size:14px}.side-card-head>a{font-size:9px;color:#4c7864;text-decoration:none;white-space:nowrap}
.dashboard-side-column .attention-list{gap:7px}.dashboard-side-column .attention-item{padding:10px;border-radius:10px}.dashboard-side-column .attention-item b{font-size:10.5px}.dashboard-side-column .attention-item small{font-size:9.5px}
.vertical-actions{display:grid;gap:7px}.vertical-action{min-height:54px;padding:9px 10px;border:1px solid #e5ebe7;border-radius:10px;display:grid;grid-template-columns:30px minmax(0,1fr) 14px;gap:9px;align-items:center;text-decoration:none;background:#fbfcfb;transition:background .15s ease,border-color .15s ease}.vertical-action:hover{background:#f5f9f6;border-color:#cedbd4}.vertical-action>span{width:29px;height:29px;border-radius:9px;display:grid;place-items:center;background:#edf3f0;color:#365f50;font-size:13px;font-weight:900}.vertical-action.income>span{background:#e7f4ed;color:#2d7856}.vertical-action.expense>span{background:#f8ebea;color:#9e5551}.vertical-action>div{display:grid;gap:2px}.vertical-action b{font-size:10.5px;color:#1d4258}.vertical-action small{font-size:9.5px;color:#75827c;line-height:1.35}.vertical-action i{font-style:normal;color:#8a9790}
.recent-compact-list{display:grid}.recent-compact-item{display:grid;grid-template-columns:28px minmax(0,1fr) auto;gap:8px;align-items:center;padding:9px 0;border-bottom:1px solid #edf1ef;text-decoration:none}.recent-compact-item:last-child{border-bottom:0}.recent-compact-item .recent-dot{width:26px;height:26px}.recent-compact-item>div{display:grid;gap:2px;min-width:0}.recent-compact-item b{font-size:10px;color:#1e4257;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.recent-compact-item small{font-size:8.8px;color:#818d87}.recent-compact-item>strong{font-size:10px;color:#153b55;white-space:nowrap}

@media(max-width:1180px){.dashboard-executive-layout{grid-template-columns:1fr}.dashboard-side-column{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start}.side-executive-card{height:100%}}
@media(max-width:900px){.dashboard-side-column{grid-template-columns:1fr 1fr}.recent-side{grid-column:1/-1}.dashboard-ytd-grid{grid-template-columns:1fr 1fr}.dashboard-ytd-grid .accent{grid-column:1/-1}}
@media(max-width:700px){.dashboard-kpi-compact,.dashboard-ytd-grid,.dashboard-side-column{grid-template-columns:1fr}.dashboard-ytd-grid .accent,.recent-side{grid-column:auto}.dashboard-section-head{align-items:flex-start;flex-direction:column;gap:6px}.kpi-premium{min-height:74px}.analytics-tabs{margin-left:-4px;margin-right:-4px}.analytics-tabs button{padding-left:10px;padding-right:10px}}


/* =========================================================
   SET28 · reporte ejecutivo premium + ingeniería financiera
   ========================================================= */
.executive-report-hero{display:flex;justify-content:space-between;gap:24px;align-items:center;padding:22px 24px;margin-bottom:12px;border-radius:17px;background:linear-gradient(125deg,#173f63,#255f84);color:#fff;box-shadow:0 12px 28px rgba(20,58,89,.12)}
.executive-report-hero>div:first-child{display:grid;gap:4px}.executive-report-hero small{font-size:9px;text-transform:uppercase;letter-spacing:.09em;color:#bfd3df;font-weight:900}.executive-report-hero h2{margin:0;color:#fff;font-size:24px;letter-spacing:-.03em}.executive-report-hero p{margin:0;color:#e1ebf1;font-size:10.5px}
.executive-report-hero-status{min-width:190px;padding:12px 14px;border-radius:12px;background:rgba(255,255,255,.09);display:grid;gap:2px}.executive-report-hero-status strong{font-size:21px;color:#fff}.executive-report-hero-status span{font-size:9.5px;color:#e1ebf1}.executive-report-hero-status.negative{background:rgba(116,36,43,.2)}

.executive-period-filter{margin-bottom:12px}
.executive-report-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-bottom:12px}
.report-kpi{padding:13px 14px;border:1px solid #e3e9e6;border-radius:12px;background:#fff;display:grid;gap:3px;text-decoration:none;transition:transform .15s ease,box-shadow .15s ease}.report-kpi:hover{transform:translateY(-1px);box-shadow:0 7px 18px rgba(20,55,44,.07)}
.report-kpi small{font-size:9.5px;color:#64756d;font-weight:800}.report-kpi strong{font-size:19px;color:#153b57}.report-kpi span{font-size:9.2px;color:#77857e}.report-kpi.result.negative{background:#fff8f7}.report-kpi.result.positive{background:#f5fbf7}

.engineering-signals-card{margin-bottom:12px}.engineering-signals-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}
.engineering-signal{padding:12px;border:1px solid #e5ebe7;border-radius:11px;background:#fafcfb;display:grid;gap:4px}.engineering-signal small{font-size:9px;text-transform:uppercase;letter-spacing:.06em;color:#718078;font-weight:850}.engineering-signal strong{font-size:18px;color:#173b55}.engineering-signal p{margin:0;font-size:9.5px;line-height:1.45;color:#74827b}.engineering-signal.good{border-left:3px solid #4f896d}.engineering-signal.watch{border-left:3px solid #c39b4e}.engineering-signal.risk{border-left:3px solid #b9645f}

.executive-overview-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr);gap:12px;margin-bottom:12px}.executive-summary-lead{font-size:12px;line-height:1.6;color:#50646d;margin:0 0 12px}.executive-insights{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.executive-insight{padding:10px;border:1px solid #e8ecea;border-radius:10px;background:#fafcfb;display:grid;gap:2px}.executive-insight small{font-size:8.8px;text-transform:uppercase;color:#7c8982;font-weight:850}.executive-insight strong{font-size:12px;color:#183d57}.executive-insight span{font-size:9.2px;color:#75827b}.executive-insight.warn{background:#fff9f4}.executive-insight.good{background:#f5faf7}

.proposed-actions-card{min-width:0}.proposed-actions-list{display:grid;gap:7px}.proposed-action{display:grid;grid-template-columns:30px minmax(0,1fr);gap:9px;padding:9px;border:1px solid #e6ebe8;border-radius:10px;text-decoration:none;background:#fbfcfb}.proposed-action-icon{width:29px;height:29px;border-radius:9px;display:grid;place-items:center;font-weight:900;background:#edf2f0;color:#426354}.proposed-action.high .proposed-action-icon{background:#f8e9e7;color:#a7534e}.proposed-action.medium .proposed-action-icon{background:#fff3df;color:#91671e}.proposed-action.good .proposed-action-icon{background:#e8f4ed;color:#37775a}.proposed-action>div{display:grid;gap:2px}.proposed-action strong{font-size:10.5px;color:#1d4258}.proposed-action p{margin:0;font-size:9.5px;line-height:1.4;color:#718078}.proposed-action small{font-size:9px;color:#49735f;font-weight:800}.proposed-actions-note{margin:9px 0 0;font-size:8.8px;color:#849089}

.report-tabs-card{margin-bottom:12px}.report-tabs{display:flex;gap:5px;border-bottom:1px solid #e7ece9;margin-bottom:12px;overflow-x:auto}.report-tabs button{border:0;background:transparent;padding:9px 12px 10px;color:#6e7c75;font-size:10.5px;font-weight:800;cursor:pointer;border-bottom:2px solid transparent;white-space:nowrap}.report-tabs button.active{color:#173f60;border-bottom-color:#3c7d5e}.report-tab-panel{display:none}.report-tab-panel.active{display:block}.report-chart-heading{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:7px}.report-chart-heading h3{margin:0;font-size:13px;color:#173b55}.report-chart-heading p{margin:2px 0 0;font-size:9.7px;color:#7b8981}.report-chart-heading a{font-size:9px;color:#4d7864;text-decoration:none}
.budget-executive-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:12px}.budget-executive-stats>div{padding:10px;border-radius:9px;background:#f8faf9;display:grid;gap:2px}.budget-executive-stats small{font-size:8.8px;color:#74827b}.budget-executive-stats strong{font-size:13px;color:#173b55}

.executive-control-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.executive-control-card{display:grid;grid-template-columns:34px 1fr;gap:10px;align-items:start}.executive-control-card .control-icon{width:33px;height:33px;border-radius:10px;display:grid;place-items:center;background:#edf3f0;color:#3d6955}.executive-control-card>div:last-child{display:grid;gap:3px}.executive-control-card small{font-size:8.8px;text-transform:uppercase;color:#718078;font-weight:850}.executive-control-card strong{font-size:13px;color:#183d57}.executive-control-card p{margin:0;font-size:9.4px;line-height:1.4;color:#75827b}.executive-control-card a{font-size:9px;color:#49735f;text-decoration:none;font-weight:800}.executive-control-card.warning{background:#fffaf5}

@media(max-width:1100px){.engineering-signals-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.executive-overview-grid{grid-template-columns:1fr}.executive-control-grid{grid-template-columns:1fr 1fr}.executive-control-grid>div:last-child{grid-column:1/-1}}
@media(max-width:760px){.executive-report-hero{align-items:flex-start;flex-direction:column}.executive-report-hero-status{width:100%}.executive-report-kpis,.engineering-signals-grid,.executive-insights,.budget-executive-stats,.executive-control-grid{grid-template-columns:1fr}.executive-control-grid>div:last-child{grid-column:auto}.report-chart-heading{flex-direction:column}}
@media print{
 .executive-report-hero{box-shadow:none;background:#173f63!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}
 .executive-report-kpis,.engineering-signals-grid,.executive-overview-grid,.executive-control-grid{break-inside:avoid}
 .report-tabs{display:none}.report-tab-panel{display:block!important;margin-bottom:18px}
 .proposed-action{break-inside:avoid}
}


/* =========================================================
   SET29 · reporte ejecutivo refinado
   ========================================================= */
.executive-report-hero-unified{margin-top:0;min-height:160px;padding:22px 24px}
.executive-report-hero-copy{display:grid;gap:4px;min-width:0}
.executive-report-hero-copy h1{margin:2px 0 1px;color:#fff;font-size:27px;line-height:1.02;letter-spacing:-.035em}
.executive-report-hero-copy p{margin:0;max-width:650px;font-size:10.8px;line-height:1.5;color:#e3edf2}
.executive-report-period{margin-top:5px;font-size:9.5px;color:#c8dbe6;font-weight:700}
.executive-report-hero-right{display:flex;align-items:flex-end;gap:12px;flex-direction:column}
.executive-report-hero-actions{display:flex;gap:7px;justify-content:flex-end;flex-wrap:wrap}
.hero-action{min-height:34px;padding:8px 12px;border-radius:9px;font-size:9.5px;font-weight:850;text-decoration:none;cursor:pointer}
button.hero-action{font-family:inherit}
.hero-action.secondary{border:1px solid rgba(255,255,255,.25);background:rgba(255,255,255,.08);color:#fff}
.hero-action.primary{border:1px solid #fff;background:#fff;color:#173f63}
.executive-report-hero-status{min-width:205px}

.report-key-numbers-section{padding:14px;margin-bottom:12px;border:1px solid #e1e8e4;border-radius:14px;background:#fff}
.report-key-numbers-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:10px}
.report-key-numbers-head>div{display:grid;gap:2px}.report-key-numbers-head span{font-size:8.8px;text-transform:uppercase;letter-spacing:.09em;color:#698176;font-weight:900}.report-key-numbers-head h2{margin:0;color:#163b55;font-size:16px}.report-key-numbers-head p{margin:0;color:#79867f;font-size:9.8px}
.report-key-numbers-section .executive-report-kpis{margin:0;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.report-key-numbers-section .report-kpi{min-height:82px;padding:11px 12px;border-radius:10px;box-shadow:none;background:#fbfcfb}
.report-key-numbers-section .report-kpi small{font-size:10.2px;color:#4d5f68}
.report-key-numbers-section .report-kpi strong{font-size:18px;line-height:1.05}
.report-key-numbers-section .report-kpi span{font-size:9.3px;line-height:1.35}
.report-key-numbers-section .report-kpi.result.negative{background:#fff8f6;border-color:#f0dcd8}
.report-key-numbers-section .report-kpi.result.positive{background:#f5faf7;border-color:#dcebe2}

.engineering-signals-card .panel-head h2{font-size:16px}.engineering-signals-card .panel-head p{font-size:10px}
.engineering-signals-grid{gap:8px}.engineering-signal{min-height:118px;padding:11px}
.engineering-signal small{font-size:10px;line-height:1.35;text-transform:none;letter-spacing:0;color:#4f6259}
.engineering-signal strong{font-size:17px}.engineering-signal p{font-size:9.7px;line-height:1.45}

.report-tabs-card{padding:14px}
.report-tabs{gap:3px;margin-bottom:10px}.report-tabs button{font-size:10px;padding:8px 10px 9px}
.report-tab-panel .svg-chart{min-height:220px}
.report-tab-panel .donut-layout,.report-tab-panel .hbar-chart{padding:6px 0}

.executive-period-filter{padding:12px 14px}.executive-period-filter .row{gap:10px}.executive-period-filter .field label{font-size:9.5px}.executive-period-filter input{min-height:38px}
.executive-period-filter .btn{margin-top:6px}

@media(max-width:900px){
 .executive-report-hero-unified{align-items:flex-start}
 .executive-report-hero-right{width:100%;align-items:flex-start}
 .executive-report-hero-actions{justify-content:flex-start}
 .executive-report-hero-status{width:100%}
 .report-key-numbers-section .executive-report-kpis{grid-template-columns:1fr 1fr}
}
@media(max-width:620px){
 .report-key-numbers-section .executive-report-kpis{grid-template-columns:1fr}
 .hero-action{flex:1;text-align:center}
}


/* =========================================================
   SET30 · refinamiento tipográfico y gráfico del reporte ejecutivo
   ========================================================= */
.premium-chart,.premium-chart svg,.premium-chart text,.donut-chart,.donut-chart text{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;text-rendering:geometricPrecision}
.svg-chart{min-height:250px}
.chart-gridline{stroke:#e6ece9;stroke-width:1}
.chart-y-label{fill:#6d7d86;font-size:10.8px;font-weight:700;letter-spacing:-.01em}
.chart-x-label{fill:#4d616e;font-size:11.4px;font-weight:800;letter-spacing:-.015em}
.chart-value-label{font-size:10.8px;font-weight:800;letter-spacing:-.01em;fill:#183b55}
.chart-value-label.series-0{fill:#2f6f58}.chart-value-label.series-1{fill:#b56d62}
.chart-series-label{fill:#7a8780;font-size:9.6px;font-weight:700}
.chart-column{opacity:.96;filter:drop-shadow(0 8px 14px rgba(20,54,42,.08))}
.chart-column.series-0{fill:#3a735e}.chart-column.series-1{fill:#be786c}
.chart-column-link:hover .chart-column{opacity:1}
.chart-legend{gap:18px;margin-top:8px;font-size:10.5px;color:#5f7078;font-weight:700}
.chart-legend i{width:20px;height:4px;border-radius:999px}
.chart-drill-hint{margin-top:6px;font-size:9.4px;color:#7b8882}
.report-chart-heading h3{font-size:15px;letter-spacing:-.02em}.report-chart-heading p{font-size:10.4px;line-height:1.5;color:#728078}
.report-tabs button{font-size:10.4px}
.report-tabs-card .svg-chart{min-height:250px}
.report-tab-panel .donut-layout{grid-template-columns:minmax(180px,220px) minmax(0,1fr);gap:20px;align-items:center;padding:10px 0 4px}
.donut-chart{max-width:200px}
.donut-total-label{fill:#748088;font-size:10.5px;font-weight:700}.donut-total{fill:#163b55;font-size:15px;font-weight:900}
.donut-legend{gap:10px}.donut-legend>div{grid-template-columns:12px 1fr auto;gap:9px;font-size:10.4px;align-items:center}.donut-legend span{font-size:10.6px;color:#556972}.donut-legend strong{font-size:10.5px;color:#163b55}
@media(max-width:760px){
 .report-tab-panel .donut-layout{grid-template-columns:1fr;justify-items:start}
 .donut-chart{max-width:180px}
 .report-tabs-card .svg-chart{min-height:230px}
}


/* =========================================================
   SET31 · comparativo ejecutivo premium
   ========================================================= */
.report-tabs-card{
  padding:16px 18px;
}
.report-tabs-card>.panel-head h2{
  font-size:17px;
  letter-spacing:-.025em;
}
.report-tabs-card>.panel-head p{
  font-size:10.8px;
  line-height:1.5;
}
.report-tabs{
  margin-top:2px;
  margin-bottom:14px;
}
.report-tabs button{
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  font-size:11px;
  line-height:1.2;
  letter-spacing:-.01em;
  padding:9px 12px 10px;
}
.report-chart-heading-strong{
  margin-bottom:15px;
}
.report-chart-heading-strong>div{
  display:grid;
  gap:2px;
}
.report-chart-heading-strong span{
  font-size:8.8px;
  text-transform:uppercase;
  letter-spacing:.09em;
  font-weight:900;
  color:#668073;
}
.report-chart-heading-strong h3{
  margin:0;
  font-size:16px;
  line-height:1.15;
  letter-spacing:-.025em;
  color:#153b55;
}
.report-chart-heading-strong p{
  margin:0;
  font-size:10.7px;
  line-height:1.5;
  color:#6d7d75;
}

.executive-flow-chart{
  padding:4px 2px 2px;
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
.executive-flow-period{
  margin:0 0 14px;
  font-size:10px;
  font-weight:850;
  letter-spacing:.03em;
  text-transform:uppercase;
  color:#6b7d73;
}
.executive-flow-row{
  display:grid;
  grid-template-columns:minmax(185px,230px) minmax(0,1fr);
  gap:18px;
  align-items:center;
  padding:12px 0;
  border-bottom:1px solid #edf1ef;
}
.executive-flow-label{
  display:grid;
  grid-template-columns:12px minmax(0,1fr);
  gap:10px;
  align-items:center;
}
.executive-flow-label .flow-dot{
  width:10px;
  height:10px;
  border-radius:50%;
  background:#39745c;
  box-shadow:0 0 0 4px rgba(57,116,92,.10);
}
.executive-flow-row.expense .flow-dot{
  background:#bb7166;
  box-shadow:0 0 0 4px rgba(187,113,102,.10);
}
.executive-flow-label>div{
  display:grid;
  gap:2px;
}
.executive-flow-label small{
  font-size:10px;
  line-height:1.25;
  color:#65766e;
  font-weight:750;
}
.executive-flow-label strong{
  font-size:20px;
  line-height:1;
  letter-spacing:-.025em;
  color:#153b55;
}
.executive-flow-link{
  text-decoration:none;
}
.executive-flow-track{
  position:relative;
  height:20px;
  border-radius:999px;
  background:#edf2ef;
  overflow:hidden;
}
.executive-flow-track i{
  display:block;
  height:100%;
  min-width:5px;
  border-radius:999px;
  background:linear-gradient(90deg,#2f6c55,#4f8b70);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.12);
}
.executive-flow-row.expense .executive-flow-track i{
  background:linear-gradient(90deg,#a95f57,#c98376);
}
.executive-flow-link:hover .executive-flow-track{
  box-shadow:0 0 0 3px rgba(54,112,87,.07);
}
.executive-flow-result{
  margin-top:16px;
  padding:14px 16px;
  display:flex;
  justify-content:space-between;
  gap:18px;
  align-items:center;
  border:1px solid #e3e9e5;
  border-radius:12px;
  background:#f8faf9;
}
.executive-flow-result>div{
  display:grid;
  gap:3px;
}
.executive-flow-result small{
  font-size:8.8px;
  text-transform:uppercase;
  letter-spacing:.08em;
  color:#718078;
  font-weight:900;
}
.executive-flow-result strong{
  font-size:13.5px;
  line-height:1.3;
  color:#173d57;
}
.executive-flow-result p{
  margin:0;
  font-size:10px;
  line-height:1.5;
  color:#718078;
}
.executive-flow-result a{
  flex:0 0 auto;
  font-size:9.5px;
  line-height:1.35;
  color:#3d7259;
  font-weight:850;
  text-decoration:none;
}
.executive-flow-result.negative{
  background:#fff8f6;
  border-color:#eedbd7;
}
.executive-flow-result.negative strong{
  color:#8e514b;
}
.executive-flow-result.positive{
  background:#f4faf6;
  border-color:#dce9e1;
}
.executive-flow-result.positive strong{
  color:#2f6d53;
}

/* Refina el resto de visualizaciones del reporte */
.report-tab-panel .hbar-meta{
  font-size:10.8px;
}
.report-tab-panel .hbar-meta span{
  font-weight:700;
  color:#51656f;
}
.report-tab-panel .hbar-meta strong{
  font-size:11px;
  font-weight:850;
}
.report-tab-panel .hbar-track{
  height:10px;
}
.report-tab-panel .donut-legend span{
  font-size:10.8px;
  line-height:1.35;
}
.report-tab-panel .donut-legend strong{
  font-size:10.8px;
}
.report-tab-panel .donut-total-label{
  font-size:10px;
}
.report-tab-panel .donut-total{
  font-size:14px;
}

@media(max-width:760px){
  .executive-flow-row{
    grid-template-columns:1fr;
    gap:8px;
  }
  .executive-flow-result{
    align-items:flex-start;
    flex-direction:column;
  }
}
@media print{
  .executive-flow-result{
    break-inside:avoid;
  }
}


/* =========================================================
   SET32 · reporte ejecutivo balanceado
   ========================================================= */
.executive-overview-balanced{
  grid-template-columns:minmax(0,1.2fr) minmax(340px,.8fr);
  align-items:stretch;
}
.executive-overview-balanced>.card{
  height:100%;
}
.executive-findings-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
}
.executive-finding{
  padding:11px 12px;
  min-height:86px;
  border:1px solid #e5ebe7;
  border-radius:10px;
  background:#fafcfb;
  display:grid;
  gap:3px;
  text-decoration:none;
  transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease;
}
.executive-finding:hover{
  transform:translateY(-1px);
  border-color:#cfdcd5;
  box-shadow:0 6px 16px rgba(22,57,45,.06);
}
.executive-finding small{
  font-size:8.8px;
  text-transform:uppercase;
  letter-spacing:.06em;
  color:#75827b;
  font-weight:850;
}
.executive-finding strong{
  font-size:13px;
  color:#173d57;
}
.executive-finding span{
  font-size:9.5px;
  line-height:1.4;
  color:#74817a;
}
.executive-finding.warn{background:#fff9f5}
.executive-finding.good{background:#f5faf7}

.executive-period-comparison{
  margin-top:12px;
  padding-top:12px;
  border-top:1px solid #edf1ef;
}
.mini-section-head{
  margin-bottom:8px;
}
.mini-section-head span{
  font-size:8.5px;
  text-transform:uppercase;
  letter-spacing:.08em;
  color:#718077;
  font-weight:900;
}
.mini-section-head h3{
  margin:2px 0 0;
  font-size:12px;
  color:#173d57;
}
.comparison-chip-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:7px;
}
.comparison-chip{
  padding:9px;
  border-radius:9px;
  background:#f8faf9;
  border:1px solid #e7ece9;
  display:grid;
  gap:2px;
}
.comparison-chip small{font-size:8.6px;color:#74817a}
.comparison-chip strong{font-size:12px;color:#173d57}
.comparison-chip span{font-size:8.8px;line-height:1.35;color:#7c8882}
.comparison-chip.good{border-left:3px solid #4c8568}
.comparison-chip.warn{border-left:3px solid #bd7568}

.executive-impact-grid{
  display:grid;
  grid-template-columns:minmax(0,1.45fr) minmax(290px,.55fr);
  gap:12px;
  margin-bottom:12px;
}
.impact-columns{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
}
.impact-column-title{
  display:grid;
  grid-template-columns:30px 1fr;
  gap:8px;
  align-items:center;
  margin-bottom:6px;
}
.impact-column-title>span{
  width:29px;height:29px;border-radius:9px;display:grid;place-items:center;
  background:#e7f3ec;color:#34775a;font-weight:900
}
.impact-columns>div:last-child .impact-column-title>span{
  background:#f8eae7;color:#a65a52
}
.impact-column-title>div{display:grid;gap:1px}
.impact-column-title small{font-size:9px;color:#708078;font-weight:800}
.impact-column-title strong{font-size:11px;color:#173d57}
.impact-list{display:grid}
.impact-item{
  min-height:50px;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:10px;
  align-items:center;
  padding:9px 0;
  border-bottom:1px solid #edf1ef;
  text-decoration:none;
}
.impact-item:last-child{border-bottom:0}
.impact-item>div{display:grid;gap:2px;min-width:0}
.impact-item b{
  font-size:10.5px;color:#1b4158;white-space:nowrap;overflow:hidden;text-overflow:ellipsis
}
.impact-item small{font-size:8.8px;color:#7b8781}
.impact-item>strong{font-size:10.8px;color:#173d57;white-space:nowrap}
.impact-item.income>strong{color:#367358}
.impact-item.expense>strong{color:#a65e56}
.impact-empty{padding:12px 0;font-size:9.5px;color:#849088}

.period-health-list{display:grid;gap:7px}
.period-health-item{
  min-height:54px;
  display:grid;
  grid-template-columns:10px minmax(0,1fr) 14px;
  gap:9px;
  align-items:center;
  padding:9px 10px;
  border:1px solid #e6ebe8;
  border-radius:10px;
  background:#fbfcfb;
  text-decoration:none;
}
.period-health-item>span{width:9px;height:9px;border-radius:50%;background:#84918b}
.period-health-item.good>span{background:#4d8769}
.period-health-item.watch>span{background:#c49b48}
.period-health-item.risk>span{background:#b9645d}
.period-health-item>div{display:grid;gap:2px}
.period-health-item small{font-size:8.8px;color:#74817a}
.period-health-item strong{font-size:10.5px;color:#173d57}
.period-health-item i{font-style:normal;color:#89958f}

@media(max-width:1100px){
  .executive-impact-grid{grid-template-columns:1fr}
  .executive-overview-balanced{grid-template-columns:1fr}
}
@media(max-width:760px){
  .executive-findings-grid,.comparison-chip-grid,.impact-columns{grid-template-columns:1fr}
}
@media print{
  .executive-impact-grid,.executive-overview-balanced{break-inside:avoid}
}


/* =========================================================
   SET33 · refinamiento tipográfico del reporte ejecutivo
   ========================================================= */
.context-help-strip{min-height:58px;padding:10px 14px}
.context-help-strip-copy{gap:3px}
.context-help-strip-copy b{
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  font-size:11.5px;font-weight:650;line-height:1.3;letter-spacing:0;color:#264b3c
}
.context-help-strip-copy span{
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  font-size:11px;font-weight:400;line-height:1.45;letter-spacing:0;color:#67786f
}
.context-help-strip-actions{gap:16px}
.context-help-strip-actions a,.context-help-open{
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  font-size:11.5px;font-weight:600;line-height:1.25;letter-spacing:0;padding:7px 2px
}
.context-help-open{color:#173e5d}.context-help-strip-actions a{color:#397057}

.executive-period-filter{padding:14px 15px}
.executive-period-filter form{display:grid;gap:11px}
.executive-period-filter .row{gap:12px}
.executive-period-filter .field{gap:6px}
.executive-period-filter .field label{
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  font-size:11.5px;font-weight:600;line-height:1.25;letter-spacing:0;color:#334f60
}
.executive-period-filter input[type="date"]{
  min-height:42px;padding:9px 12px;
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  font-size:13px;font-weight:450;line-height:1.3;letter-spacing:0;color:#173b55
}
.executive-period-apply{
  justify-self:start;min-height:40px;padding:9px 16px!important;border-radius:10px!important;
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;
  font-size:12.5px!important;font-weight:600!important;line-height:1.2!important;letter-spacing:0!important;
  color:#173b55!important;background:#fff!important;border:1px solid #d7e0dc!important;box-shadow:none!important
}
.executive-period-apply:hover{background:#f5f8f6!important;border-color:#bdcec5!important;transform:none!important}
.executive-period-apply:focus-visible,.context-help-open:focus-visible,.context-help-strip-actions a:focus-visible{
  outline:2px solid rgba(49,111,82,.28);outline-offset:3px
}

.executive-report-hero-actions .hero-action{
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  font-size:11.5px;font-weight:600;letter-spacing:0;line-height:1.25;min-height:38px;padding:9px 14px
}
.report-tabs button{
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  font-size:11.5px;font-weight:600;letter-spacing:0;line-height:1.25
}
.report-tabs button.active{font-weight:650}

.report-key-numbers-head span,.engineering-signal small,.executive-finding small,
.comparison-chip small,.impact-column-title small,.period-health-item small,.proposed-action small{
  letter-spacing:0;font-weight:600
}

@media(max-width:700px){
  .context-help-strip-actions{gap:12px}
  .context-help-strip-actions a,.context-help-open{font-size:11px}
  .executive-period-apply{width:100%;justify-content:center}
}


/* =========================================================
   SET34 · estabilidad de ayuda contextual
   ========================================================= */
.context-help-drawer{pointer-events:none;will-change:transform,opacity}
.context-help-drawer.open{pointer-events:auto}
.context-help-tab{transition:opacity .18s ease,transform .18s ease,visibility .18s ease}
body.context-help-open .context-help-tab{opacity:0;visibility:hidden;pointer-events:none;transform:translateX(8px)}
.context-help-drawer [data-help-close]{touch-action:manipulation}


/* =========================================================
   SET35 · cierre integral automatizado
   ========================================================= */
.production-suite-hero{
  display:grid;grid-template-columns:92px minmax(0,1fr) auto;gap:18px;align-items:center;
  padding:18px 20px;border:1px solid #dde7e2;border-radius:16px;background:#fff;
  box-shadow:0 8px 24px rgba(24,58,47,.05)
}
.production-suite-score{
  width:78px;height:78px;border-radius:20px;display:grid;place-items:center;
  align-content:center;background:#eef4f1;color:#173e5d;font-size:27px;font-weight:900
}
.production-suite-score small{font-size:11px;margin-left:2px}
.production-suite-hero h2{margin:0 0 3px;color:#153b55;font-size:18px}
.production-suite-hero p{margin:0;color:#73817a;font-size:10.5px}
.production-suite-hero.ready{border-left:4px solid #4c8668}
.production-suite-hero.warning{border-left:4px solid #c49a48}
.production-suite-hero.blocked{border-left:4px solid #b8635d}
.production-suite-columns{align-items:start}
.production-sequence{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
.production-sequence>div{
  min-height:92px;padding:11px;border:1px solid #e5ebe7;border-radius:11px;background:#fafcfb;
  display:grid;grid-template-columns:28px 1fr;column-gap:8px;align-content:start
}
.production-sequence>div>span{
  grid-row:1/3;width:27px;height:27px;border-radius:9px;display:grid;place-items:center;
  background:#e9f2ed;color:#397158;font-size:10px;font-weight:900
}
.production-sequence strong{font-size:10.5px;color:#173d57}
.production-sequence small{font-size:9.2px;line-height:1.4;color:#77847d}
@media(max-width:1000px){
 .production-suite-hero{grid-template-columns:78px 1fr}.production-suite-hero form{grid-column:1/-1}
 .production-sequence{grid-template-columns:1fr 1fr}
}
@media(max-width:700px){
 .production-suite-hero{grid-template-columns:1fr}.production-suite-score{width:68px;height:68px}
 .production-sequence{grid-template-columns:1fr}
}


/* SET36 · claridad score cierre */
.production-score-note{display:block;margin-top:4px;font-size:9px;line-height:1.4;color:#7c8982}


/* =========================================================
   SET38 · cierre previo a datos reales
   ========================================================= */
.phase-score-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}
.phase-score-card{min-height:96px;padding:13px;border:1px solid #e4eae7;border-radius:12px;background:#fff;display:grid;align-content:center;gap:3px}
.phase-score-card small{font-size:9px;text-transform:uppercase;letter-spacing:.06em;color:#738079;font-weight:750}
.phase-score-card strong{font-size:25px;line-height:1;color:#173e5d}
.phase-score-card span{font-size:9.5px;color:#7c8882}
.phase-score-card.done{background:#f5faf7;border-color:#d9e9df}
.phase-score-card.done strong{color:#337057}
.intake-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:center;padding:12px 0;border-bottom:1px solid #edf1ef}
.intake-row:last-child{border-bottom:0}
.intake-row>div:first-child{display:grid;gap:3px}
.intake-row strong{font-size:11px;color:#173d57}
.intake-row p{margin:0;font-size:9.8px;line-height:1.45;color:#718078}
.intake-row small{font-size:8.8px;color:#87928c}
.intake-actions{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}
@media(max-width:900px){.phase-score-grid{grid-template-columns:1fr 1fr}}
@media(max-width:700px){.phase-score-grid{grid-template-columns:1fr}.intake-row{grid-template-columns:1fr}.intake-actions{justify-content:flex-start}}


/* =========================================================
   SET39 · importador Excel maestro
   ========================================================= */
.master-import-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}
.master-import-summary>div{padding:12px 14px;background:#fff;border:1px solid #e4eae7;border-radius:12px;display:grid;gap:3px}
.master-import-summary small{font-size:8.8px;text-transform:uppercase;letter-spacing:.05em;color:#75827b;font-weight:750}
.master-import-summary strong{font-size:20px;color:#173e5d}
.master-import-summary .good{background:#f5faf7}.master-import-summary .good strong{color:#337057}
.master-import-summary .warn{background:#fffaf0}.master-import-summary .warn strong{color:#9a6700}
.master-import-summary .bad{background:#fff5f3}.master-import-summary .bad strong{color:#a44f49}
.validation-list{margin:8px 0 0;padding-left:20px;display:grid;gap:6px;font-size:10px;color:#6b786f}
.validation-list.bad{color:#9f4d47}
.final-import-card{border-left:4px solid #397158}
@media(max-width:800px){.master-import-summary{grid-template-columns:1fr 1fr}}


/* =========================================================
   SET40 · auditoría transversal
   ========================================================= */
.audit-gate{display:grid;grid-template-columns:72px 1fr;gap:15px;align-items:center;padding:16px 18px;border:1px solid #e1e8e4;border-radius:15px;background:#fff}
.audit-gate-icon{width:58px;height:58px;border-radius:18px;display:grid;place-items:center;background:#eef4f1;color:#2f6d52;font-size:24px;font-weight:900}
.audit-gate small{font-size:8.5px;letter-spacing:.08em;color:#74817b;font-weight:800}.audit-gate h2{margin:2px 0;font-size:21px;color:#173e5d}.audit-gate p{margin:0;font-size:9.5px;color:#728078}
.audit-gate.warning{border-left:4px solid #c99b3b}.audit-gate.warning .audit-gate-icon{background:#fff7e7;color:#9a6900}
.audit-gate.blocked{border-left:4px solid #b96058}.audit-gate.blocked .audit-gate-icon{background:#fff0ee;color:#a44d47}
.audit-layer-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}
.audit-layer-card{padding:11px 12px;border:1px solid #e4eae7;border-radius:11px;background:#fff;display:grid;gap:3px}
.audit-layer-card small{font-size:8.5px;color:#78857e}.audit-layer-card strong{font-size:12px;color:#173e5d}.audit-layer-card span{font-size:8.7px;color:#87928c}
.audit-layer-card.pass{background:#f5faf7}.audit-layer-card.review{background:#fffaf0}.audit-layer-card.blocked{background:#fff5f3}
.audit-check{border-top:1px solid #edf1ef}.audit-check summary{list-style:none;display:grid;grid-template-columns:16px minmax(0,1fr) auto;gap:10px;align-items:center;padding:11px 0;cursor:pointer}
.audit-check summary::-webkit-details-marker{display:none}.audit-check summary>div{display:grid;gap:2px}.audit-check summary strong{font-size:10.5px;color:#173d57}.audit-check summary small{font-size:8px;color:#8b958f}
.audit-check-body{padding:0 26px 12px}.audit-check-body p{font-size:9.5px;line-height:1.5;color:#68766f}.audit-check-body pre{max-height:250px;overflow:auto;padding:10px;border-radius:9px;background:#f6f8f7;border:1px solid #e5eae7;font-size:8.5px;white-space:pre-wrap}
@media(max-width:1100px){.audit-layer-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:700px){.audit-layer-grid{grid-template-columns:1fr 1fr}.audit-gate{grid-template-columns:1fr}.audit-gate-icon{width:50px;height:50px}}

/* SET41 · gestión segura de usuarios */
.user-actions{white-space:nowrap}
.inline-form{display:inline-flex;margin-left:6px}
.btn.danger{background:#fff5f3;border:1px solid #e6c6c2;color:#9b4943}
.btn.danger:hover{background:#fdeae7}
