:root{color-scheme:light;--ink:#073f3f;--muted:#5a7472;--line:#f0cfca;--panel:#ffffff;--page:#fbfaf7;--soft:#e3f7f5;--accent:#ef2724;--accent-2:#008f89;--accent-dark:#004f4d;--coral:#ff806c;--blush:#f8d1cb;--aqua:#dff6f4;--warn:#9a5a08;--bad:#c42828;--good:#007c75;--shadow:0 16px 48px rgba(0,79,77,0.1);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{margin:0;background:linear-gradient(115deg,rgba(248,209,203,.58) 0 18%,transparent 18% 100%),linear-gradient(180deg,#ffffff 0,var(--page) 56%,#f7fbfa 100%);color:var(--ink)}button,input,select{font:inherit}a{color:inherit}.app-shell{min-height:100vh;display:grid;grid-template-columns:280px minmax(0,1fr)}.sidebar{position:-webkit-sticky;position:sticky;top:0;height:100vh;padding:24px 18px;background:var(--accent-dark);color:#f8ffff;display:flex;flex-direction:column;gap:24px;border-right:6px solid var(--coral)}.brand{display:flex;gap:12px;align-items:center}.brand-logo{width:44px;height:44px;border-radius:8px;background:#ffffff;object-fit:cover;box-shadow:inset 0 -5px 0 rgba(239,39,36,.18)}.brand span,.brand strong,.sidebar-note span,.sidebar-note strong{display:block}.brand span{color:#b8e6e3;font-size:13px;margin-top:2px}.nav{display:grid;grid-gap:6px;gap:6px}.brand-link{color:inherit;text-decoration:none}.nav a,.nav button{border:0;border-radius:8px;padding:11px 12px;background:transparent;color:#d7f5f3;text-align:left;cursor:pointer;display:flex;justify-content:space-between;align-items:center;text-decoration:none;font:inherit}.nav a.is-active,.nav a:hover,.nav button.is-active,.nav button:hover{background:rgba(223,246,244,.16);color:#ffffff;box-shadow:inset 4px 0 0 var(--accent)}.sidebar-logout{margin-top:auto}.sidebar-logout button{width:100%;justify-content:center;background:rgba(223,246,244,.09);border-color:rgba(223,246,244,.24);color:#ffffff}.sidebar-note{padding:14px;border:1px solid rgba(223,246,244,.24);border-radius:8px;background:rgba(223,246,244,.09)}.sidebar-note span{color:#c8efec;font-size:13px;line-height:1.45;margin-top:6px}.workspace{min-width:0;padding:26px;position:relative;isolation:isolate}.workspace:before{content:"";position:absolute;top:26px;right:28px;width:min(520px,36vw);height:154px;background:var(--blush);-webkit-clip-path:polygon(9% 0,100% 0,100% 76%,0 100%,0 22%);clip-path:polygon(9% 0,100% 0,100% 76%,0 100%,0 22%);opacity:.78;z-index:0}.topbar,.view{position:relative;z-index:1}.topbar{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:22px}.eyebrow{margin:0 0 6px;color:var(--accent);font-weight:800;font-size:12px;letter-spacing:0;text-transform:uppercase}h1,h2,h3,p{margin-top:0}h1{margin-bottom:0;font-size:30px;line-height:1.1;color:var(--accent-dark)}h2{font-size:19px;margin-bottom:14px}h3{font-size:15px;margin-bottom:8px}.actions,.filters,.topbar-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.chip,button{border-radius:8px}button{border:1px solid var(--line);background:var(--panel);color:var(--ink);padding:9px 12px;cursor:pointer}button.primary{background:var(--accent);border-color:var(--accent);color:#ffffff;font-weight:700;box-shadow:0 9px 20px rgba(239,39,36,.18)}button.danger{background:#fff5f3;border-color:#ffc7bd;color:var(--bad);font-weight:700}button.ghost{background:rgba(255,255,255,.7);color:var(--accent-dark)}.button-link{min-height:38px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:8px;padding:9px 12px;background:var(--panel);color:var(--ink);text-decoration:none}.button-link.primary{background:var(--accent);border-color:var(--accent);color:#ffffff;font-weight:700;box-shadow:0 9px 20px rgba(239,39,36,.18)}.view{display:none}.view.is-active{display:block}.grid{display:grid;grid-gap:16px;gap:16px}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}.metric,.panel,.table-wrap{background:var(--panel);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow)}.panel{padding:18px}.metric{padding:16px;border-top:4px solid var(--accent-2)}.metric span{display:block;color:var(--muted);font-size:13px;margin-bottom:8px}.metric strong{display:block;font-size:25px;line-height:1.1}.metric small{display:block;color:var(--muted);margin-top:8px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;min-width:760px}td,th{padding:11px 12px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top;font-size:14px}th{color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:0;background:#fff5f3;position:-webkit-sticky;position:sticky;top:0;z-index:1}tr:last-child td{border-bottom:0}.money,.num{text-align:right;white-space:nowrap}.chip{display:inline-flex;align-items:center;gap:6px;padding:4px 8px;background:var(--soft);color:var(--accent-dark);font-size:12px;font-weight:700}.chip.warn{background:#fff3df;color:var(--warn)}.chip.bad{background:#ffe5e1;color:var(--bad)}.chip.good{background:var(--aqua);color:var(--good)}.bar-list{grid-gap:12px}.bar-list,.bar-row{display:grid;gap:12px}.bar-row{grid-template-columns:150px minmax(120px,1fr) 100px;align-items:center;grid-gap:12px}.bar-track{height:10px;border-radius:999px;background:#f5e6e2;overflow:hidden}.bar-fill{height:100%;background:linear-gradient(90deg,var(--accent),var(--coral),var(--accent-2))}.performance-list{display:grid;grid-gap:0;gap:0}.performance-row{display:grid;grid-template-columns:minmax(180px,1fr) 160px 120px;grid-gap:14px;gap:14px;align-items:center;padding:13px 0;border-bottom:1px solid var(--line)}.performance-row:last-child{border-bottom:0}.performance-row span:not(:first-child),.performance-row strong+span,.performance-row strong+span+span{text-align:right}.performance-head{color:var(--muted);font-size:12px;font-weight:800;text-transform:uppercase}.filters{margin-bottom:14px;margin-top:16px}.ledger-filters{display:flex;align-items:flex-end;gap:10px;flex-wrap:wrap}.ledger-filters label{display:grid;grid-gap:6px;gap:6px;min-width:150px}.ledger-filters .chip{margin-bottom:4px}input,select{min-height:38px;border:1px solid var(--line);border-radius:8px;padding:8px 10px;background:var(--panel);color:var(--ink)}label{color:var(--muted);font-size:13px;font-weight:700}.edit-grid{display:grid;grid-gap:12px;gap:12px;align-items:end}.edit-grid label{display:grid;grid-gap:6px;gap:6px}.edit-grid input,.edit-grid select{width:100%}.edit-grid .wide{grid-column:span 2}.ledger-entry-grid{grid-template-columns:140px 110px minmax(180px,1fr) 120px minmax(260px,1.4fr) 120px 120px}.ledger-entry-grid .ledger-actions{grid-column:1/-1;justify-content:flex-start}.ledger-update-grid{grid-template-columns:130px 110px minmax(170px,1fr) 120px minmax(260px,1.6fr) 120px 120px 150px}.ledger-update-grid .ledger-actions{grid-column:1/-1}.investor-grid{grid-template-columns:minmax(180px,1.3fr) 130px 150px minmax(180px,1fr) minmax(180px,1fr) minmax(180px,1fr)}.property-grid{grid-template-columns:minmax(180px,1fr) 150px minmax(240px,2fr)}.rental-grid{grid-template-columns:140px 130px minmax(260px,1fr) 130px}.rental-grid .ledger-actions{grid-column:1/-1;justify-content:flex-start}.property-overview-list{display:grid;grid-gap:10px;gap:10px}.property-overview-item{width:100%;display:grid;grid-template-columns:minmax(160px,1.2fr) minmax(200px,1.5fr) 130px 130px;grid-gap:12px;gap:12px;align-items:center;text-align:left;background:#ffffff;color:var(--ink);text-decoration:none;border:1px solid var(--line);border-radius:8px;padding:12px}.property-overview-item span{color:var(--muted);font-size:13px}.property-overview-item.is-selected{border-color:var(--accent-2);box-shadow:inset 4px 0 0 var(--accent),0 10px 24px rgba(0,79,77,.08)}.property-report-hero{position:relative;padding:20px;background:linear-gradient(112deg,rgba(248,209,203,.58) 0 34%,transparent 34% 100%),linear-gradient(145deg,rgba(223,246,244,.86),#ffffff 58%);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow)}.property-report-hero h2{margin-bottom:4px;font-size:24px}.check-field{min-height:38px;display:flex!important;align-items:center;gap:8px!important;color:var(--ink)}.check-field input{width:auto}.form-actions,.inline-import{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.inline-import input[type=file]{max-width:280px}.compact-button{min-height:34px;padding:8px 12px}.ledger-actions{min-height:38px;display:flex;align-items:center;justify-content:flex-end;gap:8px;white-space:nowrap}.ledger-actions .check-field{min-height:auto;margin-right:auto}.view-switch{display:inline-flex;gap:4px;padding:4px;margin-bottom:16px;background:rgba(255,255,255,.72);border:1px solid var(--line);border-radius:8px}.view-switch button{border-color:transparent;background:transparent;box-shadow:none}.view-switch button.is-active{color:#ffffff;background:var(--accent)}.ledger-update-list{margin-top:0}.ledger-update-card{overflow:hidden}.editable-list{display:grid;grid-gap:12px;gap:12px;margin-top:16px}.editable-card{box-shadow:0 10px 28px rgba(0,79,77,.06)}button:focus-visible,input:focus,select:focus{outline:3px solid rgba(0,143,137,.24);outline-offset:2px}.timeline{display:grid;grid-gap:0;gap:0}.timeline-item{display:grid;grid-template-columns:130px minmax(0,1fr);grid-gap:14px;gap:14px;padding:16px 0;border-bottom:1px solid var(--line)}.timeline-item:last-child{border-bottom:0}.timeline-item time{color:var(--accent);font-size:13px;font-weight:800}.audit-panel{border-left:4px solid var(--accent-2)}.section-head{display:flex;justify-content:space-between;gap:16px;margin-bottom:12px}.roadmap-stage{border-left:4px solid var(--accent);padding-left:14px}.roadmap-stage ul{margin:10px 0 0;padding-left:18px;color:var(--muted)}.roadmap-stage li{margin:8px 0}.empty,.muted{color:var(--muted)}.empty{padding:26px;text-align:center}.login-page{min-height:100vh;display:grid;place-items:center;padding:24px;background:linear-gradient(112deg,rgba(248,209,203,.84) 0 32%,transparent 32% 100%),linear-gradient(145deg,rgba(223,246,244,.9),transparent 42%),var(--page)}.login-card{width:min(480px,100%);display:grid;grid-gap:22px;gap:22px;padding:26px;background:var(--panel);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow)}.login-brand{color:var(--ink)}.login-brand span{color:var(--muted)}.login-form{display:grid;grid-gap:14px;gap:14px}.login-form label{display:grid;grid-gap:7px;gap:7px;color:var(--muted);font-size:14px;font-weight:700}.login-form input{width:100%}.form-error{margin:0;color:var(--bad);font-weight:700}@media (max-width:920px){.app-shell{grid-template-columns:1fr}.sidebar{position:static;height:auto}.grid.four,.grid.three,.grid.two{grid-template-columns:1fr}.section-head,.topbar{display:grid}.investor-grid,.ledger-entry-grid,.ledger-update-grid,.performance-row,.property-grid,.property-overview-item,.rental-grid{grid-template-columns:1fr}.performance-row span:not(:first-child),.performance-row strong+span,.performance-row strong+span+span{text-align:left}.ledger-actions{justify-content:flex-start;flex-wrap:wrap;white-space:normal}.ledger-filters{display:grid}.ledger-filters label{min-width:0}.inline-import{justify-content:flex-start}.edit-grid .wide{grid-column:auto}}@media print{body{background:#ffffff}.actions,.filters,.sidebar,.topbar{display:none!important}.app-shell,.workspace{display:block;padding:0}}