/* ============================================================
   CORE SOFT UI - BASE
   Capa visual final. Se carga después de dashboard.css y
   analisis-horas.css; no modifica contratos, IDs ni comportamiento.
   ============================================================ */

:root,
html[data-theme="dark"]{
  color-scheme:dark;
  --core-orange:#FF5C33;
  --core-orange-hover:#FF6E4A;
  --core-orange-soft:rgba(255,92,51,.12);
  --core-orange-border:rgba(255,92,51,.28);
  --ui-bg:#071521;
  --ui-bg-deep:#06111C;
  --ui-sidebar:#081621;
  --ui-topbar:#0A1824;
  --ui-surface:#0D1B28;
  --ui-surface-raised:#10202D;
  --ui-surface-secondary:#0A1824;
  --ui-surface-hover:#132635;
  --ui-input:#091722;
  --ui-table-head:#091722;
  --ui-text:#F5F7FA;
  --ui-muted:#8493A1;
  --ui-muted-strong:#A9B5BF;
  --ui-border:rgba(255,255,255,.07);
  --ui-border-strong:rgba(255,255,255,.12);
  --ui-line:rgba(255,255,255,.065);
  --ui-radius-xl:22px;
  --ui-radius-lg:18px;
  --ui-radius-md:12px;
  --ui-radius-sm:9px;
  --ui-shadow:0 16px 38px rgba(0,0,0,.24),inset 0 1px 0 rgba(255,255,255,.018);
  --ui-shadow-soft:0 9px 24px rgba(0,0,0,.18),inset 0 1px 0 rgba(255,255,255,.016);
  --ui-shadow-control:0 5px 14px rgba(0,0,0,.16),inset 0 1px 0 rgba(255,255,255,.02);
  --bg:var(--ui-bg);
  --sidebar:var(--ui-sidebar);
  --sidebar-soft:#0C1C29;
  --card:var(--ui-surface);
  --panel:var(--ui-surface);
  --surface:var(--ui-surface-raised);
  --ink:var(--ui-text);
  --text:var(--ui-text);
  --muted:var(--ui-muted);
  --border:var(--ui-border);
  --line:var(--ui-line);
  --accent:var(--core-orange);
  --blue:var(--core-orange);
  --radius:var(--ui-radius-md);
  --shadow:var(--ui-shadow-soft);
}

html[data-theme="light"]{
  color-scheme:light;
  --ui-bg:#EEF1F3;
  --ui-bg-deep:#E8ECEF;
  --ui-surface:#FFFFFF;
  --ui-surface-raised:#FFFFFF;
  --ui-surface-secondary:#F7F8F9;
  --ui-surface-hover:#F2F5F7;
  --ui-input:#F7F8F9;
  --ui-table-head:#F3F6F8;
  --ui-text:#17212B;
  --ui-muted:#6A7683;
  --ui-muted-strong:#4D5B67;
  --ui-border:#DDE4E9;
  --ui-border-strong:#CBD5DC;
  --ui-line:#E6EBEF;
  --ui-shadow:0 16px 36px rgba(42,55,66,.10),inset 0 1px 0 rgba(255,255,255,.85);
  --ui-shadow-soft:0 8px 22px rgba(42,55,66,.08),inset 0 1px 0 rgba(255,255,255,.82);
  --ui-shadow-control:0 4px 12px rgba(42,55,66,.08),inset 0 1px 0 rgba(255,255,255,.80);
  --bg:var(--ui-bg);
  --card:var(--ui-surface);
  --panel:var(--ui-surface);
  --surface:var(--ui-surface-secondary);
  --ink:var(--ui-text);
  --text:var(--ui-text);
  --muted:var(--ui-muted);
  --border:var(--ui-border);
  --line:var(--ui-line);
  --shadow:var(--ui-shadow-soft);
}

