@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--navy:#103A46;--navy2:#154955;--navy3:#1D5965;--teal:#16B8A6;--teal-dark:#0A9287;--teal-pale:#E7F8F4;--bg:#F5F8F8;--white:#fff;--line:#E3EAED;--text:#1A3540;--muted:#7A8B95;--orange:#E7A44D;--red:#C34B4C;--shadow:0 6px 25px rgba(16,58,70,.045);font-family:'DM Sans',system-ui,-apple-system,'Segoe UI',Arial,sans-serif;color:var(--text)}*{box-sizing:border-box}html,body{padding:0;margin:0;min-height:100%}body{background:var(--bg)}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}a{color:inherit}h1,h2,h3,h4,p{margin:0}h1,h2,h3,h4{font-family:'Manrope',sans-serif;letter-spacing:-.04em}small{font-size:12px}.app-shell{display:flex;min-height:100vh}.sidebar{width:268px;background:var(--navy);position:fixed;left:0;top:0;bottom:0;color:#D6E8E9;padding:30px 14px 16px;display:flex;flex-direction:column;z-index:30;box-shadow:12px 0 30px rgba(13,54,62,.03)}.brand{display:flex;align-items:center;gap:12px;margin:0 9px 42px}.brand-symbol{width:44px;height:44px;border-radius:13px;background:linear-gradient(145deg,#2BCBBA,#159F96);display:grid;place-items:center;font-size:30px;color:white;box-shadow:0 8px 24px #07ae9d3b;flex-shrink:0}.brand-copy{display:flex;flex-direction:column;gap:4px}.brand-copy strong{color:white;font-weight:800;letter-spacing:.055em;font-size:12px;white-space:nowrap}.brand-copy small{font-size:10px;letter-spacing:.01em;white-space:nowrap;color:#B6CDCD}.sidebar-kicker{font-size:10px;letter-spacing:.16em;color:#80ADB3;margin:0 16px 12px;font-weight:800}.nav{display:flex;flex-direction:column;gap:5px;margin-bottom:29px}.nav-item{display:flex;align-items:center;gap:13px;width:100%;background:transparent;border:1px solid transparent;border-radius:10px;color:#C3D6D8;padding:12px 15px;text-align:left;font-size:13px;font-weight:650;transition:.2s}.nav-item:hover{background:#ffffff10;color:white}.nav-item.active{background:#1B626A;color:#fff;border-color:#2e7780}.nav-icon{display:inline-flex;align-items:center;justify-content:center;font-size:19px;width:22px;height:22px;color:#8ACEC8;font-weight:800}.nav-item.active .nav-icon{color:#8CF4DF}.sidebar-bottom{margin-top:auto}.sidebar-notice{border:1px solid #36636B;background:#ffffff0b;border-radius:12px;padding:15px;display:flex;flex-direction:column;gap:7px}.sidebar-notice strong{font-size:12px;letter-spacing:.01em;color:#F5FFFF}.sidebar-notice small{line-height:1.6;color:#B6CDCF}.notice-dot{width:7px;height:7px;background:#FFD389;border-radius:50%}.sidebar-footer{text-align:center;color:#8EB2B8;font-size:10px;letter-spacing:.09em;margin-top:20px}.main-column{margin-left:268px;width:calc(100% - 268px);min-width:0}.topbar{height:76px;display:flex;align-items:center;justify-content:space-between;background:white;border-bottom:1px solid var(--line);padding:0 40px;gap:16px}.topbar-left,.topbar-right{display:flex;align-items:center;gap:14px}.topbar-left{font-size:13px;color:#556D79;font-weight:700}.breadbrand{color:#8B9BA2;font-weight:600}.breadbrand span{color:#C9D6D9;margin-left:10px}.date-pill{color:#6A7E89;font-size:12px;font-weight:650}.demo-pill{font-size:10px;font-weight:850;letter-spacing:.065em;border:1px solid #D6EDE8;background:#EDFAF7;color:#138D83;padding:8px 11px;border-radius:60px;white-space:nowrap}.demo-pill i{display:inline-block;width:7px;height:7px;background:var(--teal);border-radius:50%;margin-right:5px}.avatar{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:#E9F3F2;color:#177F78;font-size:12px;font-weight:800}.mobile-menu{display:none!important}.icon-button{background:transparent;border:0;padding:8px;font-size:21px;border-radius:8px;color:var(--navy)}.icon-button:hover{background:#eef4f4}#app-main{max-width:1530px;margin:0 auto;padding:38px 40px 30px;min-height:calc(100vh - 125px);outline:0}.main-footer{text-align:center;padding:10px 18px 22px;color:#98A8AE;font-size:10px}.eyebrow{text-transform:uppercase;color:#169d92;font-weight:850;letter-spacing:.145em;font-size:10px;margin-bottom:8px}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:27px}.page-heading h1{font-size:28px;font-weight:800;color:#163944}.page-heading p{font-size:13px;color:var(--muted);margin-top:7px;line-height:1.65}.btn{border:none;display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:11px 16px;border-radius:9px;font-size:12px;font-weight:800;white-space:nowrap;transition:.2s;min-height:40px}.btn-primary{background:var(--teal);color:#fff;box-shadow:0 6px 18px #16b8a61f}.btn-primary:hover{background:#0ba394;transform:translateY(-1px)}.btn-dark{background:var(--navy);color:#fff}.btn-dark:hover{background:#1e5662}.btn-muted{background:#EDF5F4;color:#24616A}.btn-muted:hover{background:#e0f1ee}.btn-outline{background:#fff;color:var(--text);border:1px solid #D9E5E8}.btn-outline:hover{background:#F5FBF9}.btn-danger{background:#FCECEC;color:#b73840}.btn-sm{padding:8px 11px;min-height:32px;font-size:11px}.btn-full{width:100%}.btn-icon{font-size:16px;line-height:1}.grid{display:grid;gap:20px}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.kpi{border:1px solid var(--line);background:white;border-radius:13px;padding:21px;box-shadow:var(--shadow);min-width:0}.kpi-top{display:flex;align-items:center;justify-content:space-between;gap:9px;margin-bottom:17px}.kpi-label{font-size:12px;font-weight:700;color:#748994;line-height:1.5}.kpi-icon{width:34px;height:34px;border-radius:10px;background:#E8F8F4;color:#0C998D;display:grid;place-items:center;font-size:18px}.kpi h3{font-weight:800;font-size:24px;letter-spacing:-.035em;white-space:nowrap}.kpi-sub{margin-top:8px;font-size:11px;color:#96A6AD}.card{background:white;border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);overflow:hidden}.card-pad{padding:22px}.card-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px}.card-head h2{font-size:16px;letter-spacing:-.025em}.card-head p{color:var(--muted);font-size:11px;margin-top:5px;line-height:1.5}.section-gap{margin-top:22px}.hero{background:linear-gradient(110deg,#103A46 0%,#174F57 60%,#16665E 100%);color:white;border-radius:16px;padding:30px 34px;display:flex;align-items:center;justify-content:space-between;gap:20px;position:relative;overflow:hidden;margin-bottom:22px;min-height:160px}.hero:before{position:absolute;content:'';border:1px solid #ffffff19;width:310px;height:310px;border-radius:50%;right:34px;top:-155px}.hero:after{position:absolute;content:'';border:1px solid #ffffff13;width:250px;height:250px;border-radius:50%;right:-75px;bottom:-160px}.hero-content{position:relative;z-index:1}.hero small{color:#9FE5DA;font-size:11px;letter-spacing:.09em;text-transform:uppercase;font-weight:800}.hero h2{font-size:22px;max-width:640px;line-height:1.38;margin:7px 0 9px}.hero p{font-size:12px;color:#BEE2E0;line-height:1.55}.hero-actions{display:flex;gap:9px;position:relative;z-index:1;flex-wrap:wrap}.hero .btn{background:white;color:#1C595D}.hero .btn-ghost{background:#ffffff15;color:white;border:1px solid #ffffff40}.table-wrapper{overflow-x:auto;width:100%}table{border-collapse:collapse;width:100%;font-size:12px;text-align:left}th{color:#80929A;font-size:10px;text-transform:uppercase;letter-spacing:.065em;padding:13px 14px;background:#F7F9FA;font-weight:850;white-space:nowrap}td{padding:15px 14px;border-top:1px solid #EEF2F4;line-height:1.5;white-space:nowrap}tr:hover td{background:#FCFEFE}th:first-child,td:first-child{padding-left:21px}th:last-child,td:last-child{padding-right:21px}.muted{color:#81949D}.label-sm{font-size:11px;color:#7A8B95}.strong{font-weight:800}.pill{font-size:10px;font-weight:800;padding:5px 9px;border-radius:8px;display:inline-flex;align-items:center;gap:5px;background:#EEF3F5;color:#607781}.pill.teal{color:#0A9687;background:#E3F8F2}.pill.orange{background:#FFF3E3;color:#B97B1B}.pill.red{background:#FEEBEC;color:#B9454E}.empty{padding:35px 22px;text-align:center;display:flex;align-items:center;flex-direction:column;gap:10px;color:#84959D}.empty .empty-icon{width:51px;height:51px;border-radius:13px;display:grid;place-items:center;background:#EFF8F6;color:#16A697;font-size:25px}.empty strong{color:#284653;font-size:13px}.empty p{font-size:11px;line-height:1.6;max-width:350px}.currency-list{display:flex;flex-direction:column;gap:10px}.currency-row{border:1px solid #E7EEEE;border-radius:11px;padding:16px;display:flex;justify-content:space-between;align-items:center;gap:10px}.currency-flag{font-size:22px}.currency-row .amount{font-size:17px;font-weight:850}.currency-row span{color:#7D929A;font-size:11px}.currency-name{display:flex;gap:12px;align-items:center}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.field{display:flex;flex-direction:column;gap:7px;min-width:0}.field label{font-size:11px;color:#526B77;font-weight:800}.field small{color:#899BA3;line-height:1.5;font-size:10px}.field input,.field select,.field textarea{width:100%;border:1px solid #DCE7E9;border-radius:9px;background:white;padding:11px 12px;font-size:12px;color:#193F49;outline:0;min-height:42px;transition:border .2s,box-shadow .2s}.field textarea{min-height:85px;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{border-color:#16B8A6;box-shadow:0 0 0 3px #16B8A619}.field input::placeholder{color:#A3B1B7}.field-wide{grid-column:1/-1}.field-check{display:flex;align-items:center;gap:8px;font-size:12px;color:#4B6673}.field-check input{accent-color:var(--teal)}.form-actions{display:flex;justify-content:flex-end;gap:9px;flex-wrap:wrap;margin-top:18px}.two-column{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(310px,.85fr);gap:20px}.quote-summary{background:linear-gradient(160deg,#123F4C,#176963);color:white;padding:24px;border-radius:13px}.quote-summary small{font-size:11px;color:#B5E2DE}.quote-summary h2{font-size:29px;margin:8px 0 3px;color:white}.summary-line{display:flex;justify-content:space-between;gap:15px;padding:11px 0;border-bottom:1px solid #ffffff23;font-size:12px}.summary-line:last-child{border:none}.summary-line span:first-child{color:#C0DCDD}.quote-tools{display:flex;gap:9px;flex-wrap:wrap;margin-top:16px}.notice{border-radius:10px;border:1px solid #C9EDE8;background:#F0FBF8;padding:14px 16px;color:#3E7471;font-size:11px;line-height:1.7}.notice.warn{background:#FFF9ED;border-color:#FAE9C5;color:#967034}.notice strong{font-weight:850}.payment-card{border:1px solid #DCE9E9;background:white;border-radius:13px;padding:20px;display:flex;flex-direction:column;gap:13px;box-shadow:var(--shadow)}.payment-card-top{display:flex;align-items:start;justify-content:space-between;gap:10px}.payment-card .pay-bank{font-size:15px;font-weight:850;color:#163e49}.payment-card .pay-type{font-size:11px;color:#778D96;margin-top:6px}.payment-card .pay-number{font-size:15px;font-weight:850;letter-spacing:.02em;color:#244B55;overflow-wrap:anywhere}.payment-card .pay-data{font-size:11px;color:#748994;line-height:1.75;overflow-wrap:anywhere}.payment-card .pay-buttons{display:flex;gap:7px;flex-wrap:wrap;margin-top:auto}.mini-qr{height:66px;width:66px;object-fit:contain;border:1px solid #E2EAEA;border-radius:9px;background:#fff}.account-card{border:1px solid #E1EBED;border-radius:12px;background:white;padding:18px;display:flex;flex-direction:column;gap:11px}.account-card-top{display:flex;align-items:center;justify-content:space-between}.account-card .balance{font-size:24px;font-weight:850}.account-card .acc-name{font-size:12px;color:#768E98;font-weight:700}.account-card .acc-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:7px}.select-card{padding:16px;border-radius:10px;border:1px solid #E3EBED;display:flex;gap:12px;align-items:center}.select-card .country-flag{font-size:23px}.filters{display:flex;gap:9px;margin-bottom:16px;flex-wrap:wrap}.chip{border:1px solid #D8E9E7;padding:9px 12px;border-radius:9px;background:white;color:#5B7983;font-size:11px;font-weight:800}.chip.active{background:var(--navy);color:#fff;border-color:var(--navy)}.mini-detail{display:flex;flex-direction:column;gap:4px}.mini-detail strong{font-size:12px}.mini-detail small{font-size:11px;color:#92A2A8}.inline-actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.number-positive{color:#0F9A8C;font-weight:800}.number-negative{color:#CA6060;font-weight:800}.quicklinks{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.quicklink{padding:16px;border:1px solid var(--line);border-radius:11px;background:white;display:flex;gap:11px;align-items:center;text-align:left;color:var(--text)}.quicklink span:first-child{width:32px;height:32px;background:#E5F8F3;color:#0EA99B;border-radius:9px;display:grid;place-items:center;font-size:20px}.quicklink strong{font-size:12px}.quicklink small{display:block;font-size:10px;color:#91A1A7;margin-top:3px}.modal-backdrop{position:fixed;inset:0;z-index:90;background:#0b2731a6;display:flex;align-items:center;justify-content:center;padding:22px;overflow:auto}.modal{width:min(100%,590px);max-height:min(92vh,1000px);overflow:auto;background:white;border-radius:17px;box-shadow:0 30px 90px #102a3560;padding:24px}.modal-head{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:21px}.modal-head h2{font-size:20px}.close-modal{border:0;background:#edf3f3;color:#356571;border-radius:8px;font-size:21px;width:33px;height:33px}.toast-stack{position:fixed;right:20px;bottom:20px;z-index:100;display:flex;flex-direction:column;gap:8px;max-width:min(400px,calc(100vw - 35px))}.toast{padding:13px 17px;background:#153e47;color:white;font-size:12px;line-height:1.5;border-radius:10px;box-shadow:0 12px 35px #113b4850}.toast.error{background:#a43e48}.sidebar-overlay{display:none}.hidden{display:none!important}.break{overflow-wrap:anywhere;word-break:break-word}.text-right{text-align:right}.spacer{flex:1}.pill-input{border:1px solid #dce8ea;border-radius:9px;padding:8px 12px}.stats-banner{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px;background:#EDFAF7;border-radius:12px;color:#316C6A;font-size:11px;line-height:1.6}.stats-banner strong{color:#0D857C}.link-button{background:none;border:none;color:#148f87;font-weight:800;font-size:12px;padding:6px}.mono{font-variant-numeric:tabular-nums}.filter-input{max-width:310px}.helper-text{font-size:10px;color:#8299A0;line-height:1.65;margin-top:7px}.pay-preview{white-space:pre-wrap;background:#F5F9F9;border:1px solid #DFEAEA;border-radius:10px;padding:15px;font-size:12px;line-height:1.8;color:#3B5864;margin-top:14px}.banner-soft{background:#F7FBFA;border:1px dashed #BCD7D7;padding:17px;border-radius:12px;font-size:12px;line-height:1.7;color:#53727C}.mini-stat{font-size:13px;line-height:1.7}.mini-stat strong{font-size:15px;color:#1F4A54}
@media(max-width:1240px){.grid-4{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(2,1fr)}#app-main{padding:28px}.topbar{padding:0 28px}}@media(max-width:950px){.sidebar{transform:translateX(-100%);transition:transform .2s}.sidebar.open{transform:translateX(0)}.sidebar-overlay.show{display:block;position:fixed;inset:0;background:#051c2390;z-index:25}.main-column{margin-left:0;width:100%}.mobile-menu{display:inline-flex!important}.two-column{grid-template-columns:1fr}.topbar{padding:0 19px}.breadbrand{display:none}.hero{padding:24px}}@media(max-width:650px){#app-main{padding:22px 15px}.page-heading{flex-direction:column;align-items:stretch;margin-bottom:20px}.page-heading h1{font-size:23px}.page-heading .btn{width:100%}.grid-4,.grid-3,.grid-2,.quicklinks,.form-grid{grid-template-columns:1fr}.kpi h3{font-size:22px}.hero{flex-direction:column;align-items:stretch;min-height:unset}.hero h2{font-size:19px}.hero-actions .btn{flex:1}.card-pad{padding:17px}.topbar{height:65px}.date-pill{display:none}.demo-pill{font-size:9px;padding:6px 8px}.brand{margin-bottom:30px}.modal{padding:17px}.modal-backdrop{padding:10px}.form-actions .btn{flex:1}.payment-card .pay-buttons{flex-direction:column}.payment-card .pay-buttons .btn{width:100%}.card-head{align-items:flex-start}.topbar-right{gap:6px}}
/* Acceso seguro de la versión cloud */
[hidden] { display:none !important; }
.cloud-auth { position:fixed; inset:0; min-height:100dvh; z-index:500; display:grid; place-items:center; padding:18px; background:radial-gradient(circle at 80% 10%,#1b6970 0%,#103a46 50%,#082b35 100%); color:#fff; }
.cloud-auth-card { width:min(100%,450px); padding:clamp(26px,5vw,42px); border:1px solid #4c7d83; border-radius:22px; background:#103a46; box-shadow:0 30px 90px #0006; }
.cloud-auth-mark { display:grid; place-items:center; width:56px; height:56px; border-radius:16px; background:#16b8a6; color:#fff; font-size:35px; font-weight:700; margin-bottom:18px; }
.cloud-auth-kicker { color:#79e2d0; font-size:12px; font-weight:700; letter-spacing:.11em; }
.cloud-auth h1 { font-size:clamp(25px,4vw,34px); margin:10px 0 7px; }
.cloud-auth p { color:#dcebea; font-size:14px; line-height:1.6; margin-bottom:24px; }
.cloud-auth label { display:block; margin:14px 0 7px; font-size:13px; font-weight:700; }
.cloud-auth input { width:100%; border:1px solid #6d929a; color:#0a2d36; padding:12px 14px; background:white; border-radius:10px; font-size:15px; }
.cloud-auth button, .cloud-lock button { width:100%; padding:12px; font-weight:700; font-size:14px; margin-top:22px; border:0; border-radius:10px; color:white; background:#16b8a6; cursor:pointer; }
.cloud-auth button:disabled, .cloud-lock button:disabled { opacity:.5; cursor:not-allowed; }
.cloud-auth small { display:block; margin-top:19px; text-align:center; font-size:12px; color:#dcebea; }
.cloud-auth-message { background:#194b56; padding:12px; margin-top:18px; border-radius:10px; color:#e1f6f2; line-height:1.5; font-size:13px; }
.cloud-auth-message.is-error { background:#66382e; color:#fff1e9; }
.cloud-logout { cursor:pointer; margin-top:12px; background:transparent; border:1px solid #639198; padding:7px 12px; border-radius:8px; color:#fff; font-size:12px; }
#cloud-sync-pill[data-status="error"] { background:#fff1eb; color:#a43c1c; }
#cloud-sync-pill[data-status="saving"] { background:#fff4d2; color:#745612; }
.cloud-lock { position:fixed; inset:0; z-index:600; padding:20px; background:#062833df; display:grid; place-items:center; }
.cloud-lock-card { width:min(100%,550px); background:white; color:#103a46; padding:30px; border-radius:17px; box-shadow:0 16px 60px #0005; }
.cloud-lock-card h2 { font-size:24px; margin:0 0 12px; }
.cloud-lock-card p { font-size:14px; line-height:1.6; }
.cloud-lock-actions { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.cloud-lock-actions button:last-child { background:#103a46; }

/* V1.3: identidad visual y registro de cambios */
.brand-symbol{width:50px;height:50px;border-radius:50%;overflow:hidden;background:#082e3a;border:1px solid #32ddd1;box-shadow:0 5px 20px #04b8ae30}
.brand-symbol img{width:100%;height:100%;object-fit:cover;display:block}
.cloud-auth-mark{width:94px;height:94px;border-radius:50%;overflow:hidden;padding:0;background:#0b3340;border:2px solid #28dbc9;box-shadow:0 8px 26px #0ebba92c}
.cloud-auth-mark img{width:100%;height:100%;object-fit:cover;display:block}
.hero-brand-logo{width:112px;height:112px;object-fit:cover;border-radius:50%;border:2px solid #47dfd5;position:relative;z-index:1;box-shadow:0 12px 36px #052b2e75;flex-shrink:0}
.hero{gap:26px}.hero-content{flex:1}.hero-actions{z-index:1}
.operation-pulse{display:flex;justify-content:space-between;align-items:center;gap:18px}.operation-pulse strong{font-size:25px;color:#0b3d48}.operation-pulse small{font-size:12px;color:#78909a;margin-left:8px}
.operation-summary{padding:23px;border-radius:15px;background:linear-gradient(145deg,#103A46,#13685e);color:#fff}.operation-summary h2{color:#fff;font-size:27px;margin:4px 0 16px}.operation-summary .summary-line{color:#fff}
.operation-summary .summary-line strong{color:#fff}.operation-summary .summary-line span{color:#c9e7e4}
.operation-summary .is-unknown{font-size:13px;color:#f8dca0}.operation-amount{font-size:11px;opacity:.9}
.operation-badge{display:inline-flex;border:1px solid #c7e5e1;border-radius:9px;padding:7px 11px;background:#edfaf7;color:#0b645e;font-weight:800;font-size:12px}
.form-grid .field.wide,.field-wide{grid-column:1/-1}
@media(max-width:850px){.hero-brand-logo{width:70px;height:70px}.hero{flex-wrap:wrap}.operation-pulse{flex-wrap:wrap}}
