:root{color-scheme:dark;--bg:#0c1322;--sidebar:#0b1220;--surface:#111d30;--surface2:#17253a;--line:#26334a;--text:#eef4ff;--muted:#95a4b9;--purple:#9484f4;--cyan:#59d9ce;--green:#61d4a3;--red:#f0788d;--gold:#f6bd69;--radius:17px;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-size:14px}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{opacity:.45;cursor:not-allowed}input,select,textarea{color:var(--text);background:#0b1627;border:1px solid #34445d;border-radius:10px;padding:12px;outline:none;width:100%;min-height:42px}input:focus,select:focus,textarea:focus{border-color:var(--purple);box-shadow:0 0 0 3px #9484f419}a{color:var(--cyan)}.hidden{display:none!important}.shell{display:flex;min-height:100vh}.side{width:254px;flex-shrink:0;position:sticky;top:0;height:100vh;background:var(--sidebar);border-right:1px solid #253146;padding:29px 18px 24px;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:12px;font-size:16px;font-weight:780;letter-spacing:1.1px;padding:5px 10px 39px}.brand small{display:block;font-size:9px;letter-spacing:2.4px;color:var(--muted);font-weight:600;margin-top:5px}.brand-icon,.mark{display:grid;place-items:center;width:41px;height:41px;border-radius:13px;background:linear-gradient(145deg,#8268e9,#3a8fa9);color:#fff;font-weight:900;font-size:25px}.brand-icon span,.mark span{font-size:10px;align-self:start;position:absolute;transform:translate(14px,-3px)}.side-section{font-size:10px;color:#667a93;letter-spacing:1.9px;font-weight:700;margin:0 12px 11px}.side nav{display:grid;gap:5px;margin-bottom:32px}.side nav button{border:0;text-align:left;background:transparent;color:#aebad0;border-radius:10px;padding:13px 12px;font-size:13px;font-weight:570;display:flex;align-items:center;gap:12px}.side nav button span{width:18px;font-size:19px;color:#8399b3;text-align:center}.side nav button:hover,.side nav button.active{background:#202942;color:#fff}.side nav button.active{box-shadow:inset 3px 0 0 var(--purple)}.side-bottom{margin-top:auto;padding:18px 8px 3px;border-top:1px solid var(--line);display:grid;gap:16px}.live-indicator{color:#b0bdca;font-size:12px}.live-indicator i{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--green);margin-right:6px;box-shadow:0 0 12px #63d1a9}.subtle-btn,.icon-btn{border:0;background:transparent;color:var(--muted);text-align:left;padding:6px 0}.subtle-btn:hover,.icon-btn:hover{color:white}.content{min-width:0;flex:1;max-width:1600px;margin:0 auto;padding:40px clamp(18px,4vw,62px) 80px}.top{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:31px}.eyebrow{font-size:10px;letter-spacing:2.1px;color:var(--cyan);font-weight:700;margin-bottom:9px}.top h1{font-size:clamp(26px,3vw,34px);letter-spacing:-1.2px;font-weight:710;margin:0 0 8px}.top-subtitle{color:var(--muted);font-size:13px}.top-actions{display:flex;align-items:center;gap:17px}.top-actions>span{font-size:11px;color:var(--muted);white-space:nowrap}.btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;padding:11px 17px;border:1px solid #405069;background:var(--surface2);border-radius:9px;color:var(--text);font-weight:650;font-size:12px;white-space:nowrap}.btn:hover{filter:brightness(1.18)}.btn.primary{background:linear-gradient(115deg,#7360d9,#5b64c2);border-color:#8279dc;box-shadow:0 7px 24px #6d5df126}.btn.mini{padding:7px 11px;font-size:11px}.btn.secondary{background:transparent}.btn.danger{background:#562d39;border-color:#a35569}.wide{width:100%}.kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px}.panel{background:linear-gradient(155deg,#142136,#101a2d);border:1px solid #26374d;border-radius:var(--radius);padding:23px;min-width:0}.stat{min-height:150px;position:relative;overflow:hidden}.stat.accent{background:linear-gradient(128deg,#322c65,#1c3153);border-color:#6356a4}.stat.accent:after{content:'✦';position:absolute;font-size:140px;opacity:.08;right:-2px;top:-30px}.stat-label,.small-label{color:#9caac0;font-size:12px;font-weight:560}.stat-number{font-size:clamp(20px,2.4vw,30px);font-weight:750;letter-spacing:-.9px;margin:16px 0 8px;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.stat-note{color:#92a5bb;font-size:11px}.stat .chip{margin-top:10px}.chip{display:inline-block;font-size:10px;color:#9ddad2;border-radius:8px;padding:4px 8px;background:#194343}.chip.yellow{color:#efc98e;background:#4c3828}.chip.red{color:#f09aaa;background:#482534}.section-row{display:flex;align-items:center;justify-content:space-between;margin:30px 0 14px;gap:10px}.section-row h2,.panel h2{margin:0;font-size:16px;letter-spacing:-.4px;font-weight:675}.section-row p{margin:4px 0 0;color:var(--muted);font-size:12px}.two{display:grid;grid-template-columns:1.05fr .95fr;gap:16px}.split{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.panel-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:19px}.muted{color:var(--muted)}.tiny{font-size:11px}.mono{font-variant-numeric:tabular-nums;font-feature-settings:'tnum'}.num{text-align:right;font-variant-numeric:tabular-nums}.good{color:var(--green)}.bad{color:var(--red)}.pending{color:var(--gold)}.bar-item{margin-bottom:18px}.bar-title{display:flex;justify-content:space-between;margin-bottom:9px;gap:12px}.bar-title strong{font-size:12px}.track{height:7px;background:#243349;border-radius:20px;overflow:hidden}.track span{display:block;height:100%;border-radius:20px;background:linear-gradient(90deg,var(--purple),var(--cyan));min-width:1px}.table-wrap{overflow:auto}.data-table{border-collapse:collapse;width:100%;min-width:550px}.data-table th{text-align:left;color:#859ab5;font-size:10px;font-weight:700;letter-spacing:1px;padding:11px 12px;border-bottom:1px solid #304057;white-space:nowrap}.data-table td{padding:13px 12px;border-bottom:1px solid #25344b;font-size:12px;vertical-align:middle}.data-table tr:last-child td{border-bottom:0}.data-table td strong{font-size:13px}.data-table td .secondary{font-size:10px;color:var(--muted);margin-top:4px}.data-table .num{text-align:right}.data-table th.num{text-align:right}.group-head{display:flex;justify-content:space-between;align-items:center;padding-bottom:12px;border-bottom:1px solid var(--line);margin-bottom:5px}.group-head h3{font-size:14px;margin:0}.account-card{padding:19px}.wallet-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}.account-line{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;border-bottom:1px solid #243146;padding:12px 0}.account-line:last-child{border-bottom:0}.pill{display:inline-block;background:#202f4a;color:#c1b6ff;font-size:10px;border-radius:20px;padding:3px 7px}.pill.reserve{background:#293641;color:#f0bc7c}.account-line strong{font-size:12px}.account-line .secondary{font-size:10px;color:var(--muted);margin-top:4px}.account-line .num strong{display:block}.account-line .num .secondary{margin-top:4px}.callout{margin:15px 0;border:1px solid #635233;border-radius:12px;padding:13px 15px;background:#30291e;color:#eccc9e;line-height:1.5;font-size:12px}.callout.info{border-color:#36556b;background:#182c40;color:#a7d5e8}.actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.empty{padding:30px;text-align:center;color:var(--muted)}.summary-foot{margin-top:15px;color:#71849e;font-size:11px}.modal-screen{position:fixed;inset:0;z-index:15;background:#040a14d6;display:grid;place-items:center;padding:15px}.modal-card{border:1px solid #3c4d6d;border-radius:19px;background:#162338;box-shadow:0 35px 130px #0009;padding:26px;width:min(600px,100%);max-height:90vh;overflow:auto}.modal-card header{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:18px;margin-bottom:19px}.modal-card h2{margin:0;font-size:20px}.modal-card form{display:grid;gap:14px}.modal-card .fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}.modal-card label,.login-card label{display:grid;gap:7px;color:#c3d0df;font-size:12px;font-weight:570}.modal-card .form-note{font-size:11px;color:#adbcce;line-height:1.5}.form-buttons{display:flex;justify-content:flex-end;gap:10px;margin-top:10px}.form-error{font-size:12px;color:var(--red);min-height:15px}.toast{position:fixed;z-index:20;right:24px;bottom:24px;max-width:420px;background:#213750;border:1px solid #5c82a8;color:white;padding:15px 19px;border-radius:12px;box-shadow:0 12px 35px #0008}.toast.error{background:#472738;border-color:#94536d}.login-wrap{display:grid;place-items:center;min-height:100vh;padding:24px;position:relative;isolation:isolate}.login-bg{position:fixed;inset:0;z-index:-1;background:radial-gradient(ellipse 50% 40% at 68% 27%,#493d8a66,transparent),radial-gradient(ellipse 50% 30% at 30% 78%,#1f69705b,transparent),#0b1323}.login-card{padding:42px;max-width:475px;width:100%;border:1px solid #40516e;background:#152136ee;border-radius:24px;box-shadow:0 25px 90px #0007}.login-card .mark{margin-bottom:30px}.login-card h1{font-size:33px;line-height:1.16;letter-spacing:-1.6px;margin:14px 0}.login-card h1 em{font-style:normal;color:#a49bfa}.login-card p{color:#9eafc5;line-height:1.7;margin-bottom:28px}.login-card .btn{margin:18px 0 8px;font-size:14px}.login-card small{display:block;color:#8190a6;font-size:11px;line-height:1.5;margin-top:15px}.filters{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:16px}.filters input,.filters select{width:auto;min-width:120px}.right{text-align:right}.divider{height:1px;background:var(--line);margin:18px 0}.tiny-legend{font-size:11px;color:var(--muted);line-height:1.6}
@media(max-width:1150px){.kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.two{grid-template-columns:1fr}.wallet-grid{grid-template-columns:1fr}.top-actions>span{display:none}}
@media(max-width:750px){.shell{display:block}.side{width:100%;height:auto;position:static;padding:15px 16px 9px;display:block}.brand{padding:3px 0 15px}.side-section,.side-bottom{display:none}.side nav{display:flex;overflow-x:auto;gap:5px;margin:0 0 5px;padding-bottom:5px}.side nav button{white-space:nowrap;padding:10px 12px;font-size:11px}.side nav button span{display:none}.content{padding:24px 14px 60px}.top{display:block}.top-actions{margin-top:18px}.kpis{gap:10px}.panel{padding:16px}.stat{min-height:128px}.stat-number{font-size:23px}.split{grid-template-columns:1fr}.modal-card{padding:18px}.modal-card .fields{grid-template-columns:1fr}.login-card{padding:27px}}

/* MatMacF · diseño financiero 1.1 · luces sutiles */
:root{--radius:18px}
body{background:radial-gradient(ellipse 60% 45% at 88% -10%,rgba(78,70,171,.16),transparent),radial-gradient(ellipse 45% 35% at 8% 65%,rgba(22,113,124,.10),transparent),#0b1220}
.brand-icon{box-shadow:0 0 30px rgba(133,116,240,.35)}
.side{background:linear-gradient(173deg,#141d31,#111728 78%)}
.panel{box-shadow:0 16px 42px rgba(4,11,24,.11);transition:border-color .2s,transform .2s}
.panel:hover{border-color:#3c5270}
.panel.stat.accent{background:radial-gradient(circle at 92% 25%,#5a4eaa70,transparent 47%),linear-gradient(120deg,#292c5b,#1b3556)}
.top h1{font-weight:760;letter-spacing:-1.5px}
.ticker{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:-6px 0 28px}
.ticker-item{display:flex;align-items:center;gap:14px;padding:17px 20px;background:linear-gradient(145deg,#17243b,#111c2e);border:1px solid #293b52;border-radius:16px;min-width:0}
.ticker-coin{display:grid;place-items:center;flex:none;width:42px;height:42px;border-radius:13px;color:#d1c9ff;background:#302c54;font-weight:800;font-size:20px}
.ticker-item:nth-child(2) .ticker-coin{color:#9ed9e9;background:#254456}
.ticker-item:nth-child(3) .ticker-coin{color:#addcc3;background:#284b43}
.ticker-name{font-size:11px;font-weight:750;letter-spacing:.5px;color:#a6b7d1}
.ticker-quote{margin-top:6px;font-size:19px;white-space:nowrap;font-weight:750;letter-spacing:-.4px;font-variant-numeric:tabular-nums}
.ticker-source{background:#2a3650;padding:3px 5px;border-radius:5px;font-size:9px;margin-left:4px;color:#b7c3d7}
.ticker-online,.ticker-stale{font-size:9px;letter-spacing:.6px;font-weight:700;margin-left:8px;white-space:normal}
.ticker-online{color:#70e0b2}.ticker-stale{color:#f5c278}
.api-card{min-height:142px}
@media(max-width:1150px){.ticker{grid-template-columns:repeat(3,minmax(0,1fr))}.ticker-item{gap:9px;padding:12px}.ticker-quote{font-size:15px}.ticker-coin{width:32px;height:32px}}
@media(max-width:750px){.ticker{grid-template-columns:1fr;gap:8px;margin-top:0}.ticker-item{padding:12px 16px}.ticker-quote{font-size:18px}}

/* Controles mensuales de v1.2 */
.status-dot{display:inline-flex;white-space:nowrap;font-size:.76rem;font-weight:700;letter-spacing:.015em;padding:7px 10px;border-radius:999px;border:1px solid var(--border,#26304b)}
.status-dot.paid{color:#64dfac;background:rgba(44,188,138,.11)}
.status-dot.partial{color:#ffca7d;background:rgba(228,161,69,.11)}
.status-dot.pending{color:#9ba9c5;background:rgba(121,143,171,.10)}
input[type="month"]{color-scheme:dark;min-height:40px;border:1px solid #33415c;border-radius:10px;background:#17243b;color:#eaf3ff;padding:7px 12px}
@media(max-width:740px){.status-dot{white-space:normal} .table-wrap{overflow-x:auto}}

.monthly-ledgers{display:grid;grid-template-columns:minmax(0,1fr);gap:16px}
.monthly-ledgers .panel{min-width:0}
.monthly-ledgers td:last-child{white-space:nowrap}
@media(min-width:1950px){.monthly-ledgers{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* v1.3: assets dashboard and bank-like reconciliations */
.conversion-card{margin:16px 0 24px;padding:20px 22px}
.conversion-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
.conversion-cell{border:1px solid rgba(145,159,195,.14);background:rgba(97,115,177,.08);padding:17px 14px;border-radius:14px;min-width:0}
.conversion-cell strong{display:block;overflow-wrap:anywhere;margin-top:8px;font-size:1.08rem;letter-spacing:-.02em}
.account-actions{display:flex;gap:6px;justify-content:flex-end;margin-top:6px;flex-wrap:wrap}
.investment-status{margin-top:16px;display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
@media(max-width:1100px){.conversion-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:650px){.conversion-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.conversion-card{padding:16px}.conversion-cell{padding:12px}}
/* v1.4 - Manual USDⓈ-M perpetual ledger panel */
.futures-highlight{padding:23px 24px;margin:24px 0;background:linear-gradient(130deg,rgba(90,80,168,.22),rgba(29,111,117,.11)),#162237;border-color:#4c567f}
.future-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:20px 0 12px}
.future-metrics>div{min-width:0;border-radius:12px;background:rgba(10,22,39,.35);padding:15px}
.future-metrics strong{display:block;margin-top:9px;font-size:1.15rem;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.future-metrics .stat-number{font-size:1.35rem}
@media(max-width:760px){.future-metrics{grid-template-columns:1fr;gap:7px}.future-metrics>div{padding:12px}.futures-highlight{padding:18px}}

/* MatMacF v1.5 · transparencia de tenencias y valoración por mercado */
.summary-kpis{margin-bottom:16px}
.asset-panel-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}
.asset-panel{padding:19px 20px}
.asset-panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px}
.asset-symbol{font-size:21px;font-weight:830;letter-spacing:-.7px;color:#cfccff}
.asset-total{font-size:16px;font-weight:760;font-variant-numeric:tabular-nums;text-align:right;overflow-wrap:anywhere}
.asset-worth{color:#67d5bd;font-weight:730;margin:9px 0 14px;font-variant-numeric:tabular-nums}
.asset-places{border-top:1px solid #30425b}
.asset-place{display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid #26374c;padding:13px 0}
.asset-place:last-child{border-bottom:0}
.asset-place strong{font-size:12px}
.asset-place .secondary{font-size:10px;color:#8da1ba;margin-top:5px}
.asset-place-val{font-weight:700;text-align:right;font-size:12px;font-variant-numeric:tabular-nums}
.asset-place-val small,.position-row small{display:block;color:#879fba;font-weight:500;margin-top:5px}
.institution-row,.position-row{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:15px 0;border-bottom:1px solid #2b3b54}
.institution-row:last-child,.position-row:last-child{border-bottom:0}
.zero-toggle{display:flex;align-items:center;gap:9px;color:#b8c7de;font-size:12px;white-space:nowrap;cursor:pointer}
.zero-toggle input{width:17px;height:17px;min-height:17px;accent-color:#928af1}
.ticker-alt{margin-top:5px;color:#93a7bc;font-size:10px}
.disabled-field{opacity:.45}
@media(max-width:850px){.asset-panel-grid{grid-template-columns:1fr}.asset-place{align-items:flex-start}}
