*,:before,:after{box-sizing:border-box}:root{--color-bg:#f4f6f9;--color-surface:#fff;--color-border:#dde3ea;--color-text:#1a2332;--color-text-muted:#5a6578;--color-primary:#1e4d8c;--color-primary-hover:#163a6b;--color-sidebar:#0f2744;--color-sidebar-text:#c8d4e3;--color-sidebar-active:#fff;--color-accent:#e8eef5;--shadow-sm:0 1px 2px #0f27440f;--shadow-md:0 4px 12px #0f274414;--radius:8px;--font-sans:"Segoe UI", system-ui, -apple-system, sans-serif}html,body,#root{min-height:100%;margin:0}body{font-family:var(--font-sans);color:var(--color-text);background:var(--color-bg);-webkit-font-smoothing:antialiased;font-size:15px;line-height:1.5}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.app-shell{min-height:100vh;display:flex}.sidebar{background:var(--color-sidebar);width:240px;color:var(--color-sidebar-text);flex-direction:column;flex-shrink:0;display:flex}.sidebar-brand{border-bottom:1px solid #ffffff14;padding:1.25rem 1.5rem}.sidebar-brand h1{color:#fff;letter-spacing:.02em;margin:0;font-size:1.1rem;font-weight:600}.sidebar-brand p{opacity:.7;margin:.25rem 0 0;font-size:.75rem}.sidebar-nav{flex-direction:column;flex:1;gap:.25rem;padding:1rem .75rem;display:flex}.nav-link{border-radius:6px;padding:.625rem .875rem;font-size:.9rem;transition:background .15s,color .15s;display:block}.nav-link:hover{color:#fff;background:#ffffff14}.nav-link.active{color:var(--color-sidebar-active);background:#ffffff24;font-weight:500}.main-area{flex-direction:column;flex:1;min-width:0;display:flex}.topbar{background:var(--color-surface);border-bottom:1px solid var(--color-border);box-shadow:var(--shadow-sm);justify-content:space-between;align-items:center;padding:.875rem 1.5rem;display:flex}.topbar-title{margin:0;font-size:1.05rem;font-weight:600}.topbar-user{color:var(--color-text-muted);font-size:.85rem}.topbar-actions{align-items:center;gap:.75rem;display:flex}.page-content{flex:1;padding:1.5rem}.page-header{margin-bottom:1.5rem}.page-header h2{margin:0 0 .35rem;font-size:1.5rem;font-weight:600}.page-header p{color:var(--color-text-muted);margin:0;font-size:.95rem}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:1.25rem 1.5rem}.card-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1rem;display:grid}.stat-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:1.25rem}.stat-card label{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:.35rem;font-size:.8rem;display:block}.stat-card span{color:var(--color-primary);font-size:1.75rem;font-weight:600}.placeholder-note{background:var(--color-accent);border-radius:var(--radius);color:var(--color-text-muted);margin-top:1rem;padding:.875rem 1rem;font-size:.9rem}.login-page{background:linear-gradient(145deg,#0f2744 0%,#1e4d8c 100%);justify-content:center;align-items:center;min-height:100vh;padding:1.5rem;display:flex}.login-card{background:var(--color-surface);border-radius:var(--radius);width:100%;max-width:400px;box-shadow:var(--shadow-md);padding:2rem}.login-card h1{color:var(--color-primary);margin:0 0 .25rem;font-size:1.5rem}.login-card .subtitle{color:var(--color-text-muted);margin:0 0 1.5rem;font-size:.9rem}.form-group{margin-bottom:1rem}.form-group label{margin-bottom:.35rem;font-size:.875rem;font-weight:500;display:block}.form-group input,.form-group select,.form-group textarea{border:1px solid var(--color-border);background:#fff;border-radius:6px;width:100%;padding:.625rem .75rem}.form-group textarea{resize:vertical;min-height:96px}.form-group input[type=color]{height:42px;padding:.25rem}.form-group small{color:var(--color-text-muted);margin-top:.35rem;font-size:.8rem;display:block}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:2px solid var(--color-primary);outline-offset:1px}.form-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem 1.25rem;display:grid}.form-section{margin-bottom:1rem}.form-section h3,.recent-tenants-card h3{margin:0 0 1rem;font-size:1rem}.checkbox-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.75rem 1rem;margin-top:.5rem;display:grid}.checkbox-grid label{color:var(--color-text);align-items:center;gap:.5rem;font-size:.9rem;display:flex}.tenant-setup-form{margin-bottom:1.5rem}.form-actions{justify-content:flex-end;margin:1rem 0 1.5rem;display:flex}.form-actions .btn-primary{width:auto}.alert{border-radius:var(--radius);margin:1rem 0;padding:.875rem 1rem;font-size:.9rem}.alert-success{color:#1f6b3b;background:#e9f7ef;border:1px solid #b8e3c9}.alert-error{color:#9a1f1f;background:#fdecec;border:1px solid #f4bcbc}.recent-tenants-card{margin-top:1rem}.help-hero{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.help-hero h3{margin:0 0 .35rem;font-size:1rem}.help-hero p{color:var(--color-text-muted);margin:0}.help-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1rem;display:grid}.help-card{flex-direction:column;gap:.75rem;display:flex}.help-card-header{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.help-card-header h3{margin:0;font-size:1rem}.help-card-header span{background:var(--color-accent);color:var(--color-text-muted);border-radius:999px;flex-shrink:0;padding:.2rem .5rem;font-size:.75rem}.help-card p,.help-card ol,.help-card ul{margin:0}.help-card h4{margin:.25rem 0 0;font-size:.9rem}.help-card li{margin-bottom:.35rem}@media (width<=720px){.help-hero{flex-direction:column;align-items:flex-start}}.btn{cursor:pointer;border:none;border-radius:6px;justify-content:center;align-items:center;padding:.625rem 1.25rem;font-weight:500;transition:background .15s;display:inline-flex}.btn-primary{background:var(--color-primary);color:#fff;width:100%}.btn-primary:hover{background:var(--color-primary-hover)}.btn-secondary{background:var(--color-accent);color:var(--color-text);border:1px solid var(--color-border)}.btn-small{padding:.375rem .75rem;font-size:.8rem}.table-placeholder{border-collapse:collapse;width:100%;margin-top:1rem}.table-placeholder th,.table-placeholder td{text-align:left;border-bottom:1px solid var(--color-border);padding:.75rem 1rem}.table-placeholder th{text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted);background:var(--color-accent);font-size:.8rem}.table-placeholder td{color:var(--color-text-muted);font-style:italic}
