@import url("https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;550;600;650;700&family=Outfit:wght@400;500;600;700&display=swap");
:root{--ink:#172437;--muted:#768497;--soft:#f5f7fb;--line:#e8edf3;--navy:#142438;--lime:#c9f18c;--green:#20856b;--red:#dc5a62;--amber:#be842c;--white:#fff;--shadow:0 14px 55px rgba(25,49,78,.055);font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--soft);font-size:14px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-height:100vh}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.52}a{color:inherit}input,select,textarea{outline:none}input:focus,select:focus,textarea:focus{border-color:#8ea9d1!important;box-shadow:0 0 0 3px rgba(88,143,218,.1)}.boot{height:100vh;display:flex;gap:14px;justify-content:center;align-items:center}.logo-mark{background:var(--lime);color:#172c26;border-radius:13px;padding:8px 13px;font-size:22px;font-weight:900}.layout{min-height:100vh;display:flex}.sidebar{width:254px;background:var(--navy);color:#f4f7fa;flex-shrink:0;display:flex;flex-direction:column;position:fixed;inset:0 auto 0 0;z-index:20;padding:30px 15px 20px}.brand{display:flex;gap:11px;align-items:center;padding:0 13px 30px;font-weight:800;font-size:21px;letter-spacing:-.85px}.brand-icon{width:38px;height:38px;background:var(--lime);color:#243523;border-radius:12px;display:grid;place-items:center;font-size:22px;font-weight:900;transform:rotate(-3deg)}.sidebar-label{font-size:10px;color:#8292a7;font-weight:800;letter-spacing:1.6px;padding:14px 16px 9px}.nav-list{display:flex;flex-direction:column;gap:5px}.nav-btn{border:0;background:transparent;color:#aab9cb;border-radius:11px;display:flex;align-items:center;gap:13px;text-align:left;padding:13px 14px;font-weight:600;width:100%;transition:background .18s,color .18s}.nav-btn:hover{background:rgba(255,255,255,.06);color:white}.nav-btn.active{background:#293e52;color:#fff}.nav-btn.active .ico{color:var(--lime)}.ico{width:19px;height:19px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.ico svg{width:19px;height:19px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.sidebar-bottom{margin-top:auto}.help-panel{border:1px solid #395069;border-radius:14px;padding:16px;margin:14px 5px 16px;background:#1d3047}.help-panel b{font-size:13px;display:block;line-height:1.5}.help-panel p{color:#98abc0;line-height:1.5;font-size:12px}.side-user{display:flex;gap:10px;align-items:center;padding:14px 8px;border-top:1px solid #2b4057}.avatar{width:37px;height:37px;border-radius:11px;display:grid;place-items:center;font-weight:800;letter-spacing:.2px;flex-shrink:0;background:#e2e9fa;color:#34537c}.avatar.alt{background:#273e57;color:#d0f59e}.side-user b{font-size:12px;display:block}.side-user small{color:#a6b3c1;font-size:11px;display:block;max-width:160px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.main{margin-left:254px;width:calc(100% - 254px);min-height:100vh}.topbar{height:84px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 38px;background:#fff;position:sticky;top:0;z-index:10}.top-left{display:flex;align-items:center;gap:12px}.top-title{font-size:14px;font-weight:700}.bread{color:#97a2b1;font-weight:500}.top-actions{display:flex;gap:12px;align-items:center}.top-pill{background:#edf6e6;border-radius:40px;font-size:11px;font-weight:800;color:#4d8743;padding:8px 12px}.top-pill.demo{background:#fff3dd;color:#a97225}.top-avatar{width:34px;height:34px;border-radius:50%;background:#e7efe2;display:grid;place-items:center;color:#567e4d;font-weight:800}.content{max-width:1530px;margin:0 auto;padding:32px 38px 80px}.page-head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:27px}.eyebrow{font-size:10px;color:#8b98a8;letter-spacing:1.4px;font-weight:800;text-transform:uppercase;margin:0 0 8px}.page-head h1{font-size:29px;letter-spacing:-1.1px;margin:0 0 8px;line-height:1.12;font-weight:800}.subtitle{font-size:13px;color:#8794a4;margin:0;line-height:1.65}.row-actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.btn{border:1px solid transparent;border-radius:11px;padding:11px 16px;display:inline-flex;align-items:center;justify-content:center;gap:9px;font-size:12px;line-height:1.2;font-weight:800;text-decoration:none;white-space:nowrap;transition:transform .12s,background .15s}.btn:active{transform:translateY(1px)}.btn-dark{background:#15263b;color:#fff}.btn-dark:hover{background:#263f55}.btn-light{background:#fff;color:#304058;border:1px solid #e2e8f0}.btn-light:hover{background:#f6f9fc}.btn-lime{background:#c8f18d;color:#223a1a}.btn-lime:hover{background:#d6f9a2}.btn-sm{padding:8px 11px;border-radius:9px;font-size:11px}.btn-icon{width:38px;height:38px;padding:0}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:17px;margin-bottom:23px}.card{background:white;border:1px solid #e9edf3;box-shadow:var(--shadow);border-radius:17px}.metric{padding:22px;min-height:146px;display:flex;flex-direction:column;justify-content:space-between}.metric-top{display:flex;align-items:center;justify-content:space-between}.metric-title{color:#748399;font-size:12px;font-weight:600}.metric-icon{width:36px;height:36px;border-radius:11px;display:grid;place-items:center;background:#eef2f8;color:#477194}.metric-icon.green{background:#eaf8ed;color:#329167}.metric-icon.warn{background:#fff0e7;color:#df8243}.metric-number{font-weight:800;font-size:28px;letter-spacing:-1px;white-space:nowrap}.metric-desc{font-size:11px;color:#9aa5b1;margin-top:7px}.two-col{display:grid;grid-template-columns:1.42fr 1fr;gap:20px;margin-bottom:20px}.card-head{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:23px 24px 10px}.card-title{font-size:15px;font-weight:800;letter-spacing:-.15px;margin:0 0 5px}.card-sub{font-size:11px;color:#9aa4b1;margin:0}.chart-wrap{height:255px;padding:17px 24px 22px;display:flex;align-items:flex-end;gap:11px}.barcol{flex:1;display:flex;flex-direction:column;align-items:center;gap:7px;justify-content:end;height:100%;min-width:0}.bartrack{flex:1;width:100%;position:relative;display:flex;align-items:flex-end;justify-content:center;background:repeating-linear-gradient(to top, transparent 0, transparent calc(25% - 1px),#eef1f5 25%);border-radius:4px;overflow:hidden}.bar{width:min(33px,70%);background:#cceeba;border-radius:7px 7px 0 0;min-height:3px;transition:height .25s}.bar.current{background:#233c4d}.barlab{font-size:10px;color:#8794a4}.task-list{padding:8px 20px 18px}.task{display:flex;align-items:center;gap:12px;padding:13px 1px;border-bottom:1px solid #eff2f5}.task:last-child{border-bottom:0}.task .avatar{width:35px;height:35px;border-radius:50%;font-size:11px}.task-main{flex:1;min-width:0}.task-main b{font-size:12px;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.task-main small{font-size:11px;color:#98a4b1;display:block;margin-top:4px}.task-right{text-align:right;white-space:nowrap}.task-right b{font-size:13px;display:block;margin-bottom:5px}.tag{font-size:10px;font-weight:800;padding:5px 9px;border-radius:30px;display:inline-flex;gap:4px;align-items:center;white-space:nowrap}.tag.ok{background:#e6f8ee;color:#248a61}.tag.bad{background:#fff0ee;color:#d05c54}.tag.wait{background:#fff4df;color:#b97b26}.tag.neutral{background:#edf2f9;color:#73829a}.tableshell{overflow-x:auto}.data-table{width:100%;border-collapse:collapse;text-align:left;white-space:nowrap}.data-table th{color:#8693a4;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.6px;background:#fafbfd}.data-table th,.data-table td{padding:17px 19px;border-bottom:1px solid #eef1f5}.data-table tr:last-child td{border-bottom:0}.data-table td{font-size:12px;color:#29374a}.data-table td strong{font-size:12px}.data-table tr:hover td{background:#fcfdff}.person{display:flex;align-items:center;gap:10px}.person .avatar{border-radius:11px;width:32px;height:32px;font-size:10px}.person strong{display:block}.person small{color:#8b97a6;display:block;margin-top:2px}.toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:17px}.search-field{border:1px solid #e1e8ef;background:white;border-radius:10px;padding:11px 13px;min-width:270px;display:flex;align-items:center;gap:8px;color:#8694a5}.search-field input{border:0;flex:1;min-width:0;font-size:12px;color:#2c3c52;background:transparent;outline:none;box-shadow:none!important}.select-sm{border:1px solid #e1e8ef;background:white;color:#5a6b80;border-radius:10px;padding:11px 14px;font-size:12px}.text-link{background:none;border:0;color:#1e6a98;font-size:12px;font-weight:800;padding:7px 4px}.text-link:hover{text-decoration:underline}.empty{padding:45px 20px;text-align:center;color:#97a4b4}.empty strong{color:#344358;display:block;margin-bottom:7px;font-size:14px}.empty .bigico{width:52px;height:52px;border-radius:15px;background:#f1f5fa;margin:0 auto 13px;display:grid;place-items:center;color:#7190b1}.details-layout{display:grid;grid-template-columns:330px minmax(0,1fr);gap:19px}.profile{padding:25px}.profile-top{display:flex;align-items:center;gap:12px;margin-bottom:25px}.profile-top .avatar{width:48px;height:48px;font-size:14px}.profile-top h3{font-size:17px;margin:0 0 4px}.profile-top p{margin:0;color:var(--muted);font-size:12px}.info-pair{margin:0 0 17px}.info-pair label{display:block;font-size:11px;color:#8a98a8;margin-bottom:6px}.info-pair div{font-size:12px;overflow-wrap:anywhere;font-weight:700}.subhead{font-size:13px;margin:0;font-weight:800}.mini-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:11px}.mini-card{background:#f7f9fb;padding:15px;border-radius:11px}.mini-card small{display:block;color:#91a0b0;font-size:11px;margin-bottom:9px}.mini-card b{font-size:17px;letter-spacing:-.5px}.loan-card{border:1px solid #e6ebf1;border-radius:12px;padding:17px;display:flex;gap:15px;align-items:center;justify-content:space-between;margin:13px 0}.loan-card:hover{border-color:#c4d3e5}.loan-card-main strong{font-size:13px}.loan-card-main small{font-size:11px;color:var(--muted);margin-top:7px;display:block}.progress{height:7px;border-radius:30px;background:#ecf0f4;overflow:hidden;margin-top:11px}.progress div{height:100%;background:#98d47d;border-radius:30px}.split-cols{display:grid;grid-template-columns:1.15fr .85fr;gap:20px}.agenda-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:22px}.agenda-card{padding:18px}.agenda-card small{color:#8593a4;font-weight:600}.agenda-card b{display:block;margin-top:10px;font-size:23px}.notice{border:1px solid #efdfbd;background:#fffaf0;color:#936e2e;padding:13px 16px;border-radius:11px;font-size:12px;line-height:1.55;margin:0 0 20px}.notice.info{border-color:#cde2f1;background:#f0f7fc;color:#437191}.modallback{position:fixed;inset:0;background:rgba(9,24,43,.56);z-index:80;display:flex;justify-content:center;align-items:center;padding:20px;backdrop-filter:blur(3px)}.modal{width:min(100%,600px);max-height:min(90vh,890px);display:flex;flex-direction:column;background:white;border-radius:18px;box-shadow:0 30px 85px rgba(8,29,52,.3);overflow:hidden}.modal.wide{width:min(100%,760px)}.modal-head{padding:23px 26px;border-bottom:1px solid #e8edf3;display:flex;align-items:center;justify-content:space-between;gap:15px}.modal-head h2{font-size:18px;margin:0;letter-spacing:-.5px}.modal-head p{font-size:12px;color:var(--muted);margin:5px 0 0}.modalbody{overflow-y:auto;padding:25px 26px}.modalfooter{border-top:1px solid var(--line);padding:17px 26px;display:flex;justify-content:flex-end;gap:10px}.xbtn{border:0;background:#f2f5f8;border-radius:9px;width:34px;height:34px;display:grid;place-items:center;color:#617285;font-size:20px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.field{display:flex;flex-direction:column;gap:7px}.field.full{grid-column:1/-1}.field label{font-weight:700;font-size:11px;color:#556476}.field input,.field select,.field textarea{border:1px solid #dfe6ee;border-radius:9px;padding:11px 12px;background:#fff;color:#25354a;font-size:12px;width:100%}.field textarea{resize:vertical;min-height:80px}.field .hint{font-size:10px;color:#9aa6b3}.live-summary{border-radius:12px;background:#eaf3e4;padding:18px;display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.live-summary small{font-size:10px;color:#64845c;display:block;margin-bottom:7px}.live-summary b{font-size:16px;color:#183c29}.toast{position:fixed;bottom:25px;right:26px;z-index:100;background:#142b3e;color:white;border-radius:11px;padding:13px 17px;font-size:12px;font-weight:600;box-shadow:0 17px 45px rgba(0,0,0,.18);max-width:350px}.toast.error{background:#8e343c}.demo-banner{font-size:11px;background:#fff5dd;color:#8b622a;padding:10px 22px;text-align:center;border-bottom:1px solid #f8e5be}.demo-banner b{font-weight:800}.portal-page{min-height:100vh;background:#f5f8fa}.portal-header{background:#142438;color:white;padding:21px max(26px,calc((100vw - 1030px)/2));display:flex;justify-content:space-between;align-items:center}.portal-header .brand{padding:0;font-size:20px}.portal-header .brand-icon{width:32px;height:32px}.portal-container{max-width:1030px;padding:38px 24px 65px;margin:auto}.portal-greet{margin-bottom:25px}.portal-greet h1{font-size:29px;letter-spacing:-1px;margin:0 0 7px}.portal-greet p{color:#8290a2;margin:0}.portal-hero{background:#172b3f;color:#fff;padding:26px;border-radius:18px;display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:18px}.portal-hero h2{font-size:33px;letter-spacing:-1px;margin:7px 0}.portal-hero small{color:#b1c3d2}.portal-hero .tag{background:#2b4a42;color:#cbf5a6}.portal-meter{background:#3a5363;height:8px;border-radius:20px;width:min(280px,100%);margin-top:14px}.portal-meter div{height:100%;border-radius:20px;background:#c9f18c}.portal-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:20px}.portal-tile{padding:19px}.portal-tile span{font-size:11px;color:#8b99a8}.portal-tile strong{display:block;font-size:21px;letter-spacing:-.4px;margin-top:9px}.portal-history{padding:14px 21px 22px}.portal-history .task{padding:15px 0}.auth-page{min-height:100vh;display:grid;grid-template-columns:1fr 1fr}.auth-left{background:#15263b;color:#fff;padding:56px max(45px,calc((50vw - 520px)/2));display:flex;flex-direction:column;justify-content:space-between}.auth-left .brand{padding:0}.auth-display{max-width:470px}.auth-display h1{font-size:clamp(38px,4vw,60px);line-height:1.03;letter-spacing:-2.8px;margin:0 0 22px}.auth-display p{font-size:15px;line-height:1.85;color:#a8bbce;max-width:420px}.auth-feature{display:flex;align-items:center;gap:12px;margin:25px 0;color:#d9e5ef;font-size:13px}.auth-feature .ico{color:var(--lime)}.auth-right{display:grid;place-items:center;padding:45px}.auth-box{width:min(100%,400px)}.auth-box .eyebrow{color:#70a27c}.auth-box h2{font-size:30px;letter-spacing:-1.2px;margin:10px 0}.auth-box p{color:#8e9aab;line-height:1.7;font-size:13px;margin:0 0 27px}.auth-box .btn{width:100%;padding:15px;margin-top:14px}.auth-box .field input{font-size:14px;padding:14px}.auth-card{background:#f6f9fb;border:1px solid #e7edf4;border-radius:13px;padding:17px;color:#6b7f92;line-height:1.55;font-size:12px;margin-top:23px}.mobile-menu{display:none}.mobile-bar{display:none}.settings-block{padding:26px;max-width:760px}.settings-block h3{margin:0 0 7px}.settings-block p{font-size:12px;color:#8291a4;line-height:1.6;margin:0 0 23px}.settings-block .field{margin-bottom:16px}.settings-block .field input{max-width:520px}.qr-area{display:flex;align-items:center;justify-content:center;padding:25px;background:#fff;border:1px solid #e7ecf3;border-radius:12px;margin:17px auto;width:fit-content}.qr-area canvas{display:block;max-width:100%}.nowrap{white-space:nowrap}.muted{color:var(--muted)}.spacer{flex:1}.tiny{font-size:11px;color:#8593a5}.float-right{margin-left:auto}.click{cursor:pointer}.install-prompt{background:#243b51;color:#fff;padding:11px 20px;display:flex;gap:12px;align-items:center;justify-content:space-between;border-radius:12px;margin:0 0 22px}.install-prompt .btn{background:var(--lime);color:#253a25}.lightmark{background:#f1f7ea!important;color:#295435!important}.receipt-row{display:flex;justify-content:space-between;gap:13px;margin:13px 0}.receipt-row span{color:#7e8b9b}.receipt-row b{font-size:12px}.mobile-only{display:none}
@media(max-width:1250px){.metrics{grid-template-columns:repeat(2,1fr)}.two-col{grid-template-columns:1fr}.details-layout{grid-template-columns:280px minmax(0,1fr)}.topbar{padding:0 25px}.content{padding:27px 25px 75px}}@media(max-width:800px){.sidebar{transform:translateX(-100%);transition:transform .23s;width:260px;box-shadow:15px 0 40px rgba(10,24,40,.12)}.sidebar.show{transform:translateX(0)}.main{margin-left:0;width:100%}.topbar{height:67px;padding:0 17px}.mobile-menu{display:grid;place-items:center;border:0;background:#f0f3f7;border-radius:10px;width:36px;height:36px;color:#52667e}.content{padding:26px 15px 100px}.page-head h1{font-size:24px}.page-head{align-items:flex-start}.page-head .row-actions{justify-content:flex-end}.details-layout,.split-cols{grid-template-columns:1fr}.agenda-grid{grid-template-columns:repeat(2,1fr)}.auth-page{grid-template-columns:1fr}.auth-left{display:none}.auth-right{min-height:100vh}.mobile-bar{display:flex;position:fixed;bottom:0;left:0;right:0;background:#fff;border-top:1px solid #e5ebf2;z-index:15;height:68px;align-items:center;justify-content:space-around;padding:5px 7px max(6px, env(safe-area-inset-bottom))}.mobile-nav-btn{border:0;background:transparent;color:#9aa9b8;display:flex;align-items:center;flex-direction:column;gap:3px;font-size:9px;font-weight:800;padding:5px}.mobile-nav-btn.active{color:#244255}.mobile-nav-btn .ico svg{width:21px;height:21px}.portal-header{padding:17px 19px}.portal-container{padding:27px 15px 95px}.mobile-only{display:initial}}@media(max-width:530px){.metrics{gap:10px}.metric{padding:15px;min-height:135px}.metric-number{font-size:20px}.metric-title{font-size:11px}.metric-icon{width:30px;height:30px}.card-head{padding:19px 16px 8px}.chart-wrap{padding:10px 16px 20px}.task-list{padding:5px 13px 12px}.page-head{display:block}.page-head .row-actions{margin-top:17px;justify-content:flex-start}.top-title{font-size:12px}.bread{display:none}.topbar .top-pill{display:none}.content{padding:22px 12px 95px}.form-grid{grid-template-columns:1fr}.modalback{padding:7px;align-items:flex-end}.modal{max-height:96vh;border-radius:18px 18px 7px 7px}.modal-head,.modalbody,.modalfooter{padding:18px}.live-summary{gap:7px;padding:12px}.live-summary b{font-size:13px}.data-table th,.data-table td{padding:13px 12px}.toolbar .search-field{min-width:100%;width:100%}.mini-cards{grid-template-columns:repeat(2,1fr)}.portal-grid{grid-template-columns:1fr 1fr;gap:10px}.portal-hero h2{font-size:27px}.portal-hero{padding:20px}.auth-right{padding:23px}.task-right b{font-size:12px}.tag{font-size:9px}.sidebar{padding-top:20px}}@media print{.sidebar,.topbar,.mobile-bar,.btn,.modalback,.toast,.demo-banner{display:none!important}.main{margin:0;width:100%}.content{padding:0}.card{box-shadow:none}}

/* v2 – evolución visual, estados y avisos */
.metric.has-spark{min-height:188px;position:relative;overflow:hidden}.sparkline{width:100%;height:39px;margin-top:15px;overflow:visible;opacity:.94}.line-chart-wrap{padding:14px 22px 18px;min-height:225px}.line-chart-wrap svg{width:100%;height:220px;display:block;overflow:visible}.task-buttons{display:flex;gap:6px;align-items:center}.btn-wapp{background:#e7f8ef;color:#1c8158;border-color:#c8e8d5}.btn-wapp:hover{background:#d0f2e0}.fine-warning{color:#b8792b!important}.inline-choice{display:flex;gap:9px;align-items:flex-start;line-height:1.5}.inline-choice input{width:auto!important;margin-top:3px;flex-shrink:0}.toast{display:flex;gap:10px;align-items:center}.toast .ico{color:#c7f08e}.toast.error .ico{color:#ffdadb}.btn[aria-busy="true"]{position:relative;opacity:.75;pointer-events:none}.btn[aria-busy="true"] .ico{animation:busyspin .7s linear infinite}@keyframes busyspin{to{transform:rotate(360deg)}}.modal-note{background:#f1f7fc;border:1px solid #d6e8f8;border-radius:10px;padding:14px 15px;font-size:12px;color:#456582;line-height:1.55}.penalty-preview{background:#fff9ed;border:1px solid #f2ddba;border-radius:12px;padding:15px;line-height:1.6}.penalty-preview strong{display:block;font-size:19px;color:#483b27}.success-ring{width:64px;height:64px;background:#e5f9eb;color:#20895e;border-radius:50%;display:grid;place-items:center;margin:7px auto 16px}.success-ring svg{width:30px;height:30px}.success-center{text-align:center}.success-center h3{font-size:21px;letter-spacing:-.5px;margin:0 0 8px}.success-center p{color:#8290a2;font-size:13px;line-height:1.6}.action-stack{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-top:22px}.whatsapp-steps{display:flex;flex-direction:column;gap:8px;margin:17px 0}.whatsapp-steps span{background:#f6f9fc;padding:10px 12px;border-radius:9px;font-size:12px}.fee-settings{border-top:1px solid #edf0f5;margin-top:23px;padding-top:23px}.settings-hint{font-size:11px;line-height:1.6;color:#8b6971}.task-buttons .btn{white-space:nowrap}
@media(max-width:530px){.task{flex-wrap:wrap}.task-buttons{margin-left:47px;width:calc(100% - 47px)}.task-buttons .btn{flex:1}.metric.has-spark{min-height:170px}.sparkline{height:28px;margin-top:9px}.metric-number{font-size:19px}.line-chart-wrap{padding:5px 9px 14px;min-height:180px}.line-chart-wrap svg{height:170px}.action-stack .btn{width:100%}}

/* CobroApp v3 — refinamiento visual y experiencias nuevas */
:root{
 --ink:#20354c;--muted:#75869a;--soft:#f3f6fa;--line:#e8edf4;--navy:#101f31;--lime:#c2f087;--green:#15a37b;
 --shadow:0 10px 22px rgba(28,52,80,.025),0 26px 64px rgba(28,52,80,.055);
 font-family:"DM Sans","Segoe UI",Arial,sans-serif;font-weight:400;
}
body{background:linear-gradient(115deg,#f1f5f9 0%,#f8fafc 45%,#f3f7fb 100%)}
.sidebar{background:linear-gradient(175deg,#102135 0%,#172d44 63%,#142439 100%);box-shadow:8px 0 28px rgba(10,30,50,.07)}
.brand{font-family:"Outfit","DM Sans",sans-serif;font-weight:650;letter-spacing:-.65px}
.page-head h1,.auth-display h1,.portal-greet h1{font-family:"Outfit","DM Sans",sans-serif;font-weight:560;letter-spacing:-.85px}
.page-head h1{font-size:32px}
.nav-btn,.sidebar-label{font-weight:550}
.sidebar-label{color:#7890a5;font-size:10px}
.nav-btn{border:1px solid transparent;transition:all .18s ease}
.nav-btn.active{background:linear-gradient(105deg,#2a425c,#223a52);border-color:rgba(190,240,162,.12);box-shadow:inset 3px 0 #c2f087,0 4px 16px rgba(0,0,0,.07)}
.topbar{background:rgba(255,255,255,.91);backdrop-filter:blur(16px);box-shadow:0 3px 18px rgba(26,50,74,.025)}
.top-title{font-weight:600}
.content{padding-top:36px}
.card{border-color:rgba(221,231,241,.95);border-radius:19px;box-shadow:var(--shadow)}
.card-head{padding-top:24px}
.card-title{font-family:"Outfit","DM Sans",sans-serif;font-weight:600;font-size:17px}
.metric{padding:20px 21px 14px;min-height:177px;position:relative;overflow:hidden;background:linear-gradient(152deg,#fff 0%,#fff 65%,#fbfdff 100%)}
.metric:after{content:"";position:absolute;width:100px;height:100px;border-radius:50%;background:rgba(182,221,242,.06);right:-45px;top:-53px;pointer-events:none}
.metric-title{font-weight:550;font-size:12px}
.metric-number{font-family:"Outfit","DM Sans",sans-serif;font-weight:560;letter-spacing:-.8px;font-size:27px}
.metric-desc{font-weight:450;margin-top:4px}
.metric .sparkline{display:block;flex-shrink:0;margin:4px 0 -13px;width:100%;height:49px;overflow:visible}
.metric.has-spark{padding-bottom:9px}
.metric-icon{border-radius:12px}
.metric-icon.green{color:#149d76;background:#e4f7ef}
.btn{font-weight:600;font-size:12px;border-radius:11px;padding:12px 17px;transition:box-shadow .2s,transform .2s,background .2s}
.btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 7px 18px rgba(38,68,98,.10)}
.btn-dark{background:linear-gradient(135deg,#1a334d,#14283d)}
.btn-dark:hover{background:linear-gradient(135deg,#233f5c,#1c354f)}
.btn-light{background:linear-gradient(180deg,#fff,#fbfcfe)}
.row-actions{gap:9px}
.table-shell,.tableshell{border-radius:12px}
.data-table th{font-weight:600}
.data-table td,.data-table td strong{font-weight:500}
.data-table td strong{font-weight:650}
.data-table tr:hover td{background:#f5fafb}
.eyebrow{font-weight:650;letter-spacing:1.45px}
.metric.has-spark .metric-number{font-weight:600}
.tag{font-weight:600}
.search-field{border-radius:12px}
.profile{background:linear-gradient(165deg,#fff 0%,#fff 83%,#f4faf8 100%)}
.profile-top h3,.section-title-row h3,.portal-category-title h2{font-family:"Outfit","DM Sans",sans-serif;font-weight:600;letter-spacing:-.4px}
.section-metrics{margin-bottom:24px}
.detail-section{padding:24px;margin-bottom:16px}
.section-title-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;gap:12px}
.section-title-row h3{font-size:19px;margin:0 0 5px}
.section-title-row p{font-size:12px;color:var(--muted);margin:0}
.detail-section .loan-card{box-shadow:0 5px 14px rgba(31,53,75,.025)}
.profile-share{background:linear-gradient(137deg,#eaf7ef 0%,#effbf5 100%);border:1px solid #d9ece3;border-radius:16px;padding:17px 15px;margin:22px 0 0;display:flex;align-items:flex-start;flex-direction:column;gap:7px}
.profile-share-icon{background:#d4efde;border-radius:12px;color:#298d65;width:38px;height:38px;display:grid;place-items:center;margin-bottom:4px}
.profile-share h4{font-size:14px;font-weight:650;margin:0}
.profile-share p{font-size:11px;line-height:1.65;color:#627b70;margin:0 0 7px}
.profile-share .btn{width:100%;white-space:normal}
.profile-share small{font-size:10px;color:#81998b;line-height:1.5}
.borrower-main{min-width:0}
.history-disclosure{margin-top:16px;overflow:hidden}
.history-disclosure>summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:15px;padding:21px 24px;transition:background .15s}
.history-disclosure>summary::-webkit-details-marker{display:none}
.history-disclosure>summary:hover{background:#f7fbfd}
.history-summary-label{display:flex;align-items:center;gap:13px}
.history-summary-label>.ico{width:39px;height:39px;border-radius:12px;background:#ebf2fa;color:#45708d}
.history-summary-label strong{font-size:14px;font-weight:600;display:block}
.history-summary-label small{display:block;font-size:11px;color:#8798a7;margin-top:4px}
.history-disclosure>summary>.ico{transition:transform .2s}
.history-disclosure[open]>summary>.ico{transform:rotate(180deg)}
.history-content{padding:3px 23px 20px;border-top:1px solid #edf1f5}
.history-content .loan-card{margin-top:13px}
.portal-category-title{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:10px 0 17px}
.portal-category-title h2{margin:0;font-size:21px}
.portal-loan{margin-bottom:24px}
.portal-past{margin:20px 0 28px}
.portal-past .history-content{padding-top:20px}
.portal-past .portal-loan:last-child{margin-bottom:0}
.portal-page{background:radial-gradient(circle at 80% 0%,#e8f2f1 0%,transparent 36%),#f5f7fa}
.portal-hero{background:linear-gradient(125deg,#162f46,#1b3f4c);box-shadow:0 16px 34px rgba(20,50,70,.1)}
.portal-hero h2{font-family:"Outfit",sans-serif;font-weight:550}
.agenda-tabs{display:flex;gap:8px;flex-wrap:wrap;padding:6px;border:1px solid #e1eaf2;background:#fff;border-radius:15px;width:fit-content;max-width:100%;margin:0 0 18px}
.agenda-tab{border:0;padding:11px 15px;background:transparent;border-radius:10px;color:#708397;font-size:12px;font-weight:600;transition:background .17s,color .17s;display:flex;align-items:center;gap:7px}
.agenda-tab.active{background:#1b334a;color:#fff;box-shadow:0 7px 15px rgba(25,48,75,.15)}
.agenda-tab span{background:#fbe1db;color:#b85045;padding:2px 6px;border-radius:20px;font-size:10px}
.agenda-list{margin-bottom:23px}
.calendar-card{margin-bottom:25px;overflow:hidden}
.calendar-top{display:flex;justify-content:space-between;gap:18px;padding:27px 28px 11px;align-items:center}
.calendar-top h2{font-family:"Outfit",sans-serif;font-size:22px;font-weight:590;letter-spacing:-.4px;margin:0 0 4px}
.calendar-top p:not(.eyebrow){margin:0;color:var(--muted);font-size:12px}
.calendar-nav{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.calendar-nav>span{font-size:13px;text-transform:capitalize;font-weight:650;min-width:135px;text-align:center}
.calendar-nav .btn-icon{width:34px;height:34px;padding:0}
.calendar-nav .btn-icon:first-child .ico{transform:rotate(180deg)}
.cal-legend{display:flex;justify-content:flex-end;gap:15px;padding:8px 29px 16px;color:#8391a2;font-size:11px;flex-wrap:wrap}
.cal-legend span{display:flex;align-items:center;gap:6px}
.legend-dot{width:8px;height:8px;border-radius:50%;display:inline-block}
.legend-dot.teal{background:#34ba90}.legend-dot.amber{background:#eeb569}.legend-dot.coral{background:#eb7878}
.calendar-weekdays,.calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));padding:0 27px}
.calendar-weekdays{background:#f7fafc;gap:5px;padding-top:11px;padding-bottom:11px}
.calendar-weekdays span{text-align:left;color:#95a4b2;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;padding-left:10px}
.calendar-days{gap:6px;padding-top:16px;padding-bottom:21px}
.cal-spacer{min-height:77px}
.cal-day{border:1px solid #ecf0f5;background:#fff;min-height:77px;border-radius:12px;padding:9px 8px;text-align:left;display:flex;flex-direction:column;gap:4px;overflow:hidden;transition:background .14s,border .14s,transform .14s}
.cal-day:hover{border-color:#76bca4;background:#f8fdfb;transform:translateY(-1px)}
.cal-day.selected{outline:2px solid #27ad82;outline-offset:-2px;background:#effbf5;border-color:#27ad82}
.cal-day.today:not(.selected){background:#fffaf0;border-color:#f2dcae}
.cal-day.overdue:not(.selected){background:#fff9f8}
.cal-number{font-family:"Outfit",sans-serif;font-size:14px;font-weight:650;color:#3d526a}
.cal-count{font-size:10px;font-weight:650;color:#249d79}
.cal-day.overdue .cal-count{color:#ce706a}
.cal-day.current .cal-count{color:#c08a31}
.cal-amount{font-size:10px;color:#8191a1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.cal-empty{color:#e2e9ed}
.calendar-selected{border-top:1px solid #e8edf2;background:linear-gradient(#fbfcff,#fff)}
.calendar-selected-title{display:flex;justify-content:space-between;align-items:center;padding:20px 28px 7px;gap:12px}
.calendar-selected-title h3{font-family:"Outfit",sans-serif;text-transform:capitalize;font-size:18px;font-weight:560;margin:0 0 5px}
.calendar-selected-title p{font-size:12px;color:#8393a3;margin:0}
.calendar-selected .task-list{padding:8px 27px 21px}
.calendar-selected .task .task-buttons{display:flex}
.modallback{background:rgba(9,23,40,.65);backdrop-filter:blur(6px)}
.modal{border-radius:22px;box-shadow:0 40px 110px rgba(8,28,52,.3)}
.modal-head{padding:23px 28px}
.modal-head h2{font-family:"Outfit",sans-serif;font-size:23px;font-weight:580;letter-spacing:-.4px}
.modal-head p{font-size:12px}
.modal.wide:has(.loan-composer){width:min(1080px,calc(100vw - 42px));max-height:min(94vh,1020px)}
.modal:has(.loan-composer) .modalbody{padding:0}
.loan-composer{display:grid;grid-template-columns:minmax(0,1.22fr) minmax(310px,.86fr);align-items:start}
.loan-fields{padding:26px 29px 20px;display:flex;flex-direction:column;gap:15px;min-width:0}
.loan-intro,.loan-summary-head{display:flex;gap:12px;align-items:center}
.loan-intro h3,.loan-summary-head h3{font-family:"Outfit",sans-serif;font-weight:590;font-size:18px;margin:0 0 3px}
.loan-intro p,.loan-summary-head p{font-size:11px;color:#90a0ae;margin:0}
.loan-step-number{width:34px;height:34px;border-radius:11px;background:#e7f5ef;color:#14936a;font-size:11px;font-weight:750;flex-shrink:0;display:grid;place-items:center}
.loan-intro.second{padding-top:17px;margin-top:2px;border-top:1px solid #e9eef3}
.loan-fields .field{gap:7px}
.loan-fields .field label{font-size:11px;font-weight:650;color:#566d82}
.loan-fields .field input,.loan-fields .field select,.loan-fields .field textarea{height:44px;border:1px solid #dce6ef;border-radius:11px;font-size:12px;background:linear-gradient(#fff,#fcfdfe);padding:11px 13px}
.loan-fields .field textarea{height:auto;min-height:70px}
.loan-fields .form-grid{gap:14px}
.currency-field{display:flex;border:1px solid #dce6ef;border-radius:11px;background:#fff;overflow:hidden;align-items:center;height:46px}
.currency-field span{padding:0 12px;font-size:16px;font-weight:650;color:#7490a5;background:#f7f9fc;height:100%;display:grid;place-items:center;border-right:1px solid #e2eaf2}
.currency-field input{border:0!important;box-shadow:none!important;border-radius:0!important;width:100%;font-size:17px!important;font-weight:560!important;min-width:0}
.preset-list{display:flex;gap:7px;flex-wrap:wrap;margin-top:-8px}
.preset-list button{border:1px solid #dce7eb;background:#f8fafc;color:#607586;border-radius:8px;padding:7px 10px;font-size:10px;font-weight:550;transition:.15s}
.preset-list button:hover,.preset-list button.selected{background:#e2f7eb;border-color:#acd9c5;color:#1a8f64}
.loan-check{display:flex;gap:11px;border:1px solid #e2ebe8;background:#f7fbf8;padding:13px;border-radius:13px;cursor:pointer;align-items:flex-start;margin-top:5px}
.loan-check input{accent-color:#169b78;margin-top:3px}
.loan-check b{font-size:12px;font-weight:650;display:block;margin-bottom:4px}
.loan-check small{font-size:10px;color:#789080;display:block;line-height:1.55}
.loan-notes{border:1px dashed #d7e4ed;padding:13px 14px;border-radius:12px}
.loan-notes summary{cursor:pointer;color:#688096;font-size:12px;font-weight:580;display:flex;align-items:center;gap:8px}
.loan-notes textarea{width:100%;border:1px solid #dce6ef;border-radius:10px;padding:10px;margin-top:10px;font-size:12px}
.loan-summary-panel{padding:27px 25px;background:linear-gradient(155deg,#f5f9fd,#eef7f5);border-left:1px solid #e3edf0;min-height:100%;position:sticky;top:0}
.loan-summary-head{margin-bottom:24px}
.loan-total-label{font-size:10px;color:#7d948c;letter-spacing:1.2px;font-weight:700}
.loan-total-number{font-family:"Outfit",sans-serif;font-size:clamp(27px,2.7vw,37px);letter-spacing:-1px;font-weight:570;white-space:nowrap;margin:7px 0}
.loan-total-tags{display:flex;gap:7px;flex-wrap:wrap}
.loan-total-tags span{font-size:10px;border-radius:30px;padding:7px 10px;background:#e0f1e8;color:#288967;font-weight:550}
.loan-breakdown{border-radius:15px;background:#fff;box-shadow:0 10px 32px rgba(35,66,85,.055);padding:17px;margin:22px 0 23px;display:flex;flex-direction:column;gap:14px}
.loan-breakdown>div{display:flex;align-items:center;justify-content:space-between;gap:12px}
.loan-breakdown span{font-size:11px;color:#91a1ad}
.loan-breakdown strong{font-size:12px;font-weight:650;white-space:nowrap}
.loan-breakdown-main{border-top:1px dashed #dce9e3;padding-top:14px}
.loan-breakdown-main strong{font-size:18px;color:#1b956c;font-family:"Outfit",sans-serif;font-weight:600}
.loan-schedule-preview h4{font-size:12px;font-weight:680;margin:0 0 11px;color:#586f80}
.loan-schedule-preview>div{display:flex;justify-content:space-between;align-items:center;padding:9px 0;border-bottom:1px solid #e2eceb;gap:10px}
.loan-schedule-preview>div span{display:flex;align-items:center;gap:9px;color:#798b9b;font-size:11px}
.loan-schedule-preview>div i{font-style:normal;width:22px;height:22px;border-radius:7px;background:#fff;display:grid;place-items:center;color:#588d76}
.loan-schedule-preview>div b{font-size:11px;font-weight:630;white-space:nowrap}
.loan-small-print{font-size:10px;color:#8799a5;line-height:1.7;margin:19px 0 0}
.loan-review-note{border-radius:12px;background:#e4f0f0;padding:12px;color:#60877b;font-size:10px;display:flex;gap:7px;align-items:start;line-height:1.6;margin-top:22px}
.loan-review-note .ico{width:16px;height:16px}
.loan-footer{grid-column:1/-1;border-top:1px solid #e3eaf1;padding:16px 26px;display:flex;align-items:center;justify-content:space-between;background:#fff;gap:15px}
.loan-footer>span{font-size:11px;color:#93a3ad;display:flex;align-items:center;gap:7px}
.loan-footer .btn-dark{background:#183a4d}
.qr-layout{display:flex;gap:17px;align-items:center;margin:14px 0}
.qr-layout .qr-area{margin:0;padding:15px;flex-shrink:0}
.qr-steps b{font-size:12px}
.qr-steps p{font-size:11px;color:#798b9e;line-height:1.5;margin:8px 0}
@media(max-width:1230px){.metrics{grid-template-columns:repeat(2,1fr)}.details-layout{grid-template-columns:300px minmax(0,1fr)}}
@media(max-width:990px){.calendar-top{align-items:flex-start;flex-direction:column}.cal-day{min-height:64px}.cal-amount{font-size:9px}}
@media(max-width:720px){
 .page-head h1{font-size:27px}.metric{min-height:154px;padding:16px 15px 10px}.metric-number{font-size:23px}
 .calendar-top{padding:20px 16px 9px}.cal-legend{justify-content:flex-start;padding:8px 16px 13px}
 .calendar-weekdays,.calendar-days{padding-left:9px;padding-right:9px;gap:3px}.calendar-weekdays span{padding-left:4px;font-size:9px}
 .calendar-days{padding-top:10px;padding-bottom:15px}.cal-day{border-radius:8px;padding:7px 5px;min-height:56px;gap:2px}
 .cal-number{font-size:12px}.cal-count{font-size:8px}.cal-amount{display:none}
 .calendar-selected-title{padding:17px 15px 5px}.calendar-selected .task-list{padding:8px 13px 15px}
 .agenda-tabs{width:100%;justify-content:flex-start}.agenda-tab{font-size:11px;padding:9px 11px}
 .loan-composer{grid-template-columns:1fr}.loan-fields{padding:20px 17px}.loan-summary-panel{border-left:0;border-top:1px solid #e3edf0;padding:18px;position:static}
 .loan-footer{flex-direction:column;align-items:stretch;padding:15px 17px}.loan-footer>span{display:none}.loan-footer .row-actions{justify-content:space-between}.loan-footer .btn{flex:1}
 .modal.wide:has(.loan-composer){width:calc(100vw - 16px);max-height:94vh}.modal-head{padding:18px 19px}.modal-head h2{font-size:20px}
 .qr-layout{flex-direction:column;align-items:start}.qr-layout .qr-area{align-self:center}
 .details-layout{grid-template-columns:1fr}.history-disclosure>summary{padding:17px}
}
@media(max-width:420px){.metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.metric-number{font-size:20px}.metric-title{font-size:10px}.metric-desc{font-size:9px}.cal-day{min-height:51px}.cal-count{font-size:7px}.calendar-selected .task{flex-wrap:wrap}.task-buttons{width:100%}}
