/* Corrección responsive definitiva y herramientas Excel */
html,body{width:100%;max-width:100%;overflow-x:hidden}
.auth{min-height:100dvh;width:100%;padding:clamp(10px,3vw,28px)}
.auth-layout{width:min(1040px,100%);max-width:100%;min-width:0;margin:auto}
.auth-visual,.authbox{min-width:0}
.auth-logo-large{width:clamp(88px,12vw,140px)!important;height:clamp(88px,12vw,140px)!important;overflow:hidden;border-radius:28px}
.auth-logo-large img,.authbrand img,.mobile-brand img,.logo-shell img{max-width:100%;max-height:100%;object-fit:contain!important}
.auth-visual h2{font-size:clamp(28px,4vw,42px);overflow-wrap:anywhere}.auth-visual p{overflow-wrap:anywhere}
main{min-width:0}.card,.hero,.top,.layout>*{min-width:0}
.balance-breakdown{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:14px;max-width:720px}.balance-breakdown>div{padding:9px 11px;border-radius:11px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.12)}.balance-breakdown span,.balance-breakdown b{display:block}.balance-breakdown span{font-size:10px}.balance-breakdown b{font-size:14px;margin-top:4px;color:#fff}
.excel-tools{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:18px}.excel-tools .btn{min-height:48px}.import-status{min-height:22px;margin-top:12px;font-size:13px;color:var(--muted)}.import-status.success{color:var(--success)}.import-status.error{color:var(--danger)}.danger-zone{margin-top:16px;border-color:color-mix(in srgb,var(--danger) 42%,var(--line))}
.obligation-cards{display:grid;gap:12px}.obligation-card{display:grid;grid-template-columns:minmax(170px,1.4fr) repeat(3,minmax(120px,.8fr));gap:12px;align-items:stretch;border:1px solid var(--line);border-radius:16px;padding:14px;background:var(--panel2)}.obligation-main{grid-row:span 2}.obligation-main h3{margin:6px 0}.obligation-main p{margin:0 0 8px;color:var(--muted)}.periodicity-badge,.movement-link{display:inline-block;border-radius:999px;padding:5px 8px;font-size:10px;font-weight:800;background:color-mix(in srgb,var(--blue) 16%,transparent);color:var(--blue)}.obligation-stat{display:flex;flex-direction:column;gap:5px;padding:9px 10px;border:1px solid var(--line);border-radius:11px;background:var(--panel)}.obligation-stat span{font-size:10px;color:var(--muted)}.obligation-stat b{font-size:14px;overflow-wrap:anywhere}.obligation-card .card-actions{display:flex;gap:7px;align-items:end}.obligation-card .card-actions button,.movement-card .card-actions button{border:1px solid var(--line);background:var(--panel);color:var(--text);border-radius:8px;padding:7px 10px;cursor:pointer}.bar.negative{background:linear-gradient(var(--danger),#b91c2b)}
.mobile button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px}.mobile-icon{display:block;font-size:20px;line-height:1}.mobile button.active{background:linear-gradient(135deg,var(--blue),var(--blue2));color:#fff;border-radius:14px}
@media (min-width:761px) and (max-width:1100px){.app.ready{grid-template-columns:210px minmax(0,1fr)}.side{padding-inline:10px}.brand b{font-size:17px}main{padding:20px}.kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.layout{grid-template-columns:1fr}.auth-layout{grid-template-columns:minmax(0,.9fr) minmax(360px,1.1fr)}.auth-visual{padding:34px}.authbox{padding:38px 32px}.obligation-card{grid-template-columns:repeat(2,minmax(0,1fr))}.obligation-main{grid-row:auto;grid-column:1/-1}}
@media (max-width:760px){
.auth{display:block;overflow-y:auto;padding:0}.auth-layout{display:block;width:100%;min-height:100dvh;border:0;border-radius:0}.auth-visual{display:none!important}.authbox{width:100%;min-height:100dvh;margin:0!important;padding:24px 18px calc(30px + env(safe-area-inset-bottom));justify-content:flex-start}.authbrand{margin-top:4px}.authbrand img{width:54px;height:54px}.authbox h1{font-size:26px}.tabs button,.auth-submit{min-height:48px}
.app.ready{width:100%;max-width:100%}.top{width:100%;display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:10px!important;align-items:start!important}.top>.mobile-brand{grid-row:1;width:max-content;max-width:100%}.top>div:nth-child(2){grid-row:2;min-width:0}.top>.themes{grid-row:3;position:static!important;justify-self:center;width:min(100%,430px);max-width:100%;margin:2px 0 4px!important;padding:6px!important;display:flex!important;align-items:center;justify-content:space-between;gap:5px;border-radius:16px;overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-width:none;transform:none!important;transform-origin:center!important}.top>.themes::-webkit-scrollbar{display:none}.top>.themes button{flex:1 0 42px;min-width:42px;max-width:58px;height:42px;border-radius:11px}.hero,.card{width:100%;max-width:100%}.hero{padding:16px!important}.hero strong{font-size:31px!important}.balance-breakdown{grid-template-columns:1fr;gap:6px}.balance-breakdown>div{display:flex;align-items:center;justify-content:space-between;padding:8px 10px}.balance-breakdown b{margin:0;font-size:13px}.kpis{grid-template-columns:1fr 1fr}.layout .card:first-child{overflow:hidden}.chart-card{min-height:0!important}.chart{height:250px!important;min-height:250px!important;max-height:250px!important;min-width:0!important;width:100%;overflow:hidden;padding-top:12px!important}.barcol{min-width:0;flex:1}.barcol small{font-size:9px}.bar{max-width:28px!important}.donut{width:150px!important;height:150px!important}.donut:after{inset:30px!important}
.obligation-card{grid-template-columns:1fr 1fr;gap:8px;padding:12px}.obligation-main{grid-column:1/-1;grid-row:auto}.obligation-stat{padding:8px}.obligation-card .card-actions{grid-column:1/-1}.obligation-card .card-actions button{flex:1;min-height:40px}.movement-grid{grid-template-columns:1fr!important}.movement-card{padding:13px}.excel-tools{grid-template-columns:1fr}.excel-tools .btn{width:100%;min-height:52px}.danger-zone .actions{display:grid;grid-template-columns:1fr}.danger-zone .actions .btn{width:100%}
.mobile{gap:8px;padding:7px 10px calc(7px + env(safe-area-inset-bottom))}.mobile button{flex:1;min-height:58px;border-radius:14px!important}.mobile button span:last-child{font-size:10px;font-weight:750}.mobile-icon{display:none!important}.mobile button[data-page="dashboard"]:before{content:'⌂';font-size:21px;line-height:1}.mobile button[data-page="movimientos"]:before{content:'↕';font-size:21px;line-height:1}.mobile button[data-page="obligaciones"]:before{content:'▣';font-size:21px;line-height:1}
}
@media (max-width:420px){main{padding-inline:9px!important}.kpis{grid-template-columns:1fr}.quick{grid-template-columns:1fr}.quick button:first-child{grid-column:auto}.hero strong{font-size:26px}.period-bar{grid-template-columns:1fr}.obligation-card{grid-template-columns:1fr}.obligation-card>div,.obligation-card>div:first-child,.obligation-card .card-actions{grid-column:1}.top .themes{transform:none!important;width:100%}.top>.themes button{min-width:40px;height:40px}.mobile button{min-width:0}.mobile button span:last-child{font-size:9px}.chart{height:220px!important;min-height:220px!important;max-height:220px!important}}
