:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#263a31;background:#f5f5f0;font-synthesis:none;scroll-behavior:smooth;--ink:#253a31;--muted:#808b80;--line:#e7eae1;--cream:#f5f5f0;--olive:#c5d5a8;--gold:#f5cc79}
*{box-sizing:border-box} [hidden]{display:none!important} body{margin:0;min-width:320px} button,input,textarea{font:inherit} button{cursor:pointer} a{color:inherit;text-decoration:none} button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #c9a65e;outline-offset:3px} .shell{display:flex;min-height:100vh}.sidebar{width:230px;flex:none;padding:34px 23px 24px 28px;background:#fcfcf9;border-right:1px solid #e9ebe3;display:flex;flex-direction:column;position:sticky;top:0;height:100vh}.brand{display:inline-flex;align-items:center;gap:10px;font-size:22px;font-weight:800;letter-spacing:-1px;line-height:.9}.brand-number{color:#9bae80}.brand small{display:block;margin-top:7px;font-size:8px;letter-spacing:2.2px;color:#97a397;font-weight:750}.brand-mark{width:39px;height:39px;display:grid;place-items:center;border-radius:13px;background:#293f34;color:#f5d18f;font-size:29px;font-weight:400;line-height:1}.side-caption{margin:67px 0 12px 12px;color:#a0ab9f;font-size:9px;font-weight:800;letter-spacing:1.65px}.side-nav{display:grid;gap:4px}.side-nav a{height:45px;display:flex;align-items:center;gap:12px;padding:0 12px;color:#829087;font-size:13px;font-weight:650;border-radius:10px}.side-nav a span{font-size:20px;width:22px;text-align:center}.side-nav a.active,.side-nav a:hover{background:#eaf0e5;color:#314c3b}.side-note{margin-top:auto;padding:19px 17px;border-radius:14px;background:#f0f2e8}.side-note>span{font-size:25px;color:#a9bb8c}.side-note strong{display:block;font-size:12px;margin:9px 0 6px}.side-note p{font-size:11px;color:#8a9789;line-height:1.6;margin:0}.side-footer{padding:24px 0 0 3px;color:#a3ada1;font-size:10px}.side-footer span{padding:0 3px;color:#c7cebf}.main{width:min(100%,1370px);padding:0 48px 30px;margin:0 auto}.topbar{height:88px;display:flex;align-items:center;justify-content:space-between}.desktop-heading strong{display:block;font-size:16px;letter-spacing:-.3px}.desktop-heading span{display:block;color:#a2aca1;font-size:11px;margin-top:4px}.top-actions{display:flex;align-items:center;gap:11px}.property-pill{display:flex;align-items:center;gap:7px;border:1px solid #e5e9df;background:#fff;border-radius:99px;padding:9px 13px;color:#506458;font-size:11px;font-weight:700}.dot,.tiny-dot{width:7px;height:7px;background:#99bb83;border-radius:50%;display:inline-block}.avatar{display:grid;place-items:center;width:34px;height:34px;background:#e7ede1;border-radius:50%;font-size:21px;color:#4d6854}.mobile-brand{display:none}.hero{min-height:225px;display:flex;overflow:hidden;border-radius:18px;background:#30483a;color:#fff}.hero-copy{padding:33px 37px;flex:1;position:relative;z-index:1}.hero-overline{font-size:9px;letter-spacing:1.8px;font-weight:750;color:#d4dfc9;display:flex;align-items:center;gap:8px}.hero-star{color:#d6e4bd;font-size:19px}.hero h1{font-family:Georgia,serif;font-weight:400;font-size:43px;letter-spacing:-1.4px;margin:16px 0 8px}.greeting-dot{color:#efca83}.hero p{font-size:13px;color:#d6dfd1;line-height:1.7;margin:0}.hero-location{margin-top:21px;font-size:10px;color:#b8c9b8;display:flex;gap:7px;align-items:center}.hero-photo{width:39%;min-width:230px;background:linear-gradient(90deg,#30483a 0%,transparent 50%),url('/fachada.jpg') center 51%/cover}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:10px}.overview-heading{margin:34px 0 17px}.eyebrow{margin:0 0 7px;font-size:9px;letter-spacing:1.65px;font-weight:800;color:#9ca99a}.section-heading h2,.panel-heading h2{font-family:Georgia,serif;font-size:23px;letter-spacing:-.7px;font-weight:400;margin:0;color:#293d32}.section-heading h2 span{color:#a2b68c}.heading-note{font-size:10px;color:#abb4a9;padding-bottom:3px}.overview-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:14px}.balance-card{padding:22px 24px 17px;background:#dfead5;border-radius:16px;min-height:218px;display:flex;flex-direction:column}.card-head{display:flex;align-items:center;gap:9px}.card-icon{font-size:19px;color:#4f6a51}.card-kicker{font-size:9px;font-weight:800;letter-spacing:1.25px;color:#657e63}.status-pill{margin-left:auto;padding:5px 8px;border-radius:30px;background:#f4f8ee;font-size:8px;letter-spacing:.5px;font-weight:800;color:#668162}.balance-label{color:#657a65;font-size:12px;margin:23px 0 5px}.balance-amount{font-size:33px;line-height:1.1;font-weight:750;letter-spacing:-1.8px;color:#263f2f}.balance-note{font-size:10px;line-height:1.55;color:#718671;max-width:300px;margin:9px 0 17px}.balance-bottom{border-top:1px solid #cbdcc0;padding-top:13px;margin-top:auto;display:flex;align-items:center;justify-content:space-between;color:#6d846d;font-size:10px}.tiny-dot{width:6px;height:6px;margin-right:3px;background:#8eaf7b}.balance-bottom>span:last-child{font-size:16px}.detail-stack{display:grid;grid-template-columns:1fr 1fr;gap:14px}.detail-card{background:#fff;border:1px solid #edf0e9;border-radius:16px;padding:22px;display:flex;flex-direction:column;justify-content:space-between;min-width:0}.detail-icon,.quick-icon{display:grid;place-items:center;width:41px;height:41px;font-size:23px;border-radius:13px}.detail-icon.olive{background:#edf3e6;color:#77956b}.detail-icon.peach{background:#fcf0df;color:#be9458}.detail-card p,.detail-card span{font-size:9px;color:#a1aba0}.detail-card p{letter-spacing:1px;font-weight:800;line-height:1.4;margin:17px 0 8px}.detail-card strong{font-size:20px;letter-spacing:-.8px;display:block;color:#304236}.detail-card span{display:block;margin-top:7px}.quick-section{margin-top:31px}.quick-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px;margin-top:15px}.quick-card{border:1px solid #edf0e9;background:#fff;padding:14px 16px;border-radius:14px;display:flex;text-align:left;align-items:center;gap:13px;color:#304236;min-height:72px}.quick-card:hover{border-color:#bdcdb4}.quick-icon{width:43px;height:43px;flex:none;font-size:19px}.quick-icon.dark{background:#30493b;color:#e9f3dc}.quick-icon.light{background:#f7edda;color:#b59661}.quick-card strong,.quick-card small{display:block}.quick-card strong{font-size:12px}.quick-card small{font-size:10px;color:#a4aea3;margin-top:4px}.quick-card .arrow{margin-left:auto;font-size:16px;color:#a6b1a3}.content-grid{display:grid;grid-template-columns:1.65fr 1fr;gap:14px;margin-top:31px;align-items:start}.section-panel{background:#fff;border:1px solid #edf0e9;border-radius:16px;padding:22px}.panel-heading{display:flex;align-items:center;justify-content:space-between}.panel-count{color:#a0aca0;font-size:10px}.tabs{display:flex;border-bottom:1px solid #eff1eb;gap:20px;margin-top:19px;overflow-x:auto;scrollbar-width:none}.tabs::-webkit-scrollbar{display:none}.tab{border:0;background:none;color:#a3ada1;font-size:11px;font-weight:700;padding:0 0 12px;white-space:nowrap;border-bottom:2px solid transparent}.tab.active{border-color:#698a6a;color:#375740}.movement{display:flex;align-items:center;gap:11px;padding:14px 0;border-bottom:1px solid #f1f3ee}.movement:last-child{border:0}.movement-icon{flex:none;width:36px;height:36px;display:grid;place-items:center;border-radius:11px;background:#f3f5ee;color:#91a48b;font-size:15px}.movement-icon.pagos{background:#eaf3e7;color:#699568}.movement-icon.creditos{background:#fbf1df;color:#b99158}.movement-main{min-width:0;flex:1}.movement-title{font-size:11px;font-weight:750;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.movement-meta{font-size:10px;color:#a3ada1;margin-top:4px}.movement-value{text-align:right;white-space:nowrap;font-size:11px;font-weight:750}.movement-value small{display:block;font-size:9px;color:#a1ada1;font-weight:500;margin-top:4px}.empty-list{font-size:12px;color:#9ba79a;text-align:center;padding:27px 0}.show-all{width:100%;border:0;border-top:1px solid #eff1eb;padding:14px 0 0;background:none;color:#657e67;font-size:11px;font-weight:750}.show-all span{margin-left:5px}.contract-card{background:#f1e7d3;border-radius:16px;padding:22px;min-height:320px}.contract-top{display:flex;justify-content:space-between;align-items:start;margin-bottom:26px}.contract-icon{display:grid;place-items:center;width:40px;height:40px;background:#fff8ec;border-radius:12px;color:#b69158;font-size:20px}.contract-badge{color:#a98e66;font-size:8px;letter-spacing:1px;font-weight:800}.contract-card .eyebrow{color:#a38e6d}.contract-card h2{font-family:Georgia,serif;font-size:26px;line-height:1.15;letter-spacing:-.7px;font-weight:400;margin:0;color:#4c4b38}.contract-card h2 em{color:#ae8e5d;font-weight:400}.contract-card>p:not(.eyebrow){font-size:11px;line-height:1.6;color:#9a8d75;max-width:220px;margin:11px 0 19px}.renewal{border-top:1px solid #e1d4bc;padding:15px 0;display:flex;align-items:center;justify-content:space-between;gap:10px}.renewal span{color:#a4967d;font-size:8px;font-weight:800;letter-spacing:.7px}.renewal strong{font-size:11px;color:#635e49}.document-button,.submit-button{display:flex;justify-content:space-between;align-items:center;width:100%;border:0;border-radius:10px;background:#314b3a;color:#fff;padding:13px 15px;font-size:11px;font-weight:750}.document-button:disabled{opacity:.5;cursor:not-allowed}.contract-card>small{display:block;color:#a28e70;font-size:9px;line-height:1.4;margin-top:8px}.footer{display:flex;justify-content:space-between;color:#a2aea0;font-size:10px;padding:32px 0 0}.footer-star{color:#b6c9a5}.mobile-nav{display:none}.loading{min-height:300px;display:flex;align-items:center;justify-content:center;gap:10px;color:#829083;font-size:13px}.spinner{width:18px;height:18px;border:2px solid #dce4d8;border-top-color:#749471;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.error-banner{padding:14px;border-radius:12px;background:#fff0e9;color:#875b47;font-size:12px;line-height:1.5;margin:14px 0}.access-screen{margin:45px auto;max-width:530px;padding:44px;text-align:center;background:#fff;border:1px solid var(--line);border-radius:20px}.access-icon{display:grid;place-items:center;width:58px;height:58px;border-radius:18px;background:#eaf1e2;color:#91aa7e;font-size:30px;margin:0 auto 24px}.access-screen h1{font:400 34px/1.1 Georgia,serif;letter-spacing:-1px;margin:12px 0}.access-screen h1 em{color:#91a982}.access-screen>p:not(.eyebrow){font-size:13px;line-height:1.7;color:#849184}.access-hint{margin-top:25px;background:#f2f5ed;border-radius:10px;padding:13px;font-size:11px;color:#71886e}.report-dialog{border:0;padding:26px;border-radius:18px;width:min(460px,calc(100% - 32px));max-height:min(90dvh,750px);color:var(--ink);box-shadow:0 24px 90px #18302735}.report-dialog::backdrop{background:#18282099}.dialog-handle{display:none}.dialog-header{display:flex;justify-content:space-between;align-items:start}.dialog-header h2{font:400 26px Georgia,serif;letter-spacing:-.5px;margin:0}.close-dialog{border:0;background:#f1f4ed;width:34px;height:34px;border-radius:50%;font-size:22px;color:#718573}.dialog-intro{font-size:12px;line-height:1.6;color:#8b988a;margin:10px 0 22px}.report-dialog form>label,.report-dialog form>div>label{display:block;font-size:11px;font-weight:750;margin:17px 0 7px}.report-dialog input:not([type=file]),.report-dialog textarea{width:100%;border:1px solid #e1e8dd;border-radius:10px;background:#fafbf8;padding:12px;color:#283f30;outline:none}.report-dialog input:focus,.report-dialog textarea:focus{border-color:#8eaa83}.amount-input{position:relative}.amount-input>span{position:absolute;left:13px;top:11px;color:#879a83}.amount-input input{padding-left:29px!important}.upload-zone{border:1px dashed #b8c9b4;border-radius:11px;background:#f7faf5;min-height:93px;display:flex!important;flex-direction:column;justify-content:center;align-items:center;gap:3px;cursor:pointer;color:#5b795f}.upload-zone>span{font-size:23px}.upload-zone strong{font-size:11px}.upload-zone small{font-size:9px;color:#9baa99;font-weight:400}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.review-note{display:flex;gap:9px;color:#7d917b;font-size:10px;line-height:1.5;background:#f2f6ee;padding:11px;border-radius:10px}.review-note>span:first-child{font-size:15px}.form-message{font-size:11px;line-height:1.5;color:#985b43;background:#fff0e9;border-radius:8px;padding:10px;margin:10px 0}.submit-button{padding:15px;font-size:12px;margin-top:16px}.submit-button:disabled{opacity:.6;cursor:wait}.toast{position:fixed;z-index:10;bottom:25px;left:50%;transform:translateX(-50%);width:max-content;max-width:90%;border-radius:11px;background:#2d4737;color:#fff;box-shadow:0 8px 30px #15261b33;padding:13px 18px;font-size:12px}
@media(max-width:1050px){.sidebar{width:200px;padding-left:21px}.main{padding-left:30px;padding-right:30px}.overview-grid{grid-template-columns:1fr}.balance-card{min-height:200px}.detail-stack{grid-template-columns:1fr 1fr}.detail-card{min-height:145px}}
@media(max-width:700px){body{background:#f8f8f4}.sidebar{display:none}.main{padding:0 18px 94px}.topbar{height:72px}.mobile-brand{display:inline-flex;font-size:19px}.brand-mark{width:36px;height:36px;font-size:26px}.desktop-heading{display:none}.avatar{width:32px;height:32px}.property-pill{padding:8px 10px;font-size:10px}.hero{min-height:184px;border-radius:16px}.hero-copy{padding:24px 20px}.hero-overline{font-size:8px;letter-spacing:1.1px}.hero-star{font-size:16px}.hero h1{font-size:36px;margin:12px 0 7px}.hero p{font-size:12px;line-height:1.55}.hero-location{margin-top:15px}.hero-photo{width:34%;min-width:100px;background:linear-gradient(90deg,#30483a 0%,transparent 60%),url('/fachada.jpg') center/cover}.overview-heading{margin:28px 0 14px}.section-heading h2,.panel-heading h2{font-size:21px}.heading-note{display:none}.overview-grid{gap:10px}.balance-card{padding:18px 19px 15px;min-height:194px}.balance-label{margin-top:19px}.balance-amount{font-size:31px}.detail-stack{gap:10px}.detail-card{padding:16px;min-height:139px}.detail-card strong{font-size:17px}.detail-card p{font-size:8px;margin-top:13px}.detail-icon{width:36px;height:36px;font-size:19px}.quick-section{margin-top:28px}.quick-grid{grid-template-columns:1fr;gap:9px;margin-top:13px}.quick-card{min-height:65px;padding:11px 13px}.quick-icon{width:40px;height:40px}.content-grid{grid-template-columns:1fr;gap:13px;margin-top:28px}.section-panel,.contract-card{padding:19px}.tabs{gap:22px}.contract-card{min-height:0}.contract-top{margin-bottom:19px}.footer{padding-top:25px;font-size:9px}.mobile-nav{position:fixed;z-index:5;bottom:0;left:0;right:0;display:flex;justify-content:space-around;align-items:center;padding:9px 8px max(9px,env(safe-area-inset-bottom));background:#fff;border-top:1px solid #e8ece4;box-shadow:0 -4px 20px #283e2a08}.mobile-nav a,.mobile-nav button{width:25%;border:0;background:none;display:grid;justify-items:center;gap:3px;color:#9ba89a;font-size:9px;font-weight:700}.mobile-nav a:first-child{color:#466b4e}.mobile-nav span{font-size:20px;line-height:1}.mobile-nav button span{width:24px;height:24px;display:grid;place-items:center;border-radius:8px;background:#314b3a;color:#fff;font-size:20px}.report-dialog{position:fixed;bottom:0;top:auto;margin:0;max-width:none;width:100%;max-height:90dvh;border-radius:20px 20px 0 0;padding:12px 22px max(22px,env(safe-area-inset-bottom))}.dialog-handle{display:block;width:38px;height:4px;border-radius:9px;background:#dce3d9;margin:0 auto 18px}.toast{bottom:85px}.access-screen{padding:35px 24px;margin:28px 0}}
@media(max-width:360px){.main{padding-left:13px;padding-right:13px}.hero h1{font-size:32px}.hero-photo{min-width:80px}.property-pill{font-size:9px}.balance-amount{font-size:28px}.detail-card{padding:13px}.detail-card strong{font-size:15px}.tabs{gap:16px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
.main,.section-panel,.contract-card{min-width:0}
.content-grid{grid-template-columns:minmax(0,1.65fr) minmax(0,1fr)}
@media(max-width:700px){.content-grid{grid-template-columns:minmax(0,1fr)}}
@media(max-width:700px){.eyebrow{font-size:10px}.balance-note,.quick-card small,.movement-meta,.detail-card span,.contract-card>p:not(.eyebrow){font-size:11px}.quick-card strong,.movement-title,.movement-value{font-size:12px}}
.balance-card[data-situacion="a_cargo"]{background:#f8eadb}
.balance-card[data-situacion="a_cargo"] .card-kicker,.balance-card[data-situacion="a_cargo"] .balance-label,.balance-card[data-situacion="a_cargo"] .balance-note,.balance-card[data-situacion="a_cargo"] .balance-bottom,.balance-card[data-situacion="a_cargo"] .card-icon{color:#80654c}
.balance-card[data-situacion="a_cargo"] .balance-amount{color:#594534}
.balance-card[data-situacion="a_cargo"] .status-pill{background:#fff7ee;color:#80532e}
.balance-card[data-situacion="a_cargo"] .balance-bottom{border-color:#e8d5c0}
.balance-card[data-situacion="a_cargo"] .tiny-dot{background:#c49463}
.balance-card[data-situacion="sin_saldo"]{background:#eef1eb}
.balance-unassigned{font-size:11px;line-height:1.5;color:#526c53;margin:0 0 14px}.balance-card[data-situacion="a_cargo"] .balance-unassigned{color:#73553c}
.movement-value small.estado-pagado,.movement-value small.estado-por-pagar,.movement-value small.estado-por-revisar{font-size:10px;font-weight:700}.movement-value small.estado-pagado{color:#3d7350}.movement-value small.estado-por-pagar{color:#8b512a}.movement-value small.estado-por-revisar{color:#685e4c}
.movement-title{display:flex;align-items:center;gap:5px}.movement-title-text{min-width:0;overflow:hidden;text-overflow:ellipsis}.movement-emoji{font-size:14px;line-height:1.2;flex:none}.movement-title.estado-pagado{color:#22713a}.movement-title.estado-por-pagar{color:#a3281b}.movement-title.estado-por-revisar{color:#685e4c}
.concept-filter{display:flex;align-items:center;gap:10px;padding:13px 0 4px}.concept-filter label{font-size:11px;font-weight:700;color:#63776a}.concept-filter select{flex:1;min-width:0;min-height:44px;border:1px solid #e1e8dd;border-radius:10px;background:#fafbf8;padding:8px 11px;color:#314b3a;font:inherit;font-size:12px}.concept-filter select:focus-visible{outline:3px solid #c9a65e;outline-offset:3px}
.receipt-trigger{display:inline-flex;align-items:center;min-height:40px;border:0;background:none;padding:4px 0;color:#3e6c4c;font-size:11px;font-weight:750;text-decoration:underline;text-underline-offset:3px}.receipt-dialog{width:min(720px,calc(100% - 32px));max-height:90dvh;padding:22px;border:0;border-radius:18px;color:var(--ink);box-shadow:0 24px 90px #18302735}.receipt-dialog::backdrop{background:#182820b3}.receipt-header{display:flex;align-items:start;justify-content:space-between;gap:12px;margin-bottom:15px}.receipt-header h2{font:400 24px Georgia,serif;letter-spacing:-.5px;margin:0}.receipt-info{color:#718271;font-size:12px;margin:7px 0 0}.receipt-stage{min-height:140px;max-height:62dvh;overflow:auto;overscroll-behavior:contain;background:#f4f6f0;border-radius:12px}.receipt-stage>p{padding:48px 18px;text-align:center;color:#748779;font-size:13px;line-height:1.5}.receipt-stage .receipt-error{color:#9b483c}.receipt-image{display:block;width:auto;height:auto;max-width:100%;max-height:62dvh;object-fit:contain;margin:auto}.receipt-stage.is-zoomed .receipt-image{width:200%;max-width:none;max-height:none}.receipt-pdf{padding:32px 18px;text-align:center;color:#596f5d;font-size:13px}.receipt-pdf>span{font-size:32px}.receipt-download{display:inline-block;padding:12px 17px;border-radius:10px;background:#314b3a;color:#fff;font-weight:700}.receipt-controls{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:14px}.receipt-navigation{display:flex;align-items:center;gap:8px;font-size:11px;color:#6e816f}.receipt-navigation button,.receipt-zoom{min-height:42px;border:1px solid #dbe5d8;border-radius:9px;background:#fff;padding:8px 11px;color:#3d6248;font-size:11px;font-weight:700}.receipt-navigation button:disabled{opacity:.45;cursor:default}.receipt-zoom{margin-left:auto}
@media(max-width:700px){.receipt-dialog{width:calc(100% - 24px);padding:18px}.receipt-header h2{font-size:21px}.receipt-stage{max-height:60dvh}.receipt-image{max-height:60dvh}.receipt-trigger{min-height:44px;font-size:12px}}
