:root{--navy:#14171b;--gold:#c9272d;--cream:#f5f4ef;--ink:#222629;--muted:#647585;--line:#e3e7eb;--green:#25826a;--red:#b54943}*{box-sizing:border-box}body{margin:0;font:14px/1.5 Arial,Helvetica,sans-serif;color:var(--ink);background:#f6f7f9}button,input,select,textarea{font:inherit}button,a,input,select,textarea{outline-offset:4px}button{cursor:pointer;border:1px solid var(--line);border-radius:7px;background:white;color:var(--ink);padding:9px 14px}button:hover{filter:brightness(.97)}button:disabled{cursor:wait;opacity:.55}.primary{background:var(--gold);border-color:var(--gold);color:var(--navy);font-weight:700;padding:12px 18px}.secondary{background:var(--cream);font-weight:700}.danger{color:var(--red)}[hidden]{display:none!important}a{color:inherit;text-decoration:none}aside{width:235px;position:fixed;inset:0 auto 0 0;background:var(--navy);color:#bbc9d6;padding:35px 19px 24px;display:flex;flex-direction:column}.brand{font:21px Georgia,serif;color:white;letter-spacing:1.5px;margin:0 13px 36px}.brand span{color:var(--gold)}.brand small{display:block;font:9px Arial;letter-spacing:2px;margin-top:11px;color:#91a5b6}nav button{width:100%;display:flex;gap:13px;align-items:center;border:0;background:none;color:#b7c6d3;text-align:left;margin:4px 0;padding:12px 14px;font-weight:500}nav button.active{background:#21374b;color:#f2c56c;border-left:3px solid var(--gold);padding-left:11px}nav button .icon{font-size:18px;width:24px;text-align:center}.side-bottom{margin-top:auto;padding:20px 13px 0;border-top:1px solid #294052}.side-bottom>a{display:block;margin-bottom:20px;font-size:12px}.avatar{float:left;border-radius:50%;background:#35495b;color:#edc783;width:34px;height:34px;display:grid;place-items:center;margin:4px 10px 0 0;font-size:12px}.side-bottom strong{font-size:12px;color:white}.side-bottom small{display:block;font-size:10px}.side-bottom button{background:none;color:#bccbd9;padding:6px 0;border:0;font-size:11px;margin-top:12px}.workspace{margin-left:235px}header{height:72px;border-bottom:1px solid var(--line);background:white;display:flex;align-items:center;justify-content:space-between;padding:0 36px;font-size:12px;color:var(--muted)}.header-right{display:flex;gap:16px;align-items:center}header button{font-size:12px}.banner{padding:9px 36px;background:#fff1d7;color:#76561d;font-size:12px}.banner a{text-decoration:underline}main{padding:33px 36px 20px;max-width:1600px;margin:auto}.heading{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:25px}.eyebrow{font-size:10px;font-weight:700;letter-spacing:2px;color:#7b8b96}h1{font:36px/1.15 Georgia,serif;margin:9px 0;color:var(--navy)}.heading p{margin:0;color:var(--muted);font-size:13px}.toolbar{display:flex;gap:12px;margin-bottom:25px}.search{position:relative;flex:1}.search span{position:absolute;left:13px;top:6px;font-size:23px;color:var(--muted)}input,select,textarea{border:1px solid var(--line);background:white;padding:10px 12px;border-radius:7px;min-width:0;color:var(--ink)}.search input{width:100%;padding-left:40px}.toolbar select{min-width:190px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-bottom:23px}.stat{background:white;padding:20px 23px;border:1px solid var(--line);border-radius:10px}.stat .label{font-size:12px;color:var(--muted);margin-bottom:12px;display:flex;justify-content:space-between}.stat .value{font-size:28px;letter-spacing:-1px;font-weight:600}.stat small{display:block;margin-top:8px;color:var(--muted);font-size:11px}.green{color:var(--green)}.red{color:var(--red)}.grid-two{display:grid;grid-template-columns:1.5fr 1fr;gap:22px;margin-bottom:24px}.panel{background:white;border:1px solid var(--line);border-radius:10px;padding:23px;min-width:0;margin-bottom:22px}.grid-two .panel{margin-bottom:0}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:20px}h2{font-size:17px;font-weight:600;margin:0}h3{margin:0;font-size:16px}.link{background:none;border:none;padding:0;color:#85631e;font-size:12px}.muted{color:var(--muted)}.small{font-size:12px}.progress{height:10px;background:#eaf0f1;border-radius:8px;overflow:hidden;margin:15px 0 10px}.progress>div{height:100%;background:var(--green)}.split{display:flex;justify-content:space-between;gap:12px}.barline{margin:20px 0}.barline .progress{height:9px;margin:7px 0}.barline.expense .progress>div{background:var(--gold)}.badge{display:inline-block;font-size:10px;font-weight:700;border-radius:4px;padding:4px 8px;background:#edf2f5;color:#567081;white-space:nowrap}.badge.good{background:#e5f4ee;color:var(--green)}.badge.warn{background:#fff2d8;color:#906322}.badge.bad{background:#fceae7;color:#ac493f}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:23px}.property-card{background:white;border:1px solid var(--line);border-radius:10px;overflow:hidden}.property-art{background:linear-gradient(135deg,#1d3a50,#324e60);height:95px;display:flex;align-items:end;padding:16px 22px;color:#ebc478}.property-art span{font:45px Georgia}.property-card:nth-child(2n) .property-art{background:linear-gradient(135deg,#7c735e,#b9a67e)}.property-body{padding:20px}.property-body h3{margin-bottom:7px}.property-body>p{font-size:12px;color:var(--muted);margin:0 0 17px;min-height:36px}.property-body .split{font-size:12px;padding-top:15px;margin-top:15px;border-top:1px solid var(--line)}.property-body button{width:100%;margin-top:17px;font-size:12px}.table-scroll{overflow-x:auto}table{width:100%;border-collapse:collapse;text-align:left;white-space:nowrap}th{font-size:10px;text-transform:uppercase;letter-spacing:.9px;color:#80909d;font-weight:600;background:#f8fafb}td,th{padding:13px 12px;border-bottom:1px solid #edf0f3}td{font-size:12px}td small{display:block;color:var(--muted);font-size:11px}td button{padding:5px 9px;font-size:11px}tr:last-child td{border-bottom:0}.empty{text-align:center;color:var(--muted);padding:40px 20px}.empty h3{color:var(--ink);margin-bottom:10px}.empty button{margin-top:15px}.task{padding:14px 0;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:12px}.task:last-child{border:0}.task strong{font-size:12px}.task small{display:block;margin:5px 0;color:var(--muted)}.kanban{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.kanban .panel{padding:18px;background:#edf1f4}.task-card{background:white;border:1px solid var(--line);padding:16px;border-radius:7px;margin-top:14px}.task-card h3{font-size:13px;margin:12px 0 5px}.task-card p{font-size:12px;color:var(--muted)}.task-card button{font-size:11px;width:100%;margin-top:14px}footer{margin-top:35px;border-top:1px solid var(--line);padding-top:17px;font-size:10px;color:#84929d;display:flex;justify-content:space-between}.login{min-height:100vh;display:grid;place-items:center;padding:26px;background:radial-gradient(ellipse at top right,#264b64,var(--navy) 65%)}.login-card{width:470px;max-width:100%;background:var(--cream);border-radius:12px;padding:45px;color:var(--navy)}.login-card h1{font-size:41px;margin:19px 0}.login-card>p{color:var(--muted);margin-bottom:25px}.login-card form{margin:25px 0 0}.login-card button{width:100%;margin-top:15px}.login-card small{display:block;font-size:11px;color:var(--muted);margin:14px 0 24px}.login-card>a{font-size:12px;color:#836123}label{display:block;font-size:12px;font-weight:600}label input,label select,label textarea{display:block;width:100%;margin-top:6px}dialog{border:0;border-radius:12px;width:650px;max-width:calc(100vw - 32px);padding:26px;max-height:90vh;box-shadow:0 20px 100px #001c3145}dialog::backdrop{background:#071d3180}.modal-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.modal-top button{border:0;font-size:23px;padding:0 7px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px}.full{grid-column:1/-1}.form-actions{display:flex;gap:10px;justify-content:flex-end;padding-top:22px}.note{font-size:12px;color:var(--muted);background:#f8fafb;padding:12px;border-radius:6px}.form-error{color:var(--red);font-size:12px;margin-top:15px}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);padding:12px 20px;background:var(--navy);color:white;border-radius:7px;display:none;max-width:90vw;z-index:5}.report-actions{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:20px}.ring{width:115px;height:115px;border-radius:50%;display:grid;place-items:center;margin:12px auto 20px;background:conic-gradient(var(--green) var(--percent),#eaf0f1 0)}.ring>div{background:white;border-radius:50%;height:88px;width:88px;display:grid;place-content:center;text-align:center}.ring strong{font-size:24px}.ring small{font-size:10px;color:var(--muted)}.occupancy-ring{--percent:0%}.balance-table{margin-top:20px}body.print main{background:white}@media(max-width:1100px){.stats{grid-template-columns:1fr 1fr}.cards{grid-template-columns:1fr 1fr}.grid-two{grid-template-columns:1fr}.kanban{grid-template-columns:1fr}}@media(max-width:760px){aside{position:static;width:100%;padding:18px 14px}.brand{margin:0 8px 15px;font-size:19px}.brand small{display:none}nav{display:flex;overflow:auto}nav button{width:auto;white-space:nowrap;font-size:12px;padding:8px 12px}nav button .icon{display:none}nav button.active{border-left:0;border-bottom:2px solid var(--gold);padding:8px 12px}.side-bottom{display:none}.workspace{margin:0}header{height:50px;padding:0 20px}.banner{padding:10px 20px}main{padding:24px 20px}h1{font-size:30px}.heading{align-items:flex-start}.heading .primary{font-size:12px;padding:10px}.toolbar{flex-wrap:wrap}.search{flex-basis:100%}.toolbar select{flex:1;min-width:0}.toolbar input[type=month]{width:155px}.cards{grid-template-columns:1fr}.stats{gap:10px}.stat{padding:16px}.stat .value{font-size:24px}.stat small{font-size:10px}.panel{padding:17px}.form-grid{grid-template-columns:1fr}.full{grid-column:auto}.login-card{padding:30px}.header-right #saveStatus{display:none}}@media print{aside,header,.banner,.toolbar,.heading>button,.report-actions,footer,button{display:none!important}.workspace{margin:0}main{padding:0}.panel,.stat{break-inside:avoid}body{background:white}.table-scroll{overflow:visible}h1{font-size:25px}}

.login-logo{display:block;width:165px;height:auto;border-radius:4px;margin-bottom:24px}.citywide-brand{margin:0 0 28px;text-align:center}.citywide-brand img{display:block;width:100%;max-width:197px;height:auto;border-radius:4px;margin:auto}.citywide-brand small{font-size:9px;letter-spacing:1.5px}@media(max-width:760px){.citywide-brand{margin:0 8px 14px;text-align:left}.citywide-brand img{width:100px;margin:0}.login-logo{width:145px}}

.primary{color:white}nav button.active{background:#342226;color:#fff}.login{background:radial-gradient(ellipse at top right,#34383b,var(--navy) 65%)}.login-card h1{font-size:35px}.login-card>a{color:#952128}nav button.active .icon{color:#ed8489}
