/* Rediseño visual exclusivo de index2.html. La hoja original queda intacta. */
:root{
  --bg:#f3f6fa;--white:#fff;--surface:#fff;--surface-soft:#f6f8fb;--surface-sunken:#edf2f7;
  --ink:#182536;--ink2:#34465a;--muted:#697b90;--faint:#91a0af;
  --line:#e4eaf1;--line-strong:#cbd6e2;--navy:#102b49;--navy2:#17456b;--blue:#236992;--blue2:#317da8;
  --primary:#17456b;--primary-strong:#102b49;--primary-soft:#eaf2f8;--radius:14px;
  --shadow:0 2px 10px rgba(23,43,66,.045);--sh-1:0 2px 10px rgba(23,43,66,.045);--sh-2:0 8px 24px rgba(23,43,66,.08);
  --focus-ring:0 0 0 3px rgba(49,125,168,.22);
}
:root[data-theme="dark"]{--bg:#0d1723;--white:#141f2c;--surface:#141f2c;--surface-soft:#192636;--surface-sunken:#101a26;--ink:#e9eff6;--ink2:#c9d5e2;--muted:#99a9ba;--line:#273647;--line-strong:#394b5f;--primary-soft:#1a3044}
html,body{min-height:100%;font-size:14px}
body{line-height:1.5;letter-spacing:.005em}
#loginScreen{grid-template-columns:minmax(0,1.05fr) minmax(420px,.95fr);background:var(--bg)}
.login-brand{padding:clamp(30px,5vw,76px);background:radial-gradient(ellipse at 82% 15%,rgba(63,174,106,.16),transparent 35%),linear-gradient(145deg,#102b49 0%,#17456b 58%,#0c5960 120%)}
.login-brand h1{font-size:clamp(30px,3.2vw,44px);letter-spacing:-1.2px;line-height:1.1;max-width:620px}
.login-brand p{font-size:15px;max-width:480px;color:rgba(255,255,255,.78);line-height:1.75}
.login-pills{gap:10px;margin-top:30px!important}
.login-pill{padding:16px;border-radius:14px;background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.12);text-align:left}
.login-pill svg{color:#9ec9b3}.login-pill b{font-size:13px}
.login-form{padding:clamp(22px,5vw,72px);background:var(--bg)}
.login-box{max-width:440px}.login-card{padding:clamp(22px,3vw,32px);border-radius:18px;box-shadow:0 14px 40px rgba(17,39,62,.08)}
.brand-inline .bn{letter-spacing:-.3px}.login-foot{font-size:12px;line-height:1.6;margin-top:18px}
#app{background:var(--bg)}
#sidebar{background:var(--white);backdrop-filter:none;border-right:1px solid var(--line);box-shadow:5px 0 22px rgba(23,43,66,.025)}
.sb-head{padding:16px 18px;border-bottom-color:var(--line);min-height:66px}
.sb-nav{padding:14px 12px}
.sb-top{padding:10px 12px;border-radius:10px;font-size:13px;color:var(--ink2)}
.sb-top.active{background:#eaf2f8;color:#17456b}.sb-top.active svg{color:#17456b}
:root[data-theme="dark"] .sb-top.active{background:#1a3044;color:#b8d9ee}:root[data-theme="dark"] .sb-top.active svg{color:#b8d9ee}
.sb-group{margin-top:10px}.sb-group>.gh{padding:9px 10px}
.sb-foot{padding:12px;border-top:1px solid var(--line)}
.main{min-height:100vh}
#topbar{height:68px;padding:0 28px;gap:14px;background:var(--white);backdrop-filter:none;border-bottom:1px solid var(--line);box-shadow:none}
.crumb{font-size:13px;color:var(--muted)}
.top-search{max-width:360px;margin-left:auto}
.top-search .input{border-color:transparent;background:var(--surface-soft);border-radius:10px;height:40px}
.top-search .input:focus{border-color:var(--blue2);background:var(--white)}
.account-trigger{border-radius:12px;padding:5px 8px}.account-trigger:hover{background:var(--surface-soft)}
#content{padding:30px clamp(20px,3vw,44px) 48px;max-width:1660px;width:100%;margin:0 auto}
.page-head{align-items:center;gap:20px;margin-bottom:24px}
.page-head h2{font-size:24px;letter-spacing:-.55px;font-weight:700;gap:10px}
.page-head h2 svg{width:22px;height:22px;color:var(--blue2)}
.page-head .sub{font-size:13px;margin-top:5px;line-height:1.55}
.card{border-color:var(--line);border-radius:14px;box-shadow:var(--sh-1)}
.btn{min-height:38px;border-radius:9px;padding:8px 13px;font-size:13px;font-weight:600;transition:background .16s,border-color .16s,color .16s,box-shadow .16s,transform .12s}
.btn:hover{box-shadow:0 2px 7px rgba(16,43,73,.08)}.btn:active{transform:translateY(1px) scale(.99)}
.btn-primary{background:#174f75;border-color:#174f75}.btn-primary:hover{background:#103c5e;border-color:#103c5e}
.btn-green{background:#208252;border-color:#208252}.btn-gold{color:#17283a}
.btn:disabled,.btn[disabled]{opacity:.48;cursor:not-allowed;box-shadow:none;transform:none}
.input,select,textarea{min-height:40px;border-color:var(--line-strong);border-radius:9px;padding:9px 12px;font-size:13px}
.input::placeholder,textarea::placeholder{color:#9aa8b7}
.label{font-size:11px;letter-spacing:.055em;margin-bottom:7px}
.modal-bg{background:rgba(13,28,43,.48)}
.modal{border:1px solid var(--line);border-radius:18px;box-shadow:0 24px 70px rgba(10,27,43,.24)}
.toast{border-radius:12px;box-shadow:var(--sh-2)}
.chip{padding:4px 9px;font-size:11px}
.table-wrap{border:1px solid var(--line);border-radius:12px;overflow:auto;background:var(--white)}
table{border-collapse:separate;border-spacing:0}
thead th{background:var(--surface-soft);color:var(--muted);font-size:10.5px;letter-spacing:.055em;text-transform:uppercase}
tbody tr:hover{background:var(--surface-soft)}
@media(max-width:900px){
 #loginScreen{grid-template-columns:1fr}.login-brand{min-height:280px;padding:30px 26px}.login-brand p{margin-bottom:0}.login-pills{margin-top:16px!important}
 .login-brand>div:last-child{display:none}.login-form{padding:28px 18px 40px}
 #topbar{height:62px;padding:0 16px;gap:8px}.top-search{max-width:240px}
 #content{padding:24px 18px 38px}
}
@media(max-width:640px){
 #loginScreen{display:flex;flex-direction:column}.login-brand{min-height:auto;padding:22px 20px 18px;gap:20px}.login-brand>.brand-inline svg{width:38px;height:38px}.login-brand h1{font-size:27px}.login-brand p{font-size:13px;margin-top:8px!important}.login-pills{display:none}
 .login-form{padding:22px 16px 34px}.login-form>.login-box>.brand-inline{display:none!important}.login-card{padding:22px 18px}
 #topbar{padding:0 12px}.crumb{display:none}.top-search{flex:1;max-width:none;min-width:80px}.top-search .input{font-size:12px;padding-left:34px}.user-meta{display:none!important}.account-trigger{padding:3px}.account-chevron{display:none}
 #content{padding:20px 14px 32px}.page-head{align-items:flex-start;margin-bottom:18px}.page-head h2{font-size:21px}.page-head>.row{width:100%;flex-wrap:wrap}
 .card{border-radius:12px}
}


/* Tables rendered by the module views */
.tbl-wrap{border:1px solid var(--line);border-radius:12px;overflow:auto;background:var(--white)}
table.data{border-collapse:separate;border-spacing:0}
table.data thead th{background:var(--surface-soft);color:var(--muted);font-size:10.5px;letter-spacing:.055em;text-transform:uppercase}
table.data tbody tr:hover{background:var(--surface-soft)}

/* Presentación compacta del dashboard y gráficos en móvil */
@media(max-width:640px){
  .orbit-section{padding:14px;border-radius:18px}
  .orbit-wrap{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;width:100%;max-width:none;aspect-ratio:auto;overflow:visible;padding:0;scroll-snap-type:none;-webkit-overflow-scrolling:auto}
  .orbit-svg{display:none}
  .orbit-hub{position:relative;grid-column:1/-1;left:auto;top:auto;transform:none;width:100%;height:auto;min-height:158px;aspect-ratio:auto;flex:none;border-radius:16px;padding:17px 16px 15px;animation:none;scroll-snap-align:none}
  .orbit-hub .oh-icon{width:34px;height:34px}.orbit-hub .oh-t{font-size:16px;margin-top:7px}.orbit-hub .oh-s{font-size:11px}
  .orbit-hub .oh-stats{position:static;transform:none;width:100%;margin-top:13px;padding-top:10px;grid-template-columns:repeat(3,minmax(0,1fr))}
  .orbit-hub .oh-stat b{font-size:19px}.orbit-hub .oh-stat span{font-size:9px;margin-top:4px}
  .orbit-node{position:relative;left:auto;top:auto;transform:none!important;width:100%;height:auto;aspect-ratio:1.12/1;flex:none;scroll-snap-align:none;animation:none;min-width:0}
  .orbit-node .on-c{border-radius:14px;padding:12px 8px;box-shadow:0 2px 8px rgba(28,50,72,.06)}
  .orbit-node .on-c svg{width:28px;height:28px;padding:9px;box-sizing:content-box}.orbit-node .on-t{font-size:13px;margin-top:8px;line-height:1.2}.orbit-node .on-n{font-size:10px;margin-top:4px}
  .orbit-node .orbit-arc{display:none}.orbit-node:hover,.orbit-node:active{transform:none!important}.orbit-node.sel .on-c{box-shadow:0 0 0 3px rgba(199,154,58,.2),0 5px 14px rgba(16,24,40,.12)}
  .orbit-popover{width:min(300px,calc(100vw - 52px));max-width:calc(100vw - 52px)}.orbit-tip{display:none}

  /* Escala completa al ancho disponible, sin scroll horizontal en los gráficos */
  .dashboard-trend .trend-scroll,.executive-trend .exec-trend-scroll{overflow:hidden}
  .dashboard-trend .trend-svg,.executive-trend .exec-trend-svg{width:100%;min-width:0;max-width:100%;height:auto}
  .dashboard-trend .trend-svg text,.executive-trend .exec-trend-svg text{font-size:12px}
  .exec-analysis .chart-card{overflow:hidden}
  .exec-analysis .chart-svg{width:100%;min-width:0;max-width:100%;height:auto;margin:0}
  .exec-analysis .chart-svg text{font-size:12px}
}
