
:root{
  --navy:#0a2443;--navy2:#071c34;--blue:#2768d8;--bg:#f4f7fb;--border:#dfe6ef;
  --text:#172033;--muted:#6f7c91;--white:#fff;--danger:#e53d3d;
}
*{box-sizing:border-box} body{margin:0;font-family:Inter,Arial,sans-serif;background:var(--bg);color:var(--text)}
a{color:#0f5ed7;text-decoration:none}.app{min-height:100vh;display:flex}.sidebar{width:238px;background:linear-gradient(180deg,var(--navy),var(--navy2));color:#fff;position:fixed;left:0;top:0;bottom:0;padding:20px 14px;overflow:auto}
.brand{display:flex;gap:12px;align-items:center;margin:0 8px 28px}.brand-icon{font-size:32px;color:#ffbd19}.brand strong{font-size:21px}.brand span,.top-actions small,.profile small{display:block;font-size:12px;color:#aebdd1;margin-top:2px}
.nav-section{font-size:11px;color:#69a9ff;margin:20px 10px 8px}.sidebar a{display:flex;gap:10px;align-items:center;color:#fff;padding:10px 12px;border-radius:7px;font-size:14px}.sidebar a.active{background:#2e69d0}.collapse{border-top:1px solid rgba(255,255,255,.1);margin-top:28px;padding:20px 12px;font-size:13px}
.main{margin-left:238px;width:calc(100% - 238px)}.topbar{height:66px;background:#fff;border-bottom:1px solid var(--border);display:flex;align-items:center;padding:0 26px;gap:22px;position:sticky;top:0;z-index:3}.menu-btn{background:none;border:0;font-size:22px}.search{width:425px;border:1px solid var(--border);padding:12px 16px;border-radius:8px;color:#9aa5b5}.top-actions{margin-left:auto;display:flex;gap:28px;align-items:center}.bell{position:relative;font-size:22px}.bell b{position:absolute;right:-7px;top:-8px;background:#e33737;color:#fff;font-size:10px;border-radius:50%;padding:3px 5px}.profile{display:flex;gap:10px;align-items:center}.avatar{width:36px;height:36px;border-radius:50%;background:#d7dde8;display:grid;place-items:center;font-weight:700}
.content{padding:24px 28px}.page-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.page-head h1{font-size:27px;margin:0}.page-actions{display:flex;gap:12px}.btn{border-radius:8px;padding:11px 16px;border:1px solid var(--border);font-weight:600}.btn-primary{background:#2866d3;color:#fff;border-color:#2866d3}.btn-light{background:#fff}.panel{background:#fff;border:1px solid var(--border);border-radius:10px}.welcome{padding:18px}.welcome h2{margin:0 0 6px}.welcome p{margin:0 0 20px;color:var(--muted)}
.kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.kpi{display:flex;gap:14px;border:1px solid #dde6f4;border-radius:10px;padding:14px}.kpi-icon{width:54px;height:54px;border-radius:10px;display:grid;place-items:center;font-size:26px}.kpi span,.kpi small{display:block}.kpi strong{display:block;font-size:25px;margin:3px 0}.kpi a{display:block;margin-top:10px;font-size:12px}.kpi.blue{background:#f5f8ff}.kpi.blue .kpi-icon{background:#dce8ff;color:#2866d3}.kpi.green{background:#f4fbf7}.kpi.green .kpi-icon{background:#dcefe1;color:#2a9a52}.kpi.orange{background:#fffaf0}.kpi.orange .kpi-icon{background:#ffefc7;color:#e79b00}.kpi.purple{background:#fbf8ff}.kpi.purple .kpi-icon{background:#eadcff;color:#8b39d8}
.three-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:14px}.metric{padding:18px;min-height:150px;position:relative}.metric h3,.list-card h3,.bottom-grid h3{margin:0 0 14px;font-size:15px}.big{font-size:25px;font-weight:800}.big small{font-size:16px}.metric em{font-size:12px;background:#dcf5df;color:#2c9b4d;border-radius:16px;padding:4px 8px;font-style:normal}.metric p{color:var(--muted);font-size:12px}.danger{color:var(--danger)}.spark{position:absolute;right:24px;top:53px;font-size:35px}.greenline{color:#2eaa5a}.redline{color:#ee4a4a}.occupancy{display:flex;justify-content:space-between;align-items:center}.donut{width:76px;height:76px;border-radius:50%;background:conic-gradient(#2866d3 0 81%,#e6ebf2 81%);position:relative}.donut:after{content:"";position:absolute;inset:9px;background:#fff;border-radius:50%}
.middle .panel{min-height:295px}.list-card{padding:16px}.row{display:flex;align-items:center;gap:12px;padding:11px 0;border-bottom:1px solid #e9edf3;font-size:12px}.row b{display:block}.row small{display:block;color:var(--muted);margin-top:4px}.grow{flex:1}.date{width:40px;height:44px;border:1px solid var(--border);border-radius:6px;display:grid;place-items:center;line-height:1}.date b{font-size:17px}.date span{font-size:9px}.right{text-align:right}.pill{display:inline-block;padding:4px 8px;border-radius:7px;font-size:10px;margin-top:5px}.bluepill{background:#e6edff;color:#2f65d2}.done{background:#ddf3e3;color:#2e9b53}.progress{background:#fff0d1;color:#b27500}.footer-link{display:block;margin-top:14px;font-size:12px}.alert-icon,.tool-icon{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;font-weight:800}.alert-icon.red{background:#ffe6e6;color:#e33}.alert-icon.amber{background:#fff0d8;color:#dc8b00}.alert-icon.info,.tool-icon{background:#eaf1ff;color:#2866d3}
.bottom-grid{display:grid;grid-template-columns:1.35fr 1fr;gap:14px;margin-top:14px}.bottom-grid>.panel{padding:16px}.types{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.types>div{display:grid;grid-template-columns:36px 1fr;column-gap:10px}.types span{grid-row:1/4;width:34px;height:34px;border-radius:8px;background:#edf3ff;color:#2866d3;display:grid;place-items:center}.types strong{font-size:18px}.types small{color:var(--muted)}.docrow{display:flex;align-items:center;gap:10px;border-bottom:1px solid #e9edf3;padding:9px 0;font-size:12px}.docrow div{flex:1}.docrow small{display:block;color:var(--muted);margin-top:4px}.docrow button{border:1px solid var(--border);background:#fff;border-radius:6px;padding:6px 9px}.pdf,.doc{font-size:9px;padding:8px 5px;border-radius:6px;color:#fff}.pdf{background:#ea3e3e}.doc{background:#2968d7}.docs>a{font-size:12px;display:block;margin-top:10px}
footer{font-size:11px;color:#7d8999;margin:25px 4px 0;display:flex;justify-content:space-between}
@media(max-width:1100px){.kpi-grid{grid-template-columns:repeat(2,1fr)}.three-grid{grid-template-columns:1fr 1fr}.bottom-grid{grid-template-columns:1fr}.search{width:300px}}
@media(max-width:760px){.sidebar{transform:translateX(-100%)}.main{margin-left:0;width:100%}.top-actions>div:first-child{display:none}.search{flex:1;width:auto}.content{padding:16px}.page-head{align-items:flex-start;gap:12px}.page-actions{flex-direction:column}.kpi-grid,.three-grid{grid-template-columns:1fr}.types{grid-template-columns:repeat(2,1fr)}footer{display:block}footer span{display:block;margin-top:8px}}

/* Sprint 0 auth/setup */
.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;background:#f4f7fb}.auth-card{width:100%;max-width:460px;background:#fff;border:1px solid #dfe6ef;border-radius:14px;padding:30px;box-shadow:0 14px 40px rgba(23,32,51,.08)}.auth-card.wide{max-width:700px}.auth-card h1{margin:10px 0}.auth-card p{color:#6f7c91}.auth-brand{display:flex;gap:10px;align-items:center;font-size:22px;font-weight:800;color:#0a2443}.auth-brand span{color:#ffbd19;font-size:30px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}.form-grid .full{grid-column:1/-1}label{display:block;font-weight:700;font-size:13px;margin:15px 0 7px}input,select{width:100%;padding:12px 13px;border:1px solid #d6deea;border-radius:8px;background:#fff;font:inherit}.full-btn{width:100%;margin-top:22px}.alert{padding:12px 14px;border-radius:8px;margin:15px 0}.alert-danger{background:#feecec;color:#a51d1d}.org-card{display:flex;align-items:center;justify-content:space-between;border:1px solid #dfe6ef;padding:16px;border-radius:10px;background:#fafcff;margin:10px 0}.org-card small{display:block;color:#6f7c91;margin-top:4px}.logout-btn{width:100%;margin-top:22px;padding:10px;border:1px solid rgba(255,255,255,.18);border-radius:8px;background:transparent;color:#fff;cursor:pointer}.empty-dashboard{margin-top:14px;padding:22px}@media(max-width:700px){.form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:auto}}

/* Owners V1 */
.page-sub{color:var(--muted);margin:5px 0 0}.owner-toolbar{padding:14px;margin-bottom:14px}.owner-filter{display:grid;grid-template-columns:1fr 180px auto;gap:10px}.owners-table-wrap{overflow:auto}.data-table{width:100%;border-collapse:collapse}.data-table th,.data-table td{padding:14px 16px;border-bottom:1px solid #e9edf3;text-align:left;font-size:13px;vertical-align:middle}.data-table th{background:#f8fafc;color:#627085;font-size:12px}.data-table td small{display:block;color:var(--muted);margin-top:4px}.btn-mini{padding:7px 10px;background:#fff;color:#1f4f9f;margin-left:5px}.status-badge{display:inline-block;padding:5px 9px;border-radius:999px;font-size:11px;font-weight:700}.status-active{background:#def4e5;color:#258246}.status-inactive{background:#fff0d6;color:#996000}.status-archived{background:#e9edf3;color:#677386}.empty-state{text-align:center;padding:55px 20px}.form-page{background:#f4f7fb;min-height:100vh}.form-shell{max-width:900px;margin:0 auto;padding:35px 20px}.wide-shell{max-width:1100px}.owner-detail-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:18px}.owner-detail-head h1{margin:8px 0 4px}.owner-detail-head p{color:var(--muted);margin:0}.form-panel{padding:24px}.form-panel h3{margin:26px 0 6px}.form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:26px}.hidden{display:none!important}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.detail-card,.detail-section{padding:20px}.detail-section{margin-top:14px}.detail-card h3,.detail-section h3{margin-top:0}.detail-card dl{display:grid;grid-template-columns:120px 1fr;gap:10px;margin:0}.detail-card dt{color:var(--muted)}.detail-card dd{margin:0;font-weight:600}.upload-box{display:grid;grid-template-columns:180px 1fr 1.1fr auto;gap:12px;align-items:end;background:#f8fafc;border:1px dashed #cdd7e6;border-radius:10px;padding:14px}.doc-list{margin-top:15px}.doc-item{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid #e9edf3}.doc-item small{display:block;color:var(--muted);margin-top:4px}.empty-inline{padding:20px;background:#f8fafc;border-radius:8px;color:var(--muted)}.muted-note{color:var(--muted);font-size:12px}
@media(max-width:760px){.owner-filter,.detail-grid,.upload-box{grid-template-columns:1fr}.data-table{min-width:850px}}
