:root{--bg:#f8fafc;--panel:#fff;--text:#0f172a;--muted:#64748b;--border:#e2e8f0;--primary:#2563eb;--primary-dark:#1d4ed8;--danger:#dc2626;--success:#16a34a;--warning:#f59e0b;--shadow:0 18px 50px rgba(15,23,42,.08)}
body.dark{--bg:#0f172a;--panel:#111827;--text:#e5e7eb;--muted:#94a3b8;--border:#334155;--primary:#60a5fa;--primary-dark:#3b82f6;--shadow:0 18px 50px rgba(0,0,0,.35)}
*{box-sizing:border-box}body{margin:0;font-family:Inter,Segoe UI,Arial,sans-serif;background:var(--bg);color:var(--text)}button,input,select{font:inherit}.hidden{display:none!important}.auth-body{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at top left,#dbeafe,transparent 35%),var(--bg)}.auth-card{width:min(440px,100%);background:var(--panel);border:1px solid var(--border);border-radius:24px;padding:28px;box-shadow:var(--shadow)}.brand{display:flex;gap:12px;align-items:center}.brand.center{justify-content:center;text-align:left;margin-bottom:20px}.brand h1{margin:0}.brand p,.brand span{margin:0;color:var(--muted);font-size:.9rem}.logo{width:46px;height:46px;border-radius:16px;background:linear-gradient(135deg,var(--primary),#22c55e);color:white;display:grid;place-items:center;font-weight:800}.tabs{display:flex;background:var(--bg);border-radius:14px;padding:5px;margin:18px 0}.tabs button{flex:1;border:0;border-radius:10px;background:transparent;padding:10px;cursor:pointer;color:var(--muted)}.tabs button.active{background:var(--panel);color:var(--text);box-shadow:0 8px 20px rgba(15,23,42,.08)}.auth-form,.form-panel{display:flex;flex-direction:column;gap:10px}label{font-weight:700;font-size:.88rem}input,select{border:1px solid var(--border);background:var(--panel);color:var(--text);border-radius:12px;padding:11px 12px;outline:none}input:focus,select:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(37,99,235,.12)}.btn{border:0;border-radius:12px;padding:11px 14px;cursor:pointer;font-weight:800;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:8px}.btn.primary{background:var(--primary);color:white}.btn.primary:hover{background:var(--primary-dark)}.btn.secondary{background:#dbeafe;color:#1e40af}.btn.ghost{background:transparent;border:1px solid var(--border);color:var(--text)}.btn.full{width:100%}.message{min-height:22px;color:var(--danger);font-weight:700}.layout{display:grid;grid-template-columns:280px 1fr;min-height:100vh}.sidebar{background:var(--panel);border-right:1px solid var(--border);padding:22px;position:sticky;top:0;height:100vh;display:flex;flex-direction:column;gap:18px}.sidebar nav{display:grid;gap:7px;overflow:auto}.nav-link{border:0;background:transparent;color:var(--muted);text-align:left;border-radius:12px;padding:11px 12px;cursor:pointer;font-weight:750}.nav-link.active,.nav-link:hover{background:#eff6ff;color:#1d4ed8}body.dark .nav-link.active,body.dark .nav-link:hover{background:#1e293b;color:#93c5fd}.content{padding:26px;overflow:auto}.topbar{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px}.topbar h1{margin:0}.topbar p{margin:4px 0 0;color:var(--muted)}.top-actions{display:flex;gap:10px;flex-wrap:wrap}.page-section{display:none}.page-section.active{display:block}.cards-grid{display:grid;gap:16px}.dashboard-grid{grid-template-columns:repeat(4,minmax(180px,1fr))}.metric-card,.panel,.item-card{background:var(--panel);border:1px solid var(--border);border-radius:20px;box-shadow:var(--shadow)}.metric-card{padding:18px;display:flex;flex-direction:column;gap:8px}.metric-card span,.metric-card small{color:var(--muted)}.metric-card strong{font-size:1.55rem}.health-card strong{color:var(--primary)}.charts-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:16px}.panel{padding:18px;margin-top:16px}.panel h2{margin:0 0 14px}.panel-header{display:flex;justify-content:space-between;align-items:center;gap:12px}.stacked-header{align-items:flex-start;flex-direction:column}.two-columns{display:grid;grid-template-columns:360px 1fr;gap:16px}.filters-grid{display:grid;grid-template-columns:repeat(3,minmax(120px,1fr));gap:8px;width:100%}.table-wrapper{overflow:auto}table{width:100%;border-collapse:collapse}th,td{padding:12px;border-bottom:1px solid var(--border);text-align:left;white-space:nowrap}th{font-size:.82rem;color:var(--muted);text-transform:uppercase}.pill{display:inline-flex;border-radius:999px;padding:5px 9px;background:#e0f2fe;color:#0369a1;font-weight:800;font-size:.78rem}.scope{background:#f1f5f9;color:#475569}.amount-income{color:var(--success);font-weight:900}.amount-expense{color:var(--danger);font-weight:900}.amount-transfer{color:var(--primary);font-weight:900}.list-cards{display:grid;gap:12px}.item-card{padding:14px;display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.card-main{display:grid;gap:5px}.card-main span,.hint{color:var(--muted);font-size:.86rem}.action-buttons{display:flex;gap:7px;flex-wrap:wrap}.icon-btn{border:1px solid var(--border);background:var(--panel);color:var(--text);border-radius:10px;padding:7px 9px;cursor:pointer}.progress{height:9px;background:var(--bg);border-radius:999px;overflow:hidden}.progress span{display:block;height:100%;background:linear-gradient(90deg,var(--primary),#22c55e)}.badge-warning{color:#92400e}.badge-danger{color:var(--danger)}.badge-ok{color:var(--success)}.report-grid{display:grid;grid-template-columns:repeat(4,minmax(160px,1fr));gap:12px}.report-box{background:var(--bg);border:1px solid var(--border);border-radius:16px;padding:14px}.report-box strong{display:block;font-size:1.25rem;margin-top:6px}@media(max-width:1100px){.layout{grid-template-columns:1fr}.sidebar{position:static;height:auto}.sidebar nav{grid-template-columns:repeat(2,1fr)}.dashboard-grid{grid-template-columns:repeat(2,1fr)}.charts-grid,.two-columns{grid-template-columns:1fr}.content{padding:16px}}@media(max-width:650px){.dashboard-grid,.filters-grid,.report-grid{grid-template-columns:1fr}.topbar{align-items:flex-start;flex-direction:column}.sidebar nav{grid-template-columns:1fr}.item-card{flex-direction:column}th,td{font-size:.84rem}}
/* ===== Fexnox Finance v5: UX educativa, bancos e iconos ===== */
.help-card{background:linear-gradient(135deg,rgba(37,99,235,.10),rgba(34,197,94,.08));border:1px solid var(--border);border-radius:18px;padding:14px 16px;margin:12px 0 16px;color:var(--text)}
.help-card p{margin:6px 0 0;color:var(--muted);line-height:1.45}.eyebrow{display:inline-flex;border-radius:999px;padding:5px 10px;background:#dbeafe;color:#1e40af;font-weight:900;font-size:.78rem;text-transform:uppercase;letter-spacing:.04em}.onboarding-box{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;background:linear-gradient(135deg,#eff6ff,#ecfdf5);border:1px solid #bfdbfe;border-radius:24px;padding:20px;margin:0 0 18px;box-shadow:var(--shadow)}body.dark .onboarding-box{background:linear-gradient(135deg,#1e293b,#052e2b);border-color:#334155}.onboarding-box h2{margin:8px 0}.onboarding-box p{color:var(--muted);max-width:760px}.steps-list{display:flex;flex-wrap:wrap;gap:8px;padding:0;margin:12px 0 0;list-style:none}.steps-list li{background:var(--panel);border:1px solid var(--border);border-radius:999px;padding:8px 11px;font-weight:800;font-size:.85rem}.onboarding-actions{display:grid;gap:10px;min-width:220px}.advanced-hidden{display:none!important}.bank-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.bank-preset{display:flex;align-items:center;gap:8px;border:1px solid var(--border);background:var(--panel);color:var(--text);border-radius:14px;padding:9px;cursor:pointer;text-align:left;font-weight:800}.bank-preset:hover{border-color:var(--primary);transform:translateY(-1px)}.bank-preset img,.account-logo{width:34px;height:34px;object-fit:contain;border-radius:10px;background:var(--bg);border:1px solid var(--border);padding:3px}.logo-preview{display:flex;align-items:center;gap:10px;border:1px dashed var(--border);border-radius:14px;padding:10px;background:var(--bg)}.logo-preview img{width:44px;height:44px;object-fit:contain}.account-card{align-items:center}.account-card .card-main{flex:1}.empty-state{display:grid;gap:6px;place-items:start;border:1px dashed var(--border);border-radius:16px;padding:16px;background:var(--bg);color:var(--muted)}.empty-state strong{color:var(--text)}.empty-state p{margin:0;line-height:1.45}.empty-icon{font-size:1.7rem}.nav-link{display:flex;align-items:center;gap:8px}.panel h2::first-letter{color:var(--primary)}.metric-card{position:relative;overflow:hidden}.metric-card::after{content:"";position:absolute;right:-24px;top:-24px;width:80px;height:80px;border-radius:999px;background:rgba(37,99,235,.08)}.form-panel small.hint{line-height:1.45}.form-panel label{margin-top:4px}.section-kpi-row{display:flex;gap:8px;flex-wrap:wrap}.quality-note{background:var(--panel);border:1px solid var(--border);border-radius:16px;padding:12px;color:var(--muted)}@media(max-width:720px){.onboarding-box{flex-direction:column}.onboarding-actions{width:100%}.bank-grid{grid-template-columns:1fr}.account-card{align-items:flex-start}}
.planner-grid{grid-template-columns:repeat(3,minmax(220px,1fr))}.report-grid.compact{grid-template-columns:repeat(2,minmax(120px,1fr));margin:10px 0}.panel hr{border:0;border-top:1px solid var(--border);margin:12px 0}@media(max-width:1000px){.planner-grid{grid-template-columns:1fr}}

/* ===== Fexnox Finance v6: diseño profesional, landing page y responsive ===== */
:root{--surface:rgba(255,255,255,.78);--glass:rgba(255,255,255,.64);--soft-primary:#ecf4ff;--accent:#38bdf8;--radius-xl:28px;--radius-lg:22px;--ring:0 0 0 4px rgba(37,99,235,.12)}
body{letter-spacing:-.01em}.landing-body{background:radial-gradient(circle at 10% -10%,#bfdbfe 0,transparent 28%),radial-gradient(circle at 95% 5%,#bbf7d0 0,transparent 24%),linear-gradient(180deg,#f8fafc,#eef4ff 48%,#ffffff);color:#0f172a}.landing-nav{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px clamp(18px,4vw,56px);background:rgba(248,250,252,.78);backdrop-filter:blur(18px);border-bottom:1px solid rgba(226,232,240,.7)}.landing-brand{display:flex;align-items:center;gap:10px;font-weight:950;text-decoration:none;color:#0f172a}.landing-menu{display:flex;gap:22px}.landing-menu a,.landing-actions a{color:#475569;text-decoration:none;font-weight:800}.landing-actions{display:flex;gap:10px;align-items:center}.hero-section{min-height:calc(100vh - 78px);display:grid;grid-template-columns:1.08fr .92fr;gap:50px;align-items:center;padding:clamp(48px,7vw,96px) clamp(20px,6vw,96px)}.hero-copy h1{font-size:clamp(3rem,7vw,6.4rem);line-height:.92;margin:14px 0 22px;letter-spacing:-.07em}.hero-lead{font-size:clamp(1.08rem,2.1vw,1.38rem);line-height:1.65;color:#475569;max-width:700px}.hero-buttons{display:flex;gap:12px;flex-wrap:wrap;margin:28px 0}.btn.big{padding:15px 21px;border-radius:999px}.btn.glass{background:rgba(255,255,255,.72);border:1px solid rgba(203,213,225,.8);color:#0f172a;box-shadow:0 12px 30px rgba(15,23,42,.06)}.trust-row{display:flex;gap:10px;flex-wrap:wrap;color:#475569}.trust-row span{border:1px solid rgba(203,213,225,.8);background:rgba(255,255,255,.72);border-radius:999px;padding:8px 12px;font-weight:800;font-size:.9rem}.hero-device{width:min(440px,100%);justify-self:center;border-radius:40px;padding:18px;background:linear-gradient(145deg,#0f172a,#1e293b);box-shadow:0 40px 120px rgba(15,23,42,.28);border:1px solid rgba(255,255,255,.12);transform:rotate(-2deg)}.device-top{display:flex;gap:6px;padding:4px 0 14px}.device-top span{width:10px;height:10px;border-radius:50%;background:#64748b}.device-card{background:linear-gradient(180deg,rgba(255,255,255,.12),rgba(255,255,255,.06));border:1px solid rgba(255,255,255,.12);border-radius:24px;padding:18px;color:#e5e7eb}.device-card small{color:#94a3b8}.device-card strong{font-size:2.3rem;display:block;margin:8px 0}.device-card p{margin:0;color:#86efac}.mini-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:12px 0}.mini-grid b{display:block;font-size:1.5rem;margin-top:6px}.chart-lines{height:150px;border-radius:24px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);display:flex;align-items:flex-end;gap:14px;padding:18px}.chart-lines i{flex:1;border-radius:999px 999px 10px 10px;background:linear-gradient(180deg,#60a5fa,#22c55e)}.chart-lines i:nth-child(1){height:45%}.chart-lines i:nth-child(2){height:72%}.chart-lines i:nth-child(3){height:56%}.chart-lines i:nth-child(4){height:88%}.landing-section{padding:clamp(54px,7vw,96px) clamp(20px,6vw,96px)}.section-heading{text-align:center;max-width:820px;margin:0 auto 36px}.section-heading h2,.split-section h2,.auth-intro h2{font-size:clamp(2rem,4vw,4rem);line-height:1;margin:12px 0;letter-spacing:-.055em}.section-heading p,.split-section p,.auth-intro p{color:#64748b;font-size:1.08rem;line-height:1.7}.feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.feature-card{background:rgba(255,255,255,.78);border:1px solid rgba(226,232,240,.9);border-radius:28px;padding:24px;box-shadow:0 20px 70px rgba(15,23,42,.07)}.feature-card img{width:36px;height:36px;padding:8px;border-radius:14px;background:#eff6ff}.feature-card h3{font-size:1.25rem;margin:16px 0 8px}.feature-card p{color:#64748b;line-height:1.6;margin:0}.split-section{display:grid;grid-template-columns:.9fr 1.1fr;gap:34px;align-items:start}.landing-steps{display:grid;gap:12px;list-style:none;margin:0;padding:0;counter-reset:steps}.landing-steps li{counter-increment:steps;background:#fff;border:1px solid #e2e8f0;border-radius:24px;padding:18px 20px 18px 70px;position:relative;box-shadow:0 16px 50px rgba(15,23,42,.06)}.landing-steps li::before{content:counter(steps);position:absolute;left:20px;top:18px;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#2563eb;color:#fff;font-weight:900}.landing-steps b{display:block;font-size:1.05rem}.landing-steps span{display:block;color:#64748b;margin-top:5px}.security-section{background:linear-gradient(135deg,#0f172a,#1e293b);color:#fff}.security-section p{color:#cbd5e1}.auth-section{display:grid;grid-template-columns:.95fr 1.05fr;gap:28px;align-items:center;padding:clamp(54px,7vw,96px) clamp(20px,6vw,96px)}.landing-auth-card{justify-self:center}.auth-intro{max-width:620px}.landing-footer{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;padding:24px clamp(18px,4vw,56px);color:#64748b;border-top:1px solid #e2e8f0;background:#fff}.btn-icon,.nav-icon{width:19px;height:19px;object-fit:contain;flex:none}.nav-link{transition:background .18s ease,color .18s ease,transform .18s ease}.nav-link:hover{transform:translateX(2px)}.nav-link.active{box-shadow:inset 0 0 0 1px rgba(37,99,235,.08)}body.dark .nav-icon,body.dark .btn-icon{filter:invert(1) opacity(.85)}.app-brand{padding:6px 0 10px;border-bottom:1px solid var(--border)}.sidebar nav::before{content:'Principal';color:var(--muted);font-size:.72rem;text-transform:uppercase;font-weight:900;letter-spacing:.08em;padding:8px 12px 0}.sidebar nav .nav-link[data-section="categories"]{margin-top:8px}.sidebar nav .nav-link[data-section="categories"]::before{content:''}.content{background:radial-gradient(circle at top right,rgba(37,99,235,.08),transparent 30%)}.topbar{position:sticky;top:0;z-index:10;background:linear-gradient(180deg,var(--bg) 70%,rgba(255,255,255,0));padding:8px 0 18px}.topbar h1{font-size:clamp(2rem,4vw,3.3rem);letter-spacing:-.055em}.topbar-title{flex:1}.mobile-menu-btn{display:none;border:1px solid var(--border);background:var(--panel);border-radius:14px;width:44px;height:44px;place-items:center;padding:10px}.mobile-menu-btn span{display:block;width:20px;height:2px;background:var(--text);margin:3px 0;border-radius:99px}.help-card{background:linear-gradient(135deg,rgba(37,99,235,.08),rgba(34,197,94,.08));padding:0;overflow:hidden}.help-card summary{display:flex;align-items:center;gap:10px;cursor:pointer;list-style:none;padding:15px 16px;font-weight:950}.help-card summary::-webkit-details-marker{display:none}.help-card summary img{width:20px;height:20px}.help-card p{padding:0 16px 16px;margin:0}.metric-card,.panel,.item-card,.auth-card{backdrop-filter:blur(12px)}.metric-card:hover,.panel:hover{border-color:rgba(37,99,235,.24)}.toast-container{position:fixed;right:18px;top:18px;z-index:1000;display:grid;gap:10px;width:min(360px,calc(100vw - 36px))}.toast{background:var(--panel);border:1px solid var(--border);border-left:5px solid var(--primary);box-shadow:var(--shadow);border-radius:16px;padding:13px 14px;color:var(--text);animation:toastIn .22s ease}.toast.error{border-left-color:var(--danger)}.toast.success{border-left-color:var(--success)}@keyframes toastIn{from{transform:translateY(-8px);opacity:0}to{transform:none;opacity:1}}.modal-backdrop{position:fixed;inset:0;z-index:999;background:rgba(15,23,42,.55);display:grid;place-items:center;padding:18px;backdrop-filter:blur(8px)}.modal-card{width:min(440px,100%);background:var(--panel);border:1px solid var(--border);border-radius:28px;box-shadow:0 30px 100px rgba(0,0,0,.22);padding:24px;position:relative}.modal-close{position:absolute;right:14px;top:14px;border:0;background:transparent;cursor:pointer}.modal-close img{width:22px;height:22px}.modal-icon{width:54px;height:54px;border-radius:18px;background:#eff6ff;display:grid;place-items:center}.modal-icon img{width:26px;height:26px}.modal-card h2{margin:16px 0 8px}.modal-card p{color:var(--muted);line-height:1.55}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:18px}.empty-icon{font-size:0;width:36px;height:36px;border-radius:14px;background:#eff6ff url('../assets/icons/help.svg') center/22px no-repeat}.icon-btn{display:inline-flex;align-items:center;gap:6px}.accountLogoFile{cursor:pointer}.bank-preset{transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.bank-preset:hover{box-shadow:0 10px 24px rgba(15,23,42,.08)}
@media(max-width:980px){.landing-menu{display:none}.hero-section,.split-section,.auth-section{grid-template-columns:1fr}.hero-device{transform:none}.feature-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.landing-actions .ghost{display:none}.layout{display:block}.sidebar{position:fixed;z-index:50;left:14px;top:14px;bottom:14px;width:min(310px,calc(100vw - 28px));height:auto;border-radius:26px;box-shadow:0 30px 90px rgba(15,23,42,.28);transform:translateX(calc(-100% - 28px));transition:transform .22s ease}.sidebar.open{transform:translateX(0)}.sidebar nav{grid-template-columns:1fr}.mobile-menu-btn{display:grid}.content{padding:18px 16px 96px}.topbar{align-items:flex-start}.top-actions{width:100%}.top-actions .btn{flex:1}.dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:660px){.landing-nav{padding:12px 16px}.landing-actions .primary{padding:10px 12px}.hero-section{padding-top:42px}.hero-copy h1{font-size:3.1rem}.feature-grid{grid-template-columns:1fr}.mini-grid{grid-template-columns:1fr}.auth-section{padding-top:44px}.landing-footer{display:grid}.dashboard-grid,.cards-grid,.charts-grid,.two-columns,.planner-grid,.filters-grid,.report-grid{grid-template-columns:1fr!important}.topbar{flex-direction:row;align-items:center}.top-actions{display:none}.panel,.metric-card{border-radius:18px}.help-card{border-radius:18px}input,select,.btn{min-height:44px}.sidebar{overflow:auto}.toast-container{top:auto;bottom:18px}.table-wrapper{border:1px solid var(--border);border-radius:16px}}
.help-grid{grid-template-columns:repeat(3,minmax(220px,1fr))}.help-grid .panel{margin-top:0}.help-grid p{color:var(--muted);line-height:1.6}@media(max-width:1000px){.help-grid{grid-template-columns:1fr}}

/* ===== Fexnox Finance v7: metas visuales y reportes ===== */
.goals-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px}.goal-card-pro{display:grid;grid-template-columns:160px 1fr auto;gap:16px;align-items:stretch}.goal-card-pro.goal-complete{border-color:rgba(34,197,94,.55);box-shadow:0 18px 45px rgba(34,197,94,.12)}.goal-visual-card{min-width:150px}.goal-image-wrap{position:relative;overflow:hidden;border-radius:22px;min-height:150px;background:linear-gradient(135deg,rgba(59,130,246,.18),rgba(16,185,129,.18));border:1px solid rgba(148,163,184,.24);display:flex;align-items:center;justify-content:center}.goal-image-wrap img{width:100%;height:100%;min-height:150px;object-fit:cover;display:block}.goal-image-wrap.preview{max-width:260px;min-height:170px;margin-top:10px}.goal-lock-layer{position:absolute;left:0;right:0;bottom:0;background:rgba(15,23,42,.72);backdrop-filter:blur(4px);transition:height .35s ease;border-top:1px solid rgba(255,255,255,.15)}.goal-percent{position:absolute;right:12px;top:12px;background:rgba(15,23,42,.82);color:#fff;border:1px solid rgba(255,255,255,.24);padding:6px 10px;border-radius:999px;font-size:.78rem;font-weight:800}.goal-placeholder{display:flex;flex-direction:column;align-items:center;gap:8px;padding:18px;text-align:center;color:var(--muted)}.goal-placeholder img{width:42px;height:42px;min-height:auto;opacity:.75}.goal-progress span{background:linear-gradient(90deg,#38bdf8,#22c55e)}.goal-note{margin:.4rem 0 0;padding:10px 12px;border-radius:14px;background:rgba(148,163,184,.10);color:var(--muted);font-size:.9rem}.goal-image-preview.hidden{display:none}.report-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.report-actions input{width:95px}@media(max-width:900px){.goal-card-pro{grid-template-columns:1fr}.goal-visual-card{min-width:0}.goal-image-wrap{min-height:220px}.goal-image-wrap img{min-height:220px}}@media(max-width:520px){.goals-grid{grid-template-columns:1fr}.report-actions input{width:100%}.report-actions .btn{width:100%}}

/* ===== Fexnox Finance v8: Deudas profesionales ===== */
.debts-layout{grid-template-columns:minmax(340px,420px) 1fr}.debt-wizard{gap:13px}.wizard-progress{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:4px 0 8px}.wizard-progress span{border:1px solid var(--border);border-radius:999px;padding:8px 10px;text-align:center;color:var(--muted);font-size:.78rem;font-weight:900;background:var(--bg)}.wizard-progress span.active{background:#dbeafe;color:#1d4ed8;border-color:#bfdbfe}.debt-kind-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.debt-kind-card{border:1px solid var(--border);border-radius:18px;background:var(--panel);color:var(--text);padding:13px;text-align:left;cursor:pointer;display:grid;gap:7px;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.debt-kind-card:hover,.debt-kind-card.active{border-color:var(--primary);box-shadow:0 16px 36px rgba(37,99,235,.12);transform:translateY(-1px)}.debt-kind-card img{width:30px;height:30px;padding:6px;border-radius:12px;background:#eff6ff}.debt-kind-card small{color:var(--muted);line-height:1.35}.advanced-fields{border:1px dashed var(--border);border-radius:18px;padding:0;background:var(--bg);overflow:hidden}.advanced-fields summary{cursor:pointer;padding:13px 14px;font-weight:900;color:var(--primary)}.advanced-grid{display:grid;gap:10px;padding:0 14px 14px}.debt-preview{border:1px solid var(--border);border-radius:18px;padding:14px;background:linear-gradient(135deg,rgba(37,99,235,.08),rgba(34,197,94,.08))}.debt-preview h3{margin:0 0 10px}.debt-preview-card{display:grid;gap:9px}.debt-preview-card p{margin:0;color:var(--muted);line-height:1.45}.debt-upcoming-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0 0 16px}.debt-upcoming-card{background:var(--panel);border:1px solid var(--border);border-left:5px solid var(--success);border-radius:18px;padding:14px;box-shadow:var(--shadow);display:grid;gap:5px}.debt-upcoming-card span{font-size:.78rem;font-weight:950;text-transform:uppercase;color:var(--muted)}.debt-upcoming-card strong{font-size:1.05rem}.debt-upcoming-card small{color:var(--muted)}.debt-upcoming-card.soon{border-left-color:var(--warning)}.debt-upcoming-card.overdue{border-left-color:var(--danger)}.debt-group{display:grid;gap:12px;margin-top:14px}.debt-group h3{margin:0;color:var(--muted);font-size:.84rem;text-transform:uppercase;letter-spacing:.08em}.debts-list-pro{gap:18px}.debt-card-pro{background:var(--panel);border:1px solid var(--border);border-radius:24px;padding:16px;box-shadow:var(--shadow);display:grid;gap:12px}.debt-card-pro.status-overdue{border-color:rgba(220,38,38,.45)}.debt-card-pro.status-soon{border-color:rgba(245,158,11,.48)}.debt-card-pro.status-paid{border-color:rgba(22,163,74,.45);opacity:.88}.debt-card-top{display:flex;gap:12px;align-items:flex-start}.debt-card-icon{width:46px;height:46px;border-radius:16px;background:#eff6ff;border:1px solid var(--border);padding:10px}.debt-status{border-radius:999px;padding:5px 9px;font-size:.75rem;font-weight:950}.debt-status.ok,.debt-status.paid{background:#dcfce7;color:#166534}.debt-status.soon{background:#fef3c7;color:#92400e}.debt-status.overdue{background:#fee2e2;color:#991b1b}.debt-numbers{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.debt-numbers.compact{grid-template-columns:repeat(3,minmax(0,1fr))}.debt-numbers div{border:1px solid var(--border);background:var(--bg);border-radius:16px;padding:10px}.debt-numbers small{display:block;color:var(--muted);font-size:.75rem}.debt-numbers b{display:block;margin-top:4px}.debt-meta{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;color:var(--muted);font-size:.86rem}.debt-advice{border:1px solid rgba(37,99,235,.16);background:rgba(37,99,235,.07);border-radius:16px;padding:11px 12px;color:var(--text);line-height:1.45}.debt-paybar{display:grid;grid-template-columns:1fr 1fr auto auto auto;gap:8px;align-items:center}.debt-history{border-top:1px solid var(--border);padding-top:10px;display:grid;gap:8px}.debt-history h4{margin:0}.history-row{display:grid;grid-template-columns:120px 120px 1fr;gap:8px;align-items:center;background:var(--bg);border:1px solid var(--border);border-radius:14px;padding:9px 10px}.history-row small{color:var(--muted)}.debt-progress span{background:linear-gradient(90deg,#2563eb,#22c55e)}@media(max-width:1150px){.debts-layout{grid-template-columns:1fr}.debt-upcoming-grid{grid-template-columns:1fr}.debt-paybar{grid-template-columns:1fr 1fr}.debt-paybar .btn,.debt-paybar .icon-btn{width:100%;justify-content:center}.debt-numbers{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:620px){.debt-kind-grid,.debt-numbers,.debt-numbers.compact,.debt-paybar,.history-row{grid-template-columns:1fr}.debt-card-top{align-items:center}.wizard-progress{grid-template-columns:1fr}.debt-upcoming-grid{gap:8px}}
textarea{font:inherit;border:1px solid var(--border);background:var(--panel);color:var(--text);border-radius:12px;padding:11px 12px;outline:none;resize:vertical}textarea:focus{border-color:var(--primary);box-shadow:var(--ring)}

/* ===== Fexnox Finance v11: producto global, reportes y responsive ===== */
.nav-link[data-section="dashboard"] span::after{content:""}.charts-grid{grid-template-columns:repeat(3,minmax(240px,1fr))}.account-type-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.account-type-preset span{display:grid;gap:3px}.account-type-preset small{color:var(--muted);font-weight:600;line-height:1.25}.account-type-preset.active{border-color:var(--primary);box-shadow:0 16px 36px rgba(37,99,235,.12)}.report-filter-grid{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:10px;width:100%;margin-bottom:10px}.report-actions{justify-content:flex-start}.report-actions .btn{min-width:110px}.debt-main-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.debt-main-grid label{margin-top:0}.debt-main-grid label:nth-of-type(1),.debt-main-grid label:nth-of-type(2),.debt-main-grid label:nth-of-type(3),.debt-main-grid label:nth-of-type(4),.debt-main-grid label:nth-of-type(5){align-self:end}.advanced-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.top-actions:empty{display:none}.metric-card small{line-height:1.35}.table-wrapper table{min-width:760px}#reports .panel-header{gap:14px}#reports .report-actions input{width:110px}#settingsCurrency{min-height:46px}.security-note{border:1px solid var(--border);background:var(--bg);border-radius:16px;padding:14px}
@media(max-width:1180px){.charts-grid{grid-template-columns:1fr 1fr}.report-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.charts-grid,.account-type-grid,.report-filter-grid,.debt-main-grid,.advanced-grid{grid-template-columns:1fr}.debt-wizard{padding:16px}.debt-kind-grid{grid-template-columns:1fr}.debt-main-grid input,.debt-main-grid select,.debt-main-grid textarea{width:100%}#reports .report-actions{display:grid;grid-template-columns:1fr 1fr;width:100%}#reports .report-actions input,#reports .report-actions .btn{width:100%}.metric-card strong{font-size:1.25rem}.landing-auth-card,.auth-card{width:100%}}
@media(max-width:480px){#reports .report-actions{grid-template-columns:1fr}.topbar-title h1{font-size:1.45rem}.content{padding:14px 12px 90px}.panel{padding:14px}.help-card{padding:12px}.debt-card-pro{padding:14px}.debt-numbers div{padding:9px}.history-row{font-size:.88rem}}

/* ===== Fexnox Finance v11: dashboard personalizable + importaciones + conciliación ===== */
label{display:block}
.form-panel input,.form-panel select,.form-panel textarea{width:100%}
.form-grid-two{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.form-grid-two > div{display:grid;gap:8px}
.form-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:8px}
#normalTransactionFields,#transferFields{margin-top:6px}
.debt-classification-block{display:grid;gap:8px;margin-top:14px;padding-top:8px}
.debt-classification-block select{max-width:260px}
.dashboard-customizer{margin-top:0}
.dashboard-customizer-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.option-check-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.option-check{display:flex;align-items:center;gap:10px;background:var(--bg);border:1px solid var(--border);border-radius:14px;padding:10px 12px}
.option-check input{width:auto}
.dashboard-widget.hidden-widget,.dashboard-chart.hidden-widget{display:none!important}
.report-ops-layout{align-items:start}
.import-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px}
.import-grid > div{display:grid;gap:8px}
.reconciliation-item{display:grid;gap:8px;border:1px solid var(--border);border-radius:16px;padding:12px;background:var(--bg)}
.reconciliation-head{display:flex;justify-content:space-between;gap:10px;align-items:center;flex-wrap:wrap}
.reconciliation-badge{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:5px 10px;font-size:.78rem;font-weight:900}
.reconciliation-badge.match{background:#dcfce7;color:#166534}
.reconciliation-badge.missing{background:#fee2e2;color:#991b1b}
.reconciliation-badge.partial{background:#fef3c7;color:#92400e}
.preview-table td small{color:var(--muted)}
.preview-table .status-ok{color:#166534;font-weight:800}
.preview-table .status-missing{color:#991b1b;font-weight:800}
@media(max-width:900px){.dashboard-customizer-grid,.import-grid,.form-grid-two{grid-template-columns:1fr}.option-check-grid{grid-template-columns:1fr}}

/* ===== Fexnox Finance v11: seguridad, roles y dashboard arrastrable ===== */
.draggable-widget{cursor:grab}
.draggable-widget.dragging{opacity:.55;outline:2px dashed var(--primary);outline-offset:4px}
#team .item-card select{min-width:130px}
.auth-form .btn.ghost.full{margin-top:4px}
.preview-table small{display:block;max-width:340px;white-space:normal}
@media(max-width:720px){#team .action-buttons{width:100%;display:grid;grid-template-columns:1fr}#team .item-card select,#team .icon-btn{width:100%}.dashboard-customizer{display:none}}


/* ===== v12 premium UX improvements ===== */
.brand-identity{display:flex;align-items:center;gap:12px;min-width:0}.brand-copy{display:grid;gap:2px;min-width:0}.brand-copy strong{font-size:1.12rem;line-height:1.1}.brand-copy span{font-size:.88rem}.brand-logo-img{width:52px;height:52px;object-fit:contain;filter:drop-shadow(0 6px 16px rgba(15,23,42,.12))}.auth-brand-logo{width:58px;height:58px}.dashboard-control-bar{display:flex;justify-content:space-between;align-items:center;gap:14px;margin:16px 0}.section-subtitle{margin:0;font-size:1.3rem}.section-subcopy{margin:6px 0 0;color:var(--muted)}.modal-card-lg{width:min(980px,100%);max-height:88vh;overflow:auto}.dashboard-customizer{margin-top:0}.dashboard-customizer .panel-header{margin-bottom:8px}.reports-shell{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(340px,.9fr);gap:16px}.reports-side-stack{display:grid;gap:16px}.reports-blocks{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:8px 0 14px}.report-block{display:grid;gap:6px}.report-block.compact input{width:100%}.report-filter-grid-premium>div{display:grid;gap:6px}.report-actions-premium{display:flex;flex-wrap:wrap;align-items:end;gap:10px;margin-top:14px}.report-inline-note{margin-top:14px;padding:14px 16px;border:1px solid var(--border);background:var(--bg);border-radius:16px;color:var(--muted)}.subreport-grid{display:grid;gap:16px;margin-top:14px}.subreport-card{border:1px solid var(--border);border-radius:18px;background:var(--bg);padding:16px}.subreport-card h3{margin:0 0 12px}.premium-nav{background:rgba(3,10,24,.78);border-bottom:1px solid rgba(212,175,55,.18)}.premium-brand,.premium-nav .landing-menu a,.premium-nav .landing-actions a{color:#f8fafc}.premium-nav-logo{width:42px;height:42px;object-fit:contain}.landing-body-premium{background:radial-gradient(circle at 10% 0%,rgba(212,175,55,.18),transparent 20%),radial-gradient(circle at 90% 0%,rgba(37,99,235,.24),transparent 24%),linear-gradient(180deg,#08111f,#0a1730 40%,#eef4ff 40%,#f8fafc 100%)}.premium-hero{color:#f8fafc;min-height:calc(100vh - 78px)}.gold-eyebrow{color:#d8b55a}.premium-hero .hero-lead{color:#d7deea}.premium-glass{background:rgba(255,255,255,.08);border:1px solid rgba(216,181,90,.35);color:#f8fafc}.premium-ghost{border-color:rgba(216,181,90,.4);color:#f8fafc}.premium-gold{background:linear-gradient(135deg,#f3dd9a,#b88a31);color:#09111f}.premium-gold:hover{filter:brightness(1.03)}.premium-trust span{border-color:rgba(216,181,90,.3);background:rgba(255,255,255,.05);color:#eff6ff}.premium-hero-visual{display:grid;gap:16px;align-items:center;justify-items:center}.premium-hero-logo{width:min(540px,100%);object-fit:contain;filter:drop-shadow(0 20px 50px rgba(0,0,0,.34))}.premium-hero-card{width:min(520px,100%);background:rgba(255,255,255,.06);border:1px solid rgba(216,181,90,.25);border-radius:26px;padding:22px;color:#f8fafc;backdrop-filter:blur(14px)}.premium-hero-card small{color:#d8b55a}.premium-hero-card strong{display:block;font-size:1.55rem;line-height:1.2;margin:10px 0}.premium-hero-card p{margin:0;color:#d7deea}.premium-section{background:#f8fafc}.premium-feature-card{background:#fff;border-color:#e6e9f0}.premium-feature-card img{background:#f7f2e1}.premium-security{background:linear-gradient(135deg,#08111f,#102346)}.premium-footer{background:#08111f;color:#cbd5e1;border-top:1px solid rgba(216,181,90,.18)}@media(max-width:1180px){.reports-shell{grid-template-columns:1fr}.dashboard-control-bar{align-items:flex-start;flex-direction:column}.reports-blocks{grid-template-columns:1fr}.modal-card-lg{width:min(760px,100%)}}@media(max-width:720px){.report-actions-premium{display:grid;grid-template-columns:1fr 1fr}.report-actions-premium .btn,.report-actions-premium .report-block{width:100%}.modal-card-lg{padding:18px}.brand-copy strong{font-size:1rem}.brand-logo-img{width:46px;height:46px}}

@media(max-width:720px){#dashboardCustomizeModal .dashboard-customizer{display:block!important}}


/* ===== Fexnox Finance v12.1: visual polish and responsive bug fixes ===== */
.brand-identity{width:100%}.brand-copy strong,.brand-copy span{display:block}.brand-copy strong{white-space:normal}.brand-copy span{line-height:1.25}.brand-logo-img{flex:0 0 auto}.app-brand{overflow:hidden}
.dashboard-control-bar{background:linear-gradient(135deg,rgba(255,255,255,.78),rgba(248,250,252,.54));border:1px solid var(--border);border-radius:22px;padding:16px 18px;box-shadow:var(--shadow)}body.dark .dashboard-control-bar{background:linear-gradient(135deg,rgba(15,23,42,.92),rgba(30,41,59,.72))}.dashboard-customizer-modal-content{box-shadow:none;border:0;background:transparent;padding:0;margin-top:8px}.dashboard-customizer-modal-content:hover{border-color:transparent}.modal-card-lg .panel-header{padding-right:38px}.modal-card-lg .option-check{transition:transform .16s ease,border-color .16s ease,background .16s ease}.modal-card-lg .option-check:hover{transform:translateY(-1px);border-color:rgba(184,138,49,.55);background:rgba(248,242,225,.54)}.draggable-widget{cursor:grab}.draggable-widget:active{cursor:grabbing}.draggable-widget.dragging{opacity:.62;transform:scale(.995)}
.reports-shell{align-items:start}.reports-shell .panel{min-width:0}.reports-main-panel{overflow:hidden}.reports-blocks{background:var(--bg);border:1px solid var(--border);border-radius:18px;padding:14px}.report-filter-grid-premium{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));background:var(--bg);border:1px solid var(--border);border-radius:18px;padding:14px}.report-filter-grid-premium input,.report-filter-grid-premium select,.report-block select,.report-block input{width:100%}.report-actions-premium{background:linear-gradient(135deg,rgba(37,99,235,.07),rgba(184,138,49,.08));border:1px solid var(--border);border-radius:18px;padding:12px}.reports-side-stack .panel{margin-top:0}.import-grid input[type=file]{width:100%;max-width:100%;font-size:.92rem}.import-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.quality-note{line-height:1.55}.preview-table td,.preview-table th{white-space:normal;vertical-align:top}.preview-table small{display:block;margin-top:4px}.reconciliation-item{overflow:hidden}.reconciliation-head strong{word-break:break-word}
.premium-hero-wordmark{width:min(720px,100%);max-height:360px;object-fit:contain;filter:drop-shadow(0 28px 70px rgba(0,0,0,.45))}.premium-hero-visual{align-self:center}.premium-hero-card{box-shadow:0 25px 80px rgba(0,0,0,.24)}.premium-feature-card{transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.premium-feature-card:hover{transform:translateY(-3px);border-color:rgba(184,138,49,.32);box-shadow:0 24px 80px rgba(15,23,42,.10)}
.form-panel label{line-height:1.25}.form-grid-two{align-items:end}.form-grid-two select,.form-grid-two input{width:100%}.table-wrapper{max-width:100%}.table-wrapper table{min-width:780px}.item-card{min-width:0}.card-main{min-width:0}.card-main strong,.card-main span{word-break:break-word}.topbar{backdrop-filter:blur(8px)}
@media(max-width:1280px){.reports-shell{grid-template-columns:1fr}.reports-side-stack{grid-template-columns:1fr 1fr}.premium-hero{grid-template-columns:1fr}.premium-hero-visual{order:-1}.premium-hero-wordmark{width:min(560px,100%)}}
@media(max-width:980px){.reports-side-stack{grid-template-columns:1fr}.dashboard-control-bar{align-items:stretch}.dashboard-control-bar .btn{width:100%}.modal-card-lg{width:min(720px,calc(100vw - 24px));max-height:86vh}.premium-hero-visual{order:0}.premium-hero-wordmark{width:min(470px,100%)}}
@media(max-width:760px){.dashboard-customizer-grid,.option-check-grid{grid-template-columns:1fr!important}.modal-card-lg{padding:18px;border-radius:24px}.report-filter-grid-premium,.reports-blocks,.import-grid{grid-template-columns:1fr}.report-actions-premium{display:grid;grid-template-columns:1fr 1fr}.report-actions-premium .btn,.report-actions-premium .report-block{width:100%;min-width:0}.premium-hero-wordmark{width:100%}.premium-hero-card strong{font-size:1.18rem}.brand-logo-img{width:44px;height:44px}.sidebar{padding:18px}.content{padding:14px 12px 92px}.help-card summary{align-items:flex-start}.table-wrapper table{min-width:700px}}
@media(max-width:520px){.report-actions-premium{grid-template-columns:1fr}.reports-blocks,.report-filter-grid-premium,.report-actions-premium{padding:10px;border-radius:16px}.dashboard-control-bar{padding:14px}.section-subtitle{font-size:1.12rem}.section-subcopy{font-size:.9rem}.premium-hero{padding-left:16px;padding-right:16px}.premium-hero .hero-copy h1{font-size:2.55rem}.premium-hero-wordmark{max-height:230px}.modal-actions,.modal-card-lg .form-actions{display:grid;grid-template-columns:1fr}.modal-card-lg .btn{width:100%}.table-wrapper table{min-width:640px}.auth-card{padding:22px}}

/* ===== Fexnox Finance v12.1.1: hotfix visual reportes + modal ===== */
body.modal-open{overflow:hidden}.modal-backdrop:not(.hidden){display:grid!important}.modal-card-lg{animation:fexModalIn .18s ease}@keyframes fexModalIn{from{transform:translateY(10px) scale(.985);opacity:.0}to{transform:none;opacity:1}}#dashboardCustomizeModal .dashboard-customizer{display:block!important}.dashboard-customizer-modal-content{border:0!important;box-shadow:none!important;background:transparent!important;padding:0!important}.report-guide-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:16px 0}.report-guide-strip article{display:grid;grid-template-columns:auto 1fr;gap:5px 10px;align-items:start;background:var(--panel);border:1px solid var(--border);border-radius:18px;padding:14px;box-shadow:var(--shadow)}.report-guide-strip span{grid-row:1/3;width:32px;height:32px;border-radius:999px;display:grid;place-items:center;background:linear-gradient(135deg,#f3dd9a,#b88a31);color:#09111f;font-weight:950}.report-guide-strip strong{line-height:1.15}.report-guide-strip small{color:var(--muted);line-height:1.4}.reports-shell-clear{grid-template-columns:minmax(0,1.25fr) minmax(320px,.8fr)}.report-step-card{border:1px solid var(--border);background:var(--bg);border-radius:20px;padding:15px;margin-top:14px}.step-heading{display:flex;align-items:flex-start;gap:12px;margin-bottom:12px}.step-heading>span{width:34px;height:34px;border-radius:12px;display:grid;place-items:center;background:#eff6ff;color:#1d4ed8;font-weight:950;flex:none}.step-heading h3{margin:0 0 4px}.step-heading p{margin:0;color:var(--muted);line-height:1.4}.reports-blocks-clear{background:transparent;border:0;padding:0;margin:0}.report-mode-help,.report-current-selection{border:1px solid rgba(184,138,49,.22);background:rgba(248,242,225,.45);border-radius:16px;padding:12px 14px;color:var(--text);line-height:1.5;margin-top:12px}.report-current-selection{display:grid;gap:4px}.report-current-selection span{color:var(--muted)}.report-preview-box{margin-top:12px}.report-side-card{overflow:hidden}.report-side-card .panel-header{gap:4px}.reports-side-stack{align-content:start}.report-filter-grid-premium label,.report-block label{color:var(--muted);font-size:.78rem;text-transform:uppercase;letter-spacing:.04em}.report-actions-premium .btn{min-height:46px}.report-grid .report-box span{color:var(--muted);font-size:.82rem}.reports-page .table-wrapper{border:1px solid var(--border);border-radius:16px;background:var(--panel)}@media(max-width:1180px){.reports-shell-clear{grid-template-columns:1fr}.reports-side-stack{grid-template-columns:1fr 1fr}.report-guide-strip{grid-template-columns:1fr}}@media(max-width:760px){.reports-side-stack{grid-template-columns:1fr}.report-guide-strip{gap:10px}.report-guide-strip article{grid-template-columns:auto 1fr}.report-step-card{padding:13px}.step-heading{gap:10px}.report-actions-premium{grid-template-columns:1fr!important}.modal-card-lg{max-height:90vh;width:calc(100vw - 24px);padding:16px}.modal-card-lg .panel-header{display:block}.dashboard-control-bar .btn{width:100%}}


/* ===== Fexnox Finance v12.1.2: hotfix definitivo modal personalizar inicio ===== */
#dashboardCustomizeModal.force-open{display:grid!important;visibility:visible!important;opacity:1!important;pointer-events:auto!important;z-index:9999!important;}
#dashboardCustomizeModal.force-open .modal-card{display:block!important;visibility:visible!important;opacity:1!important;}
#dashboardCustomizeModal.force-open .dashboard-customizer{display:block!important;}
#dashboardCustomizeModal.force-open .dashboard-customizer-grid{display:grid!important;}
body.modal-open{overflow:hidden!important;}
#openCustomizeDashboardBtn{position:relative;z-index:2;}
@media(max-width:760px){#dashboardCustomizeModal.force-open{align-items:start;padding:12px;}#dashboardCustomizeModal.force-open .modal-card-lg{width:calc(100vw - 24px)!important;max-height:92vh!important;overflow:auto!important;}}


/* ===== Fexnox Finance v12.2 Stable ===== */
.nav-group-label{
  color:var(--muted);
  font-size:.72rem;
  text-transform:uppercase;
  font-weight:950;
  letter-spacing:.09em;
  padding:14px 12px 4px;
}
.sidebar nav::before{content:none!important;}
#dashboardCustomizeModal.dashboard-modal{
  display:none!important;
  visibility:hidden!important;
  opacity:0!important;
  pointer-events:none!important;
}
#dashboardCustomizeModal.dashboard-modal.open,
#dashboardCustomizeModal.force-open{
  display:grid!important;
  visibility:visible!important;
  opacity:1!important;
  pointer-events:auto!important;
  z-index:99999!important;
}
#dashboardCustomizeModal .modal-card{
  max-height:88vh;
  overflow:auto;
}
body.modal-open{overflow:hidden;}
.dashboard-control-bar{
  border:1px solid var(--border);
  border-radius:20px;
  background:var(--panel);
  box-shadow:var(--shadow);
  padding:16px;
}
.dashboard-control-bar .btn{
  white-space:nowrap;
}
.hidden-widget{display:none!important;}
.guide-quick-grid{
  margin-bottom:16px;
  grid-template-columns:repeat(3,minmax(220px,1fr));
}
.guide-card{
  margin-top:0;
  background:linear-gradient(135deg,rgba(37,99,235,.07),rgba(216,181,90,.08));
}
.guide-mini-list{
  margin:10px 0 0;
  padding-left:20px;
  color:var(--muted);
  line-height:1.55;
}
.report-guide-strip article,
.report-step-card,
.report-side-card{
  transition:transform .18s ease,border-color .18s ease;
}
.report-guide-strip article:hover,
.report-step-card:hover,
.report-side-card:hover{
  transform:translateY(-1px);
  border-color:rgba(37,99,235,.25);
}
.report-preview-box{
  min-height:120px;
}
@media(max-width:900px){
  .guide-quick-grid{grid-template-columns:1fr;}
  .dashboard-control-bar{align-items:stretch;}
  .dashboard-control-bar .btn{width:100%;}
  #dashboardCustomizeModal .modal-card{width:min(96vw,760px);}
}
@media(max-width:560px){
  .nav-group-label{padding-top:10px;}
  .dashboard-customizer-grid,.option-check-grid{grid-template-columns:1fr!important;}
  #dashboardCustomizeModal .modal-card{padding:16px;border-radius:22px;}
  .modal-actions,.form-actions{display:grid;grid-template-columns:1fr;}
}


/* ===== Fexnox Finance v12.3: calendario financiero avanzado ===== */
.calendar-shell{
  display:grid;
  grid-template-columns:minmax(0,1.45fr) minmax(320px,.55fr);
  gap:16px;
  align-items:start;
}
.calendar-main-panel,.calendar-side-card{margin-top:16px}
.calendar-toolbar{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:16px;
  margin-bottom:14px;
}
.calendar-toolbar h2{margin:6px 0 6px;text-transform:capitalize}
.calendar-controls{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  justify-content:flex-end;
  align-items:center;
}
.calendar-controls input{width:96px}
.calendar-controls select{min-width:150px}
.calendar-stats-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
  margin:12px 0 16px;
}
.calendar-stats-grid article{
  border:1px solid var(--border);
  background:var(--bg);
  border-radius:16px;
  padding:12px;
}
.calendar-stats-grid span{
  display:block;
  color:var(--muted);
  font-size:.78rem;
  font-weight:800;
}
.calendar-stats-grid strong{
  display:block;
  margin-top:6px;
  font-size:1.2rem;
}
.calendar-weekdays{
  display:grid;
  grid-template-columns:repeat(7,1fr);
  border:1px solid var(--border);
  border-bottom:0;
  border-radius:18px 18px 0 0;
  overflow:hidden;
  background:var(--bg);
}
.calendar-weekdays span{
  padding:10px 12px;
  font-weight:950;
  color:var(--text);
  border-right:1px solid var(--border);
}
.calendar-weekdays span:last-child{border-right:0}
.calendar-grid{
  display:grid;
  grid-template-columns:repeat(7,1fr);
  border-left:1px solid var(--border);
  border-top:1px solid var(--border);
  border-radius:0 0 18px 18px;
  overflow:hidden;
}
.calendar-cell{
  min-height:132px;
  border:0;
  border-right:1px solid var(--border);
  border-bottom:1px solid var(--border);
  background:var(--panel);
  color:var(--text);
  padding:9px;
  text-align:left;
  display:flex;
  flex-direction:column;
  gap:8px;
  cursor:pointer;
  position:relative;
}
.calendar-cell:hover,.calendar-cell.selected{
  background:rgba(37,99,235,.055);
  outline:2px solid rgba(37,99,235,.18);
  z-index:1;
}
.calendar-cell.muted{
  background:rgba(148,163,184,.06);
  cursor:default;
}
.calendar-cell.today .calendar-day-number{
  background:linear-gradient(135deg,#2563eb,#1d4ed8);
  color:white;
}
.calendar-day-number{
  width:30px;
  height:30px;
  display:grid;
  place-items:center;
  border-radius:999px;
  font-weight:950;
}
.calendar-events{
  display:grid;
  gap:5px;
  align-content:start;
}
.calendar-event{
  border:1px solid transparent;
  border-radius:10px;
  padding:6px 7px;
  display:grid;
  gap:2px;
  text-align:left;
  font-size:.78rem;
  cursor:pointer;
  color:var(--text);
  background:var(--bg);
}
.calendar-event span{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-weight:850;
}
.calendar-event small{
  color:var(--muted);
}
.calendar-event.debt,.calendar-detail-item.debt,.calendar-mini-card.debt{border-left:4px solid #dc2626}
.calendar-event.goal,.calendar-detail-item.goal,.calendar-mini-card.goal{border-left:4px solid #d8b55a}
.calendar-event.recurring,.calendar-detail-item.recurring,.calendar-mini-card.recurring{border-left:4px solid #7c3aed}
.calendar-event.income,.calendar-detail-item.income,.calendar-mini-card.income{border-left:4px solid #16a34a}
.calendar-event.expense,.calendar-detail-item.expense,.calendar-mini-card.expense{border-left:4px solid #f97316}
.calendar-event.transfer,.calendar-detail-item.transfer,.calendar-mini-card.transfer{border-left:4px solid #2563eb}
.calendar-more{
  color:var(--primary);
  font-size:.76rem;
  font-weight:950;
}
.calendar-side{display:grid;gap:16px}
.calendar-day-detail{display:grid;gap:10px}
.calendar-day-detail h3{
  text-transform:capitalize;
  margin:0 0 4px;
}
.calendar-detail-item,.calendar-mini-card{
  display:grid;
  grid-template-columns:1fr auto auto;
  align-items:center;
  gap:10px;
  border:1px solid var(--border);
  background:var(--bg);
  border-radius:16px;
  padding:11px 12px;
}
.calendar-detail-item strong,.calendar-mini-card strong{display:block}
.calendar-detail-item span,.calendar-mini-card span{
  display:block;
  color:var(--muted);
  font-size:.84rem;
  margin-top:3px;
}
.calendar-detail-item b,.calendar-mini-card b{
  white-space:nowrap;
}
.calendar-list{gap:10px}
@media(max-width:1180px){
  .calendar-shell{grid-template-columns:1fr}
  .calendar-toolbar{flex-direction:column}
  .calendar-controls{justify-content:flex-start}
  .calendar-stats-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:760px){
  .calendar-controls{display:grid;grid-template-columns:1fr 1fr;width:100%}
  .calendar-controls input,.calendar-controls select,.calendar-controls .btn{width:100%;min-width:0}
  .calendar-weekdays span{font-size:.78rem;padding:8px 6px;text-align:center}
  .calendar-grid{display:block;border:0;border-radius:0}
  .calendar-weekdays{display:none}
  .calendar-cell{
    min-height:auto;
    border:1px solid var(--border);
    border-radius:16px;
    margin-bottom:10px;
  }
  .calendar-cell.muted{display:none}
  .calendar-stats-grid{grid-template-columns:1fr}
  .calendar-detail-item,.calendar-mini-card{grid-template-columns:1fr}
  .calendar-detail-item .icon-btn,.calendar-mini-card .icon-btn{width:100%;justify-content:center}
}


/* ===== Fexnox Finance v12.4 Stable UX + GitHub ready ===== */
.getting-started-page .help-card{margin-bottom:16px}
.getting-started-hero{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:18px;
  margin-top:16px;
  background:linear-gradient(135deg,rgba(8,17,31,.96),rgba(16,35,70,.92));
  color:#f8fafc;
  border-color:rgba(216,181,90,.25);
}
.getting-started-hero p{color:#d7deea;max-width:760px}
.getting-started-hero h2{font-size:clamp(1.7rem,3vw,2.6rem);margin:8px 0}
.start-steps-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(220px,1fr));
  gap:16px;
  margin-top:16px;
}
.start-step-card{
  background:var(--panel);
  border:1px solid var(--border);
  border-radius:22px;
  padding:18px;
  box-shadow:var(--shadow);
  display:grid;
  gap:10px;
}
.start-step-card>span{
  width:38px;
  height:38px;
  border-radius:14px;
  display:grid;
  place-items:center;
  background:linear-gradient(135deg,#f3dd9a,#b88a31);
  color:#08111f;
  font-weight:950;
}
.start-step-card h3{margin:0}
.start-step-card p{margin:0;color:var(--muted);line-height:1.55}
.beginner-note{background:linear-gradient(135deg,rgba(37,99,235,.07),rgba(216,181,90,.08))}
.calendar-legend{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  align-items:center;
  margin:0 0 16px;
  padding:12px;
  border:1px solid var(--border);
  background:var(--bg);
  border-radius:16px;
}
.calendar-legend span{
  display:inline-flex;
  align-items:center;
  gap:7px;
  font-size:.84rem;
  font-weight:850;
  color:var(--muted);
}
.legend-dot{
  width:11px;
  height:11px;
  display:inline-block;
  border-radius:999px;
}
.legend-dot.debt{background:#dc2626}
.legend-dot.goal{background:#d8b55a}
.legend-dot.recurring{background:#7c3aed}
.legend-dot.income{background:#16a34a}
.legend-dot.expense{background:#f97316}
.legend-dot.transfer{background:#2563eb}
.empty-state-v124 .icon-btn{margin-top:8px}
.reconciliation-summary-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
}
.reconciliation-summary-grid article{
  border:1px solid var(--border);
  background:var(--bg);
  border-radius:14px;
  padding:12px;
}
.reconciliation-summary-grid span{display:block;color:var(--muted);font-size:.78rem;font-weight:900}
.reconciliation-summary-grid strong{display:block;font-size:1.5rem;margin-top:4px}
.reconciliation-summary-grid .match{border-left:5px solid #16a34a}
.reconciliation-summary-grid .partial{border-left:5px solid #f59e0b}
.reconciliation-summary-grid .missing{border-left:5px solid #dc2626}
.reconciliation-group{
  display:grid;
  gap:10px;
  margin-top:14px;
}
.reconciliation-group-title{
  border-bottom:1px solid var(--border);
  padding-bottom:8px;
}
.reconciliation-group-title h3{margin:0}
.reconciliation-group-title p{margin:4px 0 0;color:var(--muted)}
.reconciliation-item.match{border-left-color:#16a34a}
.reconciliation-item.partial{border-left-color:#f59e0b}
.reconciliation-item.missing{border-left-color:#dc2626}
.goal-card-v124 .goal-kpi-row{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
  margin:6px 0;
}
.goal-card-v124 .goal-kpi-row span{
  background:var(--bg);
  border:1px solid var(--border);
  border-radius:14px;
  padding:9px;
  color:var(--text);
}
.goal-card-v124 .goal-kpi-row b{
  display:block;
  color:var(--muted);
  font-size:.72rem;
  margin-bottom:3px;
  text-transform:uppercase;
}
.goal-status-line{
  font-weight:850;
  color:var(--muted);
}
.debt-card-v124{
  border-left:5px solid rgba(37,99,235,.55);
}
.debt-card-v124.status-overdue{border-left-color:#dc2626}
.debt-card-v124.status-soon{border-left-color:#f59e0b}
.debt-card-v124.status-paid{border-left-color:#16a34a}
.guide-card p b{color:var(--text)}
@media(max-width:1100px){
  .start-steps-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .getting-started-hero{align-items:flex-start;flex-direction:column}
}
@media(max-width:720px){
  .start-steps-grid{grid-template-columns:1fr}
  .getting-started-hero .btn{width:100%}
  .reconciliation-summary-grid{grid-template-columns:1fr}
  .goal-card-v124 .goal-kpi-row{grid-template-columns:1fr}
  .calendar-legend{display:grid;grid-template-columns:1fr 1fr}
}
@media(max-width:480px){
  .calendar-legend{grid-template-columns:1fr}
  .start-step-card{padding:15px}
}


/* ===== Fexnox Finance v12.5: Admin + Password Reset Ready ===== */
body[data-role="viewer"] .btn.primary:not(#loadReportBtn):not(#downloadReportBtn),
body[data-role="viewer"] form .btn:not(.ghost),
body[data-role="viewer"] .icon-btn[onclick*="del"],
body[data-role="viewer"] .icon-btn[onclick*="save"],
body[data-role="viewer"] .icon-btn[onclick*="pay"],
body[data-role="viewer"] .icon-btn[onclick*="add"],
body[data-role="viewer"] .icon-btn[onclick*="import"]{
  opacity:.55;
}
.admin-grid{
  display:grid;
  grid-template-columns:1.4fr .8fr;
  gap:16px;
  margin-top:16px;
}
.admin-summary-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
}
.admin-summary-grid article{
  border:1px solid var(--border);
  background:var(--bg);
  border-radius:16px;
  padding:12px;
}
.admin-summary-grid span{
  display:block;
  color:var(--muted);
  font-size:.78rem;
  font-weight:900;
}
.admin-summary-grid strong{
  display:block;
  margin-top:5px;
  font-size:1.45rem;
}
.role-help-grid{
  display:grid;
  gap:10px;
}
.role-help-grid article{
  border:1px solid var(--border);
  background:var(--bg);
  border-radius:16px;
  padding:12px;
}
.role-help-grid strong{
  display:block;
  text-transform:uppercase;
  letter-spacing:.06em;
}
.role-help-grid span{
  color:var(--muted);
  font-size:.88rem;
}
.admin-user-card{
  border-left:5px solid rgba(37,99,235,.35);
}
.admin-user-card .action-buttons select{
  min-width:135px;
}
.auth-form a{
  color:#d8b55a;
  font-weight:900;
  display:inline-block;
  margin-top:8px;
}
@media(max-width:1080px){
  .admin-grid{grid-template-columns:1fr}
  .admin-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:640px){
  .admin-summary-grid{grid-template-columns:1fr}
  .admin-user-card .action-buttons{display:grid;grid-template-columns:1fr}
  .admin-user-card .action-buttons select,.admin-user-card .action-buttons .icon-btn{width:100%}
}


/* ===== Fexnox Finance v12.5.1 Admin Panel Fix ===== */
.admin-panel-note-v1251{
  margin-top:10px;
}
.admin-summary-grid .empty-state,
#teamList .empty-state{
  grid-column:1/-1;
}
.admin-summary-panel .panel-header,
.admin-page .panel-header{
  align-items:center;
}
.admin-user-card select{
  background:var(--panel);
}
.admin-user-card .pill{
  background:rgba(37,99,235,.12);
  color:#1d4ed8;
}
@media(max-width:720px){
  .admin-page .panel-header{
    display:grid;
    gap:10px;
  }
  .admin-page .panel-header .btn{
    width:100%;
  }
}


/* ===== Fexnox Finance v12.5.2 Admin Panel Stable ===== */
.admin-debug-box{
  margin-top:12px;
  border:1px solid rgba(22,163,74,.25);
  background:rgba(22,163,74,.08);
  color:#166534;
  border-radius:14px;
  padding:10px 12px;
  font-weight:800;
}
.admin-debug-box.error{
  border-color:rgba(220,38,38,.28);
  background:rgba(220,38,38,.08);
  color:#991b1b;
}
.admin-summary-grid .empty-state.compact,
#teamList .empty-state.compact{
  grid-column:1/-1;
  margin:0;
}
.admin-user-card [data-save-admin-user]{
  min-width:92px;
}
