/* AHORRITO 8 — redesigned user workspace, overriding legacy without breaking functional selectors */
:root{--v8-background:#f4f8f5;--v8-white:#ffffff;--v8-copy:#143630;--v8-subtle:#67827a;--v8-stroke:#deebe4;--v8-dark:#103e35;--v8-primary:#08ae91;--v8-soft:#e9f9f0;--v8-shadow:0 16px 52px rgba(8,57,38,.08)}
html[data-theme=dark]{--v8-background:#091613;--v8-white:#142520;--v8-copy:#ecfcf5;--v8-subtle:#adc7ba;--v8-stroke:#315348;--v8-dark:#0b2b23;--v8-primary:#5ae2b8;--v8-soft:#18382d;--v8-shadow:0 16px 55px rgba(0,0,0,.30)}
body:has(#appScreen){background:var(--v8-background)!important;color:var(--v8-copy)!important;font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif}
#appScreen .shell{max-width:1560px;padding:25px clamp(16px,2.5vw,42px) 112px}
#appScreen .topbar{background:transparent!important;border:0!important;padding:8px 0 24px!important;box-shadow:none!important;border-radius:0!important;min-height:68px!important;margin-bottom:15px!important}
#appScreen .topbar .brand-mark{width:43px!important;height:43px!important;object-fit:contain}
#appScreen .topbar .brand-wordmark{height:auto!important;max-height:41px!important;width:143px!important;object-fit:contain}
html[data-theme=dark] #appScreen .brand-wordmark,html[data-theme=dark] .admin-logo-type,html[data-theme=dark] .brand-wordmark{filter:brightness(0) invert(1)!important}
#appScreen .top-actions-v4{flex-direction:row!important;width:auto!important;gap:10px!important;align-items:center!important}
#appScreen .topbar .icon-btn,#appScreen .topbar .account-chip{box-shadow:none!important;border:1px solid var(--v8-stroke)!important;background:var(--v8-white)!important;color:var(--v8-copy)!important;border-radius:15px!important;width:46px;height:46px;padding:0}
#appScreen .topbar .account-chip{width:auto;padding:0 16px}
#appScreen .layout{display:grid;grid-template-columns:242px minmax(0,1fr);align-items:start;gap:26px}
#appScreen .sidebar{border:1px solid #164c3b!important;background:#0c362c!important;color:white!important;border-radius:26px!important;padding:17px!important;min-height:620px;box-shadow:var(--v8-shadow)!important;position:sticky;top:18px}
.v8-sidebar-title{padding:18px 15px 22px;display:grid;gap:5px;border-bottom:1px solid #ffffff24;margin-bottom:13px}
.v8-sidebar-title strong{color:#f3fff8;font-size:22px;line-height:1.18;letter-spacing:-.04em}
.v8-sidebar-title small,.v8-s-mini{color:#9de4c5;font-size:10px;font-weight:800;letter-spacing:.14em}
#appScreen .sidebar .nav{gap:6px}
#appScreen .sidebar .nav button{min-height:50px!important;padding:13px 15px!important;border-radius:14px!important;color:#bddecf!important;background:transparent;font-weight:700}
#appScreen .sidebar .nav button:hover,#appScreen .sidebar .nav button.active{background:#ccf8de!important;color:#0a4c39!important}
#appScreen .sidebar #sidebarUser{color:#b2d6c5!important;overflow-wrap:anywhere}
#appScreen .sidebar #adminShortcut{margin-top:10px;background:#ffffff1b!important;color:#dcfff0!important;border-color:#ffffff32!important}
#appScreen .main{min-width:0}
#appScreen .view>.heading:not(.v7-welcome),#appScreen .view>.v7-welcome{margin-bottom:25px}
#appScreen .v8-welcome{background:transparent!important;border:0!important;box-shadow:none!important;padding:17px 4px 12px!important;display:flex;align-items:center;justify-content:space-between;gap:20px}
#appScreen .v8-welcome .v7-welcome-tag{font-size:11px;letter-spacing:.16em;color:var(--v8-primary);font-weight:900}
#appScreen .v8-welcome h1{font-size:clamp(39px,4vw,59px)!important;letter-spacing:-.065em!important;line-height:1!important;color:var(--v8-copy)!important;margin:13px 0 9px!important}
#appScreen .v8-welcome p{color:var(--v8-subtle)!important;font-size:15px;max-width:600px}
#appScreen .v8-welcome .sync-inline-badge{background:var(--v8-soft)!important;color:var(--v8-primary)!important;border-radius:99px;padding:7px 13px;font-size:11px;border:1px solid var(--v8-stroke)}
#appScreen .v7-welcome-tools{display:flex;align-items:center;gap:9px;flex-wrap:wrap;justify-content:flex-end}
#appScreen .v7-header-search{background:var(--v8-white)!important;border:1px solid var(--v8-stroke)!important;border-radius:13px!important;color:var(--v8-copy)!important;box-shadow:none!important}
#appScreen .btn.primary{background:#07b998!important;color:#063b30!important;box-shadow:0 10px 24px #05b99722!important}
#appScreen .v7-dashboard{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(290px,.82fr);gap:18px;align-items:stretch}
#appScreen .v7-dashboard-main{display:grid;gap:16px;align-content:start;min-width:0}
#appScreen .v7-periodbar{background:var(--v8-white)!important;border:1px solid var(--v8-stroke)!important;border-radius:23px!important;box-shadow:none!important;gap:14px;padding:17px 20px!important}
#appScreen .v7-periodbar-nav>span{font-size:11px;color:var(--v8-primary)!important;letter-spacing:.13em}
#appScreen .v7-periodbar .field{min-width:0}
#appScreen .v7-periodbar input,#appScreen .v7-periodbar select{min-height:48px!important;border-radius:12px!important;background:var(--v8-background)!important;color:var(--v8-copy)!important;border:1px solid var(--v8-stroke)!important;font-size:16px}
#appScreen .v7-balance-hero{background:linear-gradient(127deg,#076b61 0%,#0c4d46 65%,#0d3834 100%)!important;border:1px solid #127f6e!important;box-shadow:0 25px 65px #0556412c!important;min-height:268px!important;border-radius:30px!important;padding:32px!important;color:white!important;overflow:hidden;position:relative}
#appScreen .v7-balance-hero:after{content:'';position:absolute;width:340px;height:340px;border:45px solid #ffffff0a;border-radius:50%;top:-100px;right:-150px;pointer-events:none}
#appScreen .v7-balance-content{position:relative;z-index:2}
#appScreen .v7-balance-label{color:#c6ede0!important;letter-spacing:.03em;font-size:14px}
#appScreen #totalBalance{font-size:clamp(35px,3.8vw,63px)!important;letter-spacing:-.065em;line-height:1.15;color:#fff!important}
#appScreen #balanceLabel{color:#d3f3e9!important}
#appScreen .v7-balance-mark,#appScreen .v7-balance-orbit{opacity:.18}
#appScreen .v7-stat-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}
#appScreen .v7-stat{background:var(--v8-white)!important;border:1px solid var(--v8-stroke)!important;border-radius:24px!important;padding:26px 23px!important;box-shadow:var(--v8-shadow)!important;min-width:0}
#appScreen .v7-stat strong{font-size:clamp(23px,2.5vw,34px)!important;overflow-wrap:anywhere}
#appScreen .v7-stat span{color:var(--v8-subtle)!important;font-size:12px}
#appScreen .v7-dashboard-aside{display:flex;flex-direction:column;gap:15px;min-width:0}
#appScreen .v7-insights{background:var(--v8-white)!important;color:var(--v8-copy)!important;border:1px solid var(--v8-stroke)!important;border-radius:25px!important;box-shadow:var(--v8-shadow)!important;padding:25px!important}
#appScreen .v7-insights-head span{color:var(--v8-primary)!important;font-size:10px;letter-spacing:.13em}
#appScreen .v7-insights-head strong{color:var(--v8-copy)!important;font-size:22px}
#appScreen .v7-insight{border-color:var(--v8-stroke)!important}
#appScreen .v7-insight span,#appScreen .v7-insight-note{color:var(--v8-subtle)!important}
#appScreen .v7-insight strong{color:var(--v8-copy)!important}
#appScreen .v8-shortcuts{background:var(--v8-white);border:1px solid var(--v8-stroke);border-radius:25px;padding:23px;box-shadow:var(--v8-shadow)}
.v8-shortcuts-header{display:grid;gap:4px;margin-bottom:15px}.v8-shortcuts-header span{font-weight:900;color:var(--v8-primary);letter-spacing:.13em;font-size:10px}.v8-shortcuts-header strong{font-size:19px;color:var(--v8-copy);letter-spacing:-.035em}.v8-shortcut-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.v8-shortcut-grid button{min-height:93px;border:1px solid var(--v8-stroke);border-radius:15px;background:var(--v8-background);color:var(--v8-copy);display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:14px;gap:7px;font-size:12px;font-weight:800;text-align:left;transition:.15s}.v8-shortcut-grid button:hover{background:var(--v8-soft);border-color:var(--v8-primary)}.v8-shortcut-grid button b{font-size:24px;line-height:1;color:var(--v8-primary)}
#appScreen .v8-month-compare{background:var(--v8-white);color:var(--v8-copy);border:1px solid var(--v8-stroke);border-radius:24px;padding:23px;box-shadow:var(--v8-shadow)}
.v8-compare-top{display:flex;justify-content:space-between;gap:12px;align-items:center}.v8-compare-top span{font-weight:900;font-size:10px;letter-spacing:.13em;color:var(--v8-primary)}.v8-compare-top button{border:0;background:none;color:var(--v8-primary);font-size:11px;font-weight:850}.v8-month-compare>strong{display:block;font-size:19px;letter-spacing:-.04em;margin:13px 0}.v8-compare-row{border-top:1px solid var(--v8-stroke);display:flex;align-items:center;gap:9px;padding:14px 0}.v8-compare-currency{border-radius:9px;background:var(--v8-soft);color:var(--v8-primary);padding:7px 9px;font-size:10px;font-weight:900}.v8-compare-row>div{flex:1;min-width:0}.v8-compare-row strong{display:block;font-size:13px;overflow-wrap:anywhere}.v8-compare-row small{font-size:10px;color:var(--v8-subtle)}.v8-compare-row>b{font-size:13px}.v8-trend-up{color:#db6478}.v8-trend-down{color:#12af8e}.v8-month-compare>small{font-size:10px;color:var(--v8-subtle);display:block;line-height:1.5}.v8-compare-empty{font-size:12px;color:var(--v8-subtle)}
#appScreen .v7-home-lower{gap:18px;margin-top:18px}
#appScreen .panel,#appScreen .card{background:var(--v8-white)!important;border:1px solid var(--v8-stroke)!important;color:var(--v8-copy)!important;box-shadow:var(--v8-shadow)!important;border-radius:24px!important}
#appScreen .table-wrap{overflow-x:auto;border-radius:13px}
#appScreen .view>.heading h1{font-size:clamp(31px,3vw,45px);letter-spacing:-.065em}
#appScreen .card .k,#appScreen .panel .muted{color:var(--v8-subtle)!important}
#appScreen .card .v{color:var(--v8-copy)!important}
#appScreen #view-reportes .cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;margin:24px 0}
#appScreen #view-reportes .cards>.card:first-child{grid-column:auto!important}
#appScreen #view-reportes .card .v{font-size:clamp(18px,2.2vw,27px)}
#appScreen #view-configuracion>.panel{padding:28px!important;border-radius:23px!important}
#appScreen .field input,#appScreen .field textarea,#appScreen .field select{background:var(--v8-white)!important;border-color:var(--v8-stroke)!important;color:var(--v8-copy)!important;border-radius:13px!important;font-size:16px!important;min-height:48px}
#appScreen .mobile-nav{background:color-mix(in srgb,var(--v8-white) 91%,transparent)!important;border:1px solid var(--v8-stroke)!important;box-shadow:0 -8px 45px #0b382c18!important;color:var(--v8-copy)!important}
#appScreen .mobile-nav button.active{background:var(--v8-soft)!important;color:var(--v8-primary)!important}
html[data-theme=dark] #appScreen .topbar .icon-btn,html[data-theme=dark] #appScreen .topbar .account-chip{background:var(--v8-white)!important}
html[data-theme=dark] #appScreen .v7-stat strong{color:var(--v8-copy)!important}
html[data-theme=dark] #appScreen #view-reportes .card .v.inc{color:#55e7b8!important}html[data-theme=dark] #appScreen #view-reportes .card .v.exp{color:#ff929b!important}
@media(max-width:1000px){#appScreen .layout{grid-template-columns:195px minmax(0,1fr);gap:15px}#appScreen .v7-dashboard{grid-template-columns:1fr}#appScreen .v7-dashboard-aside{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}#appScreen .v7-insights{grid-column:1/-1}}
@media(max-width:850px){#appScreen .shell{padding:18px 16px 116px}#appScreen .layout{display:block}#appScreen .sidebar{display:none}#appScreen .v8-welcome{flex-direction:column;align-items:flex-start}#appScreen .v7-dashboard-aside{grid-template-columns:1fr 1fr}#appScreen .v7-insights{grid-column:1/-1}#appScreen .topbar{min-height:52px!important;display:flex;flex-direction:row!important;align-items:center!important}#appScreen .topbar .brand-wordmark{display:none!important}#appScreen .top-actions-v4{width:auto!important;flex-wrap:nowrap!important;justify-content:flex-end!important;margin-left:auto}#appScreen .top-actions-v4 .top-language{display:none!important}#appScreen .topbar .account-chip{display:none!important}#appScreen .mobile-nav{display:grid;grid-template-columns:repeat(6,minmax(0,1fr))}}
@media(max-width:620px){#appScreen .shell{padding-inline:13px}#appScreen .v7-dashboard-aside{grid-template-columns:1fr}#appScreen .v8-welcome h1{font-size:39px!important}#appScreen .v7-welcome-tools{width:100%;display:grid;grid-template-columns:1fr}#appScreen .v7-welcome-tools .btn{width:100%}#appScreen .v7-dashboard-main{gap:10px}#appScreen .v7-periodbar{padding:13px!important;border-radius:18px!important}#appScreen .v7-balance-hero{min-height:220px!important;padding:25px!important;border-radius:23px!important}#appScreen #totalBalance{font-size:38px!important}#appScreen .v7-stat{padding:17px 15px!important;border-radius:17px!important}#appScreen .v7-stat strong{font-size:22px!important}#appScreen .mobile-nav .nav-label{font-size:clamp(9px,2.5vw,11px)}#appScreen .v8-welcome{padding:8px 0!important}#appScreen #view-reportes .cards{grid-template-columns:1fr 1fr}#appScreen #view-reportes .cards>.card:last-child{grid-column:1/-1}}