html,body{background:var(--ui-bg-deep) !important}
body{margin:0;font-family:"Roboto",system-ui,sans-serif !important;color:var(--ui-text) !important;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
button,input,select,textarea{font-family:inherit !important}
::selection{background:rgba(255,92,51,.26);color:#fff}
*{scrollbar-width:thin;scrollbar-color:#314352 transparent}
*::-webkit-scrollbar{width:8px;height:8px}
*::-webkit-scrollbar-track{background:transparent}
*::-webkit-scrollbar-thumb{border:2px solid transparent;border-radius:999px;background:#314352;background-clip:padding-box}
.app,.main{background:var(--ui-bg) !important}
.main{min-width:0;overflow:visible !important}
.content,#dashboardView,#configView,#ventasTableroSedeView,#rrhhHorasView{color:var(--ui-text);background:transparent !important}

/* Shell lateral: se mantiene oscuro en ambos temas. */
.sidebar{width:230px !important;flex:0 0 230px !important;background:linear-gradient(180deg,#091824 0%,#07131D 100%) !important;border-right:1px solid rgba(255,255,255,.055) !important;box-shadow:8px 0 24px rgba(0,0,0,.16) !important}
.sidebar.hidden{width:0 !important;flex-basis:0 !important}
.brand{min-width:230px !important;padding:27px 27px 24px !important;border-bottom:1px solid rgba(255,255,255,.05) !important;background:transparent !important}
.brand strong{color:#fff !important;-webkit-text-fill-color:#fff !important;opacity:1 !important;font-family:"Roboto",system-ui,sans-serif !important;font-size:27px !important;font-weight:900 !important;letter-spacing:.20em !important;text-shadow:none !important}
.brand strong::before,.brand strong::after{display:none !important;content:none !important}
.nav{min-width:230px !important;padding:16px 14px !important;gap:6px !important}
.nav-module,.nav-group-trigger{min-height:43px !important;padding:9px 11px !important;border:1px solid transparent !important;border-radius:11px !important;background:transparent !important;color:#D6DFE6 !important;font-size:11px !important;font-weight:700 !important;letter-spacing:.075em !important;text-transform:uppercase !important;transition:background .18s ease,border-color .18s ease,color .18s ease !important}
.nav-module>span:last-child,.nav-group-trigger .nav-label>span:last-child{letter-spacing:.075em !important;text-transform:uppercase !important}
.nav-module:hover,.nav-group-trigger:hover{color:#fff !important;background:rgba(255,255,255,.035) !important;border-color:rgba(255,255,255,.05) !important}
.nav-module.active,.nav-group-trigger.active{color:#fff !important;background:rgba(255,92,51,.105) !important;border-color:rgba(255,92,51,.18) !important;box-shadow:0 5px 14px rgba(0,0,0,.10) !important}
.nav-icon{width:24px !important;height:24px !important;border:0 !important;border-radius:8px !important;background:transparent !important;color:#AAB7C1 !important;font-weight:800 !important;letter-spacing:0 !important}
.nav-module.active .nav-icon,.nav-group-trigger.active .nav-icon{color:var(--core-orange) !important}
.nav-sub{padding:4px 0 3px 11px !important}
.nav-subitem{min-height:35px !important;padding:8px 10px !important;border:1px solid transparent !important;border-radius:9px !important;color:#8D9BA7 !important;font-size:10px !important;font-weight:700 !important;letter-spacing:.035em !important;text-transform:uppercase !important}
.nav-subitem:hover{color:#DDE5EA !important;background:rgba(255,255,255,.025) !important}
.nav-subitem.active{color:#fff !important;background:rgba(255,92,51,.08) !important;border-color:rgba(255,92,51,.14) !important}
.nav-dot{width:5px !important;height:5px !important;background:var(--core-orange) !important;box-shadow:0 0 0 3px rgba(255,92,51,.07) !important}
.sidebar-footer{min-width:230px !important;padding:13px 14px 16px !important;border-top:1px solid rgba(255,255,255,.05) !important;background:rgba(3,9,14,.10) !important}
.sidebar-footer-button{min-height:38px;padding:7px 9px !important;border:1px solid rgba(255,255,255,.065) !important;border-radius:10px !important;background:#0D1D29 !important;color:#B8C3CC !important;box-shadow:0 4px 12px rgba(0,0,0,.13) !important}
.sidebar-footer-button:hover{color:#fff !important;border-color:rgba(255,92,51,.20) !important;background:#102230 !important}
.sidebar-footer-button span:first-child{width:24px !important;height:24px !important;border:0 !important;color:var(--core-orange) !important}
.sidebar-footer-copy{padding:12px 6px 0 !important;color:rgba(218,227,234,.40) !important;font-size:9px !important}

/* Topbar oscuro en ambos temas para conservar identidad CORE. */
.topbar{position:relative !important;z-index:1000 !important;min-height:74px !important;padding:14px 22px !important;overflow:visible !important;isolation:isolate;background:linear-gradient(180deg,#0C1B28 0%,#091722 100%) !important;border-bottom:1px solid rgba(255,255,255,.055) !important;box-shadow:0 8px 22px rgba(0,0,0,.14) !important;color:#fff !important}
.top-left{gap:15px !important}
.top-actions{position:relative;z-index:1001;overflow:visible !important}
.sidebar-toggle,.theme-switch,.refresh-data-button{border:1px solid rgba(255,255,255,.075) !important;background:#10212F !important;color:#DCE5EA !important;box-shadow:0 4px 12px rgba(0,0,0,.13) !important}
.sidebar-toggle{min-width:44px !important;height:40px !important;border-radius:11px !important}
.sidebar-toggle:hover,.refresh-data-button:hover{border-color:rgba(255,92,51,.20) !important;background:#132634 !important;box-shadow:0 5px 14px rgba(0,0,0,.15) !important}
.top-title .eyebrow,.page-head .eyebrow{margin-bottom:4px !important;color:#94A3AF !important;font-size:8.5px !important;font-weight:700 !important;letter-spacing:.12em !important}
.top-title h1,#pageTitle{color:#F5F7FA !important;font-size:21px !important;font-weight:700 !important;letter-spacing:-.022em !important}
.title-line>span,#pageSubtitle{color:#8493A1 !important;font-weight:500 !important}
.theme-switch{min-height:40px !important;padding:3px !important;border-radius:11px !important}
.theme-option{border-radius:8px !important;color:#8795A1 !important;box-shadow:none !important}
.theme-option:hover{color:#DDE5EA !important;background:rgba(255,255,255,.035) !important}
.theme-option.active,.theme-option[aria-pressed="true"]{color:#fff !important;background:#172A39 !important;box-shadow:0 2px 7px rgba(0,0,0,.15) !important}
.notification-button{width:40px !important;height:40px !important;border:1px solid transparent !important;border-radius:11px !important}
.notification-button:hover{background:#10212F !important;border-color:rgba(255,255,255,.07) !important}
.notification-badge{background:var(--core-orange) !important;border-color:#0A1824 !important}
.user-panel{position:relative !important;z-index:1100 !important;min-width:185px;padding:4px 5px 4px 0 !important;overflow:visible !important;border-left:0 !important;border-radius:11px}
.user-panel:hover,.user-panel.open{background:rgba(255,255,255,.032) !important}
.user-avatar{background:#142633 !important;color:#F7F9FA !important;border:1px solid rgba(255,255,255,.08) !important;box-shadow:0 4px 12px rgba(0,0,0,.13) !important}
.user-copy strong,#userDisplayName{color:#EDF2F5 !important}
.user-copy span,#userDisplayEmail{color:#7F8E9A !important}
.user-menu{position:absolute !important;z-index:1200 !important;top:calc(100% + 10px) !important;right:0 !important;width:270px !important;padding:8px !important;overflow:visible !important;visibility:visible;pointer-events:auto !important;border:1px solid rgba(255,255,255,.09) !important;border-radius:14px !important;background:#0E1D29 !important;box-shadow:0 22px 48px rgba(0,0,0,.36) !important}
.user-menu[hidden]{display:none !important;visibility:hidden !important;pointer-events:none !important}
.user-menu-head{border-bottom-color:rgba(255,255,255,.075) !important}
#userMenuName{color:#fff !important}
#userMenuEmail{color:#91A0AC !important}
.user-menu-action{position:relative;z-index:1;color:#F1F5F7 !important;pointer-events:auto !important}
.user-menu-action:hover,.user-menu-action:focus-visible{color:#fff !important;background:rgba(255,92,51,.10) !important;outline:none}

/* Superficies y controles compartidos. */
.surface,.section,.future-card,.visual-data-card,.absence-metric-card,.rotation-metric-card,.rotation-reason-card,.role,.stat,.kpi,.person-card,.config-card,.ventas-demo-surface,.ventas-demo-card{color:var(--ui-text) !important;border-color:var(--ui-border) !important;background:var(--ui-surface-raised) !important;box-shadow:var(--ui-shadow-soft) !important}
.surface,.config-card,.ventas-demo-surface{border-radius:var(--ui-radius-xl) !important}
.section,.visual-data-card,.ventas-demo-card{border-radius:var(--ui-radius-lg) !important}
.period-toolbar,.filter-box,.actions,.notice,.msel-panel,.motivos-pop,.rotation-pop-note,.pop-note{color:var(--ui-text) !important;border-color:var(--ui-border) !important;background:var(--ui-surface) !important;box-shadow:var(--ui-shadow-control) !important}
.section-title,.kpi .value,.stat .n,.role-name,.visual-card-heading span,.metric-card-copy b,.rotation-metric-copy b,.rotation-reason-head b,.person-title,.config-card-title,.ventas-demo-card h3,.ventas-demo-kpi strong{color:var(--ui-text) !important}
.section-note,.kpi .label,.kpi .hint,.stat .l,.role .step-top,.visual-card-heading small,.metric-card-copy span,.metric-card-copy small,.rotation-metric-copy span,.rotation-metric-copy small,.person-meta,.config-card-copy,.ventas-demo-kpi small,.ventas-demo-kpi em{color:var(--ui-muted) !important}
.select,.search-input,.msel-year-select,.config-input,.config-select,.ventas-demo-filter select,.filter-box select,.filter-box input{color:var(--ui-text) !important;background:var(--ui-input) !important;border-color:var(--ui-border-strong) !important;box-shadow:none !important}
.select:hover,.search-input:hover,.msel-year-select:hover,.config-input:hover,.config-select:hover,.ventas-demo-filter select:hover{border-color:var(--ui-muted) !important}
.select:focus,.search-input:focus,.msel-year-select:focus,.config-input:focus,.config-select:focus,.ventas-demo-filter select:focus,.filter-box select:focus,.filter-box input:focus{border-color:rgba(255,92,51,.56) !important;box-shadow:0 0 0 3px rgba(255,92,51,.09) !important;outline:none !important}
select option{color:var(--ui-text) !important;background:var(--ui-surface) !important}
.btn,.config-secondary-button,.config-back-button,.config-edit-user-button{color:var(--ui-text) !important;border-color:var(--ui-border) !important;background:var(--ui-surface-secondary) !important;border-radius:10px !important;box-shadow:var(--ui-shadow-control) !important}
.btn:hover,.config-secondary-button:hover,.config-back-button:hover,.config-edit-user-button:hover{color:var(--ui-text) !important;border-color:var(--ui-border-strong) !important;background:var(--ui-surface-hover) !important}
.btn.primary,.config-primary-button,.horas-primary-button{color:#fff !important;border-color:#FF6845 !important;background:linear-gradient(180deg,#FF6845 0%,#EF5030 100%) !important;box-shadow:0 7px 17px rgba(255,92,51,.17),inset 0 1px 0 rgba(255,255,255,.14) !important}
.btn.primary:hover,.config-primary-button:hover,.horas-primary-button:hover{transform:translateY(-1px);box-shadow:0 9px 20px rgba(255,92,51,.21),inset 0 1px 0 rgba(255,255,255,.15) !important}
.preset,.msel-opt,.tag,.badge,.motivo-chip,.ranking-position{color:var(--ui-muted-strong) !important;border-color:var(--ui-border) !important;background:var(--ui-surface-secondary) !important}
.preset:hover,.msel-opt:hover{color:var(--ui-text) !important;background:var(--ui-surface-hover) !important}
.msel-opt.checked{color:var(--core-orange) !important;border-color:var(--core-orange-border) !important;background:var(--core-orange-soft) !important}
.person-stat,.track{color:var(--ui-text) !important;border-color:var(--ui-border) !important;background:var(--ui-surface-secondary) !important}
.table-wrap,.ranking-ausencias-scroll,.horas-table-wrap,.ventas-demo-table-wrap{border-color:var(--ui-border) !important;background:var(--ui-surface) !important}
table,.ranking-table,.ventas-demo-table,.horas-table{color:var(--ui-text) !important;background:transparent !important}
thead th,.ranking-table thead th,.ventas-demo-table th,.horas-table th{color:var(--ui-muted) !important;border-bottom-color:var(--ui-line) !important;background:var(--ui-table-head) !important}
tbody td,.ranking-table tbody td,.ventas-demo-table td,.horas-table td{color:var(--ui-text) !important;border-bottom-color:var(--ui-line) !important;background:transparent !important}
tbody tr:hover td,.ranking-table tbody tr:hover td,.ventas-demo-table tbody tr:hover td,.horas-table tbody tr:hover td{background:var(--ui-surface-hover) !important}

/* ============================================================
   CORE SOFT UI - DARK
   ============================================================ */

html[data-theme="dark"] .home-google-status-badge.is-connected{color:#67D79A !important;border-color:rgba(53,200,120,.22) !important;background:rgba(53,200,120,.10) !important}
html[data-theme="dark"] .motivo-chip.ausencia-justificada,html[data-theme="dark"] .horas-status.ok{color:#72DCA1 !important;border-color:rgba(53,200,120,.24) !important;background:rgba(53,200,120,.10) !important}

/* ============================================================
   CORE SOFT UI - LIGHT
   La paleta clara es propia; el shell conserva identidad oscura.
   ============================================================ */

html[data-theme="light"] body,html[data-theme="light"] .app,html[data-theme="light"] .main{color:var(--ui-text) !important;background:var(--ui-bg) !important}
html[data-theme="light"] .sidebar{background:linear-gradient(180deg,#091824 0%,#07131D 100%) !important}
html[data-theme="light"] .topbar{color:#fff !important;background:linear-gradient(180deg,#0C1B28 0%,#091722 100%) !important}
html[data-theme="light"] .surface,html[data-theme="light"] .section,html[data-theme="light"] .future-card,html[data-theme="light"] .visual-data-card,html[data-theme="light"] .absence-metric-card,html[data-theme="light"] .rotation-metric-card,html[data-theme="light"] .rotation-reason-card,html[data-theme="light"] .role,html[data-theme="light"] .stat,html[data-theme="light"] .kpi,html[data-theme="light"] .person-card,html[data-theme="light"] .config-card,html[data-theme="light"] .ventas-demo-surface,html[data-theme="light"] .ventas-demo-card{color:var(--ui-text) !important;border-color:var(--ui-border) !important;background:var(--ui-surface-raised) !important;box-shadow:var(--ui-shadow-soft) !important}
html[data-theme="light"] .period-toolbar,html[data-theme="light"] .filter-box,html[data-theme="light"] .actions,html[data-theme="light"] .notice,html[data-theme="light"] .msel-panel,html[data-theme="light"] .motivos-pop,html[data-theme="light"] .config-user-row,html[data-theme="light"] .config-password-box,html[data-theme="light"] .config-switch-row,html[data-theme="light"] .config-module-card,html[data-theme="light"] .permissions-note{color:var(--ui-text) !important;border-color:var(--ui-border) !important;background:var(--ui-surface) !important;box-shadow:var(--ui-shadow-control) !important}
html[data-theme="light"] .config-input,html[data-theme="light"] .config-select,html[data-theme="light"] .select,html[data-theme="light"] .search-input,html[data-theme="light"] .msel-year-select,html[data-theme="light"] .ventas-demo-filter select{color:var(--ui-text) !important;border-color:var(--ui-border) !important;background:var(--ui-input) !important}
html[data-theme="light"] .rotation-reason-head,html[data-theme="light"] .ranking-section-head,html[data-theme="light"] .visual-card-heading,html[data-theme="light"] .footer{border-color:var(--ui-line) !important}
html[data-theme="light"] .config-card-title,html[data-theme="light"] .config-field label,html[data-theme="light"] .config-switch-copy b,html[data-theme="light"] .permissions-head h3,html[data-theme="light"] .permission-module-title,html[data-theme="light"] .ventas-demo-total strong,html[data-theme="light"] .ventas-demo-selected h3{color:var(--ui-text) !important}
html[data-theme="light"] .config-card-copy,html[data-theme="light"] .config-switch-copy span,html[data-theme="light"] .permissions-head p,html[data-theme="light"] .permissions-note,html[data-theme="light"] .ventas-demo-footer,html[data-theme="light"] .ventas-demo-progress-copy{color:var(--ui-muted) !important}
html[data-theme="light"] .ventas-demo-total{color:var(--ui-text) !important;border-color:var(--ui-border) !important;background:var(--ui-surface-secondary) !important;box-shadow:none !important}
html[data-theme="light"] .ventas-demo-total span,html[data-theme="light"] .ventas-demo-total small{color:var(--ui-muted) !important}
html[data-theme="light"] .motivo-chip.ausencia-justificada{color:#167A42 !important;border-color:#BDE8CC !important;background:#E9F8EF !important}
html[data-theme="light"] .motivo-chip.ausencia-injustificada{color:#B33A32 !important;border-color:#F4C8C4 !important;background:#FDEDEC !important}
html[data-theme="light"] .motivo-chip.ausencia-sin-clasificacion{color:#5E6873 !important;border-color:#D8DEE4 !important;background:#EEF1F4 !important}
html[data-theme="light"] .motivo-chip.ausencia-justificada+.motivo-count{color:#167A42 !important;border:1px solid #BDE8CC !important;background:#E9F8EF !important}
html[data-theme="light"] .motivo-chip.ausencia-injustificada+.motivo-count{color:#B33A32 !important;border:1px solid #F4C8C4 !important;background:#FDEDEC !important}
html[data-theme="light"] .home-google-status-badge.is-connected{color:#167A42 !important;border-color:#BDE8CC !important;background:#E9F8EF !important;box-shadow:none !important}

/* ============================================================
   CORE SOFT UI - HOME
   ============================================================ */

.home-view{min-height:calc(100vh - 74px) !important;padding:20px !important;background:var(--ui-bg) !important}
.home-hero{position:relative !important;min-height:140px !important;padding:28px 36px !important;overflow:hidden !important;color:var(--ui-text) !important;border:1px solid var(--ui-border) !important;border-radius:var(--ui-radius-xl) !important;background:var(--ui-surface-raised) !important;box-shadow:var(--ui-shadow) !important}
html[data-theme="dark"] body .home-hero,html[data-theme="light"] body .home-hero{background:var(--ui-surface-raised) !important;border-color:var(--ui-border) !important;box-shadow:var(--ui-shadow) !important}
.home-hero::before,.home-hero::after{display:none !important;content:none !important}
.home-hero .home-kicker{display:none !important}
.home-hero-copy{position:relative;z-index:2}
.home-hero h2{margin:0 !important;color:var(--ui-text) !important;font-size:clamp(26px,2.25vw,34px) !important;line-height:1.08 !important;font-weight:700 !important;letter-spacing:-.03em !important}
.home-hero p{margin:10px 0 0 !important;color:var(--ui-muted) !important;font-size:14px !important}
.home-hero-mark{position:absolute !important;top:50% !important;right:34px !important;display:block !important;transform:translateY(-50%) !important;color:rgba(235,241,245,.11) !important;background:none !important;font-family:"Roboto",system-ui,sans-serif !important;font-size:clamp(58px,6vw,88px) !important;line-height:1 !important;font-weight:900 !important;letter-spacing:.14em !important;text-shadow:none !important;filter:none !important;opacity:1 !important}
html[data-theme="dark"] body .home-hero-mark{top:50% !important;right:34px !important;transform:translateY(-50%) !important;color:#FFFFFF !important;-webkit-text-fill-color:#FFFFFF !important;font-size:clamp(58px,6vw,88px) !important;letter-spacing:.14em !important;text-shadow:none !important;filter:none !important}
html[data-theme="light"] body .home-hero{color:#000 !important;border-color:#DDE4E9 !important;background:#FFFFFF !important}
html[data-theme="light"] body .home-hero h2{color:#000 !important}
html[data-theme="light"] body .home-hero p{color:#52606C !important}
html[data-theme="light"] body .home-hero-mark{top:50% !important;right:34px !important;transform:translateY(-50%) !important;color:#000000 !important;-webkit-text-fill-color:#000000 !important;font-size:clamp(58px,6vw,88px) !important;letter-spacing:.14em !important;text-shadow:none !important;filter:none !important}
.home-workspace-grid{display:grid !important;grid-template-columns:minmax(0,1.72fr) minmax(250px,1fr) minmax(230px,.86fr) !important;gap:16px !important;margin-top:16px !important;align-items:stretch !important}
.home-calendar-card{grid-column:span 2;display:grid !important;grid-template-columns:minmax(0,1.72fr) minmax(250px,1fr) !important;grid-template-rows:auto auto auto auto !important;gap:0 16px !important;padding:0 !important;overflow:visible !important;border:0 !important;border-radius:0 !important;background:transparent !important;box-shadow:none !important}
.home-calendar-card::before,.home-calendar-card::after,.home-activity-card::before,.home-activity-card::after{display:none !important;content:none !important}
html[data-theme="dark"] body .home-calendar-card,html[data-theme="light"] body .home-calendar-card{overflow:visible !important;border:0 !important;background:transparent !important;box-shadow:none !important}
html[data-theme="dark"] body .home-calendar-card::before,html[data-theme="dark"] body .home-calendar-card::after,html[data-theme="dark"] body .home-activity-card::before,html[data-theme="dark"] body .home-activity-card::after,html[data-theme="light"] body .home-calendar-card::before,html[data-theme="light"] body .home-calendar-card::after,html[data-theme="light"] body .home-activity-card::before,html[data-theme="light"] body .home-activity-card::after{display:none !important;content:none !important}
.home-calendar-card>.home-card-head{grid-column:1;grid-row:1;margin:0 !important;padding:16px 18px 10px !important;border:1px solid var(--ui-border) !important;border-bottom:0 !important;border-radius:var(--ui-radius-lg) var(--ui-radius-lg) 0 0 !important;background:var(--ui-surface-raised) !important}
.home-card-kicker{color:var(--core-orange) !important;font-size:9px !important;font-weight:800 !important;letter-spacing:.075em !important}
.home-card-head h3{color:var(--ui-text) !important;font-size:18px !important;font-weight:700 !important}
.home-card-head p{color:var(--ui-muted) !important;font-size:11px !important;line-height:1.45 !important}
.home-google-status-badge{color:var(--ui-muted-strong) !important;border-color:var(--ui-border) !important;background:var(--ui-surface-secondary) !important;border-radius:999px !important}
.home-google-connection{grid-column:1;grid-row:2;margin:0 !important;padding:8px 18px 11px !important;border:1px solid var(--ui-border) !important;border-top:0 !important;border-bottom:0 !important;border-radius:0 !important;color:var(--ui-text) !important;background:var(--ui-surface-raised) !important;box-shadow:none !important}
html[data-theme="dark"] body .home-google-connection,html[data-theme="light"] body .home-google-connection{color:var(--ui-text) !important;border-color:var(--ui-border) !important;background:var(--ui-surface-raised) !important;box-shadow:none !important}
.home-google-connection-copy b{color:var(--ui-text) !important}
.home-google-connection-copy span{color:var(--ui-muted) !important}
.home-google-oauth-message{grid-column:1;grid-row:3;margin:0 !important;padding:0 20px !important;border-right:1px solid var(--ui-border);border-left:1px solid var(--ui-border);color:var(--ui-muted);background:var(--ui-surface-raised)}
.home-google-oauth-message:empty{min-height:0 !important;padding-top:0 !important;padding-bottom:0 !important}
.home-calendar-layout{display:contents !important}
.home-calendar-layout[hidden]{display:none !important}
.home-calendar-month{grid-column:1;grid-row:4;min-width:0;min-height:0 !important;padding:12px 16px 14px !important;overflow:hidden !important;color:var(--ui-text) !important;border:1px solid var(--ui-border) !important;border-top:1px solid var(--ui-line) !important;border-radius:0 0 var(--ui-radius-lg) var(--ui-radius-lg) !important;background:var(--ui-surface-raised) !important;box-shadow:var(--ui-shadow-soft) !important}
html[data-theme="dark"] body .home-calendar-month,html[data-theme="light"] body .home-calendar-month{color:var(--ui-text) !important;border-color:var(--ui-border) !important;background:var(--ui-surface-raised) !important;box-shadow:var(--ui-shadow-soft) !important}
.home-agenda{grid-column:2;grid-row:1/5;min-width:0;min-height:0 !important;height:auto !important;padding:16px !important;display:flex;flex-direction:column;overflow:hidden !important;color:var(--ui-text) !important;border:1px solid var(--ui-border) !important;border-radius:var(--ui-radius-lg) !important;background:var(--ui-surface-raised) !important;box-shadow:var(--ui-shadow-soft) !important}
html[data-theme="dark"] body .home-agenda,html[data-theme="light"] body .home-agenda{color:var(--ui-text) !important;border-color:var(--ui-border) !important;background:var(--ui-surface-raised) !important;box-shadow:var(--ui-shadow-soft) !important}
.home-agenda-list{flex:1}
.home-agenda-head{color:var(--ui-muted-strong) !important;border-bottom-color:var(--ui-line) !important}
.home-agenda-item,.home-agenda-empty{border-color:var(--ui-line) !important;color:var(--ui-text) !important}
.home-agenda-item-button:hover{background:var(--ui-surface-hover) !important}
.home-agenda-time b,.home-agenda-copy b,.home-agenda-empty b{color:var(--ui-text) !important}
.home-agenda-time span,.home-agenda-copy span,.home-agenda-empty span{color:var(--ui-muted) !important}
.home-activity-card{grid-column:3;min-width:0;height:auto !important;padding:18px !important;overflow:hidden !important;color:var(--ui-text) !important;border:1px solid var(--ui-border) !important;border-radius:var(--ui-radius-lg) !important;background:var(--ui-surface-raised) !important;box-shadow:var(--ui-shadow-soft) !important}
html[data-theme="dark"] body .home-activity-card,html[data-theme="light"] body .home-activity-card{color:var(--ui-text) !important;border-color:var(--ui-border) !important;background:var(--ui-surface-raised) !important;box-shadow:var(--ui-shadow-soft) !important}
.home-empty-state{min-height:250px !important;color:var(--ui-text) !important;border:1px solid var(--ui-border) !important;border-radius:var(--ui-radius-md) !important;background:var(--ui-surface-secondary) !important;box-shadow:none !important}
html[data-theme="dark"] body .home-empty-state,html[data-theme="light"] body .home-empty-state{color:var(--ui-text) !important;border-color:var(--ui-border) !important;background:var(--ui-surface-secondary) !important;box-shadow:none !important}
.home-empty-state b{color:var(--ui-text) !important}
.home-empty-state span{color:var(--ui-muted) !important}
.home-calendar-days{grid-auto-rows:32px !important;gap:3px 4px !important}
.home-calendar-day-button{width:32px !important;height:32px !important;min-height:32px !important;aspect-ratio:1 !important;justify-self:center !important;color:var(--ui-muted-strong) !important;border-radius:8px !important}
.home-calendar-day-button.has-event::after{bottom:2px !important}
.home-calendar-day-button:hover{background:var(--ui-surface-hover) !important}
.home-calendar-day-button.is-today:not(.is-selected){color:var(--core-orange) !important}
.home-calendar-day-button.is-selected{color:#FFFFFF !important;background:var(--core-orange) !important;box-shadow:0 5px 12px rgba(255,92,51,.17) !important;font-weight:800 !important;text-shadow:0 1px 1px rgba(79,24,6,.34) !important}
.home-calendar-day-button.is-selected.has-event::after{background:rgba(255,255,255,.88) !important}
.home-calendar-nav,.home-calendar-open-google,.home-google-connect-button{color:var(--ui-text) !important;border-color:var(--ui-border) !important;background:var(--ui-surface-secondary) !important;box-shadow:var(--ui-shadow-control) !important}
.home-calendar-nav:hover:not(:disabled),.home-calendar-open-google:hover,.home-google-connect-button:hover{color:var(--ui-text) !important;border-color:var(--core-orange-border) !important;background:var(--ui-surface-hover) !important}

/* Configuración */
.config-user-row,.config-password-box,.config-switch-row,.config-module-card,.permissions-note{color:var(--ui-text) !important;border-color:var(--ui-border) !important;background:var(--ui-surface-secondary) !important;box-shadow:none !important}
.config-card-head,.config-editor-head,.permissions-head{border-color:var(--ui-line) !important}
.config-field label,.config-switch-copy b,.permissions-head h3,.permission-module-title{color:var(--ui-text) !important}
.config-switch-copy span,.permissions-head p,.permissions-note{color:var(--ui-muted) !important}
.config-status{border-radius:999px !important}

/* Ventas: se conserva la estructura funcional, sólo se armonizan capas. */
.ventas-demo-toolbar,.ventas-demo-kpi,.ventas-demo-selected,.ventas-demo-members{color:var(--ui-text) !important;border-color:var(--ui-border) !important;background:var(--ui-surface) !important;box-shadow:none !important}
.ventas-demo-section-head,.ventas-demo-members,.ventas-demo-selected-top>div{border-color:var(--ui-line) !important}
.ventas-demo-progress-bar{border-color:var(--ui-border) !important;background:var(--ui-surface-secondary) !important}
.ventas-demo-total-row td{color:var(--ui-text) !important;background:var(--ui-surface-secondary) !important}

/* RRHH · Análisis de Horas */
#rrhhHorasView .horas-filter-card,#rrhhHorasView .horas-tabs,#rrhhHorasView .horas-content,#rrhhHorasView .horas-panel,#rrhhHorasView .horas-kpi,#rrhhHorasView .horas-quality-panel,#rrhhHorasView .horas-quality-card,.horas-drawer{color:var(--ui-text) !important;border-color:var(--ui-border) !important;background:var(--ui-surface-raised) !important;box-shadow:var(--ui-shadow-soft) !important}
#rrhhHorasView .horas-filter-card{border-radius:var(--ui-radius-lg) !important}
#rrhhHorasView .horas-tabs{border-radius:var(--ui-radius-lg) var(--ui-radius-lg) 0 0 !important}
#rrhhHorasView .horas-content{border-radius:0 0 var(--ui-radius-lg) var(--ui-radius-lg) !important}
#rrhhHorasView .horas-panel,#rrhhHorasView .horas-kpi,#rrhhHorasView .horas-quality-card{background:var(--ui-surface-secondary) !important;box-shadow:none !important}
#rrhhHorasView .horas-filter-card select,#rrhhHorasView .horas-filter-search input,#rrhhHorasView .horas-filter-date input,#rrhhHorasView .horas-month,#rrhhHorasView .horas-clear-button,#rrhhHorasView .horas-context-button,#rrhhHorasView .horas-edit-cell,#rrhhHorasView .horas-auto-flow div,#rrhhHorasView .horas-compare div,#rrhhHorasView .horas-suggestion{color:var(--ui-text) !important;border-color:var(--ui-border-strong) !important;background:var(--ui-input) !important;box-shadow:none !important}
#rrhhHorasView .horas-filter-card select:focus,#rrhhHorasView .horas-filter-search input:focus,#rrhhHorasView .horas-filter-date input:focus{border-color:rgba(255,92,51,.56) !important;box-shadow:0 0 0 3px rgba(255,92,51,.09) !important}
#rrhhHorasView .horas-month.active{color:var(--core-orange) !important;border-color:var(--core-orange-border) !important;background:var(--core-orange-soft) !important;box-shadow:none !important}
#rrhhHorasView .horas-panel-title,#rrhhHorasView .horas-section-head h2,#rrhhHorasView .detail-card h3,#rrhhHorasView .detail-card h4,.horas-drawer-head h3{color:var(--ui-text) !important}
#rrhhHorasView .horas-section-head p,#rrhhHorasView .horas-kpi span,#rrhhHorasView .horas-kpi small,.horas-drawer-head p,.horas-drawer-summary span{color:var(--ui-muted) !important}
#rrhhHorasView .horas-toast{color:#fff !important;border-color:var(--core-orange-border) !important;background:#0D1B28 !important;box-shadow:0 16px 34px rgba(0,0,0,.28) !important}

/* ============================================================
   ANALÍTICA RRHH · SELECTOR GLOBAL / OFICINA / SUCURSALES
   ============================================================ */

.rrhh-segment-toolbar{
  color:var(--ui-text) !important;
  border-color:var(--ui-border) !important;
  background:var(--ui-surface) !important;
  box-shadow:var(--ui-shadow-control) !important;
}

.rrhh-segment-copy span{
  color:var(--ui-muted) !important;
}

.rrhh-segment-copy strong{
  color:var(--ui-text) !important;
}

.rrhh-segment-tabs{
  border-color:var(--ui-border) !important;
  background:var(--ui-surface-secondary) !important;
}

.rrhh-segment-tab{
  color:var(--ui-muted-strong) !important;
}

.rrhh-segment-tab:hover{
  color:var(--ui-text) !important;
  background:var(--ui-surface-hover) !important;
}

.rrhh-segment-tab.active{
  color:var(--core-orange) !important;
  border-color:var(--core-orange-border) !important;
  background:var(--ui-surface-raised) !important;
  box-shadow:var(--ui-shadow-control) !important;
}

/* ============================================================
   CORE SOFT UI - RESPONSIVE
   ============================================================ */

@media(max-width:1450px){
  .home-workspace-grid{grid-template-columns:minmax(0,1.58fr) minmax(235px,.92fr) minmax(215px,.78fr) !important}
  .home-calendar-card{grid-template-columns:minmax(0,1.58fr) minmax(235px,.92fr) !important}
}

@media(max-width:1280px){
  .home-workspace-grid{gap:14px !important}
  .home-calendar-card{gap:0 14px !important}
  .home-hero-mark{font-size:clamp(52px,6vw,74px) !important}
}

@media(max-width:1100px){
  .home-workspace-grid{grid-template-columns:minmax(0,1.55fr) minmax(270px,1fr) !important}
  .home-calendar-card{grid-column:1/-1;grid-template-columns:minmax(0,1.55fr) minmax(270px,1fr) !important}
  .home-activity-card{grid-column:1/-1}
  .home-empty-state{min-height:190px !important}
}

@media(max-width:1020px){
  .sidebar{position:fixed !important;inset:0 auto 0 0 !important;z-index:1500 !important;width:230px !important;flex-basis:230px !important;transform:translateX(0) !important;transition:transform .24s ease !important}
  .sidebar.hidden{width:230px !important;flex-basis:230px !important;transform:translateX(-100%) !important}
}

@media(max-width:768px){
  .topbar{min-height:66px !important;padding:11px 12px !important}
  .top-actions{gap:7px !important}
  .theme-label,.user-copy{display:none !important}
  .user-panel{min-width:auto !important}
  .home-view{padding:12px !important}
  .home-hero{min-height:136px !important;padding:25px 21px !important}
  .home-hero h2{max-width:72%;font-size:24px !important}
  .home-hero-mark{right:18px !important;font-size:clamp(38px,12vw,58px) !important}
  .home-workspace-grid,.home-calendar-card{grid-template-columns:1fr !important}
  .home-calendar-card,.home-activity-card,.home-calendar-card>.home-card-head,.home-google-connection,.home-google-oauth-message,.home-calendar-month,.home-agenda{grid-column:1 !important;grid-row:auto !important}
  .home-calendar-card{gap:0 !important}
  .home-calendar-card>.home-card-head{border-radius:var(--ui-radius-lg) var(--ui-radius-lg) 0 0 !important}
  .home-calendar-month{margin-bottom:14px}
  .home-agenda{min-height:260px}
  .home-activity-card{grid-column:1 !important}
}

@media(max-width:560px){
  .topbar{z-index:1600 !important}
  .sidebar{inset:66px auto 0 0 !important;height:auto !important}
  .home-hero-mark{display:none !important}
  .home-hero h2{max-width:none}
  .top-title{display:none !important}
  .notification-button{display:none !important}
  .user-panel{display:flex !important;min-width:auto !important;padding:4px 6px !important;border-left:0 !important}
  .user-avatar{width:34px !important;height:34px !important}
  .top-actions{margin-left:auto !important}
  .user-menu{position:fixed !important;top:68px !important;right:10px !important;width:min(270px,calc(100vw - 20px)) !important}
}
