:root{--navy:#11263d;--navy-2:#1c3855;--blue:#3478f6;--blue-soft:#eef4ff;--orange:#f27a46;--ink:#192b3d;--muted:#7b8999;--line:#e7ebef;--bg:#f5f7fa;--green:#218760;--green-soft:#eaf7f0;--red:#c95353;--red-soft:#fff0ee;--amber:#aa741c;--amber-soft:#fff6e5;--white:#fff;--shadow:0 8px 28px rgba(20,42,67,.06)}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:'Inter',sans-serif;font-size:14px}button,input,select,textarea{font:inherit}button{cursor:pointer}.app-shell{min-height:100vh;display:flex}.sidebar{width:250px;position:fixed;inset:0 auto 0 0;background:var(--navy);color:#e7eef7;padding:27px 14px 18px;display:flex;flex-direction:column;z-index:10}.brand{display:flex;align-items:center;gap:11px;padding:0 10px 31px}.brand-mark{width:39px;height:39px;display:grid;place-items:center;border-radius:12px;background:linear-gradient(145deg,#f5a068,#e4643c);color:white;font-family:Inter;font-weight:800;font-size:15px;box-shadow:0 5px 15px #f27a4640}.brand strong{display:block;font-family:Inter;font-size:15px;letter-spacing:.1px}.brand span{display:block;color:#8da1b6;font-size:9px;letter-spacing:1.15px;margin-top:4px}.nav-caption{padding:0 12px 9px;color:#8094a9;font-size:9px;font-weight:700;letter-spacing:1.15px}.secondary-caption{margin-top:23px}.nav-item{border:0;background:transparent;color:#b5c3d1;width:100%;height:42px;border-radius:8px;display:flex;align-items:center;gap:12px;padding:0 12px;text-align:left;font-weight:500;font-size:13px;margin:2px 0;transition:.18s}.nav-item:hover{color:white;background:#ffffff10}.nav-item.active{background:#294968;color:white;box-shadow:inset 3px 0 #f28a53}.nav-icon{width:17px;text-align:center;color:#91a7bd;font-size:17px}.active .nav-icon{color:#ffae7f}.nav-count{margin-left:auto;border-radius:10px;padding:2px 7px;background:#385978;color:#dce8f2;font-size:10px}.sidebar-bottom{margin-top:auto}.secure-note{display:flex;align-items:center;gap:10px;border-top:1px solid #ffffff18;border-bottom:1px solid #ffffff18;padding:15px 9px;margin-bottom:10px}.secure-note>span{font-size:9px;color:#64c896}.secure-note b,.secure-note small{display:block}.secure-note b{font-size:11px}.secure-note small{font-size:10px;color:#8da1b6;margin-top:3px}.main-area{width:calc(100% - 250px);margin-left:250px;min-height:100vh;display:flex;flex-direction:column}.topbar{height:67px;background:white;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 34px;position:sticky;top:0;z-index:8}.breadcrumb{font-size:12px;color:#8a97a6}.breadcrumb span{padding:0 10px;color:#c4ccd4}.breadcrumb b{font-weight:600;color:#34485c}.top-actions{display:flex;align-items:center;gap:20px}.period-control{height:34px;border:1px solid var(--line);border-radius:7px;padding:0 10px;display:flex;gap:7px;align-items:center;color:#8290a0}.period-control select{border:0;outline:0;background:transparent;color:#34485c;font-size:12px;font-weight:600}.icon-button{width:34px;height:34px;position:relative;border:1px solid var(--line);border-radius:8px;background:white;color:#596b7e;font-size:15px}.notification i{width:6px;height:6px;border-radius:50%;background:#f17b55;position:absolute;top:6px;right:7px;border:1px solid white}.user-chip{display:flex;align-items:center;gap:9px;border-left:1px solid var(--line);padding-left:17px}.avatar{width:31px;height:31px;border-radius:50%;display:grid;place-items:center;background:#e8f0ff;color:#3478f6;font-size:10px;font-weight:700}.user-chip b,.user-chip small{display:block}.user-chip b{font-size:11px}.user-chip small{font-size:10px;color:var(--muted);margin-top:2px}.chevron{color:#8794a1;margin-left:3px}.mobile-menu{display:none}.content{max-width:1500px;width:100%;margin:0 auto;padding:27px 34px 36px;flex:1}.page-heading{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:21px}.eyebrow{color:#8291a1;text-transform:uppercase;letter-spacing:1.2px;font-size:9px;font-weight:700;margin-bottom:7px}.page-heading h1{font:700 24px Inter,sans-serif;margin:0;letter-spacing:-.55px;color:#172b41}.page-heading p{margin:6px 0 0;color:var(--muted);font-size:12px}.heading-actions{display:flex;gap:9px;align-items:center}.btn{border:1px solid var(--line);background:white;color:#40546a;border-radius:7px;padding:9px 13px;font-size:11px;font-weight:600;display:inline-flex;align-items:center;gap:7px;transition:.15s}.btn:hover{border-color:#bdc9d5;transform:translateY(-1px)}.btn-primary{background:var(--blue);color:white;border-color:var(--blue);box-shadow:0 4px 10px #3478f628}.btn-primary:hover{background:#2869df;border-color:#2869df}.btn-light{background:var(--blue-soft);color:#3478f6;border-color:#e1eaff}.btn-danger{color:var(--red);background:var(--red-soft);border-color:#f6d5d0}.banner{display:flex;align-items:center;gap:11px;border:1px solid #f3dfbc;background:#fff9ed;color:#7b602a;padding:11px 14px;border-radius:8px;margin-bottom:18px;font-size:11px;line-height:1.5}.banner .banner-icon{font-size:16px}.banner b{color:#68501d}.banner button{margin-left:auto;border:0;background:transparent;color:#997b3e;font-size:18px}.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin-bottom:17px}.stat-card,.panel{background:white;border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow)}.stat-card{padding:15px 16px 14px;min-height:108px;position:relative}.stat-top{display:flex;align-items:center;justify-content:space-between;color:#778697;font-size:10px;font-weight:600}.stat-icon{width:28px;height:28px;display:grid;place-items:center;border-radius:8px;font-size:14px}.icon-blue{background:#edf4ff;color:#3478f6}.icon-green{background:#eaf7f0;color:#268661}.icon-orange{background:#fff1e9;color:#e87d45}.icon-red{background:#fff0ee;color:#d65d57}.stat-value{font:700 21px Inter,sans-serif;color:#1b3046;margin-top:10px;letter-spacing:-.5px}.stat-foot{font-size:9px;color:#97a2af;margin-top:4px}.positive{color:#288b64}.negative{color:#cc6259}.content-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(280px,1fr);gap:15px;margin-bottom:16px}.panel{overflow:hidden}.panel-header{padding:15px 17px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #edf0f3}.panel-header h2{font:700 13px Inter;margin:0;color:#21364c}.panel-header p{font-size:10px;color:#8996a3;margin:4px 0 0}.text-link{border:0;background:transparent;color:#3478f6;font-size:10px;font-weight:700}.panel-body{padding:15px 17px}.chart-area{height:205px;position:relative}.chart-area svg{width:100%;height:100%;overflow:visible}.chart-grid{stroke:#e9edf1;stroke-width:1;stroke-dasharray:3 4}.chart-label{font:9px 'Inter';fill:#9ba7b3}.chart-fill{fill:url(#fill)}.chart-line{fill:none;stroke:#3478f6;stroke-width:2.7;stroke-linecap:round;stroke-linejoin:round}.chart-line2{fill:none;stroke:#f18a58;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:5 5}.chart-legend{display:flex;gap:16px;margin-top:10px;color:#8593a0;font-size:9px}.legend-dot{display:inline-block;width:6px;height:6px;border-radius:50%;margin-right:5px;background:#3478f6}.legend-dot.orange{background:#f18a58}.collection-total{margin-left:auto;color:#30465d;font-weight:700;font-size:10px}.distribution{display:flex;align-items:center;gap:18px;padding:8px 4px 13px}.donut{width:124px;height:124px;border-radius:50%;background:conic-gradient(#f27349 0 24%,#3478f6 24% 56%,#39aa81 56% 76%,#e9eef3 76% 100%);display:grid;place-items:center;position:relative;flex:none}.donut:before{content:"";width:84px;height:84px;background:white;border-radius:50%;position:absolute}.donut-center{z-index:1;text-align:center}.donut-center b{font:700 17px Inter;display:block}.donut-center small{font-size:8px;color:#8793a0}.legend-list{display:grid;gap:12px;flex:1}.legend-row{display:flex;align-items:center;gap:7px;font-size:10px;color:#637386}.legend-row i{width:7px;height:7px;border-radius:50%;background:#f27349}.legend-row:nth-child(2) i{background:#3478f6}.legend-row:nth-child(3) i{background:#39aa81}.legend-row:nth-child(4) i{background:#dce3e9}.legend-row b{margin-left:auto;color:#384b60;font-size:10px}.table-wrap{width:100%;overflow:auto}table{width:100%;border-collapse:collapse;white-space:nowrap}th{font-size:9px;letter-spacing:.45px;text-transform:uppercase;color:#8b98a5;font-weight:700;text-align:left;background:#fbfcfd;padding:10px 14px;border-bottom:1px solid #e9edf0}td{padding:11px 14px;border-bottom:1px solid #eef1f3;font-size:11px;color:#475a6d}tbody tr:last-child td{border-bottom:0}tbody tr:hover{background:#fafcff}.unit-name{font-weight:700;color:#22384f}.subtext{display:block;color:#9aa5b0;font-size:9px;margin-top:3px}.money{font-weight:600;color:#293e54}.badge{border-radius:12px;padding:4px 8px;font-size:9px;font-weight:700;display:inline-block}.badge-paid{background:var(--green-soft);color:var(--green)}.badge-pending{background:var(--amber-soft);color:var(--amber)}.badge-overdue{background:var(--red-soft);color:var(--red)}.badge-neutral{background:#edf1f5;color:#708090}.mini-action{border:0;background:transparent;color:#77889b;font-size:15px}.table-footer{padding:10px 15px;border-top:1px solid #edf0f3;display:flex;justify-content:space-between;color:#8996a2;font-size:10px}.filters{display:flex;gap:9px;align-items:center;margin-bottom:14px}.search-box{height:35px;display:flex;align-items:center;gap:7px;background:#fff;border:1px solid var(--line);border-radius:7px;padding:0 10px;min-width:220px;color:#9aa5b0}.search-box input{border:0;outline:0;width:100%;font-size:11px;color:#40546a}.filter-select{height:35px;padding:0 10px;border:1px solid var(--line);border-radius:7px;background:white;color:#586a7d;font-size:11px}.filters .spacer{flex:1}.table-panel{margin-bottom:15px}.empty-state{text-align:center;padding:40px 16px;color:#8d99a5}.empty-state b{display:block;color:#40546a;margin:8px}.summary-strip{display:flex;gap:24px;padding:13px 16px;background:#fbfcfd;border-top:1px solid #edf0f3;color:#758494;font-size:10px}.summary-strip b{color:#2a3f54;margin-left:4px}.cards-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.info-card{background:white;border:1px solid var(--line);border-radius:10px;padding:16px;box-shadow:var(--shadow)}.info-card h3{font:700 12px Inter;margin:0 0 6px}.info-card p{color:#8592a0;font-size:10px;line-height:1.6;margin:0}.info-card .big{font:700 23px Inter;margin:13px 0 5px}.info-card .card-foot{border-top:1px solid #edf0f3;padding-top:10px;margin-top:12px;color:#8b98a5;font-size:9px}.detail-list{display:grid;gap:0}.detail-row{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid #edf0f3;color:#758394;font-size:10px}.detail-row:last-child{border:0}.detail-row b{color:#34495e}.config-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.field{display:flex;flex-direction:column;gap:5px}.field.full{grid-column:1/-1}.field label{font-size:10px;color:#667789;font-weight:600}.field input,.field select,.field textarea{border:1px solid #dfe5ea;border-radius:6px;padding:9px 10px;outline:none;background:white;font-size:11px;color:#34495e}.field input:focus,.field select:focus,.field textarea:focus{border-color:#78a5fc;box-shadow:0 0 0 3px #3478f616}.field textarea{resize:vertical;min-height:72px}.modal-backdrop{position:fixed;inset:0;background:#10233770;z-index:30;display:grid;place-items:center;padding:18px}.modal{background:white;width:min(560px,100%);max-height:90vh;overflow:auto;border-radius:12px;box-shadow:0 22px 70px #10233740}.modal-head{padding:17px 20px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between}.modal-head h2{font:700 15px Inter;margin:0}.modal-close{border:0;background:transparent;font-size:21px;color:#8593a0}.modal-body{padding:19px 20px}.modal-foot{padding:13px 20px;border-top:1px solid var(--line);display:flex;justify-content:flex-end;gap:8px}.toast{position:fixed;bottom:22px;right:24px;background:#17344e;color:white;border-radius:8px;padding:11px 15px;font-size:11px;box-shadow:0 10px 25px #17344e35;transform:translateY(20px);opacity:0;pointer-events:none;transition:.22s;z-index:50}.toast.show{transform:translateY(0);opacity:1}.event-card{border-left:3px solid #3478f6;padding:2px 0 2px 12px;margin:12px 0}.event-card small{color:#8a97a4;font-size:9px}.event-card b{display:block;font-size:11px;margin:4px 0}.event-card p{font-size:10px;color:#8592a0;margin:0}.progress{height:6px;border-radius:6px;background:#edf1f5;overflow:hidden}.progress span{height:100%;display:block;background:#3478f6;border-radius:6px}.pill-row{display:flex;gap:6px;flex-wrap:wrap}.pill{background:#f0f4f7;color:#64768a;padding:5px 8px;border-radius:14px;font-size:9px}.notice-inline{color:#8291a0;font-size:10px;line-height:1.6}.setup-highlight{padding:12px;border-radius:8px;background:#f5f8fc;color:#65778a;font-size:10px;line-height:1.6}.setup-highlight b{color:#30485f}.switch{display:flex;align-items:center;gap:8px;color:#607286;font-size:10px}.switch input{accent-color:#3478f6}footer{padding:0 34px 17px;color:#a0aab4;font-size:8px;letter-spacing:1px}footer span{padding:0 4px}.footer-demo{color:#bc8751}@media(max-width:1150px){.content{padding:24px}.topbar{padding:0 24px}.stats-grid{grid-template-columns:repeat(2,1fr)}.cards-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:850px){.sidebar{transform:translateX(-100%);transition:.22s}.sidebar.open{transform:translateX(0);box-shadow:15px 0 35px #142b4240}.main-area{width:100%;margin-left:0}.mobile-menu{display:block;margin-right:12px}.breadcrumb{margin-right:auto}.topbar{justify-content:flex-start;padding:0 15px}.top-actions{margin-left:auto;gap:9px}.user-chip{padding-left:9px}.user-chip>div:not(.avatar),.chevron{display:none}.content{padding:21px 16px}footer{padding:0 16px 15px}.content-grid{grid-template-columns:1fr}.config-grid{grid-template-columns:1fr}}@media(max-width:560px){.topbar{height:59px}.period-control{padding:0 6px}.period-control select{max-width:87px}.top-actions{gap:6px}.notification{display:none}.page-heading{gap:12px}.page-heading h1{font-size:21px}.heading-actions{flex-wrap:wrap;justify-content:flex-end}.stats-grid{gap:9px}.stat-card{padding:12px;min-height:100px}.stat-value{font-size:17px}.cards-grid{grid-template-columns:1fr}.filters{flex-wrap:wrap}.filters .spacer{display:none}.search-box{flex:1;min-width:150px}.filters>.btn{margin-left:auto}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.summary-strip{gap:12px;flex-wrap:wrap}.distribution{gap:12px}.donut{width:105px;height:105px}.donut:before{width:71px;height:71px}}
/* Ajustes móviles: densidad, legibilidad y navegación */
.sidebar-scrim{display:none}
.donut{background:conic-gradient(#3478f6 0 var(--ratio,0%),#e9eef3 var(--ratio,0%) 100%)}
.chart-area-empty svg{visibility:hidden}
.chart-area-empty::after{content:"Aún no hay movimientos para graficar en este periodo.";position:absolute;inset:0;display:grid;place-items:center;padding:20px;text-align:center;color:#8794a1;font-size:12px;background:linear-gradient(180deg,#fff,#fbfcfd)}
.chart-legend-empty>span:not(.collection-total){display:none}
.chart-legend-empty .collection-total{font-weight:500;color:#8794a1}
.sidebar{overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}
@media(max-width:850px){
.sidebar{z-index:31;width:min(290px,84vw);padding-top:18px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}
.sidebar-scrim{position:fixed;inset:0;z-index:30;border:0;background:#10233770;opacity:0;pointer-events:none;display:block;transition:opacity .2s}
body.menu-open .sidebar-scrim{opacity:1;pointer-events:auto}
.sidebar .brand{padding-bottom:20px}.nav-item{min-height:44px}
}
@media(max-width:560px){
body{font-size:14px}.topbar{height:56px;padding:0 10px;gap:5px}.mobile-menu{width:38px;height:38px;flex:none;margin-right:2px}
.breadcrumb{font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.breadcrumb span,.breadcrumb{color:#7e8c9b}.breadcrumb b{color:#34485c}
.top-actions{gap:5px;flex:none}.period-control{height:34px;gap:3px;font-size:10px}.period-control select{font-size:11px;max-width:76px}.user-chip{padding-left:6px;border:0}.avatar{width:29px;height:29px}
.content{padding:16px 12px 25px}.page-heading{display:block;margin-bottom:14px}.page-heading h1{font-size:20px;line-height:1.2}.page-heading p{font-size:11px;line-height:1.45}
.heading-actions{justify-content:flex-start;margin-top:11px;gap:7px}.heading-actions .btn{min-height:40px;padding:8px 10px}
.banner{padding:9px 10px;font-size:10px;margin-bottom:12px;align-items:flex-start}.banner button{padding:0 4px;min-width:30px;min-height:30px}
.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:12px}.stat-card{min-height:91px;padding:10px;border-radius:8px}.stat-top{font-size:9px;gap:5px;line-height:1.25}.stat-icon{width:24px;height:24px;flex:none}.stat-value{font-size:16px;margin-top:8px;overflow-wrap:anywhere}.stat-foot{font-size:9px;line-height:1.3}
.content-grid{gap:10px;margin-bottom:12px}.panel{border-radius:8px}.panel-header{padding:12px}.panel-body{padding:12px}.panel-header h2{font-size:12px}.panel-header p{font-size:9px;line-height:1.35}
.chart-area{height:154px}.chart-legend{gap:10px;flex-wrap:wrap;font-size:9px}.distribution{gap:12px;padding:4px 0 10px}.donut{width:88px;height:88px}.donut:before{width:61px;height:61px}.donut-center b{font-size:15px}.legend-list{gap:9px}.legend-row{font-size:9px;gap:5px;flex-wrap:wrap}.legend-row b{margin-left:auto}
.table-wrap{overflow:auto;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}.table-wrap table{min-width:620px}.table-wrap th,.table-wrap td{padding:8px 9px;font-size:10px}.table-wrap th:first-child,.table-wrap td:first-child{position:sticky;left:0;background:#fff;z-index:1;box-shadow:1px 0 #edf0f3}.table-wrap th:first-child{z-index:2;background:#f8fafc}.mini-action{min-width:34px;min-height:34px}
.filters{gap:7px;margin-bottom:10px}.search-box{min-width:100%;height:38px}.filter-select{height:38px;max-width:48%}.filters>.btn{min-height:38px}
.form-grid,.config-grid{grid-template-columns:1fr}.field input,.field select,.field textarea{font-size:16px;min-height:42px}.field textarea{min-height:82px}
.modal-backdrop{padding:8px;align-items:end}.modal{max-height:92vh;border-radius:12px 12px 8px 8px}.modal-head,.modal-body{padding:15px}.modal-foot{padding:12px 15px;position:sticky;bottom:0;background:#fff}
.summary-strip{padding:11px 12px;gap:8px 14px;font-size:9px}footer{padding:0 12px 12px;font-size:7px}.toast{left:12px;right:12px;bottom:12px;text-align:center}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* Pulido de producto: guía inicial, legibilidad y foco accesible */
body{font-family:Inter,"Segoe UI",Roboto,Arial,sans-serif}
.brand strong,.page-heading h1,.stat-value,.panel-header h2,.info-card h3,.info-card .big,.modal-head h2,.donut-center b{font-family:Inter,"Segoe UI",Roboto,Arial,sans-serif}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #8bb4ff;outline-offset:2px}
.setup-panel{display:grid;grid-template-columns:minmax(220px,1fr) minmax(290px,1.25fr) auto;gap:24px;align-items:center;padding:17px 19px;margin-bottom:17px;border-color:#dce7f3;background:linear-gradient(115deg,#fff 0%,#fbfdff 100%)}
.setup-copy .eyebrow{margin-bottom:5px;color:#647c96}
.setup-copy h2{font:700 16px Inter,"Segoe UI",Roboto,Arial,sans-serif;color:#1d344a;margin:0;letter-spacing:-.2px}
.setup-copy p{font-size:11px;color:#7c8c9c;line-height:1.5;margin:5px 0 10px}
.setup-progress{height:5px;background:#e8edf2;border-radius:8px;overflow:hidden;max-width:260px}
.setup-progress span{display:block;height:100%;border-radius:8px;background:linear-gradient(90deg,#3478f6,#55a3ef);transition:width .2s ease}
.setup-copy>small{display:block;margin-top:6px;color:#8a98a6;font-size:9px}
.setup-steps{list-style:none;margin:0;padding:0;display:grid;gap:7px}
.setup-step{display:flex;align-items:center;gap:9px;min-width:0;color:#586c80;font-size:10px}
.setup-step-mark{width:20px;height:20px;flex:none;display:grid;place-items:center;border-radius:50%;background:#edf2f7;color:#63778b;font-size:9px;font-weight:700}
.setup-step.is-done .setup-step-mark{background:#e7f5ed;color:#218760}
.setup-step.is-done .setup-step-label{color:#849294;text-decoration:line-through;text-decoration-color:#cbd8d3}
.setup-step-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.setup-step-count{margin-left:auto;color:#8997a5;font-size:9px;font-variant-numeric:tabular-nums}
.setup-action{white-space:nowrap;min-height:38px}
.setup-action span{font-size:15px;line-height:10px}
.user-chip small{white-space:nowrap}
@media(max-width:1050px){.setup-panel{grid-template-columns:minmax(180px,.9fr) minmax(260px,1.2fr)}.setup-action{grid-column:2;justify-self:start}}
@media(max-width:700px){.setup-panel{grid-template-columns:1fr;gap:13px;padding:15px}.setup-action{grid-column:auto;justify-self:stretch;justify-content:center}.setup-copy p{margin-bottom:8px}.setup-progress{max-width:none}}
@media(max-width:560px){.user-chip{padding-left:8px;gap:7px}.user-chip small{font-size:9px}.avatar{width:29px;height:29px}.setup-panel{margin-bottom:12px}.setup-steps{gap:6px}.content{padding-top:16px}}
@media(max-width:560px){.topbar{gap:8px}.breadcrumb{font-size:0;line-height:1}.breadcrumb span{display:none}.breadcrumb b{font-size:12px}.top-actions{flex:0 0 auto;margin-left:auto}.period-control{gap:5px}.period-control select{max-width:96px}.user-chip{border-left:0;padding-left:2px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}

/* Financial workspace */
.scope-switch{display:flex;gap:8px;margin-bottom:16px;flex-wrap:wrap}.aging-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-bottom:18px}.aging-card{background:#fff;border:1px solid #e4eaf0;border-radius:12px;padding:16px;min-width:0}.aging-card span{font-size:12px;color:#62748a;display:block;margin-bottom:8px}.aging-card strong{font-size:20px;letter-spacing:-.5px;overflow-wrap:anywhere}.aging-card.critical{border-top:3px solid #c95353}.modal-wide{width:min(940px,calc(100vw - 32px));max-width:940px}.account-meta{color:#62748a;margin-bottom:12px}.modal-body h3{margin:22px 0 12px}.modal-body details{margin-top:18px}.modal-body summary{cursor:pointer;font-weight:600;padding:12px 0}.modal-body .summary-strip{flex-wrap:wrap;gap:14px}.modal-body .summary-strip span{min-width:100px}@media(max-width:700px){.aging-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.aging-card{padding:12px}.aging-card strong{font-size:18px}.aging-card:last-child{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center}.aging-card:last-child span{margin:0}.scope-switch .btn{flex:1;font-size:12px;padding:10px}.modal-wide{width:calc(100vw - 20px)}.heading-actions{flex-wrap:wrap}}

.row-actions{display:flex;gap:10px;flex-wrap:wrap}.staff-panel{margin-top:20px}.staff-panel summary{padding:16px;font-weight:650;cursor:pointer}.cash-panel{margin-bottom:18px}.cash-panel .summary-strip{margin:0}.summary-strip{flex-wrap:wrap;gap:12px}#printDocument{display:none}@media print{body.printing-document .app-shell,body.printing-document #modalRoot,body.printing-document #toast{display:none!important}body.printing-document #printDocument{display:block;padding:24px;color:#172534}#printDocument header{border-bottom:2px solid #172534;padding-bottom:12px}#printDocument h1{font-size:24px;margin:24px 0}#printDocument table{width:100%;border-collapse:collapse}#printDocument th,#printDocument td{padding:10px;text-align:left;border-bottom:1px solid #ddd}#printDocument .print-note{margin-top:30px;font-size:11px}}

[hidden]{display:none!important}.is-saving:after{content:"Guardando…";position:fixed;inset:0;z-index:10000;background:#10253d80;display:grid;place-items:center;color:white;font-size:20px;cursor:wait}.auth-card{max-width:420px;margin:8vh auto;padding:30px;background:white;border:1px solid #e1e8f0;border-radius:18px}.auth-card h1{font-size:24px;margin:20px 0 8px}.auth-card form{display:grid;gap:12px;margin:24px 0}.auth-card input,.auth-card select{width:100%;min-height:44px;padding:10px;border:1px solid #cdd8e5;border-radius:8px;background:white}.auth-card label{font-size:13px;font-weight:600}.auth-card p{color:#61748a;line-height:1.6}.cloud-panel{margin-bottom:18px}#cloudControls{display:grid;gap:10px;margin:12px}.resident-grid{margin-top:20px}@media(max-width:560px){.auth-card{margin:20px 12px;padding:22px}.row-actions{gap:14px}.cash-panel .summary-strip{display:grid;grid-template-columns:1fr 1fr}.resident-grid{grid-template-columns:1fr}}

.unit-checks{border:1px solid #dce4ed;border-radius:8px;padding:12px;display:grid;grid-template-columns:repeat(3,1fr);gap:10px;max-height:240px;overflow:auto}.unit-checks legend{padding:0 6px;font-weight:600}.unit-checks label{display:flex;align-items:center;gap:6px}.unit-checks input{width:auto!important;min-height:0!important}@media(max-width:560px){.unit-checks{grid-template-columns:repeat(2,1fr)}}
.auth-links{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}
@media(max-width:560px){.resident-grid .table-wrap table{min-width:0;width:100%}.resident-grid .table-wrap th,.resident-grid .table-wrap td{white-space:normal}.resident-grid .empty-state{max-width:100%}}

.summary-strip>span{display:flex;flex-direction:column;gap:5px;flex:1;min-width:110px;font-size:11px}.summary-strip b{margin-left:0;font-size:18px;line-height:1.2}.cash-panel .summary-strip{padding:16px;border-radius:10px}.cloud-panel p{line-height:1.6}

/* Identidad visual La Flora: lectura clara y controles compactos */
:root{--navy:#17333b;--navy-2:#25464a;--blue:#0b756d;--blue-soft:#e7f4f1;--orange:#c46a42;--ink:#20343a;--muted:#61747a;--line:#dfe8e5;--bg:#f6f7f3;--green:#177454;--green-soft:#e8f5eb;--red:#b84748;--red-soft:#fbeeed;--amber:#8d641f;--amber-soft:#fcf3e2;--shadow:0 3px 18px rgba(31,61,61,.045)}
body{font-family:"Segoe UI Variable","Segoe UI",Inter,system-ui,sans-serif;font-size:14px;line-height:1.45}
button,input,select,textarea{font-family:inherit}
.brand strong,.page-heading h1,.stat-value,.panel-header h2,.info-card h3,.info-card .big,.modal-head h2,.donut-center b,.setup-copy h2{font-family:inherit}
.icon-sprite{position:absolute;width:0;height:0;overflow:hidden;pointer-events:none}
.nav-icon,.control-icon{display:block;width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none}
.sidebar{background:var(--navy);color:#edf5f2;padding:22px 14px 16px}
.brand{padding:0 9px 24px;gap:12px}.brand-mark{width:42px;height:42px;background:#d17950;border-radius:12px;box-shadow:none;font-family:inherit;font-size:14px;letter-spacing:.3px}
.brand strong{font-size:16px;letter-spacing:-.35px}.brand span{color:#acc2bf;font-size:9px;letter-spacing:1.05px}
.nav-caption{color:#a9c1bd;font-size:10px;letter-spacing:1.35px;padding-bottom:7px}.secondary-caption{margin-top:17px}
.sidebar .nav-item{height:39px;min-height:39px;color:#cfddda;font-size:12.5px;font-weight:540;padding:0 11px;gap:11px;margin:1px 0;border-radius:8px}
.sidebar .nav-item:hover{background:#ffffff16;color:#fff}.sidebar .nav-item.active{background:#d9ebe6;color:#153b3b;box-shadow:none;font-weight:700}
.sidebar .nav-icon{color:#aac6c0}.sidebar .nav-item.active .nav-icon{color:#116b63}.nav-count{background:#ffffff20;color:#e5f1ee;font-size:10px}.sidebar .nav-item.active .nav-count{background:#c0ded6;color:#194d49}
.secure-note{padding:11px 9px;margin-bottom:7px}.secure-note b{font-size:11px}.secure-note small{color:#acc2bf;font-size:10px}
.topbar{height:65px;border-color:var(--line);padding:0 30px;box-shadow:0 1px 5px #1f3d3d07}.breadcrumb{font-size:12px;color:#677e80}.breadcrumb b{color:#274344}.period-control{height:37px;border-color:#d8e3df;border-radius:8px;color:#54726d}.period-control select{color:#294947;font-size:12px}.control-icon{width:16px;height:16px}.avatar{background:#e1f1eb;color:#176b5d}.user-chip b{font-size:12px}.user-chip small{font-size:10px}
.content{max-width:1450px;padding:25px 30px 38px}.page-heading{margin-bottom:19px;gap:16px}.eyebrow{color:#657c79;font-size:10px;letter-spacing:1.2px;margin-bottom:5px}.page-heading h1{color:#18363b;font-size:25px;line-height:1.18;letter-spacing:-.75px}.page-heading p{font-size:12px;color:#667a7e;line-height:1.45;margin-top:6px}.heading-actions{gap:8px}
.btn{min-height:37px;border-radius:8px;border-color:#d9e4e0;color:#31514f;font-size:12px;padding:8px 12px;box-shadow:none}.btn-primary{background:#0b756d;border-color:#0b756d;color:#fff;box-shadow:0 3px 8px #0b756d24}.btn-primary:hover{background:#095f59;border-color:#095f59}.btn-light{color:#0b6f67;background:#e7f4f1;border-color:#d5eae3}.btn-danger{color:var(--red)}.text-link{color:#0a7068;font-size:11px}.text-link:hover{text-decoration:underline}
.stat-card,.panel,.info-card,.aging-card{border-color:var(--line);border-radius:12px;box-shadow:var(--shadow)}.stats-grid{gap:12px;margin-bottom:16px}.stat-card{min-height:111px;padding:15px 16px}.stat-top{font-size:11px;color:#526d70;gap:8px;line-height:1.3}.stat-icon{width:29px;height:29px;border-radius:8px}.icon-blue{background:#e5f2ef;color:#0b756d}.icon-green{background:#e7f4e9;color:#177454}.icon-orange{background:#f9ede6;color:#a85934}.icon-red{background:#f9e9e7;color:#b84748}.stat-value{font-size:22px;color:#1e3d42;margin-top:9px;letter-spacing:-.6px;font-variant-numeric:tabular-nums}.stat-foot{color:#6e8082;font-size:10px;margin-top:5px}
.content-grid{gap:14px}.panel-header{padding:15px 17px;border-color:#e9efec;gap:12px}.panel-header h2{font-size:14px;color:#234247}.panel-header p{font-size:11px;color:#708286}.panel-body{padding:16px 17px}.chart-label{font:10px "Segoe UI",sans-serif;fill:#718486}.chart-line{stroke:#0b756d}.chart-line2{stroke:#c46a42}.chart-legend{font-size:10px;color:#607779}.legend-dot{background:#0b756d}.legend-dot.orange{background:#c46a42}.collection-total{font-size:10px;color:#31514f}.donut{background:conic-gradient(#0b756d 0 var(--ratio),#e9efec var(--ratio) 100%)}.donut-center b{color:#1d4545}.donut-center small{font-size:9px;color:#637d7c}.legend-row{font-size:11px;color:#576e71}.legend-row i{background:#0b756d}.legend-row:nth-child(2) i{background:#c46a42}.legend-row:nth-child(3) i{background:#479c71}.legend-row:nth-child(4) i{background:#a2b9b4}.legend-row b{font-size:11px;color:#294449}.detail-row{font-size:11px;color:#667e80}
th{background:#f7faf8;border-color:#e2ebe7;color:#516b6e;font-size:10px;letter-spacing:.55px;padding:11px 13px}td{color:#344e53;font-size:12px;padding:11px 13px;border-color:#edf1ef;font-variant-numeric:tabular-nums}tbody tr:hover{background:#f6faf8}.unit-name,.money{color:#25484b}.subtext{font-size:10px;color:#718485}.badge{font-size:10px;border-radius:6px;padding:4px 7px}.table-footer{font-size:11px;color:#657b7d}.summary-strip{font-size:11px;background:#f7faf8;color:#587174}.summary-strip b{color:#1f4145}.search-box,.filter-select{height:38px;border-radius:8px;border-color:#d8e3df}.search-box input,.filter-select{font-size:12px}.search-box input{color:#28484b}
.info-card h3{font-size:13px}.info-card p,.detail-row,.event-card p{font-size:11px}.info-card .big{color:#214449}.field label{font-size:11px;color:#4d696b}.field input,.field select,.field textarea{font-size:13px;border-color:#d6e2dd;border-radius:8px}.field input:focus,.field select:focus,.field textarea:focus{border-color:#0b756d;box-shadow:0 0 0 3px #0b756d22}.notice-inline,.setup-highlight{font-size:11px}.progress span{background:#0b756d}.pill{font-size:10px}.aging-card span{color:#5c7477}.aging-card strong{color:#22454a;font-variant-numeric:tabular-nums}
.setup-panel{border-color:#cfe4dc;background:linear-gradient(125deg,#fff 20%,#f0f8f3 100%);gap:16px}.setup-copy h2{color:#24484a}.setup-copy p,.setup-step small{color:#637a7d}.setup-progress{background:#dcebe6}.setup-progress span{background:#0b756d}
.mobile-dock{display:none}
footer{color:#708687;font-size:9px;letter-spacing:.6px}.toast{bottom:22px}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #e3a06e;outline-offset:2px}
@media(max-width:850px){.content{padding:20px 17px 28px}.topbar{padding:0 16px}.sidebar{width:min(280px,84vw)}.sidebar .nav-item{min-height:44px;height:44px}.page-heading{margin-bottom:16px}}
@media(max-width:700px){.topbar{height:58px}.content{padding:17px 14px calc(92px + env(safe-area-inset-bottom))}.page-heading h1{font-size:22px}.page-heading p{font-size:12px}.heading-actions{margin-top:11px;justify-content:flex-start;gap:7px}.heading-actions .btn{min-height:42px}.stats-grid{gap:9px}.stat-card{min-height:104px;padding:12px}.stat-top{font-size:11px}.stat-icon{width:25px;height:25px}.stat-value{font-size:18px;line-height:1.18;overflow-wrap:anywhere}.stat-foot{font-size:10px}.panel-header{padding:13px}.panel-header h2{font-size:13px}.panel-header p{font-size:10px}.panel-body{padding:13px}.chart-area{height:164px}.chart-legend{font-size:10px}.legend-row{font-size:10px}.table-wrap th,.table-wrap td{font-size:11px;padding:10px}.table-wrap th:first-child{background:#f7faf8}.summary-strip{font-size:10px}.mobile-dock{position:fixed;bottom:0;left:0;right:0;z-index:7;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));align-items:stretch;background:#fff;border-top:1px solid #d9e5df;box-shadow:0 -8px 25px #17333b12;padding:6px 5px calc(6px + env(safe-area-inset-bottom))}.mobile-dock .dock-item{margin:0;width:100%;min-width:0;height:56px;min-height:56px;padding:5px 2px;display:flex;flex-direction:column;justify-content:center;gap:3px;text-align:center;color:#607679;font-size:10px;font-weight:600;white-space:nowrap}.mobile-dock .nav-icon{width:19px;height:19px;color:inherit}.mobile-dock .dock-item.active{color:#0b756d;background:#e8f5f0}.mobile-dock .dock-item:focus-visible{outline-offset:-2px}.toast{bottom:76px}footer{padding-bottom:10px}}
@media(max-width:560px){.topbar{padding:0 11px}.breadcrumb{font-size:11px}.period-control{height:35px}.period-control select{font-size:11px;max-width:96px}.content{padding:16px 12px calc(90px + env(safe-area-inset-bottom))}.page-heading{display:block}.page-heading h1{font-size:22px}.page-heading p{font-size:12px}.heading-actions{flex-wrap:wrap}.stat-card{min-height:105px}.stat-value{font-size:18px}.panel{border-radius:11px}.setup-panel{gap:9px;padding:13px}.setup-copy p{display:none}.setup-copy h2{font-size:14px}.setup-steps{gap:5px}.setup-step{padding:7px 9px}.setup-step small{font-size:10px}.setup-action{min-height:39px}.table-wrap th,.table-wrap td{font-size:11px}.field input,.field select,.field textarea{font-size:16px}.modal-foot .btn{min-height:42px}.mobile-dock .dock-item{font-size:10px}.summary-strip{font-size:10px}}

/* Acabado definitivo: superficies grises, portada con identidad y jerarquía de acción */
:root{--bg:#e4e9e8;--line:#cedbd7;--shadow:0 8px 25px rgba(26,61,62,.075)}
body{background:var(--bg)}
.main-area{background:radial-gradient(circle at 95% 0%,#d7e5e1 0,transparent 38%),linear-gradient(160deg,#e7ecea 0%,#e0e6e4 100%)}
.topbar{background:#f3f6f4;border-bottom-color:#cfddd8}
.page-heading{position:relative;overflow:hidden;align-items:center;background:linear-gradient(112deg,#14363e 0%,#1c5b59 69%,#2e796a 100%);padding:21px 24px;border-radius:16px;box-shadow:0 9px 24px rgba(19,69,69,.17);margin-bottom:19px}
.page-heading::after{content:"";position:absolute;right:-34px;top:-86px;width:245px;height:245px;border:1px solid #ffffff22;border-radius:50%;box-shadow:0 0 0 34px #ffffff08,0 0 0 70px #ffffff06;pointer-events:none}
.page-heading>div{position:relative;z-index:1;min-width:0}.page-heading .eyebrow{color:#a8ded0;font-size:10px;letter-spacing:1.45px}.page-heading h1{color:#fff;font-size:26px;letter-spacing:-.8px}.page-heading p{color:#d6ebe7;font-size:12px;max-width:610px}.page-heading .heading-actions{max-width:45%;flex-wrap:wrap;justify-content:flex-end}.page-heading .btn{background:#f5faf7;border-color:#e2eee8;color:#1f4a49;box-shadow:0 3px 9px #082b3028}.page-heading .btn:hover{background:#fff;border-color:#fff}.page-heading .btn-primary{background:#d27a50;border-color:#d27a50;color:#fff;box-shadow:0 4px 14px #092e2c36}.page-heading .btn-primary:hover{background:#bc653f;border-color:#bc653f}
.stat-card,.panel,.info-card,.aging-card,.auth-card{background:#f8faf8;border-color:#cbdad5;box-shadow:var(--shadow)}
.stat-card{border-top:3px solid #97bdb4}.stat-card:nth-child(1){border-top-color:#238878}.stat-card:nth-child(2){border-top-color:#d48656}.stat-card:nth-child(3){border-top-color:#6b94a5}.stat-card:nth-child(4){border-top-color:#b57071}.stat-value{font-size:23px}.stat-top{color:#526b6d}
.panel-header{background:#f2f6f3;border-color:#dce6e0}.panel-body{background:#f8faf8}.chart-area-empty::after{background:linear-gradient(180deg,#f8faf8,#f0f5f1);color:#607a78}.donut:before{background:#f8faf8}.table-wrap th{background:#edf3ef;border-color:#dce7df}.table-wrap th:first-child{background:#edf3ef}.table-wrap td:first-child{background:#f8faf8}.table-wrap tbody tr:hover,.table-wrap tbody tr:hover td:first-child{background:#eaf4ee}.summary-strip,.table-footer{background:#eef4ef;border-color:#d9e5dd}.cash-panel .summary-strip{background:#eef4ef}
.aging-card{background:#f8faf8;border-top:3px solid #9cbab4}.aging-card:nth-child(2){border-top-color:#a6bbb5}.aging-card:nth-child(3){border-top-color:#c6a784}.aging-card:nth-child(4){border-top-color:#d48b65}.aging-card.critical{border-top-color:#ba5e62}.aging-card strong{font-size:21px}
.btn,.search-box,.filter-select,.field input,.field select,.field textarea{background:#f8faf8;border-color:#cbdad5}.search-box:focus-within{border-color:#0b756d;box-shadow:0 0 0 3px #0b756d1d}.btn-primary{background:#0b756d;border-color:#0b756d;color:#fff}.btn-light{background:#dceee6}.scope-switch .btn-primary{background:#0b756d;color:#fff}.scope-switch .btn:not(.btn-primary){background:#f4f8f5}
.setup-panel{background:linear-gradient(114deg,#e7f1e9,#f5f8f4 62%,#edf3ed);border-color:#b6d6c8;border-left:4px solid #287c67}.setup-progress{background:#cddfd5}.setup-step-mark{background:#dcebe3;color:#1d6459}.setup-step-count{font-size:10px;color:#617a74}
.auth-card{background:#f8faf8}.modal{background:#f8faf8}.modal-head,.modal-foot{background:#f0f5f1}.modal-body{background:#f8faf8}.mobile-dock{background:#f4f8f5}
.search-box input{background:transparent}
.breadcrumb .breadcrumb-home{padding:0}.breadcrumb .breadcrumb-sep{padding:0 10px}
.resident-mode .sidebar .secondary-caption,.resident-mode .sidebar nav[aria-label="Finanzas"],.resident-mode .sidebar nav[aria-label="Edificio"],.resident-mode .period-control{display:none}
.resident-mode .sidebar-bottom{margin-top:auto}.resident-mode .summary-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:16px;border:1px solid #cbdad5;border-radius:12px}.resident-mode .summary-strip>span{min-width:0}.resident-mode .summary-strip b{font-size:19px;overflow-wrap:anywhere}.resident-mode .empty-state{padding:24px 12px}
@media(max-width:850px){.page-heading{padding:18px 19px}.page-heading .heading-actions{max-width:none}.page-heading h1{font-size:23px}}
@media(max-width:700px){.page-heading{padding:17px 16px;border-radius:14px;margin-bottom:13px}.page-heading::after{right:-120px;top:-95px}.page-heading h1{font-size:21px;line-height:1.18}.page-heading p{font-size:11px;line-height:1.4}.page-heading .heading-actions{justify-content:flex-start;gap:7px;margin-top:12px}.page-heading .btn{min-height:39px;padding:7px 10px}.stat-card{min-height:99px}.mobile-dock{background:#f4f8f5;border-top-color:#cbdad5}.mobile-dock .dock-item.active{background:#d9eee3}.panel-header{padding:12px 13px}.panel-body{padding:13px}}
@media(max-width:560px){.content{padding-top:12px}.page-heading{padding:15px 14px}.page-heading .eyebrow{font-size:9px}.page-heading h1{font-size:21px}.page-heading p{font-size:11px}.page-heading .heading-actions{margin-top:10px}.page-heading .btn{font-size:11px}.setup-panel{padding:12px;margin-bottom:11px}.setup-copy p{display:block;font-size:10px;line-height:1.35;margin:3px 0 7px}.setup-steps{display:none}.setup-action{margin-top:1px}.stats-grid{margin-bottom:12px}.stat-card{min-height:98px;padding:10px}.stat-value{font-size:18px}.stat-foot{font-size:10px}.aging-card{padding:12px}.table-wrap th:first-child{background:#edf3ef}.table-wrap td:first-child{background:#f8faf8}}
@media(max-width:700px){.resident-mode .summary-strip{gap:5px;padding:12px}.resident-mode .summary-strip>span{font-size:10px}.resident-mode .summary-strip b{font-size:15px}.resident-mode #content>.table-panel .table-wrap{overflow:visible}.resident-mode #content>.table-panel table{min-width:0;width:100%;white-space:normal}.resident-mode #content>.table-panel thead{display:none}.resident-mode #content>.table-panel tbody{display:block}.resident-mode #content>.table-panel tbody tr{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px 8px;padding:13px;border-bottom:1px solid var(--line)}.resident-mode #content>.table-panel tbody td{display:flex;flex-direction:column;position:static!important;box-shadow:none!important;background:transparent!important;border:0;padding:3px 0;font-size:12px;min-width:0;overflow-wrap:anywhere}.resident-mode #content>.table-panel tbody td:first-child{grid-column:1/-1;color:#234b49;font-size:16px;font-weight:750}.resident-mode #content>.table-panel tbody td:nth-child(2)::before{content:"Facturado"}.resident-mode #content>.table-panel tbody td:nth-child(3)::before{content:"Pagado"}.resident-mode #content>.table-panel tbody td:nth-child(4)::before{content:"Saldo"}.resident-mode #content>.table-panel tbody td:nth-child(2)::before,.resident-mode #content>.table-panel tbody td:nth-child(3)::before,.resident-mode #content>.table-panel tbody td:nth-child(4)::before{color:#5f7976;font-size:10px;font-weight:600;margin-bottom:4px}.resident-mode #content>.table-panel tbody td:last-child{grid-column:1/-1;align-items:flex-start;margin-top:4px}.resident-mode #content>.table-panel tbody td[colspan]{grid-column:1/-1}.resident-mode #content>.table-panel .text-link{min-height:40px;padding:7px 10px;border-radius:7px;background:#e2f1e7}}

.payment-allocation-hint{grid-column:1/-1;margin:0;padding:11px 13px;border:1px solid #e8d7b5;border-radius:9px;background:#fff8e9;color:#745820;font-size:12px;line-height:1.45}
.payment-allocation-hint[data-applied="true"]{border-color:#c4ded3;background:#eaf6ef;color:#235f4c}

.monthly-preview{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:2px;padding:14px;border:1px solid #c9ddd2;border-radius:10px;background:#edf6ef}
.monthly-preview>div{display:flex;flex-direction:column;gap:4px}
.monthly-preview span{font-size:11px;color:#5c766d}
.monthly-preview strong{font-size:18px;color:#214a40;font-variant-numeric:tabular-nums}
.monthly-preview p{grid-column:1/-1;margin:1px 0 0;color:#56736a;font-size:11px;line-height:1.45}
.monthly-preview .preview-warning{color:#8d4f29;font-weight:700}
.monthly-preview details{grid-column:1/-1;color:#496d60;font-size:11px}
.monthly-preview summary{cursor:pointer;font-weight:700}
.monthly-preview details p{margin-top:5px;overflow-wrap:anywhere}

@media(max-width:700px){
  .account-table .table-wrap{overflow:visible}
  .account-table table{min-width:0;width:100%;white-space:normal}
  .account-table thead{display:none}
  .account-table tbody{display:block}
  .account-table tbody tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px 12px;padding:12px 3px;border-bottom:1px solid #dce7df}
  .account-table tbody td{display:flex;flex-direction:column;gap:3px;min-width:0;padding:0;border:0;background:transparent!important;box-shadow:none!important;position:static!important;overflow-wrap:anywhere;font-size:12px}
  .account-table tbody td::before{color:#647c76;font-size:10px;font-weight:700}
  .account-table tbody td[colspan]{grid-column:1/-1}
  .account-invoices tbody td:nth-child(1){grid-column:1/-1;grid-row:2;color:#667f77;font-size:11px}
  .account-invoices tbody td:nth-child(2){grid-column:1/-1;grid-row:1;color:#204944;font-weight:700;font-size:14px}
  .account-invoices tbody td:nth-child(3)::before{content:'Facturado'}
  .account-invoices tbody td:nth-child(4)::before{content:'Saldo'}
  .account-invoices tbody td:nth-child(5){grid-column:1/-1}
  .account-payments tbody td:nth-child(1)::before{content:'Fecha'}
  .account-payments tbody td:nth-child(2)::before{content:'Valor'}
  .account-payments tbody td:nth-child(3)::before{content:'Referencia'}
  .account-payments tbody td:nth-child(4)::before{content:'Aplicación'}
}
.reset-details{margin-top:18px;padding-top:13px;border-top:1px solid var(--line)}.reset-details summary{cursor:pointer;color:#607a78;font-size:11px;font-weight:650}.reset-details p{font-size:11px;color:#718485;line-height:1.45}
@media(max-width:700px){
  .operations-table .table-wrap,.portfolio-table .table-wrap{overflow:visible}
  .operations-table table,.portfolio-table table{min-width:0;width:100%;white-space:normal}
  .operations-table thead,.portfolio-table thead{display:none}
  .operations-table tbody,.portfolio-table tbody{display:block}
  .operations-table tbody tr,.portfolio-table tbody tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 12px;padding:13px;border-bottom:1px solid var(--line)}
  .operations-table tbody td,.portfolio-table tbody td{display:flex;flex-direction:column;min-width:0;padding:2px 0;border:0;background:transparent!important;box-shadow:none!important;position:static!important;overflow-wrap:anywhere;font-size:12px}
  .operations-table tbody td .badge{align-self:flex-start}
  .operations-table tbody td:first-child,.portfolio-table tbody td:first-child{grid-column:1/-1;color:#234b49;font-size:15px;font-weight:700}
  .operations-table tbody td::before,.portfolio-table tbody td::before{color:#69817d;font-size:10px;font-weight:600;margin-bottom:3px}
  .operations-table tbody td:nth-child(2)::before{content:"Categoría"}.operations-table tbody td:nth-child(3)::before{content:"Unidad"}.operations-table tbody td:nth-child(4)::before{content:"Prioridad"}.operations-table tbody td:nth-child(5)::before{content:"Fecha"}.operations-table tbody td:nth-child(6)::before{content:"Estado"}
  .portfolio-table tbody td:nth-child(2)::before{content:"Facturado"}.portfolio-table tbody td:nth-child(3)::before{content:"Aplicado"}.portfolio-table tbody td:nth-child(4)::before{content:"Saldo"}.portfolio-table tbody td:nth-child(5)::before{content:"Sin aplicar"}
  .operations-table tbody td:last-child,.portfolio-table tbody td:last-child{grid-column:1/-1;align-items:flex-start;padding-top:5px}.operations-table tbody td[colspan],.portfolio-table tbody td[colspan]{grid-column:1/-1}.operations-table tbody td[colspan]::before,.portfolio-table tbody td[colspan]::before{content:none}
  .operations-table .text-link,.portfolio-table .text-link{min-height:38px;padding:8px 10px;border-radius:8px;background:#e2f1e7}
}
@media(max-width:700px){.breadcrumb .breadcrumb-home,.breadcrumb .breadcrumb-sep{display:none}.breadcrumb b{font-size:12px}.top-actions{gap:8px}}
.print-preview{max-height:58vh;overflow:auto;border:1px solid var(--line);border-radius:10px;padding:18px;background:#fff;color:var(--ink)}.print-preview header{border-bottom:2px solid var(--navy);padding-bottom:10px}.print-preview header strong{font-size:16px}.print-preview header p{margin:5px 0 0;color:var(--muted)}.print-preview h1{font-size:20px;margin:18px 0}.print-preview table{white-space:normal}.print-preview th{width:34%;background:#f4f7f8}.print-preview th,.print-preview td{font-size:11px;padding:8px 10px}.print-preview .print-note{margin:20px 0 8px;color:var(--muted);font-size:11px}.print-preview small{color:var(--muted)}
.document-sheet{max-width:720px;margin:auto;color:#203a3c}.document-sheet .doc-brand{display:flex;align-items:center;gap:13px;padding-bottom:17px;border-bottom:1px solid #c8d9d5}.doc-mark{display:grid;place-items:center;flex:none;width:42px;height:42px;background:#126762;color:#fff;font-size:16px;font-weight:800}.document-sheet .doc-brand strong{display:block;color:#173b42;font-size:16px}.document-sheet .doc-brand small{display:block;margin-top:3px;font-size:10px;color:#61787a}.doc-heading{margin:23px 0 17px}.doc-heading small{font-size:9px;letter-spacing:1.5px;font-weight:800;color:#46746c}.document-sheet .doc-heading h1{margin:5px 0 2px;color:#153942;font-size:23px}.doc-heading p{margin:0;color:#61787a;font-size:10px}.doc-emphasis{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:15px 0;padding:13px 17px;background:#eaf3f0;border-left:4px solid #126762}.doc-emphasis span{font-size:10px;font-weight:800;letter-spacing:.7px;color:#416962}.doc-emphasis strong{font-size:20px;color:#15594f}.document-sheet table{width:100%;border-collapse:collapse;white-space:normal}.document-sheet th,.document-sheet td{padding:9px 11px;border-bottom:1px solid #dbe6e2;text-align:left;vertical-align:top;overflow-wrap:anywhere;font-size:11px}.document-sheet th{width:34%;font-weight:650;color:#536d6b;background:#f2f7f5}.document-sheet td{color:#213f41}.document-sheet .print-note{margin:21px 0 0;padding-top:11px;border-top:1px solid #c9d9d5;color:#5e7674;font-size:10px;line-height:1.5}@media print{#printDocument{padding:14mm 16mm!important;background:#fff!important}.document-sheet{max-width:none;-webkit-print-color-adjust:exact;print-color-adjust:exact}.document-sheet tr{break-inside:avoid}.document-sheet .doc-heading h1{font-size:25px}}

.fixed-unit-identity{padding:12px 14px;border:1px solid #cbdad5;border-radius:9px;background:#eef4f0;font-weight:700;color:#22454a}.fixed-unit-identity small{display:block;margin-top:3px;font-weight:400;color:#5c7477}

/* Compact, action-first dashboard */
:root{--navy:#13343b;--ink:#203a3c;--bg:#dce5e3;--line:#c7d8d3;--shadow:0 7px 22px rgba(18,55,53,.075)}
.main-area{background:radial-gradient(circle at 95% -8%,#cee1da 0,transparent 34%),linear-gradient(155deg,#e3eae7,#dce5e3)}
.sidebar{background:linear-gradient(180deg,#15373e,#112f37)}
.page-heading{padding:18px 22px;margin-bottom:14px;border-left:4px solid #dc895e;background:linear-gradient(112deg,#143940,#1a615b);border-radius:13px;box-shadow:0 7px 19px rgba(14,63,58,.16)}
.page-heading::after{display:none}.page-heading h1{font-size:25px}.page-heading p{margin-top:4px;color:#d9eee9}
.stat-card,.panel,.info-card,.aging-card{background:#f7faf8;border-color:var(--line)}
.dashboard-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-stats.has-extra{grid-template-columns:repeat(3,minmax(0,1fr))}.dashboard-stats.has-four{grid-template-columns:repeat(4,minmax(0,1fr))}
.dashboard-stats .stat-card{min-height:100px;border-top:0;border-left:3px solid #288875;padding:13px 16px}.dashboard-stats .stat-card:nth-child(2){border-left-color:#cc8459}.dashboard-stats .stat-card:nth-child(3){border-left-color:#6d8f9a}.dashboard-stats .stat-card:nth-child(4){border-left-color:#ba6964}
.dashboard-stats .stat-value{margin-top:6px}.dashboard-stats .stat-foot{margin-top:3px}
.setup-panel{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:11px 15px;margin-bottom:13px;border-left:3px solid #2a8672;background:#ecf5ee}
.setup-copy h2{font-size:14px;letter-spacing:-.3px}.setup-copy p{margin:3px 0 0;font-size:11px;color:#526f6b}.setup-kicker{display:block;margin-bottom:3px;font-size:9px;font-weight:800;letter-spacing:1.2px;color:#2a7968}.setup-action{flex:none;min-height:36px}
.dashboard-main-grid{grid-template-columns:minmax(0,1.1fr) minmax(320px,1fr)}
.flow-primary{display:flex;flex-direction:column;gap:3px;padding:5px 0 15px;border-bottom:1px solid #dce8e1}.flow-primary span{font-size:11px;color:#5d7671}.flow-primary strong{font-size:30px;line-height:1.1;letter-spacing:-1px;color:#18564f;font-variant-numeric:tabular-nums}
.flow-breakdown{display:grid;grid-template-columns:1fr 1fr;gap:15px;padding-top:14px}.flow-breakdown>div{display:flex;flex-direction:column;gap:5px}.flow-breakdown span{font-size:10px;color:#657b77}.flow-breakdown b{font-size:16px;color:#284d4a;font-variant-numeric:tabular-nums}.flow-breakdown .negative{color:#b84748}.flow-breakdown .positive{color:#177454}.flow-note{margin:12px 0 0;color:#718784;font-size:10px;line-height:1.35}
.dashboard-main-grid .distribution{padding:10px 0 5px}.dashboard-main-grid .legend-list{gap:13px}.dashboard-main-grid .legend-row{font-size:11px}.dashboard-main-grid .legend-row b{font-size:11px}
.report-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.report-kpis.has-overdue{grid-template-columns:repeat(3,minmax(0,1fr))}
.stat-card .stat-icon{border-radius:7px}.panel-header{background:#eff5f1}.table-wrap th{background:#eaf1ed}
@media(max-width:1100px){.dashboard-stats.has-extra,.dashboard-stats.has-four{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-main-grid{grid-template-columns:1fr}.report-kpis.has-overdue{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.page-heading{padding:14px 15px;margin-bottom:11px}.page-heading h1{font-size:21px}.page-heading p{font-size:11px}.setup-panel{padding:11px 12px}.setup-action{grid-column:auto;justify-self:auto}.dashboard-stats .stat-card{min-height:93px}.dashboard-stats.has-extra .stat-card:last-child{grid-column:1/-1}.dashboard-main-grid{gap:11px}.flow-primary strong{font-size:27px}}
@media(max-width:560px){.page-heading{padding:13px 14px}.page-heading .heading-actions{margin-top:9px}.page-heading .btn{min-height:37px}.setup-panel{flex-direction:row;align-items:center;gap:9px;margin-bottom:10px}.setup-copy{min-width:0}.setup-copy h2{font-size:12px;line-height:1.25}.setup-copy p{display:block;font-size:10px;line-height:1.3;margin-top:3px}.setup-kicker{font-size:8px}.setup-action{width:auto;min-height:36px;white-space:normal;text-align:center;font-size:10px;line-height:1.2;padding:6px 9px}.setup-action span{display:none}.dashboard-stats{gap:8px}.dashboard-stats .stat-card{min-height:87px;padding:10px 11px}.dashboard-stats .stat-value{font-size:18px}.dashboard-stats .stat-foot{font-size:9px}.dashboard-stats.has-extra .stat-card:last-child{min-height:74px}.flow-breakdown{gap:8px}.flow-breakdown b{font-size:15px}.dashboard-main-grid .distribution{gap:10px}.dashboard-main-grid .donut{width:94px;height:94px}.dashboard-main-grid .donut:before{width:64px;height:64px}.dashboard-main-grid .legend-row{font-size:10px}.dashboard-main-grid .legend-row b{font-size:10px}}
@media(max-width:700px){#content[data-view="copropietarios"] .table-panel .table-wrap{overflow:visible}#content[data-view="copropietarios"] .table-panel table{min-width:0;white-space:normal}#content[data-view="copropietarios"] .table-panel thead{display:none}#content[data-view="copropietarios"] .table-panel tbody{display:block}#content[data-view="copropietarios"] .table-panel tbody tr{display:grid;grid-template-columns:1fr 1fr;gap:8px 12px;padding:13px;border-bottom:1px solid var(--line)}#content[data-view="copropietarios"] .table-panel tbody tr:last-child{border-bottom:0}#content[data-view="copropietarios"] .table-panel tbody td{display:flex;flex-direction:column;gap:3px;min-width:0;padding:0;border:0;background:transparent!important;box-shadow:none!important;position:static!important;overflow-wrap:anywhere;font-size:12px}#content[data-view="copropietarios"] .table-panel tbody td:first-child{grid-column:1/-1;font-size:15px;color:#1c4b47}#content[data-view="copropietarios"] .table-panel tbody td:nth-child(2){grid-column:1/-1}#content[data-view="copropietarios"] .table-panel tbody td:nth-child(2)::before{content:"Correo"}#content[data-view="copropietarios"] .table-panel tbody td:nth-child(3)::before{content:"Teléfono"}#content[data-view="copropietarios"] .table-panel tbody td:nth-child(4)::before{content:"Unidades"}#content[data-view="copropietarios"] .table-panel tbody td:nth-child(2)::before,#content[data-view="copropietarios"] .table-panel tbody td:nth-child(3)::before,#content[data-view="copropietarios"] .table-panel tbody td:nth-child(4)::before{font-size:10px;font-weight:700;color:#68817b}#content[data-view="copropietarios"] .table-panel tbody td:last-child{grid-column:1/-1;align-self:stretch;align-items:center;justify-content:flex-end;flex-direction:row;gap:12px;min-height:36px}#content[data-view="copropietarios"] .table-panel tbody td[colspan]{grid-column:1/-1}}
@media(max-width:700px){.report-kpis,.report-kpis.has-overdue{grid-template-columns:1fr}}

/* La cobranza enseña solo tramos con deuda; evita una fila de indicadores vacíos. */
.aging-grid{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}
.aging-grid.aging-single{grid-template-columns:minmax(0,1fr)}
.aging-single .aging-card{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 16px;border-left:3px solid #c78354}
.aging-single .aging-card span{margin:0}
@media(max-width:700px){
  .aging-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:12px}
  .aging-grid.aging-single{grid-template-columns:minmax(0,1fr)}
  .aging-single .aging-card,.aging-card:last-child{grid-column:auto}
  .portfolio-table:not(.has-unapplied) tbody td:nth-child(5)::before{content:none}
  .invoice-table .table-wrap,.payments-table .table-wrap{overflow:visible}
  .invoice-table table,.payments-table table{min-width:0;width:100%;white-space:normal}
  .invoice-table thead,.payments-table thead{display:none}
  .invoice-table tbody,.payments-table tbody{display:block}
  .invoice-table tbody tr,.payments-table tbody tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px 12px;padding:13px;border-bottom:1px solid var(--line)}
  .invoice-table tbody tr:last-child,.payments-table tbody tr:last-child{border-bottom:0}
  .invoice-table tbody td,.payments-table tbody td{display:flex;flex-direction:column;min-width:0;padding:0;border:0;background:transparent!important;box-shadow:none!important;position:static!important;overflow-wrap:anywhere;font-size:12px}
  .invoice-table tbody td::before,.payments-table tbody td::before{color:#69817d;font-size:10px;font-weight:650;margin-bottom:2px}
  .invoice-table tbody td:first-child{grid-column:1/-1;color:#234b49;font-size:14px}
  .invoice-table tbody td:nth-child(2)::before{content:'Unidad'}
  .invoice-table tbody td:nth-child(3)::before{content:'Concepto'}
  .invoice-table tbody td:nth-child(4)::before{content:'Periodo'}
  .invoice-table tbody td:nth-child(5)::before{content:'Total'}
  .invoice-table tbody td:nth-child(6)::before{content:'Saldo'}
  .invoice-table tbody td:nth-child(7)::before{content:'Vence'}
  .invoice-table tbody td:nth-child(8)::before{content:'Estado'}
  .invoice-table tbody td:last-child,.payments-table tbody td:last-child{grid-column:1/-1;flex-direction:row;align-items:center;gap:12px;padding-top:6px}
  .invoice-table tbody td:last-child .text-link,.payments-table tbody td .text-link{min-height:34px;padding:7px 10px;border-radius:7px;background:#e2f1e7}
  .invoice-table tbody td:last-child .mini-action{min-width:36px;min-height:36px;border-radius:7px;background:#e2f1e7;color:#1c665a}
  .payments-table tbody td:last-child .mini-action{min-width:36px;min-height:36px;border-radius:7px;background:#f7e8e5;color:#9b4136}
  .payments-table tbody td:first-child::before{content:'Fecha'}
  .payments-table tbody td:nth-child(2){font-size:15px;color:#234b49}
  .payments-table tbody td:nth-child(3)::before{content:'Valor recibido'}
  .payments-table tbody td:nth-child(4)::before{content:'Medio'}
  .payments-table tbody td:nth-child(5)::before{content:'Referencia / factura'}
  .payments-table tbody td:nth-child(5){grid-column:1/-1;line-height:1.6}
  .payments-table tbody td:nth-child(5) .subtext{margin-top:2px}
  .invoice-table tbody td[colspan],.payments-table tbody td[colspan]{grid-column:1/-1}
}

/* Listas operativas: acciones y cifras completas sin desplazamiento lateral en móvil. */
.operations-stats{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}
@media(max-width:700px){
  :is(.units-table,.meetings-table,.expenses-table,.payroll-table,.staff-table,.report-detail-table,.activity-table) .table-wrap{overflow:visible}
  :is(.units-table,.meetings-table,.expenses-table,.payroll-table,.staff-table,.report-detail-table,.activity-table) table{min-width:0;width:100%;white-space:normal}
  :is(.units-table,.meetings-table,.expenses-table,.payroll-table,.staff-table,.report-detail-table,.activity-table) thead{display:none}
  :is(.units-table,.meetings-table,.expenses-table,.payroll-table,.staff-table,.report-detail-table,.activity-table) tbody{display:block}
  :is(.units-table,.meetings-table,.expenses-table,.payroll-table,.staff-table,.report-detail-table,.activity-table) tbody tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px 12px;padding:12px 13px;border-bottom:1px solid var(--line)}
  :is(.units-table,.meetings-table,.expenses-table,.payroll-table,.staff-table,.report-detail-table,.activity-table) tbody tr:last-child{border-bottom:0}
  :is(.units-table,.meetings-table,.expenses-table,.payroll-table,.staff-table,.report-detail-table,.activity-table) tbody td{display:flex;flex-direction:column;min-width:0;padding:0;border:0;background:transparent!important;box-shadow:none!important;position:static!important;overflow-wrap:anywhere;font-size:12px}
  :is(.units-table,.meetings-table,.expenses-table,.payroll-table,.staff-table,.report-detail-table,.activity-table) tbody td::before{font-size:10px;font-weight:650;color:#69817d;margin-bottom:2px}
  :is(.units-table,.meetings-table,.expenses-table,.payroll-table,.staff-table,.report-detail-table,.activity-table) tbody td:first-child{grid-column:1/-1;font-size:15px;font-weight:700;color:#234b49}
  :is(.units-table,.meetings-table,.expenses-table,.payroll-table,.staff-table,.report-detail-table,.activity-table) tbody td[colspan]{grid-column:1/-1}
  :is(.units-table,.meetings-table,.expenses-table,.payroll-table,.staff-table) tbody td:last-child{grid-column:1/-1;flex-direction:row;align-items:center;gap:12px;padding-top:5px}
  :is(.units-table,.meetings-table,.expenses-table,.payroll-table,.staff-table) tbody td:last-child .text-link{min-height:36px;padding:8px 10px;border-radius:7px;background:#e2f1e7}
  .units-table tbody td:nth-child(2)::before{content:'Tipo'}
  .units-table tbody td:nth-child(3)::before{content:'Ubicación'}
  .units-table tbody td:nth-child(4),.units-table tbody td:nth-child(5){display:none}
  .units-table tbody td:nth-child(6)::before{content:'Copropietario'}
  .units-table tbody td:nth-child(7)::before{content:'Cuota mensual'}
  .units-table tbody td:last-child .mini-action,.meetings-table tbody td:last-child .mini-action{min-width:36px;min-height:36px;border-radius:7px;background:#e2f1e7;color:#1c665a}
  .units-table .table-footer{display:none}
  .meetings-table tbody td:nth-child(2)::before{content:'Fecha y hora'}
  .meetings-table tbody td:nth-child(3)::before{content:'Lugar'}
  .meetings-table tbody td:nth-child(4){grid-column:1/-1}
  .meetings-table tbody td:nth-child(4)::before{content:'Agenda'}
  .meetings-table tbody td:nth-child(5)::before{content:'Estado'}
  .expenses-table tbody td:nth-child(2)::before{content:'Categoría'}
  .expenses-table tbody td:nth-child(3)::before{content:'Vence'}
  .expenses-table tbody td:nth-child(4)::before{content:'Valor'}
  .expenses-table tbody td:nth-child(5)::before{content:'Estado'}
  .expenses-table tbody td:last-child,.payroll-table tbody td:last-child{align-items:stretch}
  .expenses-table .row-actions,.payroll-table .row-actions{display:flex;flex-wrap:wrap;gap:5px}
  .payroll-table tbody td:nth-child(2)::before{content:'Devengado'}
  .payroll-table tbody td:nth-child(3)::before{content:'Deducciones'}
  .payroll-table tbody td:nth-child(4)::before{content:'Neto'}
  .payroll-table tbody td:nth-child(5)::before{content:'Estado'}
  .staff-table tbody td:nth-child(2)::before{content:'Cargo'}
  .staff-table tbody td:nth-child(3)::before{content:'Contrato'}
  .staff-table tbody td:nth-child(4)::before{content:'Salario base'}
  .staff-table tbody td:nth-child(5)::before{content:'Estado'}
  .report-detail-table tbody td:nth-child(2)::before{content:'Cuota'}
  .report-detail-table tbody td:nth-child(3)::before{content:'Facturado'}
  .report-detail-table tbody td:nth-child(4)::before{content:'Pagado'}
  .report-detail-table tbody td:nth-child(5)::before{content:'Saldo'}
  .report-detail-table tbody td:nth-child(6)::before{content:'Estado'}
  .activity-table tbody td:nth-child(2)::before{content:'Responsable'}
  .activity-table tbody td:nth-child(3)::before{content:'Módulo'}
  .activity-table tbody td:nth-child(4){grid-column:1/-1}
  .activity-table tbody td:nth-child(4)::before{content:'Cambio'}
}
/* Navegación rápida y búsqueda global */
.global-search-trigger{display:flex;align-items:center;gap:10px;width:240px;height:37px;padding:0 10px;border:1px solid #c9d8d4;border-radius:10px;background:#f4f8f6;color:#506d68;text-align:left;transition:background .18s,border-color .18s,box-shadow .18s}
.global-search-trigger:hover,.global-search-trigger:focus-visible{background:#fff;border-color:#288875;box-shadow:0 0 0 3px #28887520;outline:none}
.global-search-trigger>span:first-child{font-size:23px;line-height:1;color:#287b6b}.search-trigger-label{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1}.global-search-trigger kbd,.search-dialog kbd{font:600 10px Inter,sans-serif;color:#78908a;background:#e7efeb;border:1px solid #cddbd5;border-radius:5px;padding:3px 5px;white-space:nowrap}
.resident-mode .global-search-trigger{display:none}.search-open{overflow:hidden}.search-backdrop{position:fixed;inset:0;z-index:45;background:#102d34ad;backdrop-filter:blur(5px);display:flex;justify-content:center;align-items:flex-start;padding:clamp(44px,11vh,110px) 16px 20px}.search-dialog{width:min(620px,100%);max-height:min(76vh,690px);display:flex;flex-direction:column;overflow:hidden;border-radius:18px;background:#f8fbf9;border:1px solid #d8e6df;box-shadow:0 32px 90px #092b2e55}.search-dialog-head{display:flex;align-items:flex-start;justify-content:space-between;padding:21px 22px 15px}.search-overline{display:block;color:#388271;font-size:9px;font-weight:800;letter-spacing:1.5px;margin-bottom:4px}.search-dialog h2{margin:0;font:700 21px Inter,sans-serif;letter-spacing:-.5px;color:#173d3c}.search-close{border:0;background:transparent;color:#6c8782;font-size:26px;line-height:1;padding:0 3px}.search-close:hover{color:#163d3b}.search-input-wrap{display:flex;align-items:center;gap:10px;margin:0 22px 14px;background:#fff;border:1px solid #b8d2c7;border-radius:11px;padding:0 13px;box-shadow:0 3px 12px #0e524710}.search-input-wrap:focus-within{border-color:#258772;box-shadow:0 0 0 3px #2587721f}.search-input-wrap>span{font-size:25px;color:#288875}.search-input-wrap input{height:46px;flex:1;min-width:0;border:0;outline:0;background:transparent;color:#173d3c;font-size:14px}.search-input-wrap input::placeholder{color:#8ca29c}.search-results{overflow:auto;min-height:120px;padding:0 12px 12px}.search-section-label{padding:8px 12px;color:#718983;font-size:10px;font-weight:800;letter-spacing:1px;text-transform:uppercase}.search-result{width:100%;display:flex;align-items:center;gap:12px;padding:11px 12px;border:1px solid transparent;border-radius:10px;background:transparent;text-align:left;color:#1b3d3c}.search-result:hover,.search-result:focus-visible{background:#eaf4ee;border-color:#d3e6da;outline:none}.search-result-kind{width:92px;flex:none;color:#368271;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.55px}.search-result-copy{display:flex;flex-direction:column;gap:3px;min-width:0;flex:1}.search-result-copy strong{font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.search-result-copy small{color:#728983;font-size:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.search-result-arrow{color:#6a9b8d;font-size:16px}.search-shortcuts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:0 10px}.search-shortcuts button{min-height:43px;padding:8px 12px;background:#eff6f1;border:1px solid #dbe9df;border-radius:9px;text-align:left;color:#245b51;font-weight:700;font-size:11px}.search-shortcuts button:hover,.search-shortcuts button:focus-visible{background:#deeee2;border-color:#9ecbb1;outline:none}.search-guidance{margin:11px 12px;color:#758b85;font-size:11px;line-height:1.5}.search-dialog-foot{display:flex;justify-content:space-between;gap:12px;padding:11px 22px 14px;border-top:1px solid #e0eae3;color:#879a94;font-size:10px}
.stat-link{text-align:left;width:100%;cursor:pointer;transition:transform .18s,border-color .18s,box-shadow .18s}.stat-link:hover,.stat-link:focus-visible{transform:translateY(-2px);border-color:#92c5ad;box-shadow:0 12px 28px #204d3f18;outline:none}.stat-link .stat-foot::after{content:'  ↗';color:#2c846e;font-weight:800}.stat-link:active{transform:translateY(0)}
@media(max-width:1100px){.global-search-trigger{width:175px}.global-search-trigger kbd{display:none}}
@media(max-width:700px){.global-search-trigger{width:39px;height:37px;justify-content:center;padding:0}.global-search-trigger .search-trigger-label{display:none}.global-search-trigger>span:first-child{font-size:25px}.search-backdrop{padding:14px 10px}.search-dialog{max-height:calc(100dvh - 28px);border-radius:15px}.search-dialog-head{padding:17px 16px 12px}.search-dialog h2{font-size:19px}.search-input-wrap{margin:0 15px 10px}.search-results{padding:0 8px 10px}.search-result{gap:8px;padding:11px 8px}.search-result-kind{width:70px;font-size:9px}.search-dialog-foot{padding:10px 15px}}
/* Pendientes operativos: aparecen solo cuando hay trabajo verificable */
.priority-panel{margin:0 0 15px;padding:15px 16px 16px;background:#f2f7f3}.priority-header{display:flex;align-items:end;justify-content:space-between;gap:10px;margin-bottom:11px}.priority-kicker{display:block;color:#387d6f;font-size:9px;font-weight:800;letter-spacing:1.15px;margin-bottom:4px}.priority-header h2{margin:0;color:#1b4843;font:700 15px Inter,sans-serif;letter-spacing:-.2px}.priority-header h2 span{display:inline-grid;place-items:center;width:19px;height:19px;border-radius:50%;background:#dceee2;color:#2f7865;font-size:10px;vertical-align:1px;margin-left:3px}.priority-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:9px}.priority-row{min-width:0;min-height:115px;padding:12px 13px;border:1px solid #dce8df;border-left:3px solid #c78651;border-radius:10px;background:#fff;display:flex;flex-direction:column;justify-content:space-between;gap:10px}.priority-row.urgent{border-left-color:#b85450}.priority-copy{min-width:0;display:flex;flex-direction:column;gap:3px}.priority-copy small{color:#a3674c;font-size:9px;font-weight:800;letter-spacing:1px}.priority-row.urgent .priority-copy small{color:#ae5a57}.priority-copy strong{color:#234b45;font-size:12px;line-height:1.25}.priority-copy>span{color:#718680;font-size:10px;line-height:1.3}.priority-action{align-self:flex-start;padding:0;border:0;background:transparent;color:#23745e;font-weight:800;font-size:10px}.priority-action:hover{text-decoration:underline}.priority-action:focus-visible{outline:2px solid #278771;outline-offset:4px;border-radius:2px}
@media(max-width:700px){.priority-panel{padding:12px;margin-bottom:11px}.priority-header{margin-bottom:9px}.priority-list{grid-template-columns:1fr;gap:7px}.priority-row{min-height:0;padding:10px 11px;flex-direction:row;align-items:center;gap:8px}.priority-copy strong{font-size:11px}.priority-copy>span{font-size:9px}.priority-action{flex:none;align-self:center;max-width:96px;text-align:right;line-height:1.25}}
.priority-list:has(.priority-row:only-child) .priority-row{min-height:0;flex-direction:row;align-items:center}.priority-list:has(.priority-row:only-child) .priority-action{flex:none;align-self:center;margin-left:auto}
@media(max-width:560px){.dashboard-stats .stat-value{font-size:16px;letter-spacing:-.7px;white-space:nowrap}.setup-copy p{display:none}.priority-list:has(.priority-row:only-child) .priority-row{gap:10px}}
.resident-mode .resident-panel-count{font-size:10px;font-weight:700;color:#47796b;background:#e1f0e8;padding:5px 8px;border-radius:999px}.resident-mode .resident-invoices,.resident-mode .resident-payments{margin-bottom:14px}.resident-mode .resident-ticket-description{white-space:pre-line;line-height:1.6;color:#385651}
.resident-mode .resident-invoices .badge{margin-top:4px;align-self:flex-start}
@media(max-width:700px){.resident-mode #content>.resident-invoices tbody tr,.resident-mode #content>.resident-payments tbody tr{grid-template-columns:repeat(2,minmax(0,1fr))}.resident-mode #content>.resident-invoices tbody td:nth-child(2)::before{content:'Vence'}.resident-mode #content>.resident-invoices tbody td:nth-child(3)::before{content:'Total'}.resident-mode #content>.resident-invoices tbody td:nth-child(4)::before{content:'Saldo'}.resident-mode #content>.resident-payments tbody td:nth-child(2)::before{content:'Unidad'}.resident-mode #content>.resident-payments tbody td:nth-child(3)::before{content:'Valor'}.resident-mode #content>.resident-payments tbody td:nth-child(4)::before{content:'Referencia'}.resident-mode .resident-tickets .table-wrap{overflow:visible}.resident-mode .resident-tickets table{min-width:0;width:100%;white-space:normal}.resident-mode .resident-tickets thead{display:none}.resident-mode .resident-tickets tbody{display:block}.resident-mode .resident-tickets tbody tr{display:grid;grid-template-columns:1fr auto;gap:6px 12px;padding:12px;border-bottom:1px solid var(--line)}.resident-mode .resident-tickets tbody td{border:0;padding:2px 0;min-width:0;overflow-wrap:anywhere}.resident-mode .resident-tickets tbody td:first-child{grid-column:1/-1;font-weight:700}.resident-mode .resident-tickets tbody td:last-child{grid-column:1/-1}.resident-mode .resident-tickets .text-link,.resident-mode .resident-records .text-link{min-height:34px;padding:6px 0}}

/* V1.6 · legibilidad y estados en todas las vistas */
:root{--bg:#dbe4e1;--line:#c6d8d1;--shadow:0 10px 28px rgba(20,55,50,.085)}
body{color:#1c3738;font-variant-numeric:tabular-nums}
.main-area{background:radial-gradient(circle at 94% 0%,#d3e5db 0,transparent 35%),linear-gradient(155deg,#e3ebe7,#dbe4e1)}
.topbar{background:#f0f5f1;border-bottom:1px solid #c9dcd2;backdrop-filter:blur(12px)}
.sidebar{box-shadow:5px 0 24px #0c302b16}
.sidebar .nav-item{font-size:12px}
.sidebar .nav-item:hover{background:#ffffff17}
.content{max-width:1420px}
.stat-card,.panel,.info-card,.aging-card{background:#f9fbf9}
.panel-header{background:#f0f6f1}
.panel-header h2{font-size:15px;letter-spacing:-.2px}
.panel-header p,.page-heading p{line-height:1.5}
.btn{font-size:12px;font-weight:700;min-height:40px}
.btn:not(.btn-primary):not(.btn-danger):hover{background:#edf6f0;border-color:#8fbdae;color:#135b51}
.btn-primary{background:#0e776b;border-color:#0e776b}
.btn-primary:hover{background:#095e56;border-color:#095e56}
.filters{align-items:center}
.search-box,.filter-select{height:42px;background:#fff;border-color:#b8d0c6}
.search-box input,.filter-select{font-size:13px}
.search-box input::placeholder{color:#697e79}
.table-wrap{scrollbar-color:#94b5aa #e8f1ec}
.table-wrap th{font-size:11px;font-weight:800;color:#41615d;background:#edf4ef}
.table-wrap td{font-size:12px;line-height:1.45}
.table-wrap tbody tr:hover{background:#edf6f0}
.table-wrap tbody tr:focus-within{background:#e8f3eb}
.table-wrap .text-link{font-size:12px;font-weight:700}
.table-wrap .mini-action{min-width:38px;min-height:38px}
.field label{font-size:12px;font-weight:700;color:#355854}
.field input,.field select,.field textarea{min-height:42px;background:#fff;color:#203f3e}
.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;min-height:164px;padding:28px 20px;text-align:center;color:#607a74;background:#f8fbf8}
.empty-state .empty-mark{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:#e4f1e9;color:#247463;font-size:27px;line-height:1}
.empty-state b{display:block;color:#234d48;font-size:14px;line-height:1.35}
.empty-state>span:last-child{font-size:12px;line-height:1.45}
@media(max-width:700px){
  .topbar{background:#edf4ef}
  .page-heading h1{font-size:23px}
  .page-heading p{font-size:12px;line-height:1.45}
  .panel-header h2{font-size:14px}
  .panel-header p{font-size:11px}
  .stat-top{font-size:11px}
  .stat-foot{font-size:10px;line-height:1.35}
  .dashboard-stats .stat-value{font-size:18px;white-space:normal}
  .mobile-dock{background:#f0f6f1;border-top-color:#bdd5c8}
  .mobile-dock .dock-item{font-size:11px}
  .mobile-dock .dock-item.active{background:#dceee3;color:#085d52}
  .empty-state{min-height:145px;padding:23px 14px}
  .table-wrap td{font-size:12px}
  .filters>.btn,.filter-select{min-height:42px}
}

/* V1.9 · superficies, jerarquía y estados del CRM */
:root{
  --navy:#142f37;
  --ink:#19363b;
  --muted:#516b70;
  --line:#bbceca;
  --bg:#dbe3e4;
  --green:#176a50;
  --green-soft:#e1f1e8;
  --red:#a84243;
  --red-soft:#f9e9e7;
  --amber:#77560d;
  --amber-soft:#fbf1d8;
  --shadow:0 12px 32px rgba(22,55,55,.085);
  --surface:#fbfcfa;
  --surface-soft:#eef3ef;
  --accent:#b95127;
  --focus:#f2be63;
}
body{color:var(--ink);background:var(--bg)}
.main-area{background:radial-gradient(circle at 94% 4%,#d0e1dc 0,transparent 32%),linear-gradient(160deg,#e4e9e8 0%,#dbe3e4 56%,#d4dddf 100%)}
.sidebar{background:linear-gradient(172deg,#183a40 0%,#102d35 60%,#0d2933 100%);box-shadow:8px 0 30px #102d351f}
.brand{padding-bottom:27px}.brand strong{font-size:16px;letter-spacing:-.25px}.brand span{color:#b7ceca}
.brand-mark{background:linear-gradient(145deg,#d88758,#ae4d28);box-shadow:0 5px 16px #081e2340}
.nav-caption{color:#aac5bf;font-size:10px;letter-spacing:1.25px}
.sidebar .nav-item{color:#c6dbd6;font-size:12.5px;min-height:42px;transition:background .18s,color .18s,transform .18s}
.sidebar .nav-item:hover{background:#ffffff1b;color:#fff;transform:translateX(2px)}
.sidebar .nav-item.active{background:#e1eee9;color:#163d40;box-shadow:inset 3px 0 #ba5b32,0 4px 14px #08202922;font-weight:750}
.sidebar .nav-item.active .nav-icon{color:#09675e}.sidebar .nav-count{background:#27545a;color:#eef8f4}
.sidebar .secure-note{border-color:#ffffff25}.sidebar .secure-note small{color:#b7ccc9}
.topbar{background:#f2f6f3eb;border-bottom:1px solid #bfcfc9;box-shadow:0 3px 14px #183a3510}
.breadcrumb,.breadcrumb .breadcrumb-home,.breadcrumb .breadcrumb-sep{color:#607b78}.breadcrumb b{color:#234c4b}.user-chip b{font-size:12px;color:#254b49}.user-chip small{color:#5c7371}
.avatar{background:#dfeee5;color:#0d685b}.period-control,.global-search-trigger{background:#fbfdfb;border-color:#bacfc5;color:#315d56}
.content{max-width:1360px;padding-top:24px}
.page-heading{border:1px solid #23585a;border-left:4px solid #c46b3d;background:linear-gradient(115deg,#153942 0%,#115e59 67%,#1a6b62 100%);box-shadow:0 14px 30px #10443f29;padding:21px 24px}
.page-heading h1{font-size:27px;letter-spacing:-.7px}.page-heading p{font-size:13px;color:#e4f2ec;line-height:1.45}
.page-heading .btn{background:#f8fbf8;border-color:#f0f6f1;color:#204d49;font-size:12px;min-height:41px}
.page-heading .btn-primary{background:var(--accent);border-color:var(--accent);color:#fff;box-shadow:0 5px 14px #082c2c33}
.page-heading .btn-primary:hover{background:#9f421c;border-color:#9f421c}
.btn{border-radius:9px;color:#205450;background:#f9fcfa;border-color:#b6cfbf;transition:background .18s,border-color .18s,box-shadow .18s,transform .18s}
.btn-primary,.scope-switch .btn-primary{background:#086a60;border-color:#086a60;color:#fff;box-shadow:0 5px 15px #0c6f6030}
.btn-primary:hover{background:#07574f;border-color:#07574f}
.btn-light{background:#e0f0e8;border-color:#c6dfd1;color:#0b6257}
.panel,.stat-card,.info-card,.aging-card{background:var(--surface);border-color:#c5d4ce;border-radius:13px;box-shadow:var(--shadow)}
.panel-header{background:var(--surface-soft);border-bottom:1px solid #d0dcd5;padding:16px 18px}
.panel-header h2{font-size:15.5px;color:#1d4746}.panel-header p{font-size:11px;color:#55716c}
.panel-body{padding:17px 19px}.content-grid{gap:16px}
.dashboard-stats{gap:14px}.dashboard-stats .stat-card{border-left:0;border-top:3px solid #087567;min-height:112px;padding:15px 17px;background:linear-gradient(160deg,#f9fcfa,#edf5ef)}
.dashboard-stats .stat-card:nth-child(2){border-top-color:#b95127;background:linear-gradient(160deg,#fcfbf7,#f8eee5)}
.dashboard-stats .stat-card:nth-child(3){border-top-color:#527b8d;background:linear-gradient(160deg,#fbfcfd,#edf3f5)}
.dashboard-stats .stat-card:nth-child(4){border-top-color:#a84243;background:linear-gradient(160deg,#fffafa,#f6eded)}
.stat-top{font-size:11.5px;color:#436461}.dashboard-stats .stat-value{font-size:25px;color:#183c3d;margin-top:8px}.stat-foot{font-size:10.5px;color:#55746d}
.table-wrap th{background:#eaf1eb;color:#315d58;font-size:10.5px;letter-spacing:.55px;padding:12px 14px}
.table-wrap td{color:#344f50;font-size:12.5px;padding:12px 14px;border-bottom-color:#dce6df}
.table-wrap tbody tr:nth-child(even){background:#f4f8f5}.table-wrap tbody tr:hover,.table-wrap tbody tr:focus-within{background:#e5f2ea}
.unit-name{color:#194846}.money{color:#173c3d}.subtext{color:#58716d;font-size:10.5px;line-height:1.4}
.table-wrap .text-link,.text-link{color:#086b5f;font-size:12px}.text-link:hover{text-decoration:underline}
.summary-strip{background:#edf4ef;border-color:#c8d9cf;color:#486b64;font-size:11.5px;line-height:1.45}.summary-strip b{color:#173f3d}
.resident-mode #content>.summary-strip{background:#f7faf7;border-color:#bfd5c7;box-shadow:0 7px 22px #1a554214}
.resident-mode #content>.summary-strip:has(>span:nth-child(2):last-child){grid-template-columns:repeat(2,minmax(0,1fr))}
.resident-mode #content>.summary-strip>span{padding:8px 10px;border-left:3px solid #238474;background:#ebf4ed;border-radius:6px}
.resident-mode #content>.summary-strip>span:nth-child(2){border-left-color:#b95127;background:#f8f0e9}
.resident-mode #content>.summary-strip>span:nth-child(3){border-left-color:#a84243;background:#faeeee}
.resident-mode .summary-strip b{font-size:21px;color:#183b3c}
.resident-mode .resident-panel-count{background:#d9ece2;color:#0b6253;font-size:11px}
.info-card{background:var(--surface)}.info-card h3{font-size:13px;color:#1f4847}.info-card p,.info-card .card-foot{font-size:11px;color:#58716d}
.detail-row{font-size:11.5px;color:#506e69;border-bottom-color:#d7e4d9}.detail-row b{color:#254b48}
.field label{color:#2b514d}.field input,.field select,.field textarea,.search-box,.filter-select{background:#fbfdfb;border-color:#a9c4b7;color:#244948}
.field input:focus,.field select:focus,.field textarea:focus,.search-box:focus-within{border-color:#0b6c60;box-shadow:0 0 0 3px #0b6c602a}
.modal{background:#fbfcfa;border:1px solid #c2d6cb;border-radius:15px}.modal-head,.modal-foot{background:#eef4ef}.modal-head h2{font-size:17px;color:#204746}.modal-body{background:#fbfcfa;font-size:13px}
#authGate{min-height:100vh;min-height:100dvh;display:grid;place-items:center;padding:28px 16px;background:radial-gradient(circle at 15% 15%,#cfddd7,transparent 38%),linear-gradient(145deg,#dbe3e4,#e9eeeb 55%,#cfdbda)}
.auth-card{width:min(100%,440px);margin:0;padding:31px 32px 26px;background:var(--surface);border:1px solid #b8cfc4;border-top:5px solid #b95127;border-radius:16px;box-shadow:0 24px 65px #183f3b2e}
.auth-card .brand-mark{width:47px;height:47px;font-size:16px}.auth-card h1{margin:18px 0 6px;color:#173d3e;font-size:26px;line-height:1.2;letter-spacing:-.6px}
.auth-card p{color:#536f6b;font-size:12.5px;line-height:1.55}.auth-card form{gap:10px;margin:24px 0 17px}.auth-card label{color:#28534d;font-size:12px}
.auth-card input,.auth-card select{min-height:46px;border:1px solid #a9c4b7;border-radius:9px;background:#fbfdfb;color:#214741;font-size:14px}
.auth-card input:focus,.auth-card select:focus{border-color:#0b6c60;box-shadow:0 0 0 3px #0b6c602a;outline:0}
.auth-card form .btn{min-height:46px;margin-top:8px;font-size:13px}.auth-links{border-top:1px solid #d4e2d9;padding-top:15px;gap:12px}.auth-links .text-link{font-weight:650}
.notice-inline{color:#496a64;font-size:11.5px;line-height:1.55}.empty-state{background:#f6faf7;color:#506d67}.empty-state b{color:#204a46}
.badge-paid{color:#12573f}.badge-pending{color:#705008}.badge-overdue{color:#963739}.badge-neutral{color:#4f666d}
.event-card{border-left-color:#0d776b}.event-card b{font-size:12px;color:#204442}.event-card p{font-size:11px;color:#56716b}
.mobile-dock{background:#f3f8f4;border-top-color:#adc8b9}.mobile-dock .dock-item.active{background:#d8ece1;color:#095d50}
:where(button,a,input,select,textarea,summary):focus-visible{outline:3px solid var(--focus);outline-offset:3px}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}
@media (min-width:851px) and (max-width:1100px){
  .sidebar{width:min(290px,84vw);transform:translateX(-100%);z-index:31;transition:transform .22s}
  .sidebar.open{transform:translateX(0)}
  .sidebar-scrim{position:fixed;inset:0;z-index:30;display:block;border:0;background:#0b293580;opacity:0;pointer-events:none;transition:opacity .2s}
  body.menu-open .sidebar-scrim{opacity:1;pointer-events:auto}
  .main-area{width:100%;margin-left:0}
  .mobile-menu{display:block;margin-right:12px}
  .topbar{padding:0 24px;justify-content:flex-start}
  .breadcrumb{margin-right:auto}.top-actions{margin-left:auto;gap:12px}
}
@media(max-width:700px){
  .content{padding:13px 12px calc(88px + env(safe-area-inset-bottom))}
  .page-heading{padding:17px 16px;margin-bottom:13px;border-radius:13px}
  .page-heading h1{font-size:23px}.page-heading p{font-size:12px}
  .page-heading .heading-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;gap:8px;margin-top:15px}
  .page-heading .heading-actions:has(> :only-child){grid-template-columns:1fr}
  .page-heading .heading-actions .btn{justify-content:center;min-width:0;text-align:center;line-height:1.2}
  .panel-header{padding:13px 14px}.panel-header h2{font-size:14.5px}.panel-body{padding:14px}
  .dashboard-stats{gap:9px}.dashboard-stats .stat-card{min-height:98px;padding:12px}.dashboard-stats .stat-value{font-size:21px}.stat-top{font-size:11px}.stat-foot{font-size:10px}
  .resident-mode #content>.summary-strip{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:8px}
  .resident-mode #content>.summary-strip>span:last-child:nth-child(3){grid-column:1/-1}
  .resident-mode .summary-strip b{font-size:18px}
  .resident-mode #content>.table-panel tbody tr{background:#fbfcfa}
  .resident-mode #content>.table-panel tbody tr:nth-child(even){background:#f2f7f3}
  .resident-mode #content>.table-panel .text-link{background:#deefe4;color:#075d50;border-radius:8px}
}
@media(max-width:390px){.page-heading .heading-actions{grid-template-columns:1fr}.page-heading .btn{width:100%}}
@media(max-width:560px){#authGate{padding:18px 12px}.auth-card{margin:0;padding:24px 21px}.auth-card h1{font-size:23px}}

/* Identidad oficial del edificio en ambos portales y sus documentos. */
.sidebar .brand{display:flex;flex-direction:column;align-items:stretch;gap:9px;padding:1px 7px 16px;margin-bottom:14px}
.brand-logo{display:block;width:100%;height:auto;aspect-ratio:1205/700;object-fit:contain;background:#fff;border:1px solid #e2e5dc;border-radius:9px;box-shadow:0 7px 18px #071d2433}
.brand-context{display:block;color:#d8e6dc;font-size:9px;font-weight:800;letter-spacing:1.4px;text-align:center}
.mobile-brand-logo{display:none}
.auth-card .auth-logo{display:block;width:min(100%,235px);height:auto;margin:0 auto 18px;border:1px solid #dce5d9;border-radius:7px;background:#fff}
.auth-card .auth-logo+h1{margin-top:0}
.document-sheet .doc-brand{gap:17px}
.document-sheet .doc-logo{display:block;flex:none;width:104px;height:auto;border:1px solid #e1e7df;border-radius:4px;background:#fff}
@media(max-width:1100px){.mobile-brand-logo{display:block;width:77px;height:45px;object-fit:contain;flex:none;background:#fff;border-radius:5px;border:1px solid #d8e2d8}}
@media(max-width:560px){.mobile-brand-logo{width:72px;height:42px}.topbar .breadcrumb{display:none}.topbar .top-actions{margin-left:auto}}
@media print{.document-sheet .doc-logo{width:31mm;print-color-adjust:exact}}
.report-print-brand{display:none}
@media print{
  body:not(.printing-document) .sidebar,body:not(.printing-document) .topbar,body:not(.printing-document) .mobile-dock,body:not(.printing-document) footer,body:not(.printing-document) .heading-actions{display:none!important}
  body:not(.printing-document) .main-area{width:100%;margin:0;background:#fff}
  body:not(.printing-document) .content{padding:0}
  body:not(.printing-document) .report-print-brand{display:flex;align-items:center;gap:18px;padding:0 0 14px;margin-bottom:14px;border-bottom:1px solid #cbd7d0;color:#254340;font-size:12px;font-weight:700}
  body:not(.printing-document) .report-print-brand img{display:block;width:32mm;height:auto}
  body:not(.printing-document) .page-heading{background:#fff;color:#163e41;padding:0;box-shadow:none}
  body:not(.printing-document) .page-heading h1,body:not(.printing-document) .page-heading p{color:#163e41}
  body:not(.printing-document) .panel,body:not(.printing-document) .info-card{break-inside:avoid}
}

.period-control[hidden]{display:none}
.resident-focus{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:16px;padding:19px 22px;border:1px solid #cbdad5;border-left:4px solid #397b70;border-radius:13px;background:#f3f7f4;box-shadow:var(--shadow)}
.resident-focus.has-balance{border-left-color:#bd6748;background:#fcf4ef}
.resident-focus.is-clear{border-left-color:#208369;background:#eef8f1}
.resident-focus>div:first-child{min-width:0}.resident-focus-kicker{display:block;color:#54756d;font-size:10px;font-weight:800;letter-spacing:1.2px}.resident-focus h2{margin:7px 0 5px;color:#173d3b;font-size:22px;line-height:1.15}.resident-focus.has-balance h2{color:#954b32}.resident-focus p{margin:0;color:#526c67;font-size:12px;line-height:1.5}.resident-focus-action{display:flex;flex:none;align-items:center;gap:8px}.resident-focus-action .btn{min-height:40px}.resident-focus-action .btn:not(.btn-primary){background:#f9fbf8}.resident-focus-meta{display:block;margin-top:8px;color:#6d8780;font-size:10px}
@media(max-width:700px){.resident-focus{align-items:stretch;flex-direction:column;gap:12px;padding:15px}.resident-focus h2{font-size:19px}.resident-focus-action{flex-direction:column;align-items:stretch}.resident-focus-action .btn{width:100%}}

.account-actions{display:flex;gap:10px;flex-wrap:wrap;margin:20px 0}.account-actions .btn{min-height:42px}
@media(max-width:560px){
  .modal-backdrop{padding:8px 8px max(8px,env(safe-area-inset-bottom));align-items:end}
  .modal{width:100%;max-height:calc(100dvh - 16px);display:flex;flex-direction:column;overflow:hidden}
  .modal-head{flex:none;padding:15px 16px}.modal-head h2{line-height:1.25}
  .modal-body{min-height:0;overflow:auto;padding:16px;overflow-wrap:anywhere}
  .modal-foot{flex:none;flex-wrap:wrap;padding:12px 16px max(12px,env(safe-area-inset-bottom))}
  .modal-foot .btn{flex:1;justify-content:center;min-width:110px}
  .account-actions{display:grid;grid-template-columns:1fr;margin:16px 0;gap:8px}
  .account-actions .btn{justify-content:center;width:100%}
  .auth-card .notice-inline{overflow-wrap:anywhere}
}

.password-control{position:relative;display:block;width:100%}
.password-control>input{width:100%;padding-right:48px}
.password-visibility{position:absolute;right:4px;top:50%;transform:translateY(-50%);width:40px;height:40px;display:grid;place-items:center;border:0;border-radius:8px;background:transparent;color:#476b65;cursor:pointer}
.password-visibility:hover{background:#e9f3ed;color:#0b6c60}
.password-visibility:focus-visible{outline:2px solid #0b6c60;outline-offset:1px}
.password-visibility svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.password-visibility .eye-slash{display:none}
.password-visibility.is-visible .eye-slash{display:block}
/* Cartera reúne el seguimiento de saldos y su control mensual sin duplicar entradas en el menú. */
.portfolio-tabs{display:inline-flex;align-items:center;gap:4px;padding:4px;margin:0 0 16px;background:#e7efeb;border:1px solid #cadad3;border-radius:11px}
.portfolio-tab{appearance:none;border:0;border-radius:8px;background:transparent;color:#55706c;font:650 12px Inter,"Segoe UI",sans-serif;min-height:37px;padding:8px 16px;cursor:pointer;transition:background .16s,color .16s,box-shadow .16s}
.portfolio-tab:hover{color:#135f57;background:#f4f8f6}.portfolio-tab.is-active{background:#fff;color:#075f57;box-shadow:0 2px 8px #173f3820}.portfolio-tab:focus-visible{outline:3px solid #0b756d35;outline-offset:1px}
@media(max-width:560px){.portfolio-tabs{display:grid;grid-template-columns:1fr 1fr;width:100%;margin-bottom:12px}.portfolio-tab{padding:8px 10px;font-size:11px}}
@media print{.portfolio-tabs{display:none!important}}

.billing-shortcut{display:flex;justify-content:flex-end;margin:-10px 0 12px}
.billing-shortcut .text-link{min-height:36px;padding:6px 10px;border-radius:8px;background:#e8f0ec;color:#155e55;font-size:12px}
.billing-shortcut .text-link:hover{background:#d8e9df}
.billing-payments{scroll-margin-top:82px}
@media(max-width:700px){.billing-shortcut{margin:-3px 0 10px}.billing-shortcut .text-link{width:100%;text-align:center}.billing-payment-filters{padding:0 12px}.billing-payment-filters .search-box{min-width:100%}}
