.login-bg{align-items:center;background-color:var(--bg);background-position:bottom;background-repeat:no-repeat;background-size:cover;display:flex;justify-content:center;min-height:100vh;min-height:100dvh;overflow:hidden;position:relative}.login-deco{background:radial-gradient(ellipse 60% 50% at 80% 20%,#c9a96a2e 0,#0000 60%),radial-gradient(ellipse 40% 60% at 10% 80%,#2bb88f26 0,#0000 60%);inset:0;pointer-events:none;position:absolute}.pin-card{animation:scaleIn .3s ease;background:var(--surface);border-radius:22px;box-shadow:0 24px 80px #00000059;max-width:92vw;padding:44px 40px 36px;position:relative;text-align:center;width:360px;z-index:1}.pin-card.shake{animation:shake .4s ease}@keyframes shake{0%,to{transform:translateX(0)}20%,60%{transform:translateX(-8px)}40%,80%{transform:translateX(8px)}}.login-mark{align-items:center;background:var(--surface-2);border-radius:14px;color:var(--gold);display:flex;font-size:1.5rem;height:48px;justify-content:center;margin:0 auto 18px;width:48px}.login-mark,.pin-title{font-family:var(--font-serif)}.pin-title{color:var(--ink);font-size:1.6rem}.pin-sub{color:var(--ink-3);font-size:.875rem;margin-bottom:28px;margin-top:4px}.auth-field{margin-bottom:16px;text-align:left}.auth-field label{color:var(--ink-3);display:block;font-size:.78rem;font-weight:500;margin-bottom:6px}.auth-field input{background:var(--paper);border:1.5px solid var(--paper-3);border-radius:12px;box-sizing:border-box;color:var(--ink);font-family:var(--font-sans);font-size:.95rem;padding:12px 14px;transition:border-color .15s;width:100%}.auth-field input:focus{background:var(--surface);border-color:var(--gold);outline:none}.auth-error{background:var(--red-lt);border-radius:9px;color:var(--red);font-size:.82rem;margin-bottom:14px;padding:9px 12px;text-align:left}.auth-submit{background:var(--surface-2);border:none;border-radius:12px;color:var(--on-dark);cursor:pointer;font-family:var(--font-sans);font-size:.95rem;font-weight:600;margin-top:4px;padding:13px;transition:filter .15s,transform .1s,box-shadow .15s;width:100%}.auth-submit:hover:not(:disabled){box-shadow:var(--shadow-md);filter:brightness(1.25)}.auth-submit:active:not(:disabled){transform:scale(.98)}.auth-submit:disabled{cursor:default;opacity:.6}.pin-dots{display:flex;gap:16px;justify-content:center;margin-bottom:32px}.pin-dot{background:var(--paper-3);border-radius:50%;height:14px;transition:all .15s;width:14px}.pin-dot.filled{background:var(--surface-2);transform:scale(1.1)}.pin-dot.err{background:var(--red)}.pin-pad{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(3,1fr);margin:0 auto;max-width:240px}.pin-key{background:var(--paper);border:none;border-radius:16px;color:var(--ink);cursor:pointer;font-family:var(--font-sans);font-size:1.4rem;font-weight:500;height:62px;transition:all .12s}.pin-key:hover{background:var(--paper-2)}.pin-key:active{background:var(--gold-lt);transform:scale(.94)}.pin-back{color:var(--ink-3);font-size:1.2rem}.profile-card{animation:scaleIn .3s ease;background:var(--surface);border-radius:22px;box-shadow:0 24px 80px #00000059;max-width:92vw;padding:44px 40px 36px;position:relative;text-align:center;width:380px;z-index:1}.profile-list{display:flex;flex-direction:column;gap:10px;margin-top:24px;text-align:left}.profile-item{align-items:center;background:var(--paper);border:1.5px solid var(--paper-3);border-radius:14px;cursor:pointer;display:flex;gap:14px;padding:14px 16px;transition:all .15s}.profile-item:hover{background:var(--gold-lt);border-color:var(--gold)}.profile-avatar,.profile-avatar-lg{align-items:center;border-radius:12px;display:flex;flex-shrink:0;font-family:var(--font-serif);font-size:1.3rem;font-weight:600;height:44px;justify-content:center;width:44px}.profile-avatar-lg{border-radius:16px;font-size:1.6rem;height:56px;margin:0 auto 14px;width:56px}.role-owner{background:var(--surface-2);color:var(--gold)}.role-manager{background:var(--teal);color:var(--on-accent)}.profile-info{flex:1 1}.profile-name{color:var(--ink);font-size:.95rem;font-weight:600}.profile-role{color:var(--ink-3);font-size:.8rem;margin-top:2px}.profile-arrow{color:var(--ink-3);font-size:1.4rem}.pin-back-btn{background:none;border:none;border-radius:8px;color:var(--ink-3);cursor:pointer;font-family:var(--font-sans);font-size:.85rem;left:20px;padding:4px 8px;position:absolute;top:18px}.pin-back-btn:hover{background:var(--paper);color:var(--ink)}.executive-dashboard{color:var(--ink);margin:0 auto;max-width:1440px}.executive-head{align-items:flex-start;display:flex;gap:24px;justify-content:space-between;margin-bottom:24px}.executive-head h1{font-family:var(--font-serif);font-size:2rem;font-weight:500;letter-spacing:-.025em;line-height:1.1}.card-title-row p,.executive-head p{color:var(--ink-3);font-size:.82rem;margin-top:5px}.executive-tools{align-items:center;display:flex;gap:10px}.executive-search{align-items:center;background:var(--surface);border:1px solid var(--paper-3);border-radius:8px;color:var(--ink-3);display:flex;gap:8px;height:40px;padding:0 12px;transition:border-color .16s var(--ease-out),box-shadow .16s var(--ease-out)}.executive-search:focus-within{border-color:var(--green);box-shadow:0 0 0 3px var(--green-lt)}.executive-search input{background:#0000;border:0;color:var(--ink);font:inherit;font-size:.84rem;outline:0;width:190px}.icon-button{background:var(--surface);border:1px solid var(--paper-3);border-radius:8px;color:var(--ink-2);cursor:pointer;display:grid;height:40px;place-items:center;position:relative;transition:transform .14s var(--ease-out),border-color .14s ease;width:40px}.icon-button:active,.secondary-action:active,.text-action:active{transform:scale(.97)}.icon-button span{background:var(--red);border-radius:99px;color:#fff;display:grid;font-size:.62rem;font-weight:700;height:17px;min-width:17px;padding:0 4px;place-items:center;position:absolute;right:-4px;top:-5px}.renewal-notice{align-items:center;background:#eef3f1;border:1px solid #d9e4e0;border-radius:8px;color:#39453f;display:flex;font-size:.83rem;gap:10px;margin-bottom:18px;padding:12px 14px}.notice-icon{background:var(--green);border-radius:50%;color:#fff;display:grid;font-family:var(--font-serif);font-style:italic;height:20px;place-items:center;width:20px}.renewal-notice button{align-items:center;background:#0000;border:0;color:var(--green);cursor:pointer;display:flex;font:inherit;font-weight:600;gap:6px;margin-left:auto}.metric-strip{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:14px}.executive-metric{align-items:flex-start;background:var(--surface);border:1px solid var(--paper-3);border-radius:9px;display:flex;gap:12px;padding:17px}.metric-icon{background:#edf2f0;border-radius:50%;color:var(--green);display:grid;flex:0 0 auto;height:38px;place-items:center;width:38px}.balance-card div:nth-child(2),.executive-metric div:last-child{display:flex;flex-direction:column;min-width:0}.balance-card span,.executive-metric span{color:var(--ink-3);font-size:.75rem}.executive-metric strong{font-family:var(--font-serif);font-size:1.38rem;font-weight:500;line-height:1.2;margin:3px 0}.balance-card small,.executive-metric small{color:var(--ink-3);font-size:.7rem}.executive-grid{grid-gap:14px;display:grid;gap:14px;grid-template-columns:.9fr 1.35fr .9fr;margin-bottom:14px}.executive-card{background:var(--surface);border:1px solid var(--paper-3);border-radius:9px}.activity-card,.collection-card,.income-card{min-height:310px;padding:18px}.card-title-row{align-items:flex-start;display:flex;gap:14px;justify-content:space-between}.card-title-row h2{font-family:var(--font-serif);font-size:1.05rem;font-weight:500}.text-action{align-items:center;background:#0000;border:0;color:var(--green);cursor:pointer;display:flex;font:inherit;font-size:.74rem;gap:5px}.quiet-chip{border:1px solid var(--paper-3);border-radius:6px;color:var(--ink-3);font-size:.7rem;padding:5px 9px}.collection-body{align-items:center;display:flex;gap:22px;height:225px}.collection-ring{--progress:300deg;background:conic-gradient(var(--green) var(--progress),#e7e9e6 0);border-radius:50%;display:grid;flex:0 0 auto;height:132px;place-items:center;position:relative;width:132px}.collection-ring:before{background:var(--surface);border-radius:50%;content:"";inset:15px;position:absolute}.collection-ring div{display:flex;flex-direction:column;position:relative;text-align:center}.collection-ring strong{font-family:var(--font-serif);font-size:1.55rem;font-weight:500}.collection-ring span{color:var(--ink-3);font-size:.68rem}.collection-body dl{flex:1 1}.collection-body dl div{border-bottom:1px solid var(--paper-2);display:flex;font-size:.75rem;gap:10px;justify-content:space-between;padding:10px 0}.collection-body dt{color:var(--ink-3)}.collection-body dd{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:600}.income-chart{height:235px;margin-top:10px}.executive-activity{margin-top:13px}.activity-item{grid-gap:9px;align-items:center;border-bottom:1px solid var(--paper-2);display:grid;gap:9px;grid-template-columns:32px 1fr auto;padding:9px 0}.activity-item>span{background:#edf2f0;border-radius:50%;color:var(--green);display:grid;height:30px;place-items:center;width:30px}.activity-item div{display:flex;flex-direction:column;min-width:0}.activity-item strong{font-size:.76rem;font-weight:600}.activity-item small{color:var(--ink-3);font-size:.68rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.activity-item time{color:var(--ink-3);font-size:.64rem}.property-performance{margin-bottom:14px;padding:18px}.secondary-action{background:var(--surface);border:1px solid var(--paper-3);border-radius:7px;color:var(--ink-2);cursor:pointer;font:inherit;font-size:.74rem;padding:8px 11px;transition:transform .14s var(--ease-out),border-color .14s ease}.performance-table-wrap{margin:14px -18px -18px;overflow-x:auto}.performance-table{border-collapse:collapse;min-width:860px;width:100%}.performance-table th{background:#f2f2ee;border-top:1px solid var(--paper-3);color:var(--ink-3);font-size:.66rem;letter-spacing:.04em;padding:10px 14px;text-align:left;text-transform:uppercase}.performance-table td{border-top:1px solid var(--paper-3);color:var(--ink-2);font-size:.75rem;padding:11px 14px}.performance-table td strong{color:var(--ink);display:block;font-size:.79rem}.performance-table td small{color:var(--ink-3);display:block;font-size:.64rem;margin-top:2px;max-width:230px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.table-status{align-items:center;display:inline-flex;gap:5px}.table-status:before{background:currentColor;border-radius:50%;content:"";height:6px;width:6px}.table-status.settled{color:var(--green)}.table-status.outstanding{color:var(--red)}.executive-foot-grid{grid-gap:14px;display:grid;gap:14px;grid-template-columns:1fr 1fr}.balance-card{grid-gap:12px;align-items:center;display:grid;gap:12px;grid-template-columns:38px 1fr auto;padding:16px}.balance-card strong{font-family:var(--font-serif);font-size:1.16rem;font-weight:500;margin:2px 0}.balance-card>svg{color:var(--ink-3)}@media(max-width:1200px){.executive-grid{grid-template-columns:1fr 1.4fr}.activity-card{grid-column:1/-1;min-height:auto}.executive-activity{grid-gap:0 20px;display:grid;gap:0 20px;grid-template-columns:repeat(2,1fr)}.metric-strip{grid-template-columns:repeat(2,1fr)}}@media(max-width:760px){.executive-head{flex-direction:column}.executive-search,.executive-search input,.executive-tools{width:100%}.executive-foot-grid,.executive-grid,.metric-strip{grid-template-columns:1fr}.activity-card{grid-column:auto}.executive-activity{display:block}.collection-body{justify-content:center}.renewal-notice button{display:none}}@media(max-width:480px){.metric-strip{grid-template-columns:1fr}.collection-body{align-items:stretch;flex-direction:column;height:auto;padding-top:18px}.collection-ring{margin:auto}.collection-card{min-height:auto}.executive-head h1{font-size:1.65rem}}.executive-card,.executive-metric{transition:border-color .15s ease,box-shadow .15s ease}.executive-search input::placeholder{color:#9a9f9b}.icon-button:focus-visible,.renewal-notice button:focus-visible,.secondary-action:focus-visible,.text-action:focus-visible{outline:2px solid var(--green);outline-offset:2px}.performance-table tbody tr{transition:background-color .14s ease}.performance-table tbody tr:hover{background:#f8f8f5}@media(hover:hover) and (pointer:fine){.executive-card:hover,.executive-metric:hover{border-color:#cbcfc9;box-shadow:0 6px 20px rgba(24,32,29,.045)}}:root[data-theme=dark] .renewal-notice{background:#1c3028;border-color:#315044;color:var(--ink-2)}:root[data-theme=dark] .activity-item>span,:root[data-theme=dark] .metric-icon{background:#20332c;color:var(--green)}:root[data-theme=dark] .collection-ring{background:conic-gradient(var(--green) var(--progress),var(--ring-track) 0)}:root[data-theme=dark] .performance-table th{background:#1d2823;color:var(--ink-2)}:root[data-theme=dark] .performance-table tbody tr:hover{background:#1b2722}:root[data-theme=dark] .executive-search input::placeholder{color:#95a19a}:root[data-theme=dark] .quiet-chip{color:var(--ink-2)}@media(hover:hover) and (pointer:fine){:root[data-theme=dark] .executive-card:hover,:root[data-theme=dark] .executive-metric:hover{border-color:#52635b;box-shadow:0 8px 24px #0003}}.billing-actions{align-items:center;display:flex;gap:16px;justify-content:space-between;margin-bottom:24px}.billing-grid{grid-gap:18px;display:grid;gap:18px;grid-template-columns:repeat(3,1fr)}.billing-card{padding:22px}.billing-card-header{align-items:flex-start;border-bottom:1px solid var(--paper-2);display:flex;justify-content:space-between;margin-bottom:18px;padding-bottom:14px}.billing-prop-name{color:var(--ink);font-family:var(--font-serif);font-size:1.15rem}.billing-tenant{color:var(--ink-2);font-size:.82rem;font-weight:500;margin-top:2px}.billing-addr{color:var(--ink-3);font-size:.75rem;line-height:1.4;margin-top:3px}.billing-invoice-no{color:var(--ink-3);font-size:.78rem;white-space:nowrap}.billing-invoice-field{align-items:flex-end;display:flex;flex-direction:column;flex-shrink:0;gap:3px}.billing-invoice-field label{color:var(--ink-3);font-size:.6rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.billing-invoice-input{background:var(--paper-2);border:1px solid var(--paper-3);border-radius:8px;color:var(--ink);font-size:.82rem;padding:5px 8px;text-align:right;width:118px}.billing-invoice-input:focus{border-color:var(--gold);box-shadow:0 0 0 3px var(--gold-lt);outline:none}.billing-fields{display:flex;flex-direction:column;gap:8px}.billing-row{align-items:center;display:flex;justify-content:space-between;padding:7px 0}.billing-row.fixed{border-bottom:1px dashed var(--paper-3);color:var(--ink-2);font-size:.9rem}.billing-row.input-row{gap:12px}.billing-row.input-row label{color:var(--ink-2);flex:1 1;font-size:.82rem;white-space:nowrap}.billing-input{border:1.5px solid var(--paper-3);border-radius:8px;color:var(--teal);font-family:var(--font-sans);font-size:.88rem;font-weight:600;outline:none;padding:6px 10px;text-align:right;transition:border-color .15s;width:110px}.billing-input:focus{border-color:var(--gold);box-shadow:0 0 0 3px var(--gold-lt)}.billing-total-row{align-items:center;background:var(--surface-2);border-radius:var(--radius);color:var(--on-dark);display:flex;font-size:.85rem;font-weight:600;justify-content:space-between;letter-spacing:.03em;margin:8px -6px -2px;padding:12px 14px}.billing-total-amt{font-feature-settings:"tnum";font-size:1.1rem;font-variant-numeric:tabular-nums;font-weight:700}.billing-card-actions{border-top:1px solid var(--paper-2);display:flex;gap:8px;justify-content:flex-end;margin-top:16px;padding-top:14px}.billing-sent-toggle{align-items:center;border-radius:10px;display:flex;gap:10px;justify-content:space-between;margin-top:12px;padding:10px 12px}.billing-sent-toggle.is-sent{background:var(--green-lt)}.billing-sent-toggle.not-sent{background:var(--paper-2)}.billing-sent-label{font-size:.82rem;font-weight:600}.billing-sent-toggle.is-sent .billing-sent-label{color:var(--green)}.billing-sent-toggle.not-sent .billing-sent-label{color:var(--ink-3)}.invoice-modal{width:600px}.invoice-preview{font-size:.88rem}.inv-header{align-items:flex-start;background:var(--surface-2);border-radius:10px;color:var(--on-dark);display:flex;justify-content:space-between;margin-bottom:16px;padding:20px 22px}.inv-title{color:var(--on-dark);font-family:var(--font-serif);font-size:1.4rem}.inv-owner{color:#f7f5ef99;font-size:.78rem;margin-top:3px}.inv-no{color:var(--gold);font-size:.9rem}.inv-period{color:#f7f5ef99;font-size:.8rem;margin-top:3px}.inv-to{border-bottom:1px solid var(--paper-2);margin-bottom:14px;padding:12px 0}.inv-to-label{color:var(--ink-3);font-size:.7rem;letter-spacing:.06em;margin-bottom:4px;text-transform:uppercase}.inv-to-name{color:var(--ink);font-weight:700}.inv-to-addr{color:var(--ink-3);font-size:.82rem;margin-top:2px}.inv-table{border-collapse:collapse;font-size:.85rem;margin-bottom:0;width:100%}.inv-table th{background:var(--paper);border-bottom:1px solid var(--paper-3);color:var(--ink-3);font-size:.72rem;letter-spacing:.04em;padding:8px 10px;text-transform:uppercase}.inv-table td{border-bottom:1px solid var(--paper-2);padding:8px 10px}.inv-total-row{background:var(--surface-2);border-radius:0 0 8px 8px;color:var(--on-dark);display:flex;font-size:.9rem;font-weight:700;justify-content:space-between;padding:12px 10px}.inv-bank{padding:14px 0 0}.inv-bank-row{display:flex;font-size:.82rem;gap:14px;padding:4px 0}.inv-bank-row span:first-child{color:var(--ink-3);flex-shrink:0;width:120px}.inv-bank-row span:last-child{color:var(--ink);font-weight:500}.send-choice-modal{max-width:440px;padding:32px 30px;text-align:center}.send-choice-title{color:var(--ink);font-family:var(--font-serif);font-size:1.3rem;margin-bottom:10px}.send-choice-sub{color:var(--ink-3);font-size:.88rem;line-height:1.55;margin-bottom:24px}.send-choice-actions{display:flex;flex-direction:column;gap:10px}.send-choice-actions .btn{width:100%}.send-choice-cancel{margin-top:16px}.pay-summary{align-items:center;background:var(--surface);border:1px solid var(--paper-3);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);display:flex;gap:0;margin-bottom:22px;padding:18px 28px}.pay-sum-item{flex:1 1}.pay-sum-label{color:var(--ink-3);font-size:.75rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.pay-sum-val{font-feature-settings:"tnum";color:var(--ink);font-size:1.3rem;font-variant-numeric:tabular-nums;font-weight:700;margin-top:3px}.pay-sum-val.green{color:var(--teal)}.pay-sum-val.red{color:var(--red)}.pay-sum-divider{background:var(--paper-3);height:40px;margin:0 24px;width:1px}.pay-toolbar{gap:14px;justify-content:space-between}.pay-filters,.pay-toolbar{align-items:center;display:flex}.pay-filters{flex-wrap:wrap;gap:6px}.filter-btn{background:var(--surface);border:1.5px solid var(--paper-3);border-radius:20px;color:var(--ink-2);cursor:pointer;font-size:.8rem;font-weight:500;padding:6px 14px;transition:all .15s}.filter-btn:hover{border-color:var(--ink-2);color:var(--ink)}.filter-btn.active{background:var(--surface-2);border-color:var(--ink);color:var(--on-dark)}.pay-filter-divider{background:var(--paper-3);height:24px;margin:0 4px;width:1px}.prop-filter{background:var(--surface);border:1.5px solid var(--paper-3);border-radius:8px;color:var(--ink);cursor:pointer;font-size:.82rem;outline:none;padding:6px 12px}.prop-filter:focus{border-color:var(--gold)}.exp-prop-summary{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(4,1fr);margin-bottom:22px}.exp-prop-card{border:2px solid var(--paper-3);cursor:pointer;padding:18px 20px;transition:all .15s}.exp-prop-card:hover{border-color:var(--ink-2);box-shadow:var(--shadow-lg);transform:translateY(-3px)}.exp-prop-card.active{border-color:var(--gold);box-shadow:0 0 0 3px var(--gold-lt)}.exp-prop-card.portfolio.active{border-color:var(--teal);box-shadow:0 0 0 3px var(--teal-lt)}.exp-prop-name{color:var(--ink-2);font-size:.88rem;font-weight:700;margin-bottom:6px}.exp-prop-amt{font-feature-settings:"tnum";color:var(--red);font-size:1.2rem;font-variant-numeric:tabular-nums;font-weight:700}.exp-prop-count{color:var(--ink-3);font-size:.75rem;margin-top:3px}.prop-dot{border-radius:50%;display:inline-block;height:8px;margin-right:7px;vertical-align:middle;width:8px}.prop-dot-bryanston{background:var(--teal)}.prop-dot-brooklyn{background:var(--gold)}.prop-dot-lonehill{background:var(--ink-2)}.cat-badge{background:var(--paper);border:1px solid var(--paper-3);border-radius:6px;color:var(--ink-2);display:inline-block;font-size:.78rem;font-weight:500;padding:3px 9px}.exp-row-actions{display:flex;gap:4px;justify-content:flex-end}.icon-btn{background:none;border:1px solid var(--paper-3);border-radius:6px;color:var(--ink-3);cursor:pointer;font-size:.85rem;padding:3px 7px;transition:all .15s}.icon-btn:hover{background:var(--paper-2);border-color:var(--ink-2);color:var(--ink)}.icon-btn-red:hover{background:var(--red-lt);border-color:var(--red);color:var(--red)}.btn-danger{border:none;transition:filter .15s}.btn-danger:hover{filter:brightness(.88)}.props-list{display:flex;flex-direction:column;gap:16px}.prop-section{border-radius:12px;overflow:hidden;transition:box-shadow .2s}.prop-section-open{box-shadow:0 4px 24px #00000014}.prop-section-header{align-items:flex-start;cursor:pointer;display:flex;justify-content:space-between;padding:20px 24px;transition:background .15s;-webkit-user-select:none;user-select:none}.prop-section-header:hover{background:var(--paper-2)}.prop-section-left{flex:1 1;min-width:0}.prop-section-name{color:var(--ink);font-size:1.1rem;font-weight:700;margin-bottom:2px}.prop-section-addr{color:var(--ink-3);font-size:.82rem;margin-bottom:10px}.prop-section-tags{display:flex;flex-wrap:wrap;gap:6px}.tag{border-radius:20px;font-size:.75rem;font-weight:600;padding:2px 10px}.tag-current{background:var(--teal-lt);color:var(--teal)}.tag-past{background:var(--paper-2);color:var(--ink-3)}.tag-type{background:var(--gold-lt);color:var(--gold)}.prop-section-right{align-items:flex-end;display:flex;flex-direction:column;flex-shrink:0;gap:4px;margin-left:24px}.prop-section-rent{color:var(--ink);font-size:1.2rem;font-weight:700}.prop-section-rent span{font-weight:400;margin-left:2px}.prop-section-lease,.prop-section-rent span{color:var(--ink-3);font-size:.75rem}.prop-section-lease.expiring{color:var(--red);font-weight:600}.prop-section-chevron{color:var(--ink-3);font-size:.7rem;margin-top:4px}.prop-section-body{border-top:1px solid var(--paper-2);display:flex;flex-direction:column;gap:28px;padding:24px}.prop-analysis{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(3,1fr)}.pan-card{background:var(--paper);border:1px solid var(--paper-3);border-radius:var(--radius-lg);padding:14px 16px}.pan-card.income{border-left:4px solid var(--teal)}.pan-card.expense{border-left:4px solid var(--red)}.pan-card.net.pos{border-left:4px solid var(--green)}.pan-card.net.neg{border-left:4px solid var(--amber)}.pan-lbl{color:var(--ink-3);font-size:.7rem;letter-spacing:.05em;margin-bottom:6px;text-transform:uppercase}.pan-val{font-feature-settings:"tnum";color:var(--ink);font-family:var(--font-serif);font-size:1.35rem;font-variant-numeric:tabular-nums}.pan-card.income .pan-val{color:var(--teal)}.pan-card.expense .pan-val{color:var(--red)}.pan-card.net.pos .pan-val{color:var(--green)}.pan-card.net.neg .pan-val{color:var(--amber)}.prop-recurring{display:flex;flex-direction:column;gap:10px;margin-top:16px}.prop-recurring-rows{display:flex;flex-direction:column;gap:8px}.prc-row{align-items:baseline;background:var(--paper);border:1px solid var(--paper-3);border-radius:10px;color:var(--ink-2);display:flex;font-size:.9rem;gap:12px;justify-content:space-between;padding:10px 14px}.prc-row span:last-child{font-feature-settings:"tnum";color:var(--ink);font-variant-numeric:tabular-nums;font-weight:600}.prc-row em{color:var(--ink-3);font-size:.8rem;font-style:normal;font-weight:400}.prc-note{color:var(--ink-3);font-size:.78rem;line-height:1.5}@media (max-width:640px){.prop-analysis{grid-template-columns:1fr}}.prop-detail-block{display:flex;flex-direction:column;gap:12px}.sub-text{color:var(--ink-3);font-size:.8rem}.sub-text.note{color:var(--gold);font-style:italic}.period-grid{display:flex;flex-wrap:wrap;gap:8px}.period-btn{background:var(--paper-2);border:1px solid var(--paper-2);border-radius:20px;color:var(--ink-2);cursor:pointer;font-size:.8rem;font-weight:500;padding:6px 14px;transition:all .15s}.period-btn:hover{background:var(--teal-lt);border-color:var(--teal);color:var(--teal)}.period-btn-active{border-color:var(--teal)}.period-btn-active,.period-btn-active:hover{background:var(--teal);color:var(--on-accent)}.period-detail{display:flex;flex-direction:column;gap:14px;margin-top:4px}.period-summary-bar{display:flex;flex-wrap:wrap;gap:16px}.period-summary-item{background:var(--paper-2);border-radius:10px;display:flex;flex-direction:column;gap:2px;min-width:120px;padding:10px 18px}.period-summary-item.green{background:var(--green-lt)}.period-summary-item.red{background:var(--red-lt)}.period-summary-label{color:var(--ink-3);font-size:.72rem;letter-spacing:.06em;text-transform:uppercase}.period-summary-val{color:var(--ink);font-size:1.05rem;font-weight:700}.period-summary-item.green .period-summary-val{color:var(--green)}.period-summary-item.red .period-summary-val{color:var(--red)}.tenant-workspace{grid-gap:0;display:grid;gap:0;grid-template-columns:minmax(0,1fr) 320px;margin:-38px -34px -60px auto;max-width:1500px;min-height:100vh}.tenant-main{min-width:0;padding:38px 28px 60px}.tenant-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:24px}.tenant-header h1{font-family:var(--font-serif);font-size:2rem;font-weight:500;letter-spacing:-.02em}.tenant-header p{color:var(--ink-3);font-size:.8rem;margin-top:5px}.primary-action{background:var(--green);border:0;border-radius:7px;color:#fff;cursor:pointer;font:inherit;font-size:.78rem;font-weight:600;padding:10px 14px;transition:transform .14s var(--ease-out),background-color .14s ease}.detail-outline:active,.filter-button:active,.primary-action:active{transform:scale(.97)}.tenant-metrics{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(4,1fr);margin-bottom:20px}.tenant-metrics article{background:var(--surface);border:1px solid var(--paper-3);border-radius:8px;display:flex;flex-direction:column;padding:16px}.tenant-metrics span{color:var(--ink-3);font-size:.73rem}.tenant-metrics strong{font-family:var(--font-serif);font-size:1.55rem;font-weight:500;margin-top:5px}.tenant-controls{grid-gap:10px;display:grid;gap:10px;grid-template-columns:minmax(240px,1fr) 150px auto;margin-bottom:14px}.tenant-controls label{align-items:center;background:var(--surface);border:1px solid var(--paper-3);border-radius:7px;color:var(--ink-3);display:flex;gap:8px;padding:0 11px}.tenant-controls label:focus-within{border-color:var(--green);box-shadow:0 0 0 3px var(--green-lt)}.tenant-controls input,.tenant-controls select{font:inherit}.tenant-controls input{background:#0000;border:0;color:var(--ink);font-size:.78rem;height:38px;outline:0;width:100%}.filter-button,.tenant-controls select{background:var(--surface);border:1px solid var(--paper-3);border-radius:7px;color:var(--ink-2);font-size:.76rem;height:40px;padding:0 10px}.filter-button{align-items:center;cursor:pointer;display:flex;gap:7px}.tenant-directory{background:var(--surface);border:1px solid var(--paper-3);border-radius:8px;overflow:hidden}.tenant-table-scroll{overflow-x:auto}.tenant-directory table{border-collapse:collapse;min-width:900px;width:100%}.tenant-directory th{background:#f2f2ee;color:var(--ink-3);font-size:.62rem;font-weight:600;letter-spacing:.045em;padding:11px 13px;text-align:left;text-transform:uppercase}.tenant-directory td{border-top:1px solid var(--paper-3);color:var(--ink-2);cursor:pointer;font-size:.74rem;padding:12px 13px}.tenant-directory tbody tr{transition:background-color .14s ease,box-shadow .14s ease}.tenant-directory tbody tr:hover{background:#f7f8f5}.tenant-directory tbody tr.selected{background:#edf3f0;box-shadow:inset 2px 0 var(--green)}.tenant-identity{align-items:center;display:flex;gap:9px}.tenant-identity>span{background:#e7ece9;border-radius:50%;color:#355b4f;display:grid;font-size:.66rem;height:30px;place-items:center;width:30px}.tenant-identity strong{color:var(--ink);font-size:.76rem;white-space:nowrap}.contact-line,.tenant-directory small{display:block}.tenant-directory small{color:var(--ink-3);font-size:.64rem;margin-top:2px}.directory-status{align-items:center;display:inline-flex;gap:5px}.directory-status:before{background:currentColor;border-radius:50%;content:"";height:6px;width:6px}.directory-status.paid{color:var(--green)}.directory-status.due{color:var(--red)}.row-menu{background:#0000;border:0;color:var(--ink-3);cursor:pointer}.tenant-directory footer{border-top:1px solid var(--paper-3);color:var(--ink-3);font-size:.68rem;padding:11px 13px}.tenant-empty{color:var(--ink-3);font-size:.8rem;padding:40px;text-align:center}.tenant-detail{background:var(--surface);border-left:1px solid var(--paper-3);height:100vh;overflow-y:auto;padding:30px 22px;position:-webkit-sticky;position:sticky;top:0;z-index:5}.detail-close{background:#0000;border:0;color:var(--ink-3);cursor:pointer;position:absolute;right:18px;top:18px}.detail-person{align-items:center;display:flex;gap:13px;padding:14px 0 22px}.detail-person>span{background:#dfe7e2;border-radius:50%;color:#294f43;display:grid;flex:0 0 auto;font-family:var(--font-serif);font-size:1.3rem;height:62px;place-items:center;width:62px}.detail-person h2{font-family:var(--font-serif);font-size:1.2rem;font-weight:500}.detail-person p{color:var(--ink-2);font-size:.74rem;margin-top:3px}.detail-person small{color:var(--ink-3);display:block;font-size:.66rem;margin-top:2px}.detail-actions{border-bottom:1px solid var(--paper-3);border-top:1px solid var(--paper-3);display:grid;grid-template-columns:repeat(3,1fr);padding:15px 0}.detail-actions a,.detail-actions button{align-items:center;background:#0000;border:0;color:var(--ink-2);cursor:pointer;display:flex;flex-direction:column;font:inherit;font-size:.67rem;gap:6px;text-decoration:none}.detail-section{border-bottom:1px solid var(--paper-3);padding:20px 0}.detail-section h3{font-size:.75rem;font-weight:650;margin-bottom:12px}.detail-section dl div{display:flex;font-size:.71rem;gap:14px;justify-content:space-between;padding:5px 0}.detail-section dt{color:var(--ink-3)}.detail-section dd{color:var(--ink-2);font-weight:500;text-align:right}.detail-outline{align-items:center;background:#0000;border:1px solid var(--green);border-radius:6px;color:var(--green);cursor:pointer;display:flex;font:inherit;font-size:.72rem;gap:7px;height:36px;justify-content:center;margin-top:16px;transition:transform .14s var(--ease-out),background-color .14s ease;width:100%}.detail-outline:hover{background:var(--green-lt)}@media(max-width:1180px){.tenant-workspace{grid-template-columns:1fr;margin:-38px -34px -60px}.tenant-detail{box-shadow:-18px 0 50px #18201d24;position:fixed;right:0;top:0;width:min(360px,92vw)}}@media(max-width:760px){.tenant-workspace{margin:-24px -16px -80px}.tenant-main{padding:24px 16px 80px}.tenant-metrics{grid-template-columns:repeat(2,1fr)}.tenant-controls{grid-template-columns:1fr 1fr}.tenant-controls label{grid-column:1/-1}}@media(max-width:460px){.tenant-header{align-items:center}.tenant-metrics{grid-template-columns:1fr 1fr}.tenant-controls{grid-template-columns:1fr}.tenant-controls label{grid-column:auto}.filter-button{justify-content:center}}.filter-button{justify-content:center}.filter-button:disabled{cursor:default;opacity:.42}.filter-button:disabled:active{transform:none}.tenant-directory tbody tr{outline:none}.tenant-directory tbody tr:focus-visible{box-shadow:inset 0 0 0 2px var(--green)}.tenant-detail-backdrop{display:none}@media(max-width:1180px){.tenant-detail-backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#11181557;border:0;display:block;inset:0;position:fixed;z-index:204}.tenant-detail{animation:detailIn .22s var(--ease-out) both;z-index:205}@keyframes detailIn{0%{opacity:.7;transform:translateX(24px)}to{opacity:1;transform:none}}}@media(prefers-reduced-motion:reduce){.tenant-detail{animation:none!important}}:root[data-theme=dark] .tenant-directory th{background:#1d2823;color:var(--ink-2)}:root[data-theme=dark] .tenant-directory tbody tr:hover{background:#1b2722}:root[data-theme=dark] .tenant-directory tbody tr.selected{background:#20322b}:root[data-theme=dark] .detail-person>span,:root[data-theme=dark] .tenant-identity>span{background:#263a32;color:#c0ded1}:root[data-theme=dark] .tenant-controls input::placeholder{color:#95a19a}:root[data-theme=dark] .filter-button:disabled{color:var(--ink-3);opacity:.68}.rent-status{margin-bottom:24px;padding:22px 24px}.rs-head{align-items:flex-end;display:flex;gap:14px;justify-content:space-between;margin-bottom:14px}.rs-month{color:var(--ink);font-family:var(--font-serif);font-size:1.5rem;line-height:1.15;margin-top:2px}.rs-count{color:var(--ink-3);font-size:.9rem;white-space:nowrap}.rs-count-num{color:var(--gold);font-family:var(--font-serif);font-size:1.6rem}.rs-count-of{color:var(--ink-3)}.rs-track{background:var(--paper-2);border-radius:6px;height:8px;margin-bottom:20px;overflow:hidden}.rs-fill{background:linear-gradient(90deg,var(--teal),var(--green));border-radius:6px;height:100%;transition:width .6s var(--ease-out)}.rs-grid{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}.rs-tile{background:var(--paper);border:1px solid var(--paper-3);border-radius:var(--radius-lg);display:flex;flex-direction:column;gap:10px;padding:16px 18px;transition:border-color var(--dur) var(--ease),box-shadow var(--dur) var(--ease)}.rs-tile.paid{border-left:4px solid var(--green)}.rs-tile.await{border-left:4px solid var(--amber)}.rs-tile.editing{border-color:var(--gold);box-shadow:0 0 0 3px var(--gold-lt)}.rs-tile-top{align-items:flex-start;display:flex;gap:10px;justify-content:space-between}.rs-tile-info{min-width:0}.rs-prop{color:var(--ink);font-family:var(--font-serif);font-size:1.1rem;line-height:1.2}.rs-tenant{color:var(--ink-3);font-size:.8rem;margin-top:2px}.rs-pill{border-radius:20px;flex-shrink:0;font-size:.7rem;font-weight:700;letter-spacing:.04em;padding:4px 10px;text-transform:uppercase;white-space:nowrap}.rs-pill.paid{background:var(--green-lt);color:var(--green)}.rs-pill.await{background:var(--amber-lt);color:var(--amber)}.rs-amt{font-feature-settings:"tnum";color:var(--ink);font-family:var(--font-serif);font-size:1.25rem;font-variant-numeric:tabular-nums}.rs-mark{-webkit-tap-highlight-color:transparent;background:var(--gold-lt);border:1px solid var(--gold);border-radius:10px;color:var(--gold);cursor:pointer;font-family:var(--font-sans);font-size:.9rem;font-weight:600;padding:11px;transition:background var(--dur) var(--ease),transform .1s var(--ease);width:100%}.rs-mark:hover{background:var(--gold);color:var(--on-accent)}.rs-mark:active{transform:scale(.98)}.rs-paid-row{display:flex;flex-direction:column;gap:6px}.rs-received{color:var(--green);font-size:.85rem;font-weight:600}.rs-actions{display:flex;gap:14px}.rs-link{background:none;border:none;color:var(--ink-3);cursor:pointer;font-family:var(--font-sans);font-size:.8rem;padding:0;text-decoration:underline;transition:color var(--dur) var(--ease)}.rs-link:hover{color:var(--ink)}.rs-link.rs-undo:hover{color:var(--red)}.rs-editor{display:flex;flex-direction:column;gap:7px}.rs-editor label{color:var(--ink-3);font-size:.68rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.rs-editor input{background:var(--surface);border:1.5px solid var(--paper-3);border-radius:9px;color:var(--ink);font-family:var(--font-sans);font-size:.9rem;padding:9px 11px}.rs-editor input:focus{border-color:var(--gold);box-shadow:0 0 0 3px var(--gold-lt);outline:none}.rs-editor-btns{display:flex;gap:8px;justify-content:flex-end;margin-top:2px}.rs-invoice{align-items:center;border-top:1px dashed var(--paper-3);display:flex;gap:10px;justify-content:space-between;margin-top:2px;padding-top:10px}.rs-inv-state{color:var(--ink-3);font-size:.78rem}.rs-inv-state.sent{color:var(--teal);font-weight:600}.rs-inv-toggle{background:none;border:1px solid var(--paper-3);border-radius:8px;color:var(--ink-2);cursor:pointer;font-family:var(--font-sans);font-size:.75rem;font-weight:600;padding:5px 10px;transition:all var(--dur) var(--ease);white-space:nowrap}.rs-inv-toggle:hover{border-color:var(--gold);color:var(--gold)}@media (max-width:640px){.rs-grid{grid-template-columns:1fr}.rs-head{flex-wrap:wrap}}.owner-wrap{background:var(--paper);max-width:900px;min-height:100vh;min-height:100dvh;padding:0 0 60px}.owner-hero{background:linear-gradient(135deg,#0f2027,#203a43 50%,#2c5364);background-position:50%;background-size:cover;border-radius:0 0 24px 24px;height:220px;margin-bottom:36px;overflow:hidden;position:relative}.owner-hero-overlay{background:linear-gradient(180deg,#0a192359 0,#0a1923b8);inset:0;position:absolute}.owner-hero-content{align-items:flex-end;display:flex;flex-wrap:wrap;gap:12px;height:100%;justify-content:space-between;padding:28px 40px;position:relative;z-index:1}.owner-greeting{color:var(--on-dark);font-family:var(--font-serif);font-size:2rem;line-height:1.15}.owner-month{color:#f7f5efa6;font-size:.9rem;margin-top:4px}.owner-status-badge{border-radius:40px;font-size:.85rem;font-weight:600;padding:8px 18px;white-space:nowrap}.owner-status-badge.all-clear{background:var(--green-lt);color:var(--green)}.owner-status-badge.pending{background:var(--amber-lt);color:var(--amber)}.owner-section-label{align-items:center;color:var(--ink-3);display:flex;font-size:.78rem;font-weight:600;gap:10px;letter-spacing:.1em;margin:28px 40px 14px;text-transform:uppercase}.owner-section-label:before{background:var(--gold);content:"";flex-shrink:0;height:1.5px;width:16px}.owner-kpi-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(4,1fr);margin:0 40px 8px}.owner-kpi{background:var(--surface);border:1px solid var(--paper-3);border-radius:16px;padding:18px 20px}.owner-kpi.primary{background:var(--surface-2);border-color:var(--ink)}.owner-kpi.primary .owner-kpi-label{color:#f7f5ef99}.owner-kpi.primary .owner-kpi-value{color:var(--on-dark)}.owner-kpi.primary .owner-kpi-sub{color:var(--gold)}.owner-kpi.green .owner-kpi-value{color:var(--teal)}.owner-kpi-label{color:var(--ink-3);font-size:.75rem;letter-spacing:.05em;margin-bottom:8px;text-transform:uppercase}.owner-kpi-value{color:var(--ink);font-family:var(--font-serif);font-size:1.45rem;line-height:1.1}.owner-kpi-sub{color:var(--ink-3);font-size:.76rem;margin-top:6px}.owner-chart-card{background:var(--surface);border:1px solid var(--paper-3);border-radius:16px;margin:0 40px;padding:20px 22px}.owner-invoice-bar{background:var(--surface);border:1px solid var(--paper-3);border-radius:14px;margin:0 40px 20px;padding:16px 20px}.owner-invoice-bar-head{align-items:center;display:flex;justify-content:space-between;margin-bottom:10px}.owner-invoice-bar-label{color:var(--ink-2);font-size:.85rem;font-weight:500}.owner-invoice-bar-count{color:var(--ink-3);font-size:.85rem;font-weight:600}.owner-invoice-track{background:var(--paper-3);border-radius:6px;height:8px;overflow:hidden}.owner-invoice-fill{background:linear-gradient(90deg,var(--teal),#2a9d8e);border-radius:6px;height:100%;transition:width .4s ease}.owner-summary{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(3,1fr);margin:0 40px 36px}.owner-stat{background:var(--surface);border:1px solid var(--paper-3);border-radius:16px;padding:20px 22px}.owner-stat-label{color:var(--ink-3);font-size:.78rem;letter-spacing:.06em;margin-bottom:8px;text-transform:uppercase}.owner-stat-value{color:var(--ink);font-family:var(--font-serif);font-size:1.5rem}.owner-stat-value.collected{color:var(--teal)}.owner-stat-value.outstanding{color:var(--amber)}.owner-properties{display:flex;flex-direction:column;gap:16px;margin:0 40px}.owner-prop-card{background:var(--surface);border:1.5px solid var(--paper-3);border-radius:18px;padding:24px 26px;transition:box-shadow .2s}.owner-prop-card.paid{border-color:var(--green)}.owner-prop-card.partial{border-color:var(--amber)}.owner-prop-card.unpaid{border-color:var(--red)}.owner-prop-top{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:16px}.owner-prop-name{color:var(--ink);font-family:var(--font-serif);font-size:1.2rem}.owner-prop-tenant{color:var(--ink-3);font-size:.85rem;margin-top:3px}.rent-badge{border-radius:20px;font-size:.8rem;font-weight:600;padding:5px 14px}.rent-badge.paid{background:var(--green-lt);color:var(--green)}.rent-badge.partial{background:var(--amber-lt);color:var(--amber)}.rent-badge.unpaid{background:var(--red-lt);color:var(--red)}.owner-invoice-status{border-radius:9px;font-size:.8rem;font-weight:500;margin-bottom:14px;padding:8px 12px}.owner-invoice-status.sent{background:var(--green-lt);color:var(--green)}.owner-invoice-status.not-sent{background:var(--paper);color:var(--ink-3)}.owner-prop-amounts{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}.owner-amount-row{color:var(--ink-2);display:flex;font-size:.9rem;justify-content:space-between}.owner-amount-row.received{color:var(--teal)}.owner-amount-row.outstanding{color:var(--amber);font-weight:600}.owner-confirm{border-top:1px solid var(--paper-3);margin-bottom:14px;padding-top:14px}.owner-confirm-label{color:var(--ink-3);display:block;font-size:.8rem;margin-bottom:8px}.owner-confirm-btns{display:flex;gap:10px}.confirm-btn{background:var(--surface);border:1.5px solid var(--paper-3);border-radius:10px;color:var(--ink-3);cursor:pointer;flex:1 1;font-family:var(--font-sans);font-size:.85rem;font-weight:600;padding:10px;transition:all .15s}.confirm-btn:hover{border-color:var(--ink-3)}.confirm-btn.received.active{background:var(--green-lt);border-color:var(--green);color:var(--green)}.confirm-btn.outstanding.active{background:var(--red-lt);border-color:var(--red);color:var(--red)}.owner-prop-address{border-top:1px solid var(--paper-3);color:var(--ink-3);font-size:.78rem;padding-top:12px}.owner-prop-portfolio{display:flex;flex-direction:column;gap:16px;margin:0 40px}.owner-portfolio-card{background:var(--surface);border:1.5px solid var(--paper-3);border-radius:18px;overflow:hidden;transition:box-shadow .2s}.owner-portfolio-card.open{border-color:var(--teal);box-shadow:0 4px 24px #00000014}.owner-portfolio-header{align-items:center;cursor:pointer;display:flex;gap:20px;padding:20px 24px;transition:background .15s}.owner-portfolio-header:hover{background:var(--paper)}.owner-portfolio-img{background-position:50%;background-size:cover;border-radius:12px;flex-shrink:0;height:64px;width:64px}.owner-portfolio-img-bryanston{background:linear-gradient(135deg,#1a7a6e,#0d4a43)}.owner-portfolio-img-brooklyn{background:linear-gradient(135deg,#c9943a,#7a5a1e)}.owner-portfolio-img-lonehill{background:linear-gradient(135deg,#2c3e50,#1a252f)}.owner-portfolio-img-hillensburg{background:linear-gradient(135deg,#c98a5a,#3a241d)}.owner-portfolio-info{flex:1 1;min-width:0}.owner-portfolio-name{color:var(--ink);font-family:var(--font-serif);font-size:1.1rem;margin-bottom:3px}.owner-portfolio-addr{color:var(--ink-3);font-size:.8rem;margin-bottom:8px}.owner-portfolio-tags{display:flex;flex-wrap:wrap;gap:6px}.ptag{border-radius:20px;font-size:.74rem;font-weight:600;padding:2px 10px}.ptag-current{background:var(--teal-lt);color:var(--teal)}.ptag-past{background:var(--paper-2);color:var(--ink-3)}.owner-portfolio-meta{align-items:flex-end;display:flex;flex-direction:column;flex-shrink:0;gap:4px}.owner-portfolio-rent{font-feature-settings:"tnum";color:var(--ink);font-size:1.15rem;font-variant-numeric:tabular-nums;font-weight:700}.owner-portfolio-rent span{font-weight:400}.owner-portfolio-lease,.owner-portfolio-rent span{color:var(--ink-3);font-size:.75rem}.owner-portfolio-lease.expiring{color:var(--red);font-weight:600}.owner-portfolio-chevron{color:var(--ink-3);font-size:.65rem;margin-top:4px}.owner-portfolio-body{background:var(--paper);border-top:1px solid var(--paper-2);display:flex;flex-direction:column;gap:24px;padding:24px}.owner-prop-facts{display:flex;flex-wrap:wrap;gap:12px}.owner-fact{background:var(--surface);border:1px solid var(--paper-3);border-radius:12px;min-width:120px;padding:12px 18px}.owner-fact-label{color:var(--ink-3);font-size:.72rem;letter-spacing:.06em;margin-bottom:4px;text-transform:uppercase}.owner-fact-val{color:var(--ink);font-family:var(--font-serif);font-size:1rem;font-weight:600}.owner-sub-label{color:var(--ink-3);font-size:.75rem;font-weight:600;letter-spacing:.07em;margin-bottom:10px;text-transform:uppercase}.owner-tenant-table{border-collapse:collapse;font-size:.85rem;width:100%}.owner-tenant-table th{background:var(--surface);border-bottom:1px solid var(--paper-3);color:var(--ink-3);font-size:.72rem;letter-spacing:.05em;padding:8px 12px;text-align:left;text-transform:uppercase}.owner-tenant-table td{border-bottom:1px solid var(--paper-2);color:var(--ink-2);padding:10px 12px;vertical-align:middle}.owner-tenant-table tr:last-child td{border-bottom:none}@media (max-width:900px){.owner-kpi-grid{grid-template-columns:repeat(2,1fr)}.owner-chart-card,.owner-invoice-bar,.owner-kpi-grid,.owner-prop-portfolio,.owner-properties,.owner-section-label,.owner-summary{margin-left:20px;margin-right:20px}.owner-hero-content{padding:20px}}@media (max-width:600px){.owner-summary{grid-template-columns:1fr}.owner-kpi-grid{grid-template-columns:repeat(2,1fr)}.owner-portfolio-header{flex-wrap:wrap}}.growth-up{color:var(--green)!important}.growth-down{color:var(--red)!important}.owner-lease-alert{align-items:stretch;background:var(--amber-lt);border:1px solid var(--amber);border-radius:14px;display:flex;gap:14px;margin-bottom:20px;padding:14px 18px}.owner-lease-rule{background:var(--amber);border-radius:2px;flex-shrink:0;width:2px}.owner-lease-alert strong{color:var(--amber);font-size:.92rem}.owner-lease-line{color:var(--ink-2);font-size:.83rem;margin-top:4px}.reports{max-width:920px}.rep-toolbar{align-items:flex-end;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;margin-bottom:20px}.rep-year{display:flex;flex-direction:column;gap:6px}.rep-year label{color:var(--ink-3);font-size:.78rem;font-weight:500}.rep-year select{background:var(--surface);border:1.5px solid var(--paper-3);border-radius:10px;color:var(--ink);font-family:var(--font-sans);font-size:.95rem;min-width:120px;padding:9px 14px}.rep-actions{display:flex;flex-wrap:wrap;gap:8px}.rep-card{background:var(--surface);border:1px solid var(--paper-3);border-radius:16px;margin-bottom:20px;padding:22px 24px}.rep-hint{color:var(--ink-3);font-size:.85rem;margin-bottom:16px}.rep-table{width:100%}.rep-sub{color:var(--ink-3);font-size:.8rem}.rep-table tfoot td{background:var(--paper);border-top:2px solid var(--ink);font-size:.9rem;font-weight:700;padding:12px 14px}.esc-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(3,1fr)}.esc-card{background:var(--paper);border:1px solid var(--paper-3);border-radius:14px;padding:18px}.esc-name{color:var(--ink);font-family:var(--font-serif);font-size:1.1rem}.esc-current{color:var(--ink-3);font-size:.82rem;margin:4px 0 14px}.esc-input-row{align-items:center;display:flex;gap:8px;margin-bottom:14px}.esc-input-row input{background:var(--surface);border:1.5px solid var(--paper-3);border-radius:8px;font-family:var(--font-sans);font-size:.95rem;padding:8px 10px;text-align:center;width:80px}.esc-input-row span{color:var(--ink-3);font-size:.82rem}.esc-result{background:var(--surface);border:1px solid var(--paper-3);border-radius:10px;padding:12px 14px}.esc-new{color:var(--teal);font-family:var(--font-serif);font-size:1.5rem}.esc-new span{color:var(--ink-3);font-size:.8rem}.esc-delta{color:var(--gold);font-size:.78rem;font-weight:600;margin-top:4px}.esc-lease{color:var(--ink-3);font-size:.74rem;margin-top:10px;text-align:right}@media (max-width:760px){.esc-grid{grid-template-columns:1fr}}.tpl-page{max-width:1040px}.tpl-tabs{background:var(--paper-2);border-radius:40px;display:inline-flex;gap:2px;margin-bottom:28px;padding:4px}.tpl-tab{background:#0000;border:none;border-radius:40px;color:var(--ink-3);cursor:pointer;font-family:var(--font-sans);font-size:.85rem;font-weight:500;letter-spacing:.01em;padding:9px 22px;transition:all .2s ease}.tpl-tab.active{background:var(--surface-2);color:var(--on-dark)}.tpl-layout{grid-gap:28px;align-items:start;display:grid;gap:28px;grid-template-columns:1fr 1fr}.tpl-field{margin-bottom:20px}.tpl-field label{color:var(--ink-3);display:block;font-size:.72rem;letter-spacing:.1em;margin-bottom:8px;text-transform:uppercase}.tpl-field input,.tpl-field textarea{background:var(--surface);border:1px solid var(--paper-3);border-radius:12px;box-sizing:border-box;color:var(--ink);font-family:var(--font-sans);font-size:.92rem;line-height:1.6;padding:13px 15px;transition:border-color .2s;width:100%}.tpl-field textarea{resize:vertical}.tpl-field input:focus,.tpl-field textarea:focus{border-color:var(--gold);outline:none}.tpl-tokens{margin-bottom:24px}.tpl-tokens-label{color:var(--ink-3);display:block;font-size:.72rem;letter-spacing:.1em;margin-bottom:10px;text-transform:uppercase}.tpl-tokens-list{display:flex;flex-wrap:wrap;gap:6px}.tpl-token{background:var(--paper-2);border:1px solid var(--paper-3);border-radius:6px;color:var(--ink-2);cursor:help;font-family:Courier New,monospace;font-size:.76rem;padding:4px 9px}.tpl-edit-actions{align-items:center;display:flex;gap:12px;justify-content:space-between;padding-top:4px}.tpl-btn-ghost{background:none;border:none;color:var(--ink-3);cursor:pointer;font-family:var(--font-sans);font-size:.85rem;padding:10px 4px;transition:color .2s}.tpl-btn-ghost:hover{color:var(--ink)}.tpl-btn-solid{background:var(--gold);border:none;border-radius:40px;color:var(--on-accent);cursor:pointer;font-family:var(--font-sans);font-size:.85rem;font-weight:600;letter-spacing:.02em;padding:11px 28px;transition:all .2s}.tpl-btn-solid:hover{box-shadow:var(--shadow-md);filter:brightness(1.08);transform:translateY(-1px)}.tpl-btn-solid.done{background:var(--teal)}.tpl-col-preview{position:-webkit-sticky;position:sticky;top:24px}.tpl-preview-head{align-items:center;display:flex;gap:12px;justify-content:space-between;margin-bottom:12px}.tpl-preview-eyebrow{color:var(--gold);font-size:.72rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase}.tpl-preview-head select{border-radius:10px;color:var(--ink);font-family:var(--font-sans);font-size:.82rem;max-width:62%;padding:7px 12px}.tpl-mail,.tpl-preview-head select{background:var(--surface);border:1px solid var(--paper-3)}.tpl-mail{border-radius:16px;box-shadow:var(--shadow-sm);overflow:hidden}.tpl-mail-row{align-items:baseline;border-bottom:1px solid var(--paper-2);display:flex;gap:14px;padding:13px 20px}.tpl-mail-row span{color:var(--ink-3);flex-shrink:0;font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;width:54px}.tpl-mail-row em{color:var(--ink);font-size:.9rem;font-style:normal;font-weight:500}.tpl-mail-body{color:var(--ink-2);font-family:var(--font-sans);font-size:.9rem;line-height:1.7;margin:0;padding:22px 20px;white-space:pre-wrap;word-break:break-word}.tpl-btn-copy{background:var(--surface-2);border:1px solid var(--ink);border-radius:12px;color:var(--on-dark);cursor:pointer;font-family:var(--font-sans);font-size:.86rem;font-weight:600;letter-spacing:.02em;margin-top:14px;padding:12px;transition:background .2s;width:100%}.tpl-btn-copy:hover{background:var(--paper-3)}@media (max-width:820px){.tpl-layout{grid-template-columns:1fr}.tpl-col-preview{position:static}}.settings-wrap{max-width:760px}.settings-section{background:var(--surface);border:1px solid var(--paper-3);border-radius:18px;margin-bottom:20px;padding:28px 30px}.settings-section-title{border-left:2px solid var(--gold);color:var(--ink);font-family:var(--font-serif);font-size:1.2rem;line-height:1.15;margin-bottom:10px;padding-left:12px}.settings-hint{color:var(--ink-3);font-size:.85rem;line-height:1.5;margin-bottom:18px}.settings-grid{grid-gap:14px;display:grid;gap:14px;grid-template-columns:1fr 1fr}.settings-pins{display:flex;flex-direction:column;gap:16px}.settings-pin-row{align-items:center;border-bottom:1px solid var(--paper-3);display:flex;gap:16px;padding:14px 0}.settings-pin-row:last-child{border-bottom:none}.settings-pin-avatar{align-items:center;border-radius:10px;display:flex;flex-shrink:0;font-family:var(--font-serif);font-size:1.1rem;font-weight:600;height:38px;justify-content:center;width:38px}.settings-pin-avatar.role-owner{background:var(--surface-2);color:var(--gold)}.settings-pin-avatar.role-manager{background:var(--teal);color:var(--on-accent)}.settings-pin-info{flex:1 1}.settings-pin-name{color:var(--ink);font-size:.9rem;font-weight:600}.settings-pin-role{color:var(--ink-3);font-size:.78rem}.settings-footer{display:flex;justify-content:flex-end;padding-top:4px}.btn-saved{background:var(--teal)!important}.settings-purchase{color:var(--ink-3);font-size:.78rem;font-weight:400}.settings-growth{font-size:.8rem;font-weight:600;margin-top:5px}.settings-growth.up{color:var(--green)}.settings-growth.down{color:var(--red)}@media (max-width:600px){.settings-grid{grid-template-columns:1fr}.settings-section{padding:20px 18px}.settings-pin-row{flex-wrap:wrap}}.shell{display:flex;min-height:100vh;min-height:100dvh}.sidebar{-webkit-overflow-scrolling:touch;background:var(--bg);border-right:1px solid var(--paper-3);display:flex;flex-direction:column;flex-shrink:0;height:100vh;height:100dvh;justify-content:space-between;overflow-y:auto;position:-webkit-sticky;position:sticky;top:0;width:230px}.sidebar-top{padding:28px 18px 20px;position:relative}.mobile-topbar,.sidebar-close-btn{display:none}.hamburger-btn{align-items:center;background:none;border:none;color:var(--ink-2);cursor:pointer;display:flex;padding:6px}.mobile-topbar-actions{align-items:center;display:flex;gap:6px}.nav-backdrop{animation:fadeIn .2s var(--ease);background:#0000008c;display:none;inset:0;position:fixed;z-index:190}.theme-toggle{align-items:center;background:none;border:1px solid #0000;border-radius:10px;color:var(--ink-2);cursor:pointer;display:inline-flex;font-family:var(--font-sans);gap:9px;padding:7px;transition:background-color var(--dur) ease,color var(--dur) ease,transform .14s var(--ease-out)}.theme-toggle:hover{background:var(--paper-2);color:var(--ink)}.theme-toggle-icon{align-items:center;display:flex;transition:transform .4s var(--ease-out)}.theme-toggle:hover .theme-toggle-icon{transform:rotate(35deg)}.theme-toggle.full{border:1px solid var(--paper-3);font-size:.82rem;justify-content:flex-start;margin-bottom:8px;padding:9px 12px;width:100%}.sidebar-brand{gap:12px;margin-bottom:36px;padding-left:4px}.brand-mark,.sidebar-brand{align-items:center;display:flex}.brand-mark{background:var(--gold);border-radius:10px;color:var(--on-accent);flex-shrink:0;font-size:1.2rem;height:38px;justify-content:center;width:38px}.brand-mark,.brand-name{font-family:var(--font-serif)}.brand-name{color:var(--ink);font-size:1.1rem;line-height:1.1}.brand-sub{color:var(--gold);font-size:.68rem;letter-spacing:.1em;text-transform:uppercase}.sidebar-nav{display:flex;flex-direction:column;gap:3px}.nav-item{align-items:center;background:none;border:1px solid #0000;border-radius:10px;color:var(--ink-3);cursor:pointer;display:flex;font-family:var(--font-sans);font-size:.9rem;gap:11px;padding:10px 14px;text-align:left;width:100%}.nav-item:hover{background:var(--paper-2);color:var(--ink-2);transform:translateX(3px)}.nav-item.active{background:var(--gold-lt);border-color:var(--gold);color:var(--gold)}.nav-item.active:hover{transform:none}.nav-icon{flex-shrink:0;font-size:1.1rem;transition:transform var(--dur) var(--ease)}.nav-item:hover .nav-icon{transform:scale(1.15)}.sidebar-foot{border-top:1px solid var(--paper-3);padding:18px}.sidebar-owner{gap:10px}.owner-avatar,.sidebar-owner{align-items:center;display:flex}.owner-avatar{background:var(--teal);border-radius:50%;color:var(--white);flex-shrink:0;font-size:.9rem;font-weight:700;height:34px;justify-content:center;width:34px}.owner-name{color:var(--ink-2);font-size:.8rem;font-weight:500;line-height:1.2}.owner-role{color:var(--ink-3);font-size:.72rem}.main-content{flex:1 1;min-width:0;overflow-y:auto;padding:40px 44px}@media (max-width:860px){.shell{display:block;min-height:0}.mobile-topbar{align-items:center;background:var(--bg);border-bottom:1px solid var(--paper-3);display:flex;justify-content:space-between;padding:14px 16px;position:-webkit-sticky;position:sticky;top:0;z-index:120}.mobile-brand{margin-bottom:0}.mobile-brand .brand-mark{font-size:1rem;height:32px;width:32px}.mobile-brand .brand-name{font-size:.95rem}.nav-backdrop{display:block}.sidebar{box-shadow:12px 0 32px #0006;height:100vh;height:100dvh;left:0;max-width:300px;position:fixed;top:0;transform:translateX(-100%);transition:transform .22s ease;width:78vw;z-index:200}.sidebar.open{transform:translateX(0)}.sidebar-close-btn{align-items:center;background:none;border:none;color:var(--ink-3);cursor:pointer;display:flex;justify-content:center;padding:6px;position:absolute;right:0;top:0}.main-content{-webkit-overflow-scrolling:touch;height:auto;overflow-y:visible;padding:20px 16px 100px}}.sync-badge{align-items:center;border-radius:8px;display:flex;font-size:.72rem;gap:7px;margin-bottom:14px;padding:7px 11px}.sync-badge.on{background:var(--teal-lt);color:var(--teal)}.sync-badge.off{background:var(--paper-2);color:var(--ink-3)}.sync-dot{border-radius:50%;height:7px;width:7px}.sync-badge.on .sync-dot{background:var(--teal);box-shadow:0 0 0 3px var(--teal-lt)}.sync-badge.off .sync-dot{background:var(--ink-3)}.owner-avatar.role-owner{background:var(--gold);color:var(--on-accent)}.owner-avatar.role-manager{background:var(--teal);color:var(--on-accent)}.signout-btn{background:none;border:1px solid var(--paper-3);border-radius:8px;color:var(--ink-3);cursor:pointer;display:block;font-family:var(--font-sans);font-size:.8rem;margin-top:4px;padding:8px;transition:background-color .15s ease,color .15s ease,transform .12s var(--ease-out);width:100%}.signout-btn:hover{background:var(--paper-2);color:var(--ink-2)}.sidebar{background:#17201d;border-right:0;width:252px}.sidebar-top{padding:30px 15px 20px}.sidebar-brand{gap:11px;margin-bottom:34px;padding:0 13px}.brand-mark{background:#eef2ef;border-radius:50%;color:#173c32;font-size:.95rem;height:32px;width:32px}.brand-name{color:#f6f7f4;font-size:1.24rem;font-weight:500}.brand-sub{color:#819089;font-size:.58rem;letter-spacing:.14em}.sidebar-nav{gap:0}.nav-entry{display:contents}.nav-group-label{color:#617068;font-size:.58rem;font-weight:650;letter-spacing:.14em;padding:18px 14px 7px;text-transform:uppercase}.nav-entry:first-child .nav-group-label{padding-top:0}.nav-item{border-radius:7px;color:#a9b2ad;font-size:.82rem;padding:10px 13px;transition:background-color .15s ease,color .15s ease,transform .12s var(--ease-out)}.nav-item:hover{background:#202c27;color:#fff;transform:none}.nav-item:active{transform:scale(.98)}.nav-item.active{background:#245a4b;border-color:#245a4b;box-shadow:inset 0 0 0 1px #ffffff0a;color:#fff}.nav-icon{color:inherit;display:grid;height:20px;place-items:center;width:20px}.nav-item:hover .nav-icon{transform:none}.sidebar-foot{border-top:1px solid #2a342f;padding:16px}.sync-badge.off,.sync-badge.on{background:#0000;color:#6f7d76;margin-bottom:14px;padding:0 2px}.sync-badge.off .sync-dot,.sync-badge.on .sync-dot,.sync-dot{background:#638579;box-shadow:none;height:6px;width:6px}.sidebar-owner{padding:10px 0 14px}.owner-name{color:#f1f3f0}.owner-role{color:#7f8b84}.owner-avatar.role-manager,.owner-avatar.role-owner{background:#dce9e3;color:#1f5a4a}.signout-btn,.theme-toggle.full{border-color:#303b36;color:#a9b2ad}.signout-btn:hover,.theme-toggle:hover{background:#202925;color:#fff}.signout-btn{align-items:center;display:flex;gap:9px;justify-content:flex-start;padding:9px 12px}.signout-btn:active,.theme-toggle:active{transform:scale(.98)}.main-content{background:var(--paper);padding:38px 34px 60px}@media(max-width:860px){.mobile-topbar{background:#17201d;border-color:#2a342f}.mobile-topbar .brand-name{color:#fff}.sidebar{width:82vw}.main-content{padding:24px 16px 80px}}*,:after,:before{box-sizing:border-box;margin:0;padding:0}:root{--ink:#f2f0ea;--ink-2:#c9c6bc;--ink-3:#8b8880;--paper:#0b0b0d;--paper-2:#1c1c21;--paper-3:#2a2a30;--surface:#16161a;--surface-2:#202027;--bg:#0b0b0d;--on-dark:#f7f5ef;--on-accent:#14100a;--ring-track:#2a2a30;--gold:#c9a96a;--gold-lt:#3a2f1d;--teal:#2bb88f;--teal-lt:#123227;--purple:#8b7cf6;--purple-lt:#241f3d;--red:#e5484d;--red-lt:#3a1518;--green:#34d399;--green-lt:#123024;--amber:#e3a008;--amber-lt:#3a2c0a;--white:#fff;--shadow-sm:0 1px 3px #00000040;--shadow-md:0 4px 16px #0000004d;--shadow-lg:0 8px 32px #0006;--radius:10px;--radius-lg:16px;--font-serif:"Fraunces",Georgia,"Times New Roman",serif;--font-sans:"Inter",system-ui,-apple-system,sans-serif;--ease:cubic-bezier(0.4,0,0.2,1);--ease-out:cubic-bezier(0.16,1,0.3,1);--dur:0.2s;--dur-lg:0.45s}:root[data-theme=light]{--ink:#1f2733;--ink-2:#495260;--ink-3:#8b93a1;--paper:#f2f4f7;--paper-2:#e9ecf1;--paper-3:#dcdfe5;--surface:#fff;--surface-2:#1f2733;--bg:#f2f4f7;--on-dark:#f4f6f9;--on-accent:#14100a;--ring-track:#e6e9ee;--gold:#b0893f;--gold-lt:#f4ead4;--teal:#10876a;--teal-lt:#d6efe8;--purple:#6a57cf;--purple-lt:#e7e2f8;--red:#d13b3b;--red-lt:#fbe3e3;--green:#1f9d63;--green-lt:#d7f0e2;--amber:#b5820f;--amber-lt:#f7ecd0;--shadow-sm:0 1px 2px #1018280f;--shadow-md:0 4px 14px #10182814;--shadow-lg:0 12px 28px #1018281f}html{font-size:15px}body{-webkit-font-smoothing:antialiased;background:#f6f5f1;background:var(--paper);color:#202522;color:var(--ink);font-family:Inter,system-ui,-apple-system,sans-serif;font-family:var(--font-sans);line-height:1.5;min-height:100vh;min-height:100dvh;transition:background .3s cubic-bezier(.4,0,.2,1),color .3s cubic-bezier(.4,0,.2,1);transition:background .3s var(--ease),color .3s var(--ease)}:root,:root[data-theme=light]{--ink:#202522;--ink-2:#4f5752;--ink-3:#7c827e;--paper:#f6f5f1;--paper-2:#efeee9;--paper-3:#dedbd4;--surface:#fff;--surface-2:#202522;--bg:#17201d;--on-dark:#fff;--on-accent:#fff;--ring-track:#e7e9e6;--gold:#1f5a4a;--gold-lt:#e6efeb;--teal:#1f5a4a;--teal-lt:#e6efeb;--purple:#667a86;--purple-lt:#e8edef;--green:#1f5a4a;--green-lt:#e6efeb;--red:#a4433f;--red-lt:#f5e8e6;--amber:#7d6952;--amber-lt:#efeae3;--shadow-sm:0 1px 2px #18201d0a;--shadow-md:0 8px 24px #18201d12;--shadow-lg:0 18px 45px #18201d1a;--radius:8px;--radius-lg:10px;--ease-out:cubic-bezier(.23,1,.32,1);--ease-in-out:cubic-bezier(.77,0,.175,1)}:root[data-theme=dark]{--ink:#f8f9f7;--ink-2:#d7ddd9;--ink-3:#aab4ae;--paper:#101713;--paper-2:#1d2823;--paper-3:#3a4942;--surface:#17201d;--surface-2:#e9ece8;--bg:#0d1411;--on-dark:#17201d;--on-accent:#fff;--ring-track:#3a4942;--gold:#7fc1a8;--gold-lt:#203a31;--teal:#7fc1a8;--teal-lt:#203a31;--green:#7fc1a8;--green-lt:#203a31;--red:#ee938b;--red-lt:#482724}:root[data-theme=dark] input::placeholder,:root[data-theme=dark] textarea::placeholder{color:#95a19a;opacity:1}:root[data-theme=dark] select{color-scheme:dark}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.001ms!important}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}@keyframes popIn{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.animate-in,.stagger{animation:fadeInUp .45s cubic-bezier(.23,1,.32,1) both;animation:fadeInUp var(--dur-lg) var(--ease-out) both}.stagger{animation-delay:0ms;animation-delay:calc(var(--i, 0)*70ms)}.hover-lift{-webkit-tap-highlight-color:transparent;transition:transform .2s cubic-bezier(.4,0,.2,1),box-shadow .2s cubic-bezier(.4,0,.2,1),border-color .2s cubic-bezier(.4,0,.2,1);transition:transform var(--dur) var(--ease),box-shadow var(--dur) var(--ease),border-color var(--dur) var(--ease)}.hover-lift:hover{border-color:#1f5a4a;border-color:var(--gold);box-shadow:0 18px 45px #18201d1a;box-shadow:var(--shadow-lg);transform:translateY(-3px)}@media (hover:none){.hover-lift:hover{box-shadow:0 1px 2px #18201d0a;box-shadow:var(--shadow-sm);transform:none}.hover-lift:active{border-color:#1f5a4a;border-color:var(--gold);box-shadow:0 8px 24px #18201d12;box-shadow:var(--shadow-md);transform:scale(.98)}}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:#efeee9;background:var(--paper-2)}::-webkit-scrollbar-thumb{background:#dedbd4;background:var(--paper-3);border-radius:3px}.serif{font-family:Fraunces,Georgia,Times New Roman,serif;font-family:var(--font-serif)}.mono{font-family:Courier New,monospace;font-size:.92em}.btn{align-items:center;border:none;border-radius:8px;border-radius:var(--radius);cursor:pointer;display:inline-flex;font-family:Inter,system-ui,-apple-system,sans-serif;font-family:var(--font-sans);font-size:.875rem;font-weight:500;gap:7px;letter-spacing:.02em;padding:9px 18px;transition:transform .14s cubic-bezier(.23,1,.32,1),background-color .15s ease,color .15s ease,border-color .15s ease,box-shadow .15s ease;transition:transform .14s var(--ease-out),background-color .15s ease,color .15s ease,border-color .15s ease,box-shadow .15s ease;white-space:nowrap}.btn-primary{background:#202522;background:var(--surface-2);border:1px solid #0000;color:#fff;color:var(--on-dark)}.btn-primary:hover{box-shadow:0 8px 24px #18201d12;box-shadow:var(--shadow-md);filter:brightness(1.15);transform:translateY(-1px)}.btn-gold{background:#1f5a4a;background:var(--gold);color:#fff;color:var(--on-accent)}.btn-gold:hover{box-shadow:0 8px 24px #18201d12;box-shadow:var(--shadow-md);filter:brightness(1.08);transform:translateY(-1px)}.btn-teal{background:#1f5a4a;background:var(--teal);color:#fff;color:var(--on-accent)}.btn-teal:hover{filter:brightness(1.08);transform:translateY(-1px)}.btn-ghost{background:#0000;border:1.5px solid #dedbd4;border:1.5px solid var(--paper-3);color:#4f5752;color:var(--ink-2)}.btn-ghost:hover{background:#efeee9;background:var(--paper-2)}.btn-danger{background:#a4433f;background:var(--red);color:#fff;color:var(--white)}.btn-sm{font-size:.8rem;padding:6px 13px}.btn-lg{font-size:1rem;padding:13px 26px}.btn:disabled{cursor:not-allowed;opacity:.45;transform:none!important}.card{background:#fff;background:var(--surface);border:1px solid #dedbd4;border:1px solid var(--paper-3);border-radius:10px;border-radius:var(--radius-lg);box-shadow:0 1px 2px #18201d0a;box-shadow:var(--shadow-sm);transition:background .3s cubic-bezier(.4,0,.2,1),border-color .2s cubic-bezier(.4,0,.2,1),box-shadow .2s cubic-bezier(.4,0,.2,1);transition:background .3s var(--ease),border-color var(--dur) var(--ease),box-shadow var(--dur) var(--ease)}.card-pad{padding:24px}.card-pad-lg{padding:32px}.field{display:flex;flex-direction:column;gap:5px}.field label{color:#4f5752;color:var(--ink-2);font-size:.8rem;font-weight:600;letter-spacing:.03em;text-transform:uppercase}.field input,.field select,.field textarea{background:#fff;background:var(--surface);border:1.5px solid #dedbd4;border:1.5px solid var(--paper-3);border-radius:8px;border-radius:var(--radius);color:#202522;color:var(--ink);font-family:Inter,system-ui,-apple-system,sans-serif;font-family:var(--font-sans);font-size:.925rem;outline:none;padding:9px 13px;transition:border-color .15s}.field input:focus,.field select:focus,.field textarea:focus{border-color:#1f5a4a;border-color:var(--gold);box-shadow:0 0 0 3px #e6efeb;box-shadow:0 0 0 3px var(--gold-lt)}.field textarea{min-height:80px;resize:vertical}.badge{border-radius:20px;display:inline-block;font-size:.75rem;font-weight:600;letter-spacing:.03em;padding:3px 10px;text-transform:uppercase}.badge-paid{background:#e6efeb;background:var(--green-lt);color:#1f5a4a;color:var(--green)}.badge-outstanding{background:#f5e8e6;background:var(--red-lt);color:#a4433f;color:var(--red)}.badge-partial{background:#efeae3;background:var(--amber-lt);color:#7d6952;color:var(--amber)}.tbl-wrap{-webkit-overflow-scrolling:touch;overflow-x:auto}.tbl{border-collapse:collapse;font-size:.9rem;width:100%}.tbl th{background:#f6f5f1;background:var(--paper);border-bottom:2px solid #dedbd4;border-bottom:2px solid var(--paper-3);color:#4f5752;color:var(--ink-2);font-size:.75rem;font-weight:600;letter-spacing:.04em;padding:10px 14px;text-align:left;text-transform:uppercase}.tbl td{border-bottom:1px solid #efeee9;border-bottom:1px solid var(--paper-2);color:#202522;color:var(--ink);padding:12px 14px}.tbl tr:last-child td{border-bottom:none}.tbl tbody tr{transition:background .2s cubic-bezier(.4,0,.2,1);transition:background var(--dur) var(--ease)}.tbl tbody tr:hover td{background:#efeee9;background:var(--paper-2)}.tbl .num{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;text-align:right}.page-header{margin-bottom:28px}.page-header h1{color:#202522;color:var(--ink);font-family:Fraunces,Georgia,Times New Roman,serif;font-family:var(--font-serif);font-size:2rem;line-height:1.2}.page-header p{font-size:.925rem;margin-top:4px}.page-header p,.section-label{color:#7c827e;color:var(--ink-3)}.section-label{align-items:center;display:flex;font-size:.72rem;font-weight:700;gap:10px;letter-spacing:.1em;margin-bottom:12px;text-transform:uppercase}.section-label:before{background:#1f5a4a;background:var(--gold);content:"";flex-shrink:0;height:1.5px;width:16px}.grid-2{grid-gap:16px;grid-template-columns:repeat(2,1fr)}.grid-2,.grid-3{display:grid;gap:16px}.grid-3{grid-gap:16px;grid-template-columns:repeat(3,1fr)}.grid-4{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(4,1fr)}.toast-wrap{bottom:28px;display:flex;flex-direction:column;gap:10px;position:fixed;right:28px;z-index:9999}.toast{animation:slideUp .2s ease;background:#202522;background:var(--surface-2);border:1px solid #ffffff14;border-radius:8px;border-radius:var(--radius);box-shadow:0 18px 45px #18201d1a;box-shadow:var(--shadow-lg);color:#fff;color:var(--on-dark);font-size:.875rem;padding:12px 20px}.toast.success{background:#1f5a4a;background:var(--teal);border-color:#0000;color:#fff;color:var(--on-accent)}.toast.error{background:#a4433f;background:var(--red);border-color:#0000;color:#fff}@keyframes slideUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.modal-overlay{align-items:center;animation:fadeIn .15s ease;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0f192380;display:flex;inset:0;justify-content:center;position:fixed;z-index:1000}.modal{-webkit-overflow-scrolling:touch;animation:scaleIn .15s ease;background:#fff;background:var(--surface);border-radius:10px;border-radius:var(--radius-lg);box-shadow:0 18px 45px #18201d1a;box-shadow:var(--shadow-lg);max-height:90vh;max-width:95vw;overflow-y:auto;padding:32px;width:520px}.modal-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:24px}.modal-header h2{font-family:Fraunces,Georgia,Times New Roman,serif;font-family:var(--font-serif);font-size:1.5rem}.modal-close{background:none;border:none;color:#7c827e;color:var(--ink-3);cursor:pointer;padding:4px}.modal-close:hover{color:#202522;color:var(--ink)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes scaleIn{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.divider{background:#efeee9;background:var(--paper-2);height:1px;margin:20px 0}.amount{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:600}.amount-lg{font-feature-settings:"tnum";font-size:1.6rem;font-variant-numeric:tabular-nums;font-weight:700}
/*# sourceMappingURL=main.f0c32841.css.map*/