/* =========================================================
   01. DESIGN SYSTEM
   ========================================================= */
:root{--bg:#f5f7fb;--surface:#fff;--ink:#172033;--muted:#667085;--navy:#203f8f;--navy2:#2f55ad;--line:#e5e8ef;--soft:#eef3ff;--green:#12b76a;--green-soft:#ecfdf3;--orange:#f7931e;--orange-soft:#fff4df;--red:#f04438;--red-soft:#fef3f2;--purple:#7c3aed;--shadow:0 8px 26px rgba(16,24,40,.07);--radius:16px;--sidebar:250px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font:14px/1.45 "Segoe UI",Arial,sans-serif;background:var(--bg);color:var(--ink)}button,input,select,textarea{font:inherit}.hidden,.feature-off{display:none!important}button{cursor:pointer}h1,h2,h3,h4,p{margin-top:0}.eyebrow{font-size:10px;letter-spacing:.09em;font-weight:800;color:#7b86a2}.mark{width:52px;height:52px;border-radius:15px;background:linear-gradient(135deg,var(--navy),#597bd0);display:grid;place-items:center;color:#fff;font-size:22px;font-weight:800;box-shadow:0 8px 20px rgba(32,63,143,.2)}.mark.sm{width:38px;height:38px;border-radius:11px;font-size:16px;box-shadow:none}.btn{border:0;border-radius:10px;background:var(--navy);color:#fff;font-weight:700;padding:11px 15px;min-height:42px}.btn:hover{background:#173574}.btn.full{width:100%;margin:12px 0}.btn.danger{background:var(--red)}.btn.secondary{background:var(--soft);color:var(--navy)}.text-btn{border:0;background:transparent;color:var(--navy);font-weight:700;padding:6px}.icon{width:42px;height:42px;border:1px solid var(--line);border-radius:11px;background:#fff}.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}
/* =========================================================
   02. LOGIN
   ========================================================= */
.login{min-height:100vh;display:grid;place-items:center;padding:22px;background:radial-gradient(circle at 85% 10%,#dfe8ff 0,transparent 30%),linear-gradient(145deg,#fff,#eef3ff)}.login-card{width:min(430px,100%);padding:30px;background:#fff;border:1px solid var(--line);border-radius:24px;box-shadow:0 24px 60px rgba(16,24,40,.12)}.login h1{color:var(--navy);margin:18px 0 5px}.login p,.login small{color:var(--muted)}input,select,textarea{width:100%;border:1px solid #d8dde7;border-radius:10px;padding:11px 12px;background:#fff;margin:6px 0;color:var(--ink)}textarea{min-height:100px;resize:vertical}input:focus,select:focus,textarea:focus{outline:2px solid #cbd8ff;border-color:#8ca6e8}
/* =========================================================
   03. DESKTOP APPLICATION SHELL
   ========================================================= */
.app{min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:var(--sidebar);background:#fff;border-right:1px solid var(--line);padding:20px 14px 14px;display:flex;flex-direction:column;z-index:20}.side-brand{display:flex;align-items:center;gap:10px;padding:0 7px 22px}.side-brand b{display:block;color:var(--navy);font-size:15px}.side-brand span{display:block;color:var(--muted);font-size:10px;margin-top:2px}.side-label{font-size:9px;font-weight:800;letter-spacing:.12em;color:#98a2b3;padding:8px 12px}.desktop-nav{display:flex;flex-direction:column;gap:3px}.desktop-nav button,.control-link{width:100%;border:0;background:transparent;border-radius:10px;min-height:44px;padding:9px 11px;display:flex;align-items:center;gap:11px;color:#475467;text-align:left;font-weight:650;position:relative}.desktop-nav button i,.control-link i{width:22px;text-align:center;font-style:normal;font-size:18px;color:#667085}.desktop-nav button:hover,.control-link:hover{background:#f7f9fc;color:var(--navy)}.desktop-nav button.active{background:var(--soft);color:var(--navy)}.desktop-nav button.active i{color:var(--navy)}.nav-badge{margin-left:auto;background:var(--red-soft);color:#b42318;border-radius:99px;padding:2px 7px;font-size:10px}.side-spacer{flex:1}.side-version{font-size:9px;color:#b0b7c3;padding:12px}.workspace{margin-left:var(--sidebar);min-width:0}.topbar{height:78px;background:rgba(255,255,255,.96);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:20px;padding:10px 28px;position:sticky;top:0;z-index:15;backdrop-filter:blur(12px)}.mobile-brand{display:none}.property-context{display:flex;align-items:center;gap:16px;min-width:0}.property-select-wrap{position:relative;min-width:220px}.property-select-wrap b{display:block;color:var(--navy);font-size:15px}.property-select-wrap select{position:absolute;inset:0;opacity:0;cursor:pointer;margin:0}.clock{font-size:11px;color:var(--muted);border-left:1px solid var(--line);padding-left:16px;white-space:nowrap}.head-actions{display:flex;align-items:center;gap:8px}.mobile-control{display:none}.content{max-width:1540px;margin:0 auto;padding:28px 34px 60px}.page{display:none}.page.active{display:block}.pagehead{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:22px}.pagehead h1{margin:3px 0 4px;color:var(--navy);font-size:30px;letter-spacing:-.035em}.pagehead p{margin:0;color:var(--muted);font-size:13px}.page-actions{display:flex;gap:8px}
/* =========================================================
   04. DASHBOARD / METRICS
   ========================================================= */
.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:22px}.metrics.compact{margin-bottom:18px}.metric{padding:18px 19px;min-height:108px;display:flex;flex-direction:column;justify-content:center}.metric span{font-size:11px;color:var(--muted);font-weight:650}.metric b{display:block;font-size:27px;letter-spacing:-.03em;margin-top:6px;color:#20293b}.metric small{font-size:10px;color:var(--muted);margin-top:3px}.due{padding:16px 18px;margin-bottom:16px;background:linear-gradient(135deg,var(--navy),#345bb3);color:#fff;border-radius:15px;box-shadow:0 10px 24px rgba(32,63,143,.18);display:flex;align-items:center;justify-content:space-between;gap:20px}.due b{font-size:14px}.due div{font-size:12px;opacity:.88}.dashboard-grid{display:grid;grid-template-columns:minmax(0,2.15fr) minmax(280px,.85fr);gap:22px}.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:15px;margin:21px 2px 10px}.section-head h3{font-size:15px;color:var(--navy);margin:0}.section-head p{font-size:10px;color:var(--muted);margin:2px 0 0}.quick{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.quick button{min-height:102px;background:#fff;border:1px solid var(--line);border-radius:14px;text-align:left;padding:15px;font-size:22px;transition:.15s}.quick button:hover{transform:translateY(-1px);border-color:#cbd5e8;box-shadow:var(--shadow)}.quick b{display:block;color:var(--navy);font-size:12px;margin-top:8px}.quick span{display:block;color:var(--muted);font-size:10px;margin-top:2px}.side-list{overflow:hidden}.side-entry{padding:14px 15px;border-top:1px solid var(--line)}.side-entry:first-child{border-top:0}.side-entry b{font-size:12px;color:#344054;display:block}.side-entry span{font-size:10px;color:var(--muted);display:block;margin-top:3px}.side-entry .pill{display:inline-flex;margin-top:7px}
/* =========================================================
   05. TABLES / CARDS / STATUS
   ========================================================= */
.tablewrap{overflow-x:auto;padding:7px 14px 14px;-webkit-overflow-scrolling:touch}.tablewrap.flush{padding:0}.tablewrap h3{padding:12px 2px 0;color:var(--navy)}table{width:100%;border-collapse:collapse;min-width:720px}th{text-align:left;font-size:9px;letter-spacing:.06em;text-transform:uppercase;color:#7c879c;padding:11px 10px;white-space:nowrap}td{padding:13px 10px;border-top:1px solid var(--line);font-size:12px;color:#344054}td button,.actions button{border:1px solid var(--line);background:#fff;border-radius:8px;padding:6px 9px;color:var(--navy);font-weight:700;font-size:11px}.cards,.property-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.item,.property-card{padding:18px}.item h4,.property-card h4{margin:0;color:var(--navy);font-size:16px}.sub{font-size:11px;color:var(--muted);margin-top:4px}.row{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.pill{display:inline-flex;padding:5px 8px;border-radius:99px;font-size:9px;font-weight:800;background:var(--soft);color:var(--navy);white-space:nowrap}.pill.green{background:var(--green-soft);color:#027a48}.pill.orange{background:var(--orange-soft);color:#b54708}.pill.red{background:var(--red-soft);color:#b42318}.actions{display:flex;justify-content:flex-end;gap:8px;margin-top:15px}.property-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-top:15px}.property-stat{background:#f8fafc;border-radius:10px;padding:10px}.property-stat span{display:block;color:var(--muted);font-size:9px}.property-stat b{font-size:12px;margin-top:3px;display:block}
/* =========================================================
   06. REPORTS
   ========================================================= */
.reports-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(320px,.8fr);gap:16px}.chartcard,.category-card{padding:18px}.chartcard .section-head,.category-card .section-head{margin:0 0 10px}.chart{height:320px;display:flex;align-items:end;gap:10px;border-bottom:1px solid var(--line);padding:18px 8px 30px}.month{flex:1;height:100%;display:flex;align-items:end;gap:3px;position:relative}.bar{flex:1;border-radius:5px 5px 0 0;background:var(--navy);min-height:2px}.bar.exp{background:#c7d2fe}.month small{position:absolute;bottom:-23px;left:50%;transform:translateX(-50%);font-size:8px;color:#98a2b3}.legend{font-size:10px;color:var(--muted);display:flex;align-items:center;gap:5px}.dot{width:8px;height:8px;border-radius:2px;display:inline-block;margin-left:6px}.dot.income{background:var(--navy)}.dot.expense{background:#c7d2fe}.small-table{min-width:0}.accountant-card{margin-top:16px;padding:20px;display:flex;align-items:center;justify-content:space-between;gap:20px;border-left:5px solid var(--green)}.accountant-card h3{margin:4px 0;color:var(--navy)}.accountant-card p{margin:0;color:var(--muted);font-size:11px}
/* =========================================================
   07. MODALS / ADMIN
   ========================================================= */
.backdrop{display:none;position:fixed;inset:0;background:rgba(15,23,42,.46);z-index:60;align-items:center;justify-content:center;padding:20px;backdrop-filter:blur(4px)}.backdrop.open{display:flex}.modal{width:min(800px,100%);max-height:90vh;overflow:auto;background:#fff;border-radius:20px;padding:25px;position:relative;box-shadow:0 24px 70px rgba(15,23,42,.22)}.close{position:absolute;right:14px;top:12px;width:36px;height:36px;border:0;border-radius:50%;font-size:22px;background:#f2f4f7}.modal h2{color:var(--navy);font-size:23px}.formgrid{display:grid;grid-template-columns:1fr 1fr;gap:10px 14px}.formgrid label{font-size:10px;font-weight:700;color:#475467}.formgrid .wide{grid-column:1/-1}.admin-section{border:1px solid var(--line);border-radius:13px;padding:14px;margin-top:12px}.admin-section h4{margin:0 0 8px;color:var(--navy)}.audit{max-height:500px;overflow:auto;border:1px solid var(--line);border-radius:12px}.audit div{padding:11px 13px;border-top:1px solid var(--line);font-size:11px}.audit div:first-child{border-top:0}.mobile-nav{display:none}
/* =========================================================
   08. TABLET
   ========================================================= */
@media(max-width:1180px){:root{--sidebar:220px}.content{padding:24px}.cards,.property-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.reports-grid{grid-template-columns:1fr}.dashboard-grid{grid-template-columns:1fr}.dashboard-side{display:grid;grid-template-columns:1fr 1fr;gap:14px}.dashboard-side .section-head{grid-column:auto;margin-bottom:-4px}.quick{grid-template-columns:repeat(3,1fr)}.clock{display:none}}
/* =========================================================
   09. MOBILE — preserve the successful phone experience
   ========================================================= */
@media(max-width:820px){body{font-size:14px}.sidebar{display:none}.workspace{margin-left:0}.topbar{height:auto;min-height:72px;padding:12px 14px 26px;border-bottom:4px solid var(--navy);position:relative;background:linear-gradient(135deg,#fff,#eef3ff)}.mobile-brand{display:flex;align-items:center;gap:9px;color:var(--navy)}.property-context{position:absolute;left:14px;right:14px;bottom:-26px;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);padding:9px 12px;display:block}.property-context>.eyebrow{display:none}.property-select-wrap{min-width:0}.property-select-wrap b{font-size:13px}.clock{display:block;border:0;padding:0;margin-top:2px;font-size:9px}.head-actions .add-main{display:none}.mobile-control{display:block}.content{padding:44px 14px 92px}.pagehead{margin:10px 2px 14px;align-items:flex-end}.pagehead h1{font-size:24px}.pagehead p{font-size:11px}.pagehead .eyebrow{display:none}.pagehead .btn{min-height:38px;padding:9px 11px;font-size:11px}.metrics{grid-template-columns:repeat(2,1fr);gap:9px;margin-bottom:14px}.metric{min-height:92px;padding:14px}.metric b{font-size:22px}.due{display:block}.due div{margin-top:3px}.dashboard-grid{display:block}.dashboard-side{display:block}.section-head{margin-top:18px}.quick{grid-template-columns:repeat(3,1fr);gap:8px}.quick button{min-height:86px;padding:11px;font-size:20px}.quick b{font-size:11px}.quick span{display:none}.cards,.property-grid{grid-template-columns:1fr;gap:10px}.item,.property-card{padding:14px}.reports-grid{display:block}.category-card{margin-top:10px}.chart{height:210px;gap:5px}.chartcard{padding:13px}.legend{display:none}.accountant-card{display:block}.accountant-card .btn{margin-top:12px}.desktop-table table{min-width:760px}.mobile-nav{position:fixed;z-index:30;left:0;right:0;bottom:0;background:rgba(255,255,255,.97);backdrop-filter:blur(12px);border-top:1px solid var(--line);padding:7px 6px calc(7px + env(safe-area-inset-bottom));display:grid;grid-template-columns:repeat(5,1fr)}.mobile-nav button{border:0;background:transparent;color:#667085;display:flex;flex-direction:column;align-items:center;gap:2px;padding:4px 2px;font-size:18px}.mobile-nav button span{font-size:9px;font-weight:700}.mobile-nav button.active{color:var(--navy)}.backdrop{align-items:flex-end;padding:0}.modal{width:100%;max-height:88vh;border-radius:22px 22px 0 0;padding:20px 16px calc(22px + env(safe-area-inset-bottom))}.formgrid{grid-template-columns:1fr}.formgrid .wide{grid-column:auto}.actions{flex-wrap:wrap}.dashboard-side .section-head{margin-bottom:8px}}
@media(max-width:420px){.quick{grid-template-columns:repeat(2,1fr)}.metrics{grid-template-columns:repeat(2,1fr)}.pagehead{gap:8px}.pagehead p{max-width:230px}}
/* =========================================================
   10. PRINT / ACCOUNTANT REPORT
   ========================================================= */
@media print{.sidebar,.topbar,.mobile-nav,.pagehead .btn,.page-actions,.text-btn{display:none!important}.workspace{margin:0}.content{padding:0;max-width:none}.page{display:none!important}#reports{display:block!important}.card{box-shadow:none}.chart{height:240px}body{background:#fff}}

/* =========================================================
   11. DESKTOP SAFETY OVERRIDES — V1.21
   Prevent mobile navigation/shell rules from leaking onto desktop.
   ========================================================= */
@media(min-width:821px){
  .sidebar{display:flex!important;position:fixed!important;left:0!important;top:0!important;bottom:0!important;width:var(--sidebar)!important}
  .workspace{margin-left:var(--sidebar)!important}
  .mobile-nav{display:none!important}
  .mobile-brand,.mobile-control{display:none!important}
  .topbar{height:78px!important;padding:10px 28px!important;position:sticky!important;top:0!important}
  .content{padding:28px 34px 60px!important}
}
