:root{--ink:#102622;--muted:#687a78;--paper:#f4f0e8;--panel:#fffdfa;--panel-soft:#f8f5ef;--line:#d8ded8;--line-strong:#bac7c0;--jade:#0e7469;--jade-dark:#07574f;--sea:#277e96;--aqua:#78b7b1;--coral:#d25f46;--gold:#b58b42;--blue:#285f82;--shadow:0 18px 44px #0a26221a;--shadow-soft:0 8px 24px #0a262214;--radius:8px}*{box-sizing:border-box}html,body{min-height:100%}body{color:var(--ink);background:radial-gradient(circle at 16% -8%, #78b7b142, transparent 28%), radial-gradient(circle at 88% 5%, #d25f461f, transparent 22%), linear-gradient(90deg, #10262209 1px, transparent 1px), linear-gradient(#10262207 1px, transparent 1px), var(--paper);letter-spacing:0;background-size:32px 32px;margin:0;font-family:Avenir Next,Segoe UI,sans-serif}#next-logo,[data-next-badge],[data-next-badge-root],nextjs-portal{display:none!important}button,input,select,textarea{font:inherit}button{cursor:pointer;transition:background .14s,border-color .14s,color .14s,transform .14s,box-shadow .14s}a{color:inherit}.login-screen{background:linear-gradient(135deg, #fffdfaf5, #f4f0e8e0), var(--paper);grid-template-columns:minmax(280px,.9fr) minmax(360px,.7fr);min-height:100vh;display:grid}.login-visual{color:#fffdf7;background:linear-gradient(135deg,#07574ff0,#277e96d6),url(/harbor-lines.svg);place-items:center;display:grid;position:relative;overflow:hidden}.tidal-mark{aspect-ratio:1;border:1px solid #fffdf75c;place-items:center;width:min(44vw,360px);display:grid;box-shadow:inset 0 0 0 16px #fffdf70f}.harbor-lines{border:1px solid #fffdf72e;position:absolute;inset:8%;transform:rotate(-7deg)}.login-panel{flex-direction:column;justify-content:center;gap:24px;padding:clamp(28px,8vw,76px);display:flex}.brand-lockup span,.topbar span,.report-toolbar span,.owner-card span,.expense-row span,.saved-card span,.shared-report-top span{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:.78rem}.brand-lockup h1,.topbar h1,.shared-report-top h1{margin:6px 0 0;font-family:Georgia,Times New Roman,serif;font-size:clamp(2.1rem,6vw,4.8rem);font-weight:500;line-height:.95}.segmented{border:1px solid var(--line);border-radius:var(--radius);background:#fffdfab8;grid-template-columns:1fr 1fr;max-width:360px;padding:4px;display:grid}.segmented button{min-height:44px;color:var(--muted);background:0 0;border:0}.segmented button.active{background:var(--ink);color:var(--panel);border-radius:6px}.stack-form,.editor-panel,.control-grid{gap:14px;display:grid}label{color:var(--muted);gap:7px;font-size:.82rem;font-weight:700;display:grid}input,select,textarea{border:1px solid var(--line);width:100%;min-height:46px;color:var(--ink);border-radius:var(--radius);background:#fffdfaf0;outline:none;padding:10px 13px;box-shadow:inset 0 1px #ffffffb3}textarea{resize:vertical;min-height:108px;font-family:SFMono-Regular,Consolas,monospace;font-size:.83rem}input:focus,select:focus,textarea:focus{border-color:var(--jade);box-shadow:0 0 0 3px #146b5f29}.primary-action,.secondary-action,.text-action,.icon-button,.logout-button{border-radius:var(--radius);white-space:nowrap;border:1px solid #0000;justify-content:center;align-items:center;gap:8px;min-height:46px;font-weight:800;display:inline-flex}.primary-action{background:linear-gradient(180deg, var(--jade), var(--jade-dark));color:#fffdf7;padding:0 20px;box-shadow:0 10px 20px #0e74692e}.primary-action:hover{background:linear-gradient(180deg, #128175, var(--jade-dark));transform:translateY(-1px)}.primary-action:disabled,.secondary-action:disabled{opacity:.62;cursor:not-allowed}.secondary-action{background:var(--panel);color:var(--ink);border-color:var(--line);box-shadow:var(--shadow-soft);padding:0 14px;text-decoration:none}.secondary-action.small{min-height:36px;font-size:.86rem}.inline-actions{flex-wrap:wrap;gap:8px;display:flex}.danger-text{color:#9c2d20}.text-action{width:fit-content;min-height:0;color:var(--jade-dark);background:0 0;border:0;justify-content:start;padding:0;font-weight:800}.text-action:hover{color:var(--ink)}.icon-button{background:var(--panel);width:46px;color:var(--ink);border-color:var(--line);padding:0}.icon-button.danger{color:var(--coral)}.error-line,.message.error{color:#9c2d20}.success-line{color:var(--jade-dark);font-weight:700}.helper-line{color:var(--muted);margin:-4px 0 0;font-size:.88rem}.app-shell{grid-template-columns:248px 1fr;min-height:100vh;display:grid}.side-nav{color:#fffdf7;background-color:#0000;background-image:linear-gradient(#092e2afa,#0b201ffa),url(/harbor-lines.svg);background-position:0 0,0 0;background-repeat:repeat,repeat;background-size:cover;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;flex-direction:column;gap:24px;height:100vh;padding:20px 16px;display:flex;position:sticky;top:0;box-shadow:8px 0 28px #0a262229}.nav-brand{align-items:center;gap:10px;height:58px;padding:0 8px;font-family:Georgia,Times New Roman,serif;font-size:1.28rem;display:flex}.side-nav nav{gap:6px;display:grid}.side-nav button,.logout-button{color:#fffdf7c2;border-radius:var(--radius);background:0 0;border-color:#0000;grid-template-columns:20px minmax(0,1fr);justify-content:flex-start;align-items:center;column-gap:12px;width:100%;padding:0 13px;display:grid}.side-nav button.active,.side-nav button:hover,.logout-button:hover{color:#fffdf7;background:#fffdf71f;border-color:#fffdf71f}.side-nav button.active{box-shadow:inset 3px 0 0 var(--aqua)}.logout-button{margin-top:auto}.workspace{align-content:start;gap:20px;min-width:0;padding:clamp(20px,3vw,38px);display:grid}.topbar{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:var(--shadow-soft);border-radius:var(--radius);background:#fffdfab8;border:1px solid #d8ded8d1;justify-content:space-between;align-items:center;gap:18px;padding:18px;display:flex}.topbar h1{font-size:clamp(2rem,4vw,3.4rem)}.topbar-actions{align-items:center;gap:10px;display:flex}.topbar-actions select{min-width:220px}.topbar-actions .icon-button svg,.primary-action svg,.secondary-action svg,.side-nav svg,.logout-button svg,.panel-heading svg{flex:none}.side-nav svg,.logout-button svg{justify-self:center}.side-nav button span,.logout-button span{text-align:left;min-width:0;line-height:1}.message{border:1px solid var(--line);min-height:48px;box-shadow:var(--shadow-soft);border-radius:var(--radius);background:#fffdf8;justify-content:space-between;align-items:center;gap:14px;padding:12px 14px;display:flex}.message button{background:0 0;border:0}.view-band,.split-view{min-width:0}.control-grid{border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-soft);background:#fffdfad6;grid-template-columns:repeat(4,minmax(150px,1fr));align-items:end;padding:16px}.report-stage{gap:14px;margin-top:18px;display:grid}.report-toolbar{justify-content:space-between;align-items:center;gap:16px;padding:0 2px;display:flex}.report-toolbar h2,.panel-heading h2{margin:4px 0 0;font-size:1.2rem}.summary-strip,.metric-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;display:grid}.stat,.metric{border:1px solid var(--line);background:var(--panel);border-radius:var(--radius);min-height:88px;box-shadow:var(--shadow-soft);align-content:space-between;padding:15px;display:grid}.stat span,.metric span{color:var(--muted);text-transform:uppercase;font-size:.72rem}.stat strong,.metric strong{letter-spacing:0;font-size:1.22rem}.split-view{grid-template-columns:minmax(320px,.86fr) minmax(360px,1.14fr);align-items:start;gap:18px;display:grid}.split-view.single-view{grid-template-columns:minmax(0,1fr)}.editor-panel{border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-soft);background:#fffdfae6;padding:18px}.editor-panel.compact{align-self:start}.panel-heading{align-items:center;gap:10px;min-height:34px;display:flex}.panel-heading-action{margin-left:auto}.form-grid,.json-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.fee-editor{border:1px solid var(--line);border-radius:var(--radius);background:#f8f5ef94;gap:16px;padding:14px;display:grid}.muted-copy{color:var(--muted);margin:0;font-size:.9rem}.panel-heading.small{min-height:28px}.panel-heading.small h3{margin:0;font-size:1rem}.charge-section{gap:9px;display:grid}.charge-heading{justify-content:space-between;align-items:center;gap:10px;display:flex}.charge-heading strong{font-size:.88rem}.charge-row{align-items:center;gap:8px;display:grid}.charge-row.two{grid-template-columns:minmax(0,1fr) minmax(104px,.38fr) 46px}.charge-row.three{grid-template-columns:minmax(76px,.28fr) minmax(0,1fr) minmax(104px,.38fr) 46px}.charge-row.four{grid-template-columns:minmax(92px,.42fr) minmax(92px,.42fr) minmax(0,1fr) minmax(104px,.36fr) 46px}.button-row{flex-wrap:wrap;gap:10px;display:flex}.manage-lists-button{justify-self:start}.expense-lookup-manager{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;padding:14px 0;display:grid}.expense-lookup-manager>section{align-content:start;gap:10px;min-width:0;display:grid}.lookup-editor-row{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;display:grid}.lookup-list{border-top:1px solid var(--line);max-height:250px;display:grid;overflow:auto}.lookup-list>div{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:10px;min-height:48px;display:flex}.lookup-list>div>span{overflow-wrap:anywhere;min-width:0}.lookup-list .card-actions{flex-wrap:nowrap}.list-panel,.settings-stack{gap:12px;display:grid}.list-panel.wide{grid-column:span 1}.owner-card,.expense-row,.saved-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-soft);justify-content:space-between;align-items:center;gap:14px;padding:16px;display:flex}.owner-card h3,.expense-row h3,.saved-card h3{margin:4px 0;font-size:1.05rem}.owner-card p,.expense-row p,.saved-card p,.empty-state{color:var(--muted);margin:0}.owner-properties{flex-wrap:wrap;gap:6px;margin-top:10px;display:flex}.owner-properties span{border:1px solid var(--line);min-height:28px;color:var(--ink);text-transform:none;letter-spacing:0;background:#eef6f4;border-radius:999px;align-items:center;padding:0 8px;font-size:.76rem;display:inline-flex}.owner-warning{font-size:.82rem;color:#9c2d20!important;margin-top:8px!important}.card-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.expense-row strong{color:var(--blue);font-size:1.05rem}.expense-period-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:14px;min-height:64px;padding:12px 2px;display:flex}.expense-period-heading span{color:var(--muted);text-transform:uppercase;font-size:.72rem;font-weight:800}.expense-period-heading h2{margin:3px 0 0;font-size:1.2rem}.expense-period-heading>strong{color:var(--jade)}.file-pick{border:1px dashed var(--sea);min-height:48px;color:var(--jade);border-radius:var(--radius);justify-content:center;align-items:center;gap:8px;display:flex;position:relative;overflow:hidden}.file-pick input{opacity:0;position:absolute;inset:0}.saved-grid{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px;display:grid}.saved-card{flex-direction:column;align-items:flex-start;min-height:170px}.flag-row,.chip-list{flex-wrap:wrap;gap:8px;display:flex}.flag-row label{border:1px solid var(--line);min-height:38px;color:var(--ink);background:var(--panel);border-radius:var(--radius);align-items:center;gap:6px;padding:0 10px;display:inline-flex}.flag-row input{width:auto;min-height:auto}.chip-list span,.chip-button{border:1px solid var(--line);min-height:34px;color:var(--ink);background:#eef6f4;border-radius:999px;align-items:center;padding:0 10px;font-size:.86rem;display:inline-flex}.chip-button:hover{background:#e4f0ec}.modal-backdrop{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:40;background:#072623ad;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.statement-edit-modal{border:1px solid var(--line);border-radius:var(--radius);background:#fffdf7;gap:14px;width:min(520px,94vw);max-height:92vh;padding:28px;display:grid;position:relative;overflow:auto;box-shadow:0 24px 80px #00000057}.email-modal{border:1px solid var(--line);border-radius:var(--radius);background:#fffdf7;gap:14px;width:min(620px,94vw);max-height:92vh;padding:28px;display:grid;position:relative;overflow:auto;box-shadow:0 24px 80px #00000057}.email-modal span{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:.78rem}.statement-edit-modal h2,.email-modal h2{margin:0;padding-right:48px}.modal-field-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.modal-close{z-index:2;background:var(--ink);width:44px;height:44px;color:var(--panel);border:0;border-radius:999px;place-items:center;display:grid;position:absolute;top:10px;right:10px}.shared-report-screen{min-height:100vh;padding:clamp(18px,4vw,42px)}.print-report-screen{background:#f4f0e8;min-height:100vh;padding:24px}.print-toolbar{justify-content:space-between;align-items:flex-end;gap:18px;max-width:1320px;margin:0 auto 16px;display:flex}.print-toolbar span{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:.78rem}.print-toolbar h1,.print-toolbar p{margin:0}.print-report-document{border:1px solid var(--line);max-width:1320px;box-shadow:var(--shadow);background:#fffefa;margin:0 auto}.shared-report-top{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-end;gap:18px;margin-bottom:18px;padding-bottom:18px;display:flex}.report-preview{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);overflow:auto}.report-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.report-document{color:#18221f;background:linear-gradient(#fffefa,#fffaf1);min-width:760px;padding:clamp(20px,3vw,34px)}.report-hero{border-bottom:2px solid #102622db;margin-bottom:18px;padding-bottom:18px}.report-hero p{color:var(--jade);text-transform:uppercase;margin:0 0 8px;font-weight:800}.report-hero h1{margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(2rem,4vw,3.6rem);font-weight:500;line-height:.98}.report-hero span{color:var(--muted);margin-top:8px;display:inline-block}.report-hero-details{color:var(--ink);flex-wrap:wrap;gap:8px 18px;margin-top:10px;font-size:.95rem;display:flex}.report-hero-details span{color:var(--ink);margin-top:0}.gri-document .metric strong{font-size:1.12rem}.gri-property-card{border:1px solid var(--line);border-radius:var(--radius);background:#fffdf8;gap:5px;margin:22px 0 14px;padding:16px 18px;display:grid}.gri-property-card span{color:var(--jade);text-transform:uppercase;font-size:.72rem;font-weight:800}.gri-property-card strong{font-family:Georgia,Times New Roman,serif;font-size:clamp(1.35rem,2.4vw,2rem);font-weight:500;line-height:1.1}.gri-property-card small{color:#9c2d20;font-weight:700}.gri-property-card.missing-address{background:#fff8f3;border-color:#9c2d205c}.property-section{border-top:1px solid #1026223d;margin-top:28px;padding-top:18px}.property-header{justify-content:space-between;align-items:end;margin-bottom:12px;display:flex}.property-header span{color:var(--jade);text-transform:uppercase;margin-bottom:3px;font-size:.7rem;font-weight:800;display:block}.property-header h2,.report-document .property-header h2{margin:0;font-family:Georgia,Times New Roman,serif;font-size:1.55rem;font-weight:500}.property-address{color:var(--muted);margin:4px 0 0;font-size:.86rem}.owner-statement-shell{width:min(100%,1440px);min-height:100vh;margin:0 auto;padding:clamp(16px,3vw,36px)}.owner-statement-header{border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-soft);background:#fffdfaf5;justify-content:space-between;align-items:center;gap:20px;margin-bottom:18px;padding:clamp(18px,3vw,30px);display:flex}.owner-statement-header span,.owner-statement-header p{color:var(--muted);text-transform:uppercase;font-size:.78rem;font-weight:700}.owner-statement-header h1{margin:4px 0;font-family:Georgia,Times New Roman,serif;font-size:clamp(2rem,5vw,3.4rem);font-weight:500;line-height:1}.owner-statement-header p{margin:0}.owner-statement-controls{border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-soft);background:#fffdfaf5;grid-template-columns:repeat(2,minmax(160px,1fr)) auto auto;align-items:end;margin-bottom:18px;padding:18px}.owner-download-action{width:max-content;min-height:48px}.owner-calendar-toggle-action{text-transform:uppercase;white-space:nowrap;width:max-content;min-height:48px;margin-left:auto;padding-inline:14px;font-size:.78rem}.owner-calendar-panel{border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-soft);background:#fffdfaf5;margin-bottom:18px;padding:clamp(16px,2.5vw,26px)}.owner-calendar-panel-header{justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:12px;display:flex}.owner-calendar-panel-header>div:first-child>span,.owner-calendar-tools label{color:var(--muted);text-transform:uppercase;font-size:.72rem;font-weight:800}.owner-calendar-panel-header h2{margin:3px 0;font-family:Georgia,Times New Roman,serif;font-size:clamp(1.5rem,3vw,2.15rem);font-weight:500}.owner-calendar-panel-header p{color:var(--muted);margin:0;font-size:.86rem}.owner-calendar-tools{align-items:flex-end;gap:10px;display:flex}.owner-calendar-tools label{min-width:190px}.owner-calendar-tools select{min-height:42px;margin-top:4px;display:block}.owner-calendar-nav{gap:6px;display:flex}.owner-calendar-nav button{border:1px solid var(--line);background:var(--panel);width:42px;height:42px;color:var(--ink);border-radius:6px;place-items:center;padding:0;display:grid}.owner-rate-calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;display:grid}.owner-rate-weekdays{margin-bottom:6px}.owner-rate-weekdays span{color:var(--muted);text-align:center;text-transform:uppercase;background:#e8f1ef;border:1px solid #cbd9d5;padding:7px 4px;font-size:.68rem;font-weight:800}.owner-rate-cell{border:1px solid var(--line);background:#fffdfa;border-radius:6px;min-width:0;min-height:70px;padding:8px;position:relative;overflow:hidden}.owner-rate-cell strong,.owner-rate-cell span,.owner-rate-cell em{display:block}.owner-rate-cell strong{font-size:.78rem}.owner-rate-cell span{white-space:nowrap;margin-top:9px;font-size:clamp(.68rem,1.6vw,.9rem);font-weight:800}.owner-rate-cell.reserved{color:#103d59;background:#dcecf7;border-color:#2577a8}.owner-rate-cell.available-rate{color:#0b594b;background:#e5f5ed;border-color:#17806d}.owner-rate-cell.owner-stay{color:#6f3605;background:#fff0d9;border-color:#a45a13}.owner-rate-cell.new{box-shadow:inset 0 0 0 2px #d4482d}.owner-rate-cell em{color:#fff;text-transform:uppercase;background:#d4482d;border-radius:3px;padding:2px 4px;font-size:.54rem;font-style:normal;font-weight:900;position:absolute;top:5px;right:5px}.owner-rate-legend{color:var(--muted);flex-wrap:wrap;gap:14px;margin-top:12px;font-size:.75rem;display:flex}.owner-rate-notice{color:#9a3c2e;font-weight:700}.rate-available-dot{background:#17806d}.owner-rate-legend span{align-items:center;gap:6px;display:inline-flex}.owner-rate-legend i{border-radius:50%;width:10px;height:10px}.owner-rate-legend .rate-reservation-dot{background:#2577a8}.owner-rate-legend .rate-owner-dot{background:#a45a13}.owner-rate-legend .rate-new-dot{background:#d4482d}.new-reservation-row td{background:#fff8ec}.new-reservation-badge{color:#fff;text-transform:uppercase;vertical-align:middle;background:#d4482d;border-radius:3px;margin-left:7px;padding:2px 5px;font-size:.55rem;font-weight:900;line-height:1.2;display:inline-block}.owner-statement-stage{min-height:240px}.owner-statement-status{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);min-height:240px;color:var(--muted);justify-content:center;align-items:center;gap:10px;font-weight:700;display:flex}.owner-statement-preview .report-document{min-width:0}.owner-statement-message{margin:0}@media (max-width:680px){.owner-statement-shell{padding:10px}.owner-statement-header{flex-direction:column;align-items:flex-start;gap:14px}.owner-statement-header .secondary-action{width:100%}.owner-statement-controls{grid-template-columns:1fr}.owner-download-action,.owner-calendar-toggle-action{width:100%;margin-left:0}.owner-calendar-panel-header,.owner-calendar-tools{flex-direction:column;align-items:stretch}.owner-calendar-tools label{min-width:0}.owner-calendar-nav button{flex:1}.owner-rate-cell{min-height:58px;padding:5px}.owner-rate-calendar-grid{gap:3px}.owner-rate-cell span{margin-top:7px;font-size:.62rem}.owner-statement-preview .report-document{padding:16px}}.property-metric-grid{border:1px solid var(--line);background:#f5f0e5;grid-template-columns:repeat(auto-fit,minmax(118px,1fr));display:grid}.property-metric{border-right:1px solid var(--line);min-width:0;padding:10px 12px}.property-metric:last-child{border-right:0}.property-metric span,.property-metric strong{display:block}.property-metric span{color:var(--muted);text-transform:uppercase;font-size:.68rem;font-weight:800}.property-metric strong{margin-top:3px;font-size:.96rem}.property-empty{color:var(--muted);margin:10px 0 0}.property-section h2,.report-document h2{margin:0 0 10px;font-size:1.2rem}.statement-subhead{margin:16px 0 8px;font-size:1rem}.mini-total{flex-wrap:wrap;gap:8px;margin-bottom:10px;display:flex}.mini-total span{border:1px solid var(--line);background:#f6efe1;padding:8px 10px}.statement-summary-stack{gap:16px;margin:18px 0 26px;display:grid}.owner-summary-detail-stack{gap:24px;margin-top:24px;display:grid}.owner-summary-detail{break-inside:avoid;page-break-inside:avoid}.statement-summary-card{border:1px solid var(--line);border-radius:var(--radius);break-inside:avoid;page-break-inside:avoid;background:#fffefa;padding:14px 16px}.statement-summary-card h2{text-align:center;text-transform:uppercase;margin:2px 0 14px;font-size:.96rem}.statement-summary-lines{display:grid}.statement-summary-line{border-bottom:1px solid var(--line);text-transform:uppercase;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px;min-height:38px;display:grid}.statement-summary-line:last-child{border-bottom:0}.statement-summary-line span{min-width:0}.statement-summary-line strong{white-space:nowrap;font-size:.96rem}.statement-summary-line.strong{min-height:44px;padding:3px 14px 0;font-weight:800}.statement-summary-line.strong strong{font-size:1rem}.compact-table th,.compact-table td{padding:8px 10px;font-size:.76rem}.empty-tax-row{text-align:center;text-transform:uppercase;color:var(--muted)}.table-wrap{border:1px solid var(--line);border-radius:var(--radius);width:100%;overflow:auto}table{border-collapse:collapse;background:#fffefa;width:100%}th,td{text-align:left;border-bottom:1px solid var(--line);vertical-align:top;padding:10px 12px;font-size:.88rem}th{color:#17201d;text-transform:uppercase;background:#e8f1ef;font-size:.76rem}tbody tr:hover td{background:#78b7b114}tr:last-child td{border-bottom:0}.row-actions{white-space:nowrap}.row-actions button{border:1px solid var(--line);width:auto;min-height:32px;color:var(--jade);background:#fffdf7;border-radius:6px;margin-right:6px;padding:6px 10px;font-size:.78rem}.row-actions button:hover{background:#f6efe1}@page{size:letter portrait;margin:.45in}@media print{html,body{background:#fff}body{-webkit-print-color-adjust:exact;print-color-adjust:exact}.print-toolbar,.row-actions,.modal-backdrop,.side-nav,.topbar,.report-actions{display:none!important}.print-report-screen,.shared-report-screen{background:#fff;min-height:0;padding:0}.print-report-document,.report-preview{box-shadow:none;background:#fff;border:0;max-width:none;overflow:visible}.report-document{background:#fff;padding:0;min-width:0!important}.report-hero,.metric-grid,.statement-summary-card,.property-header,.property-metric-grid,.property-section,.table-wrap,table,img{break-inside:avoid;page-break-inside:avoid}.report-hero{margin-bottom:10px;padding-bottom:10px}.report-hero h1{font-size:22pt}.metric-grid{gap:6px;margin-bottom:10px}.property-section{margin-top:14px;padding-top:10px}.property-header{margin-bottom:6px}.property-header h2,.report-document .property-header h2{font-size:14pt}.property-metric-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.property-metric{padding:5px}.property-metric span{font-size:5.8pt}.property-metric strong{font-size:7.2pt}.metric{padding:6px}.statement-summary-stack{gap:8px;margin:10px 0 14px}.owner-summary-detail-stack{gap:14px;margin-top:14px}.statement-summary-card{padding:8px 10px}.statement-summary-card h2{margin-bottom:8px;font-size:8pt}.statement-summary-line{min-height:24px}.statement-summary-line strong{font-size:8pt}.table-wrap{border-radius:0;overflow:visible}table{table-layout:auto;width:100%}tr,td,th{break-inside:avoid;page-break-inside:avoid}th,td{word-break:break-word;padding:4px 5px;font-size:7.2pt;line-height:1.25}th{font-size:6.6pt}a{text-decoration:none}img,svg,iframe{max-width:100%;height:auto}}@media (max-width:1120px){.control-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.split-view{grid-template-columns:1fr}}@media (max-width:760px){body{background-size:26px 26px}.login-screen{grid-template-columns:1fr}.login-visual{min-height:180px}.tidal-mark{width:140px}.app-shell{grid-template-columns:1fr;padding-bottom:78px}.side-nav{z-index:30;height:74px;padding:8px;display:block;position:fixed;inset:auto 0 0}.nav-brand,.logout-button{display:none}.side-nav nav{grid-auto-columns:1fr;grid-auto-flow:column;gap:6px;height:100%;display:grid}.side-nav button{flex-direction:column;justify-content:center;gap:3px;min-height:58px;padding:4px;font-size:.72rem}.workspace{padding:14px}.topbar{padding:14px;display:grid}.topbar h1{font-size:clamp(1.8rem,12vw,3rem)}.topbar-actions{width:100%}.topbar-actions select{flex:1;min-width:0}.control-grid,.form-grid,.json-grid,.modal-field-grid,.charge-row,.charge-row.two,.charge-row.three,.charge-row.four{grid-template-columns:1fr}.primary-action,.secondary-action{width:100%}.report-toolbar,.shared-report-top,.owner-card,.expense-row{flex-direction:column;align-items:flex-start}.card-actions{flex-wrap:wrap;justify-content:flex-start;width:100%}.report-document{min-width:680px}}.income-page{gap:24px;min-width:0;display:grid}.income-controls{border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-soft);background:#fffdfae0;justify-content:space-between;align-items:end;gap:24px;padding:18px;display:flex}.income-section-heading{align-items:center;gap:11px;display:flex}.income-section-heading>svg{color:var(--jade);flex:none}.income-section-heading span{color:var(--muted);text-transform:uppercase;margin-bottom:3px;font-size:.7rem;font-weight:800;display:block}.income-section-heading h2{margin:0;font-size:1.25rem}.income-filter-grid{grid-template-columns:repeat(2,minmax(160px,210px));gap:12px;display:grid}.income-filter-grid label{margin:0}.income-warning{border-left:4px solid var(--gold);background:#fffaf0;padding:13px 16px}.income-warning summary{cursor:pointer;font-weight:800}.income-warning ul{color:var(--muted);margin:10px 0 0;padding-left:20px}.income-loading{min-height:220px;color:var(--muted);place-items:center;font-weight:700;display:grid}.income-summary{grid-template-columns:minmax(250px,.7fr) minmax(0,2.3fr);gap:12px;min-width:0;transition:opacity .16s;display:grid}.income-summary.is-updating{opacity:.58}.income-primary-total{border-radius:var(--radius);background:var(--ink);color:#fffdf7;min-height:188px;box-shadow:var(--shadow);align-content:center;gap:8px;padding:22px;display:grid}.income-primary-icon{width:42px;height:42px;color:var(--aqua);border:1px solid #fffdf73d;place-items:center;margin-bottom:10px;display:grid}.income-primary-total>span,.income-primary-total>small{color:#fffdf7b3;text-transform:uppercase;font-size:.72rem;font-weight:800}.income-primary-total>strong{font-family:Georgia,Times New Roman,serif;font-size:clamp(2rem,3vw,3.2rem);font-weight:500;line-height:1}.income-primary-total>small{text-transform:none;font-weight:600}.income-summary-grid{grid-template-columns:repeat(5,minmax(130px,1fr));gap:12px;min-width:0;display:grid}.income-metric{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);min-height:88px;box-shadow:var(--shadow-soft);align-content:space-between;gap:9px;padding:14px;display:grid}.income-metric span{color:var(--muted);text-transform:uppercase;font-size:.68rem;font-weight:800}.income-metric strong{overflow-wrap:anywhere;font-size:clamp(1rem,1.45vw,1.25rem)}.income-ledger-section{border-top:1px solid var(--line-strong);gap:14px;min-width:0;padding-top:20px;display:grid}.income-breakdown-heading{justify-content:space-between;align-items:center;gap:18px;display:flex}.income-segments{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel-soft);padding:3px;display:flex}.income-segments button{min-height:38px;color:var(--muted);background:0 0;border:0;border-radius:5px;align-items:center;gap:7px;padding:8px 13px;font-weight:800;display:flex}.income-segments button.active{background:var(--panel);color:var(--ink);box-shadow:0 3px 10px #0a262217}.income-table-wrap{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);min-width:0;overflow:auto}.income-table{border-collapse:collapse;width:100%;min-width:1400px;font-size:.82rem}.income-table.monthly{min-width:1320px}.income-table th,.income-table td{border-bottom:1px solid var(--line);text-align:right;white-space:nowrap;padding:12px 13px}.income-table th{color:#29413d;text-transform:uppercase;background:#e7f0ee;font-size:.68rem}.income-table th:first-child,.income-table td:first-child,.income-table th:nth-child(2),.income-table td:nth-child(2){text-align:left}.income-table tbody:last-child tr:last-child td{border-bottom:0}.income-table tbody tr:hover td{background:#fbf8f1}.income-table .income-group-row th{color:var(--jade-dark);text-align:left;background:#f1f4ef;padding:9px 13px;font-size:.72rem}.income-name-cell strong,.income-name-cell span{display:block}.income-name-cell span{max-width:230px;color:var(--muted);white-space:normal;margin-top:3px;font-size:.72rem}.income-owner-type{text-transform:capitalize}.income-company-value{color:var(--jade-dark);font-weight:800}@media (max-width:1180px){.income-summary{grid-template-columns:1fr}.income-primary-total{min-height:160px}.income-summary-grid{grid-template-columns:repeat(3,minmax(130px,1fr))}}@media (max-width:760px){.income-controls,.income-breakdown-heading{flex-direction:column;align-items:stretch}.income-filter-grid,.income-summary-grid{grid-template-columns:1fr 1fr}.income-segments,.income-segments button{width:100%}.income-segments button{justify-content:center}}@media (max-width:480px){.income-filter-grid,.income-summary-grid{grid-template-columns:1fr}}.owner-portal-screen{color:#13263a;gap:22px;max-width:980px;min-height:100vh;margin:0 auto;padding:clamp(18px,4vw,34px);display:grid}.owner-portal-hero{color:#fff;text-align:center;min-height:168px;box-shadow:var(--shadow);background:linear-gradient(145deg,#123e62,#247f98);border-radius:0 0 34px 34px;place-items:center;display:grid;position:relative}.owner-portal-hero strong{text-transform:uppercase;letter-spacing:.08em;font-size:clamp(2rem,7vw,3.2rem);display:block}.owner-portal-hero span{text-transform:uppercase;letter-spacing:.18em;opacity:.86;margin-top:8px;font-size:clamp(1rem,4vw,1.35rem);display:block}.owner-signout,.owner-portal-button{color:#13263a;background:#fff;border:1px solid #13263a29;border-radius:999px;justify-content:center;align-items:center;gap:8px;min-height:42px;padding:0 18px;font-weight:800;display:inline-flex}.owner-signout{position:absolute;top:18px;right:18px}.owner-portal-card{background:#fffffff0;border:1px solid #d8e3ec;border-radius:8px;padding:clamp(22px,4vw,36px);box-shadow:0 18px 42px #1c405c17}.owner-portal-empty{text-align:center;margin-top:16vh}.owner-portal-empty h1{margin:0 0 10px;font-size:clamp(2rem,8vw,3.6rem)}.owner-welcome-card>p,.owner-portal-card h2,.owner-summary-grid span,.owner-table-note,.owner-total-line,.owner-filter-panel label{text-transform:uppercase;letter-spacing:.08em}.owner-welcome-card>p{color:#243f5b;margin:0 0 8px;font-size:clamp(1.4rem,5vw,2.4rem);font-weight:900}.owner-welcome-card h1{color:#1d5f8a;margin:0 0 24px;font-size:clamp(1.3rem,4vw,2rem);line-height:1.15}.owner-filter-panel{background:#f7fbff;border:1px solid #d8e3ec;border-radius:8px;grid-template-columns:1fr 1fr;gap:18px;padding:22px;display:grid}.owner-total-line{color:#13263a;text-align:center;letter-spacing:0;flex-wrap:wrap;grid-column:1/-1;justify-content:center;align-items:center;gap:12px 22px;font-weight:900;display:flex}.owner-filter-panel label{color:#5b7083;font-size:.88rem;font-weight:900}.owner-filter-panel select{color:#13263a;background:#f4f8fc;border-color:#cad9e4;min-height:54px;font-weight:800}.owner-portal-card h2{color:#13263a;text-align:center;margin:0 0 22px;font-size:clamp(1.8rem,6vw,3rem);font-weight:900;line-height:1}.owner-summary-grid{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:20px;display:grid}.owner-summary-grid div{text-align:center;background:#f9fbfd;border:1px solid #d8e3ec;border-radius:8px;place-items:center;gap:8px;min-height:118px;padding:18px;display:grid;box-shadow:0 14px 28px #1c405c12}.owner-summary-grid span{color:#60778c;font-size:.9rem;font-weight:900}.owner-summary-grid strong{color:#13263a;font-size:clamp(2rem,6vw,3.4rem);line-height:1}.owner-calendar-title{grid-template-columns:54px 1fr 54px;align-items:center;gap:12px;margin-bottom:18px;display:grid}.owner-calendar-title h2{margin:0;font-size:clamp(1.4rem,5vw,2rem)}.owner-calendar-title button{color:#13263a;background:#f7fbff;border:1px solid #d8e3ec;border-radius:8px;place-items:center;min-height:48px;display:grid}.owner-calendar-grid{grid-template-columns:repeat(7,minmax(56px,1fr));gap:7px;display:grid}.owner-calendar-weekdays{margin-bottom:8px}.owner-calendar-weekdays span{color:#13263a;background:#f7fbff;border:1px solid #d8e3ec;place-items:center;min-height:34px;font-weight:900;display:grid}.owner-calendar-cell{background:#fff;border:2px solid #dfe8ef;border-radius:8px;align-content:start;gap:10px;min-height:82px;padding:8px;display:grid}.owner-calendar-cell strong,.owner-calendar-cell span{font-size:1rem;font-weight:900}.owner-calendar-cell.reservation{color:#173f6d;background:#d7e7ff;border-color:#2f6fb2}.owner-calendar-cell.vrbo{color:#14512b;background:#d9f2dc;border-color:#238044}.owner-calendar-cell.owner-stay{color:#6f3f00;background:#fde6bf;border-color:#b26700}.owner-calendar-legend{flex-wrap:wrap;justify-content:center;gap:18px;margin-top:18px;font-weight:700;display:flex}.owner-calendar-legend span{align-items:center;gap:8px;display:inline-flex}.owner-calendar-legend i{border-radius:999px;width:14px;height:14px;display:inline-block}.reservation-dot{background:#2f6fb2}.vrbo-dot{background:#238044}.owner-dot{background:#b26700}.owner-table-note{text-align:center;color:#13263a;letter-spacing:0;margin:-10px 0 18px}.owner-table-wrap{border:1px solid #d8e3ec;border-radius:8px;overflow-x:auto}.owner-portal-table{border-collapse:collapse;background:#fff;width:100%;min-width:620px}.owner-portal-table th,.owner-portal-table td{text-align:left;color:#13263a;border-bottom:1px solid #dfe8ef;padding:16px 18px;font-size:1rem}.owner-portal-table th{color:#243f5b;text-transform:uppercase;letter-spacing:.04em;background:#edf5fc;font-weight:900}.owner-portal-table tr:last-child td{border-bottom:0}@media (max-width:760px){.owner-portal-screen{gap:18px;padding:0 14px 22px}.owner-portal-hero{border-radius:0 0 28px 28px}.owner-signout{order:-1;margin-top:16px;position:static}.owner-filter-panel{grid-template-columns:1fr;padding:16px}.owner-calendar-grid{grid-template-columns:repeat(7,minmax(42px,1fr));gap:5px}.owner-calendar-cell{min-height:66px;padding:6px}.owner-summary-grid{grid-template-columns:1fr}}.owner-shell{grid-template-columns:1fr}.owner-workspace{width:100%;max-width:1240px;margin:0 auto}.owner-workspace .topbar h1{font-size:clamp(2rem,4vw,3.4rem)}.owner-workspace .topbar .secondary-action{width:auto}.owner-workspace .owner-portal-card{border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-soft);background:#fffdfae6;padding:18px}.owner-workspace .owner-welcome-card{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:18px;display:grid}.owner-workspace .owner-card-signout{justify-self:end}.owner-workspace .owner-welcome-card span,.owner-workspace .owner-summary-grid span,.owner-workspace .owner-table-note,.owner-workspace .owner-total-line span,.owner-workspace .owner-total-line strong{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:.78rem;font-weight:700}.owner-workspace .owner-welcome-card h2{color:var(--ink);text-align:left;text-transform:none;letter-spacing:0;margin:4px 0 2px;font-size:1.35rem;line-height:1.1}.owner-workspace .owner-welcome-card p{color:var(--jade-dark);text-transform:none;letter-spacing:0;margin:0;font-size:1rem;font-weight:800}.owner-workspace .owner-total-line{border:1px solid var(--line);background:var(--panel);border-radius:var(--radius);box-shadow:none;flex-wrap:wrap;grid-column:1/-1;justify-content:flex-end;align-items:center;gap:10px 14px;padding:12px 14px;display:flex}.owner-workspace .owner-total-line svg{color:var(--jade-dark)}.owner-workspace .owner-control-grid{grid-template-columns:repeat(3,minmax(180px,1fr))}.owner-workspace .owner-control-grid:after{content:""}.owner-workspace .owner-portal-card h2{color:var(--ink);text-align:left;text-transform:none;letter-spacing:0;margin:0;font-family:Avenir Next,Segoe UI,sans-serif;font-size:1.2rem;font-weight:800;line-height:1.2}.owner-workspace .owner-summary-grid{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;margin-top:12px;display:grid}.owner-workspace .owner-summary-grid div{border:1px solid var(--line);background:var(--panel);text-align:left;border-radius:var(--radius);min-height:88px;box-shadow:var(--shadow-soft);align-content:space-between;place-items:stretch stretch;gap:8px;padding:15px;display:grid}.owner-workspace .owner-summary-grid strong{color:var(--ink);white-space:nowrap;text-overflow:ellipsis;font-size:1.28rem;line-height:1.1;overflow:hidden}.owner-workspace .owner-calendar-title{grid-template-columns:46px 1fr 46px;align-items:center;gap:10px;margin-bottom:12px;display:grid}.owner-workspace .owner-calendar-card{padding:14px}.owner-workspace .owner-calendar-toggle-row{display:flex}.owner-workspace .owner-calendar-toggle{border:1px solid var(--line);background:var(--panel);width:100%;min-height:48px;color:var(--ink);border-radius:var(--radius);text-align:left;box-shadow:var(--shadow-soft);grid-template-columns:20px auto minmax(0,1fr) 20px;align-items:center;gap:10px;padding:0 14px;display:grid}.owner-workspace .owner-calendar-toggle span{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:.78rem;font-weight:800}.owner-workspace .owner-calendar-toggle strong{min-width:0;color:var(--ink);text-overflow:ellipsis;white-space:nowrap;justify-self:end;font-size:.98rem;overflow:hidden}.owner-workspace .owner-calendar-toggle svg{color:var(--jade-dark)}.owner-workspace .owner-calendar-toggle svg:last-child{transition:transform .14s}.owner-workspace .owner-calendar-card.open .owner-calendar-toggle svg:last-child{transform:rotate(180deg)}.owner-workspace .owner-calendar-body{margin-top:14px}.owner-workspace .owner-calendar-title h2{text-align:center}.owner-workspace .owner-calendar-title button{border:1px solid var(--line);background:var(--panel);min-height:42px;color:var(--ink);border-radius:var(--radius);place-items:center;display:grid}.owner-workspace .owner-calendar-grid{grid-template-columns:repeat(7,minmax(52px,1fr));gap:6px}.owner-workspace .owner-calendar-weekdays{margin-bottom:6px}.owner-workspace .owner-calendar-weekdays span{border:1px solid var(--line);min-height:34px;color:var(--ink);background:#e8f3f1;border-radius:4px;font-size:.82rem;font-weight:800}.owner-workspace .owner-calendar-cell{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);min-height:70px;box-shadow:none;padding:8px}.owner-workspace .owner-calendar-cell strong,.owner-workspace .owner-calendar-cell span{font-size:.88rem;font-weight:800}.owner-workspace .owner-calendar-cell.reservation{color:#173f6d;background:#d7e7ff;border-color:#2f6fb2}.owner-workspace .owner-calendar-cell.vrbo{color:#14512b;background:#d9f2dc;border-color:#238044}.owner-workspace .owner-calendar-cell.owner-stay{color:#6f3f00;background:#fde6bf;border-color:#b26700}.owner-workspace .owner-calendar-legend{color:var(--muted);justify-content:flex-start;margin-top:12px;font-size:.9rem}.owner-workspace .owner-table-note{text-align:left;text-transform:none;letter-spacing:0;margin:4px 0 12px}.owner-workspace .owner-table-wrap{border:1px solid var(--line);border-radius:var(--radius);margin-top:12px;overflow-x:auto}.owner-workspace .owner-portal-table{border-collapse:collapse;background:var(--panel);width:100%;min-width:620px}.owner-workspace .owner-portal-table th,.owner-workspace .owner-portal-table td{border-bottom:1px solid var(--line);color:var(--ink);text-align:left;padding:12px 13px;font-size:.95rem}.owner-workspace .owner-portal-table th{color:var(--ink);text-transform:uppercase;letter-spacing:.04em;background:#e8f3f1;font-size:.76rem;font-weight:900}.owner-workspace .owner-portal-table tr:last-child td{border-bottom:0}@media (max-width:760px){.expense-lookup-manager,.lookup-editor-row,.owner-shell{grid-template-columns:1fr}.owner-workspace{padding:14px}.owner-workspace .topbar{display:grid}.owner-workspace .topbar .secondary-action{display:none}.owner-workspace .owner-welcome-card,.owner-workspace .owner-control-grid{grid-template-columns:1fr}.owner-workspace .owner-total-line{justify-content:flex-start}.owner-workspace .owner-calendar-grid{grid-template-columns:repeat(7,minmax(34px,1fr));gap:4px}.owner-workspace .owner-calendar-cell{min-height:58px;padding:6px}}
