html[dir=ltr],[data-sonner-toaster][dir=ltr]{--toast-icon-margin-start: -3px;--toast-icon-margin-end: 4px;--toast-svg-margin-start: -1px;--toast-svg-margin-end: 0px;--toast-button-margin-start: auto;--toast-button-margin-end: 0}html[dir=rtl],[data-sonner-toaster][dir=rtl]{--toast-icon-margin-start: 4px;--toast-icon-margin-end: -3px;--toast-svg-margin-start: 0px;--toast-svg-margin-end: -1px;--toast-button-margin-start: 0;--toast-button-margin-end: auto}[data-sonner-toaster]{position:fixed;width:var(--width);font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;--gray1: hsl(0, 0%, 99%);--gray2: hsl(0, 0%, 97.3%);--gray3: hsl(0, 0%, 95.1%);--gray4: hsl(0, 0%, 93%);--gray5: hsl(0, 0%, 90.9%);--gray6: hsl(0, 0%, 88.7%);--gray7: hsl(0, 0%, 85.8%);--gray8: hsl(0, 0%, 78%);--gray9: hsl(0, 0%, 56.1%);--gray10: hsl(0, 0%, 52.3%);--gray11: hsl(0, 0%, 43.5%);--gray12: hsl(0, 0%, 9%);--border-radius: 8px;box-sizing:border-box;padding:0;margin:0;list-style:none;outline:none;z-index:999999999;transition:transform .4s ease}@media(hover:none)and (pointer:coarse){[data-sonner-toaster][data-lifted=true]{transform:none}}[data-sonner-toaster][data-x-position=right]{right:var(--offset-right)}[data-sonner-toaster][data-x-position=left]{left:var(--offset-left)}[data-sonner-toaster][data-x-position=center]{left:50%;transform:translate(-50%)}[data-sonner-toaster][data-y-position=top]{top:var(--offset-top)}[data-sonner-toaster][data-y-position=bottom]{bottom:var(--offset-bottom)}[data-sonner-toast]{--y: translateY(100%);--lift-amount: calc(var(--lift) * var(--gap));z-index:var(--z-index);position:absolute;opacity:0;transform:var(--y);touch-action:none;transition:transform .4s,opacity .4s,height .4s,box-shadow .2s;box-sizing:border-box;outline:none;overflow-wrap:anywhere}[data-sonner-toast][data-styled=true]{padding:16px;background:var(--normal-bg);border:1px solid var(--normal-border);color:var(--normal-text);border-radius:var(--border-radius);box-shadow:0 4px 12px #0000001a;width:var(--width);font-size:13px;display:flex;align-items:center;gap:6px}[data-sonner-toast]:focus-visible{box-shadow:0 4px 12px #0000001a,0 0 0 2px #0003}[data-sonner-toast][data-y-position=top]{top:0;--y: translateY(-100%);--lift: 1;--lift-amount: calc(1 * var(--gap))}[data-sonner-toast][data-y-position=bottom]{bottom:0;--y: translateY(100%);--lift: -1;--lift-amount: calc(var(--lift) * var(--gap))}[data-sonner-toast][data-styled=true] [data-description]{font-weight:400;line-height:1.4;color:#3f3f3f}[data-rich-colors=true][data-sonner-toast][data-styled=true] [data-description]{color:inherit}[data-sonner-toaster][data-sonner-theme=dark] [data-description]{color:#e8e8e8}[data-sonner-toast][data-styled=true] [data-title]{font-weight:500;line-height:1.5;color:inherit}[data-sonner-toast][data-styled=true] [data-icon]{display:flex;height:16px;width:16px;position:relative;justify-content:flex-start;align-items:center;flex-shrink:0;margin-left:var(--toast-icon-margin-start);margin-right:var(--toast-icon-margin-end)}[data-sonner-toast][data-promise=true] [data-icon]>svg{opacity:0;transform:scale(.8);transform-origin:center;animation:sonner-fade-in .3s ease forwards}[data-sonner-toast][data-styled=true] [data-icon]>*{flex-shrink:0}[data-sonner-toast][data-styled=true] [data-icon] svg{margin-left:var(--toast-svg-margin-start);margin-right:var(--toast-svg-margin-end)}[data-sonner-toast][data-styled=true] [data-content]{display:flex;flex-direction:column;gap:2px}[data-sonner-toast][data-styled=true] [data-button]{border-radius:4px;padding-left:8px;padding-right:8px;height:24px;font-size:12px;color:var(--normal-bg);background:var(--normal-text);margin-left:var(--toast-button-margin-start);margin-right:var(--toast-button-margin-end);border:none;font-weight:500;cursor:pointer;outline:none;display:flex;align-items:center;flex-shrink:0;transition:opacity .4s,box-shadow .2s}[data-sonner-toast][data-styled=true] [data-button]:focus-visible{box-shadow:0 0 0 2px #0006}[data-sonner-toast][data-styled=true] [data-button]:first-of-type{margin-left:var(--toast-button-margin-start);margin-right:var(--toast-button-margin-end)}[data-sonner-toast][data-styled=true] [data-cancel]{color:var(--normal-text);background:#00000014}[data-sonner-toaster][data-sonner-theme=dark] [data-sonner-toast][data-styled=true] [data-cancel]{background:#ffffff4d}[data-sonner-toaster] [data-close-button-position=top-left]{--toast-close-button-left: 0;--toast-close-button-right: unset;--toast-close-button-top: 0;--toast-close-button-bottom: unset;--toast-close-button-transform: translate(-35%, -35%)}[data-sonner-toaster] [data-close-button-position=top-right]{--toast-close-button-left: unset;--toast-close-button-right: 0;--toast-close-button-top: 0;--toast-close-button-bottom: unset;--toast-close-button-transform: translate(35%, -35%)}[data-sonner-toaster] [data-close-button-position=bottom-left]{--toast-close-button-left: 0;--toast-close-button-right: unset;--toast-close-button-top: unset;--toast-close-button-bottom: 0;--toast-close-button-transform: translate(-35%, 35%)}[data-sonner-toaster] [data-close-button-position=bottom-right]{--toast-close-button-left: unset;--toast-close-button-right: 0;--toast-close-button-top: unset;--toast-close-button-bottom: 0;--toast-close-button-transform: translate(35%, 35%)}[data-sonner-toast][data-styled=true] [data-close-button]{position:absolute;left:var(--toast-close-button-left);right:var(--toast-close-button-right);top:var(--toast-close-button-top);bottom:var(--toast-close-button-bottom);height:20px;width:20px;display:flex;justify-content:center;align-items:center;padding:0;color:var(--gray12);background:var(--normal-bg);border:1px solid var(--gray4);transform:var(--toast-close-button-transform);border-radius:50%;cursor:pointer;z-index:1;transition:opacity .1s,background .2s,border-color .2s}[data-sonner-toast][data-styled=true] [data-close-button]:focus-visible{box-shadow:0 4px 12px #0000001a,0 0 0 2px #0003}[data-sonner-toast][data-styled=true] [data-disabled=true]{cursor:not-allowed}[data-sonner-toast][data-styled=true]:hover [data-close-button]:hover{background:var(--gray2);border-color:var(--gray5)}[data-sonner-toast][data-swiping=true]:before{content:"";position:absolute;left:-100%;right:-100%;height:100%;z-index:-1}[data-sonner-toast][data-y-position=top][data-swiping=true]:before{bottom:50%;transform:scaleY(3) translateY(50%)}[data-sonner-toast][data-y-position=bottom][data-swiping=true]:before{top:50%;transform:scaleY(3) translateY(-50%)}[data-sonner-toast][data-swiping=false][data-removed=true]:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;transform:scaleY(2)}[data-sonner-toast][data-expanded=true]:after{content:"";position:absolute;left:0;height:calc(var(--gap) + 1px);bottom:100%;width:100%}[data-sonner-toast][data-mounted=true]{--y: translateY(0);opacity:1}[data-sonner-toast][data-expanded=false][data-front=false]{--scale: var(--toasts-before) * .05 + 1;--y: translateY(calc(var(--lift-amount) * var(--toasts-before))) scale(calc(-1 * var(--toasts-before) * .05 + 1));height:var(--front-toast-height)}[data-sonner-toast]>*{transition:opacity .4s}[data-sonner-toast][data-x-position=right]{right:0}[data-sonner-toast][data-x-position=left]{left:0}[data-sonner-toast][data-expanded=false][data-front=false][data-styled=true]>*{opacity:0}[data-sonner-toast][data-visible=false]{opacity:0;pointer-events:none}[data-sonner-toast][data-mounted=true][data-expanded=true]{--y: translateY(calc(var(--lift) * var(--offset)));height:var(--initial-height)}[data-sonner-toast][data-removed=true][data-front=true][data-swipe-out=false]{--y: translateY(calc(var(--lift) * -100%));opacity:0}[data-sonner-toast][data-removed=true][data-front=false][data-swipe-out=false][data-expanded=true]{--y: translateY(calc(var(--lift) * var(--offset) + var(--lift) * -100%));opacity:0}[data-sonner-toast][data-removed=true][data-front=false][data-swipe-out=false][data-expanded=false]{--y: translateY(40%);opacity:0;transition:transform .5s,opacity .2s}[data-sonner-toast][data-removed=true][data-front=false]:before{height:calc(var(--initial-height) + 20%)}[data-sonner-toast][data-swiping=true]{transform:var(--y) translateY(var(--swipe-amount-y, 0px)) translate(var(--swipe-amount-x, 0px));transition:none}[data-sonner-toast][data-swiped=true]{-webkit-user-select:none;user-select:none}[data-sonner-toast][data-swipe-out=true][data-y-position=bottom],[data-sonner-toast][data-swipe-out=true][data-y-position=top]{animation-duration:.2s;animation-timing-function:ease-out;animation-fill-mode:forwards}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=left]{animation-name:swipe-out-left}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=right]{animation-name:swipe-out-right}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=up]{animation-name:swipe-out-up}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=down]{animation-name:swipe-out-down}@keyframes swipe-out-left{0%{transform:var(--y) translate(var(--swipe-amount-x));opacity:1}to{transform:var(--y) translate(calc(var(--swipe-amount-x) - 100%));opacity:0}}@keyframes swipe-out-right{0%{transform:var(--y) translate(var(--swipe-amount-x));opacity:1}to{transform:var(--y) translate(calc(var(--swipe-amount-x) + 100%));opacity:0}}@keyframes swipe-out-up{0%{transform:var(--y) translateY(var(--swipe-amount-y));opacity:1}to{transform:var(--y) translateY(calc(var(--swipe-amount-y) - 100%));opacity:0}}@keyframes swipe-out-down{0%{transform:var(--y) translateY(var(--swipe-amount-y));opacity:1}to{transform:var(--y) translateY(calc(var(--swipe-amount-y) + 100%));opacity:0}}@media(max-width:600px){[data-sonner-toaster]{position:fixed;right:var(--mobile-offset-right);left:var(--mobile-offset-left);width:100%}[data-sonner-toaster][dir=rtl]{left:calc(var(--mobile-offset-left) * -1)}[data-sonner-toaster] [data-sonner-toast]{left:0;right:0;width:calc(100% - var(--mobile-offset-left) * 2)}[data-sonner-toaster][data-x-position=left]{left:var(--mobile-offset-left)}[data-sonner-toaster][data-y-position=bottom]{bottom:calc(var(--mobile-offset-bottom) + max(env(safe-area-inset-bottom),0px))}[data-sonner-toaster][data-y-position=top]{top:calc(var(--mobile-offset-top) + max(env(safe-area-inset-top),0px))}[data-sonner-toaster][data-x-position=center]{left:var(--mobile-offset-left);right:var(--mobile-offset-right);transform:none}}[data-sonner-toaster][data-sonner-theme=light]{--normal-bg: #fff;--normal-border: var(--gray4);--normal-text: var(--gray12);--success-bg: hsl(143, 85%, 96%);--success-border: hsl(145, 92%, 87%);--success-text: hsl(140, 100%, 27%);--info-bg: hsl(208, 100%, 97%);--info-border: hsl(221, 91%, 93%);--info-text: hsl(210, 92%, 45%);--warning-bg: hsl(49, 100%, 97%);--warning-border: hsl(49, 91%, 84%);--warning-text: hsl(31, 92%, 45%);--error-bg: hsl(359, 100%, 97%);--error-border: hsl(359, 100%, 94%);--error-text: hsl(360, 100%, 45%)}[data-sonner-toaster][data-sonner-theme=light] [data-sonner-toast][data-invert=true]{--normal-bg: #000;--normal-border: hsl(0, 0%, 20%);--normal-text: var(--gray1)}[data-sonner-toaster][data-sonner-theme=dark] [data-sonner-toast][data-invert=true]{--normal-bg: #fff;--normal-border: var(--gray3);--normal-text: var(--gray12)}[data-sonner-toaster][data-sonner-theme=dark]{--normal-bg: #000;--normal-bg-hover: hsl(0, 0%, 12%);--normal-border: hsl(0, 0%, 20%);--normal-border-hover: hsl(0, 0%, 25%);--normal-text: var(--gray1);--success-bg: hsl(150, 100%, 6%);--success-border: hsl(147, 100%, 12%);--success-text: hsl(150, 86%, 65%);--info-bg: hsl(215, 100%, 6%);--info-border: hsl(223, 43%, 17%);--info-text: hsl(216, 87%, 65%);--warning-bg: hsl(64, 100%, 6%);--warning-border: hsl(60, 100%, 9%);--warning-text: hsl(46, 87%, 65%);--error-bg: hsl(358, 76%, 10%);--error-border: hsl(357, 89%, 16%);--error-text: hsl(358, 100%, 81%)}[data-sonner-toaster][data-sonner-theme=dark] [data-sonner-toast] [data-close-button]{background:var(--normal-bg);border-color:var(--normal-border);color:var(--normal-text)}[data-sonner-toaster][data-sonner-theme=dark] [data-sonner-toast] [data-close-button]:hover{background:var(--normal-bg-hover);border-color:var(--normal-border-hover)}[data-rich-colors=true][data-sonner-toast][data-type=success],[data-rich-colors=true][data-sonner-toast][data-type=success] [data-close-button]{background:var(--success-bg);border-color:var(--success-border);color:var(--success-text)}[data-rich-colors=true][data-sonner-toast][data-type=info],[data-rich-colors=true][data-sonner-toast][data-type=info] [data-close-button]{background:var(--info-bg);border-color:var(--info-border);color:var(--info-text)}[data-rich-colors=true][data-sonner-toast][data-type=warning],[data-rich-colors=true][data-sonner-toast][data-type=warning] [data-close-button]{background:var(--warning-bg);border-color:var(--warning-border);color:var(--warning-text)}[data-rich-colors=true][data-sonner-toast][data-type=error],[data-rich-colors=true][data-sonner-toast][data-type=error] [data-close-button]{background:var(--error-bg);border-color:var(--error-border);color:var(--error-text)}.sonner-loading-wrapper{--size: 16px;height:var(--size);width:var(--size);position:absolute;top:0;right:0;bottom:0;left:0;z-index:10}.sonner-loading-wrapper[data-visible=false]{transform-origin:center;animation:sonner-fade-out .2s ease forwards}.sonner-spinner{position:relative;top:50%;left:50%;height:var(--size);width:var(--size)}.sonner-loading-bar{animation:sonner-spin 1.2s linear infinite;background:var(--gray11);border-radius:6px;height:8%;left:-10%;position:absolute;top:-3.9%;width:24%}.sonner-loading-bar:nth-child(1){animation-delay:-1.2s;transform:rotate(.0001deg) translate(146%)}.sonner-loading-bar:nth-child(2){animation-delay:-1.1s;transform:rotate(30deg) translate(146%)}.sonner-loading-bar:nth-child(3){animation-delay:-1s;transform:rotate(60deg) translate(146%)}.sonner-loading-bar:nth-child(4){animation-delay:-.9s;transform:rotate(90deg) translate(146%)}.sonner-loading-bar:nth-child(5){animation-delay:-.8s;transform:rotate(120deg) translate(146%)}.sonner-loading-bar:nth-child(6){animation-delay:-.7s;transform:rotate(150deg) translate(146%)}.sonner-loading-bar:nth-child(7){animation-delay:-.6s;transform:rotate(180deg) translate(146%)}.sonner-loading-bar:nth-child(8){animation-delay:-.5s;transform:rotate(210deg) translate(146%)}.sonner-loading-bar:nth-child(9){animation-delay:-.4s;transform:rotate(240deg) translate(146%)}.sonner-loading-bar:nth-child(10){animation-delay:-.3s;transform:rotate(270deg) translate(146%)}.sonner-loading-bar:nth-child(11){animation-delay:-.2s;transform:rotate(300deg) translate(146%)}.sonner-loading-bar:nth-child(12){animation-delay:-.1s;transform:rotate(330deg) translate(146%)}@keyframes sonner-fade-in{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@keyframes sonner-fade-out{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.8)}}@keyframes sonner-spin{0%{opacity:1}to{opacity:.15}}@media(prefers-reduced-motion){[data-sonner-toast],[data-sonner-toast]>*,.sonner-loading-bar{transition:none!important;animation:none!important}}.sonner-loader{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);transform-origin:center;transition:opacity .2s,transform .2s}.sonner-loader[data-visible=false]{opacity:0;transform:scale(.8) translate(-50%,-50%)}:root{--brand: #1c4a5a;--brand-strong: #143840;--brand-soft: #e8edef;--brand-softer: #f2f6f7;--accent: #109651;--accent-strong: #0e8447;--accent-soft: #e6f5ed;--warn: #d0021b;--warn-soft: #fde8e9;--info: #2563eb;--info-soft: #e3eafd;--success: #2e7d32;--success-soft: #e8f5e9;--warning: #f57f17;--warning-soft: #fff8e1;--surface-1: #f5f8fa;--surface-2: #ffffff;--surface-3: #eef2f5;--text-1: #1a2b36;--text-2: #5a6e7a;--text-3: #8aa0ac;--border-1: #dee6ea;--border-2: #c5d1d6;--radius-sm: 8px;--radius: 12px;--radius-lg: 16px;--radius-full: 999px;--font-title: clamp(25px, 1.5vw + 18px, 32px);--font-section: clamp(18px, .8vw + 15px, 21px);--font-panel: 17px;--font-body: clamp(15px, .2vw + 14.6px, 16px);--dur: .18s;--ease-out: cubic-bezier(.2, .8, .2, 1);--shadow-xs: 0 1px 2px rgba(16, 34, 43, .05);--shadow-sm: 0 1px 3px rgba(16, 34, 43, .08), 0 6px 16px -10px rgba(16, 34, 43, .18);--shadow-md: 0 10px 30px -8px rgba(16, 34, 43, .24);--shadow-lg: 0 26px 64px -20px rgba(16, 34, 43, .32);--eco-button-height: 44px;--eco-button-min-width: 146px;--eco-button-radius: var(--radius);--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);--safe-left: env(safe-area-inset-left, 0px);--safe-right: env(safe-area-inset-right, 0px)}*,*:before,*:after{box-sizing:border-box}html,body{height:100%;margin:0}html{overflow-x:hidden}body{background:var(--surface-1);color:var(--text-1);font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,sans-serif;font-size:var(--font-body);line-height:1.4;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}::selection{background:var(--brand-soft);color:var(--brand-strong)}*{scrollbar-width:thin;scrollbar-color:var(--border-2) transparent}button{font-family:inherit}input,select,textarea{font-family:inherit;font-size:16px}a{color:var(--brand)}:focus-visible{outline:2px solid var(--brand);outline-offset:2px;border-radius:4px}.eyebrow{font-size:13px!important;font-weight:700;line-height:1.2;text-transform:uppercase;letter-spacing:0;color:var(--text-2);margin:0 0 4px}.page-header h1,.page-header h2,.header h1,.header h2,.top h1,.top h2{margin:0!important;font-size:var(--font-title)!important;font-weight:800!important;line-height:1.12!important;letter-spacing:-.015em!important}.page-header p,.header p,.header-text,.top p{font-size:15px!important;line-height:1.4!important;color:var(--text-2)!important;margin:4px 0 0}.section-head h2,.section-head h3,.panel-header h2,.panel-header h3{margin:0!important;font-size:var(--font-section)!important;font-weight:700!important;line-height:1.2!important;letter-spacing:-.01em!important}.panel h3,.modal-title{font-size:var(--font-panel)!important;font-weight:700!important;line-height:1.25!important;letter-spacing:-.01em!important}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-width:var(--eco-button-min-width);min-height:var(--eco-button-height);height:var(--eco-button-height);padding-inline:18px;border-radius:var(--eco-button-radius);font-size:15px;font-weight:600;line-height:1.15;border:1px solid transparent;cursor:pointer;text-decoration:none;touch-action:manipulation;white-space:normal;transition:transform var(--dur) var(--ease-out),box-shadow var(--dur) var(--ease-out),background-color var(--dur) var(--ease-out),border-color var(--dur) var(--ease-out)}.btn svg{flex:0 0 auto}.btn-primary{background:var(--brand);color:#fff;box-shadow:var(--shadow-sm)}.btn-primary:hover:not(:disabled){background:var(--brand-strong);box-shadow:var(--shadow-md)}.btn-primary:active:not(:disabled){transform:translateY(1px)}.btn-stroked{background:transparent;color:var(--text-1);border-color:var(--border-2)}.btn-stroked:hover:not(:disabled){border-color:var(--brand);background:var(--brand-softer)}.btn-flat{background:transparent;color:var(--brand)}.btn-flat:hover:not(:disabled){background:var(--brand-soft)}.btn-warn{background:var(--warn);color:#fff}.btn-warn:hover:not(:disabled){background:#a7041a}.btn-danger-stroked{background:transparent;color:#991b1b;border-color:#991b1b66}.btn-danger-stroked:hover:not(:disabled){background:var(--warn-soft)}.btn[disabled]{opacity:.6;cursor:not-allowed}.btn--block{width:100%}.btn--sm{min-width:0;min-height:40px;height:40px;padding-inline:14px}.btn-icon{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;width:44px;height:44px;padding:0;background:transparent;border:none;border-radius:var(--radius-sm);color:var(--text-3);cursor:pointer;transition:background-color var(--dur) var(--ease-out),color var(--dur) var(--ease-out)}.btn-icon:hover:not(:disabled){background:var(--brand-soft);color:var(--brand)}.btn-icon:disabled{opacity:.4;cursor:not-allowed}.btn-icon--sm{min-width:40px;min-height:40px;width:40px;height:40px}.link-button{background:transparent;border:0;padding:0;color:#006c52;font-weight:800;font-size:14px;cursor:pointer;text-align:left;display:inline-flex;align-items:center;gap:4px}.link-button:hover{text-decoration:underline}.link-button.text-white{color:#fff}.cell-clickable{color:var(--brand);font-weight:700;cursor:pointer}.cell-clickable:hover{text-decoration:underline}.cell-clickable .link-arrow{opacity:.5}.field{display:flex;flex-direction:column;gap:6px;min-width:0;margin:0}.field>*{min-width:0}.field-label{display:flex;align-items:center;gap:4px;min-height:20px;line-height:1.2;font-size:12px;font-weight:600;color:var(--text-2);overflow-wrap:anywhere}.field-label .req{color:var(--warn)}.field-input{display:flex;align-items:center;gap:8px;min-height:44px;padding:0 10px;background:var(--surface-2);border:1px solid var(--border-1);border-radius:var(--radius);box-shadow:var(--shadow-xs);transition:box-shadow .2s var(--ease-out),border-color var(--dur) var(--ease-out)}.field-input:hover{border-color:var(--border-2);box-shadow:var(--shadow-sm)}.field-input:focus-within{border-color:var(--brand);border-width:1px;box-shadow:0 0 0 3px var(--brand-soft)}.field-input .prefix,.field-input .suffix{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;color:var(--text-3)}.field-input input,.field-input select,.field-input textarea{flex:1 1 auto;min-width:0;border:0;outline:none;background:transparent;color:var(--text-1);font-size:16px;padding:9px 0;line-height:1.4}.field-input textarea{resize:vertical;min-height:44px}.field-input select{cursor:pointer}.field-input input::placeholder{color:var(--text-3)}.field-input input[type=date].has-value::-webkit-datetime-edit{color:var(--text-1)}input.field-input:not([class*=filter-]):not(.count-field):not(.torre-select):not([type=color]),select.field-input:not([class*=filter-]):not(.count-field):not(.torre-select),textarea.field-input:not([class*=filter-]):not(.count-field):not(.torre-select){width:100%;box-sizing:border-box;min-width:0}.field-hint{font-size:12px;font-weight:800;color:var(--text-3)}.field-hint--ok{color:var(--accent-strong)}.search-input{min-width:0;min-height:44px;padding:0 8px 0 12px;background:var(--surface-2);border:1px solid #d9e1e8;border-radius:var(--radius-sm);display:flex;align-items:center;gap:8px;color:var(--text-3)}.search-input input{flex:1 1 auto;min-width:0;border:0;outline:0;background:transparent;font-size:15px;color:var(--text-1)}.panel,.panel-main,.panel-side,.metric,.state,.empty{border:1px solid var(--border-1);border-radius:var(--radius-lg);background:var(--surface-2);box-shadow:var(--shadow-sm)}.page{display:grid;gap:18px;margin-bottom:15em}.section-head,.page-header,.header,.top{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap}.section-head p,.panel-header p,.header p{margin-top:4px;font-size:14px;color:var(--text-2)}.section-head-actions,.header-actions,.top-actions,.row-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap;min-width:0}.page-header{margin-bottom:2px}.table-wrap{width:100%;min-width:0;overflow-x:auto;-webkit-overflow-scrolling:touch;background:var(--surface-2);border:1px solid var(--border-1);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.panel .table-wrap,.panel-main .table-wrap,.panel-side .table-wrap,.table-wrap--nopad{background:none;border:0;border-radius:0;box-shadow:none}.table{width:100%;min-width:0;border-collapse:collapse;table-layout:auto}.table th,.table td{padding:12px 14px;border-bottom:1px solid var(--border-1);font-size:14px;color:var(--text-1);text-align:left;white-space:normal;overflow-wrap:break-word}.table th{background:var(--surface-3);border-bottom:2px solid var(--border-1);color:var(--text-2);font-size:12px;font-weight:700;letter-spacing:.03em;text-transform:uppercase;white-space:nowrap;overflow-wrap:normal}.table tbody tr:last-child td,.table tbody tr:last-of-type td{border-bottom:none}.table th.num,.table td.num{text-align:right}.table td.num{font-variant-numeric:tabular-nums;white-space:nowrap}.table td.num strong,.table td.num.strong{font-weight:800}.table th.th-actions,.table td.cell-actions,.table td.actions{text-align:right;white-space:nowrap}.table tbody tr{transition:background-color var(--dur) var(--ease-out)}.table tbody tr:hover{background:var(--brand-softer)!important}.table tbody tr.row-clickable{cursor:pointer}.table tbody tr.row-clickable.active{background:var(--brand-soft);border-color:var(--accent)!important}.cell-title strong{display:block}.cell-title .sub,.cell-primary .sub{display:block;font-size:13px;color:var(--text-2);font-weight:400}.cell-primary strong{display:block}.cell-primary span{font-size:13px;color:var(--text-2)}.table.table-cuotas{table-layout:auto}.table.table-cuotas th,.table.table-cuotas td{width:auto}.table .mat-column-nombre,.table .mat-column-unidad,.table .mat-column-codigo,.table .mat-column-usuario,.table .mat-column-periodo,.table .mat-column-cuenta{min-width:140px}.paginator{display:flex;align-items:center;justify-content:flex-end;gap:16px;padding:8px 8px 0;border-top:1px solid var(--border-1);margin-top:12px;color:var(--text-2);font-size:13px;min-height:48px}.paginator--inset{margin-top:0}.paginator-size{display:inline-flex;align-items:center;gap:8px;white-space:nowrap}.paginator-size select{border:1px solid var(--border-1);border-radius:var(--radius-sm);padding:4px 6px;background:var(--surface-2);color:var(--text-1);font-size:13px}.paginator-range{white-space:nowrap}.paginator-nav{display:inline-flex;align-items:center;gap:2px}.paginator-btn{display:inline-flex;align-items:center;justify-content:center;min-width:36px;min-height:36px;padding:0;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--text-2);cursor:pointer}.paginator-btn:hover:not(:disabled){background:var(--brand-soft);color:var(--brand)}.paginator-btn:disabled{opacity:.4;cursor:not-allowed}.status,.badge,.estado-badge,.rol-badge{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:28px;padding:4px 10px;border-radius:999px;font-size:13px;font-weight:800;line-height:1.2;white-space:nowrap}.status-abierto{color:#075985;background:#e0f2fe}.status-calculado{color:#854d0e;background:#fef3c7}.status-publicado{color:#166534;background:#dcfce7}.status-cerrado{color:var(--text-2);background:var(--border-1)}.status-pagado,.status-al_dia{color:#166534;background:#dcfce7}.status-atrasado{color:#854d0e;background:#fef3c7}.status-moroso{color:#991b1b;background:#fee2e2}.status-pendiente{color:#075985;background:#e0f2fe}.status-sin_deuda{color:var(--text-2);background:var(--surface-3)}.status-on{color:#166534;background:#dcfce7}.status-off{color:#991b1b;background:#fee2e2}.status-visit-pendiente,.status-visit-dentro{color:#185da8;background:#e2f0ff}.status-visit-usada{color:var(--accent-strong);background:var(--accent-soft)}.status-visit-salio{color:#4f5a64;background:#edf1f5}.status-visit-cancelada,.status-visit-vencida{color:#9f1d1d;background:#ffe2e2}.status.on{color:#006b4f;background:var(--brand-soft)}.status.off{color:#8a1d1d;background:#fde1e1}.badge--success{color:#0e6b3a;background:var(--accent-soft)}.badge--info{color:#185da8;background:#e2f0ff}.badge--warning{color:#755100;background:#f7e7b7}.badge--muted{color:#52606e;background:#eef1f4}.badge--danger{color:#991b1b;background:#fee2e2}.badge--borrador{color:#755100;background:#f7e7b7}.badge--aprobada{color:#185da8;background:#e2f0ff}.badge--pagada{color:#0e6b3a;background:var(--accent-soft)}.rol-super_admin,.rol-super_admin-badge{color:var(--brand);background:var(--accent-soft);border:1px solid var(--accent)}.rol-admin{color:#2563eb;background:#2563eb1a;border:1px solid rgba(37,99,235,.35)}.rol-conserje{color:#b45309;background:#b453091a;border:1px solid rgba(180,83,9,.35)}.rol-residente,.rol-residente-badge{color:var(--success);background:#2ea0431a;border:1px solid rgba(46,160,67,.35)}.rol-propietario,.rol-propietario-badge{color:var(--brand);background:var(--accent-soft);border:1px solid var(--accent)}.rol-arrendatario,.rol-arrendatario-badge{color:#2563eb;background:#2563eb1a;border:1px solid rgba(37,99,235,.35)}.table-sub{display:block;font-size:12px;color:var(--text-3);font-weight:500}.checkbox-stack{display:grid;gap:10px}.estado-badge{color:#2e7d32;background:#2ea0431a;border:1px solid rgba(46,160,67,.35)}.estado-badge.inactivo{color:#d64545;background:#d645451a;border:1px solid rgba(214,69,69,.35)}.estado-ok{color:var(--info);background:var(--info-soft)}.estado-pendiente{color:var(--warning);background:var(--warning-soft)}.estado-atrasado{color:#e65100;background:#fff3e0}.estado-moroso{color:var(--warn);background:var(--warn-soft)}.reserva-solicitud{color:#7a5c00;background:#fff3cd}.reserva-aprobada{color:#006b4f;background:var(--brand-soft)}.reserva-rechazada,.reserva-cancelada{color:#8a1d1d;background:#fde1e1}.reserva-finalizada{color:#3a3a3a;background:#e8e8e8}.status-enviado{color:#166534;background:#dcfce7}.status-pendiente{color:#854d0e;background:#fef3c7}.status-fallido{color:#991b1b;background:#fee2e2}.status-libre{color:#166534;background:#dcfce7}.status-dentro{color:#854d0e;background:#fef3c7}.empty-card{display:flex;flex-direction:column;align-items:center;gap:12px;padding:32px 20px;text-align:center;background:var(--surface-2);border:1px dashed var(--border-2);border-radius:var(--radius-lg);color:var(--text-2)}.empty-card .empty-icon{font-size:40px;width:40px;height:40px;color:var(--text-3)}.empty-card h3{margin:0;color:var(--text-1);font-size:18px;font-weight:700}.empty-card p{margin:0;font-size:14px;max-width:400px}.empty-card button{margin-top:4px}.state{display:flex;gap:12px;align-items:center;min-height:82px;padding:18px;color:var(--text-2);background:var(--surface-2)}.state--error{color:#9f1d1d;background:#fff6f6;border-color:#f3c6c6}.loading{display:flex;align-items:center;gap:12px;justify-content:center;padding:20px;color:var(--text-2);font-size:14px}.spinner{display:inline-block;width:22px;height:22px;border:2.5px solid var(--border-2);border-top-color:var(--brand);border-radius:50%;animation:spin .8s linear infinite}.spinner--28{width:28px;height:28px}.spinner--24{width:24px;height:24px}.spinner--18{width:18px;height:18px;border-width:2px}@keyframes spin{to{transform:rotate(360deg)}}.skeleton{position:relative;overflow:hidden;background:var(--surface-3);border-radius:var(--radius-sm)}.skeleton:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;transform:translate(-100%);background:linear-gradient(90deg,transparent,rgba(255,255,255,.7),transparent);animation:skeleton-shimmer 1.4s infinite}.skeleton--card{height:96px;border-radius:var(--radius)}.skeleton--panel{height:200px;border-radius:var(--radius-lg)}.skeleton--tall{height:320px;border-radius:var(--radius-lg)}.skeleton--line{height:16px}@keyframes skeleton-shimmer{to{transform:translate(100%)}}.skeleton-grid{display:grid;gap:16px}.skeleton-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:14px}.skeleton-panels{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);gap:16px}.shell{height:100vh;height:100dvh;display:flex;flex-direction:column;background:var(--surface-1)}.shell-body{display:flex;flex:1 1 auto;min-height:0}.shell-sidenav{width:280px;flex:0 0 280px;background:var(--surface-2);border-right:1px solid var(--border-1);display:flex;flex-direction:column;overflow-y:auto;padding-top:var(--safe-top)}.shell-sidenav.sidenav--over{position:fixed;top:0;bottom:0;left:0;z-index:1200;box-shadow:var(--shadow-md);transform:translate(-100%);transition:transform .2s var(--ease-out);height:100vh;height:100dvh}.shell-sidenav.sidenav--closed{transform:translate(-100%)}.shell-content{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;min-height:0}.page-content{flex:1 1 auto;padding:16px;padding-bottom:calc(16px + var(--safe-bottom));padding-left:calc(16px + var(--safe-left));padding-right:calc(16px + var(--safe-right));overflow:auto;-webkit-overflow-scrolling:touch;min-width:0;box-sizing:border-box}.main-content{width:100%;max-width:1200px;margin:0 auto;box-sizing:border-box}@media(min-width:960px){.page-content{padding:28px 32px;padding-bottom:calc(28px + var(--safe-bottom));padding-left:calc(32px + var(--safe-left));padding-right:calc(32px + var(--safe-right))}}@media(min-width:1280px){.page-content{padding:32px 40px;padding-bottom:calc(32px + var(--safe-bottom));padding-left:calc(40px + var(--safe-left));padding-right:calc(40px + var(--safe-right))}}.scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1100;background:#0a202466;display:none}@media(max-width:959.98px){.shell-sidenav{position:fixed;top:0;bottom:0;left:0;z-index:1200;height:100dvh;max-height:none;box-shadow:var(--shadow-md);transform:translate(-100%);transition:transform .2s var(--ease-out)}.shell-sidenav.sidenav-open{transform:translate(0)}.scrim{display:block}.topbar .menu-btn{display:inline-flex}}.topbar{display:flex;align-items:center;gap:4px;height:64px;min-height:64px;padding-top:var(--safe-top);padding-inline:8px;background:linear-gradient(90deg,#1c4a5a,#19424e);color:#fff;border-bottom:1px solid #143840;touch-action:manipulation}.topbar .menu-btn,.topbar .help-btn{color:#fff!important}.topbar .title{display:inline-flex;align-items:center;gap:10px;margin-left:8px;min-width:0;overflow:hidden;white-space:nowrap}.topbar .brand-mark{display:inline-grid;place-items:center;width:28px;height:28px;flex:0 0 auto;background:#fff;color:#1c4a5a;border-radius:8px;font-weight:800;font-size:16px;line-height:1}.topbar .title-name{font-weight:700;font-size:16px;letter-spacing:-.01em;color:#fff;overflow:hidden;text-overflow:ellipsis}.topbar .spacer{flex:1}.topbar .logout-btn{display:inline-flex;align-items:center;gap:6px;min-width:unset;min-height:40px;height:40px;padding-inline:14px;font-size:14px;font-weight:600;border-radius:10px;color:#fff!important;border:1px solid rgba(255,255,255,.45);background:#ffffff0f;cursor:pointer;transition:background-color var(--dur) var(--ease-out),color var(--dur) var(--ease-out),border-color var(--dur) var(--ease-out)}.topbar .logout-btn:hover{color:#1c4a5a!important;border-color:#fff!important;background:#fff!important}.sidebar-nav{padding:12px 10px 16px}.sidebar-header{padding:20px 12px 16px;border-bottom:1px solid var(--border-1);margin-bottom:8px}.sidebar .brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:inherit;border-radius:var(--radius-sm)}.sidebar .logo{width:36px;height:36px;object-fit:contain}.sidebar .brand-text{line-height:1.1}.sidebar .brand-title{font-weight:800;font-size:17px;letter-spacing:-.02em;color:var(--brand)}.nav-item{display:flex;align-items:center;gap:12px;min-height:46px;padding:4px 10px;margin-bottom:2px;border-radius:10px;font-size:14px;color:var(--text-1);text-decoration:none;transition:background-color var(--dur) var(--ease-out),color var(--dur) var(--ease-out);cursor:pointer}.nav-item .nav-icon{color:var(--text-2);display:inline-flex;flex:0 0 auto}.nav-item:hover{background:var(--surface-3)}.nav-item.active{background:var(--brand-soft)!important;color:var(--brand)!important;font-weight:600}.nav-item.active .nav-icon{color:var(--brand)}.filter-card{padding:14px 18px}.filter-grid{display:flex;align-items:flex-end;justify-content:flex-end;gap:16px;flex-wrap:wrap}.filter-grid .field{width:auto}.filter-condominio{min-width:240px}.filter-month{width:200px}.filter-unidad{min-width:220px}.filter-estado{width:180px}.filter-id{width:160px}.filter-rol{width:200px}.condominio-search{width:260px}.filter-periodo{width:200px}.combo-box{position:relative;min-width:0}.combo-box .field{width:100%}.combo-box .combo-clear{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:26px;height:26px;padding:0;border:0;border-radius:50%;background:transparent;color:var(--text-3);cursor:pointer}.combo-box .combo-clear:hover{background:var(--brand-soft);color:var(--brand)}.combo-list{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:40;max-height:280px;overflow-y:auto;padding:4px;background:var(--surface-1);border:1px solid var(--border-1);border-radius:var(--radius-lg);box-shadow:var(--shadow-md, 0 10px 30px rgba(0, 0, 0, .12))}.combo-item{display:flex;flex-direction:column;align-items:flex-start;width:100%;gap:2px;padding:10px 12px;text-align:left;background:transparent;border:0;border-radius:var(--radius);color:var(--text-1);font-size:14px;cursor:pointer}.combo-item:hover{background:var(--brand-soft)}.combo-item.combo-muted{color:var(--text-2);cursor:default}.combo-item.combo-muted:hover{background:transparent}.filter-summary{display:flex;align-items:center;gap:8px;margin-bottom:10px;color:var(--text-2);font-size:13px}.resumen-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px}.resumen-item{display:flex;flex-direction:column;gap:4px;padding:12px 14px;background:var(--surface-2);border:1px solid var(--border-1);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.resumen-label{font-size:13px;font-weight:600;color:var(--text-2)}.resumen-value{font-size:20px;font-weight:800}.resumen-value.debt{color:#991b1b}.historial-card{margin-bottom:18px}.option-title{font-weight:700}.option-sub{color:var(--text-2);font-size:12px}.selector-row{display:flex;align-items:center;gap:16px;flex-wrap:wrap;padding:16px;background:var(--surface-2);border:1px solid var(--border-1);border-radius:var(--radius);box-shadow:var(--shadow-sm)}.selector-row .field{width:min(360px,100%)}.community-filter{width:min(360px,46vw)}.fixed-community{display:inline-flex;align-items:center;gap:10px;min-height:54px;min-width:min(330px,42vw);padding:8px 12px;background:var(--surface-2);border:1px solid var(--border-1);border-radius:var(--radius-sm)}.fixed-community .fc-icon{color:var(--brand)}.fixed-community span{font-size:12px;font-weight:800;text-transform:uppercase;color:var(--text-2)}.fixed-community strong{max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dashboard{display:grid;gap:18px}.period-strip{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr)) auto;align-items:center;gap:10px;padding:14px 16px;background:var(--surface-2);border:1px solid var(--border-1);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.period-strip>div{display:grid;gap:4px;min-width:0}.period-strip.role-strip{grid-template-columns:minmax(220px,1.4fr) repeat(2,minmax(160px,.8fr)) auto}.period-strip .strip-label{font-size:12px;font-weight:800;text-transform:uppercase;color:var(--text-2)}.period-strip strong{font-size:18px;line-height:1.2;display:block;max-width:100%;overflow-wrap:anywhere}.metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:14px}.metric{display:flex;align-items:center;gap:14px;min-height:92px;padding:18px;transition:transform var(--dur) var(--ease-out),box-shadow var(--dur) var(--ease-out),border-color var(--dur) var(--ease-out)}.metric:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:var(--border-2)}.metric-icon{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;flex:0 0 auto;border-radius:10px;background:var(--brand-soft);color:var(--brand);font-size:24px}.metric-value{font-size:clamp(21px,1.2vw + 18px,25px);font-weight:800;line-height:1.1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.metric-label{font-size:14px;color:var(--text-2)}.metric--danger .metric-value{color:#991b1b}.metric--danger .metric-icon{background:#fee2e2;color:#991b1b}.content-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);gap:16px;align-items:start}.panel-main,.panel-side,.panel{padding:18px;display:grid;gap:12px}.money-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid var(--border-1);border-radius:var(--radius-sm);margin-top:18px}.money-grid>div{padding:12px;border-right:1px solid var(--border-1)}.money-grid>div:last-child{border-right:0}.money-grid span{display:block;font-size:12px;font-weight:800;text-transform:uppercase;color:var(--text-2)}.money-grid strong{display:block;font-size:18px;margin-top:2px}.status-list,.row-list,.alerts,.action-list{display:grid;gap:10px;margin-top:18px}.row-list.compact{gap:8px;margin-top:18px}.status-item{display:grid;grid-template-columns:14px 1fr auto;align-items:center;gap:10px;padding:12px;background:var(--surface-3);border-radius:var(--radius-sm)}.status-dot{width:10px;height:10px;border-radius:50%;background:var(--text-3)}.status-dot.open{background:#2d8cff}.status-dot.calculated{background:#9a6b00}.status-dot.published{background:var(--accent)}.status-dot.closed{background:var(--text-2)}.status-item span{font-size:14px}.status-item strong{font-weight:800}.row-list.compact{gap:8px}.row-item{display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px;background:var(--surface-3);border:1px solid var(--border-1);border-radius:var(--radius-sm);transition:background-color var(--dur) var(--ease-out),border-color var(--dur) var(--ease-out)}.row-item:hover{background:var(--surface-2);border-color:var(--border-2)}.row-item .row-icon{color:var(--brand);display:inline-flex}.row-item strong{font-size:14px}.row-item span{font-size:13px;color:var(--text-2)}.unit-row{grid-template-columns:38px minmax(0,1fr) minmax(150px,auto)}.row-list,.summary-list{margin-top:18px}.summary-list dl{margin:0}.summary-row{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid var(--brand-soft)}.summary-row:last-child{border-bottom:0}.summary-row dt{font-size:14px;font-weight:700;color:var(--text-2)}.summary-row dd{margin:0;font-weight:800}.chip-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.chip{display:inline-flex;align-items:center;gap:4px;padding:5px 8px;border-radius:999px;background:var(--brand-soft);color:var(--brand);font-size:12px;font-weight:800;white-space:nowrap}.chip-select{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:999px;border:1px solid var(--border-1);background:var(--surface-2);color:var(--text-2);font-size:13px;font-weight:700;cursor:pointer;transition:all var(--dur) var(--ease-out)}.chip-select input{display:none}.chip-select.chip-on{background:var(--accent-soft);border-color:var(--accent);color:var(--accent-strong)}.chips{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px}.field-inline{display:flex;flex-direction:row;align-items:center;gap:8px;flex:1 1 auto;min-width:0}.field-inline .field-input{flex:1 1 auto}.field-icon{display:inline-flex;align-items:center;color:var(--text-3)}.filter-bar{display:flex;flex-wrap:wrap;gap:8px;align-items:flex-end}.alert{display:grid;grid-template-columns:36px 1fr;align-items:center;gap:10px;padding:12px;background:var(--surface-3);border:1px solid var(--border-1);border-radius:var(--radius-sm);text-decoration:none;color:inherit;transition:background-color var(--dur) var(--ease-out),border-color var(--dur) var(--ease-out)}.alert:hover{background:var(--surface-2);border-color:var(--border-2)}.alert .alert-icon{color:var(--text-2);display:inline-flex}.alert.warn{background:#fff8e6;border-color:#f0d18b}.alert.warn .alert-icon{color:#8a6100}.alert.danger{background:#fff1f1;border-color:#f0b8b8}.alert.danger .alert-icon{color:#a32424}.alert strong{font-size:14px;display:block}.alert span{font-size:13px;color:var(--text-2)}.action-list{margin-top:18px}.action-list .btn{width:100%;display:flex;justify-content:flex-start}.config-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));background:var(--surface-2);border:1px solid var(--border-1);border-radius:var(--radius);box-shadow:var(--shadow-sm)}.config-strip .config-cell{padding:14px 16px;border-right:1px solid var(--border-1);min-width:0}.config-strip .config-cell:last-child{border-right:0}.config-strip .cc-label{font-size:12px;font-weight:800;text-transform:uppercase;color:var(--text-2);margin-bottom:4px}.config-strip .cc-value{font-weight:700;font-size:15px}.config-strip .strip-sub{font-size:12px;color:var(--text-2);margin-top:2px}.status-bar{display:flex;align-items:center;gap:14px;padding:16px 18px;background:var(--surface-2);border:1px solid var(--border-1);border-radius:var(--radius);box-shadow:var(--shadow-sm);flex-wrap:wrap}.status-icon{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:10px}.status-bar-abierto .status-icon{color:#075985;background:#e0f2fe}.status-bar-calculado .status-icon{color:#854d0e;background:#fef3c7}.status-bar-publicado .status-icon{color:#166534;background:#dcfce7}.status-bar-cerrado .status-icon{color:var(--text-2);background:var(--border-1)}.status-info{flex:1 1 auto;min-width:0}.status-info strong{font-size:15px}.status-info p{margin:2px 0 0;font-size:13px;color:var(--text-2);max-width:640px}.status-actions{display:flex;gap:10px}.done-pill{display:inline-flex;align-items:center;gap:8px;min-height:42px;padding:0 16px;border-radius:6px;background:var(--accent-soft);color:#0b6f3a;font-weight:700;font-size:14px}.tab-bar{display:flex;gap:6px;padding:4px;background:var(--surface-3);border:1px solid var(--border-1);border-radius:12px;overflow-x:auto;margin-bottom:4px}.tab-btn{flex:1 1 0%;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 16px;border:none;border-radius:9px;background:transparent;color:var(--text-2);font-size:14px;font-weight:800;cursor:pointer;white-space:nowrap;transition:background-color var(--dur) var(--ease-out),color var(--dur) var(--ease-out),box-shadow var(--dur) var(--ease-out)}.tab-btn:hover{color:var(--text-1)}.tab-btn.active{background:var(--surface-2);color:#0a9b74;box-shadow:0 1px 3px #1423301a}.work-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:16px;align-items:start}.panel-side{align-self:start;position:sticky;top:16px}.balance-strip{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));margin-top:4px}.balance-strip .balance-cell{background:var(--surface-1);padding:12px;border-right:1px solid var(--border-1)}.balance-strip .balance-cell:last-child{border-right:0}.balance-strip .b-label{font-size:12px;font-weight:800;text-transform:uppercase;color:var(--text-2)}.balance-strip .b-value{font-weight:800;font-size:17px;margin-top:2px}.balance-strip .balance-final{background:var(--accent-soft)}.balance-strip .balance-final .b-value{color:var(--accent-strong)}.totals-strip{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));background:var(--surface-3);border-radius:var(--radius-sm);margin-top:4px}.totals-strip .total-cell{padding:12px}.totals-strip .t-label{font-size:12px;font-weight:800;text-transform:uppercase;color:var(--text-2)}.totals-strip .t-value{font-weight:800;font-size:15px;margin-top:2px}.totals-strip .totals-final{background:#e7f7ef;border-radius:var(--radius-sm)}.totals-strip .totals-final .t-value{color:var(--accent-strong)}.categoria-group{border:1px solid var(--border-1);border-radius:var(--radius);overflow:hidden}.categoria-header{display:flex;align-items:center;gap:10px;padding:12px 16px;background:var(--surface-3);border-bottom:1px solid var(--border-1)}.categoria-header h4{margin:0;font-size:14px;font-weight:800;text-transform:uppercase;letter-spacing:.03em;flex:1}.categoria-total{color:var(--brand);font-size:16px;font-weight:800}.torre-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:12px 16px;background:var(--surface-2);border:1px solid var(--border-1);border-radius:var(--radius);box-shadow:var(--shadow-sm)}.torre-head{display:inline-flex;align-items:center;gap:10px;color:var(--text-2);font-size:14px}.torre-head strong{color:var(--text-1)}.caja-cerrada{display:grid;place-items:center;padding:40px 18px}.caja-cerrada-card{display:flex;flex-direction:column;align-items:center;gap:12px;max-width:380px;text-align:center}.caja-cerrada-card .cc-icon{font-size:48px;color:var(--brand)}.caja-cerrada-card h3{margin:0;font-size:20px;font-weight:800}.caja-cerrada-card p{margin:0;color:var(--text-2);font-size:14px}.caja-cerrada-card .btn{width:100%}.side-section{padding:14px 0}.side-head{display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.03em;color:var(--text-2);margin-bottom:8px}.side-head svg{color:var(--brand);flex:0 0 auto}.side-section.danger .side-head svg{color:#991b1b}.side-section.danger .side-head{color:#991b1b}.summary-group{font-size:11px;font-weight:800;text-transform:uppercase;color:var(--text-3);letter-spacing:.03em;margin:10px 0 2px}.summary-row-detail{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:7px 0;font-size:14px}.summary-row-detail dd{margin:0;font-weight:700}.summary-row-detail.highlight{border-top:1px solid var(--border-1)}.summary-row-detail.highlight dt{font-weight:800;color:#0b6f3a}.summary-row-detail.highlight dd{color:#0b6f3a}.reopen-box{margin-top:12px;padding-top:12px;border-top:1px dashed var(--border-1)}.metrics-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:18px}.metric-card{display:flex;align-items:center;gap:14px;padding:16px;background:var(--surface-2);border:1px solid var(--border-1);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.metric-body{display:flex;flex-direction:column}.metric-card .metric-label{font-size:12px;color:var(--text-2);font-weight:600}.metric-card .metric-value{font-size:22px;font-weight:700;color:var(--text-1)}.metric-card .metric-icon{border-radius:12px}.metric-icon.info{background:#e3eafd;color:#185da8}.metric-icon.warning{background:#fef3c7;color:#854d0e}.metric-icon.danger{background:#fee2e2;color:#991b1b}.metric-icon.muted{background:var(--surface-3);color:var(--text-2)}.metric-icon.success{background:var(--success-soft);color:var(--accent-strong)}.metric-sub{font-size:11px;color:var(--text-3);margin-top:2px}.panel-sub{font-size:13px;color:var(--text-2);margin:-6px 0 2px}.config-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px}.config-card{display:flex;align-items:center;gap:12px;padding:14px 16px;background:var(--surface-2);border:1px solid var(--border-1);border-radius:var(--radius);box-shadow:var(--shadow-sm)}.config-card-icon{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:10px;background:var(--brand-soft);color:var(--brand);flex-shrink:0}.config-card>span:nth-of-type(2){flex:1;min-width:0;font-size:13px;font-weight:700;color:var(--text-2)}.config-card>strong{font-size:16px;font-weight:800}.config-card--accent{background:var(--accent-soft);border-color:#bfe6d3}.config-card--accent .config-card-icon{background:#fff;color:var(--accent-strong)}.config-card--accent>strong{color:var(--accent-strong)}.selection-summary{font-size:13px;font-weight:700;color:var(--accent-strong);display:inline-flex;align-items:center}.col-check{width:44px;text-align:center}.col-check input[type=checkbox]{width:16px;height:16px;accent-color:var(--accent)}.row-selected{background:var(--accent-soft)}.row-selected:hover{background:var(--accent-soft)!important}.form-stack{display:grid;gap:16px}.edificios-note{display:flex;align-items:flex-start;gap:10px;padding:12px;background:var(--surface-3);border:1px solid var(--border-1);border-radius:var(--radius)}.edificios-note.readonly{align-items:center;background:#eef4fb;border-color:#c6d8ee}.edificios-note .label{flex-shrink:0;color:var(--text-2);font-size:12px;font-weight:700;text-transform:uppercase}.edificios-note ul{margin:0;padding-left:18px;color:var(--text-1);font-size:14px}.edificios-note ul li{margin:2px 0}.edificios-note.readonly strong{margin-top:0}.period-preview{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:12px;background:var(--surface-3);border:1px solid var(--border-1);border-radius:var(--radius)}.period-preview span{display:block;color:var(--text-2);font-size:12px;font-weight:700;text-transform:uppercase}.period-preview strong{display:block;margin-top:4px;color:var(--text-1);font-size:16px}.form-section{display:grid;gap:10px;padding:12px 0 4px;border-top:1px solid #edf1f5}.form-section h3{margin:0;font-size:15px;font-weight:800;color:var(--text-1)}.form-section p{margin:0;color:var(--text-2);line-height:1.35}@media(max-width:600px){.period-preview{grid-template-columns:1fr}}.form-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:16px}.checkbox-line{display:inline-flex;align-items:center;gap:8px;font-size:14px;font-weight:600;color:var(--text-2)}.checkbox-line input[type=checkbox]{width:16px;height:16px;accent-color:var(--accent)}.modal-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:20px}.condo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px}.condo-card{display:flex;flex-direction:column;gap:14px;padding:16px;background:var(--surface-2);border:1px solid var(--border-1);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);cursor:pointer;transition:all var(--dur) var(--ease-out)}.condo-card:hover{border-color:var(--brand);box-shadow:var(--shadow-md);transform:translateY(-2px)}.condo-head{display:flex;align-items:center;gap:12px}.condo-logo{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;min-width:44px;border-radius:12px;background:var(--brand);color:#fff;font-size:20px;font-weight:800}.condo-stats{display:flex;gap:18px;padding:10px 0;border-top:1px solid var(--border-1);border-bottom:1px solid var(--border-1)}.condo-stats div{display:flex;flex-direction:column}.condo-stats strong{font-size:18px;font-weight:800}.condo-stats span{font-size:12px;color:var(--text-3);font-weight:600}.condo-actions{display:flex;gap:8px;justify-content:flex-end}.unit-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px}.unit-card{display:flex;flex-direction:column;gap:12px;padding:14px 16px;background:var(--surface-2);border:1px solid var(--border-1);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.unit-card-head{display:flex;align-items:center;gap:12px}.unit-card-head strong{font-size:15px}.unit-card-foot{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;border-top:1px solid var(--border-1);padding-top:10px}.panel-narrow{max-width:640px}.panel-note{margin-top:16px;padding:12px 14px;background:var(--brand-soft);border-radius:var(--radius-sm);font-size:13px;color:var(--brand-strong)}.panel-note strong{font-weight:800}.distribucion{display:grid;gap:10px}.dist-item{display:flex;align-items:center;gap:12px}.dist-item .dist-label{width:80px;text-align:right;font-size:13px;font-weight:600;color:var(--text-2)}.dist-bar{flex:1;height:12px;background:var(--surface-3);border-radius:6px;overflow:hidden}.dist-fill{height:100%;border-radius:6px;transition:width .3s ease}.dist-fill--warning{background:#f57f17}.dist-fill--danger{background:#d0021b}.dist-value{width:40px;font-size:14px;font-weight:700}.balance-table .cell-section td{background:var(--brand-soft);color:var(--brand-strong);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.5px;padding:10px 14px}.balance-table td.num{font-variant-numeric:tabular-nums}.balance-table .cuenta-detalle{display:block;font-size:11px;color:var(--text-3);font-weight:400}.balance-table .total-row td{background:var(--surface-3);border-top:2px solid var(--border-2);font-weight:700}.num.negative{color:var(--warn)}.col-cuenta{min-width:240px}.col-monto{min-width:160px;text-align:right}.verificacion-panel{display:block}.verificacion-badge{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border-radius:var(--radius);font-size:14px;font-weight:700;margin-bottom:12px}.verificacion-badge.ok{background:var(--accent-soft);color:var(--accent-strong)}.verificacion-badge.warn{background:#fef3c7;color:#854d0e}.verificacion-datos{display:flex;gap:28px;flex-wrap:wrap;margin:0}.verificacion-datos .v-item{display:flex;flex-direction:column}.verificacion-datos dd{order:-1;margin:0;font-size:18px;font-weight:800;font-variant-numeric:tabular-nums}.verificacion-datos dt{font-size:12px;font-weight:600;color:var(--text-2)}.estado-pill{display:inline-flex;padding:4px 10px;border-radius:999px;background:var(--surface-3);color:var(--text-2);font-size:11px;font-weight:600;text-transform:capitalize}.role-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:14px}.role-card{display:flex;flex-direction:column;gap:10px;padding:16px;background:var(--surface-3);border:1px solid var(--border-1);border-radius:var(--radius)}.role-head{display:flex;align-items:center;gap:10px}.role-head .role-icon{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:var(--radius-sm);color:var(--brand);background:var(--accent-soft)}.role-head strong{font-size:15px}.role-head .role-scope{font-size:12px;font-weight:600;color:var(--brand)}.role-scope{display:block;font-size:12px;font-weight:600;color:var(--brand)}.role-desc{font-size:13px;color:var(--text-2)}.role-perms{list-style:none;margin:0;padding:12px 0 0;border-top:1px solid var(--border-1);display:grid;gap:8px}.role-perms li{display:flex;gap:8px;align-items:flex-start;font-size:13px;color:var(--text-1)}.role-perms li svg{flex:0 0 auto;color:var(--success);margin-top:2px}.setting-row{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:14px 16px;background:var(--surface-3);border-radius:var(--radius);margin-top:4px}.setting-info{display:flex;align-items:center;gap:12px;flex:1 1 auto;min-width:0}.setting-info .setting-icon{color:var(--accent);flex:0 0 auto}.setting-info strong{display:block;font-size:15px}.setting-info span{font-size:13px;color:var(--text-2)}.switch{position:relative;display:inline-block;width:48px;height:26px;flex:0 0 auto}.switch input{opacity:0;width:0;height:0}.switch .slider{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--border-2);border-radius:999px;transition:background-color var(--dur) var(--ease-out);cursor:pointer}.switch .slider:before{content:"";position:absolute;width:20px;height:20px;left:3px;top:3px;background:#fff;border-radius:50%;transition:transform var(--dur) var(--ease-out);box-shadow:var(--shadow-sm)}.switch input:checked+.slider{background:var(--brand)}.switch input:checked+.slider:before{transform:translate(22px)}.code-badge{display:inline-block;padding:3px 8px;border-radius:6px;background:var(--accent-soft);color:var(--brand);border:1px solid #c5ddd4;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px;font-weight:700}.login-page{min-height:100vh;min-height:100dvh;display:grid;grid-template-columns:47fr 53fr;background:var(--surface-1);box-sizing:border-box}.login-visual{position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;padding:56px 48px;background:radial-gradient(720px 460px at 112% -12%,rgba(16,150,81,.55),transparent 62%),radial-gradient(640px 520px at -18% 118%,rgba(232,237,239,.12),transparent 58%),linear-gradient(165deg,var(--brand) 0%,var(--brand-strong) 100%)}.login-visual__bg{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.login-visual__grid{position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);background-size:44px 44px;opacity:.6}.login-visual__glow{position:absolute;border-radius:50%;filter:blur(70px)}.login-visual__glow--accent{width:340px;height:340px;right:-100px;top:40px;background:#10965159}.login-visual__glow--soft{width:380px;height:380px;left:-140px;bottom:-120px;background:#e8edef24}.login-visual__content{position:relative;z-index:2;width:100%;max-width:460px;display:flex;flex-direction:column;gap:34px}.login-visual__brand{display:flex;align-items:center;gap:14px}.login-visual__logo-chip{width:54px;height:54px;border-radius:14px;background:#fffffff0;display:flex;align-items:center;justify-content:center;box-shadow:0 10px 26px -12px #081a2180}.login-visual__logo{width:38px;height:38px;object-fit:contain}.login-visual__brand-text{display:flex;flex-direction:column;gap:2px}.login-visual__brand-name{color:#fff;font-size:19px;font-weight:800;letter-spacing:-.01em}.login-visual__brand-tag{color:#ffffff9e;font-size:13px}.login-visual__hero h2{margin:0 0 12px;color:#fff;font-size:clamp(26px,2.1vw + 10px,38px);font-weight:800;line-height:1.14;letter-spacing:-.02em}.login-visual__hero h2 em{font-style:normal;color:var(--accent)}.login-visual__subtitle{margin:0;max-width:400px;color:#ffffffb8;font-size:15px;line-height:1.6}.login-visual__art-wrap{position:relative}.login-visual__art{width:100%;max-width:460px;height:auto}.login-visual__stats{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:10px}.login-visual__stats li{display:flex;align-items:center;gap:10px;color:#ffffffd1;font-size:14px}.login-visual__stats .dot{width:8px;height:8px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 4px #10965140;flex:0 0 auto}.login-form-panel{display:flex;flex-direction:column;align-items:center;padding:clamp(32px,6vh,72px) clamp(24px,5vw,72px);box-sizing:border-box;overflow:auto}.login-form{width:100%;max-width:420px;box-sizing:border-box;margin:auto}.login-form__head{margin-bottom:30px}.login-form__logo{width:46px;height:46px;object-fit:contain;margin-bottom:20px}.login-form__head h1{margin:0 0 8px;color:var(--brand);font-size:clamp(23px,1.4vw + 16px,29px);font-weight:800;letter-spacing:-.02em;line-height:1.15}.login-form__intro{margin:0;color:var(--text-2);font-size:15px;line-height:1.5}.login-form form{display:flex;flex-direction:column;gap:18px}.login-form .field-input{min-height:50px;padding:0 14px;border-radius:var(--radius);background:var(--surface-2)}.login-form .field-input input{font-size:16px}.login-form__toggle{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border:0;background:transparent;color:var(--text-3);border-radius:var(--radius-sm);cursor:pointer;transition:color var(--dur) var(--ease-out),background-color var(--dur) var(--ease-out)}.login-form__toggle:hover{color:var(--brand);background:var(--brand-soft)}.login-form__toggle:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.login-form__row{display:flex;justify-content:flex-end;margin-top:-4px}.login-form__link{border:0;background:transparent;padding:4px 0;color:var(--brand);font-size:13.5px;font-weight:600;cursor:pointer}.login-form__link:hover{color:var(--brand-strong);text-decoration:underline}.login-form__submit{width:100%;min-height:50px;margin-top:2px;display:inline-flex;align-items:center;justify-content:center;gap:10px;border-radius:var(--radius)}.login-form__submit:disabled{opacity:.72;cursor:not-allowed}.login-form__spinner{width:18px;height:18px;border:2px solid rgba(255,255,255,.35);border-top-color:#fff;border-radius:50%;animation:login-spin .7s linear infinite}@keyframes login-spin{to{transform:rotate(360deg)}}.login-form__foot{margin:30px 0 0;text-align:center;color:var(--text-3);font-size:12.5px}.login-error{padding:11px 13px;color:#9f1d1d;background:#fff1f1;border:1px solid #f0b8b8;border-radius:10px;text-align:center;font-size:14px;line-height:1.4}.qr-box{display:flex;flex-direction:column;align-items:center;gap:10px}.qr-box img.qr{width:220px;height:220px;border:1px solid #dbe3ee;border-radius:var(--radius-sm)}.qr-meta{text-align:center}.qr-meta strong{font-size:15px;display:block}.qr-meta span{font-size:13px;color:var(--text-2)}.parking-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.parking-card{display:grid;gap:4px;padding:14px;background:#f8fafc;border:1px solid var(--border-1);border-radius:var(--radius)}.parking-card strong{font-size:15px}.parking-card span{font-size:13px;color:var(--text-2)}.parking-card small{font-size:12px;color:var(--text-2)}.scanner{max-height:260px;overflow:hidden;display:flex;justify-content:center;background:#000;border-radius:var(--radius);margin-bottom:12px}.scanner video{width:100%;max-width:480px}.valid-card{display:grid;gap:2px;padding:14px 16px;background:var(--surface-3);border:1px solid var(--border-1);border-radius:var(--radius-sm)}.valid-card strong{font-size:15px}.valid-card span{font-size:13px;color:var(--text-2)}.kpi-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px}.kpi-card{display:flex;align-items:center;gap:14px;padding:16px 18px;background:var(--surface-2);border:1px solid var(--border-1);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);transition:transform var(--dur) var(--ease-out),box-shadow var(--dur) var(--ease-out),border-color var(--dur) var(--ease-out)}.kpi-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:var(--border-2)}.kpi-icon{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;flex:0 0 auto;border-radius:10px;background:var(--brand-soft);color:var(--brand)}.kpi-value{font-size:clamp(21px,1.2vw + 18px,25px);font-weight:800;line-height:1.1}.kpi-label{font-size:14px;color:var(--text-2)}.unidades-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}.unidad-card{display:grid;gap:10px;padding:18px;background:var(--surface-2);border:1px solid var(--border-1);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);transition:transform var(--dur) var(--ease-out),box-shadow var(--dur) var(--ease-out),border-color var(--dur) var(--ease-out)}.unidad-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:var(--border-2)}.unidad-numero{font-size:18px;font-weight:800}.unidad-tipo{display:inline-block;margin-left:8px;padding:2px 8px;border:1px solid var(--border-2);border-radius:6px;background:var(--accent-soft);color:var(--brand);font-family:ui-monospace,Menlo,monospace;font-size:12px;font-weight:700}.unidad-info{display:grid;gap:6px}.unidad-info>div{display:flex;gap:8px;align-items:center;font-size:14px;color:var(--text-2)}.unidad-flags{display:flex;flex-wrap:wrap;gap:6px}.chip-pago{background:#e3f2fd;color:#1565c0}.chip-boleta{background:#e8f5e9;color:#2e7d32}.chip-visitas{background:#fff3e0;color:#b45309}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1400;background:#0a202480;display:flex;align-items:flex-start;justify-content:center;padding:48px 16px 24px;overflow-y:auto}.modal{display:flex;flex-direction:column;width:100%;background:var(--surface-2);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);overflow:hidden;animation:modal-in .18s var(--ease-out)}.modal-backdrop--top{align-items:flex-start}@keyframes modal-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}.modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:20px 24px 12px}.modal-header h3{margin:0}.modal-header .modal-sub{font-size:14px;color:var(--text-2);margin:4px 0 0}.modal-body{padding:8px 24px 20px;overflow-y:auto;flex:1 1 auto;min-height:0}.modal-actions{display:flex;align-items:center;justify-content:flex-end;gap:12px;padding:14px 24px;border-top:1px solid var(--border-1);flex-wrap:wrap;box-sizing:border-box;min-width:0}.modal-form{display:grid;grid-template-columns:1fr 1fr;gap:16px}.modal-form .span-2{grid-column:1 / -1}.check-group{display:flex;flex-wrap:wrap;align-items:center;gap:10px 24px;padding:10px 0}.check-group .checkbox-line,.check-group label[class*=check],.check-group .check-item{display:inline-flex;align-items:center;gap:8px;min-height:44px;font-size:14px;font-weight:600;color:var(--text-1);cursor:pointer}.check-group input[type=checkbox],.check-group input[type=radio]{width:16px;height:16px;accent-color:var(--accent);flex:0 0 auto}.helper-text{font-size:12px;line-height:1.45;color:var(--text-3);margin:4px 0 0}.helper-text+.helper-text{margin-top:2px}.form-section{display:grid;gap:16px}.form-section__title{display:flex;align-items:center;gap:8px;color:var(--brand);font-size:13px;font-weight:700;letter-spacing:.03em;text-transform:uppercase}.form-section h3{margin:0;font-size:15px}.type-picker{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px}.type-card{display:flex;flex-direction:column;gap:4px;padding:12px;border:1px solid var(--border-1);border-radius:var(--radius);background:var(--surface-2);cursor:pointer;text-align:left;transition:border-color var(--dur) var(--ease-out),background-color var(--dur) var(--ease-out)}.type-card strong{font-size:14px;display:flex;align-items:center;gap:8px}.type-card span{font-size:12.5px;color:var(--text-2)}.type-card.selected{border-color:var(--accent);background:var(--accent-soft)}@media(min-width:960px){.topbar .menu-btn{display:none}}@media(max-width:1180px){.filter-card .section-head{flex-wrap:wrap}.filter-card .filter-grid{flex:1 1 100%;justify-content:flex-start}.period-strip,.period-strip.role-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.period-strip a,.period-strip.role-strip a{justify-content:center}.money-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.content-grid,.skeleton-panels{grid-template-columns:1fr}}@media(max-width:960px){.period-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.metrics-grid{grid-template-columns:repeat(2,1fr)}.community-filter{width:100%}.fixed-community{min-width:0;width:100%}}@media(max-width:767.98px){:root{--font-title: clamp(22px, 2vw + 16px, 26px);--font-section: 17px}.page-content{width:100%;max-width:100%;overflow-x:hidden;overflow-x:clip}.page-content>*,.main-content>*,.page>*{min-width:0}.loader-container{justify-content:center}.topbar .title-name{font-size:15px}.topbar .logout-label{display:none}.topbar .logout-btn{padding-inline:10px}.page-header,.section-head,.header,.top{flex-direction:column}.section-head-actions,.header-actions,.top-actions{width:100%}.section-head-actions .btn,.header-actions .btn,.top-actions .btn{flex:1 1 auto}.filter-grid{flex-direction:column;align-items:stretch;gap:16px}.filter-grid .field,.filter-condominio,.filter-month,.filter-unidad,.filter-estado,.filter-id,.filter-rol,.condominio-search,.filter-periodo{width:100%!important}.selector-row{flex-direction:column;align-items:stretch}.selector-row .field{width:100%}.period-strip,.period-strip.role-strip{grid-template-columns:1fr;gap:10px}.period-strip strong{font-size:16px}.metrics{grid-template-columns:1fr}.metric{min-height:72px;padding:14px}.content-grid,.work-grid,.config-strip{grid-template-columns:1fr}.config-strip .config-cell{border-right:0;border-bottom:1px solid var(--border-1)}.config-strip .config-cell:last-child{border-bottom:0}.balance-strip{grid-template-columns:1fr 1fr;gap:8px}.balance-strip .balance-cell{border:1px solid var(--border-1);border-radius:var(--radius-sm)}.balance-strip .balance-cell:last-child{grid-column:1 / -1}.totals-strip{grid-template-columns:1fr 1fr}.money-grid{grid-template-columns:1fr}.money-grid>div{border-right:0;border-bottom:1px solid var(--border-1)}.money-grid>div:last-child{border-bottom:0}.money-grid strong{font-size:16px}.status-item{grid-template-columns:14px 1fr}.row-item,.unit-row{grid-template-columns:34px minmax(0,1fr)}.row-item .status,.row-item .chips{grid-column:2;justify-content:flex-start}.metrics-grid{grid-template-columns:1fr}.metric-card{padding:14px}.metric-card .metric-value{font-size:20px}.status-bar{flex-direction:column;align-items:flex-start}.torre-bar{flex-direction:column;align-items:stretch}.torre-select{width:100%}.panel-main,.panel-side,.panel{padding:14px}.panel-side{position:static}.content-grid{gap:12px}.modal-backdrop{padding:24px 8px 8px}.modal-form{grid-template-columns:1fr}.modal-form .span-2{grid-column:auto}.modal-actions{flex-direction:column;flex-wrap:nowrap;align-items:stretch}.modal-actions .btn{width:100%;flex:1 1 auto;justify-content:center;min-height:44px}.modal-actions .btn-primary,.modal-actions .btn-danger{order:1}.modal-actions .btn-stroked,.modal-actions .btn-danger-stroked,.modal-actions .btn-ghost,.modal-actions .btn:not([class*=btn-]){order:2}.check-group{flex-direction:column;align-items:stretch;gap:6px;width:100%}.check-group .checkbox-line,.check-group label[class*=check],.check-group .check-item{justify-content:flex-start}.checkbox-line,.checkbox-stack .checkbox-line{min-height:44px}.role-grid{grid-template-columns:1fr}.verificacion-datos{flex-direction:column;gap:16px}.kpi-row{grid-template-columns:1fr}.page-header h1,.page-header h2,.header h1,.header h2{font-size:24px}.modal-form,.form-grid-2,.form-grid-3,.form-grid-2-even,.dialog-form,.grid-2,.grid-3,.pago-form,.montos-form,.scan-form,.selector-row,.type-choice,.resumen-grid,.distribucion,.search-grid,.form-row,.fields-row{grid-template-columns:1fr!important}.modal-form .span-2,.form-grid-2 .span-2,.form-grid-3 .span-2,.form-grid-2-even .span-2,.dialog-form .span-2,.grid-2 .span-2,.grid-3 .span-2,.pago-form .span-2,.montos-form .span-2{grid-column:auto!important}}@media(max-width:767.98px){.config-grid,.form-grid-2{grid-template-columns:1fr}.table-wrap{overflow:visible!important}.table{display:block!important;min-width:0!important;width:100%!important}.table thead{display:none!important;height:0!important;min-height:0!important}.table tbody{display:block!important;width:100%!important}.table tbody tr{display:flex!important;flex-direction:column!important;width:100%!important;gap:0!important;padding:14px 16px!important;margin-bottom:12px!important;background:var(--surface-2)!important;border:1px solid var(--border-1)!important;border-radius:var(--radius-lg)!important;box-shadow:var(--shadow-sm)!important}.table tbody tr:hover{background:var(--surface-2)!important}.table td[data-label]{display:flex!important;justify-content:space-between!important;align-items:center!important;gap:12px!important;min-height:44px!important;padding:7px 0!important;border:none!important;text-align:right!important;font-size:14px!important;line-height:1.4!important}.table td[data-label]:before{content:attr(data-label)!important;flex:1 1 0%!important;min-width:0!important;font-size:13px!important;font-weight:600!important;color:var(--text-2)!important;text-align:left!important}.table td[data-label].cell-title{flex-direction:column!important;align-items:flex-start!important;gap:2px!important;padding-bottom:10px!important;margin-bottom:6px!important;border-bottom:1px solid var(--border-1)!important;text-align:left!important}.table td[data-label].cell-title:before{content:none!important}.table td[data-label].cell-title strong{font-size:16px!important}.table td[data-label].cell-actions{flex-direction:row!important;justify-content:flex-end!important;flex-wrap:wrap!important;gap:8px!important;margin-top:6px!important;padding-top:12px!important;border-top:1px solid var(--border-1)!important}.table td[data-label].cell-actions:before{content:none!important}.table td[data-label].cell-actions .btn-icon{flex:1 1 auto}.paginator{flex-wrap:wrap;gap:8px;justify-content:center}.paginator-size,.paginator-nav .paginator-btn--first,.paginator-nav .paginator-btn--last{display:none}.table.table-cuotas td{width:auto!important}}@media(max-width:1024px){.login-page{grid-template-columns:42fr 58fr}.login-visual{padding:44px 34px}.login-visual__content{gap:28px}.login-visual__hero h2{font-size:clamp(24px,2.2vw + 8px,30px)}.login-visual__stats{display:none}.login-form-panel{padding:40px 32px}}@media(max-width:767.98px){.login-page{display:block;grid-template-columns:none;background:var(--surface-1);height:100%;min-height:100vh;min-height:100dvh}.login-visual{display:none}.login-form-panel{min-height:100vh;min-height:100dvh;padding:calc(56px + var(--safe-top)) 20px calc(40px + var(--safe-bottom));overflow:visible}.login-form{margin:0 auto;max-width:440px}.login-form__head{margin-bottom:26px}.login-form__head h1{font-size:24px}.login-form__intro{font-size:14px}.login-form form{gap:16px}}@media(max-width:380px){.login-form-panel{padding-right:16px;padding-left:16px}.login-form__head{margin-bottom:22px}.login-form form{gap:14px}.login-form__row{justify-content:flex-start}}@media(max-height:600px)and (max-width:767.98px)and (orientation:landscape){.login-form-panel{min-height:auto;padding:calc(24px + var(--safe-top)) 20px calc(24px + var(--safe-bottom))}.login-form__head{margin-bottom:18px}.login-form__logo{width:38px;height:38px;margin-bottom:12px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.sidebar .brand-subtitle{font-size:12px;opacity:.7;color:var(--text-2)}.tenant-banner{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 16px;background:var(--brand);color:#fff;font-size:13px;flex-wrap:wrap}.tenant-banner-text{font-weight:500}.tenant-banner-text strong{font-weight:700}.tenant-banner-exit{display:inline-flex;align-items:center;gap:6px;border:1px solid rgba(255,255,255,.55);background:transparent;color:#fff;font-weight:600;font-size:12px;padding:5px 10px;border-radius:var(--radius-sm);cursor:pointer;transition:background-color var(--dur) var(--ease-out)}.tenant-banner-exit:hover{background:#ffffff24}@media(max-width:767.98px){body{overflow-x:hidden}:root{--font-title: clamp(20px, 6vw, 25px);--font-section: clamp(16px, 4.8vw, 18px)}.kpi-value{font-size:clamp(17px,5.5vw,21px)}.metric-value,.metric-card .metric-value,.metric .metric-value{font-size:clamp(16px,5vw,20px)}.page{gap:14px}.panel-main,.panel-side,.panel{padding:14px}.content-grid{gap:14px}.filter-card{padding:12px 14px}.page>*,.panel>*,.card>*,.content-grid>*,.work-grid>*,.metrics-grid>*{min-width:0;max-width:100%}.field,input,select,textarea,.field-input,.field select,.field input{min-width:0;max-width:100%}}
