@import url(https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=JetBrains+Mono:wght@500;700&display=swap);:root{--font-body:"Inter",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;--font-mono:"JetBrains Mono",ui-monospace,SFMono-Regular,Consolas,monospace;--space-0:0;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;--bg:#f8fafc;--bg-strong:#f1f5f9;--surface-hover:#f1f5f9;--ink:#0f172a;--ink-secondary:#1e293b;--muted:#475569;--subtle:#94a3b8;--subtlest:#cbd5e1;--line:#e2e8f0;--line-strong:#cbd5e1;--line-weak:#f1f5f9;--primary:#0d9488;--primary-hover:#0f766e;--primary-soft:#f0fdfa;--primary-muted:#0d948814;--blue:#2563eb;--blue-soft:#eff6ff;--blue-muted:#2563eb14;--coral:#ea580c;--coral-soft:#fff7ed;--amber:#d97706;--amber-soft:#fffbeb;--amber-muted:#d9770614;--violet:#7c3aed;--violet-soft:#f5f3ff;--success:#16a34a;--success-soft:#f0fdf4;--success-muted:#16a34a14;--danger:#dc2626;--danger-soft:#fef2f2;--danger-muted:#dc262614;--shadow-xs:0 1px 2px 0 #0000000a;--shadow-sm:0 1px 3px 0 #0000000d,0 1px 2px -1px #0000000d;--shadow-md:0 4px 6px -1px #0000000d,0 2px 4px -2px #0000000d;--shadow-lg:0 10px 15px -3px #0000000d,0 4px 6px -4px #0000000d;--shadow-xl:0 20px 25px -5px #0000000f,0 8px 10px -6px #0000000a;--shadow-glass:0 8px 32px 0 #00000014;--radius-sm:4px;--radius-full:9999px;--z-base:1;--z-dropdown:50;--z-sticky:100;--z-sidebar:200;--z-topbar:300;--z-modal-backdrop:400;--z-modal:500;--z-popover:600;--z-toast:700;--transition-fast:120ms cubic-bezier(0.4,0,0.2,1);--transition-base:200ms cubic-bezier(0.4,0,0.2,1);--transition-slow:300ms cubic-bezier(0.4,0,0.2,1);--transition-bounce:400ms cubic-bezier(0.34,1.56,0.64,1);--text-main:var(--ink);--text-muted:var(--muted);--border-color:var(--line);--bg-card:var(--surface);--accent-primary:var(--primary);--accent-secondary:var(--blue);--danger-bg:var(--danger-soft);--success-bg:var(--success-soft)}:root[data-theme=dark]{--bg:#090d16;--bg-strong:#0d1220;--bg-elevated:#121826;--surface:#121826;--surface-strong:#171e30;--surface-soft:#0d1220;--surface-hover:#1a2332;--ink:#f8fafc;--ink-secondary:#e2e8f0;--muted:#94a3b8;--subtle:#64748b;--subtlest:#475569;--line:#1e293b;--line-strong:#334155;--line-weak:#0f172a;--primary:#14b8a6;--primary-hover:#2dd4bf;--primary-soft:#14b8a61f;--primary-muted:#14b8a614;--blue:#3b82f6;--blue-soft:#3b82f61f;--blue-muted:#3b82f614;--coral:#f97316;--coral-soft:#f973161f;--amber:#f59e0b;--amber-soft:#f59e0b1f;--amber-muted:#f59e0b14;--violet:#8b5cf6;--violet-soft:#8b5cf61f;--success:#10b981;--success-soft:#10b9811f;--success-muted:#10b98114;--danger:#ef4444;--danger-soft:#ef44441f;--danger-muted:#ef444414;--shadow-xs:0 1px 2px 0 #0003;--shadow-sm:0 1px 3px 0 #00000040;--shadow-md:0 4px 6px -1px #0000004d,0 2px 4px -2px #00000040;--shadow-lg:0 10px 15px -3px #00000059,0 4px 6px -4px #0000004d;--shadow-xl:0 20px 25px -5px #0006,0 8px 10px -6px #0000004d;--shadow-glass:0 8px 32px 0 #0006}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f6f8fb;background:var(--bg);min-height:100%;text-rendering:optimizeLegibility}body{font-feature-settings:"cv02","cv03","cv04","cv11";background-color:#f6f8fb;background-color:var(--bg);color:#182230;color:var(--ink);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-family:var(--font-body);line-height:1.5;min-height:100vh}button,input,select,textarea{color:inherit;font:inherit}button{background:none;border:none;cursor:pointer;min-height:40px}button:disabled,input:disabled,select:disabled{cursor:not-allowed;opacity:.5}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{border-radius:6px;border-radius:var(--radius-sm);outline:2px solid #155eef;outline:2px solid var(--primary);outline-offset:2px}::selection{background:#155eef;background:var(--primary);color:#fff}::-webkit-scrollbar{height:5px;width:5px}::-webkit-scrollbar-track{background:#0000}::-webkit-scrollbar-thumb{background:#d0d5dd;background:var(--subtlest);border-radius:9999px;border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:#98a2b3;background:var(--subtle)}@keyframes fadeUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeScale{0%{opacity:0;transform:scale(.97)}to{opacity:1;transform:scale(1)}}@keyframes slideInRight{0%{opacity:0;transform:translateX(12px)}to{opacity:1;transform:translateX(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translateX(-12px)}to{opacity:1;transform:translateX(0)}}@keyframes spin{to{transform:rotate(1turn)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}@keyframes skeleton{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes shimmer{0%{transform:translateX(-100%)}to{transform:translateX(100%)}}@keyframes toastIn{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes toastOut{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(8px) scale(.98)}}@keyframes modalBackdropIn{0%{opacity:0}to{opacity:1}}@keyframes modalContentIn{0%{opacity:0;transform:translateY(-8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes progressFill{0%{width:0}}@keyframes dotBounce{0%,80%,to{transform:scale(0)}40%{transform:scale(1)}}.animate-fade-up{animation:fadeUp .35s cubic-bezier(.4,0,.2,1) both}.animate-fade-in{animation:fadeIn .25s ease both}.animate-scale-in{animation:fadeScale .3s cubic-bezier(.4,0,.2,1) both}.animate-slide-right{animation:slideInRight .3s cubic-bezier(.4,0,.2,1) both}.stagger-children>:first-child{animation-delay:0ms}.stagger-children>:nth-child(2){animation-delay:40ms}.stagger-children>:nth-child(3){animation-delay:80ms}.stagger-children>:nth-child(4){animation-delay:.12s}.stagger-children>:nth-child(5){animation-delay:.16s}.stagger-children>:nth-child(6){animation-delay:.2s}.app-shell{display:flex;height:100dvh;overflow:hidden;position:relative}.mobile-scrim{animation:fadeIn .2s ease;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#00000059;border:none;cursor:default;inset:0;min-height:auto;position:fixed;z-index:150}.sidebar{background:#fff;background:var(--surface);border-right:1px solid #e4e7ec;border-right:1px solid var(--line);display:flex;flex-direction:column;gap:20px;gap:var(--space-5);min-width:264px;padding:20px;padding:var(--space-5);position:relative;transition:transform .3s cubic-bezier(.4,0,.2,1);transition:transform var(--transition-slow);width:264px;z-index:200;z-index:var(--z-sidebar)}.sidebar-brand{align-items:center;border-bottom:1px solid #eef2f6;border-bottom:1px solid var(--line-weak);display:flex;gap:var(--space-3);padding-bottom:12px;padding-bottom:var(--space-3)}.sidebar-brand strong{color:#182230;color:var(--ink);font-size:1.05rem;font-weight:700;line-height:1.2}.sidebar-brand small{color:var(--subtle);display:block;font-size:.7rem;font-weight:500;letter-spacing:.02em;margin-top:1px}.brand-mark{align-items:center;background:linear-gradient(135deg,#155eef,#004eeb);background:linear-gradient(135deg,var(--primary) 0,var(--primary-hover) 100%);border-radius:var(--radius-md);box-shadow:0 2px 8px #0d948840;color:#fff;display:inline-flex;flex-shrink:0;justify-content:center}.brand-mark.large{border-radius:var(--radius-lg)}.owner-chip{align-items:center;background:#f8fafc;background:var(--surface-soft);border:1px solid #e4e7ec;border:1px solid var(--line);border-radius:var(--radius-md);display:flex;gap:12px;gap:var(--space-3);padding:12px;padding:var(--space-3)}.owner-chip span{color:#182230;color:var(--ink);display:block;font-size:.85rem;font-weight:600;line-height:1.3}.owner-chip small{color:var(--subtle);display:block;font-size:.7rem;margin-top:1px;max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav-list{display:flex;flex:1 1;flex-direction:column;gap:4px;gap:var(--space-1)}.nav-list button{align-items:center;background:#0000;border:1px solid #0000;border-radius:var(--radius);color:#667085;color:var(--muted);display:flex;font-size:.875rem;font-weight:500;gap:12px;gap:var(--space-3);min-height:40px;padding:8px 12px;padding:var(--space-2) var(--space-3);position:relative;text-align:left;transition:all .12s cubic-bezier(.4,0,.2,1);transition:all var(--transition-fast);width:100%}.nav-list button:hover{background:#f2f5f9;background:var(--surface-hover);color:#182230;color:var(--ink)}.nav-list button.active{background:#eff4ff;background:var(--primary-soft);color:#155eef;color:var(--primary)}.nav-list button.active:before{background:#155eef;background:var(--primary);border-radius:0 9999px 9999px 0;border-radius:0 var(--radius-full) var(--radius-full) 0;content:"";height:20px;left:0;position:absolute;top:50%;transform:translateY(-50%);width:3px}.nav-list button em{align-items:center;background:#d92d20;background:var(--danger);border-radius:9999px;border-radius:var(--radius-full);color:#fff;display:flex;font-size:.7rem;font-style:normal;font-weight:700;height:20px;justify-content:center;margin-left:auto;min-width:20px;padding:0 5px}.logout-button{align-items:center;background:#0000;border:1px solid #0000;border-radius:var(--radius);color:#d92d20;color:var(--danger);display:flex;font-size:.875rem;font-weight:500;gap:12px;gap:var(--space-3);min-height:40px;padding:8px 12px;padding:var(--space-2) var(--space-3);text-align:left;transition:all .12s cubic-bezier(.4,0,.2,1);transition:all var(--transition-fast);width:100%}.logout-button:hover{background:#fef3f2;background:var(--danger-soft)}.main-area{background:#eef2f7;background:var(--bg-strong);display:flex;flex:1 1;flex-direction:column;min-width:0}.topbar{align-items:center;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fff;background:var(--surface);background-color:#ffffffd9;border-bottom:1px solid #e4e7ec;border-bottom:1px solid var(--line);display:flex;gap:16px;gap:var(--space-4);justify-content:space-between;padding:12px 20px;padding:var(--space-3) var(--space-5);position:sticky;top:0;z-index:300;z-index:var(--z-topbar)}:root[data-theme=dark] .topbar{background-color:#121826d9}.topbar-left{gap:var(--space-3)}.topbar-left,.topbar-left h1{align-items:center;display:flex}.topbar-left h1{color:#182230;color:var(--ink);font-size:1rem;font-weight:600;gap:8px;gap:var(--space-2);letter-spacing:-.01em;margin:0}.topbar-left p{color:#98a2b3;color:var(--subtle);font-size:.75rem;font-weight:500;margin:0}.topbar-actions{align-items:center;display:flex;gap:8px;gap:var(--space-2)}.page-content{flex:1 1;overflow-y:auto;padding:20px;padding:var(--space-5)}.page-stack{display:flex;flex-direction:column;gap:20px;gap:var(--space-5);margin:0 auto;max-width:1280px;padding-bottom:var(--space-8);width:100%}.metric-grid{grid-gap:16px;grid-gap:var(--space-4);display:grid;gap:var(--space-4);grid-template-columns:repeat(6,1fr)}.metric-tile{background:#fff;background:var(--surface);border:1px solid #e4e7ec;border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:0 1px 3px #10182814,0 1px 2px #10182808;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:12px;gap:var(--space-3);overflow:hidden;padding:20px;padding:var(--space-5);position:relative;transition:transform .2s cubic-bezier(.4,0,.2,1),box-shadow .2s cubic-bezier(.4,0,.2,1);transition:transform var(--transition-base),box-shadow var(--transition-base)}.metric-tile:after{background:#155eef;background:var(--primary);content:"";height:2px;left:0;opacity:0;position:absolute;right:0;top:0;transition:opacity .2s cubic-bezier(.4,0,.2,1);transition:opacity var(--transition-base)}.metric-tile:hover:after{opacity:1}.metric-tile>span{align-items:center;background:#eff4ff;background:var(--primary-soft);border-radius:10px;border-radius:var(--radius-md);color:#155eef;color:var(--primary);display:inline-flex;flex-shrink:0;height:36px;justify-content:center;width:36px}.metric-tile strong{color:#182230;color:var(--ink);display:block;font-weight:700;letter-spacing:-.02em;line-height:1.2}.metric-tile p{color:#98a2b3;color:var(--subtle);font-weight:600;letter-spacing:.06em;margin:0;text-transform:uppercase}.metric-tile .metric-change{color:#039855;color:var(--success);font-size:.75rem;font-weight:600;margin-top:auto}.metric-success>span{background:#ecfdf3;background:var(--success-soft);color:#039855;color:var(--success)}.metric-warning>span{background:#fffaeb;background:var(--amber-soft);color:#dc6803;color:var(--amber)}.metric-danger>span{background:#fef3f2;background:var(--danger-soft);color:#d92d20;color:var(--danger)}.metric-blue>span{background:#eff4ff;background:var(--blue-soft);color:#2970ff;color:var(--blue)}.metric-violet>span{background:#f4f3ff;background:var(--violet-soft);color:#6938ef;color:var(--violet)}.split-grid{grid-gap:20px;grid-gap:var(--space-5);display:grid;gap:var(--space-5);grid-template-columns:repeat(12,1fr)}.span-7{grid-column:span 7}.span-5{grid-column:span 5}.span-8{grid-column:span 8}.span-4{grid-column:span 4}.span-6{grid-column:span 6}.span-12{grid-column:span 12}.surface{background:#fff;background:var(--surface);border:1px solid #e4e7ec;border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:0 1px 3px #10182814,0 1px 2px #10182808;box-shadow:var(--shadow-sm);padding:20px;padding:var(--space-5);transition:box-shadow .2s cubic-bezier(.4,0,.2,1);transition:box-shadow var(--transition-base)}.surface:hover{box-shadow:0 4px 10px #10182814,0 2px 4px #1018280a;box-shadow:var(--shadow-md)}.surface-header{align-items:center;border-bottom:1px solid #eef2f6;border-bottom:1px solid var(--line-weak);display:flex;gap:16px;gap:var(--space-4);justify-content:space-between;margin-bottom:20px;margin-bottom:var(--space-5);padding-bottom:16px;padding-bottom:var(--space-4)}.surface-header h2{color:#182230;color:var(--ink);font-size:1rem;font-weight:600;letter-spacing:-.01em}.section-head{align-items:center;display:flex;gap:16px;gap:var(--space-4);justify-content:space-between;margin-bottom:20px;margin-bottom:var(--space-5)}.section-head h2{color:#182230;color:var(--ink);font-size:1rem;font-weight:600;letter-spacing:-.01em}.eyebrow{color:#98a2b3;color:var(--subtle);font-size:.7rem;font-weight:600;letter-spacing:.06em;margin-bottom:2px;text-transform:uppercase}.tag{align-items:center;background:#eef2f7;background:var(--bg-strong);border:1px solid #0000;border-radius:9999px;border-radius:var(--radius-full);color:#667085;color:var(--muted);display:inline-flex;gap:4px;gap:var(--space-1);letter-spacing:.02em;padding:3px 10px;white-space:nowrap}.tag-success{background:#ecfdf3;background:var(--success-soft);border-color:#16a34a1f;color:#039855;color:var(--success)}.tag-warning{background:#fffaeb;background:var(--amber-soft);border-color:#d977061f;color:#dc6803;color:var(--amber)}.tag-danger{background:#fef3f2;background:var(--danger-soft);border-color:#dc26261f;color:#d92d20;color:var(--danger)}.tag-neutral{background:#eef2f7;background:var(--bg-strong);border-color:#e4e7ec;border-color:var(--line);color:#667085;color:var(--muted)}.tag-blue{background:#eff4ff;background:var(--blue-soft);border-color:#2563eb1f;color:#2970ff;color:var(--blue)}.tag-ghost{background:#0000;border-color:#e4e7ec;border-color:var(--line);color:#98a2b3;color:var(--subtle)}.progress{background:#e4e7ec;background:var(--line);border-radius:9999px;border-radius:var(--radius-full);height:6px;width:100%}.progress span{background:linear-gradient(90deg,#155eef,#004eeb);background:linear-gradient(90deg,var(--primary) 0,var(--primary-hover) 100%);display:block;height:100%;overflow:hidden;position:relative;transition:width .6s cubic-bezier(.4,0,.2,1)}.progress span:after{animation:shimmer 2s infinite;background:linear-gradient(90deg,#0000,#fff3,#0000);content:"";inset:0;position:absolute}.mini-grid{grid-gap:12px;grid-gap:var(--space-3);display:grid;gap:12px;gap:var(--space-3);grid-template-columns:repeat(3,1fr);margin-top:20px;margin-top:var(--space-5)}.mini-grid span{background:#f8fafc;background:var(--surface-soft);border:1px solid #e4e7ec;border:1px solid var(--line);border-radius:8px;border-radius:var(--radius);color:#667085;color:var(--muted);font-size:.8rem;padding:12px;padding:var(--space-3)}.mini-grid strong{color:#182230;color:var(--ink);display:block;font-size:.95rem;margin-top:2px}.compact-list{display:flex;flex-direction:column;gap:8px;gap:var(--space-2)}.compact-row{align-items:center;background:#f8fafc;background:var(--surface-soft);border-radius:8px;border-radius:var(--radius);display:flex;gap:12px;gap:var(--space-3);padding:12px;padding:var(--space-3);transition:all .12s cubic-bezier(.4,0,.2,1);transition:all var(--transition-fast)}.compact-row:hover{background:#fff;background:var(--surface);border-color:#d0d5dd;border-color:var(--line-strong);transform:translateX(2px)}.compact-row strong{color:#182230;color:var(--ink);font-size:.875rem;font-weight:600}.compact-row p{font-size:.8rem;margin:2px 0 0}.compact-row p,.empty-state{color:#667085;color:var(--muted)}.empty-state{display:flex;flex-direction:column;padding:48px 20px;padding:var(--space-12) var(--space-5);text-align:center}.empty-icon,.empty-state{align-items:center;justify-content:center}.empty-icon{background:#f8fafc;background:var(--surface-soft);border:1px solid #e4e7ec;border:1px solid var(--line);border-radius:16px;border-radius:var(--radius-xl);color:#98a2b3;color:var(--subtle);display:inline-flex;font-size:1.75rem;height:56px;margin-bottom:16px;margin-bottom:var(--space-4);width:56px}.empty-state strong{font-size:1.05rem;font-weight:600;margin-bottom:4px;margin-bottom:var(--space-1)}.empty-state p{color:#98a2b3;color:var(--subtle);font-size:.875rem;margin:0}.empty-state .empty-action{margin-top:16px;margin-top:var(--space-4)}.table-wrap{background:#fff;background:var(--surface);border-radius:12px;border-radius:var(--radius-lg);overflow-x:auto;width:100%}.table-toolbar{align-items:center;background:#f8fafc;background:var(--surface-soft);border-bottom:1px solid #e4e7ec;border-bottom:1px solid var(--line);display:flex;flex-wrap:wrap;gap:12px;gap:var(--space-3);justify-content:space-between;padding:12px 16px;padding:var(--space-3) var(--space-4)}.table-search{flex:1 1;max-width:320px;position:relative}.table-search input{background:#fff;background:var(--surface);border:1px solid #e4e7ec;border:1px solid var(--line);border-radius:8px;border-radius:var(--radius);color:#182230;color:var(--ink);font-size:.85rem;padding:8px 12px 8px 36px;padding:var(--space-2) var(--space-3) var(--space-2) 36px;transition:all .12s cubic-bezier(.4,0,.2,1);transition:all var(--transition-fast);width:100%}.table-search input:focus{border-color:#155eef;border-color:var(--primary);box-shadow:0 0 0 3px #0d94881a;outline:none}.table-search svg{color:#98a2b3;color:var(--subtle);left:10px;pointer-events:none;position:absolute;top:50%;transform:translateY(-50%)}.data-table{border-collapse:initial;border-spacing:0;font-size:.875rem;text-align:left;width:100%}.data-table thead{position:sticky;top:0;z-index:10}.data-table th{border-bottom:1px solid #e4e7ec;border-bottom:1px solid var(--line);color:#98a2b3;color:var(--subtle);font-size:.7rem;font-weight:600;letter-spacing:.06em;padding:12px 16px;padding:var(--space-3) var(--space-4);position:relative;white-space:nowrap}.data-table th:first-child{border-top-left-radius:12px;border-top-left-radius:var(--radius-lg)}.data-table th:last-child{border-top-right-radius:12px;border-top-right-radius:var(--radius-lg)}.data-table td{border-bottom:1px solid #eef2f6;border-bottom:1px solid var(--line-weak);color:#182230;color:var(--ink);padding:12px 16px;padding:var(--space-3) var(--space-4);transition:background .12s cubic-bezier(.4,0,.2,1);transition:background var(--transition-fast);vertical-align:middle}.data-table tbody tr:hover td{background:#f8fafc;background:var(--surface-soft)}.data-table tbody tr:last-child td{border-bottom:none}.data-table tbody tr:last-child td:first-child{border-bottom-left-radius:12px;border-bottom-left-radius:var(--radius-lg)}.data-table tbody tr:last-child td:last-child{border-bottom-right-radius:12px;border-bottom-right-radius:var(--radius-lg)}.table-pagination{align-items:center;background:#f8fafc;background:var(--surface-soft);border-top:1px solid #e4e7ec;border-top:1px solid var(--line);display:flex;gap:12px;gap:var(--space-3);justify-content:space-between;padding:12px 16px;padding:var(--space-3) var(--space-4)}.pagination-info{color:#98a2b3;color:var(--subtle);font-size:.8rem}.pagination-controls{align-items:center;display:flex;gap:4px;gap:var(--space-1)}.pagination-btn{background:#fff;background:var(--surface);border:1px solid #e4e7ec;border:1px solid var(--line);border-radius:8px;border-radius:var(--radius);color:#667085;color:var(--muted);font-size:.8rem;font-weight:500;min-height:32px;padding:0 12px;padding:0 var(--space-3);transition:all .12s cubic-bezier(.4,0,.2,1);transition:all var(--transition-fast)}.pagination-btn:hover:not(:disabled){background:#f2f5f9;background:var(--surface-hover);border-color:#d0d5dd;border-color:var(--line-strong);color:#182230;color:var(--ink)}.pagination-btn.active{background:#155eef;background:var(--primary);border-color:#155eef;border-color:var(--primary);color:#fff}.pagination-btn:disabled{opacity:.4}.field{display:flex;flex-direction:column;gap:4px;gap:var(--space-1)}.field label{color:#667085;color:var(--muted);font-size:.7rem;letter-spacing:.06em;text-transform:uppercase}.app-input,.app-select,.app-textarea{border:1px solid #d0d5dd;border:1px solid var(--line-strong);border-radius:var(--radius);color:#182230;color:var(--ink);font-size:.875rem;padding:8px 12px;padding:var(--space-2) var(--space-3);transition:all .12s cubic-bezier(.4,0,.2,1);transition:all var(--transition-fast);width:100%}.app-input::placeholder,.app-textarea::placeholder{color:#98a2b3;color:var(--subtle)}.app-input:hover,.app-select:hover,.app-textarea:hover{border-color:var(--subtle)}.app-input:focus,.app-select:focus,.app-textarea:focus{box-shadow:0 0 0 3px #0d94881f;outline:none}.app-input[readonly]{cursor:not-allowed}.app-textarea{min-height:80px;resize:vertical}.field-floating{position:relative}.field-floating input,.field-floating select{padding-bottom:4px;padding-bottom:var(--space-1);padding-top:16px;padding-top:var(--space-4)}.field-floating label{color:#98a2b3;color:var(--subtle);font-size:.875rem;font-weight:400;left:12px;left:var(--space-3);letter-spacing:normal;pointer-events:none;position:absolute;text-transform:none;top:50%;transform:translateY(-50%);transition:all .12s cubic-bezier(.4,0,.2,1);transition:all var(--transition-fast)}.field-floating input:focus+label,.field-floating input:not(:placeholder-shown)+label,.field-floating select:focus+label,.field-floating select:valid+label{color:#155eef;color:var(--primary);font-size:.65rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;top:8px;top:var(--space-2);transform:translateY(0)}.app-input.error,.app-select.error,.app-textarea.error{border-color:#d92d20;border-color:var(--danger);box-shadow:0 0 0 3px #dc26261a}.field-error{align-items:center;color:#d92d20;color:var(--danger);display:flex;font-size:.75rem;font-weight:500;gap:4px;gap:var(--space-1)}.btn-primary{align-items:center;background:linear-gradient(135deg,#155eef,#004eeb);background:linear-gradient(135deg,var(--primary) 0,var(--primary-hover) 100%);border:1px solid #0000;border-radius:8px;border-radius:var(--radius);box-shadow:0 1px 3px #0d948833;color:#fff;display:inline-flex;font-size:.875rem;font-weight:600;gap:8px;gap:var(--space-2);justify-content:center;padding:8px 16px;padding:var(--space-2) var(--space-4);transition:all .12s cubic-bezier(.4,0,.2,1);transition:all var(--transition-fast)}.btn-primary:hover:not(:disabled){box-shadow:0 4px 12px #0d94884d;transform:translateY(-1px)}.btn-primary:active:not(:disabled){transform:translateY(0)}.btn-outline{align-items:center;background:#fff;background:var(--surface);border:1px solid #d0d5dd;border:1px solid var(--line-strong);border-radius:8px;border-radius:var(--radius);color:#182230;color:var(--ink);display:inline-flex;font-size:.875rem;font-weight:600;gap:8px;gap:var(--space-2);justify-content:center;padding:8px 16px;padding:var(--space-2) var(--space-4);transition:all .12s cubic-bezier(.4,0,.2,1);transition:all var(--transition-fast)}.btn-outline:hover:not(:disabled){background:#f2f5f9;background:var(--surface-hover);border-color:#98a2b3;border-color:var(--subtle)}.btn-danger{align-items:center;border:1px solid #d92d20;border:1px solid var(--danger);border-radius:var(--radius);color:#fff;display:inline-flex;font-size:.875rem;font-weight:600;gap:8px;gap:var(--space-2);justify-content:center;padding:8px 16px;padding:var(--space-2) var(--space-4);transition:all .12s cubic-bezier(.4,0,.2,1);transition:all var(--transition-fast)}.btn-danger:hover:not(:disabled){background:#b91c1c;border-color:#b91c1c;box-shadow:0 4px 12px #dc262640;transform:translateY(-1px)}.btn-sms{align-items:center;background:var(--violet);border:1px solid #6938ef;border:1px solid var(--violet);border-radius:var(--radius);color:#fff;display:inline-flex;font-size:.875rem;font-weight:600;gap:8px;gap:var(--space-2);justify-content:center;padding:8px 16px;padding:var(--space-2) var(--space-4);transition:all .12s cubic-bezier(.4,0,.2,1);transition:all var(--transition-fast)}.btn-sms:hover:not(:disabled){background:#6d28d9;border-color:#6d28d9;box-shadow:0 4px 12px #7c3aed40;transform:translateY(-1px)}.btn-ghost{align-items:center;background:#0000;border:1px solid #0000;border-radius:8px;border-radius:var(--radius);color:#667085;color:var(--muted);display:inline-flex;font-size:.875rem;font-weight:500;gap:8px;gap:var(--space-2);justify-content:center;padding:8px 12px;padding:var(--space-2) var(--space-3);transition:all .12s cubic-bezier(.4,0,.2,1);transition:all var(--transition-fast)}.btn-ghost:hover:not(:disabled){background:#f2f5f9;background:var(--surface-hover);color:#182230;color:var(--ink)}.btn-sm{border-radius:6px;border-radius:var(--radius-sm);font-size:.75rem;min-height:30px;padding:4px 8px;padding:var(--space-1) var(--space-2)}.icon-button{background:#0000;border:1px solid #0000;border-radius:var(--radius);color:#667085;color:var(--muted);display:inline-flex;transition:all .12s cubic-bezier(.4,0,.2,1);transition:all var(--transition-fast)}.icon-button,.modal-backdrop{align-items:center;justify-content:center}.modal-backdrop{animation:modalBackdropIn .2s ease-out;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#00000059;display:flex;inset:0;padding:20px;padding:var(--space-5);position:fixed;z-index:400;z-index:var(--z-modal-backdrop)}.modal{animation:modalContentIn .25s cubic-bezier(.4,0,.2,1);background:#fff;background:var(--surface);border:1px solid #e4e7ec;border:1px solid var(--line);border-radius:16px;border-radius:var(--radius-xl);box-shadow:0 8px 32px 0 #00000014;box-shadow:var(--shadow-glass);display:flex;flex-direction:column;gap:20px;gap:var(--space-5);max-width:480px;padding:var(--space-6);width:100%}.modal-lg{max-width:680px}.modal-header{align-items:center;display:flex;gap:16px;gap:var(--space-4);justify-content:space-between}.modal-header h2{color:#182230;color:var(--ink);font-size:1.1rem;font-weight:600;letter-spacing:-.01em}.modal-form{display:flex;flex-direction:column;gap:16px;gap:var(--space-4)}.button-row{align-items:center;justify-content:flex-end;margin-top:8px;margin-top:var(--space-2)}.button-row,.toast-stack{display:flex;gap:8px;gap:var(--space-2)}.toast-stack{bottom:20px;bottom:var(--space-5);flex-direction:column;max-width:calc(100vw - 24px);max-width:calc(100vw - var(--space-6));position:fixed;right:20px;right:var(--space-5);width:360px;z-index:700;z-index:var(--z-toast)}.toast{align-items:flex-start;animation:toastIn .25s cubic-bezier(.4,0,.2,1);background:#fff;background:var(--surface);border:1px solid #e4e7ec;border:1px solid var(--line);border-radius:12px;border-radius:var(--radius-lg);color:#182230;color:var(--ink);display:flex;font-size:.875rem;font-weight:500;gap:12px;gap:var(--space-3);padding:12px 16px;padding:var(--space-3) var(--space-4)}.toast-exit{animation:toastOut .2s ease forwards}.toast-success{border-left:3px solid #039855;border-left:3px solid var(--success)}.toast-error{border-left:3px solid #d92d20;border-left:3px solid var(--danger)}.toast-info{border-left:3px solid #2970ff;border-left:3px solid var(--blue)}.toast-warning{border-left:3px solid #dc6803;border-left:3px solid var(--amber)}.avatar{align-items:center;background:linear-gradient(135deg,#155eef,#2970ff);background:linear-gradient(135deg,var(--primary) 0,var(--blue) 100%);border-radius:9999px;border-radius:var(--radius-full);color:#fff;display:inline-flex;flex-shrink:0;font-weight:700;justify-content:center;letter-spacing:-.02em;-webkit-user-select:none;user-select:none}.avatar-sm{font-size:.7rem;height:32px;width:32px}.avatar-md{font-size:.85rem;height:40px;width:40px}.avatar-lg{font-size:1.1rem;height:56px;width:56px}.loader{animation:spin .8s linear infinite;border:2.5px solid #e4e7ec;border-top-color:#155eef;border:2.5px solid var(--line);border-radius:50%;border-top-color:var(--primary);height:24px;width:24px}.loader.small{border-width:2px;height:16px;width:16px}.loader.large{border-width:3px;height:40px;width:40px}.skeleton-tile{animation:skeleton 1.5s ease-in-out infinite;background:linear-gradient(90deg,#e4e7ec 25%,#d0d5dd 50%,#e4e7ec 75%);background:linear-gradient(90deg,var(--line) 25%,var(--line-strong) 50%,var(--line) 75%);background-size:200% 100%}.skeleton-pulse,.skeleton-tile{border-radius:8px;border-radius:var(--radius)}.skeleton-pulse{animation:pulse 1.5s ease-in-out infinite;background:#e4e7ec;background:var(--line)}.loading-dots{align-items:center;display:flex;gap:4px}.loading-dots span{animation:dotBounce 1.4s ease-in-out infinite both;background:#98a2b3;background:var(--subtle);border-radius:50%;height:6px;width:6px}.loading-dots span:first-child{animation-delay:-.32s}.loading-dots span:nth-child(2){animation-delay:-.16s}.house-card{align-items:center;background:#fff;background:var(--surface);border:1px solid #e4e7ec;border:1px solid var(--line);border-radius:12px;border-radius:var(--radius-lg);box-shadow:0 1px 2px #1018280d;box-shadow:var(--shadow-xs);display:flex;gap:16px;gap:var(--space-4);justify-content:space-between;padding:var(--space-4);transition:all .2s cubic-bezier(.4,0,.2,1);transition:all var(--transition-base)}.house-card:hover{border-color:#d0d5dd;border-color:var(--line-strong);box-shadow:0 4px 10px #10182814,0 2px 4px #1018280a;box-shadow:var(--shadow-md);transform:translateY(-1px)}.tenant-card{background:#fff;background:var(--surface);border:1px solid #e4e7ec;border:1px solid var(--line);border-radius:12px;border-radius:var(--radius-lg);box-shadow:0 1px 2px #1018280d;box-shadow:var(--shadow-xs);display:flex;flex-direction:column;gap:16px;gap:var(--space-4);padding:var(--space-5);transition:all .2s cubic-bezier(.4,0,.2,1);transition:all var(--transition-base)}.tenant-card:hover{border-color:#d0d5dd;border-color:var(--line-strong);box-shadow:0 4px 10px #10182814,0 2px 4px #1018280a;box-shadow:var(--shadow-md)}.auth-screen{align-items:center;background:linear-gradient(135deg,#f6f8fb,#f8fafc 50%,#eef2f7);background:linear-gradient(135deg,var(--bg) 0,var(--surface-soft) 50%,var(--bg-strong) 100%);display:flex;flex-direction:column;justify-content:center;min-height:100dvh;overflow:hidden;padding:20px;padding:var(--space-5);position:relative}.auth-screen:before{background:radial-gradient(circle,#155eef1a 0,#0000 70%);background:radial-gradient(circle,var(--primary-muted) 0,#0000 70%);opacity:.6;right:-20%;top:-50%}.auth-screen:after,.auth-screen:before{content:"";pointer-events:none;position:absolute}.auth-screen:after{background:radial-gradient(circle,#2563eb14 0,#0000 70%);background:radial-gradient(circle,var(--blue-muted) 0,#0000 70%);bottom:-30%;height:500px;left:-10%;opacity:.4;width:500px}.auth-layout{grid-gap:48px;grid-gap:var(--space-12);align-items:center;display:grid;gap:48px;gap:var(--space-12);grid-template-columns:1fr 1fr;max-width:1000px;position:relative;width:100%;z-index:1}.auth-story{display:flex;flex-direction:column;gap:20px;gap:var(--space-5)}.auth-story h1{color:#182230;color:var(--ink);font-size:2.25rem;font-weight:800;letter-spacing:-.03em;line-height:1.15}.auth-story p{color:#667085;color:var(--muted);font-size:1rem;line-height:1.6;max-width:400px}.auth-stats{display:flex;flex-wrap:wrap;gap:12px;gap:var(--space-3);margin-top:8px;margin-top:var(--space-2)}.auth-stats span{align-items:center;border:1px solid #e4e7ec;border:1px solid var(--line);border-radius:9999px;border-radius:var(--radius-full);color:#667085;color:var(--muted);display:inline-flex;font-size:.8rem;font-weight:500;gap:8px;gap:var(--space-2);padding:8px 12px;padding:var(--space-2) var(--space-3)}.auth-card,.auth-stats span{background:#fff;background:var(--surface)}.auth-card{border:1px solid #e4e7ec;border:1px solid var(--line);border-radius:var(--radius-xl);gap:20px;gap:var(--space-5);padding:32px;padding:var(--space-8)}.auth-card,.auth-form{display:flex;flex-direction:column}.auth-form{align-items:center;gap:16px;gap:var(--space-4);text-align:center}.auth-form h2{color:#182230;color:var(--ink);font-size:1.25rem;font-weight:700;margin:0}.auth-form p{color:#667085;color:var(--muted);font-size:.875rem;margin:0}.mini-mark{align-items:center;background:#eff4ff;background:var(--primary-soft);border-radius:12px;border-radius:var(--radius-lg);color:#155eef;color:var(--primary);display:inline-flex;height:48px;justify-content:center;width:48px}.legal-links{display:flex;gap:16px;gap:var(--space-4);justify-content:center}.legal-links button{background:none;border:none;color:#98a2b3;color:var(--subtle);cursor:pointer;font-size:.8rem;min-height:auto;padding:0;transition:color .12s cubic-bezier(.4,0,.2,1);transition:color var(--transition-fast)}.legal-links button:hover{color:#155eef;color:var(--primary)}.floating-theme{position:absolute;right:16px;right:var(--space-4);top:16px;top:var(--space-4);z-index:10}.chart-container{height:280px;position:relative;width:100%}.chart-container-sm{height:200px}@media (max-width:1200px){.metric-grid{grid-template-columns:repeat(3,1fr)}.split-grid{grid-template-columns:1fr}.span-4,.span-5,.span-6,.span-7,.span-8{grid-column:span 1}}@media (max-width:980px){.sidebar{bottom:0;left:0;position:fixed;top:0;transform:translateX(-100%);z-index:200}.sidebar.open{transform:translateX(0)}.metric-grid{grid-template-columns:repeat(2,1fr)}.auth-layout{gap:32px;gap:var(--space-8);grid-template-columns:1fr}.auth-story{align-items:center;text-align:center}.auth-story h1{font-size:1.75rem}.auth-story p{max-width:none}}@media (max-width:640px){.page-content{padding:16px;padding:var(--space-4)}.metric-grid{gap:12px;gap:var(--space-3);grid-template-columns:1fr 1fr}.metric-tile{padding:16px;padding:var(--space-4)}.metric-tile strong{font-size:1.1rem}.surface{padding:16px;padding:var(--space-4)}.table-toolbar{align-items:stretch;flex-direction:column}.table-search{max-width:none}.house-card{align-items:flex-start;flex-direction:column}.topbar{padding:8px 12px;padding:var(--space-2) var(--space-3)}.auth-card{padding:24px 16px;padding:var(--space-6) var(--space-4)}.toast-stack{left:16px;left:var(--space-4);right:16px;right:var(--space-4);width:auto}.modal{border-radius:12px;border-radius:var(--radius-lg);padding:20px 16px;padding:var(--space-5) var(--space-4)}}@media (max-width:400px){.metric-grid{grid-template-columns:1fr}.auth-story h1{font-size:1.5rem}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}:root{--bg:#f6f8fb;--bg-strong:#eef2f7;--bg-elevated:#fff;--surface:#fff;--surface-strong:#fff;--surface-soft:#f8fafc;--surface-hover:#f2f5f9;--ink:#182230;--ink-secondary:#344054;--muted:#667085;--subtle:#98a2b3;--subtlest:#d0d5dd;--line:#e4e7ec;--line-strong:#d0d5dd;--line-weak:#eef2f6;--primary:#155eef;--primary-hover:#004eeb;--primary-soft:#eff4ff;--primary-muted:#155eef1a;--blue:#2970ff;--blue-soft:#eff4ff;--amber:#dc6803;--amber-soft:#fffaeb;--success:#039855;--success-soft:#ecfdf3;--danger:#d92d20;--danger-soft:#fef3f2;--violet:#6938ef;--violet-soft:#f4f3ff;--radius-sm:6px;--radius:8px;--radius-md:10px;--radius-lg:12px;--radius-xl:16px;--shadow-xs:0 1px 2px #1018280d;--shadow-sm:0 1px 3px #10182814,0 1px 2px #10182808;--shadow-md:0 4px 10px #10182814,0 2px 4px #1018280a;--shadow-lg:0 12px 24px #1018281a,0 4px 8px #1018280a}:root[data-theme=dark]{--bg:#101828;--bg-strong:#0b1220;--bg-elevated:#182230;--surface:#182230;--surface-strong:#1d2939;--surface-soft:#101828;--surface-hover:#253247;--ink:#f9fafb;--ink-secondary:#eaecf0;--muted:#98a2b3;--subtle:#667085;--subtlest:#475467;--line:#344054;--line-strong:#475467;--line-weak:#253247;--primary:#84adff;--primary-hover:#b2ccff;--primary-soft:#84adff1f;--primary-muted:#84adff1f;--blue:#84adff;--blue-soft:#84adff1f;--amber:#fec84b;--amber-soft:#fec84b1f;--success:#6ce9a6;--success-soft:#6ce9a61f;--danger:#fda29b;--danger-soft:#fda29b1f;--violet:#bdb4fe;--violet-soft:#bdb4fe1f}body{letter-spacing:-.005em}button,input,select,textarea{letter-spacing:inherit}button{min-height:38px}.app-shell{background:#f6f8fb;background:var(--bg)}.sidebar{background:#101828;border-right:1px solid #243148;color:#d0d5dd;gap:18px;min-width:272px;padding:20px 14px 16px;width:272px}.sidebar-brand{border-bottom-color:#ffffff17;gap:12px;padding:4px 8px 20px}.sidebar-brand strong{color:#f9fafb;font-size:.94rem;letter-spacing:-.015em}.sidebar-brand small{color:#98a2b3;font-size:.69rem;letter-spacing:.04em;text-transform:uppercase}.brand-mark{background:#2970ff;border-radius:10px;box-shadow:0 6px 14px #2970ff3d;height:38px;width:38px}.brand-mark.large{border-radius:12px;height:48px;width:48px}.owner-chip{background:hsla(0,0%,100%,.045);border-color:#ffffff17;border-radius:10px;gap:10px;padding:10px}.owner-chip span{color:#f2f4f7;font-size:.8rem}.owner-chip small{color:#98a2b3;max-width:164px}.nav-list{gap:3px}.nav-list button{border-radius:8px;color:#98a2b3;font-size:.84rem;min-height:42px;padding:9px 12px}.nav-list button:hover{background:#ffffff12;color:#f2f4f7}.nav-list button.active{background:#1d3b7a;color:#fff;font-weight:600}.nav-list button.active:before{display:none}.nav-list button em{background:#f04438;font-size:.65rem;height:18px;min-width:18px}.logout-button{border-radius:8px;color:#fda29b;margin-top:auto;min-height:42px;padding:9px 12px}.logout-button:hover{background:#f0443821;color:#fecdca}.main-area{background:#f6f8fb;background:var(--bg)}.topbar{background:color-mix(in srgb,#fff 92%,#0000);background:color-mix(in srgb,var(--surface) 92%,#0000);border-bottom-color:#e4e7ec;border-bottom-color:var(--line);box-shadow:0 1px 0 #10182805;min-height:68px;padding:12px 28px}.topbar-left{gap:12px}.topbar-left h1{font-size:.96rem;font-weight:650}.topbar-left p{color:#667085;color:var(--muted);font-size:.72rem;margin-top:2px}.topbar-actions{gap:6px}.topbar-actions .avatar{margin-left:4px}.page-content{padding:28px}.page-stack{gap:24px;max-width:1440px;padding-bottom:32px}.icon-button{border-radius:8px;height:36px;width:36px}.icon-button:hover{background:#f2f5f9;background:var(--surface-hover);border-color:#e4e7ec;border-color:var(--line);color:#182230;color:var(--ink)}.avatar{background:#2970ff;box-shadow:inset 0 0 0 1px #ffffff29}.metric-grid{gap:16px;grid-template-columns:repeat(3,minmax(0,1fr))}.metric-tile{border-radius:12px;box-shadow:0 1px 2px #1018280d;box-shadow:var(--shadow-xs);gap:15px;min-height:136px;padding:18px}.metric-tile:after{height:0}.metric-tile:hover{border-color:#d0d5dd;border-color:var(--line-strong);box-shadow:0 4px 10px #10182814,0 2px 4px #1018280a;box-shadow:var(--shadow-md);transform:translateY(-2px)}.metric-tile>span{border-radius:9px;height:38px;width:38px}.metric-tile strong{font-size:1.35rem;letter-spacing:-.035em}.metric-tile p{color:#667085;color:var(--muted);font-size:.7rem;letter-spacing:.055em}.metric-tile .metric-change{font-size:.72rem}.split-grid{gap:20px}.surface{border-radius:12px;padding:22px}.surface,.surface:hover{box-shadow:0 1px 2px #1018280d;box-shadow:var(--shadow-xs)}.section-head,.surface-header{border-bottom-color:#eef2f6;border-bottom-color:var(--line-weak);margin-bottom:20px;padding-bottom:16px}.section-head h2,.surface-header h2{font-size:.98rem;font-weight:650;letter-spacing:-.015em}.eyebrow{color:#155eef;color:var(--primary);font-size:.68rem;font-weight:700;letter-spacing:.08em}.tag{border-radius:999px;font-size:.7rem;font-weight:600;letter-spacing:.01em;min-height:24px;padding:3px 8px}.tag-neutral{background:#f2f4f7;border-color:#eaecf0;color:#475467}:root[data-theme=dark] .tag-neutral{background:#344054;border-color:#475467;color:#d0d5dd}.btn-primary,.button-primary{background:#155eef;background:var(--primary);border-radius:8px;box-shadow:0 1px 2px #1018281f;font-size:.82rem;min-height:38px;padding:8px 14px}.btn-primary:hover:not(:disabled),.button-primary:hover:not(:disabled){background:#004eeb;background:var(--primary-hover);box-shadow:0 3px 8px #155eef3b;transform:translateY(-1px)}.btn-outline,.button-secondary{background:#fff;background:var(--surface);border-color:#d0d5dd;border-color:var(--line-strong);border-radius:8px;box-shadow:0 1px 2px #1018280d;box-shadow:var(--shadow-xs);color:#344054;color:var(--ink-secondary);font-size:.82rem;min-height:38px;padding:8px 14px}.btn-outline:hover:not(:disabled),.button-secondary:hover:not(:disabled){background:#f2f5f9;background:var(--surface-hover);border-color:#98a2b3;border-color:var(--subtle)}.btn-danger{background:#d92d20;background:var(--danger)}.btn-danger,.btn-sms{border-radius:8px;min-height:38px}.btn-sms{background:#6938ef;border-color:#6938ef}.btn-sms:hover:not(:disabled){background:#5925dc;border-color:#5925dc}.btn-ghost,.button-ghost{border-radius:7px;color:#155eef;color:var(--primary);min-height:34px}.btn-sm{border-radius:7px;min-height:32px;padding:5px 10px}.full-width{width:100%}.field{gap:7px}.field label{color:#344054;color:var(--ink-secondary);font-size:.76rem;font-weight:600}.field-hint{color:#667085;color:var(--muted);font-size:.7rem;line-height:1.35}.app-input,.app-select,.app-textarea{background:#fff;background:var(--surface);border-color:#d0d5dd;border-color:var(--line-strong);border-radius:8px;box-shadow:0 1px 2px #1018280d;box-shadow:var(--shadow-xs);font-size:.84rem;min-height:40px}.app-textarea{line-height:1.5;padding:11px 12px}.app-input:hover,.app-select:hover,.app-textarea:hover{border-color:#98a2b3}.app-input:focus,.app-select:focus,.app-textarea:focus{border-color:#155eef;border-color:var(--primary);box-shadow:0 0 0 3px #155eef1a;box-shadow:0 0 0 3px var(--primary-muted)}.app-input[readonly]{background:#f8fafc;background:var(--surface-soft);color:#667085;color:var(--muted)}.table-wrap{border:1px solid #e4e7ec;border:1px solid var(--line);border-radius:10px;max-height:560px}.data-table{min-width:720px}.data-table th,.data-table thead{background:#f8fafc;background:var(--surface-soft)}.data-table th{color:#667085;color:var(--muted);font-size:.68rem;font-weight:700;letter-spacing:.065em;padding:11px 16px;position:sticky;text-transform:uppercase;top:0;z-index:1}.data-table td{border-bottom-color:#eef2f6;border-bottom-color:var(--line-weak);color:#344054;color:var(--ink-secondary);font-size:.8rem;padding:13px 16px}.data-table tbody tr{transition:background .12s cubic-bezier(.4,0,.2,1);transition:background var(--transition-fast)}.data-table tbody tr:hover td{background:#f2f5f9;background:var(--surface-hover)}.progress{background:#eef2f7;background:var(--bg-strong);border-radius:999px;height:7px;overflow:hidden}.progress.big{height:10px}.progress span{border-radius:inherit}.empty-state{background:#f8fafc;background:var(--surface-soft);border:1px dashed #d0d5dd;border:1px dashed var(--line-strong);border-radius:10px;padding:40px 20px}.empty-state strong{color:#182230;color:var(--ink);font-size:.9rem}.empty-state p{font-size:.8rem;max-width:340px}.empty-icon{background:#eff4ff;background:var(--primary-soft);border-radius:10px;color:#155eef;color:var(--primary)}.house-card,.tenant-card{border-radius:12px;box-shadow:0 1px 2px #1018280d;box-shadow:var(--shadow-xs)}.house-card{padding:16px}.house-card:hover,.tenant-card:hover{border-color:#d0d5dd;border-color:var(--line-strong);box-shadow:0 4px 10px #10182814,0 2px 4px #1018280a;box-shadow:var(--shadow-md);transform:translateY(-1px)}.tenant-card{gap:18px;padding:20px}.modal-backdrop{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#1018287a}.modal{border-radius:14px;box-shadow:0 12px 24px #1018281a,0 4px 8px #1018280a;box-shadow:var(--shadow-lg);max-width:470px;padding:24px}.modal-header h2{font-size:1.05rem;font-weight:650}.toast-stack{bottom:24px;right:24px}.toast{border-radius:10px;box-shadow:0 12px 24px #1018281a,0 4px 8px #1018280a;box-shadow:var(--shadow-lg);font-size:.82rem}.auth-screen{background:#f7f9fc}.auth-screen:before{height:600px;opacity:.38;right:-8%;top:-30%;width:600px}.auth-screen:after{bottom:-36%;left:-12%;opacity:.24}.auth-layout{gap:80px;max-width:1080px}.auth-story h1{font-size:2.55rem;letter-spacing:-.045em;line-height:1.08;max-width:480px}.auth-story p{max-width:440px}.auth-stats span{box-shadow:0 1px 2px #1018280d;box-shadow:var(--shadow-xs)}.auth-card{border-radius:16px;box-shadow:0 12px 24px #1018281a,0 4px 8px #1018280a;box-shadow:var(--shadow-lg);padding:36px}.page-title-bar{align-items:flex-end;display:flex;gap:20px;justify-content:space-between}.page-title-copy{grid-gap:4px;display:grid;gap:4px}.page-title-copy h2{color:#182230;color:var(--ink);font-size:1.35rem;font-weight:700;letter-spacing:-.035em}.page-title-copy p{color:#667085;color:var(--muted);font-size:.82rem}.form-grid{grid-gap:16px;align-items:end;display:grid;gap:16px;grid-template-columns:repeat(5,minmax(0,1fr))}.form-grid .form-action{align-items:flex-end;display:flex}.form-grid .form-action button{width:100%}.toolbar{gap:12px;justify-content:space-between}.toolbar,.toolbar-group{align-items:center;display:flex;flex-wrap:wrap}.toolbar-group{gap:8px}.search-field{min-width:min(280px,100%);position:relative}.search-field svg{color:#98a2b3;color:var(--subtle);left:12px;pointer-events:none;position:absolute;top:50%;transform:translateY(-50%)}.search-field .app-input{padding-left:36px;width:100%}.filter-select{min-width:144px;width:auto}.property-group{grid-gap:10px;display:grid;gap:10px}.property-group-title{align-items:center;display:flex;gap:8px;margin:8px 0 2px}.property-group-title h3{color:#667085;color:var(--muted);font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.property-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}.property-grid .house-card{height:100%}.tenant-list{grid-gap:14px;display:grid;gap:14px}.tenant-summary{grid-gap:16px;background:#f8fafc;background:var(--surface-soft);border:1px solid #e4e7ec;border:1px solid var(--line);border-radius:10px;display:grid;gap:16px;grid-template-columns:repeat(3,minmax(0,1fr));padding:16px}.action-row{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.payment-summary-grid{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(3,minmax(0,1fr))}.summary-stat{background:#f8fafc;background:var(--surface-soft);border:1px solid #e4e7ec;border:1px solid var(--line);border-radius:10px;padding:16px}.summary-stat p{color:#667085;color:var(--muted);font-size:.7rem;font-weight:700;letter-spacing:.065em;text-transform:uppercase}.summary-stat strong{display:block;font-size:1.2rem;letter-spacing:-.03em;margin-top:6px}.report-controls{align-items:end;background:#f8fafc;background:var(--surface-soft);border:1px solid #e4e7ec;border:1px solid var(--line);border-radius:10px;display:flex;flex-wrap:wrap;gap:12px;padding:16px}.broadcast-panel{grid-gap:16px;display:grid;gap:16px}.recipient-list{grid-gap:8px;display:grid;gap:8px}.recipient-row{align-items:center;background:#fff;background:var(--surface);border:1px solid #e4e7ec;border:1px solid var(--line);border-radius:9px;display:flex;gap:14px;justify-content:space-between;padding:12px;transition:background .12s cubic-bezier(.4,0,.2,1),border-color .12s cubic-bezier(.4,0,.2,1);transition:background var(--transition-fast),border-color var(--transition-fast)}.recipient-row:hover{background:#f8fafc;background:var(--surface-soft);border-color:#d0d5dd;border-color:var(--line-strong)}.dashboard-intro{align-items:flex-end;display:flex;gap:20px;justify-content:space-between}.dashboard-intro h2{color:#182230;color:var(--ink);font-size:1.45rem;font-weight:700;letter-spacing:-.04em;margin-top:3px}.dashboard-intro p{color:#667085;color:var(--muted);font-size:.82rem}.dashboard-actions{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.dashboard-actions button{white-space:nowrap}.dashboard-analytics{grid-gap:20px;display:grid;gap:20px;grid-template-columns:minmax(0,1.5fr) minmax(300px,.8fr)}.revenue-chart{display:flex;flex-direction:column;min-height:318px}.chart-header{align-items:flex-start;display:flex;gap:16px;justify-content:space-between}.chart-subtitle{color:#667085;color:var(--muted);font-size:.76rem;margin-top:3px}.chart-total{color:#182230;color:var(--ink);font-size:1.25rem;font-weight:700;letter-spacing:-.035em}.bar-chart{grid-gap:12px;align-items:end;display:grid;gap:12px;grid-template-columns:repeat(6,1fr);min-height:208px;padding:20px 4px 0}.chart-bar-wrap{grid-gap:8px;display:grid;gap:8px;grid-template-rows:1fr auto;height:100%;justify-items:center}.chart-bar-track{align-items:end;background:#f8fafc;background:var(--surface-soft);display:flex;height:164px;overflow:hidden;width:min(34px,100%)}.chart-bar,.chart-bar-track{border-radius:5px 5px 3px 3px}.chart-bar{background:#2970ff;min-height:4px;transition:height .45s cubic-bezier(.4,0,.2,1);width:100%}.chart-bar-wrap:last-child .chart-bar{background:#155eef}.chart-label{color:#667085;color:var(--muted);font-size:.68rem;font-weight:600}.portfolio-panel{grid-gap:20px;align-content:start;display:grid;gap:20px}.occupancy-figure{grid-gap:6px;background:#eff4ff;background:var(--primary-soft);border-radius:10px;display:grid;gap:6px;justify-items:center;padding:20px 12px}.occupancy-figure strong{color:#155eef;color:var(--primary);font-size:2.2rem;letter-spacing:-.06em;line-height:1}.occupancy-figure span{color:#667085;color:var(--muted);font-size:.76rem}.portfolio-stats{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(3,1fr)}.portfolio-stat{border:1px solid #e4e7ec;border:1px solid var(--line);border-radius:8px;padding:10px;text-align:center}.portfolio-stat strong{color:#182230;color:var(--ink);display:block;font-size:.95rem}.portfolio-stat span{color:#667085;color:var(--muted);font-size:.66rem}.quick-actions{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(4,1fr)}.quick-action{align-items:center;background:#fff;background:var(--surface);border:1px solid #e4e7ec;border:1px solid var(--line);border-radius:10px;color:#182230;color:var(--ink);display:flex;gap:10px;min-height:64px;padding:12px;text-align:left;transition:all .12s cubic-bezier(.4,0,.2,1);transition:all var(--transition-fast)}.quick-action:hover{background:#eff4ff;background:var(--primary-soft);border-color:#b2ccff;transform:translateY(-1px)}.quick-action span{background:#eff4ff;background:var(--primary-soft);border-radius:8px;color:#155eef;color:var(--primary);display:grid;height:30px;place-items:center;width:30px}.quick-action strong{font-size:.78rem;font-weight:650}.compact-row{background:#f8fafc!important;background:var(--surface-soft)!important;border:1px solid #e4e7ec;border:1px solid var(--line);border-radius:8px!important}.recent-payment{align-items:center;border-bottom:1px solid #eef2f6;border-bottom:1px solid var(--line-weak);display:flex;gap:12px;justify-content:space-between;padding:12px 0}.recent-payment:last-child{border-bottom:0;padding-bottom:0}.sr-only{clip:rect(0,0,0,0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}@media (max-width:1200px){.form-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.dashboard-analytics,.property-grid{grid-template-columns:1fr}}@media (max-width:980px){.sidebar{min-width:272px;width:272px}.topbar{padding:12px 20px}.page-content{padding:20px}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.quick-actions{grid-template-columns:repeat(2,1fr)}}@media (max-width:640px){.topbar{min-height:60px;padding:10px 14px}.topbar-left h1{font-size:.88rem}.topbar-actions .tag{display:none}.page-content{padding:16px}.page-stack{gap:16px}.dashboard-intro,.page-title-bar{align-items:flex-start;flex-direction:column;gap:12px}.dashboard-intro h2,.page-title-copy h2{font-size:1.2rem}.metric-grid,.payment-summary-grid,.tenant-summary{grid-template-columns:1fr}.metric-tile{min-height:118px}.surface{border-radius:10px;padding:16px}.form-grid{gap:12px;grid-template-columns:1fr}.form-grid .form-action{display:block}.property-grid{grid-template-columns:1fr}.toolbar{align-items:stretch}.search-field,.toolbar-group{width:100%}.filter-select{flex:1 1}.quick-actions{grid-template-columns:1fr}.house-card,.recipient-row{align-items:flex-start;flex-direction:column}.recipient-row>button{width:100%}.bar-chart{gap:7px}.chart-bar-track{width:24px}.auth-layout{gap:36px}.auth-story h1{font-size:2rem}}
/*# sourceMappingURL=main.143f7540.css.map*/