:root{--bg-page: #1a1a2e;--bg-surface: #16213e;--bg-control: #0f3460;--border-hairline: #2a2a5a;--bg-hover-control: #1a4a80;--bg-hover-card: #1c2d56;--overlay-white-03: rgba(255, 255, 255, .03);--overlay-white-04: rgba(255, 255, 255, .04);--overlay-white-06: rgba(255, 255, 255, .06);--overlay-white-08: rgba(255, 255, 255, .08);--text-primary: #eee;--text-secondary: #aaa;--text-muted: #888;--text-faint: #666;--text-dimmer: #555;--accent-primary: #e94560;--accent-primary-tint: rgba(233, 69, 96, .15);--accent-gold: #f7c948;--accent-gold-deep: #e8a521;--accent-gold-shadow: #c9860a;--accent-gold-tint: rgba(247, 201, 72, .12);--info-blue: #64b5f6;--link-blue: #6ea8fe;--link-blue-hover: #9dc4ff;--success-green: #4caf50;--warning-orange: #ff9800;--amber: #ffb74d;--purple: #ab47bc;--danger-red: #e57373;--neutral-badge: #999;--neutral-badge-tint: rgba(150, 150, 150, .15);--amber-tint: rgba(255, 183, 77, .15);--info-blue-tint: rgba(100, 181, 246, .15);--success-green-tint: rgba(76, 175, 80, .15);--warning-orange-tint: rgba(255, 152, 0, .15)}:root{font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}body{margin:0;min-width:320px}button{font-family:inherit;cursor:pointer}.error-boundary{max-width:24rem;margin:4rem auto;padding:1.5rem;text-align:center;border:1px solid var(--border, #ccc);border-radius:8px}.error-boundary button{margin-top:1rem;padding:.5rem 1rem}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%;width:100%}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:#1a1a2e;color:#eee;min-height:100vh;min-height:100dvh;overflow-x:hidden}.login-container{min-height:100vh;min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:1rem}.login-card{background:#16213e;border-radius:16px;padding:2rem;width:100%;max-width:400px;box-shadow:0 8px 32px #0006;margin:0 auto}.login-card h1{font-size:1.8rem;margin-bottom:.25rem}.subtitle{color:#888;margin-bottom:1.5rem;font-size:.95rem}.otp-form{display:flex;flex-direction:column;gap:.75rem}.otp-form input{padding:.85rem 1rem;border-radius:10px;border:1px solid #2a2a5a;background:#0f3460;color:#fff;font-size:1rem;outline:none;transition:border-color .2s}.otp-form input:focus{border-color:#e94560}.otp-form button[type=submit]{padding:.85rem;border-radius:10px;border:none;background:#e94560;color:#fff;font-size:1rem;font-weight:600;cursor:pointer;transition:opacity .2s}.otp-form button[type=submit]:disabled{opacity:.5;cursor:not-allowed}.otp-hint{font-size:.9rem;color:#aaa;text-align:center}.link-btn{background:none;border:none;color:#e94560;font-size:.9rem;cursor:pointer;text-align:center;padding:.25rem}.divider{display:flex;align-items:center;gap:.75rem;margin:1.25rem 0;color:#555;font-size:.85rem}.divider:before,.divider:after{content:"";flex:1;height:1px;background:#2a2a5a}.oauth-btn{display:flex;align-items:center;justify-content:center;gap:.75rem;padding:.85rem;border-radius:10px;border:1px solid #2a2a5a;background:#0f3460;color:#fff;font-size:.95rem;font-weight:500;cursor:pointer;margin-bottom:.75rem;transition:background .2s;width:100%}.oauth-btn:hover{background:#1a4a80}.oauth-btn:disabled{opacity:.5;cursor:not-allowed}.error{color:#e94560;font-size:.875rem;text-align:center;margin-top:.5rem}.dashboard{min-height:100vh;min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:1rem}.dashboard-card{background:#16213e;border-radius:16px;padding:2rem;width:100%;max-width:400px;text-align:center;box-shadow:0 8px 32px #0006;margin:0 auto}.avatar{width:72px;height:72px;border-radius:50%;background:#e94560;display:flex;align-items:center;justify-content:center;font-size:2rem;font-weight:700;margin:0 auto 1rem;overflow:hidden}.dashboard-card h2{font-size:1.5rem;margin-bottom:.5rem}.user-email{color:#aaa;font-size:.95rem;margin-bottom:.25rem}.user-name{font-weight:600;margin-bottom:.25rem}.user-id{color:#555;font-size:.75rem;margin-bottom:1.5rem;word-break:break-all}.logout-btn{padding:.75rem 2rem;border-radius:10px;border:1px solid #e94560;background:transparent;color:#e94560;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s}.logout-btn:hover{background:#e94560;color:#fff}.user-role{display:inline-block;background:#e94560;color:#fff;font-size:.75rem;font-weight:600;padding:.2rem .75rem;border-radius:20px;margin-bottom:1.5rem;text-transform:uppercase;letter-spacing:.05em}.menu-list{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1.5rem}.menu-row{display:flex;align-items:center;gap:.75rem;padding:.85rem 1rem;border-radius:12px;border:1px solid #2a2a5a;background:#0f3460;color:#fff;font-size:.95rem;font-weight:500;cursor:pointer;transition:background .2s;width:100%;text-align:left}.menu-row:hover{background:#1a4a80}.menu-icon{font-size:1.3rem;flex-shrink:0}.menu-label{flex:1}.menu-arrow{font-size:1.2rem;color:#555;line-height:1}.list-page{min-height:100vh;min-height:100dvh;display:flex;align-items:flex-start;justify-content:center;padding:1.5rem 1rem 1rem}.list-container{width:100%;max-width:480px}.list-header{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem}.list-header h2{flex:1;font-size:1.2rem;margin:0}.new-btn{background:#e94560;color:#fff;border:none;border-radius:8px;padding:.45rem .9rem;font-size:.85rem;font-weight:600;cursor:pointer;white-space:nowrap}.record-card{background:#16213e;border-radius:12px;padding:1rem;margin-bottom:.65rem;box-shadow:0 2px 8px #0000004d}.card-title{font-weight:600;font-size:1rem;margin-bottom:.2rem}.card-meta{color:#aaa;font-size:.85rem;margin-bottom:.5rem}.card-row{display:flex;justify-content:space-between;align-items:center;margin-top:.4rem}.card-amount{font-size:.9rem;font-weight:600;color:#eee}.card-phone{font-size:.85rem;color:#aaa}.card-dates{font-size:.78rem;color:#666;margin-top:.35rem}.card-balance{font-size:.78rem;color:#90caf9;font-weight:600;margin-top:.35rem}.payment-history{display:flex;flex-direction:column;gap:.4rem;margin-top:.5rem;padding:.6rem .75rem;background:#ffffff08;border-radius:8px;list-style:none}.payment-history-item{display:flex;justify-content:space-between;gap:.75rem;font-size:.78rem;color:#aaa;padding-bottom:.4rem;border-bottom:1px solid rgba(255,255,255,.06)}.payment-history-item:last-child{border-bottom:none;padding-bottom:0}.payment-history-ref{font-style:italic;color:#888}.badge{display:inline-block;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;padding:.15rem .55rem;border-radius:20px}.badge-active,.badge-accepted,.badge-occupied{background:#4caf5026;color:#4caf50}.badge-inactive,.badge-expired,.badge-terminated{background:#e9456026;color:#e94560}.badge-vacant{background:#64b5f626;color:#64b5f6}.badge-maintenance{background:#ff980026;color:#ff9800}.badge-pending{background:#ffeb3b26;color:#ffeb3b}.list-loader{padding:1.5rem 0;text-align:center}.list-status{color:#555;font-size:.85rem}.list-spinner{display:inline-block;width:20px;height:20px;border:2px solid #333;border-top-color:#888;border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.list-empty{color:#555;font-size:.9rem;text-align:center;padding:2.5rem 0}.form-page{min-height:100vh;min-height:100dvh;display:flex;align-items:flex-start;justify-content:center;padding:1.5rem 1rem 1rem}.form-card{background:#16213e;border-radius:16px;padding:1.5rem;width:100%;max-width:480px;box-shadow:0 8px 32px #0006;margin:0 auto}.form-header{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem}.form-header h2{font-size:1.3rem;margin:0}.back-btn{background:none;border:none;color:#e94560;font-size:.9rem;cursor:pointer;padding:0;white-space:nowrap}.field{display:flex;flex-direction:column;gap:.4rem;margin-bottom:1rem}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.field label{font-size:.85rem;color:#aaa}.field input,.field select,.field textarea{padding:.75rem 1rem;border-radius:10px;border:1px solid #2a2a5a;background:#0f3460;color:#fff;font-size:.95rem;outline:none;width:100%;transition:border-color .2s}.field input:focus,.field select:focus,.field textarea:focus{border-color:#e94560}.field input[type=file]{padding:.5rem;font-size:.85rem}.field textarea{resize:vertical;font-family:inherit}.field select option{background:#16213e}.searchable-select{position:relative;width:100%}.searchable-select-input{padding:.75rem 2.2rem .75rem 1rem;border-radius:10px;border:1px solid #2a2a5a;background:#0f3460;color:#fff;font-size:.95rem;outline:none;width:100%;transition:border-color .2s}.searchable-select-input:focus{border-color:#e94560}.searchable-select-input::placeholder{color:#aaa}.searchable-select-input:disabled{opacity:.6;cursor:not-allowed}.searchable-select-clear{position:absolute;right:.6rem;top:50%;transform:translateY(-50%);background:transparent;border:none;color:#aaa;font-size:1.1rem;line-height:1;padding:.2rem;cursor:pointer}.searchable-select-clear:hover{color:#fff}.searchable-select-options{position:absolute;z-index:20;top:calc(100% + .25rem);left:0;right:0;max-height:260px;overflow-y:auto;margin:0;padding:.25rem;list-style:none;background:#16213e;border:1px solid #2a2a5a;border-radius:10px;box-shadow:0 8px 24px #0006}.searchable-select-options li{padding:.6rem .75rem;border-radius:8px;font-size:.9rem;color:#fff;cursor:pointer}.searchable-select-options li.active{background:#e945602e}.searchable-select-options li.selected{color:#e94560;font-weight:600}.searchable-select-empty{color:#aaa!important;cursor:default!important;background:none!important}.searchable-select-options li.searchable-select-new{color:var(--info-blue, #64b5f6);border-top:1px solid var(--border-hairline, #2a2a5a);border-radius:0 0 8px 8px;margin-top:.25rem;font-weight:600}.report-filters .searchable-select{flex:1 1 200px;min-width:160px;width:auto}.report-filters .searchable-select-input{padding:.5rem 2rem .5rem .75rem;border-radius:8px;font-size:.9rem}.assignment-add .searchable-select{flex:1}.submit-btn{width:100%;padding:.9rem;border-radius:10px;border:none;background:#e94560;color:#fff;font-size:1rem;font-weight:600;cursor:pointer;margin-top:.5rem;transition:opacity .2s}.submit-btn:disabled{opacity:.5;cursor:not-allowed}.success{color:#4caf50;font-size:.875rem;text-align:center;margin-top:.5rem}@media (max-width: 400px){.field-row{grid-template-columns:1fr}.menu-grid{grid-template-columns:1fr 1fr}}.pending-section{margin-bottom:1.25rem;background:#e9456012;border:1px solid rgba(233,69,96,.2);border-radius:12px;padding:.75rem}.pending-heading{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#e94560;margin-bottom:.5rem;text-align:left}.pending-row{display:flex;align-items:center;gap:.6rem;width:100%;background:none;border:none;color:#eee;font-size:.9rem;padding:.4rem 0;cursor:pointer;text-align:left}.pending-dot{width:7px;height:7px;border-radius:50%;background:#e94560;flex-shrink:0}.pending-label{flex:1}.badge-open{background:#64b5f626;color:#64b5f6}.badge-assigned{background:#ff980026;color:#ff9800}.badge-inprogress{background:#ab47bc26;color:#ab47bc}.badge-resolved{background:#4caf5026;color:#4caf50}.badge-closed{background:#96969626;color:#999}.badge-sent{background:#64b5f626;color:#64b5f6}.badge-category{background:#ffeb3b1a;color:#ffeb3b}.field-hint{font-size:.8rem;color:#aaa;margin-top:.25rem}.readonly-field{opacity:.6;cursor:default}.linked-records{display:flex;flex-direction:column;gap:.5rem}.linked-record-row{color:#6ea8fe;font-size:.9rem;text-decoration:underline;cursor:pointer;transition:color .15s}.linked-record-row:hover{color:#9dc4ff}.report-page{min-height:100vh;min-height:100dvh;display:flex;align-items:flex-start;justify-content:center;padding:1.5rem 1rem 1rem}.report-container{width:100%;max-width:720px}.report-filters{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:1rem;align-items:center}.report-filters select,.report-filters input[type=date],.report-filters input[type=text]{padding:.5rem .75rem;border-radius:8px;border:1px solid #2a2a5a;background:#0f3460;color:#fff;font-size:.9rem;outline:none}.report-filters input[type=date]{color-scheme:dark}.report-filters input[type=text]{flex:1 1 200px;min-width:160px}.report-asof{font-size:.85rem;color:#aaa;margin-left:auto}.report-card{background:#16213e;border-radius:12px;padding:1rem;overflow-x:auto;box-shadow:0 2px 8px #0000004d}.report-table{width:100%;border-collapse:collapse;font-size:.85rem}.report-table th{color:#888;font-weight:600;padding:.4rem .5rem;text-align:right;white-space:nowrap}.report-table th.col-label,.report-table th.col-group{text-align:left}.report-table th.col-group{border-bottom:1px solid #2a2a5a;padding-bottom:.25rem}.col-num{text-align:right;padding:.35rem .5rem;white-space:nowrap}.col-label{padding:.35rem .5rem}.section-header td{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:#e94560;padding:.75rem .5rem .25rem}.data-row td{border-bottom:1px solid rgba(255,255,255,.04)}.data-row:hover td{background:#ffffff08}.total-row td{font-weight:600;border-top:1px solid #2a2a5a;padding:.4rem .5rem}.net-row td{font-weight:700;color:#e94560;border-top:2px solid #e94560;padding:.5rem}.drill{cursor:pointer}.drill-link{color:#64b5f6;text-decoration:underline;white-space:nowrap}.drill-label{color:#64b5f6;cursor:pointer}.bs-table{max-width:400px}.bs-imbalance{color:#ff9800;font-size:.8rem;padding:.5rem;text-align:center}.dim{color:#444}.property-chips{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:.75rem}.chip{padding:.3rem .85rem;border-radius:20px;border:1px solid #2a2a5a;background:transparent;color:#888;font-size:.8rem;cursor:pointer;transition:all .15s;white-space:nowrap}.chip:hover{border-color:#e94560;color:#eee}.chip-active{background:#e94560;border-color:#e94560;color:#fff}.stats-row{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem;margin-bottom:1rem}.stats-row-halves{grid-template-columns:1fr 1fr}.stat-box{background:#16213e;border-radius:10px;padding:.75rem .5rem;text-align:center;display:flex;flex-direction:column;gap:.15rem;box-shadow:0 2px 6px #0003}.stat-value{font-size:1.15rem;font-weight:700;color:#fff;white-space:nowrap}.stat-label{font-size:.65rem;color:#666;text-transform:uppercase;letter-spacing:.05em}@media (max-width: 360px){.stats-row{grid-template-columns:repeat(2,1fr)}.stat-value{font-size:1rem}}.notice-empty{background:#16213e;border-radius:12px;padding:2rem 1.5rem;text-align:center;color:#888;font-size:.9rem}.notice-section{background:#16213e;border-radius:12px;padding:.75rem 1rem;margin-bottom:.75rem;box-shadow:0 2px 6px #0003}.notice-section-title{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:#e94560;margin-bottom:.5rem}.notice-item{display:flex;align-items:center;gap:.6rem;width:100%;background:none;border:none;color:#eee;font-size:.9rem;padding:.45rem 0;cursor:pointer;text-align:left;border-bottom:1px solid rgba(255,255,255,.04)}.notice-item:last-child{border-bottom:none}.notice-dot{width:7px;height:7px;border-radius:50%;background:#e94560;flex-shrink:0}.notice-item-content{flex:1;display:flex;flex-direction:column;gap:.1rem}.notice-item-label{font-size:.9rem}.notice-item-sub{font-size:.78rem;color:#888}.help-section{background:#16213e;border-radius:12px;padding:.9rem 1rem;margin-bottom:.75rem;box-shadow:0 2px 6px #0003}.help-section-title{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:#e94560;margin-bottom:.6rem}.help-list{list-style:none;display:flex;flex-direction:column;gap:.45rem}.help-item{font-size:.88rem;color:#ccc;line-height:1.45;padding-left:.9rem;position:relative}.help-item:before{content:"·";position:absolute;left:0;color:#e94560;font-weight:700}.help-link-btn{width:100%;padding:.6rem;border-radius:10px;border:1px solid rgba(255,255,255,.08);background:none;color:#666;font-size:.85rem;cursor:pointer;margin-top:.5rem;transition:color .2s}.help-link-btn:hover{color:#aaa}.record-card-clickable{cursor:pointer;transition:background .15s}.record-card-clickable:hover{background:#1c2d56}.delete-btn{margin-left:auto;background:transparent;border:1px solid #e94560;color:#e94560;border-radius:8px;padding:.3rem .75rem;font-size:.8rem;font-weight:600;cursor:pointer;white-space:nowrap;transition:all .2s}.delete-btn:hover{background:#e94560;color:#fff}.delete-confirm{background:#e945601a;border:1px solid rgba(233,69,96,.3);border-radius:10px;padding:.85rem 1rem;margin-bottom:1rem}.delete-confirm p{font-size:.9rem;color:#eee;margin-bottom:.65rem}.delete-confirm-btns{display:flex;gap:.6rem}.delete-confirm-yes{padding:.45rem 1rem;border-radius:8px;border:none;background:#e94560;color:#fff;font-size:.85rem;font-weight:600;cursor:pointer;transition:opacity .2s}.delete-confirm-yes:disabled{opacity:.5;cursor:not-allowed}.delete-confirm-no{padding:.45rem 1rem;border-radius:8px;border:1px solid #2a2a5a;background:transparent;color:#aaa;font-size:.85rem;cursor:pointer}.pay-confirm{background:#64b5f61a;border:1px solid rgba(100,181,246,.3);border-radius:10px;padding:.85rem 1rem;margin-top:.5rem}.pay-confirm p{font-size:.9rem;color:#eee;margin-bottom:.65rem}.pay-confirm-amount{display:block;width:100%;padding:.6rem .85rem;border-radius:8px;border:1px solid #2a2a5a;background:#0f3460;color:#fff;font-size:.9rem;outline:none;margin-bottom:.65rem;transition:border-color .2s}.pay-confirm-amount:focus{border-color:#e94560}.pay-confirm-receipt-ref{display:block;width:100%;padding:.6rem .85rem;border-radius:8px;border:1px solid #2a2a5a;background:#0f3460;color:#fff;font-size:.9rem;outline:none;margin-bottom:.65rem;transition:border-color .2s}.pay-confirm-receipt-ref:focus{border-color:#e94560}.pay-confirm-btns{display:flex;gap:.6rem}.pay-confirm-bank,.pay-confirm-cash{padding:.45rem 1rem;border-radius:8px;border:1px solid #64b5f6;background:transparent;color:#64b5f6;font-size:.85rem;font-weight:600;cursor:pointer;transition:background .2s}.pay-confirm-bank:hover,.pay-confirm-cash:hover{background:#64b5f61a}.pay-confirm-bank:disabled,.pay-confirm-cash:disabled{opacity:.5;cursor:not-allowed}.pay-confirm-no{padding:.45rem 1rem;border-radius:8px;border:1px solid #2a2a5a;background:transparent;color:#aaa;font-size:.85rem;cursor:pointer}.pay-confirm-yes{padding:.45rem 1rem;border-radius:8px;border:1px solid #ff8a65;background:transparent;color:#ff8a65;font-size:.85rem;font-weight:600;cursor:pointer;transition:background .2s}.pay-confirm-yes:hover{background:#ff8a651a}.pay-confirm-yes:disabled{opacity:.5;cursor:not-allowed}.checkbox-list{display:flex;flex-direction:column;gap:.5rem;padding:.5rem 0}.checkbox-item{display:flex;align-items:center;gap:.6rem;font-size:.9rem;color:#eee;cursor:pointer}.checkbox-item input[type=checkbox]{width:16px;height:16px;accent-color:#e94560;cursor:pointer}.resend-btn{width:100%;padding:.75rem;border-radius:10px;border:1px solid #64b5f6;background:transparent;color:#64b5f6;font-size:.95rem;font-weight:600;cursor:pointer;margin-top:.25rem;transition:all .2s}.resend-btn:hover{background:#64b5f61a}.resend-btn:disabled{opacity:.5;cursor:not-allowed}.portal-section{margin-top:1.5rem;padding-top:1.25rem;border-top:1px solid rgba(255,255,255,.08)}.section-title{font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;color:var(--text-secondary);margin:0 0 .75rem}.portal-row{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.portal-btn{padding:.4rem .9rem;border-radius:8px;border:1px solid #64b5f6;background:transparent;color:#64b5f6;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .2s}.portal-btn:hover{background:#64b5f61a}.portal-btn.danger{border-color:#e57373;color:#e57373}.portal-btn.danger:hover{background:#e573731a}.badge-portal{background:#64b5f626;color:#64b5f6}.badge-no-portal{background:#ffffff0f;color:var(--text-secondary);font-size:.72rem}.badge-pending{background:#ffb74d26;color:#ffb74d}.assignment-list{display:flex;flex-direction:column;gap:.5rem;margin-bottom:.5rem}.assignment-row{display:flex;align-items:center;justify-content:space-between;padding:.4rem .6rem;background:#ffffff0a;border-radius:8px;font-size:.9rem}.remove-btn{padding:.2rem .6rem;border-radius:6px;border:1px solid #e57373;background:transparent;color:#e57373;font-size:.8rem;cursor:pointer}.remove-btn:hover{background:#e573731a}.assignment-add{display:flex;gap:.5rem;align-items:center;margin-top:.25rem}.assignment-add select{flex:1}.assignment-add button{padding:.4rem .9rem;border-radius:8px;border:1px solid #81c784;background:transparent;color:#81c784;font-size:.85rem;cursor:pointer}.assignment-add button:disabled{opacity:.4;cursor:not-allowed}.file-link{display:inline-block;margin-top:.35rem;font-size:.82rem;color:#64b5f6;text-decoration:underline}.notif-count{background:#e57373;color:#fff;font-size:.75rem;font-weight:700;border-radius:10px;padding:.1rem .5rem;margin-left:auto;margin-right:.5rem}.notif-sub{background:#ffffff08;border-left:2px solid rgba(255,255,255,.08);margin:0 0 .25rem 1.5rem;border-radius:0 0 8px 8px}.notif-sub-row{display:flex;align-items:center;width:100%;padding:.55rem 1rem;background:transparent;border:none;color:var(--text-secondary);font-size:.88rem;cursor:pointer;text-align:left;gap:.5rem;transition:color .15s}.notif-sub-row:hover{color:var(--text-primary)}.notif-sub-row .pending-dot{width:6px;height:6px;border-radius:50%;background:#ffb74d;flex-shrink:0}.notif-sub-row .menu-arrow{margin-left:auto;opacity:.5;font-size:.8rem}.row-card-btn{width:100%;border:none;text-align:left;color:inherit;font-size:inherit}.badge-review-pending{background:var(--amber-tint);color:var(--amber)}.badge-partially-posted{background:var(--info-blue-tint);color:var(--info-blue)}.badge-posted{background:var(--success-green-tint);color:var(--success-green)}.badge-dup{background:var(--info-blue-tint);color:var(--info-blue)}.bal-ok{color:var(--success-green);font-weight:600;font-size:.85rem}.bal-warn{color:var(--warning-orange);font-weight:600;font-size:.85rem}.bal-na{color:var(--text-faint);font-size:.85rem}.review-page{min-height:100vh;min-height:100dvh;display:flex;align-items:flex-start;justify-content:center;padding:1.5rem 1rem 1rem}.review-container{width:100%;max-width:720px}.review-header{display:flex;align-items:center;gap:1rem;margin-bottom:1rem}.review-header h2{font-size:1.3rem;margin:0;flex:1}.banner{border-radius:12px;padding:.75rem 1rem;margin-bottom:.75rem}.banner-title{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;margin-bottom:.25rem}.banner-body{font-size:.85rem}.banner-mismatch{background:var(--warning-orange-tint)}.banner-mismatch .banner-title{color:var(--warning-orange)}.banner-unverified{background:var(--overlay-white-06)}.banner-unverified .banner-title{color:var(--text-muted)}.banner-ok{background:var(--success-green-tint)}.banner-ok .banner-title{color:var(--success-green)}.banner-info{background:var(--info-blue-tint)}.banner-info .banner-title{color:var(--info-blue)}.banner .ack-row,.ack-row{display:flex;align-items:center;gap:.5rem;margin-top:.5rem;font-size:.85rem;cursor:pointer}input[type=checkbox]{accent-color:var(--accent-primary);width:16px;height:16px;cursor:pointer}.pill{display:inline-block;font-size:.65rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:.1rem .5rem;border-radius:20px;white-space:nowrap}.pill-gold{color:var(--accent-gold);background:var(--accent-gold-tint)}.pill-blue{color:var(--info-blue);background:var(--info-blue-tint)}.pill-green{color:var(--success-green);background:var(--success-green-tint)}.pill-orange{color:var(--warning-orange);background:var(--warning-orange-tint)}.pill-red{color:#ef6b6b;background:#ef6b6b1f}.amt-gold{color:var(--accent-gold);font-weight:600}.stmt-line{background:var(--bg-surface);border-radius:12px;padding:.75rem 1rem;margin-bottom:.65rem;box-shadow:0 2px 8px #0000004d}.stmt-line.posted{opacity:.6}.stmt-line-top{display:flex;gap:.5rem;align-items:baseline}.stmt-line-date{color:var(--text-faint);font-size:.78rem;white-space:nowrap}.stmt-line-desc{flex:1;font-size:.9rem}.dup-flag{display:flex;align-items:center;gap:.5rem;margin-top:.4rem;font-size:.85rem}.dup-link{font-size:.85rem}.line-grid{display:grid;grid-template-columns:1fr 1fr;gap:.5rem .75rem;margin-top:.6rem}.line-grid .searchable-select-input{padding:.5rem 2rem .5rem .75rem;font-size:.9rem}.line-grid select{padding:.5rem .75rem;border-radius:10px;border:1px solid var(--border-hairline);background:var(--bg-control);color:#fff;font-size:.9rem;outline:none;width:100%}.line-notes{width:100%;margin-top:.5rem;padding:.5rem .75rem;border-radius:10px;border:1px solid var(--border-hairline);background:var(--bg-control);color:#fff;font-size:.9rem;outline:none}.toggle-btns{display:flex;gap:.5rem;margin-top:.6rem}.toggle-approve,.toggle-reject{padding:.35rem .9rem;border-radius:8px;font-size:.85rem;font-weight:600;background:transparent;cursor:pointer;transition:all .15s}.toggle-approve{border:1px solid var(--success-green);color:var(--success-green)}.toggle-approve.on{background:var(--success-green);color:#fff}.toggle-reject{border:1px solid var(--danger-red);color:var(--danger-red)}.toggle-reject.on{background:var(--danger-red);color:#fff}.review-toolbar{margin-bottom:.75rem}.review-footer{position:sticky;bottom:0;background:var(--bg-surface);border-radius:12px;padding:.75rem 1rem;box-shadow:0 2px 8px #0000004d;display:flex;align-items:center;gap:.75rem;margin-top:1rem}.review-counts{flex:1;font-size:.85rem;color:var(--text-secondary)}.post-btn{background:var(--accent-primary);color:#fff;border:none;border-radius:10px;padding:.7rem 1.4rem;font-weight:600;font-size:.95rem;cursor:pointer}.post-btn:disabled{opacity:.5;cursor:not-allowed}.result-panel{background:var(--success-green-tint);border-radius:12px;padding:.75rem 1rem;margin-bottom:.75rem}.result-panel .je-numbers{color:var(--success-green);font-weight:700;font-size:.9rem}button:focus-visible,input:focus-visible,select:focus-visible,[role=combobox]:focus-visible{outline:2px solid var(--accent-primary);outline-offset:1px}@media (max-width: 480px){.line-grid{grid-template-columns:1fr}}.badge-source-manual{background:var(--neutral-badge-tint);color:var(--neutral-badge)}.badge-source-import{background:var(--info-blue-tint);color:var(--info-blue)}.badge-source-staging{background:var(--amber-tint);color:var(--amber)}.je-line{border:1px solid var(--border-hairline);border-radius:12px;padding:.75rem;margin-bottom:.75rem;background:var(--overlay-white-03)}.je-line-head{display:flex;align-items:center;justify-content:space-between;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-secondary);margin-bottom:.5rem}.add-line-btn{margin-top:.25rem}.reports-page{min-height:100dvh;display:flex;align-items:flex-start;justify-content:center;padding:1.5rem 1rem 1rem}.reports-hub{width:100%;max-width:480px;display:flex;flex-direction:column;gap:.75rem}.reports-hub h2{margin:0 0 .25rem;font-size:1.5rem;color:var(--text-primary)}.report-card-btn{position:relative;display:block;text-align:left;background:var(--bg-surface);border:1px solid var(--border-hairline);border-radius:12px;padding:1rem 2.25rem 1rem 1rem;cursor:pointer;box-shadow:0 2px 8px #0000004d;transition:background .2s}.report-card-btn:hover{background:var(--bg-hover-card)}.report-card-title{display:block;font-weight:600;font-size:1rem;color:var(--text-primary)}.report-card-blurb{display:block;margin-top:.25rem;font-size:.85rem;color:var(--text-secondary)}.report-card-btn .menu-arrow{position:absolute;right:1rem;top:50%;transform:translateY(-50%);color:var(--text-muted)}.report-statement{width:100%;max-width:720px}.report-statement h1{margin:0 0 .75rem;font-size:1.2rem;color:var(--text-primary)}.filter-block{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center;margin-bottom:.75rem;font-size:.85rem;color:var(--text-secondary)}.filter-block input[type=month]{padding:.3rem .5rem;border-radius:8px;border:1px solid var(--border-hairline);background:var(--bg-control);color:#fff;font-size:.8rem;color-scheme:dark}.filter-block select{padding:.35rem .6rem;border-radius:8px;border:1px solid var(--border-hairline);background:var(--bg-control);color:#fff;font-size:.85rem}.report-table th{color:var(--text-muted)}.report-table td{padding:.35rem .5rem}.report-table td.num{text-align:right;white-space:nowrap}.data-row td{border-bottom:1px solid var(--overlay-white-04)}.data-row:hover td{background:var(--overlay-white-03)}.total-row td{border-top:1px solid var(--border-hairline)}.drill-label{color:var(--info-blue);background:none;border:none;padding:0;font:inherit;cursor:pointer;text-align:left}.drill-label:hover{text-decoration:underline}.drill-link{color:var(--info-blue);background:none;border:none;padding:0;font:inherit;cursor:pointer;text-decoration:underline;white-space:nowrap}.chip{border-color:var(--border-hairline);color:var(--text-muted)}.chip:hover{border-color:var(--accent-primary);color:var(--text-primary)}.chip-active{background:var(--accent-primary);border-color:var(--accent-primary);color:#fff}.report-section{background:var(--bg-surface);border:1px solid var(--border-hairline);border-radius:12px;padding:.75rem 1rem;margin-bottom:.75rem;box-shadow:0 2px 8px #0000004d;overflow-x:auto}.section-toggle{display:flex;align-items:center;gap:.6rem;width:100%;background:none;border:none;padding:.25rem 0;cursor:pointer;text-align:left}.section-toggle h3{flex:1;margin:0;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--accent-primary)}.chevron{color:var(--text-muted)}.report-net{background:var(--bg-surface);border:1px solid var(--border-hairline);border-radius:12px;padding:.75rem 1rem;box-shadow:0 2px 8px #0000004d;overflow-x:auto}.muted{color:var(--text-muted)}.detail-page{min-height:100dvh;display:flex;align-items:flex-start;justify-content:center;padding:1.5rem 1rem 1rem}.detail-card{width:100%;max-width:720px;background:var(--bg-surface);border:1px solid var(--border-hairline);border-radius:12px;padding:1rem;box-shadow:0 2px 8px #0000004d}.detail-head{display:flex;align-items:center;gap:.75rem}.detail-head h2{margin:0;font-size:1.2rem;color:var(--text-primary)}.detail-head h1{margin:0;font-size:1.35rem;color:var(--text-primary)}.detail-status{font-size:.85rem;color:var(--text-secondary);margin:.5rem 0}.detail-meta{display:flex;flex-wrap:wrap;gap:.4rem 1rem;align-items:center;margin:.75rem 0;font-size:.85rem;color:var(--text-secondary)}.detail-table-wrap{overflow-x:auto}.detail-table-wrap td.muted{color:var(--text-muted)}.autofill-note{font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin:0 0 .75rem}.field input[type=date]{color-scheme:dark}.file-list{list-style:none;display:flex;flex-direction:column;gap:.3rem;margin-top:.25rem}.file-list-item{display:flex;align-items:center;justify-content:space-between;gap:.5rem;font-size:.85rem;color:var(--text-secondary);background:var(--overlay-white-03, rgba(255,255,255,.03));border-radius:8px;padding:.35rem .6rem}.file-list-item span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-list-item button{background:none;border:none;color:var(--danger-red, #e94560);font-size:1rem;cursor:pointer;padding:0 .2rem}.attachments-list{list-style:none;display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.5rem}.attach-row{display:flex;align-items:center;gap:.4rem;font-size:.85rem;background:var(--overlay-white-03, rgba(255,255,255,.03));border-radius:8px;padding:.35rem .65rem}.attach-row a{color:var(--info-blue, #64b5f6);text-decoration:underline;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:180px}.attach-row button{background:none;border:none;color:var(--danger-red, #e94560);font-size:1rem;cursor:pointer;padding:0 .2rem}.attach-input-row{display:flex;gap:.5rem;align-items:center;margin-top:.5rem}.attach-input-row input[type=file]{font-size:.8rem;flex:1;min-width:0}.budget-dir{margin-left:.5rem}.badge-budget{background:var(--accent-gold-tint, rgba(255,200,60,.12));color:var(--accent-gold, #ffc860)}.journal-kind-filter{margin-bottom:.75rem}.multi-select{position:relative;display:inline-block}.multi-select-trigger{display:inline-flex;align-items:center;gap:.5rem;padding:.45rem .75rem;border-radius:999px;border:1px solid var(--border-hairline);background:var(--bg-control);color:var(--text-primary);font-size:.85rem;cursor:pointer}.multi-select-panel{position:absolute;top:calc(100% + 4px);left:0;z-index:30;min-width:170px;max-height:260px;overflow-y:auto;display:flex;flex-direction:column;padding:.35rem;border-radius:12px;border:1px solid var(--border-hairline);background:var(--bg-surface, #14243a);box-shadow:0 8px 24px #0006}.multi-select-option{display:flex;align-items:center;gap:.5rem;padding:.4rem .5rem;border-radius:8px;font-size:.85rem;color:var(--text-primary);cursor:pointer;white-space:nowrap}.multi-select-option:hover{background:var(--accent-primary-tint)}.multi-select-option input{accent-color:var(--accent-primary)}.period-selects{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.55fr) minmax(0,1fr);gap:.6rem;align-items:center}.period-selects .multi-select{display:block;width:100%}.period-selects .multi-select-trigger{width:100%;justify-content:space-between}.period-selects .multi-select-trigger span:first-child{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.period-selects select{width:100%;padding:.45rem .5rem;border-radius:999px;border:1px solid var(--border-hairline);background:var(--bg-control);color:var(--text-primary);font-size:.85rem}.journal-search input,.meta-search input{width:100%;padding:.45rem .7rem;border-radius:999px;border:1px solid var(--border-hairline);background:var(--bg-control);color:var(--text-primary);font-size:.9rem}.journal-search input::placeholder,.meta-search input::placeholder{color:var(--text-secondary)}.menu-badge{margin-right:.4rem}.detail-actions{margin-left:auto;display:flex;gap:.5rem}.edit-btn{padding:.35rem .85rem;border-radius:10px;border:1px solid var(--border-hairline);background:var(--bg-control);color:var(--info-blue);font-size:.8rem;cursor:pointer}.action-btn{padding:.35rem .85rem;border-radius:10px;border:1px solid var(--border-hairline);background:var(--bg-control);color:var(--text-primary);font-size:.8rem;cursor:pointer}.action-btn-danger{padding:.35rem .85rem;border-radius:10px;border:1px solid #e94560;background:var(--bg-control);color:#e94560;font-size:.8rem;cursor:pointer}.action-btn-primary{padding:.35rem .85rem;border-radius:10px;border:1px solid #e94560;background:#e94560;color:#fff;font-size:.8rem;font-weight:600;cursor:pointer}.action-btn:disabled,.action-btn-danger:disabled,.action-btn-primary:disabled{opacity:.5;cursor:not-allowed}.detail-link{display:inline-block;margin-bottom:.75rem;font-size:.9rem;color:var(--info-blue);text-decoration:underline}@media (max-width: 420px){.period-selects{gap:.4rem}.period-selects .multi-select-trigger span:first-child,.period-selects select{font-size:.75rem}}.report-section .report-table,.report-net .report-table,.detail-table-wrap .report-table{table-layout:auto}.report-table th,.report-table td{white-space:nowrap}.report-table th.col-label,.report-table td.col-label{text-align:left;white-space:normal;overflow-wrap:break-word;min-width:7em}.report-table tr>th:first-child,.report-table tr>td:first-child{position:sticky;left:0;background:var(--bg-surface, #16213e);z-index:1}.sw-update-banner{position:fixed;left:0;right:0;bottom:0;z-index:60;display:flex;align-items:center;justify-content:center;gap:.75rem;padding:.6rem 1rem;background:#e94560;color:#fff;font-size:.9rem}.sw-update-banner button{border:0;background:#fff;color:#e94560;font-weight:600;padding:.3rem .9rem;border-radius:8px;cursor:pointer}.remove-confirm{display:inline-flex;align-items:center;gap:.5rem;font-size:.82rem;white-space:nowrap}.remove-confirm button{border:1px solid currentColor;background:transparent;color:inherit;border-radius:8px;padding:.15rem .55rem;font-size:.8rem;cursor:pointer}.invite-result{background:#00000014;border:1px solid rgba(233,69,96,.3);border-radius:10px;padding:.85rem 1rem;margin-bottom:1rem}.invite-temp{font-family:monospace;font-size:1.15rem;letter-spacing:.05em;background:#00000026;padding:.35rem .6rem;border-radius:8px;display:inline-block}.meta-row-main{display:flex;flex-direction:column;flex:1;min-width:0}.meta-row-sub{color:var(--text-secondary);font-size:.8rem}.meta-row-badges{display:flex;align-items:center;gap:6px;flex-shrink:0}.badge-inuse{background:var(--amber-tint);color:var(--amber)}.delete-btn:disabled{opacity:.4;cursor:not-allowed}.delete-btn:disabled:hover{background:transparent;color:var(--danger-red)}.meta-in-use-note{color:var(--amber);font-size:.9rem;margin:0 0 .75rem}.meta-checkbox{display:flex;align-items:center;gap:.5rem;color:var(--text-primary);font-size:.9rem;cursor:pointer}.meta-checkbox input[type=checkbox]{accent-color:var(--accent-primary);width:16px;height:16px;cursor:pointer}.badge-cash-pending{background:#2e7d32}.cash-actions{gap:8px;margin-top:8px}.cash-actions .btn-approve,.cash-actions .btn-reject{flex:1;padding:10px 0;border:none;border-radius:10px;font-size:15px;font-weight:600}.cash-actions .btn-approve{background:#2e7d32;color:#fff}.cash-actions .btn-reject{background:#c62828;color:#fff}.cash-actions button:disabled{opacity:.55}.card-dim{opacity:.55}.cash-recent-heading{margin:16px 4px 8px;font-size:14px;color:#888;text-transform:uppercase;letter-spacing:.04em}.list-error{color:#c62828}.btn-retry{padding:8px 20px;border:1px solid #c62828;border-radius:10px;background:transparent;color:#c62828;font-weight:600}.toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%);background:#333;color:#fff;padding:10px 18px;border-radius:10px;font-size:14px;z-index:60}.cash-edit-input{padding:8px 10px;border:1px solid #2a2a5a;border-radius:10px;font-size:15px;background:#0f3460;color:#fff;min-width:0;color-scheme:dark}.cash-edit-input:disabled{opacity:.6}.cash-edit-input:focus{border-color:#e94560;outline:none}.cash-edit-input option{background:#16213e}.cash-amount-label{align-self:center;font-size:13px;color:#888}.cash-head-row .cash-edit-input{flex:0 0 auto}.cash-picks{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.cash-picks>select{flex:1 1 130px;width:auto}.cash-picks .searchable-select{flex:3 1 180px}.cash-amount-row{gap:8px}.cash-amount-row .cash-edit-input[type=number]{flex:1 1 120px}.cash-currency{flex:0 0 auto}.menu-new-badge{font-size:.62rem;background:#e94560;color:#fff;padding:1px 7px;border-radius:999px;margin-left:6px;vertical-align:middle}.myaccess-card{border-top:1px solid #2a2a5a;margin-top:.8rem;padding-top:.8rem}.myaccess-card h3{margin:0 0 .5rem;font-size:.95rem;display:flex;align-items:center;gap:8px}.myaccess-card .tag{font-size:.68rem;padding:2px 8px;border-radius:999px;border:1px solid #2a2a5a}.myaccess-card .tag-on{color:#7fe3a0;border-color:#2e5a45}.myaccess-card .tag-off{color:#d88;border-color:#5a2e2e}.myaccess-one-line{flex:1 1 130px;min-width:0;font-size:.85rem}.myaccess-steps{margin:.4rem 0 .6rem;padding-left:1.2rem;font-size:.8rem;color:#bcc}.myaccess-steps li{margin:.25rem 0}.myaccess-steps a{color:#8fc7ff}.myaccess-instr{background:#0f3460;border:1px solid #2a2a5a;border-radius:10px;padding:10px 12px;font-size:.68rem;line-height:1.5;color:#cde;white-space:pre-wrap;overflow-x:auto;margin:.5rem 0}.myaccess-token-box{background:#0d1b33;border:1px dashed #e94560;border-radius:10px;padding:12px;text-align:center;font-family:ui-monospace,monospace;font-size:1rem;letter-spacing:1px;color:#fff;margin:.6rem 0;word-break:break-all}.myaccess-sess-row{display:flex;align-items:center;gap:10px;padding:.55rem 0;border-top:1px solid #22274a;font-size:.8rem}.myaccess-sess-row>div:first-child{flex:1 1 130px;min-width:0}
