:root{color-scheme:normal;--ls-core:#004349;--ls-atmosphere:#21454a;--ls-steel:#567d81;--ls-mist:#6e8f92;--ls-night:#071e21;--ls-cloud:#e9eeef;--ls-white:#fff;--line:#567d8155;font:15px/1.5 'Segoe UI',Arial,sans-serif;color:var(--ls-cloud);background:transparent}
*{box-sizing:border-box}body{margin:0;background:var(--ls-night)}button,input,select{font:inherit}button,a,input,select{border-radius:7px}button{cursor:pointer;border:1px solid var(--line);background:#142f33;color:var(--ls-cloud);padding:10px 15px;transition:background .18s,transform .18s}button:hover{background:var(--ls-atmosphere)}button:disabled{opacity:.5;cursor:wait}button:active{transform:translateY(1px)}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid white;outline-offset:3px}.primary{background:var(--ls-white);color:var(--ls-core);border-color:white;font-weight:700}.primary:hover{background:var(--ls-cloud)}a{color:inherit}small,.eyebrow{color:#a8c2c5;font-size:11px;letter-spacing:1.1px}h1,h2,h3,p{margin-top:0}h1{font-size:30px;line-height:1.2;letter-spacing:-.8px}h2{font-size:21px;letter-spacing:-.4px}h3{font-size:15px}p{color:#b8ced0}.loading{padding:40px}
.landing{min-height:100vh;display:grid;grid-template-columns:1.2fr 1fr;background:linear-gradient(90deg,#071e2130,#071e21ef),url(wallpaper.png) center/cover}.landing-visual{padding:clamp(30px,6vw,100px);display:flex;flex-direction:column;justify-content:space-between}.brand{display:flex;gap:13px;align-items:center}.brand img{width:46px;height:50px;object-fit:contain}.brand strong{font-size:23px;letter-spacing:3px}.brand small{display:block;font-size:9px;letter-spacing:2px}.landing h1{font-size:clamp(38px,5vw,72px);max-width:600px}.landing .intro{max-width:470px}.access{align-self:center;margin:50px;padding:45px;max-width:460px;background:#071e21e8;border:1px solid var(--line);border-radius:15px}.access .primary{display:block;text-decoration:none;text-align:center;margin:25px 0}.access p{font-size:13px}.access form{display:grid;gap:15px}.access form button{margin-top:8px}.access img{width:48px;margin-bottom:20px}
.workspace{min-height:100vh;display:grid;grid-template-columns:240px 1fr}.sidebar{padding:28px 20px;border-right:1px solid var(--line);display:flex;flex-direction:column;gap:35px;background:#09272b}.sidebar .brand img{width:36px;height:40px}.sidebar .brand strong{font-size:18px}.sidebar nav{display:grid;gap:7px}.sidebar nav button{text-align:left;border:0;background:transparent;padding:13px 15px}.sidebar nav button[aria-current=page]{background:#21454a;border-left:2px solid white;border-radius:0 7px 7px 0;color:white}.sidebar footer{margin-top:auto;font-size:11px;color:#a7c0c2}.main{min-width:0}.topbar{display:flex;align-items:center;gap:18px;padding:22px 38px;border-bottom:1px solid var(--line);background:#071e21c9}.topbar .identity{margin-left:auto;display:flex;gap:9px;align-items:center}.topbar select{max-width:240px}.content{padding:30px 38px;max-width:1600px;margin:auto}.heading{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:25px}.heading h1{margin:6px 0}.heading p{font-size:13px;margin:0}.stats{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:16px;margin-bottom:24px}.card{background:#112d31;border:1px solid var(--line);border-radius:12px;padding:24px;min-width:0}.balance{background:linear-gradient(125deg,#004349,#21454a)}.balance strong{display:block;font-size:clamp(28px,3vw,43px);letter-spacing:-1px;margin:12px 0}.account-number{font:13px monospace;letter-spacing:2px}.metric{font-size:27px;display:block;margin:13px 0}.grid{display:grid;grid-template-columns:1.6fr 1fr;gap:20px}.section-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:18px}.section-head h2{margin:0}.section-head button{font-size:12px}.transaction,.invoice{display:flex;gap:15px;align-items:center;padding:17px 0;border-bottom:1px solid var(--line)}.transaction:last-child,.invoice:last-child{border:0}.transaction .symbol{width:36px;height:36px;border-radius:50%;background:#21454a;display:grid;place-items:center}.transaction>div:nth-child(2),.invoice>div:first-child{min-width:0;flex:1}.transaction strong,.invoice strong{display:block;font-size:13px;overflow-wrap:anywhere}.transaction small,.invoice small{letter-spacing:0;font-size:11px;display:block;margin-top:3px}.amount{font-size:13px;white-space:nowrap}.income{color:#a5d2bd}.expense{color:var(--ls-white)}.empty{padding:25px 0;color:#a7c0c2;font-size:13px}.chart{height:130px;display:flex;align-items:end;gap:12px;margin:25px 0 0}.chart>div{flex:1;height:100%;display:flex;align-items:end;gap:3px;position:relative;padding-bottom:21px}.chart i{width:45%;background:#86abad;min-height:2px;border-radius:3px 3px 0 0}.chart i.out{background:#fff}.chart small{position:absolute;bottom:0;left:0;font-size:10px;letter-spacing:0}.legend{display:flex;gap:20px;font-size:11px;color:#a7c0c2;margin-top:14px}.legend span:before{content:'';display:inline-block;width:8px;height:8px;background:#86abad;margin-right:6px}.legend span:last-child:before{background:white}
label{font-size:12px;color:#c1d4d6;display:grid;gap:7px}input,select{width:100%;padding:11px 12px;background:#071e21;color:#e9eeef;border:1px solid #567d8188;min-width:0}form.transfer{display:grid;gap:18px}.transfer .primary{margin-top:6px}.fine{font-size:11px;margin-top:18px;margin-bottom:0}.toolbar{display:flex;gap:10px;margin-bottom:20px;flex-wrap:wrap}.toolbar input{flex:1;min-width:160px}.toolbar select{width:auto}.pill{display:inline-block;font-size:10px;background:#21454a;padding:3px 7px;border-radius:4px;color:#d6e2e3}.actions{display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap}.pagination{display:flex;align-items:center;justify-content:space-between;font-size:12px;gap:10px;margin-top:16px}.invoice-buttons{display:flex;gap:6px}.invoice-buttons button{font-size:11px;padding:7px 10px}.reference{font:11px monospace}.split{display:grid;grid-template-columns:1fr 1fr;gap:20px}dialog{padding:28px;background:#142f33;color:#e9eeef;border:1px solid #6e8f92;border-radius:13px;max-width:min(460px,92vw)}dialog::backdrop{background:#071e21bc}dialog h2{margin:12px 0}dialog p{overflow-wrap:anywhere}dialog form{margin:0}#confirmError{color:#efb4bd;font-size:12px;margin-bottom:14px}#status{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);max-width:90vw;padding:12px 20px;background:#e9eeef;color:#004349;border-radius:8px;box-shadow:0 5px 20px #0004;display:none;z-index:10;font-size:13px}#status.visible{display:block}.phone .workspace{display:block;min-height:100vh}.phone .sidebar{padding:48px 18px 10px;gap:15px;border-right:0}.phone .sidebar .brand{justify-content:center}.phone .sidebar nav{display:flex;overflow-x:auto;gap:5px}.phone .sidebar nav button{padding:9px;font-size:12px;white-space:nowrap}.phone .sidebar footer{display:none}.phone .topbar{padding:10px 18px}.phone .topbar .identity{display:none}.phone .content{padding:18px}.phone h1{font-size:24px}.phone .stats,.phone .grid,.phone .split{grid-template-columns:1fr}.phone .stats{gap:10px}.phone .stats>.card:not(:first-child){display:none}.phone .card{padding:18px}.phone .balance strong{font-size:34px}.phone .heading>button{display:none}.phone .transaction{gap:9px}.phone .invoice{align-items:flex-start;flex-direction:column;gap:8px}.phone .invoice-buttons{align-self:flex-end}.phone dialog{font-size:13px}.phone .chart{height:110px}.phone .topbar select{max-width:none}.phone .sidebar nav button[aria-current=page]{border-left:0;border-bottom:2px solid white;border-radius:5px}
@media(max-width:1100px){.workspace{grid-template-columns:190px 1fr}.topbar{padding:18px 24px}.content{padding:25px 24px}.grid{grid-template-columns:1fr}.stats{grid-template-columns:1fr 1fr}.stats .card:last-child{grid-column:1/-1}.topbar .identity strong{display:none}}
@media(max-width:720px){.workspace{display:block}.sidebar{padding:15px 18px;gap:18px}.sidebar nav{display:flex;overflow:auto;gap:5px}.sidebar nav button{padding:9px;white-space:nowrap;font-size:12px}.sidebar footer{display:none}.topbar{padding:12px 18px;flex-wrap:wrap}.topbar .identity{margin-left:auto}.content{padding:22px 18px}.stats{grid-template-columns:1fr}.stats .card:last-child{grid-column:auto}.card{padding:18px}.split{grid-template-columns:1fr}.landing{grid-template-columns:1fr}.landing-visual{min-height:340px;padding:30px}.landing h1{font-size:43px;margin:30px 0 15px}.access{margin:0 20px 30px;padding:28px;max-width:none}.invoice{align-items:flex-start;flex-wrap:wrap}.invoice-buttons{margin-left:auto}.identity #logout{font-size:11px}.heading h1{font-size:26px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;animation:none!important;scroll-behavior:auto!important}}

.access>a.primary{padding:12px 18px;min-height:46px;display:block}

/* Identidad Fleeca solicitada por el propietario: banca blanca y verde. Logos originales aportados, sin recolorear. */
:root{--ls-core:#248c3b;--ls-atmosphere:#eff7f0;--ls-steel:#8ca493;--ls-mist:#6d7d72;--ls-night:#f6f8f7;--ls-cloud:#202c25;--ls-white:#fff;--line:#e1e7e2;color:#202c25;background:transparent}
body{background:#f6f8f7}p{color:#66746a}small,.eyebrow{color:#6c7b71}button{background:#fff;color:#33493a;border-color:#dce5de}button:hover{background:#f0f6f1}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline-color:#248c3b}.primary{background:#237d35;color:white;border-color:#237d35}.primary:hover{background:#1c672b}
.brand img{width:148px;height:44px;object-fit:contain}.brand strong,.brand>div,.brand>small{display:none}.landing{background:#f6f8f7;grid-template-columns:1.15fr 1fr}.landing-visual{background:linear-gradient(150deg,#fff,#eef5ef);color:#1e3225;border-right:1px solid #e1e7e2}.landing h1{font-size:clamp(38px,4.6vw,66px);letter-spacing:-2.4px;line-height:1.08;font-weight:650}.landing .intro{font-size:15px;max-width:400px;color:#65746a}.landing .eyebrow{color:#278c3c;font-weight:700}.access{background:#fff;border-color:#e2e9e3;box-shadow:0 10px 45px #16351e08;padding:40px;border-radius:18px}.access h2{font-size:26px;color:#213b29}.access p{color:#6b786f;line-height:1.7}.access img{width:130px;height:40px;object-fit:contain}.access .primary{padding:13px 18px;margin:25px 0}.access form .primary{width:100%;margin:5px 0}
.workspace{background:#f6f8f7;grid-template-columns:235px 1fr}.sidebar{background:white;border-color:#e3e9e4;padding:30px 20px;gap:40px}.sidebar .brand img{width:145px;height:42px}.sidebar nav button{color:#758178;border:0}.sidebar nav button[aria-current=page]{background:#ecf7ee;color:#247b37;border-left:3px solid #248c3b;font-weight:700}.sidebar footer{color:#8a958e;border-top:1px solid #e6ebe7;padding-top:20px}.sidebar footer img{width:24px;height:26px;object-fit:contain;vertical-align:middle;margin-right:8px}
.topbar{background:#fff;border-color:#e1e7e2;padding:20px 36px}.content{padding:32px 36px}.heading h1{font-weight:650;letter-spacing:-1px;color:#21372a}.heading small{color:#8a958d}.heading p{color:#77847b}
.card{background:white;border-color:#e3e9e4;border-radius:16px;box-shadow:0 3px 12px #16351e03}.balance{position:relative;overflow:hidden;background:linear-gradient(120deg,#287f3c,#1e6c30);border-color:#287f3c;color:white;min-height:200px}.balance:after{content:'';width:240px;height:240px;position:absolute;right:-80px;bottom:-155px;border:38px solid #ffffff0c;border-radius:50%;pointer-events:none}.balance small,.balance p{color:#d2e8d6}.balance strong{color:white;font-weight:650}.balance .account-number{color:#e3f0e6;font-size:12px}.bank-card-logo{width:92px;height:32px;object-fit:contain;position:absolute;right:24px;top:24px}.metric{font-weight:600;color:#223e2b}.metric.income,.income{color:#2b8640}.expense{color:#26392c}.transaction,.invoice{border-color:#ecf0ed}.transaction .symbol{background:#edf6ef;color:#288b3e}.transaction strong,.invoice strong{color:#2b3e31}.transaction small,.invoice small{color:#879188}.empty,.legend{color:#8a958d}.chart i{background:#4d9d5f}.chart i.out{background:#c4dcc9}.legend span:before{background:#4d9d5f}.legend span:last-child:before{background:#c4dcc9}
label{color:#576c5e}input,select{background:#fbfcfb;border-color:#dfe7e1;color:#304536}.account-number{color:#375840}.pill{background:#eef7f0;color:#39764a;padding:5px 8px}.section-head button{border:0;color:#24843a;background:#f0f8f2}.toolbar{align-items:center}.reference{color:#8d9b91}.fine{color:#809086}.pagination{color:#819087}.pagination button:disabled{opacity:.4}.invoice-buttons button{border-color:#d8e5db}.invoice-buttons .primary{border-color:#237d35}
dialog{background:white;color:#203d2a;border-color:#d8e5db;box-shadow:0 25px 100px #102b1b33}dialog::backdrop{background:#173d234a}dialog p{color:#687b6d}#confirmError{color:#a84444}#status{background:#244e30;color:white;box-shadow:0 5px 25px #1f49232b}
.phone{background:#fff}.phone .workspace{background:#f5f8f5}.phone .sidebar{background:white;gap:20px;padding-top:44px}.phone .sidebar .brand img{width:122px;height:36px}.phone .sidebar nav{gap:7px;justify-content:space-between}.phone .sidebar nav button{font-size:11px;padding:9px 8px;color:#77867b}.phone .sidebar nav button[aria-current=page]{color:#278b3d;background:#eff8f1;border-bottom:2px solid #278b3d}.phone .topbar{background:#fff;padding-top:7px;padding-bottom:14px}.phone .topbar select{border-radius:9px;font-size:12px;background:#f6f9f6;padding:9px 12px}.phone .content{padding:22px 18px 30px}.phone .heading{margin-bottom:20px}.phone .heading h1{font-size:25px}.phone .heading p{display:none}.phone .balance{min-height:180px;border-radius:17px;padding:22px}.phone .balance strong{font-size:36px;letter-spacing:-1.3px}.phone .balance .bank-card-logo{right:18px;top:17px;width:80px;height:28px}.phone .card{border-radius:14px}.phone .section-head h2{font-size:17px}.phone .transaction{padding:16px 0}.phone .transaction .symbol{height:31px;width:31px;font-size:13px}.phone .transaction strong{font-size:12px}.phone .transaction small{font-size:10px}.phone .transaction .amount{font-size:12px}.phone #status{font-size:12px;bottom:20px}
@media(max-width:1100px){.workspace{grid-template-columns:190px 1fr}.sidebar .brand img{width:130px}.topbar{padding:18px 24px}.content{padding:25px 24px}}
@media(max-width:720px){.workspace{display:block}.sidebar{padding:18px;gap:18px}.sidebar nav button[aria-current=page]{border-left:0;border-bottom:2px solid #248c3b;border-radius:7px}.topbar{padding:12px 18px}.content{padding:24px 18px}.landing{grid-template-columns:1fr}.landing-visual{padding:30px;min-height:350px;border-right:0;border-bottom:1px solid #dce8df}.landing h1{font-size:46px;letter-spacing:-1.7px}.access{margin:22px;padding:26px}.balance{min-height:180px}}

.bank-card-logo{background:white;padding:5px 7px;border-radius:5px}

/* Fondo blanco grisáceo solicitado por el propietario. */
body,.workspace{background:#ebeeef}
.sidebar{background:#f2f4f5}
.topbar{background:#f3f5f6}
.card{background:#f8f9fa;border-color:#dce2e0}
.balance{background:linear-gradient(120deg,#287f3c,#1e6c30)}
.landing{background:#ebeeef}
.landing-visual{background:linear-gradient(145deg,#f0f3f3,#e7edE9)}
.access{background:#f7f9f9;border-color:#dbe2df}
input,select{background:#f1f4f3;border-color:#d6dfd9}
dialog{background:#f7f9f9}
.phone,.phone .workspace{background:#ebeeef}
.phone .sidebar{background:#f2f4f5}
.phone .topbar{background:#f2f4f5}
.phone .topbar select{background:#e9eeeb}
.phone .card{background:#f8f9fa}
.phone .balance{background:linear-gradient(120deg,#287f3c,#1e6c30)}
