:root{--bg: #f4f7fb;--panel: #ffffff;--line: #e6ebf2;--text: #16202f;--muted: #6b7688;--brand: #3366ff;--brand-soft: #e9efff;--ok: #0f9d6a;--warn: #d97706;--danger: #d93025;--shadow: 0 8px 24px rgba(22, 32, 47, .08)}*{box-sizing:border-box}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;background:linear-gradient(180deg,#f7f9fd 0%,var(--bg) 100%);color:var(--text)}.container{width:min(1500px,96vw);margin:20px auto 40px;padding:0 8px}.auth-container{max-width:560px}.auth-panel{margin-top:80px}.auth-form{margin-top:12px}.auth-message{display:block;margin-top:12px;color:#5c6b82}.building-name{margin:6px 0 0;font-weight:600;color:#2f4f8f}.account-block{align-items:center}.account-menu-wrap{position:relative}.account-btn{border:1px solid #cfd8e6;background:#fff;color:#2d3b53;border-radius:999px;padding:4px 10px 4px 4px;display:inline-flex;align-items:center;gap:8px;cursor:pointer}.avatar-chip{width:28px;height:28px;border-radius:999px;background:#e9efff;color:#3153c9;display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:700}.account-name{max-width:170px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.account-menu{position:absolute;right:0;top:calc(100% + 6px);min-width:180px;background:#fff;border:1px solid #d9e2f1;border-radius:12px;padding:6px;box-shadow:0 10px 24px #14285026;z-index:10;display:flex;flex-direction:column;gap:4px}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#131d2e59;display:flex;align-items:center;justify-content:center;z-index:30;padding:16px}.modal-panel{width:min(680px,96vw);margin:0}.password-modal-form{grid-template-columns:1fr}.app-header{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:14px}.app-header h1{margin:0;font-size:28px;letter-spacing:-.02em}.app-header p{margin:6px 0 0;color:var(--muted)}.status-chip{background:#eef3ff;color:#2a4dbf;border:1px solid #dbe6ff;border-radius:999px;padding:8px 14px;font-size:13px;max-width:520px}.tabs{display:flex;gap:8px;margin-bottom:12px}.tab-btn{border:1px solid var(--line);background:#fff;color:#3a4456;border-radius:999px;padding:10px 16px;cursor:pointer;transition:all .2s ease}.tab-btn:hover{border-color:#b8c6df}.tab-btn.active{background:var(--brand);color:#fff;border-color:var(--brand);box-shadow:0 6px 16px #3366ff47}.panel{background:var(--panel);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);padding:14px;margin-bottom:12px}.panel h2{margin:0 0 10px;font-size:18px}.panel p{margin-top:0;color:var(--muted)}.panel-head{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}.row{display:flex;flex-wrap:wrap;gap:8px}.row.tight{gap:6px}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:8px}.form-grid label{display:flex;flex-direction:column;gap:6px;font-size:13px;color:#4b5b73}.form-grid .grid-break{grid-column:1 / -1}input,select,button{border-radius:10px;border:1px solid #cfd8e6;background:#fff;color:var(--text);padding:9px 10px;font-size:14px}input:focus,select:focus{outline:2px solid #dfe8ff;border-color:#9cb4ff}button{background:var(--brand);color:#fff;border-color:var(--brand);cursor:pointer;transition:all .15s ease}button:hover{filter:brightness(.95)}button.ghost{background:#fff;color:#2f3c52;border-color:#cdd8ea}button.ghost.danger{color:#b42318;border-color:#f2b9b4}.metrics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:8px}.metric-card{border:1px solid var(--line);border-radius:12px;padding:10px;background:#fbfcff;display:flex;flex-direction:column;gap:6px}.metric-card small{color:var(--muted)}.metric-card strong{font-size:22px;letter-spacing:-.01em}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:12px}.table-wrap.compact{max-height:320px}.detail-table-wrap{max-height:560px}.right{text-align:right}.inline-input{max-width:110px;padding:6px 8px}.inline-input-wide{min-width:180px;max-width:260px;padding:6px 8px}.config-layout{display:flex;flex-direction:column;gap:14px}.config-hint{border-color:#c9d8ff;background:#f4f8ff}.config-hint p{margin:0;color:#32425c;line-height:1.55}.config-card{padding:18px}.config-card h3{margin:0 0 12px;font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#5b6b84}.config-card-header{display:flex;align-items:flex-start;gap:12px;margin-bottom:14px}.config-card-header-between{justify-content:space-between;flex-wrap:wrap;align-items:center}.config-card-icon{width:40px;height:40px;border-radius:11px;background:#edf2ff;display:inline-flex;align-items:center;justify-content:center;font-size:20px}.config-card-header h2{margin:0}.config-card-header p{margin:5px 0 0}.config-separator{width:100%;height:1px;background:#e9edf5;margin:6px 0 4px}.period-update-grid{margin-top:4px}.form-action{align-self:end}.fx-grid{grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}.fx-actions{align-self:end}table{width:100%;border-collapse:collapse;min-width:980px}th,td{padding:8px 10px;border-bottom:1px solid var(--line);text-align:left;vertical-align:middle;white-space:nowrap}th{position:sticky;top:0;background:#f6f9ff;z-index:1;color:#2c3e58}tbody tr:hover{background:#f8fbff}.row-updated{background:#eafbf2!important;animation:pulse 1.2s ease}.row-error{background:#fff7f6!important}.row-active{background:#f3f4f6!important}.field-note{margin-top:6px;font-size:12px;line-height:1.3}.field-note.error{color:#b42318}.carry-cell{min-width:140px}.carry-readonly{display:inline-flex;align-items:center;gap:4px}.carry-input{width:92px;padding:5px 7px}.amount-input{width:96px}.carry-input,.amount-input{-moz-appearance:textfield;-webkit-appearance:textfield;appearance:textfield}.carry-input::-webkit-outer-spin-button,.carry-input::-webkit-inner-spin-button,.amount-input::-webkit-outer-spin-button,.amount-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.icon-btn{width:24px;min-width:24px;height:24px;border-radius:8px;padding:0;display:inline-flex;align-items:center;justify-content:center;line-height:1}.icon-btn.subtle{opacity:.55}.icon-btn.subtle:hover{opacity:1}.subtle{color:#7a8699;font-size:12px}@keyframes pulse{0%{box-shadow:inset 0 0 0 999px #1baa6b2e}to{box-shadow:inset 0 0 0 999px #1baa6b08}}.badge{display:inline-flex;padding:4px 8px;border-radius:999px;font-size:12px;border:1px solid transparent}.badge-paid,.badge-paid_on_time,.badge-paid_late{color:#0a7c52;background:#e8fbf3;border-color:#bcefd7}.badge-partial,.badge-partial_on_time{color:#1d4ed8;background:#eef4ff;border-color:#c7d9ff}.badge-partial_penalized,.badge-partial_late,.badge-late_partial{color:var(--warn);background:#fff7e8;border-color:#ffddb3}.badge-debtor,.badge-pending{color:var(--danger);background:#fff0ef;border-color:#ffd0cc}.debt{color:var(--danger);font-weight:600}.ok{color:var(--ok);font-weight:600}@media (max-width: 900px){.app-header{flex-direction:column}.status-chip{width:100%}.metric-card strong{font-size:19px}}
