:root{--paper:#f2efe6;--paper-deep:#e7e1d3;--surface:#fbfaf6;--ink:#132b2a;--ink-soft:#4e5d59;--forest:#153d3a;--forest-bright:#245a54;--terracotta:#cb6646;--terracotta-soft:#f1d1c5;--sage:#cfdbbd;--gold:#c69d55;--rental-tax:#6f8f88;--danger:#9d3e32;--success:#2f7356;--line:#132b2a29;--line-strong:#132b2a57;--shadow:0 18px 50px #1b2a2617;--radius-sm:10px;--radius-md:18px;--radius-lg:28px;--display:"Iowan Old Style", "Palatino Linotype", "Book Antiqua", Palatino, Georgia, serif;--body:"Avenir Next", "Segoe UI Variable", "Segoe UI", sans-serif}*{box-sizing:border-box}html{background:var(--paper);min-height:100%;color:var(--ink);scroll-behavior:smooth;text-rendering:optimizelegibility}body{min-height:100vh;font-family:var(--body);background:linear-gradient(#132b2a06 1px, transparent 1px), linear-gradient(90deg, #132b2a06 1px, transparent 1px), var(--paper);background-size:28px 28px;margin:0}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{color:inherit}::selection{color:var(--surface);background:var(--terracotta)}:focus-visible{outline:3px solid color-mix(in srgb, var(--terracotta) 70%, transparent);outline-offset:3px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.login-page{grid-template-columns:minmax(0,1.15fr) minmax(420px,.85fr);min-height:100vh;display:grid}.login-story{color:#f7f1e6;background:radial-gradient(circle at 16% 14%, #cb66466b, transparent 28%), radial-gradient(circle at 82% 82%, #cfdbbd2e, transparent 25%), var(--forest);flex-direction:column;justify-content:space-between;min-height:100vh;padding:clamp(32px,6vw,88px);display:flex;position:relative;overflow:hidden}.login-story:after{content:"";border:1px solid #f7f1e62e;border-radius:46% 54% 61% 39%;width:56vw;height:56vw;position:absolute;bottom:-24vw;right:-12vw;transform:rotate(18deg)}.brand{z-index:1;letter-spacing:-.02em;align-items:center;gap:12px;font-weight:700;display:inline-flex;position:relative}.brand-mark{width:38px;height:38px;font-family:var(--display);border:1px solid;border-radius:50% 50% 42% 42%;place-items:center;font-size:21px;font-weight:700;display:grid}.login-headline{z-index:1;max-width:760px;margin:64px 0;position:relative}.eyebrow{color:var(--terracotta);letter-spacing:.16em;text-transform:uppercase;align-items:center;gap:10px;margin:0 0 14px;font-size:.72rem;font-weight:800;display:flex}.eyebrow:before{content:"";background:currentColor;width:24px;height:1px}.login-story .eyebrow{color:var(--sage)}.login-headline h1{max-width:700px;font-family:var(--display);letter-spacing:-.065em;margin:0;font-size:clamp(3.2rem,7vw,7.3rem);font-weight:500;line-height:.88}.login-headline p{color:#f7f1e6bd;max-width:520px;margin:32px 0 0;font-size:1.05rem;line-height:1.7}.login-footnote{z-index:1;color:#f7f1e69e;align-items:center;gap:12px;font-size:.82rem;display:flex;position:relative}.login-footnote:before{background:var(--sage);content:"";border-radius:50%;width:8px;height:8px;box-shadow:0 0 0 6px #cfdbbd1f}.login-panel{background:var(--surface);place-items:center;min-height:100vh;padding:clamp(28px,7vw,100px);display:grid}.login-form-wrap{width:min(100%,440px)}.login-form-wrap h2{font-family:var(--display);letter-spacing:-.04em;margin:0 0 10px;font-size:clamp(2.1rem,4vw,3.2rem);font-weight:500}.login-form-wrap>p{color:var(--ink-soft);margin:0 0 36px;line-height:1.6}.field{gap:8px;display:grid}.field+.field{margin-top:18px}.field label,.field-label{color:var(--ink);letter-spacing:.04em;font-size:.78rem;font-weight:800}.field input,.field select,.field textarea,.control{border:1px solid var(--line);border-radius:var(--radius-sm);width:100%;min-height:48px;color:var(--ink);background:#ffffffad;padding:11px 13px;transition:border-color .16s,box-shadow .16s,background .16s}.field textarea{resize:vertical;min-height:108px}.field input:hover,.field select:hover,.field textarea:hover,.control:hover{border-color:var(--line-strong)}.field input:focus,.field select:focus,.field textarea:focus,.control:focus{border-color:var(--forest-bright);background:#fff;outline:none;box-shadow:0 0 0 4px #245a541c}.field-help{color:var(--ink-soft);margin:0;font-size:.74rem;line-height:1.45}.button{cursor:pointer;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:9px;min-height:44px;padding:10px 16px;font-size:.84rem;font-weight:800;transition:transform .16s,box-shadow .16s,background .16s;display:inline-flex}.button svg{flex:none}.button:hover{transform:translateY(-1px)}.button:disabled{cursor:wait;opacity:.62;transform:none}.button-primary{color:#fff;background:var(--forest);box-shadow:0 8px 20px #153d3a2e}.button-primary:hover{background:var(--forest-bright)}.button-accent{color:#fff;background:var(--terracotta);box-shadow:0 8px 22px #cb66463b}.button-quiet{border-color:var(--line);background:0 0}.button-danger{color:var(--danger);background:#9d3e320f;border-color:#9d3e323d}.button-small{min-height:32px;padding:6px 10px;font-size:.68rem}.login-submit{width:100%;margin-top:28px}.login-security-note{color:var(--ink-soft);justify-content:center;align-items:center;gap:7px;margin:18px 0 0;font-size:.7rem;display:flex}.form-message{border-radius:var(--radius-sm);margin:14px 0 0;padding:11px 13px;font-size:.82rem;line-height:1.45}.form-message-error{color:var(--danger);background:#9d3e3212;border:1px solid #9d3e323d}.form-message-success{color:var(--success);background:#2f735612;border:1px solid #2f73563d}.app-shell{grid-template-columns:252px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{color:#f7f1e6;background:radial-gradient(circle at 0 0, #cb66462e, transparent 28%), var(--forest);flex-direction:column;height:100vh;padding:28px 20px 22px;display:flex;position:sticky;top:0}.sidebar .brand{padding:0 10px 26px;font-size:.92rem}.workspace-chip{background:#f7f1e60f;border:1px solid #f7f1e624;border-radius:14px;margin:0 8px 24px;padding:12px}.workspace-chip span{color:#f7f1e67a;letter-spacing:.12em;text-transform:uppercase;margin-bottom:4px;font-size:.65rem;font-weight:800;display:block}.workspace-chip strong{font-family:var(--display);text-overflow:ellipsis;white-space:nowrap;font-size:1rem;font-weight:600;display:block;overflow:hidden}.nav-list{gap:5px;display:grid}.nav-link{color:#f7f1e6ad;border-radius:12px;align-items:center;gap:11px;min-height:44px;padding:10px 12px;font-size:.83rem;font-weight:700;transition:color .16s,background .16s;display:flex}.nav-link:hover{color:#fff;background:#f7f1e612}.nav-link-active{color:#fff;background:#cfdbbd24}.nav-link-active svg{color:var(--sage)}.sidebar-footer{border-top:1px solid #f7f1e61f;gap:12px;margin-top:auto;padding:20px 8px 0;display:grid}.sidebar-user{min-width:0}.sidebar-user strong,.sidebar-user span{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.sidebar-user strong{font-size:.82rem}.sidebar-user span{color:#f7f1e680;margin-top:3px;font-size:.68rem}.logout-button{color:#f7f1e6b8;border-color:#f7f1e629;width:100%}.app-main{min-width:0;padding:0 clamp(22px,4vw,62px) 72px}.topbar{z-index:20;border-bottom:1px solid var(--line);background:color-mix(in srgb, var(--paper) 88%, transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);justify-content:space-between;align-items:center;gap:20px;min-height:82px;display:flex;position:sticky;top:0}.topbar-context{color:var(--ink-soft);align-items:center;gap:7px;font-size:.76rem;font-weight:700;display:flex}.topbar-actions{align-items:center;gap:10px;display:flex}.page{width:min(100%,1440px);margin:0 auto;padding-top:clamp(30px,5vw,64px);animation:.42s cubic-bezier(.22,1,.36,1) both page-in}@keyframes page-in{0%{opacity:0;transform:translateY(8px)}}.loading-title,.loading-card{background:linear-gradient(100deg,#132b2a0a 20%,#132b2a1a 40%,#132b2a0a 60%) 0 0/240% 100%;animation:1.4s linear infinite loading-sheen}.loading-title{border-radius:var(--radius-md);width:min(600px,80%);height:78px;margin-bottom:34px}.loading-card{border-color:#0000}@keyframes loading-sheen{to{background-position-x:-240%}}.page-header{justify-content:space-between;align-items:end;gap:24px;margin-bottom:32px;display:flex}.page-title h1{max-width:780px;font-family:var(--display);letter-spacing:-.06em;margin:0;font-size:clamp(2.5rem,5vw,5rem);font-weight:500;line-height:.94}.page-title>p{max-width:700px;color:var(--ink-soft);margin:16px 0 0;line-height:1.65}.year-stamp{border:1px solid var(--line);color:var(--ink-soft);background:#ffffff5c;border-radius:999px;flex:none;padding:10px 14px;font-size:.76rem;font-weight:800}.year-picker{flex:none;align-items:center;gap:6px;display:flex}.year-control{border:1px solid var(--line);width:36px;height:36px;color:var(--ink-soft);background:#ffffff5c;border-radius:50%;place-items:center;font-weight:900;display:grid}.metric-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.dashboard-overview{gap:18px;display:grid}.dashboard-hero-grid{grid-template-columns:minmax(0,1.45fr) minmax(280px,.75fr);gap:14px;display:grid}.dashboard-result-card{min-height:210px}.dashboard-result-card .metric-value{font-size:clamp(2.55rem,5vw,4.6rem)}.dashboard-revenue-card{background:linear-gradient(145deg,#cfdbbd47,#0000 58%),#fbfaf6e6}.cost-breakdown-header{justify-content:space-between;align-items:end;gap:18px;padding:8px 2px 0;display:flex}.cost-breakdown-header h2{font-family:var(--display);letter-spacing:-.035em;margin:0;font-size:clamp(1.35rem,2vw,1.7rem);font-weight:600}.cost-breakdown-header p{color:var(--ink-soft);margin:5px 0 0;font-size:.78rem}.cost-breakdown-header>span{color:var(--ink-soft);text-align:right;flex:none;font-size:.72rem}.cost-breakdown-header>span strong{color:var(--ink);font-family:var(--display);font-variant-numeric:tabular-nums;margin-top:3px;font-size:1.1rem;font-weight:600;display:block}.cost-metric-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.cost-metric-card{min-height:164px;padding-top:25px}.cost-metric-card:before{content:"";border-radius:0 0 4px 4px;height:4px;position:absolute;top:0;left:20px;right:20px}.cost-metric-operating:before{background:var(--terracotta)}.cost-metric-property-tax:before{background:var(--gold)}.cost-metric-rental-tax:before{background:var(--rental-tax)}.cost-metric-card .metric-value{margin-top:20px;font-size:clamp(1.8rem,2.7vw,2.65rem)}.metric-card{border:1px solid var(--line);border-radius:var(--radius-md);background:#fbfaf6d6;min-height:182px;padding:22px;position:relative;overflow:hidden;box-shadow:0 8px 28px #1b2a260a}.metric-card-primary{color:#f7f1e6;background:radial-gradient(circle at 90% 10%, #cfdbbd33, transparent 30%), var(--forest);border-color:#0000}.metric-label{color:var(--ink-soft);letter-spacing:.08em;text-transform:uppercase;justify-content:space-between;align-items:center;gap:12px;font-size:.72rem;font-weight:800;display:flex}.metric-card-primary .metric-label{color:#f7f1e694}.metric-value{font-family:var(--display);font-variant-numeric:tabular-nums;letter-spacing:-.055em;margin-top:28px;font-size:clamp(2rem,3vw,3.15rem);font-weight:500;line-height:1;display:block}.metric-detail{color:var(--ink-soft);margin-top:13px;font-size:.75rem;line-height:1.4;display:block}.metric-status{width:max-content;margin-top:14px}.metric-card-primary .metric-detail{color:#f7f1e694}.dashboard-grid{grid-template-columns:minmax(0,1.55fr) minmax(300px,.75fr);gap:18px;margin-top:18px;display:grid}.panel{border:1px solid var(--line);border-radius:var(--radius-md);background:#fbfaf6cc;min-width:0;padding:clamp(20px,3vw,30px);box-shadow:0 8px 28px #1b2a260a}.panel-header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:24px;display:flex}.panel-header h2{font-family:var(--display);letter-spacing:-.035em;margin:0;font-size:1.55rem;font-weight:600}.panel-header p{color:var(--ink-soft);margin:5px 0 0;font-size:.78rem}.legend{color:var(--ink-soft);flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:14px;font-size:.68rem;font-weight:700;display:flex}.legend span{align-items:center;gap:6px;display:flex}.legend i{background:var(--forest);border-radius:2px;width:8px;height:8px}.legend-operating i{background:var(--terracotta)}.legend-property-tax i{background:var(--gold)}.legend-rental-tax i{background:var(--rental-tax)}.monthly-chart{border-bottom:1px solid var(--line-strong);grid-template-columns:repeat(12,minmax(22px,1fr));align-items:end;gap:clamp(4px,1vw,10px);min-height:250px;padding-top:18px;display:grid}.chart-month{grid-template-rows:1fr auto;gap:10px;height:232px;display:grid}.chart-bars{justify-content:center;align-items:end;gap:4px;height:100%;display:flex}.chart-bar{background:var(--forest);border-radius:5px 5px 1px 1px;width:min(10px,40%);min-height:2px;transition:height .4s cubic-bezier(.22,1,.36,1)}.chart-bar-revenue{background:var(--forest)}.chart-expense-stack{background:var(--line-strong);border-radius:5px 5px 1px 1px;flex-direction:column-reverse;width:min(13px,46%);min-height:2px;transition:height .4s cubic-bezier(.22,1,.36,1);display:flex;overflow:hidden}.chart-expense-stack-empty{opacity:.45}.chart-stack-segment{flex-basis:0;width:100%;min-height:1px;box-shadow:inset 0 1px #fbfaf673}.chart-stack-operating{background:var(--terracotta)}.chart-stack-property-tax{background:var(--gold)}.chart-stack-rental-tax{background:var(--rental-tax)}.chart-label{color:var(--ink-soft);text-align:center;text-transform:uppercase;font-size:.61rem;font-weight:800}.deadline-list{display:grid}.deadline-item{border-bottom:1px solid var(--line);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:15px 0;display:grid}.deadline-item:last-child{border-bottom:0}.deadline-date{width:44px;height:44px;color:var(--forest);background:var(--sage);text-align:center;border-radius:12px;place-items:center;font-size:.72rem;font-weight:900;line-height:1.05;display:grid}.deadline-date-overdue{color:var(--danger);background:var(--terracotta-soft)}.deadline-copy{min-width:0}.deadline-copy strong,.deadline-copy span{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.deadline-copy strong{font-size:.82rem}.deadline-copy span{color:var(--ink-soft);margin-top:4px;font-size:.69rem}.deadline-amount{font-family:var(--display);font-variant-numeric:tabular-nums;font-size:.95rem;font-weight:600}.empty-state{border:1px dashed var(--line-strong);border-radius:var(--radius-md);min-height:220px;color:var(--ink-soft);text-align:center;place-items:center;padding:32px;display:grid}.empty-state strong{color:var(--ink);font-family:var(--display);margin-bottom:6px;font-size:1.35rem;display:block}.entity-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.entity-card{border:1px solid var(--line);border-radius:var(--radius-md);background:#fbfaf6d1;padding:23px;position:relative;overflow:hidden}.entity-card:before{background:var(--sage);content:"";width:100%;height:4px;position:absolute;top:0;left:0}.entity-badges{flex-wrap:wrap;gap:6px;display:flex}.entity-card h2{font-family:var(--display);letter-spacing:-.04em;margin:22px 0 5px;font-size:1.6rem;font-weight:600}.entity-card>p{color:var(--ink-soft);margin:0;font-size:.78rem}.entity-number{font-family:var(--display);font-variant-numeric:tabular-nums;margin:26px 0 0;font-size:2rem}.entity-stats{grid-template-columns:repeat(2,1fr);gap:8px;margin-top:22px;display:grid}.entity-link{color:var(--forest);margin-top:20px;font-size:.74rem;font-weight:900;display:inline-flex}.property-actions{margin-top:14px}.property-action-buttons{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.property-actions .form-message{margin-top:8px}.compact-row>.property-actions{flex:none;margin-top:0}.data-reset-panel{border-color:#9d3e3240}.data-reset-panel .field{max-width:360px}.entity-stat{background:#132b2a0d;border-radius:10px;padding:10px}.entity-stat span,.entity-stat strong{display:block}.entity-stat span{color:var(--ink-soft);letter-spacing:.06em;text-transform:uppercase;font-size:.62rem;font-weight:800}.entity-stat strong{margin-top:5px;font-size:.85rem}.property-list{gap:20px;display:grid}.property-building{border:1px solid var(--line);border-radius:var(--radius-md);background:#fbfaf6d1;overflow:hidden}.property-building-header{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto auto;align-items:start;gap:24px;padding:24px;display:grid}.section-label{color:var(--ink-soft);letter-spacing:.08em;text-transform:uppercase;font-size:.63rem;font-weight:900}.property-building-header h2{font-family:var(--display);letter-spacing:-.035em;margin:5px 0 2px;font-size:1.7rem;font-weight:600}.property-building-header p{color:var(--ink-soft);margin:0;font-size:.78rem}.property-total{text-align:right;min-width:165px}.property-total span,.property-total strong{display:block}.property-total span{color:var(--ink-soft);text-transform:uppercase;font-size:.65rem;font-weight:800}.property-total strong{font-family:var(--display);font-variant-numeric:tabular-nums;margin-top:5px;font-size:1.55rem}.property-header-actions{flex-wrap:wrap;justify-content:flex-end;align-items:flex-start;gap:8px;display:flex}.property-header-actions .property-actions{margin-top:0}.property-summary{background:var(--line);grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;display:grid}.property-summary>div{background:#ffffff6b;min-height:86px;padding:16px 24px}.property-summary span,.property-summary strong,.property-summary small{display:block}.property-summary span{color:var(--ink-soft);text-transform:uppercase;font-size:.65rem;font-weight:800}.property-summary strong{font-variant-numeric:tabular-nums;margin-top:6px;font-size:.92rem}.property-summary small{color:var(--ink-soft);margin-top:3px;font-size:.67rem}.property-units{padding:24px}.property-units-header{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:14px;display:flex}.property-units-header h3{font-family:var(--display);margin:0;font-size:1.2rem}.property-units-header p{color:var(--ink-soft);margin:3px 0 0;font-size:.72rem}.add-unit>summary,.unit-actions>details>summary{color:var(--forest);cursor:pointer;font-size:.72rem;font-weight:900;list-style:none}.add-unit>summary::-webkit-details-marker{display:none}.unit-actions>details>summary::-webkit-details-marker{display:none}.add-unit[open]{width:min(420px,100%)}.unit-add-form,.unit-edit-form{border:1px solid var(--line);background:var(--surface);border-radius:10px;grid-template-columns:minmax(0,1fr) 110px auto;align-items:end;gap:10px;margin-top:10px;padding:12px;display:grid}.unit-add-form .form-message,.unit-edit-form .form-message{grid-column:1/-1}.unit-list{gap:10px;display:grid}.unit-row{border:1px solid var(--line);background:#ffffff6b;border-radius:12px;padding:16px}.unit-main{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.unit-main h4{margin:0;font-size:.95rem}.unit-main span{color:var(--ink-soft);margin-top:3px;font-size:.7rem;display:block}.unit-actions{flex-wrap:wrap;justify-content:flex-end;align-items:flex-start;gap:8px;display:flex}.unit-actions>details[open]{flex-basis:100%}.unit-actions .unit-edit-form{min-width:min(420px,72vw)}.unit-financials{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:14px 0 0;display:grid}.unit-financials>div{background:#132b2a0b;border-radius:9px;padding:10px}.unit-financials dt{color:var(--ink-soft);letter-spacing:.04em;text-transform:uppercase;font-size:.61rem;font-weight:800}.unit-financials dd{font-variant-numeric:tabular-nums;margin:5px 0 0;font-size:.82rem;font-weight:800}.unit-financials .unit-result{background:#285e531c}.unit-empty{border:1px dashed var(--line-strong);color:var(--ink-soft);border-radius:10px;margin:0;padding:16px;font-size:.78rem}.data-table-wrap{border:1px solid var(--line);border-radius:var(--radius-md);background:#fbfaf6d1;overflow:hidden}.data-table{border-collapse:collapse;width:100%}.data-table th{color:var(--ink-soft);letter-spacing:.08em;text-align:left;text-transform:uppercase;background:#132b2a0b;padding:14px 16px;font-size:.66rem;font-weight:900}.data-table td{border-top:1px solid var(--line);vertical-align:middle;padding:16px;font-size:.79rem}.data-table tbody tr{transition:background .15s}.data-table tbody tr:hover{background:#cfdbbd1f}.data-table .money-cell{font-family:var(--display);font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap;font-size:.94rem;font-weight:600}.movement-filters{border:1px solid var(--line);border-radius:var(--radius-md);background:#fbfaf6d6;margin-bottom:16px;padding:18px;box-shadow:0 8px 28px #1b2a260a}.movement-filter-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.movement-filter-actions{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:20px;margin-top:14px;padding-top:14px;display:flex}.movement-filter-actions p{max-width:680px;color:var(--ink-soft);margin:0;font-size:.7rem;line-height:1.45}.movement-filter-actions>div{flex:none;gap:8px;display:flex}.movement-analysis{grid-template-columns:minmax(0,1.55fr) minmax(320px,.65fr);align-items:stretch;gap:16px;margin-bottom:24px;display:grid}.night-analysis-panel,.expense-breakdown{border:1px solid var(--line);border-radius:var(--radius-md);background:#fbfaf6e0;min-width:0;box-shadow:0 10px 32px #1b2a260d}.night-analysis-panel{padding:20px}.movement-analysis-header{justify-content:space-between;align-items:start;gap:24px;display:flex}.movement-analysis-header h2,.movement-analysis-header p,.expense-breakdown h2,.expense-breakdown p{margin:0}.movement-analysis-header h2,.expense-breakdown h2{font-family:var(--display);letter-spacing:-.025em;font-size:1.3rem;font-weight:600}.movement-analysis-header p,.expense-breakdown p{color:var(--ink-soft);margin-top:4px;font-size:.7rem}.night-analysis-totals{flex:none;gap:20px;margin:0;display:flex}.night-analysis-totals div{text-align:right}.night-analysis-totals dt{color:var(--ink-soft);letter-spacing:.06em;text-transform:uppercase;font-size:.62rem;font-weight:800}.night-analysis-totals dd{font-family:var(--display);font-variant-numeric:tabular-nums;margin:4px 0 0;font-size:1rem;font-weight:600}.night-rate-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:18px;display:grid}.night-rate-card{background:#ffffff70;border:1px solid #132b2a21;border-radius:14px;min-height:152px;padding:18px}.night-rate-card>span{color:var(--ink-soft);letter-spacing:.055em;text-transform:uppercase;font-size:.67rem;font-weight:850;display:block}.night-rate-card>strong{font-family:var(--display);font-variant-numeric:tabular-nums;letter-spacing:-.055em;margin-top:18px;font-size:clamp(2rem,3.4vw,3rem);font-weight:600;line-height:1;display:block}.night-rate-card>small{color:var(--ink-soft);margin-top:12px;font-size:.67rem;line-height:1.4;display:block}.night-rate-card-primary{color:#f7f1e6;background:var(--forest);border-color:#0000}.night-rate-card-primary>span,.night-rate-card-primary>small{color:#f7f1e6a6}.night-analysis-foot{color:var(--ink-soft);flex-wrap:wrap;gap:8px 22px;margin-top:14px;font-size:.7rem;display:flex}.night-analysis-foot strong{color:var(--ink);font-variant-numeric:tabular-nums;margin-left:4px}.expense-breakdown{padding:20px}.expense-breakdown>header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:start;gap:16px;padding-bottom:15px;display:flex}.expense-breakdown>header>span{color:var(--terracotta);font-family:var(--display);font-variant-numeric:tabular-nums;flex:none;font-size:.9rem;font-weight:650}.expense-breakdown-list{gap:14px;margin-top:16px;display:grid}.expense-breakdown-row>div:first-child{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.expense-breakdown-row span{color:var(--ink-soft);font-size:.7rem}.expense-breakdown-row strong{font-family:var(--display);font-variant-numeric:tabular-nums;font-size:.86rem;font-weight:650}.expense-bar{background:#132b2a14;border-radius:999px;height:4px;margin-top:7px;overflow:hidden}.expense-bar i{border-radius:inherit;background:var(--terracotta);height:100%;display:block}.expense-breakdown-empty{padding:26px 0 8px}.movements-layout{grid-template-columns:minmax(0,1.45fr) minmax(380px,.75fr);align-items:start;gap:18px;display:grid}.movements-list{min-width:0}.movements-list-header{justify-content:space-between;align-items:end;gap:20px;min-height:58px;padding:0 4px 12px;display:flex}.movements-list-header h2,.movements-list-header p{margin:0}.movements-list-header h2{font-family:var(--display);letter-spacing:-.025em;font-size:1.35rem;font-weight:600}.movements-list-header p,.movements-list-header>span{color:var(--ink-soft);font-size:.68rem}.movements-list-header p{margin-top:3px}.movements-table{table-layout:fixed}.movements-table th:first-child{width:37%}.movements-table th:nth-child(2){width:24%}.movements-table th:nth-child(3){width:21%}.movements-table th:last-child{text-align:right;width:18%}.movements-table td{padding:14px}.movements-table tbody tr{cursor:default}.movements-table tbody tr:hover,.movements-table .movement-row-selected{background:#cfdbbd2e}.movements-table .movement-row-selected{box-shadow:inset 3px 0 0 var(--terracotta)}.movement-select{cursor:pointer;text-align:left;background:0 0;border:0;justify-content:space-between;align-items:center;gap:10px;width:100%;min-width:0;padding:0;display:flex}.movement-select>span{min-width:0}.movement-select strong,.movement-select small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.movement-select strong{font-size:.78rem}.movement-select small{color:var(--ink-soft);margin-top:4px;font-size:.67rem}.movement-select svg{color:var(--ink-soft);opacity:.45;flex:none;transition:color .15s,opacity .15s,transform .15s}.movement-select:hover svg,.movement-select[aria-pressed=true] svg{color:var(--terracotta);opacity:1;transform:translate(2px)}.movement-recap-column{min-width:0}.movement-recap{border-radius:var(--radius-md);background:var(--surface);scrollbar-color:#132b2a3d transparent;border:1px solid #132b2a38;max-height:calc(100vh - 120px);position:sticky;top:100px;overflow-y:auto;box-shadow:0 18px 48px #1b2a261a}.movement-recap-header{border-bottom:1px solid var(--line);background:linear-gradient(135deg,#cfdbbd30,#0000 56%),#ffffff59;padding:22px 22px 18px}.movement-recap-type{color:var(--terracotta);letter-spacing:.09em;text-transform:uppercase;margin-bottom:8px;font-size:.64rem;font-weight:900;display:block}.movement-recap-header h2{font-family:var(--display);letter-spacing:-.045em;margin:0;font-size:clamp(1.55rem,2.5vw,2.15rem);font-weight:600;line-height:1.05}.movement-meta{color:var(--ink-soft);flex-wrap:wrap;gap:7px 12px;margin-top:14px;font-size:.68rem;display:flex}.movement-meta span{align-items:center;gap:5px;display:inline-flex}.movement-meta svg{color:var(--forest-bright)}.movement-meta .movement-meta-status{color:var(--forest);background:#cfdbbd7a;border-radius:999px;padding:4px 7px;font-size:.61rem;font-weight:900}.movement-total{color:#f7f1e6;background:var(--forest);padding:24px 22px 22px;position:relative;overflow:hidden}.movement-total:after{content:"";border:1px solid #f7f1e624;border-radius:50%;width:150px;height:150px;position:absolute;bottom:-54px;right:-32px}.movement-total span,.movement-total strong,.movement-total small{z-index:1;display:block;position:relative}.movement-total span{color:#f7f1e6b3;letter-spacing:.04em;font-size:.68rem;font-weight:800}.movement-total strong{font-family:var(--display);font-variant-numeric:tabular-nums;letter-spacing:-.045em;margin-top:5px;font-size:clamp(2.15rem,4vw,3.2rem);font-weight:500;line-height:1}.movement-total small{color:#f7f1e694;margin-top:8px;font-size:.67rem}.movement-total-negative{background:#71382f}.movement-total-incomplete{color:var(--ink);background:var(--paper-deep)}.movement-total-incomplete span,.movement-total-incomplete small{color:var(--ink-soft)}.statement-section,.tax-detail{border-bottom:1px solid var(--line);padding:20px 22px}.statement-section h3,.tax-detail h3{color:var(--ink-soft);letter-spacing:.08em;text-transform:uppercase;margin:0 0 12px;font-size:.65rem;font-weight:900}.statement-lines{display:grid}.statement-line{border-top:1px solid #132b2a17;justify-content:space-between;align-items:center;gap:18px;min-height:45px;padding:8px 0;display:flex}.statement-line:first-child{border-top:0}.statement-line span,.statement-line small{display:block}.statement-line span{font-size:.76rem;font-weight:750}.statement-line small{color:var(--ink-soft);margin-top:2px;font-size:.63rem;line-height:1.35}.statement-line strong{font-family:var(--display);font-variant-numeric:tabular-nums;flex:none;font-size:.95rem;font-weight:600}.statement-line-income strong,.statement-line-credit strong{color:var(--success)}.statement-line-cost strong{color:var(--danger)}.statement-result{border-top:2px solid var(--ink);justify-content:space-between;align-items:baseline;gap:16px;margin-top:8px;padding-top:14px;display:flex}.statement-result span{font-size:.76rem;font-weight:900}.statement-result strong{font-family:var(--display);font-variant-numeric:tabular-nums;font-size:1.2rem}.tax-detail dl{gap:8px;margin:0;display:grid}.tax-detail dl>div{color:var(--ink-soft);justify-content:space-between;align-items:baseline;gap:18px;font-size:.72rem;display:flex}.tax-detail dt,.tax-detail dd{margin:0}.tax-detail dd{color:var(--ink);font-variant-numeric:tabular-nums;font-weight:800}.tax-detail .tax-detail-total{border-top:1px solid var(--line);color:var(--ink);margin-top:3px;padding-top:10px;font-weight:900}.tax-exemption-note{background:#cfdbbd2e;border:1px solid #245a5433;border-radius:11px;padding:13px}.tax-exemption-note strong{font-size:.76rem;display:block}.tax-exemption-note p{color:var(--ink-soft);margin:5px 0 0;font-size:.68rem;line-height:1.5}.tourist-tax-detail{border-bottom:1px solid var(--line);background:#c69d5514;padding:18px 22px}.tourist-tax-detail>div{justify-content:space-between;align-items:baseline;gap:16px;display:flex}.tourist-tax-detail span{font-size:.75rem;font-weight:900}.tourist-tax-detail strong{font-family:var(--display);font-variant-numeric:tabular-nums}.tourist-tax-detail p{color:var(--ink-soft);margin:6px 0 0;font-size:.66rem;line-height:1.5}.movement-warning{color:#654817;background:#c69d551f;border:1px solid #c69d5561;border-radius:12px;gap:11px;margin:18px 22px;padding:13px;display:flex}.movement-warning svg{flex:none;margin-top:1px}.movement-warning strong{font-size:.74rem;display:block}.movement-warning p{margin:4px 0 0;font-size:.67rem;line-height:1.45}.movement-recap-actions{padding:18px 22px 22px}.movement-recap-actions .record-edit-form{width:100%;min-width:0}.movement-recap-actions .record-actions{align-items:center}.movement-stay-link{background:#245a540e;border:1px solid #245a5429;border-radius:13px;justify-content:space-between;align-items:center;gap:16px;padding:14px;display:flex}.movement-stay-link strong{font-size:.76rem}.movement-stay-link p{color:var(--ink-soft);margin:4px 0 0;font-size:.67rem;line-height:1.45}.movement-stay-link .button{flex:none}.primary-cell strong,.primary-cell span{display:block}.primary-cell span{color:var(--ink-soft);margin-top:4px;font-size:.7rem}.status-badge{color:var(--ink-soft);letter-spacing:.04em;text-transform:uppercase;background:#132b2a12;border-radius:999px;align-items:center;padding:5px 8px;font-size:.64rem;font-weight:900;display:inline-flex}.status-positive{color:var(--success);background:#2f73561a}.status-warning{color:#815a1f;background:#c69d5529}.status-negative{color:var(--danger);background:#9d3e3217}.inline-action{min-width:170px}.inline-action summary{color:var(--forest);cursor:pointer;font-size:.72rem;font-weight:900}.inline-action-form{gap:9px;margin-top:12px;display:grid}.inline-action-form label{gap:4px;display:grid}.inline-action-form label>span{color:var(--ink-soft);font-size:.62rem;font-weight:800}.record-actions{flex-wrap:wrap;align-items:flex-start;gap:8px;display:flex}.record-action-stack{justify-items:start;gap:8px;display:grid}.record-actions>.inline-action[open]{flex-basis:100%}.record-edit-form{border:1px solid var(--line);background:var(--surface);border-radius:10px;gap:10px;min-width:min(420px,75vw);margin-top:10px;padding:12px;display:grid}.record-edit-form .form-grid{gap:10px}.inline-action-form input,.inline-action-form select{border:1px solid var(--line);width:100%;min-height:38px;color:var(--ink);background:#fff;border-radius:9px;padding:7px 9px}.tabs{border:1px solid var(--line);background:#132b2a0a;border-radius:999px;gap:6px;padding:4px;display:flex}.tab{cursor:pointer;min-height:36px;color:var(--ink-soft);background:0 0;border:0;border-radius:999px;padding:7px 12px;font-size:.72rem;font-weight:800}.tab-active{color:#fff;background:var(--forest)}.modal{border-radius:var(--radius-lg);width:min(760px,100vw - 28px);max-height:min(90vh,900px);color:var(--ink);background:var(--surface);border:0;padding:0;box-shadow:0 30px 100px #0c1d1c40}.modal-compact{width:min(620px,100vw - 28px)}.modal::backdrop{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#08191899}.modal-shell{grid-template-rows:auto auto minmax(0,1fr);max-height:min(90vh,900px);display:grid}.modal-header{justify-content:space-between;align-items:center;padding:24px 26px 18px;display:flex}.modal-header h2{font-family:var(--display);letter-spacing:-.04em;margin:0;font-size:1.85rem;font-weight:600}.icon-button{border:1px solid var(--line);cursor:pointer;background:0 0;border-radius:50%;place-items:center;width:40px;height:40px;display:grid}.modal-tabs{padding:0 26px 18px}.modal-content{border-top:1px solid var(--line);padding:24px 26px 30px;overflow-y:auto}.quick-stay-shortcut{justify-items:start;gap:16px;padding:8px 2px;display:grid}.quick-stay-icon{width:52px;height:52px;color:var(--forest-bright);background:#245a5417;border-radius:16px;place-items:center;display:grid}.quick-stay-shortcut h3{font-family:var(--display);margin:0;font-size:1.55rem;font-weight:600}.quick-stay-shortcut p{color:var(--ink-soft);margin:7px 0 0;font-size:.78rem;line-height:1.6}.form-grid,.simple-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.field-full{grid-column:1/-1}.checkbox-field{min-height:44px;color:var(--ink);align-items:center;gap:10px;font-size:.78rem;font-weight:700;display:flex}.checkbox-field input{width:18px;height:18px;accent-color:var(--forest);margin:0}.tax-exempt-toggle{border:1px solid var(--line);cursor:pointer;background:#ffffff61;border-radius:12px;align-items:flex-start;gap:12px;padding:14px;transition:border-color .16s,background .16s;display:flex}.tax-exempt-toggle:hover{border-color:var(--line-strong)}.tax-exempt-toggle-active{background:#cfdbbd38;border-color:#245a5466}.tax-exempt-toggle input{width:19px;height:19px;accent-color:var(--forest);flex:none;margin:1px 0 0}.tax-exempt-toggle strong,.tax-exempt-toggle small{display:block}.tax-exempt-toggle strong{font-size:.79rem}.tax-exempt-toggle small{color:var(--ink-soft);margin-top:4px;font-size:.69rem;font-weight:500;line-height:1.45}.field input:disabled,.checkbox-field input:disabled{cursor:not-allowed;opacity:.5}.form-actions{border-top:1px solid var(--line);justify-content:flex-end;align-items:center;gap:10px;margin-top:26px;padding-top:20px;display:flex}.section-stack{gap:18px;display:grid}.page-section{margin-top:28px}.summary-strip{margin-top:18px}.money-note{color:var(--ink-soft);font-family:var(--body);margin-top:4px;font-size:.62rem;font-weight:700;display:block}.money-positive{color:var(--success)}.money-negative{color:var(--danger)}.compact-list{display:grid}.compact-row{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:18px;padding:14px 0;display:flex}.compact-row:last-child{border-bottom:0}.compact-row>span,.compact-row strong,.compact-row small{display:block}.compact-row>span{min-width:0}.compact-row small,.muted-copy{color:var(--ink-soft);margin-top:5px;font-size:.72rem}.compact-row>strong{font-family:var(--display);flex:none;font-size:1rem}.compact-row-end{flex:none;justify-items:end;gap:8px;display:grid}.sync-pin{margin-top:24px}.split-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.tax-summary{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;display:grid}.section-note{color:var(--ink-soft);margin:0 0 16px;font-size:.78rem;line-height:1.55}.tax-settings-layout{gap:22px;display:grid}.tax-result-mode{max-width:420px}.tax-setting-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.tax-setting-card{border:1px solid var(--line);background:#ffffff57;border-radius:14px;padding:20px}.tax-setting-card h3{font-family:var(--display);margin:0 0 18px;font-size:1.25rem}.tourist-tax-settings{gap:28px;display:grid}.tourist-tax-scope-block{gap:14px;display:grid}.tourist-tax-scope-heading{align-items:flex-start;gap:10px;display:flex}.tourist-tax-scope-heading>svg{color:var(--accent);margin-top:2px}.tourist-tax-scope-heading h3,.tourist-tax-scope-heading p,.tourist-tax-rule-card h4{margin:0}.tourist-tax-scope-heading h3,.tourist-tax-rule-card h4{font-family:var(--display)}.tourist-tax-scope-heading p{color:var(--ink-soft);margin-top:4px;font-size:.78rem;line-height:1.5}.tourist-tax-rule-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.tourist-tax-rule-card{border:1px solid var(--line);background:#ffffff57;border-radius:16px;min-width:0;padding:20px}.tourist-tax-rule-card-header{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:18px;display:flex}.tourist-tax-rule-card h4{margin-top:5px;font-size:1.2rem}.tourist-tax-rule-form{gap:14px;display:grid}.tourist-tax-inherit-form{background:#c69d5514;border:1px solid #c69d5547;border-radius:12px;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:12px;margin-top:16px;padding:14px;display:grid}.tourist-tax-inherit-form .form-actions{margin:0}.tourist-tax-inherit-form .form-message{grid-column:1/-1}.tourist-tax-history{border-top:1px solid var(--line);margin-top:16px}.tourist-tax-history summary{color:var(--ink-soft);cursor:pointer;align-items:center;gap:7px;padding-top:14px;font-size:.72rem;font-weight:800;list-style:none;display:flex}.tourist-tax-history summary::-webkit-details-marker{display:none}.tourist-tax-history ol{gap:8px;margin:12px 0 0;padding:0;list-style:none;display:grid}.tourist-tax-history li{background:#132b2a0b;border-radius:10px;padding:11px 12px}.tourist-tax-history li>div{justify-content:space-between;gap:10px;font-size:.76rem;display:flex}.tourist-tax-history li span,.tourist-tax-history li small,.tourist-tax-empty-history{color:var(--ink-soft)}.tourist-tax-history li small{margin-top:5px;line-height:1.45;display:block}.tourist-tax-empty-history{border-top:1px solid var(--line);margin:14px 0 0;padding-top:14px;font-size:.72rem}.tax-kpi{background:#132b2a0d;border-radius:14px;padding:18px}.tax-kpi span,.tax-kpi strong{display:block}.tax-kpi span{color:var(--ink-soft);text-transform:uppercase;font-size:.68rem;font-weight:800}.tax-kpi strong{font-family:var(--display);margin-top:10px;font-size:1.4rem}.offline-banner{border-radius:var(--radius-md);background:#c69d551c;border:1px solid #c69d5559;grid-template-columns:auto 1fr;gap:16px;padding:20px;display:grid}.offline-banner h2,.offline-banner p{margin:0}.offline-banner h2{font-family:var(--display);font-size:1.25rem}.offline-banner p{color:var(--ink-soft);margin-top:6px;font-size:.78rem;line-height:1.55}.draft-list{gap:10px;display:grid}.draft-item{border:1px solid var(--line);background:#ffffff6b;border-radius:12px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:14px;display:grid}.draft-item strong,.draft-item span{display:block}.draft-item span{color:var(--ink-soft);margin-top:4px;font-size:.7rem}.offline-fallback{place-items:center;min-height:100vh;padding:30px;display:grid}.offline-fallback-card{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);width:min(100%,560px);box-shadow:var(--shadow);text-align:center;padding:42px}.offline-fallback-card h1{font-family:var(--display);margin:0;font-size:2.7rem;font-weight:500}.offline-fallback-card p{color:var(--ink-soft);line-height:1.65}.mobile-nav{display:none}.operating-expenses-page{padding-bottom:32px}.operating-page-header{border-bottom:1px solid var(--line);padding-bottom:28px}.operating-section-heading{align-items:end;margin-bottom:18px}.operating-section-heading h2{margin-top:5px;font-size:clamp(1.85rem,3vw,2.7rem)}.operating-service-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.operating-service-card{border:1px solid var(--line);border-radius:var(--radius-md);background:#fbfaf6db;min-width:0;padding:clamp(20px,3vw,30px);position:relative;overflow:hidden;box-shadow:0 10px 32px #1b2a260d}.operating-service-card:before{background:var(--terracotta);content:"";height:4px;position:absolute;top:0;left:0;right:0}.operating-service-check_in:before{background:var(--forest-bright)}.operating-service-header{align-items:flex-start;gap:14px;display:flex}.operating-service-header h2{font-family:var(--display);letter-spacing:-.04em;margin:3px 0 0;font-size:1.75rem;font-weight:600}.operating-service-header p{color:var(--ink-soft);margin:5px 0 0;font-size:.76rem}.operating-service-icon{width:42px;height:42px;color:var(--terracotta);background:#cb66461c;border-radius:13px;flex:none;place-items:center;display:grid}.operating-service-check_in .operating-service-icon{color:var(--forest-bright);background:#245a541c}.operating-service-totals{border:1px solid var(--line);background:var(--line);border-radius:14px;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;margin:24px 0;display:grid;overflow:hidden}.operating-service-totals>div{background:#fbfaf6f5;gap:7px;padding:16px;display:grid}.operating-service-totals span{color:var(--ink-soft);letter-spacing:.05em;text-transform:uppercase;font-size:.65rem;font-weight:800}.operating-service-totals strong{font-family:var(--display);font-variant-numeric:tabular-nums;font-size:1.55rem;font-weight:600}.operating-settlement-form{background:#132b2a0a;border-radius:15px;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:18px;display:grid}.operating-settlement-form .form-message,.operating-settlement-form .form-actions{grid-column:1/-1}.operating-settlement-form .form-actions{margin-top:2px;padding-top:16px}.operating-cleared-state{min-height:72px;color:var(--success);background:#2f735612;border:1px solid #2f735633;border-radius:14px;justify-content:center;align-items:center;gap:9px;font-size:.82rem;font-weight:800;display:flex}.operating-open-items{border-top:1px solid var(--line);margin-top:25px;padding-top:22px}.operating-open-items h3{font-family:var(--display);margin:0 0 12px;font-size:1.15rem}.operating-items-table .primary-cell strong,.operating-items-table .primary-cell span{display:block}.operating-items-table .primary-cell span{color:var(--ink-soft);margin-top:3px;font-size:.7rem}.operating-history-panel{margin-top:16px}.operating-truth-note{max-width:350px;color:var(--forest-bright);background:#245a5412;border:1px solid #245a542b;border-radius:999px;align-items:center;gap:9px;padding:10px 13px;font-size:.72rem;font-weight:750;display:inline-flex}.municipality-stack{gap:16px;display:grid}.municipality-heading{margin-bottom:18px}.municipality-heading h3{font-family:var(--display);margin:0;font-size:1.55rem;font-weight:600}.municipality-panel .data-table-wrap{overflow-x:auto}.tourist-tax-table{min-width:1040px}.operating-due-cell{color:var(--terracotta)}.operating-status-cell{min-width:175px}.operating-status{border:1px solid #0000;border-radius:999px;align-items:center;width:max-content;padding:5px 9px;font-size:.65rem;font-weight:850;display:inline-flex}.operating-status-settled{color:var(--success);background:#2f735614;border-color:#2f735633}.operating-status-due{color:var(--danger);background:#9d3e3212;border-color:#9d3e3233}.operating-status-collect{color:#805f20;background:#c69d551c;border-color:#c69d554d}.operating-status-future{color:var(--ink-soft);border-color:var(--line);background:#132b2a0a}.tax-settlement-details{margin-top:9px}.tax-settlement-details>summary{white-space:nowrap;width:max-content;list-style:none}.tax-settlement-details>summary::-webkit-details-marker{display:none}.tax-settlement-form{border:1px solid var(--line);background:var(--surface);border-radius:13px;gap:11px;min-width:280px;margin-top:10px;padding:14px;display:grid;box-shadow:0 14px 34px #1b2a261f}.tax-settlement-form .button{width:100%}.text-capitalize{text-transform:capitalize}.stays-page{padding-bottom:36px;animation:none}.stays-page-header{border-bottom:1px solid var(--line);align-items:flex-end;padding-bottom:28px}.stays-header-actions{flex-wrap:wrap;flex:none;justify-content:flex-end;gap:9px;display:flex}.stay-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:16px;display:grid}.stay-summary-card{border:1px solid var(--line);background:#fbfaf6db;border-radius:16px;align-items:center;gap:14px;min-width:0;padding:18px 20px;display:flex;box-shadow:0 10px 30px #1b2a260a}.stay-summary-card-accent{color:#f7f1e6;background:radial-gradient(circle at 100% 0, #cb664647, transparent 42%), var(--forest);border-color:#0000}.stay-summary-icon{width:42px;height:42px;color:var(--forest-bright);background:#245a5417;border-radius:13px;flex:none;place-items:center;display:grid}.stay-summary-card-accent .stay-summary-icon{color:var(--sage);background:#f7f1e61a}.stay-summary-card>div{gap:2px;min-width:0;display:grid}.stay-summary-card>div>span{color:var(--ink-soft);letter-spacing:.07em;text-transform:uppercase;font-size:.67rem;font-weight:850}.stay-summary-card-accent>div>span,.stay-summary-card-accent small{color:#f7f1e69e}.stay-summary-card strong{font-family:var(--display);font-variant-numeric:tabular-nums;letter-spacing:-.035em;text-overflow:ellipsis;white-space:nowrap;font-size:clamp(1.55rem,2.5vw,2.15rem);font-weight:600;overflow:hidden}.stay-summary-card small{color:var(--ink-soft);font-size:.66rem}.stay-calendar-card{border:1px solid var(--line);border-radius:var(--radius-md);background:#fbfaf6e0;overflow:hidden;box-shadow:0 14px 38px #1b2a260d}.stay-calendar-toolbar{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-end;gap:20px;padding:22px 24px;display:flex}.stay-calendar-toolbar h2{font-family:var(--display);letter-spacing:-.04em;margin:4px 0 0;font-size:clamp(1.65rem,2.5vw,2.25rem);font-weight:600}.stay-month-controls{align-items:center;gap:11px;display:flex}.stay-month-controls strong{text-align:center;min-width:150px;font-size:.82rem}.stay-calendar-scroll{overscroll-behavior-inline:contain;scrollbar-width:thin;scrollbar-color:#245a5447 transparent;outline:none;max-height:560px;overflow:auto}.stay-calendar-scroll::-webkit-scrollbar{width:9px;height:9px}.stay-calendar-scroll::-webkit-scrollbar-track{background:#245a540a}.stay-calendar-scroll::-webkit-scrollbar-thumb{background:#245a5452 padding-box padding-box;border:2px solid #0000;border-radius:999px}.stay-calendar-empty-month{border-bottom:1px solid var(--line);color:var(--ink-soft);background:#e7efea85;align-items:center;gap:9px;padding:10px 24px;font-size:.72rem;line-height:1.45;display:flex}.stay-calendar-empty-month svg{color:var(--forest-bright);flex:none}.stay-calendar-empty-month strong{color:var(--ink)}.stay-calendar-scroll:focus-visible{box-shadow:inset 0 0 0 3px #245a542e}.stay-calendar-grid{grid-template-columns:190px repeat(var(--day-count), 42px);width:max-content;min-width:100%;display:grid}.stay-calendar-head{z-index:8;border-bottom:1px solid var(--line);background:#f6f4edfa;min-height:58px;position:sticky;top:0}.stay-unit-heading,.stay-unit-label{z-index:6;border-right:1px solid var(--line);background:#fbfaf6fa;grid-column:1;align-items:center;display:flex;position:sticky;left:0}.stay-unit-heading{z-index:10;color:var(--ink-soft);letter-spacing:.08em;text-transform:uppercase;background:#f6f4edfc;padding:0 18px;font-size:.65rem;font-weight:850}.stay-day-heading{min-width:0;color:var(--ink-soft);text-align:center;border-right:1px solid #1b2a260e;place-content:center;gap:2px;display:grid}.stay-day-heading span{text-transform:uppercase;font-size:.56rem;font-weight:850}.stay-day-heading strong{color:var(--ink);font-variant-numeric:tabular-nums;font-size:.78rem}.stay-calendar-row{grid-template-rows:repeat(var(--lane-count), var(--lane-height));border-bottom:1px solid var(--line);position:relative}.stay-calendar-row:last-child{border-bottom:0}.stay-unit-label{grid-row:1 / span var(--lane-count);flex-direction:column;justify-content:center;align-items:flex-start;padding:10px 18px}.stay-unit-label strong,.stay-unit-label span{text-overflow:ellipsis;white-space:nowrap;max-width:155px;overflow:hidden}.stay-unit-label strong{font-size:.78rem}.stay-unit-label span{color:var(--ink-soft);margin-top:3px;font-size:.62rem}.stay-day-cell{border-right:1px solid #1b2a260e}.stay-day-weekend{background:#132b2a06}.stay-day-today{background:#cb66460e;box-shadow:inset 2px 0 #cb664673}.stay-calendar-bar{z-index:3;min-width:0;height:28px;color:var(--forest);background:#dce8dc;border:1px solid #245a5429;border-radius:8px;justify-content:space-between;align-self:center;align-items:center;gap:5px;margin:0 3px;padding:0 8px;font-size:.65rem;font-weight:850;display:flex;overflow:hidden;box-shadow:0 3px 9px #1b2a2614}.stay-calendar-bar span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.stay-calendar-bar svg{flex:none}.stay-status-option{color:#77581b;background:#f1e6c9;border-color:#c69d5552}.stay-status-checked_in{color:#fff;background:var(--forest-bright);border-color:#0000}.stay-status-checked_out{color:var(--ink-soft);background:#ebe9e1;border-color:#1b2a261a}.stay-status-cancelled{color:#7a2f25;background:#f2d5ced1;border:1px dashed #9d3e328c}.stay-calendar-bar-paid{box-shadow:inset 0 -3px #2f735661,0 3px 9px #1b2a2614}.stay-calendar-bar-conflict{color:#7a2f25;background:#f2d5ce;border-color:#9d3e3280;box-shadow:inset 0 0 0 1px #9d3e3233}.stay-calendar-legend{border-top:1px solid var(--line);color:var(--ink-soft);flex-wrap:wrap;align-items:center;gap:16px;padding:13px 22px;font-size:.65rem;font-weight:750;display:flex}.stay-calendar-legend span{align-items:center;gap:6px;display:inline-flex}.stay-calendar-legend i{border-radius:3px;width:10px;height:10px}.legend-confirmed{background:#dce8dc}.legend-option{background:#f1e6c9}.legend-cancelled{background:#f2d5ced1;border:1px dashed #9d3e32a6}.stay-empty-calendar{text-align:center;align-content:center;place-items:center;gap:8px;min-height:280px;padding:30px;display:grid}.stay-empty-calendar p{color:var(--ink-soft);margin:0 0 8px}.stay-drawer-layer{z-index:90;grid-template-columns:minmax(0,1fr) minmax(480px,590px);display:grid;position:fixed;inset:0}.stay-drawer-scrim{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0819188c;animation:.18s ease-out both stay-scrim-in;display:block}.stay-drawer{min-width:0;height:100vh;color:var(--ink);background:var(--surface);animation:.24s cubic-bezier(.22,1,.36,1) both stay-drawer-in;overflow-y:auto;box-shadow:-24px 0 70px #08191838}@keyframes stay-scrim-in{0%{opacity:0}}@keyframes stay-drawer-in{0%{opacity:.7;transform:translate(26px)}}.stay-drawer-header{z-index:5;border-bottom:1px solid var(--line);background:color-mix(in srgb, var(--surface) 94%, transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);justify-content:space-between;align-items:flex-start;gap:18px;padding:25px 28px 21px;display:flex;position:sticky;top:0}.stay-drawer-header h2{font-family:var(--display);letter-spacing:-.045em;outline:none;margin:4px 0 0;font-size:clamp(1.9rem,3vw,2.55rem);font-weight:600}.stay-drawer-header p{color:var(--ink-soft);margin:7px 0 0;font-size:.72rem}.stay-drawer-content{gap:0;padding:0 28px 54px;display:grid}.stay-drawer-section{border-bottom:1px solid var(--line);padding:27px 0 30px}.stay-section-title{justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:20px;display:flex}.stay-section-title>div{align-items:center;gap:9px;display:flex}.stay-section-title span{width:27px;height:27px;color:var(--forest-bright);background:#245a5414;border-radius:50%;place-items:center;font-size:.59rem;font-weight:900;display:grid}.stay-section-title h3{font-family:var(--display);margin:0;font-size:1.35rem;font-weight:650}.stay-section-title small{color:var(--ink-soft);font-size:.65rem}.stay-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;display:grid}.stay-friends-field{align-self:end;padding-bottom:10px}.stay-drawer-form .form-actions,.stay-receipt-form .form-actions{justify-content:flex-end;margin-top:4px;padding-top:18px}.stay-conflict-warning,.stay-financial-lock,.stay-unpaid-state,.stay-cancellation-legacy{color:#7a2f25;background:#9d3e320f;border:1px solid #9d3e3233;border-radius:13px;align-items:flex-start;gap:11px;margin-top:22px;padding:14px 16px;display:flex}.stay-conflict-warning strong,.stay-financial-lock strong,.stay-unpaid-state strong,.stay-cancellation-legacy strong{font-size:.78rem;display:block}.stay-conflict-warning p,.stay-financial-lock p,.stay-unpaid-state p,.stay-cancellation-legacy p{color:var(--ink-soft);margin:4px 0 0;font-size:.69rem;line-height:1.5}.stay-unpaid-state{color:#77581b;background:#c69d5517;border-color:#c69d554d;margin:0 0 18px}.stay-financial-lock{color:var(--forest-bright);background:#245a540f;border-color:#245a5430;margin:18px 0 0}.stay-cancellation-legacy{color:#77581b;background:#c69d5517;border-color:#c69d554d}.stay-cancellation-summary{background:#9d3e3209;border:1px solid #9d3e3238;border-radius:15px;margin-top:22px;overflow:hidden}.stay-cancellation-heading{color:#7a2f25;background:#9d3e3214;justify-content:space-between;align-items:center;gap:16px;padding:16px 18px;display:flex}.stay-cancellation-heading>div{align-items:center;gap:10px;display:flex}.stay-cancellation-heading strong,.stay-cancellation-heading span{display:block}.stay-cancellation-heading strong{font-size:.78rem}.stay-cancellation-heading span{color:var(--ink-soft);margin-top:2px;font-size:.63rem}.stay-cancellation-heading .stay-cancellation-rate{font-family:var(--display);font-variant-numeric:tabular-nums;font-size:1.65rem;font-weight:650}.stay-cancellation-values{grid-template-columns:repeat(3,minmax(0,1fr));margin:0;display:grid}.stay-cancellation-values>div{border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-width:0;padding:13px 15px}.stay-cancellation-values>div:last-child{border-right:0}.stay-cancellation-values dt{color:var(--ink-soft);font-size:.62rem}.stay-cancellation-values dd{font-variant-numeric:tabular-nums;text-overflow:ellipsis;white-space:nowrap;margin:4px 0 0;font-size:.75rem;font-weight:850;overflow:hidden}.stay-cancellation-reason,.stay-cancellation-match,.stay-cancellation-mismatch{color:var(--ink-soft);margin:0;padding:11px 14px;font-size:.66rem;line-height:1.5}.stay-cancellation-reason{border-bottom:1px solid var(--line)}.stay-cancellation-match{color:var(--success);background:#2f73560f}.stay-cancellation-mismatch{color:#77581b;background:#c69d5517}.stay-receipt-snapshot{border:1px solid var(--line);background:#132b2a06;border-radius:15px;margin-bottom:18px;overflow:hidden}.stay-receipt-total{color:#f7f1e6;background:var(--forest);gap:3px;padding:18px;display:grid}.stay-receipt-total span,.stay-receipt-total small{color:#f7f1e6a1;font-size:.65rem}.stay-receipt-total strong{font-family:var(--display);font-variant-numeric:tabular-nums;font-size:2rem;font-weight:600}.stay-receipt-breakdown{grid-template-columns:repeat(2,minmax(0,1fr));margin:0;display:grid}.stay-receipt-breakdown>div{border-right:1px solid var(--line);border-bottom:1px solid var(--line);justify-content:space-between;gap:10px;padding:11px 14px;font-size:.68rem;display:flex}.stay-receipt-breakdown dt{color:var(--ink-soft)}.stay-receipt-breakdown dd{font-variant-numeric:tabular-nums;margin:0;font-weight:850}.stay-receipt-breakdown .stay-receipt-result{color:var(--success);background:#2f73560f;border-bottom:0;grid-column:1/-1}.stay-snapshot-note{border-top:1px solid var(--line);color:var(--ink-soft);margin:0;padding:11px 14px;font-size:.64rem}.stay-receipt-edit-warning{color:#77581b;background:#c69d5517;border-radius:10px;margin:0 0 14px;padding:10px 12px;font-size:.68rem;line-height:1.5}.stay-danger-zone{border:1px solid #9d3e322e;border-radius:13px;margin-top:24px;padding:14px 16px}.stay-danger-zone summary{cursor:pointer;color:var(--danger);font-size:.72rem;font-weight:850}.stay-danger-zone form{gap:12px;margin-top:14px;display:grid}.stay-danger-zone p{color:var(--ink-soft);margin:0;font-size:.68rem}.stay-danger-zone .button{width:max-content}.stay-retention-input{position:relative}.stay-retention-input input{width:100%;padding-right:38px}.stay-retention-input span{color:var(--ink-soft);pointer-events:none;font-size:.78rem;font-weight:800;position:absolute;top:50%;right:14px;transform:translateY(-50%)}@media (max-width:1120px){.operating-service-grid{grid-template-columns:1fr}.stay-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.stay-summary-card-accent{grid-column:1/-1}}@media (max-width:1250px){.movement-analysis,.movements-layout{grid-template-columns:1fr}.movement-recap-column{order:-1}.movement-recap{max-height:none;scroll-margin-top:96px;position:static}}@media (max-width:1180px){.metric-grid,.entity-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:900px){.movement-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.login-page{grid-template-columns:1fr}.login-story{min-height:48vh}.login-panel{min-height:52vh}.app-shell{display:block}.sidebar{display:none}.app-main{padding-bottom:104px;padding-left:18px;padding-right:18px}.topbar{min-height:68px}.mobile-nav{z-index:40;color:#f7f1e6;background:color-mix(in srgb, var(--forest) 94%, transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid #f7f1e624;border-radius:20px;grid-template-columns:repeat(5,minmax(0,1fr));gap:2px;padding:8px;display:grid;position:fixed;bottom:12px;left:12px;right:12px;box-shadow:0 18px 48px #0c1d1c4d}.mobile-nav .nav-link{flex-direction:column;gap:3px;min-height:48px;padding:5px 2px;font-size:.54rem}.dashboard-grid,.split-grid,.tax-setting-grid,.tourist-tax-rule-grid,.operating-settlement-form{grid-template-columns:1fr}.operating-section-heading{align-items:flex-start}.stay-drawer-layer{display:block}.stay-drawer-scrim{display:none}.stay-drawer{width:100vw;max-width:none}}@media (max-width:640px){.movement-filter-grid{grid-template-columns:1fr}.desktop-export{display:none}.login-story{min-height:42vh;padding:28px 24px}.login-headline{margin:44px 0 10px}.login-headline h1{font-size:clamp(3rem,17vw,4.6rem)}.login-headline p,.login-footnote{display:none}.login-panel{min-height:58vh;padding:42px 24px}.page{padding-top:28px}.page-header{flex-direction:column;align-items:flex-start;margin-bottom:24px}.page-title h1{font-size:2.85rem}.stays-page-header{padding-bottom:22px}.stays-header-actions{flex-direction:column;justify-content:stretch;width:100%}.stays-header-actions .button{justify-content:center;width:100%}.stay-summary-grid{grid-template-columns:1fr}.stay-summary-card-accent{grid-column:auto}.stay-calendar-toolbar{flex-direction:column;align-items:flex-start;padding:18px}.stay-month-controls{justify-content:space-between;width:100%}.stay-calendar-grid{grid-template-columns:148px repeat(var(--day-count), 38px)}.stay-unit-label strong,.stay-unit-label span{max-width:116px}.stay-unit-heading,.stay-unit-label{padding-left:12px;padding-right:12px}.stay-calendar-legend{padding:12px 16px}.stay-calendar-empty-month{align-items:flex-start;padding:10px 16px}.stay-drawer-content{padding-bottom:128px;padding-left:18px;padding-right:18px}.stay-drawer-header{padding:20px 18px 17px}.stay-form-grid{grid-template-columns:1fr}.stay-form-grid .field-full{grid-column:auto}.stay-section-title{flex-direction:column;align-items:flex-start;gap:5px}.stay-receipt-breakdown,.stay-cancellation-values{grid-template-columns:1fr}.stay-cancellation-values>div{border-right:0}.stay-receipt-breakdown .stay-receipt-result{grid-column:auto}.movement-filter-actions,.movement-analysis-header{flex-direction:column;align-items:stretch}.movement-filter-actions>div{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.movement-filter-actions .button{justify-content:center}.night-analysis-totals{justify-content:space-between}.night-analysis-totals div{text-align:left}.metric-grid,.dashboard-hero-grid,.cost-metric-grid,.entity-grid,.tax-summary{grid-template-columns:1fr}.dashboard-result-card{min-height:178px}.cost-breakdown-header{flex-direction:column;align-items:flex-start}.cost-breakdown-header>span{text-align:left}.metric-card{min-height:154px}.metric-value{margin-top:20px}.night-rate-grid{grid-template-columns:1fr}.night-rate-card{min-height:138px}.panel{padding:18px}.panel-header{flex-direction:column;align-items:flex-start}.legend{justify-content:flex-start}.property-building-header{grid-template-columns:1fr;gap:14px;padding:18px}.property-total{text-align:left}.property-header-actions{justify-content:flex-start}.property-summary,.unit-financials{grid-template-columns:repeat(2,minmax(0,1fr))}.property-summary>div:last-child{grid-column:1/-1}.property-units{padding:18px}.property-units-header,.unit-main{flex-direction:column;align-items:flex-start}.unit-actions{justify-content:flex-start}.unit-add-form,.unit-edit-form{grid-template-columns:1fr}.monthly-chart{gap:3px}.chart-label{font-size:.5rem}.data-table-wrap{background:0 0;border:0;overflow:visible}.data-table,.data-table tbody{gap:10px;display:grid}.data-table thead{display:none}.data-table tr{border:1px solid var(--line);background:#fbfaf6d1;border-radius:14px;padding:15px;display:grid}.data-table td{border:0;justify-content:space-between;align-items:center;gap:14px;padding:7px 0;display:flex}.data-table td:before{color:var(--ink-soft);content:attr(data-label);letter-spacing:.06em;text-transform:uppercase;font-size:.62rem;font-weight:900}.data-table .primary-cell{border-bottom:1px solid var(--line);padding-bottom:12px;display:block}.data-table .primary-cell:before{display:none}.tourist-tax-table{min-width:0}.operating-status-cell{flex-direction:column;min-width:0;align-items:flex-start!important}.tax-settlement-details,.tax-settlement-details>summary,.tax-settlement-form{width:100%}.tax-settlement-form{min-width:0}.form-grid,.simple-form-grid{grid-template-columns:1fr}.field-full{grid-column:auto}.tourist-tax-rule-card-header,.tourist-tax-history li>div{flex-direction:column;align-items:flex-start}.tourist-tax-inherit-form{grid-template-columns:1fr}.modal{border-radius:24px 24px 0 0;width:100vw;max-width:none;max-height:calc(100vh - 24px);margin:24px 0 0}.modal-shell{max-height:calc(100vh - 24px)}.modal-header,.modal-content{padding-left:18px;padding-right:18px}.modal-tabs{padding-left:18px;padding-right:18px;overflow-x:auto}.tabs{width:max-content}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
