@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:400 700;font-display:optional;src:url(/assets/plus-jakarta-sans-vietnamese-BFYJGte7.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:400 700;font-display:optional;src:url(/assets/plus-jakarta-sans-latin-B2KjpZfh.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:400 700;font-display:optional;src:url(/assets/plus-jakarta-sans-latin-ext-CAOONhfK.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Prata;font-style:normal;font-weight:400;font-display:optional;src:url(/assets/prata-vietnamese-LoyEI-6M.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Prata;font-style:normal;font-weight:400;font-display:optional;src:url(/assets/prata-latin-GYbAXMUw.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Playfair Display;font-style:normal;font-weight:400 700;font-display:swap;src:url(/assets/playfair-display-vietnamese-BFcv9A5S.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Playfair Display;font-style:normal;font-weight:400 700;font-display:swap;src:url(/assets/playfair-display-latin-CSUZDoAs.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Playfair Display;font-style:normal;font-weight:400 700;font-display:swap;src:url(/assets/playfair-display-latin-ext-CnXWPxla.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Playfair Display;font-style:italic;font-weight:400;font-display:swap;src:url(/assets/playfair-display-italic-vietnamese-7s1ppcbL.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Playfair Display;font-style:italic;font-weight:400;font-display:swap;src:url(/assets/playfair-display-italic-latin-DHXaKUp_.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Playfair Display;font-style:italic;font-weight:400;font-display:swap;src:url(/assets/playfair-display-italic-latin-ext-V6065t5x.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Dancing Script;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/dancing-script-vietnamese-Bdc4sec0.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Dancing Script;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/dancing-script-latin-DG8YKDq3.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Dancing Script;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/dancing-script-latin-ext-C2EogQ4A.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}:root{--ink:#1c2835;--ink-2:#2e3a47;--muted:#606b77;--subtle:#64707b;--line:#ece7e2;--line-soft:#f1ece7;--control-line:#dcd5cf;--card-line:#1d32460d;--paper:#fff;--surface:#eef3f7;--surface-2:#f8fafc;--sand-soft:#faf8f6;--cream:#fffbf5;--sand-selected:#f6f2ee;--workspace-background:linear-gradient(121deg, #f6f7f8 0%, #e7f0f6 50%, #f1f6fa 100%);--accent:#304f6d;--accent-dark:#253f58;--accent-light:#47617b;--accent-soft:#e5ecf4;--accent-softer:#f8fafc;--brand-highlight:#e07d54;--brand-highlight-text:#9b563a;--brand-highlight-dark:#c4613a;--chart-muted:#9fb6cc;--green:#4e8a63;--green-text:#417352;--green-soft:#e7f2ea;--green-dark:#2f5e3f;--blue:#47617b;--blue-soft:#e9f2fa;--blue-dark:#304f6d;--orange:#d9a23b;--orange-text:#846324;--orange-dot:#b07a16;--orange-soft:#fff3dc;--orange-dark:#916e3d;--danger:#bf3939;--danger-soft:#fbe6e1;--danger-dark:#b44225;--focus-ring:#304f6d;--scroll-track:#eef3f7;--scroll-thumb:#dcd5cf;--scroll-hover:#98a1aa;--overlay-backdrop:#1c283547;--sidebar-bg:#fff;--sidebar-text:#47617b;--sidebar-text-2:#1c2835;--sidebar-border:#ece7e2;--sidebar-hover:#e07d5414;--sidebar-active:#e07d5424;--sidebar-section:#64707b;--font-body:"Plus Jakarta Sans", system-ui, sans-serif;--font-heading:"Plus Jakarta Sans", system-ui, sans-serif;--font-display:"Prata", Georgia, serif;--font-login-display:"Playfair Display", Georgia, serif;--font-login-hand:"Dancing Script", "Segoe Script", cursive;--text-xs:12px;--text-sm:13px;--text-base:14px;--text-md:15px;--text-lg:16px;--text-xl:18px;--text-2xl:22px;--text-3xl:26px;--text-4xl:30px;--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:20px;--sp-6:24px;--sp-8:32px;--sp-10:40px;--sp-12:48px;--metric-icon-box:52px;--metric-icon-size:28px;--radius-sm:6px;--radius:10px;--radius-md:10px;--radius-lg:16px;--radius-xl:18px;--radius-full:9999px;--shadow-sm:0 1px 2px #1d32460a, 0 0 0 1px var(--card-line);--shadow:var(--shadow-sm);--shadow-md:var(--shadow-sm), 0 12px 24px -12px #1c283529;--shadow-lg:var(--shadow-sm), 0 18px 40px -16px #1c283559;--shadow-xl:0 0 0 1px #1d324614, 0 30px 70px -20px #1c283573;--z-sidebar:100;--z-topbar:150;--z-dropdown:200;--z-popover:300;--z-mobile-nav:450;--z-backdrop:500;--z-modal:600;--z-drawer:700;--z-print-backdrop:800;--z-print-modal:810;--z-toast:900;--select-chevron-inset:12px;--select-chevron-size:16px;--select-chevron-space:40px;--sidebar-width:216px;--content-max-width:1440px;--topbar-height:68px;--mobile-nav-height:64px}@media (width<=767px){:root{--metric-icon-box:44px;--metric-icon-size:24px}}.app-shell{grid-template-columns:var(--sidebar-width) minmax(0, 1fr);min-height:100vh;display:grid}.workspace{flex-direction:column;min-width:0;min-height:100vh;display:flex}.sidebar{width:var(--sidebar-width);background:var(--sidebar-bg);border-right:1px solid var(--sidebar-border);height:100vh;color:var(--sidebar-text-2);z-index:var(--z-sidebar);flex-direction:column;display:flex;position:sticky;top:0;overflow:hidden}.sidebar-inner{flex-direction:column;height:100%;min-height:0;display:flex}.brand{height:var(--topbar-height);color:var(--ink);text-align:left;font:700 20px/1 var(--font-heading);letter-spacing:-.6px;background:0 0;border:0;flex-shrink:0;align-items:center;gap:10px;padding:0 24px;display:flex}.brand small{color:var(--muted);text-transform:uppercase;font:600 8px/1.5 var(--font-body);letter-spacing:2px;margin-top:3px;display:block}.brand-logo{flex-shrink:0;place-items:center;display:grid}.brand-logo svg{display:block}.brand-mark{color:#fff;background:var(--accent);width:34px;height:34px;font:700 17px var(--font-heading);border-radius:10px 10px 10px 3px;flex-shrink:0;place-items:center;display:grid}.sidebar nav{scrollbar-width:thin;scrollbar-color:var(--scroll-thumb) transparent;flex-direction:column;flex:1;gap:2px;min-height:0;padding:0 12px 16px;display:flex;overflow:hidden auto}.sidebar nav::-webkit-scrollbar{width:6px}.sidebar nav::-webkit-scrollbar-thumb{background:var(--scroll-thumb);border-radius:6px}.sidebar nav p,.drawer-nav p{color:var(--sidebar-section);letter-spacing:.88px;text-transform:uppercase;flex-shrink:0;margin:18px 12px 6px;font-size:11px;font-weight:600;line-height:1.3}.sidebar nav p{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.sidebar nav>p:first-child,.drawer-nav>p:first-child{margin-top:6px}.sidebar nav button{border-radius:var(--radius);width:100%;min-width:0;min-height:34px;color:var(--sidebar-text);font-size:var(--text-base);text-align:left;background:0 0;border:0;flex-shrink:0;align-items:center;gap:10px;padding:6px 12px;font-weight:500;line-height:1.25;transition:color .15s,background .15s;display:flex;position:relative}.sidebar nav button .icon{flex-shrink:0;width:17px;height:17px}.sidebar nav button span{overflow-wrap:anywhere;flex:1;min-width:0}.sidebar nav button:hover{color:var(--ink);background:var(--sidebar-hover)}.sidebar nav .nav-active,.sidebar nav .nav-active:hover{color:var(--ink);background:var(--sidebar-active);font-weight:600}.sidebar-foot,.drawer-foot{border-top:1px solid var(--line);flex-shrink:0;padding:12px}.sidebar-logout{border-radius:var(--radius);width:100%;min-height:34px;color:var(--muted);font-size:var(--text-sm);text-align:left;background:0 0;border:0;align-items:center;gap:10px;padding:0 12px;font-weight:500;transition:color .15s,background .15s;display:flex}.sidebar-logout:hover{color:var(--ink);background:var(--sidebar-hover)}.avatar{width:34px;height:34px;color:var(--paper);background:var(--accent);border-radius:50%;flex:none;place-items:center;font-size:11px;font-weight:700;display:grid}.avatar.small{width:30px;height:30px;font-size:9px}.avatar.lg{width:44px;height:44px;font-size:14px}.icon-btn{border-radius:var(--radius);width:34px;height:34px;color:inherit;background:0 0;border:0;flex-shrink:0;place-items:center;transition:background .15s;display:grid;position:relative}.icon-btn:hover{background:#7f7f7f1f}.topbar{height:var(--topbar-height);background:var(--paper);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:var(--sp-4);z-index:var(--z-topbar);flex-shrink:0;padding:0 32px;display:flex;position:sticky;top:0}.topbar-left{align-items:center;gap:var(--sp-3);flex:1;min-width:0;display:flex}.topbar-title{min-width:0;display:none;overflow:hidden}.topbar-title small,.topbar-title strong{display:block}.topbar-title small{color:var(--muted);text-transform:uppercase;letter-spacing:.5px;white-space:nowrap;text-overflow:ellipsis;margin-bottom:2px;font-size:10px;overflow:hidden}.topbar-title strong{font:600 var(--text-base)/1.2 var(--font-body);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.topbar-actions{align-items:center;gap:var(--sp-3);flex-shrink:0;display:flex}.topbar .icon-btn{width:38px;height:38px;color:var(--accent-light);background:0 0}.topbar .icon-btn:hover{background:var(--surface-2)}.bell-icon-btn{position:relative}.bell-count{background:var(--danger-dark);color:#fff;text-align:center;min-width:16px;box-shadow:0 0 0 2px var(--paper);border-radius:10px;padding:1px 4px;font-size:10px;font-weight:700;line-height:1.2;position:absolute;top:1px;right:0}.mock-badge{border-radius:var(--radius-full);background:var(--surface);color:var(--muted);white-space:nowrap;padding:5px 10px;font-size:11px}.mock-badge i{background:var(--green);border-radius:50%;width:6px;height:6px;margin-right:5px;display:inline-block}.topbar-menu-btn{color:var(--ink);padding:var(--sp-2);border-radius:var(--radius);background:0 0;border:0;display:none}.topbar-menu-btn:hover{background:var(--surface-2)}.content{max-width:var(--content-max-width);flex:1;width:100%;margin:0 auto;padding:36px 32px 48px}@media (width>=1440px){.content{padding:36px 40px 48px}}.drawer-backdrop{background:var(--overlay-backdrop);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:var(--z-backdrop);animation:.2s fade-in;display:none;position:fixed;inset:0}.drawer-backdrop.open{display:block}.mobile-drawer{background:var(--sidebar-bg);width:280px;z-index:var(--z-drawer);visibility:hidden;pointer-events:none;flex-direction:column;transition:transform .25s cubic-bezier(.4,0,.2,1),box-shadow .25s cubic-bezier(.4,0,.2,1),visibility 0s linear .25s;display:flex;position:fixed;inset:0 auto 0 0;transform:translate(-100%);box-shadow:4px 0 40px #0000}.mobile-drawer.open{visibility:visible;pointer-events:auto;transition:transform .25s cubic-bezier(.4,0,.2,1),box-shadow .25s cubic-bezier(.4,0,.2,1),visibility linear;transform:translate(0);box-shadow:4px 0 40px #00000059}.tenant-bottom-nav{display:none}.drawer-header{border-bottom:1px solid var(--line);flex-shrink:0;justify-content:space-between;align-items:center;padding:0 12px 0 0;display:flex}.drawer-brand-name{color:var(--ink);font:700 20px/1 var(--font-heading);letter-spacing:-.6px}.drawer-close-btn{border-radius:var(--radius);width:44px;height:44px;color:var(--muted);background:0 0;border:0;place-items:center;transition:background .15s,color .15s;display:grid}.drawer-close-btn:hover{color:var(--ink);background:var(--sidebar-hover)}.drawer-nav{padding:var(--sp-3) 12px var(--sp-4);flex-direction:column;flex:1;gap:2px;display:flex;overflow-y:auto}.drawer-nav button{border-radius:var(--radius);min-height:44px;color:var(--sidebar-text);font-size:var(--text-base);text-align:left;background:0 0;border:0;flex-shrink:0;align-items:center;gap:10px;width:100%;padding:8px 12px;font-weight:500;transition:color .15s,background .15s;display:flex;position:relative}.drawer-nav button .icon{flex-shrink:0;width:18px;height:18px}.drawer-nav button span{min-width:0;font-size:var(--text-base);flex:1}.drawer-nav button:hover{color:var(--ink);background:var(--sidebar-hover)}.drawer-nav .nav-active,.drawer-nav .nav-active:hover{color:var(--ink);background:var(--sidebar-active);font-weight:600}.drawer-foot .sidebar-logout{min-height:44px}.auth-shell{place-items:center;min-height:100vh;padding:30px;display:grid}@keyframes fade-in{0%{opacity:0}}.theme-homikey{background:var(--surface);color:var(--ink);font-family:var(--font-body)}.app-shell.theme-homikey{background:var(--workspace-background);background-attachment:fixed}.theme-homikey .content{font-family:var(--font-body);color:var(--ink);background:0 0}@media (width>=1024px){.drawer-backdrop,.mobile-drawer{display:none!important}}@media (width<=1023px){.app-shell{grid-template-columns:1fr}.theme-homikey{grid-template-columns:minmax(0,1fr)}.sidebar{display:none}.topbar-menu-btn{display:flex}.topbar{padding:0 20px}.topbar-actions{gap:8px}.topbar-title{flex:auto;display:block}.content{padding:24px 20px}.mock-badge{display:none}}@media (width<=767px){.content{padding:20px 16px calc(var(--mobile-nav-height) + 24px + env(safe-area-inset-bottom))}.theme-homikey .content{padding-bottom:calc(24px + env(safe-area-inset-bottom))}.topbar{height:60px;padding:0 16px}.role-tenant .topbar-menu-btn{display:none}.tenant-bottom-nav{z-index:var(--z-mobile-nav);min-height:var(--mobile-nav-height);padding:6px max(8px, env(safe-area-inset-left)) calc(6px + env(safe-area-inset-bottom)) max(8px, env(safe-area-inset-right));border-top:1px solid var(--line);background:#fffffff7;grid-template-columns:repeat(4,minmax(0,1fr));gap:2px;display:grid;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -8px 24px #20222414}.tenant-bottom-nav button{border-radius:var(--radius);min-width:0;min-height:52px;color:var(--muted);background:0 0;border:0;flex-direction:column;justify-content:center;align-items:center;gap:3px;padding:4px;font-size:11px;font-weight:600;display:flex}.tenant-bottom-nav button span{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.tenant-bottom-nav button.nav-active{color:var(--accent-dark);background:var(--accent-softer)}.theme-homikey .topbar-title small{display:none}.theme-homikey .topbar .icon-btn{width:44px;height:44px}.theme-homikey .account-trigger>.icon{display:none}}@media (width<=400px){.content{padding:16px 12px calc(var(--mobile-nav-height) + 20px + env(safe-area-inset-bottom))}.topbar-title strong{font-size:var(--text-base)}}.account-menu{flex-shrink:0;position:relative}.account-trigger{border-radius:var(--radius);min-width:44px;min-height:44px;color:var(--muted);background:0 0;border:0;justify-content:center;align-items:center;gap:10px;padding:4px 6px;display:flex}.account-trigger:is(:hover,[aria-expanded=true]){background:var(--surface-2)}.account-trigger .avatar{width:32px;height:32px;font-size:12px;font-weight:600}.account-trigger>.icon{transition:transform .15s}.account-trigger[aria-expanded=true]>.icon{transform:rotate(180deg)}.account-trigger-text{text-align:left;min-width:0;max-width:170px;display:none}.account-trigger-text strong,.account-trigger-text small{white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}.account-trigger-text strong{color:var(--ink);font-size:var(--text-sm);font-weight:600;line-height:1.25}.account-trigger-text small{color:var(--muted);font-size:var(--text-xs);margin-top:1px;line-height:1.25}@media (width>=1024px){.account-trigger-text{display:block}}.account-panel{z-index:var(--z-popover);border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--paper);width:min(264px,100vw - 32px);box-shadow:var(--shadow-lg);padding:8px;position:absolute;top:calc(100% + 8px);right:0}.account-identity{border-bottom:1px solid var(--line);gap:4px;padding:8px 10px 14px;display:grid}.account-identity strong{font-size:var(--text-sm);overflow-wrap:anywhere}.account-identity small{color:var(--muted);font-size:12px}.account-logout{border-radius:var(--radius);width:100%;min-height:44px;color:var(--ink);text-align:left;background:0 0;border:0;align-items:center;gap:10px;margin-top:6px;padding:10px;font-weight:500;display:flex}.account-logout:hover{background:var(--surface-2)}.account-link-current,.account-link-current:hover{background:var(--sidebar-active);font-weight:600}.homikey-tenant-shell .content.homikey-workspace{max-width:1120px}@media (width<=767px){.homikey-tenant-shell .content{padding-bottom:calc(104px + env(safe-area-inset-bottom))}.homikey-tenant-shell .tenant-bottom-nav{background:var(--paper);border-top:1px solid var(--line);box-shadow:var(--shadow-sm);padding:8px 8px calc(8px + env(safe-area-inset-bottom));gap:4px}.homikey-tenant-shell .tenant-bottom-nav button{border-radius:var(--radius-lg);min-height:56px}.homikey-tenant-shell .tenant-bottom-nav button.nav-active{color:var(--accent-dark);background:var(--accent-soft)}.homikey-tenant-shell .tenant-bottom-nav button:hover{background:var(--accent-softer)}}.owner-shell .sidebar nav button,.platform-shell .sidebar nav button,.owner-shell .drawer-nav button,.platform-shell .drawer-nav button{min-height:34px;padding-top:0;padding-bottom:0}.owner-shell .drawer-nav button,.platform-shell .drawer-nav button{min-height:44px}.owner-shell .sidebar nav button span,.platform-shell .sidebar nav button span,.owner-shell .drawer-nav button span,.platform-shell .drawer-nav button span{overflow-wrap:normal;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.owner-shell .topbar-actions,.platform-shell .topbar-actions{gap:20px}.owner-shell .mock-badge,.platform-shell .mock-badge{padding:3px 8px;font-size:11px;line-height:1.4}.owner-shell .topbar .icon-btn,.platform-shell .topbar .icon-btn{width:36px;height:36px;color:var(--accent-light);border-radius:10px}.period-picker{flex-shrink:0;position:relative}.period-button{background:var(--paper);height:38px;box-shadow:var(--shadow-sm);color:var(--ink-2);font:500 13px/1 var(--font-body);white-space:nowrap;cursor:pointer;border:0;border-radius:12px;align-items:center;gap:8px;padding:0 12px;transition:background .15s;display:flex}.period-button .icon{color:var(--accent-light)}.period-button:hover,.period-button[aria-expanded=true]{background:var(--surface-2)}.period-button:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.period-panel{z-index:var(--z-popover);background:var(--paper);width:264px;box-shadow:var(--shadow-lg);border-radius:14px;gap:10px;padding:14px;display:grid;position:absolute;top:calc(100% + 8px);right:0}.period-panel-row{justify-content:space-between;align-items:center;gap:8px;display:flex}.period-panel-row strong{color:var(--ink);font:600 14px/1.3 var(--font-body)}.period-year{border-top:1px solid var(--line-soft);color:var(--muted);font:600 13px/1.3 var(--font-body);padding-top:8px}.period-step{width:32px;height:32px;color:var(--accent-light);cursor:pointer;background:0 0;border:0;border-radius:8px;place-items:center;display:grid}.period-step:hover{background:var(--surface-2);color:var(--ink)}.period-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;display:grid}.period-grid button{background:var(--surface-2);height:36px;color:var(--ink-2);font:500 13px/1 var(--font-body);cursor:pointer;border:0;border-radius:8px}.period-grid button:hover{background:var(--accent-soft)}.period-grid button.active,.period-grid button[aria-pressed=true]{background:var(--accent);color:#fff;font-weight:600}.period-panel :focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.bell-dot{background:var(--brand-highlight);width:8px;height:8px;box-shadow:0 0 0 2px var(--paper);border-radius:50%;position:absolute;top:6px;right:7px}.avatar-presence{display:none}.owner-shell .account-trigger,.platform-shell .account-trigger{border-radius:10px;gap:8px;padding:4px 8px}.owner-shell .account-trigger .avatar,.platform-shell .account-trigger .avatar{background:var(--accent-light);font-weight:700;position:relative}.owner-shell .account-trigger .avatar-presence,.platform-shell .account-trigger .avatar-presence{background:var(--green);width:9px;height:9px;box-shadow:0 0 0 2px var(--paper);border-radius:50%;display:block;position:absolute;bottom:-1px;right:-1px}.owner-shell .account-trigger>.icon,.platform-shell .account-trigger>.icon{width:16px;height:16px;color:var(--muted)}.owner-shell .account-trigger-text strong,.platform-shell .account-trigger-text strong{font-size:13px;line-height:1}.owner-shell .account-trigger-text small,.platform-shell .account-trigger-text small{margin-top:4px;font-size:12px;line-height:1}.owner-shell .page-heading .eyebrow,.platform-shell .page-heading .eyebrow{margin-bottom:2px}.owner-shell .page-heading .page-subtitle,.platform-shell .page-heading .page-subtitle{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.owner-shell .page-heading .page-own-line,.platform-shell .page-heading .page-own-line{max-width:760px;color:var(--muted);margin-top:14px;font-size:13px;line-height:1.5}.family-tabs{flex-wrap:wrap;gap:4px 24px;margin-top:20px;display:flex}.family-tabs button{min-height:36px;color:var(--muted);font:500 13px/1.4 var(--font-body);cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;border-radius:0;margin:0;padding:8px 0 9px;transition:color .15s}.family-tabs button:hover{color:var(--ink)}.family-tabs button:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px;border-radius:var(--radius-sm)}.family-tabs button[aria-selected=true]{color:var(--ink);border-bottom-color:var(--brand-highlight);font-weight:600}.owner-shell .content .page-heading,.platform-shell .content .page-heading{align-items:flex-end}.owner-shell .page-heading>div:first-child,.platform-shell .page-heading>div:first-child{flex:auto;min-width:0}.owner-shell .page-heading .heading-actions,.platform-shell .page-heading .heading-actions{flex-wrap:nowrap;flex:none;justify-content:flex-end;gap:12px}.owner-shell .page-heading .heading-actions .btn,.platform-shell .page-heading .heading-actions .btn{white-space:nowrap}@media (width<=767px){.owner-shell .topbar-actions,.platform-shell .topbar-actions{gap:8px}.period-button{height:40px;padding:0 10px;font-size:12px}.owner-shell .topbar-left,.platform-shell .topbar-left{gap:4px}.owner-shell .content .page-heading .heading-actions .action-menu-trigger,.platform-shell .content .page-heading .heading-actions .action-menu-trigger{flex:none}.owner-shell .content .page-heading,.platform-shell .content .page-heading{flex-wrap:wrap;align-items:flex-start}.owner-shell .page-heading .heading-actions,.platform-shell .page-heading .heading-actions{flex-wrap:wrap;justify-content:flex-start;width:100%}.owner-shell .page-heading .page-subtitle,.platform-shell .page-heading .page-subtitle{white-space:normal}.family-tabs{flex-wrap:nowrap;gap:2px 18px;max-width:100%;overflow-x:auto}.family-tabs button{flex:none;min-height:44px}}@media (width<=479px){.period-button span{display:none}.period-button{justify-content:center;width:40px;padding:0}}.platform-shell .topbar .system-status-button{gap:8px}.system-status-button>i{background:var(--green);border-radius:50%;flex-shrink:0;width:8px;height:8px}.system-status-button.degraded>i{background:var(--orange-dot)}.system-status-button.down>i{background:var(--danger)}.system-status-button>span{white-space:nowrap}div.system-status-button{cursor:default}.drawer-status-row{flex-shrink:0;padding:0 12px 8px}.drawer-status-row:empty{display:none}.drawer-status{border-radius:var(--radius);background:var(--surface-2);width:100%;min-height:44px;color:var(--ink-2);font:500 var(--text-sm)/1.3 var(--font-body);text-align:left;cursor:pointer;border:0;align-items:center;gap:10px;padding:0 12px;display:flex}div.drawer-status{cursor:default}@media (width<=767px){.platform-shell .topbar .system-status-button{display:none}}.btn{border-radius:var(--radius);justify-content:center;align-items:center;gap:var(--sp-2);min-height:40px;font-size:var(--text-sm);white-space:nowrap;cursor:pointer;border:1px solid #0000;padding:0 16px;font-weight:600;transition:background .15s,border-color .15s,box-shadow .15s,color .15s;display:inline-flex}.btn.primary{color:#fff;background:var(--accent)}.btn.primary:hover,.btn.primary:active{background:var(--accent-dark)}.btn.secondary{border-color:var(--control-line);color:var(--ink);background:#fff}.btn.secondary:hover{background:var(--surface-2);border-color:var(--control-line)}.btn.ghost{color:var(--muted);background:0 0;border-color:#0000}.btn.ghost:hover{background:var(--surface-2);color:var(--ink)}.btn.danger{color:#fff;background:var(--danger)}.btn.danger:hover{background:var(--danger-dark)}.btn.sm{min-height:36px;font-size:var(--text-xs);padding:0 14px}.btn.lg{min-height:48px;font-size:var(--text-base);padding:0 24px}.text-btn{color:var(--accent);font-size:var(--text-sm);align-items:center;gap:var(--sp-1);padding:var(--sp-1) var(--sp-2);border-radius:var(--radius-sm);background:0 0;border:0;min-height:36px;font-weight:600;transition:background .15s;display:inline-flex}.text-btn:hover{background:var(--accent-soft)}.text-btn.danger-text{color:var(--danger)}.text-btn.danger-text:hover{background:var(--danger-soft)}.badge{border-radius:var(--radius-sm);background:var(--surface-2);color:var(--muted);font-size:var(--text-xs);white-space:nowrap;align-items:center;gap:6px;padding:5px 10px;font-weight:500;line-height:1;display:inline-flex}.badge i{background:currentColor;border-radius:50%;flex-shrink:0;width:5px;height:5px}.badge.active,.badge.room-available{color:var(--green-text);background:var(--green-soft)}.badge.inactive,.badge.room-inactive{color:#7b7d79;background:var(--surface-2)}.badge.room-occupied{color:var(--blue);background:var(--blue-soft)}.badge.room-maintenance,.badge.conflict{color:var(--orange-text);background:var(--orange-soft)}.badge.danger{color:var(--danger);background:var(--danger-soft)}.eyebrow{color:var(--subtle);letter-spacing:.88px;text-transform:uppercase;font-size:11px;font-weight:600;display:block}.page-heading{justify-content:space-between;align-items:flex-end;gap:var(--sp-6);margin-bottom:var(--sp-6);display:flex}.page-heading h1{font-size:clamp(22px, 3vw, var(--text-4xl));letter-spacing:-.7px;margin:6px 0;line-height:1.15}.page-heading p{color:var(--muted);font-size:var(--text-sm);margin:0}.action-group,.page-header-actions-group,.table-actions,.heading-actions{align-items:center;gap:var(--sp-2);flex-wrap:wrap;min-width:0;max-width:100%;display:flex}.action-group.end{justify-content:flex-end}.btn.action-menu-trigger{flex:none;width:40px;min-height:40px;padding:0}.action-menu-panel{z-index:var(--z-popover,100);width:248px;max-width:calc(100vw - 16px);padding:var(--sp-1);border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);box-shadow:var(--shadow-lg);position:fixed;overflow-y:auto}.action-menu-item{align-items:center;gap:var(--sp-2);width:100%;min-height:44px;padding:var(--sp-2) var(--sp-3);border-radius:var(--radius-sm);color:var(--ink);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;display:flex}.action-menu-item .icon{flex-shrink:0}.action-menu-item small{color:var(--muted);margin-top:4px;font-size:11px;display:block}.action-menu-item:hover{background:var(--surface-2)}.action-menu-item:active{background:var(--surface)}.action-menu-item:focus-visible{outline:2px solid var(--focus-ring);outline-offset:-2px}.action-menu-item.is-danger{margin-top:var(--sp-1);border-top:1px solid var(--line);color:var(--danger)}.action-menu-item.is-danger:hover,.action-menu-item.is-danger:active{background:var(--danger-soft)}.action-menu-item[aria-disabled=true]{opacity:.55;cursor:not-allowed}.action-menu-item[aria-disabled=true]:hover,.action-menu-item[aria-disabled=true]:active{background:0 0}@media (width<=767px){.btn.action-menu-trigger{width:44px;min-height:44px}}.heading-actions>:is(.heading-actions,.page-header-actions-group,.header-button-group,.notification-header-actions){min-width:0;max-width:100%}.welcome{justify-content:space-between;align-items:flex-end;gap:var(--sp-6);margin-bottom:var(--sp-6);display:flex}.welcome h1{font-size:clamp(22px, 3vw, var(--text-4xl));letter-spacing:-.7px;margin:6px 0}.welcome p{color:var(--muted);font-size:var(--text-base);margin:0}.back-button{color:var(--muted);align-items:center;gap:var(--sp-2);padding:var(--sp-1) 0;margin-bottom:var(--sp-4);font-size:var(--text-sm);background:0 0;border:0;transition:color .15s;display:inline-flex}.back-button:hover{color:var(--ink)}.toolbar{border:1px solid var(--line);border-radius:var(--radius-lg);padding:var(--sp-2) var(--sp-3);margin-bottom:var(--sp-4);justify-content:space-between;align-items:center;gap:var(--sp-3);background:#fff;flex-wrap:wrap;display:flex}.search-box{border:1px solid var(--line);border-radius:var(--radius);align-items:center;gap:var(--sp-2);color:#92938f;min-width:280px;height:38px;padding:0 12px;transition:border-color .15s,box-shadow .15s;display:flex}.search-box:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 10%, transparent)}.search-box input{width:100%;color:var(--ink);font-size:var(--text-sm);background:0 0;border:0;outline:0}.search-box input::-webkit-search-cancel-button{display:none}.search-clear{border-radius:var(--radius-sm);width:32px;height:32px;color:var(--muted);background:0 0;border:0;flex:none;place-items:center;display:grid}.search-clear:hover{color:var(--ink);background:var(--surface-2)}.segmented{background:var(--surface);border-radius:var(--radius);gap:2px;padding:3px;display:flex}.segmented button{color:var(--muted);font-size:var(--text-sm);white-space:nowrap;background:0 0;border:0;border-radius:6px;min-height:36px;padding:7px 14px;font-weight:600;transition:background .15s,color .15s,box-shadow .15s}.segmented .active{color:var(--ink);box-shadow:var(--shadow-sm);background:#fff}.form-grid{gap:var(--sp-4);grid-template-columns:repeat(2,1fr);display:grid}.field{align-content:start;gap:6px;display:grid}.field>label,.amenity-picker legend,.building-picker legend{color:#5f615d;font-size:var(--text-sm);font-weight:600}.field input,.field select,.field textarea{border-radius:var(--radius);width:100%;min-height:40px;color:var(--ink);font-size:var(--text-base);background:#fff;border:1px solid #deded8;outline:0;padding:8px 12px;transition:border-color .15s,box-shadow .15s}.field textarea{resize:none;min-height:104px}.resize-none{resize:none}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 10%, transparent)}.field input[type=checkbox],.field input[type=radio]{border:revert;border-radius:revert;background:revert;outline:revert;width:18px;height:18px;min-height:0;box-shadow:none;font-size:inherit;accent-color:var(--accent);flex:none;margin:0;padding:0}.field small{color:#848682;font-size:var(--text-xs)}.field .field-error,.field-error{color:var(--danger);font-size:var(--text-xs);font-weight:500}.span-2{grid-column:1/-1}.form-alert{align-items:center;gap:var(--sp-2);color:#a7474d;background:var(--danger-soft);border-radius:var(--radius);min-height:40px;font-size:var(--text-sm);padding:10px 12px;display:flex}.panel{background:var(--paper);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);border:1px solid #0000}.panel-head{padding:var(--sp-5) var(--sp-5) var(--sp-4);border-bottom:1px solid var(--line-soft);justify-content:space-between;align-items:center;display:flex}.panel-head h2{font-size:var(--text-lg);margin:0 0 3px;font-weight:600}.panel-head p{color:#92938f;margin:0;font-size:11px}.modal-backdrop,.dialog-backdrop{background:var(--overlay-backdrop);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);padding:var(--sp-5);z-index:var(--z-backdrop);place-items:center;animation:.2s fade-in;display:grid;position:fixed;inset:0}.modal,.dialog{border-radius:var(--radius-xl);width:min(640px,100vw - 32px);max-height:calc(100dvh - 40px);box-shadow:var(--shadow-xl);z-index:var(--z-modal);background:#fff;flex-direction:column;animation:.25s cubic-bezier(.34,1.56,.64,1) modal-in;display:flex;position:relative;overflow:hidden}.modal-sm,.dialog-sm{width:min(480px,100vw - 32px)}.modal-md,.dialog-md{width:min(640px,100vw - 32px)}.modal-wide,.modal-lg,.dialog-lg{width:min(1000px,100vw - 40px)}.modal-xl,.dialog-xl{width:min(1160px,100vw - 48px)}.modal-full,.dialog-full{width:min(1400px,100vw - 48px)}.modal-header,.dialog-header{z-index:2;justify-content:space-between;align-items:center;gap:var(--sp-4);border-bottom:1px solid var(--line);background:#fff;flex-shrink:0;padding:16px 24px;display:flex;position:sticky;top:0}.modal-header-main,.dialog-header-main{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.modal-header h2,.dialog-header h2{margin:0;font-size:18px}.modal-header p,.dialog-header p{font-size:var(--text-sm);color:#787a76;margin:4px 0 0}.modal-header-actions,.dialog-header-actions{align-items:center;gap:var(--sp-2);flex-wrap:wrap;flex-shrink:0;display:flex}.modal-body,.dialog-body{scrollbar-width:thin;scrollbar-color:var(--line) transparent;flex:auto;min-height:0;padding:20px 24px;overflow-y:auto}.modal>form,.dialog>form,.modal-form,.dialog-form{flex-direction:column;flex:auto;min-height:0;display:flex;overflow:hidden}.modal-actions,.dialog-footer{border-top:1px solid var(--line);justify-content:flex-end;gap:var(--sp-2);background:#fff;flex-wrap:wrap;flex-shrink:0;padding:14px 24px;display:flex;position:sticky;bottom:0}@keyframes modal-in{0%{opacity:0;transform:scale(.96)translateY(12px)}}.state-box,.empty-state{border-radius:var(--radius-lg);color:#999b96;text-align:center;min-height:280px;padding:var(--sp-8);justify-content:center;align-items:center;gap:var(--sp-2);background:#ffffff73;border:1px dashed #d9d9d2;flex-direction:column;display:flex}.state-box strong,.empty-state h2{color:#5b5d58;font-size:var(--text-md);margin:var(--sp-3) 0 var(--sp-1)}.state-box span,.empty-state p{font-size:var(--text-sm);color:var(--muted)}.empty-state>span,.state-icon{width:46px;height:46px;color:var(--accent);background:var(--accent-soft);border-radius:50%;place-items:center;display:grid}.empty-state.compact{min-height:200px;margin:15px 21px}.error-state .state-icon{color:var(--danger);background:var(--danger-soft)}.error-state .btn{margin-top:var(--sp-3)}.spinner{border:3px solid #dedce9;border-top-color:var(--accent);border-radius:50%;width:28px;height:28px;animation:.8s linear infinite spin;display:block}.spinner.small{border-width:2px;width:16px;height:16px}@keyframes spin{to{transform:rotate(360deg)}}.toast{right:var(--sp-6);bottom:var(--sp-6);z-index:var(--z-toast);align-items:center;gap:var(--sp-3);color:#245f4a;border-radius:var(--radius-md);box-shadow:var(--shadow-lg);font-size:var(--text-sm);background:#fff;border:1px solid #cce7dc;max-width:360px;padding:11px 16px;animation:.25s ease-out toast-in;display:flex;position:fixed}.toast>span{background:var(--green-soft);border-radius:50%;flex-shrink:0;place-items:center;width:26px;height:26px;display:grid}.toast.error{color:#943e44;border-color:#efd1d3}.toast.error>span{background:var(--danger-soft)}.qr-note{border:1px solid var(--line);border-radius:var(--radius-md);max-width:168px;color:var(--danger-dark);background:var(--danger-soft);text-align:left;margin:0;padding:6px 8px;font-size:11px;line-height:1.4}.toast-stack{right:var(--sp-6);bottom:calc(var(--sp-6) + 64px);z-index:calc(var(--z-toast) + 1);gap:var(--sp-2);flex-direction:column;max-width:400px;display:flex;position:fixed}.toast-stack .toast{align-items:flex-start;max-width:none;position:static}.toast-stack .toast p{overflow-wrap:anywhere;flex:1;margin:0;line-height:1.45}.toast-close{width:28px;height:28px;color:inherit;cursor:pointer;background:0 0;border:0;border-radius:50%;flex-shrink:0;place-items:center;margin:-2px -6px -2px 0;display:grid}.toast-close:hover{background:var(--danger-soft)}.toast-close:focus-visible{outline:2px solid var(--focus-ring);outline-offset:1px}@keyframes toast-in{0%{opacity:0;transform:translateY(14px)}}.table-wrap{background:var(--paper);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);margin-bottom:var(--sp-4);border:1px solid #0000;overflow:auto}table{border-collapse:collapse;width:100%;min-width:680px}th{color:var(--subtle);background:var(--paper);text-transform:uppercase;letter-spacing:.88px;text-align:left;white-space:nowrap;padding:13px 16px;font-size:11px;font-weight:600}td{border-top:1px solid var(--line-soft);color:var(--ink-2);font-size:var(--text-base);vertical-align:middle;padding:14px 16px}td>strong,td>small{display:block}td>small{color:#848682;font-size:var(--text-xs);margin-top:3px}.user-cell{align-items:center;gap:var(--sp-2);display:flex}.user-cell strong,.user-cell small{display:block}.user-cell strong{color:var(--ink);font-size:var(--text-sm)}.user-cell small{color:#848682;font-size:var(--text-xs);margin-top:2px}tr:hover td{background:var(--surface-2)}:is(.homikey-team-workspace,.homikey-owner-contracts,.homikey-invoice-workspace) .table-wrap.desktop-only :is(th,td){padding-inline:12px}.homikey-invoice-workspace .table-wrap.desktop-only :is(th,td){padding-inline:10px}.homikey-owner-contracts .table-wrap.desktop-only td{padding-block:16px}.homikey-team-workspace td .action-group,.homikey-owner-contracts td .row-actions,.homikey-invoice-workspace td .row-actions{flex-wrap:nowrap}.homikey-invoice-workspace td .row-actions{gap:4px}.homikey-invoice-workspace td .row-actions .btn.sm{padding-inline:10px}.invoice-code{white-space:nowrap}.contract-term>span{white-space:nowrap;display:block}@media (width>=768px) and (width<=1439px){:is(.homikey-team-workspace,.homikey-owner-contracts,.homikey-invoice-workspace) .table-wrap.desktop-only th{white-space:normal;line-height:1.35}}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.file-pick{flex-wrap:wrap;align-items:center;gap:6px 12px;min-width:0;display:flex}.file-pick>.btn{cursor:pointer;position:relative}.file-pick>.btn:focus-within{outline:2px solid var(--focus-ring,var(--accent));outline-offset:2px}.file-pick>.btn.disabled{cursor:not-allowed}.file-pick input[type=file]{clip:rect(0, 0, 0, 0);opacity:0;border:0;width:1px;height:1px;min-height:0;margin:-1px;padding:0;position:absolute;overflow:hidden}.file-pick-status{min-width:0;color:var(--muted);font-size:var(--text-xs);overflow-wrap:anywhere}.role-chip,.scope-list span{font-size:var(--text-xs);border-radius:var(--radius-sm);background:var(--accent-soft);color:var(--accent);padding:4px 8px;font-weight:600}.scope-list{gap:var(--sp-1);flex-wrap:wrap;display:flex}.scope-list span{color:var(--muted);background:var(--surface-2)}.desktop-only{display:block}.mobile-only{display:none!important}.mobile-card-list{gap:var(--sp-3);flex-direction:column;display:flex}.table-wrap+.table-wrap,.table-wrap+.mobile-card-list{margin-top:var(--sp-4)}.mobile-card{border:1px solid var(--line);border-radius:var(--radius-lg);padding:var(--sp-4);box-shadow:var(--shadow-sm);gap:var(--sp-2);background:#fff;flex-direction:column;display:flex}.mobile-card-top{justify-content:space-between;align-items:flex-start;gap:var(--sp-2);display:flex}.mobile-card-body{gap:var(--sp-2);padding-top:var(--sp-2);border-top:1px solid var(--line-soft);font-size:var(--text-sm);grid-template-columns:1fr 1fr;display:grid}.mobile-card-body small{color:var(--muted);font-size:var(--text-xs);display:block}.mobile-card-footer{justify-content:flex-end;align-items:center;gap:var(--sp-2);padding-top:var(--sp-2);border-top:1px solid var(--line-soft);margin-top:var(--sp-1);flex-wrap:wrap;display:flex}.state-actions{justify-content:center;gap:var(--sp-2);margin-top:var(--sp-3);flex-wrap:wrap;display:flex}@media (width<=767px){.desktop-only{display:none!important}.mobile-only{display:block!important}.mobile-card-list.mobile-only,.mobile-card-list{display:flex!important}.page-heading,.welcome{align-items:flex-start;gap:var(--sp-3);flex-direction:column}.heading-actions{gap:var(--sp-2);width:100%;display:flex}.heading-actions>:is(.heading-actions,.page-header-actions-group,.header-button-group,.notification-header-actions){width:100%}.heading-actions .btn{padding-inline:var(--sp-2);flex:1;min-height:44px}.toolbar{align-items:stretch;gap:var(--sp-3);flex-direction:column}.toolbar>select{flex:none;align-self:stretch;width:100%;min-width:0;max-width:none;min-height:44px;font-size:16px}.search-box{width:100%;min-width:0;min-height:44px}.search-box input{font-size:16px}.segmented{width:100%;padding:4px;overflow-x:auto}.segmented button{min-height:40px;font-size:var(--text-sm);padding:8px 14px}.form-grid{grid-template-columns:1fr}.span-2{grid-column:1}.field input,.field select,.field textarea{min-height:44px;font-size:16px}.btn{min-height:44px}.icon-btn{min-width:44px;min-height:44px}.modal-backdrop,.dialog-backdrop{place-items:end center;padding:0}.modal,.dialog{border-radius:var(--radius-xl) var(--radius-xl) 0 0;width:100%;max-height:92dvh}.modal-header,.dialog-header{padding:16px 18px}.modal-body,.dialog-body{-webkit-overflow-scrolling:touch;padding:16px 18px}.modal-actions,.dialog-footer{padding:12px 18px calc(12px + env(safe-area-inset-bottom,0px))}.modal-actions .btn,.dialog-footer .btn{flex:1}.toast{right:var(--sp-4);bottom:calc(var(--sp-5) + env(safe-area-inset-bottom,0px));left:var(--sp-4)}.toast-stack{right:var(--sp-4);left:var(--sp-4);bottom:calc(var(--sp-5) + 64px + env(safe-area-inset-bottom,0px));max-width:none}}:is(.theme-homikey,body:has(:is(.app-shell,.login-page).theme-homikey) .modal-backdrop) .btn.primary,:is(.theme-homikey,body:has(:is(.app-shell,.login-page).theme-homikey) .modal-backdrop) .btn.primary:hover{box-shadow:none}:is(.theme-homikey,body:has(:is(.app-shell,.login-page).theme-homikey) .modal-backdrop) :is(.btn,.text-btn,.field,.search-box,.badge,.panel,.table-wrap,.state-box,.empty-state,.form-alert,.segmented){font-family:var(--font-body)}:is(.theme-homikey,body:has(:is(.app-shell,.login-page).theme-homikey) .modal-backdrop) .btn.secondary{color:var(--ink);background:var(--paper);border-color:var(--control-line)}:is(.theme-homikey,body:has(:is(.app-shell,.login-page).theme-homikey) .modal-backdrop) .btn.secondary:hover{background:var(--surface);border-color:var(--accent)}:is(.theme-homikey,body:has(:is(.app-shell,.login-page).theme-homikey) .modal-backdrop) .field>label{color:var(--ink-2)}:is(.theme-homikey,body:has(:is(.app-shell,.login-page).theme-homikey) .modal-backdrop) .field :is(input,select,textarea){border-color:var(--control-line);background:var(--paper)}:is(.theme-homikey,body:has(:is(.app-shell,.login-page).theme-homikey) .modal-backdrop) .field :is(input,select,textarea):focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 12%, transparent)}:is(.theme-homikey,body:has(:is(.app-shell,.login-page).theme-homikey) .modal-backdrop) .field :is(input,select,textarea)[aria-invalid=true]{border-color:var(--danger)}:is(.theme-homikey,body:has(:is(.app-shell,.login-page).theme-homikey) .modal-backdrop) .field small{color:var(--muted)}:is(.theme-homikey,body:has(:is(.app-shell,.login-page).theme-homikey) .modal-backdrop) .field .field-error{color:var(--danger)}.theme-homikey .search-box{border-color:var(--control-line);background:var(--paper)}.theme-homikey .search-box:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 12%, transparent)}.theme-homikey :is(.state-box,.empty-state){border:1px dashed var(--line);background:var(--paper)}.theme-homikey :is(.state-box strong,.empty-state h2){color:var(--ink)}.theme-homikey .spinner{border-color:var(--line);border-top-color:var(--accent)}.theme-homikey .badge.inactive{color:var(--muted)}.theme-homikey .badge.active{color:var(--green-dark)}.theme-homikey .panel-head p{color:var(--muted)}.theme-homikey .table-wrap thead{background:var(--paper)}.theme-homikey .form-alert{color:var(--danger-dark)}body:has(:is(.app-shell,.login-page).theme-homikey) .modal-backdrop .form-alert{color:var(--danger-dark)}body:has(:is(.app-shell,.login-page).theme-homikey) .modal{font-family:var(--font-body);color:var(--ink);background:var(--paper)}body:has(:is(.app-shell,.login-page).theme-homikey) .modal-header h2{font-family:var(--font-heading)}body:has(:is(.app-shell,.login-page).theme-homikey) .modal-header p{color:var(--muted)}body:has(:is(.app-shell,.login-page).theme-homikey) .toast{font-family:var(--font-body);color:var(--green-dark);border-color:var(--green)}body:has(:is(.app-shell,.login-page).theme-homikey) .toast.error{color:var(--danger-dark);border-color:var(--danger)}@media (width<=767px){:is(.theme-homikey,body:has(:is(.app-shell,.login-page).theme-homikey) .modal-backdrop) .btn{min-height:44px}}.theme-homikey .segmented{background:var(--paper);box-shadow:inset 0 0 0 1px var(--control-line)}.theme-homikey .segmented button{border-radius:8px}.theme-homikey .segmented button:hover{color:var(--accent-dark);background:var(--accent-soft)}.theme-homikey .segmented .active,.theme-homikey .segmented .active:hover{color:#fff;background:var(--accent);box-shadow:none}.theme-homikey .table-wrap th{background:var(--paper);color:var(--subtle);border-bottom:1px solid var(--line-soft)}.theme-homikey .table-wrap td{color:var(--ink-2);border-top-color:var(--line-soft)}.theme-homikey .table-wrap td>small{color:var(--muted)}body:has(:is(.app-shell,.login-page).theme-homikey) .modal-actions>.btn{white-space:normal;flex:0 160px;min-width:0}@media (width<=767px){body:has(:is(.app-shell,.login-page).theme-homikey) .modal-actions>.btn{flex:120px}}.modal-actions>.btn.btn-nowrap{white-space:nowrap}body:has(:is(.app-shell,.login-page).theme-homikey) .modal-actions>.btn.btn-nowrap{white-space:nowrap;flex:none;min-width:max-content}@media (width<=767px){body:has(:is(.app-shell,.login-page).theme-homikey) .modal-actions>.btn.btn-nowrap{flex:auto}}:is(.theme-homikey,body:has(:is(.app-shell,.login-page).theme-homikey) .modal-backdrop) .btn.primary:disabled{background:var(--accent);box-shadow:none}:is(.theme-homikey,body:has(:is(.app-shell,.login-page).theme-homikey) .modal-backdrop) .btn.secondary:disabled{background:var(--paper);border-color:var(--line)}.kpi-strip{border-radius:var(--radius-lg);background:var(--paper);box-shadow:var(--shadow-sm);grid-template-columns:repeat(auto-fill,minmax(clamp(25%,819180px - 99900%,50%),1fr));display:grid;overflow:hidden}.kpi-strip-cell{min-width:0;box-shadow:inset -1px 0 0 var(--line-soft), inset 0 -1px 0 var(--line-soft);color:var(--ink);font:inherit;text-align:left;background:0 0;border:0;border-radius:0;flex-direction:column;align-items:stretch;gap:16px;margin:0;padding:20px 24px;display:flex}.kpi-strip .ks-head{align-items:flex-start;gap:16px;display:flex}.kpi-strip .ks-icon{background:var(--blue-soft);width:40px;height:40px;color:var(--ink);border-radius:50%;flex:none;justify-content:center;align-items:center;display:flex}.kpi-strip .ks-text{flex-direction:column;gap:8px;min-width:0;display:flex}.kpi-strip .ks-label{color:var(--ink-2);font-size:13px;font-weight:500;line-height:1.3}.kpi-strip .ks-value{color:var(--ink);font:700 24px/1 var(--font-body);font-variant-numeric:tabular-nums;white-space:nowrap;margin:0;display:block}.kpi-strip .ks-foot{justify-content:space-between;align-items:center;gap:8px;display:flex}.kpi-strip .ks-note{color:var(--subtle);font-size:11px;line-height:1.4}.kpi-strip .ks-chip{white-space:nowrap;border-radius:12px;padding:4px 8px;font-size:11px;font-weight:600}.kpi-strip .ks-chip.good{background:var(--green-soft);color:var(--green-text)}.kpi-strip .ks-chip.muted{background:var(--line-soft);color:var(--muted)}.kpi-strip[data-variant=plain] .kpi-strip-cell{gap:12px}.kpi-strip[data-variant=plain] .ks-label{color:var(--muted);font-size:12px;font-weight:400}.kpi-strip[data-variant=plain] .ks-value{letter-spacing:-.03em;font-weight:600}.kpi-strip[data-variant=plain] .ks-value.is-warn{color:var(--brand-highlight-dark)}.kpi-strip[data-variant=plain] .ks-value em{color:inherit;font:inherit;margin-left:4px}.kpi-strip[data-variant=plain] .kpi-strip-cell.is-featured{background:var(--accent)}.kpi-strip[data-variant=plain] .kpi-strip-cell.is-featured :is(.ks-label,.ks-value,.ks-note){color:var(--paper)}.kpi-strip[data-variant=plain] .kpi-strip-cell.is-featured .ks-note{opacity:.8}.kpi-strip[data-variant=plain] .ks-value.is-good{color:var(--green-text)}.kpi-strip[data-variant=plain] .ks-note.is-good{color:var(--green-text);font-weight:600}.kpi-strip[data-variant=plain] .ks-note.is-warn{color:var(--brand-highlight-dark);font-weight:600}.kpi-strip[data-variant=dot] .kpi-strip-cell{align-items:flex-start;gap:12px}.kpi-strip .ks-dot-label{color:var(--muted);align-items:center;gap:8px;font-size:13px;display:flex}.kpi-strip .ks-dot{background:var(--subtle);border-radius:50%;width:6px;height:6px}.kpi-strip .ks-dot.navy{background:var(--accent)}.kpi-strip .ks-dot.green{background:var(--green)}.kpi-strip .ks-dot.amber{background:var(--orange-dot)}.kpi-strip .ks-dot.ink{background:var(--ink)}.kpi-strip .ks-dot.orange{background:var(--brand-highlight)}.kpi-strip .ks-dot.red{background:var(--danger-dark)}.kpi-strip .ks-dot.grey{background:var(--scroll-hover)}.kpi-strip .kpi-strip-cell.is-wide{grid-column:span 2}.kpi-strip .kpi-strip-cell.is-button{cursor:pointer;transition:background .15s}.kpi-strip .kpi-strip-cell.is-button:hover{background:var(--surface-2)}.kpi-strip .kpi-strip-cell.is-button:focus-visible{outline:2px solid var(--focus-ring);outline-offset:-3px}.kpi-strip .kpi-strip-cell.is-button.active{background:var(--surface-2);box-shadow:inset -1px 0 0 var(--line-soft), inset 0 -3px 0 var(--accent)}@media (width<=767px){.kpi-strip[data-variant=icon],.kpi-strip[data-variant=plain]{grid-template-columns:minmax(0,1fr)}.kpi-strip[data-variant=icon] .kpi-strip-cell.is-wide,.kpi-strip[data-variant=plain] .kpi-strip-cell.is-wide{grid-column:auto}.kpi-strip[data-variant=dot]{grid-template-columns:repeat(2,minmax(0,1fr))}.kpi-strip-cell{padding:16px 20px}.kpi-strip[data-variant=dot] .kpi-strip-cell{padding:16px}}.filter-pop{flex:none;position:relative}.filter-pop-trigger{border-radius:var(--radius);background:var(--paper);height:40px;box-shadow:inset 0 0 0 1px var(--control-line);color:var(--ink);font:600 13px/1 var(--font-body);cursor:pointer;border:0;align-items:center;gap:8px;padding:0 14px;transition:background .15s,box-shadow .15s;display:inline-flex}.filter-pop-trigger:hover{background:var(--surface-2)}.filter-pop-trigger.is-set,.filter-pop-trigger[aria-expanded=true]{box-shadow:inset 0 0 0 1px var(--accent)}.filter-pop-trigger:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.filter-pop-count{background:var(--accent);color:#fff;border-radius:9px;justify-content:center;align-items:center;min-width:18px;height:18px;padding:0 5px;font-size:11px;font-weight:700;display:inline-flex}.filter-pop-panel{z-index:var(--z-dropdown);border-radius:var(--radius-lg);background:var(--paper);width:min(380px,100vw - 32px);box-shadow:var(--shadow-lg);gap:14px;padding:16px;display:grid;position:absolute;top:calc(100% + 8px);right:0}.filter-pop-field{color:var(--muted);gap:6px;font-size:12px;font-weight:500;display:grid}.filter-pop-field select,.filter-pop-field input{width:100%;min-height:40px}.filter-pop-field select{border:1px solid var(--control-line);border-radius:var(--radius);background-color:var(--paper);color:var(--ink);font:500 13px/1 var(--font-body);padding:0 12px}.filter-pop-field select:focus-visible{outline:2px solid var(--focus-ring);outline-offset:1px}.filter-pop-group{border:0;gap:8px;min-width:0;margin:0;padding:0;display:grid}.filter-pop-group>legend,.filter-pop-group>.filter-pop-title{color:var(--muted);padding:0;font-size:12px;font-weight:500}.filter-pop-chips{flex-wrap:wrap;gap:6px;display:flex}.filter-pop-reset{color:var(--accent);font:600 13px/1.3 var(--font-body);cursor:pointer;background:0 0;border:0;justify-self:start;padding:0}.filter-pop-reset:hover{text-decoration:underline}@media (width<=767px){.filter-pop-trigger{min-height:44px}.filter-pop-panel{left:0;right:auto}}.admin-table{margin-bottom:var(--sp-3);overflow:hidden}.panel.admin-table .table-wrap{box-shadow:none;border:0;border-radius:0;margin:0}.admin-table table{width:100%}.panel.admin-table .table-wrap th{background:var(--surface-2);color:var(--muted);letter-spacing:.06em;border-bottom:1px solid var(--line-soft);padding:12px 16px;font-size:11px;font-weight:600}.panel.admin-table .table-wrap td{vertical-align:middle;border-top:1px solid var(--line-soft);height:58px;color:var(--ink-2);font-size:var(--text-base);padding:8px 16px}@media (width>=768px){.panel.admin-table .table-wrap :is(th,td):first-child{padding-left:24px}.panel.admin-table .table-wrap :is(th,td):last-child{padding-right:24px}}.admin-table td>strong{color:var(--ink);font-size:var(--text-base);font-weight:600;display:block}.admin-table td>small,.sub-table td>small{color:var(--muted);font-size:var(--text-xs);overflow-wrap:anywhere;margin-top:2px;display:block}.admin-table tbody tr:hover td{background:var(--surface-2)}.panel.admin-table .table-wrap td .badge{color:var(--ink-2);font-size:var(--text-xs);background:0 0;border-radius:0;gap:8px;padding:0;font-weight:600}.panel.admin-table .table-wrap td .badge i{background:var(--subtle);width:6px;height:6px}.panel.admin-table .table-wrap td .badge.active i{background:var(--green)}.panel.admin-table .table-wrap td .badge.conflict i{background:var(--orange-dot)}.panel.admin-table .table-wrap td .badge.danger i{background:var(--danger)}.panel.admin-table .table-wrap td .badge.room-occupied i{background:var(--accent)}.panel.admin-table .table-wrap td .badge.inactive i{background:var(--scroll-hover)}.admin-table :is(td,th).num,.admin-table td.admin-action-cell{text-align:right}.admin-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}@media (width>=768px){.admin-table td:is([data-label=Hóa\ đơn],[data-label=Tổng\ cộng],[data-label=Số\ tiền])>strong,.admin-table td[data-label=Thời\ gian]>time{white-space:nowrap}}@media (width<=767px){.admin-table tr.audit-row-open{grid-auto-flow:dense}.admin-table tr.audit-row-open>td[data-label=Hành\ động]{grid-column:1/-1}.admin-table table,.admin-table tbody,.sub-table,.sub-table tbody{min-width:0;display:block}.admin-table thead,.sub-table thead{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.admin-table tr,.sub-table tr{border-top:1px solid var(--line);grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:16px;display:grid}.panel.admin-table .table-wrap td,.sub-table td{white-space:normal;text-align:left;border:0;min-width:0;height:auto;padding:0;display:block}.admin-table td:before,.sub-table td:before{content:attr(data-label);color:var(--muted);margin-bottom:4px;font-size:10px;display:block}.admin-table td:first-child,.sub-table td:first-child{grid-column:1/-1}.admin-table td:first-child:before,.sub-table td:first-child:before{display:none}.admin-table td.admin-action-cell,.sub-table td.admin-action-cell{grid-column:1/-1}.admin-table td.admin-action-cell:before,.sub-table td.admin-action-cell:before{display:none}.admin-table td:last-child:nth-child(2n),.sub-table td:last-child:nth-child(2n){grid-column:1/-1}.admin-actions{justify-content:flex-start}.admin-actions .btn,.sub-table td .btn{min-height:44px}}.login-form h2{letter-spacing:-.8px;margin:10px 0 7px;font-size:28px}.login-form>p{color:#8f918c;font-size:var(--text-sm);margin-bottom:28px}.login-form .field{margin-top:16px}.password-field{position:relative}.password-field input{padding-right:52px}.password-field button{height:30px;color:var(--accent);background:0 0;border:0;padding:0 6px;font-size:11px;font-weight:600;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.form-between{justify-content:space-between;align-items:center;margin:18px 0;display:flex}.check-label{color:#71736e;font-size:var(--text-sm);gap:var(--sp-2);align-items:center;display:flex}.check-label input{accent-color:var(--accent)}.link-button{color:var(--accent);font-size:var(--text-sm);background:0 0;border:0;padding:0;font-weight:600;transition:color .15s}.link-button:hover{color:var(--accent-dark)}.login-button{width:100%;min-height:44px;font-size:var(--text-base)}.demo-note{margin-top:var(--sp-5);background:var(--surface);border-radius:var(--radius);align-items:center;gap:var(--sp-2);border:1px dashed #dddcd5;flex-wrap:wrap;padding:11px 13px;display:flex}.demo-note strong{color:#8a8c87;margin-right:auto;font-size:11px}.demo-note code{color:#676862;background:var(--line-soft);border-radius:4px;padding:2px 6px;font-size:11px}.mobile-logo{align-items:center;gap:var(--sp-2);font:700 18px/1 var(--font-heading);color:var(--ink);margin-bottom:var(--sp-10);display:none}.login-page.theme-homikey{color:var(--ink);font-family:var(--font-body)}.login-page.theme-homikey .field input{background:var(--paper);min-height:46px}.login-page.theme-homikey .check-label{color:var(--ink-2);font-size:12px}.login-page.theme-homikey .login-button{min-height:48px;box-shadow:var(--shadow-md)}.demo-role-picker{flex-wrap:wrap;gap:8px;display:flex}.demo-role-picker button{border:1px solid var(--line);border-radius:var(--radius-full);background:var(--paper);color:var(--ink-2);min-height:36px;padding:8px 12px;font-size:11px;font-weight:600}.demo-role-picker button:hover{border-color:var(--accent);background:var(--accent-soft)}.demo-role-picker button[aria-pressed=true]{background:var(--accent);color:var(--paper);border-color:var(--accent)}body:has(.login-page.theme-homikey) .modal-backdrop{font-family:var(--font-body)}.login-recovery-form .modal-body>*{grid-column:1/-1;min-width:0}body:has(.login-page.theme-homikey) .modal-header h2{font:400 24px/1.4 var(--font-display)}.login-recovery-actions .btn{white-space:normal;min-height:44px;line-height:1.5}body:has(.login-page.theme-homikey) .callout{border:1px solid var(--line);border-radius:var(--radius);background:var(--accent-softer);color:var(--ink-2);gap:10px;padding:14px;line-height:1.6;display:flex}body:has(.login-page.theme-homikey) .callout-danger{background:var(--danger-soft);color:var(--danger-dark)}body:has(.login-page.theme-homikey) .callout-warning{background:var(--orange-soft);color:var(--orange-dark)}.login-page.theme-homikey .login-form .field>label,.login-page.theme-homikey .login-form label.field>span:not(.login-field-icon):not(.password-field):not(.sr-only){color:var(--ink);font-size:12px;font-weight:500}.login-page.theme-homikey .field input{border-color:var(--control-line);min-height:44px}.login-page.theme-homikey .field input[type=checkbox]{min-height:0}.login-page.theme-homikey .field input:focus-visible{outline:2px solid var(--focus-ring);outline-offset:1px}.login-page.theme-homikey .password-field button{border-radius:var(--radius-sm);width:36px;height:36px;color:var(--muted);place-items:center;padding:0;display:grid;right:6px}.login-page.theme-homikey .password-field button:hover{color:var(--ink);background:var(--surface-2)}.login-page.theme-homikey .password-field button:focus-visible{outline:2px solid var(--focus-ring);outline-offset:0}.login-page.theme-homikey .login-form .auth-submit{min-height:44px;margin-top:18px}.login-form .auth-step-links .link-button{color:var(--accent);font-weight:500}.login-page.theme-homikey{isolation:isolate;color:#1c2835;background:linear-gradient(119.488deg,#f6f7f8 0%,#e7f0f6 50%,#f1f6fa 100%);flex-direction:column;gap:14px;min-height:100vh;padding:29px 44px 28px 54px;display:flex;position:relative;overflow:hidden}.login-bg{z-index:-1;pointer-events:none;position:absolute;inset:0;overflow:hidden}.login-bg>span,.login-bg>svg{display:block;position:absolute}.login-bg-city{background:url(/assets/login-city-DPblcey4.webp) 50%/cover no-repeat;inset:0}.login-bg-residence{background:url(/assets/login-residence-CLpEAZQ1.webp) 50%/cover no-repeat;width:55%;top:0;bottom:0;right:0;-webkit-mask-image:linear-gradient(90deg,#0000 0%,#000 38%);mask-image:linear-gradient(90deg,#0000 0%,#000 38%)}.login-bg-veil{background:linear-gradient(90deg,#fafbfce6 0%,#fafbfcc7 52%,#fafbfc4d 80%,#fafbfc00 100%);width:51%;top:0;bottom:0;left:0}.login-bg-orb{background:#eaf5ffcc;border-radius:50%;width:400px;height:280px;top:-160px;right:-120px}.login-bg-wave{width:100%;height:27%;bottom:0;left:0}.login-bg-wave path{fill:#f8fafccc}.login-top{z-index:1;justify-content:space-between;align-items:center;gap:16px;display:flex;position:relative}.login-brand{font:700 24px/1 var(--font-body);letter-spacing:-.02em;color:#1c2835;align-items:center;gap:10.8px;display:flex}.login-brand .brand-logo{flex:none;display:flex}.login-lang{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#0f2d50;height:34px;font:400 12px/1 var(--font-body);background:#ffffff8c;border-radius:10px;align-items:center;gap:10px;padding:0 10px;display:flex;position:relative}.login-lang b{flex:none;justify-content:center;align-items:center;width:16px;height:16px;display:flex}.login-lang span{padding-right:16px}.login-lang i{border-bottom:1.2px solid #0f2d50;border-right:1.2px solid #0f2d50;width:6px;height:6px;margin-top:-3px;position:absolute;top:50%;right:12px;transform:rotate(45deg)}.login-body{z-index:1;flex:1;justify-content:space-between;align-items:stretch;gap:32px;min-height:0;display:flex;position:relative}.login-visual{color:#1c2835;background:0 0;flex-direction:column;flex:440px;justify-content:space-between;gap:32px;min-width:0;max-width:720px;display:flex}.login-copy{flex-direction:column;gap:9px;max-width:488px;padding:24px 24px 0 0;display:flex}.login-copy h1{font-family:var(--font-login-display);letter-spacing:-1.2px;color:#1c2835;margin:0;font-size:clamp(38px,3.9vw,50px);font-weight:700;line-height:1.1}.login-copy h1 em{letter-spacing:-1px;margin-top:9px;font-size:clamp(34px,3.4vw,44px);font-style:italic;font-weight:400;line-height:1.12;display:block}.login-copy>p{color:#1c2835;max-width:332px;margin:0;padding:14px 0;font-size:13px;line-height:1.55}.login-foot{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:24px 40px;padding-left:14px;display:flex}.login-benefits{flex-wrap:wrap;gap:17px;margin:0;padding:0;list-style:none;display:flex}.login-benefits li{flex-direction:column;align-items:flex-start;gap:8px;width:113px;display:flex}.login-benefits li>span{color:#0f2d50;background:#ffffffeb;border-radius:50%;justify-content:center;align-items:center;width:42px;height:42px;display:flex;box-shadow:0 6px 18px -8px #0f2d5059}.login-benefits strong{color:#0f2d50;font-size:14px;font-weight:700}.login-benefits small{color:#47617b;font-size:12px;line-height:1.4}.login-hand{flex-direction:column;align-items:center;gap:3px;margin-bottom:10px;display:flex;transform:rotate(-12deg)}.login-hand>span{font-family:var(--font-login-hand);text-align:center;color:#0f2d50;font-size:29px;line-height:1.06}.login-hand path{fill:none;stroke:#f97316;stroke-width:1.6px;stroke-linecap:round}.login-form-wrap{background:0 0;flex:0 434px;align-items:center;min-width:min(100%,340px);padding:0;display:flex}.auth-flow-page .login-form-wrap{flex-basis:520px}.auth-flow-page .login-form-wrap:has(.auth-card-wide){flex-basis:640px}.login-page.theme-homikey .login-form{isolation:isolate;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#fffc;border:0;border-radius:24px;width:100%;padding:45px 40px 38px;position:relative;overflow:hidden;box-shadow:inset 0 0 0 2px #ffffffc9,0 8px 26px #45668016}.login-page.theme-homikey .login-form:before{content:"";z-index:-1;pointer-events:none;background:#d4ecfb54;border-radius:50%;width:170px;height:220px;position:absolute;top:80px;right:-74px}.login-page.theme-homikey .login-form:not(.auth-flow-card){flex-direction:column;gap:17px;display:flex}.login-page.theme-homikey .login-form:not(.auth-flow-card)>*{margin-top:0;margin-bottom:0}.login-card-head{flex-direction:column;gap:7px;padding:0 24px 11px;display:flex}.login-page.theme-homikey .login-form h2{font-family:var(--font-login-display);letter-spacing:0;color:#061e36;margin:0;font-size:38px;font-weight:700;line-height:1.15}.login-card-head p,.login-page.theme-homikey .login-form:not(.auth-flow-card)>p{color:#0f2d50;margin:0;font-size:13px;line-height:1.4}.login-page.theme-homikey .login-form:not(.auth-flow-card)>p{color:#47617b;line-height:1.55}.login-page.theme-homikey .login-form.auth-flow-card{padding:36px 32px 30px}.login-page.theme-homikey .login-form.auth-flow-card h2{margin:6px 0 8px;font-size:32px;line-height:1.2}.login-page.theme-homikey .login-form.auth-flow-card>p{color:var(--muted);margin:0 0 20px}.auth-tabs{border-bottom:1px solid #e5ecf2;gap:20px;margin:0;padding:0 20px;display:flex}.auth-tabs button{color:#7890ab;font:500 11px/1.3 var(--font-body);cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;margin-bottom:-1px;padding:0 0 12px}.auth-tabs button:hover{color:#0f2d50}.auth-tabs button.active{color:#0f2d50;border-bottom-color:#f97316;font-weight:700}.login-page.theme-homikey .login-form .login-field{background:#ffffffd9;border-radius:12px;align-items:center;gap:12px;height:43px;padding:0 16px;transition:box-shadow .18s;display:flex;position:relative;box-shadow:inset 0 0 0 1px #e5ecf2}.login-page.theme-homikey .login-form .login-field:has(.password-field){padding-right:14px}.login-field-icon{color:#47617b;pointer-events:none;flex:none;justify-content:center;align-items:center;width:18px;height:18px;display:flex;position:static}main.login-page.theme-homikey .login-form .login-field input,main.login-page.theme-homikey .login-form .login-field input:focus{width:auto;min-width:0;height:100%;min-height:0;box-shadow:none;color:#0f2d50;font:400 13px/1.2 var(--font-body);background:0 0;border:0;border-radius:0;outline:0;flex:1;padding:0}.login-form .login-field input::placeholder{color:#91a3ba;opacity:1}.login-page.theme-homikey .login-form .login-field:has(input:focus-visible){outline-offset:2px;outline:2px solid #e07d54}.login-page.theme-homikey .login-form .login-field:has(input[aria-invalid=true]){box-shadow:inset 0 0 0 1px #d14343,0 0 0 3px #d143431f}.login-page.theme-homikey .login-form .login-field .password-field{flex:1;align-items:center;gap:8px;min-width:0;display:flex}main.login-page.theme-homikey .login-form .login-field .password-field input{padding:0}.login-page.theme-homikey .login-form .login-field .password-field button{color:#0f2d50;cursor:pointer;background:0 0;border-radius:8px;flex:none;justify-content:center;align-items:center;width:24px;height:24px;padding:0;display:flex;position:static;transform:none}.login-page.theme-homikey .login-form .login-field .password-field button:hover{color:#0f2d50;background:#0f2d5012}.login-page.theme-homikey .login-form .login-field .password-field button:focus-visible{outline-offset:2px;outline:2px solid #e07d54}.login-page.theme-homikey .form-between{gap:12px;margin:0}.login-remember{cursor:pointer;color:#0f2d50;gap:8px;font-size:12px;position:relative}.login-page.theme-homikey .login-remember{color:#0f2d50;font-size:12px}.login-remember input{opacity:0;cursor:pointer;width:20px;height:20px;margin:-10px 0 0;position:absolute;top:50%;left:0}.login-check-box{background:#fff;border-radius:5px;flex:none;justify-content:center;align-items:center;width:20px;height:20px;transition:background-color .18s,box-shadow .18s;display:flex;box-shadow:inset 0 0 0 1.5px #b7c8d6}.login-check-box svg{opacity:0}.login-check-box path{fill:none;stroke:#fff;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round}.login-remember input:checked+.login-check-box{background:#0f2d50;box-shadow:inset 0 0 0 1.5px #0f2d50}.login-remember input:checked+.login-check-box svg{opacity:1}.login-remember input:focus-visible+.login-check-box{outline-offset:2px;outline:2px solid #e07d54}.login-page.theme-homikey .login-forgot{color:#0050af;font-size:12px;font-weight:400}.login-page.theme-homikey .login-forgot:hover{color:#e07d54}.login-page.theme-homikey .link-button:focus-visible{outline-offset:2px;border-radius:8px;outline:2px solid #e07d54}main.login-page.theme-homikey .login-form button.login-button.btn.primary{color:#fff;width:100%;height:50px;min-height:50px;font:600 15px/1 var(--font-body);cursor:pointer;background:linear-gradient(98deg,#153b5c 0%,#07304b 100%);border:0;border-radius:15px;justify-content:center;align-items:center;gap:10px;padding:0 48px;transition:background .18s,box-shadow .18s,opacity .18s;display:flex;position:relative;box-shadow:0 10px 22px -12px #07304bcc}main.login-page.theme-homikey .login-form button.login-button.btn.primary:hover:not(:disabled),main.login-page.theme-homikey .login-form button.login-button.btn.primary:active:not(:disabled){background:linear-gradient(98deg,#1e4d75 0%,#0b3d5e 100%);box-shadow:0 10px 22px -12px #07304bcc}main.login-page.theme-homikey .login-form button.login-button.btn.primary:disabled{opacity:.7;cursor:not-allowed}main.login-page.theme-homikey .login-form button.login-button.btn.primary:focus-visible{outline-offset:2px;outline:2px solid #e07d54}.login-button .spinner{border:2px solid #ffffff59;border-top-color:#fff;width:16px;height:16px}.login-button-arrow{flex:none;margin-top:-7px;position:absolute;top:50%;right:16px}.login-button-arrow path{fill:none;stroke:#fff;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round}.login-page.theme-homikey .demo-note{color:#47617b;background:0 0;border:0;border-radius:0;flex-flow:wrap;align-items:center;gap:6px;padding:0;font-size:12px;display:flex}.login-page.theme-homikey .demo-note strong{color:#47617b;margin:0 2px 0 0;font-size:12px;font-weight:400}.login-page.theme-homikey .demo-role-picker{display:contents}.login-page.theme-homikey .demo-role-picker button{color:#0f2d50;height:28px;min-height:28px;font:600 11px/1 var(--font-body);cursor:pointer;background:#fff;border:0;border-radius:999px;padding:0 10px;box-shadow:inset 0 0 0 1px #cad7e0}.login-page.theme-homikey .demo-role-picker button:hover{background:#fff;box-shadow:inset 0 0 0 1px #b7c8d6}.login-page.theme-homikey .demo-role-picker button[aria-pressed=true]{color:#fff;background:#0f2d50;box-shadow:inset 0 0 0 1px #cad7e0}.login-page.theme-homikey .demo-role-picker button:focus-visible{outline-offset:2px;outline:2px solid #e07d54}.login-page.theme-homikey .demo-role-picker button:disabled{opacity:.6;cursor:not-allowed}.login-page.theme-homikey .login-form>p.login-signup-line{text-align:center;color:#0f2d50;margin:8px 0 0;font-size:13px;line-height:1.4}.login-signup-line .link-button{color:#f97316;font-size:13px;font-weight:600}.login-signup-line .link-button:hover{color:#e07d54;text-decoration:underline}.login-page.theme-homikey .login-form .form-alert{border-radius:12px;min-height:0;font-size:13px}@media (width<=1279px){.login-page.theme-homikey{padding:28px 32px 28px 40px}.login-body{gap:24px}.login-copy{padding-right:0}}@media (width<=1023px){.login-page.theme-homikey{padding:24px 24px 24px 32px}.login-foot{gap:20px;padding-left:0}.login-benefits{gap:12px}.login-benefits li{width:104px}.login-page.theme-homikey .login-form:not(.auth-flow-card){padding:40px 28px 32px}.login-card-head{padding:0 8px 11px}}@media (width<=900px){.login-page.theme-homikey{padding:0;display:block}.login-top,.login-visual,.login-bg-veil,.login-bg-orb{display:none}.login-bg-residence{opacity:.3;width:100%;-webkit-mask-image:none;mask-image:none}.login-body{min-height:100vh;display:block}.login-form-wrap{justify-content:center;min-width:0;min-height:100vh;padding:32px 16px}.login-page.theme-homikey .login-form:not(.auth-flow-card),.login-page.theme-homikey .login-form.auth-flow-card{padding:32px 24px 28px}.login-page.theme-homikey .mobile-logo{margin-bottom:4px;display:flex}.login-page.theme-homikey .login-form.auth-flow-card .mobile-logo{margin-bottom:20px}.login-page.theme-homikey .login-form h2{font-size:32px}.login-card-head{padding:0 0 7px}.auth-tabs{padding:0}.auth-tabs button{min-height:44px;padding-bottom:8px}.login-page.theme-homikey .form-between{flex-wrap:wrap}.login-page.theme-homikey .demo-role-picker button{height:36px;min-height:36px}}@media (width<=400px){.login-form-wrap{padding:24px 12px}.login-page.theme-homikey .login-form:not(.auth-flow-card),.login-page.theme-homikey .login-form.auth-flow-card{padding:28px 18px 22px}.login-page.theme-homikey .login-form h2{font-size:28px}}.login-passkey{gap:10px;margin:0;display:grid}.login-page.theme-homikey .login-passkey-or{color:#47617b;align-items:center;gap:12px;margin:0;font-size:12px;display:flex}.login-passkey-or:before,.login-passkey-or:after{content:"";background:#0f2d5024;flex:1;height:1px}.login-page.theme-homikey .login-passkey-button{color:#0f2d50;width:100%;height:46px;font:600 14px/1 var(--font-body);cursor:pointer;background:#fff;border:0;border-radius:15px;justify-content:center;align-items:center;gap:8px;padding:0 16px;transition:box-shadow .18s,background .18s;display:flex;box-shadow:inset 0 0 0 1.5px #b7c8d6}.login-page.theme-homikey .login-passkey-button:hover:not(:disabled){background:#0f2d500a;box-shadow:inset 0 0 0 1.5px #0f2d50}.login-page.theme-homikey .login-passkey-button:disabled{opacity:.7;cursor:not-allowed}.login-page.theme-homikey .login-passkey-button:focus-visible{outline-offset:2px;outline:2px solid #e07d54}.login-passkey-button .spinner{border:2px solid #0f2d5040;border-top-color:#0f2d50;width:16px;height:16px}.login-page.theme-homikey .login-form.auth-flow-card{width:min(520px,100%)}.login-page.theme-homikey .login-form.auth-flow-card h2{font-size:32px}.login-form.auth-flow-card .form-alert{margin:0 0 4px}.login-form .field input.auth-code-input{letter-spacing:.5em;text-align:center;font-variant-numeric:tabular-nums;min-height:56px;padding:8px 12px 8px calc(12px + .5em);font-size:26px;font-weight:600}.login-form .field input.auth-code-input::placeholder{color:var(--control-line)}.login-form .field input.auth-recovery-input{min-height:52px;font-size:var(--text-lg);letter-spacing:.12em;text-transform:uppercase;font-weight:600}.login-form .field input.auth-recovery-input::placeholder{letter-spacing:normal;text-transform:none;font-weight:400}.auth-submit,.auth-actions{margin-top:20px}.auth-actions .auth-submit{margin-top:0}.auth-confirm{margin-top:16px}.auth-step-links{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;margin-top:20px;display:flex}.auth-step-links .link-button{min-height:36px}.auth-step-links .link-button:disabled{opacity:.5;cursor:not-allowed}.auth-signed-in{color:var(--muted);font-size:var(--text-xs);overflow-wrap:anywhere}.auth-steps{flex-wrap:wrap;gap:8px;margin:0 0 20px;padding:0;list-style:none;display:flex}.auth-steps li{border:1px solid var(--line);border-radius:var(--radius-full);background:var(--paper);color:var(--muted);font-size:var(--text-xs);align-items:center;gap:8px;padding:4px 12px 4px 4px;font-weight:600;display:inline-flex}.auth-steps li>span{background:var(--surface);width:22px;height:22px;color:var(--muted);border-radius:50%;place-items:center;font-size:11px;display:grid}.auth-steps li.current{color:var(--accent-dark);border-color:var(--accent);background:var(--accent-soft)}.auth-steps li.current>span{background:var(--accent);color:var(--paper)}.auth-steps li.done{color:var(--green-dark)}.auth-steps li.done>span{background:var(--green-soft);color:var(--green-dark)}.auth-section-title{font-size:var(--text-md);margin:4px 0 6px}.auth-hint{color:var(--muted);font-size:var(--text-sm);margin:0 0 14px;line-height:1.6}.auth-note{border:1px solid var(--line);border-radius:var(--radius);background:var(--accent-softer);color:var(--ink-2);font-size:var(--text-sm);gap:10px;padding:14px;line-height:1.6;display:flex}.auth-note>.icon{color:var(--accent);flex:none;margin-top:2px}.auth-note.warning{background:var(--orange-soft);color:var(--orange-dark);border-color:#0000}.auth-note.warning>.icon{color:var(--orange-dark)}.auth-qr{flex-wrap:wrap;align-items:center;gap:16px;margin:0 0 12px;display:flex}.auth-qr-code{border:1px solid var(--line);border-radius:var(--radius);background:#fff;flex:none}.auth-qr .auth-hint{flex:1;min-width:200px;margin:0}.auth-secret{border:1px dashed var(--control-line);border-radius:var(--radius);background:var(--surface-2);gap:10px;margin:0 0 4px;padding:14px;display:grid}.auth-secret>small{color:var(--muted);font-size:var(--text-xs);overflow-wrap:anywhere}.auth-secret>code{letter-spacing:.08em;color:var(--ink);overflow-wrap:anywhere;-webkit-user-select:all;user-select:all;font:600 18px/1.5 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.auth-secret-actions{flex-wrap:wrap;gap:8px;margin-top:4px;display:flex}.auth-manual{margin:0 0 12px}.auth-manual summary{cursor:pointer;color:var(--muted);font-size:var(--text-sm);align-items:center;min-height:32px;font-weight:600;display:flex}.auth-manual[open] summary{margin-bottom:8px}.auth-secret-actions .btn{text-decoration:none}.auth-uri{gap:8px;display:grid}.auth-uri code{border-radius:var(--radius-sm);background:var(--paper);border:1px solid var(--line);overflow-wrap:anywhere;-webkit-user-select:all;user-select:all;padding:8px 10px;font:12px/1.5 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.auth-uri .btn{justify-self:start}.auth-recovery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:14px 0 12px;padding:0;list-style:none;display:grid}.auth-recovery-grid li{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-2);text-align:center;padding:9px 10px}.auth-recovery-grid code{letter-spacing:.06em;overflow-wrap:anywhere;-webkit-user-select:all;user-select:all;font:600 14px/1.4 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.account-contexts{border-bottom:1px solid var(--line);gap:2px;padding:10px 0 8px;display:grid}.account-contexts-title{color:var(--muted);letter-spacing:.4px;text-transform:uppercase;margin:0;padding:0 10px 6px;font-size:11px;font-weight:700}.account-context-option{border-radius:var(--radius);width:100%;min-height:48px;color:var(--ink);text-align:left;background:0 0;border:0;align-items:center;gap:10px;padding:8px 10px;display:flex}.account-context-option:hover:not(:disabled){background:var(--surface-2)}.account-context-option.active{background:var(--accent-soft)}.account-context-option:disabled:not(.active){opacity:.55;cursor:not-allowed}.account-context-icon{background:var(--surface);width:32px;height:32px;color:var(--accent);border-radius:50%;flex:none;place-items:center;display:grid}.account-context-option.active .account-context-icon{background:var(--paper)}.account-context-text{flex:1;gap:2px;min-width:0;display:grid}.account-context-text strong{font-size:var(--text-sm);overflow-wrap:anywhere}.account-context-text small{color:var(--muted);font-size:var(--text-xs)}.account-context-option>.icon{color:var(--accent);flex:none}.account-context-error{color:var(--danger);font-size:var(--text-xs);margin:6px 10px 0;line-height:1.5}@media (width<=480px){.auth-recovery-grid{grid-template-columns:1fr}.login-form .field input.auth-code-input{font-size:24px}}.auth-flow-card h2:focus{outline:none}.login-page.theme-homikey .login-form.auth-flow-card.auth-card-wide{width:min(640px,100%)}.login-form .field small.auth-hint{color:var(--muted);font-size:var(--text-xs);margin:4px 0 0;line-height:1.5;display:block}.login-form .callout-success{background:var(--green-soft);color:var(--green-dark);border-color:#0000}.login-form .callout-success+.callout-success{margin-top:8px}.login-form .auth-note{margin-top:12px}.login-form .auth-actions{gap:8px;display:grid}.login-form .auth-actions .btn{justify-content:center;width:100%}.login-alt-links{flex-direction:column;justify-content:center;align-items:center;gap:2px;margin-top:16px}.invite-summary{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-2);gap:0;margin:16px 0 4px;padding:4px 14px;display:grid}.invite-summary>div{border-bottom:1px solid var(--line);grid-template-columns:minmax(96px,120px) minmax(0,1fr);gap:12px;padding:9px 0;display:grid}.invite-summary>div:last-child{border-bottom:0}.invite-summary dt{color:var(--muted);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.3px;align-self:center;font-weight:600}.invite-summary dd{font-size:var(--text-sm);overflow-wrap:anywhere;margin:0;font-weight:600}.auth-segment{border:1px solid var(--line);border-radius:var(--radius-full);background:var(--surface);gap:2px;margin-top:16px;padding:3px;display:inline-flex}.auth-segment button{border-radius:var(--radius-full);min-height:32px;color:var(--muted);font-size:var(--text-sm);background:0 0;border:0;padding:4px 14px;font-weight:600}.auth-segment button.active{background:var(--paper);color:var(--accent-dark);box-shadow:var(--shadow-sm,0 1px 2px #0000001f)}.auth-section{border-top:1px solid var(--line);gap:4px;margin-top:22px;padding-top:20px;display:grid}.auth-section .auth-section-title{font-size:var(--text-md);margin:0 0 2px}.auth-section .auth-hint{margin:0 0 8px}.auth-section .btn{justify-self:start;margin-top:10px}.auth-block{gap:10px;display:grid}.auth-block .btn{justify-self:start}.invite-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.invite-item{border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 16px;padding:12px 14px;display:flex}.invite-item-text{flex:220px;gap:2px;min-width:0;display:grid}.invite-item-text strong{font-size:var(--text-sm);overflow-wrap:anywhere}.invite-item-text small{color:var(--muted);font-size:var(--text-xs)}.invite-item-actions{flex-wrap:wrap;gap:8px;display:flex}.invite-item-actions .btn{width:auto;margin:0}.tenant-app-section{gap:10px;display:grid}.tenant-app-section .section-title-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.tenant-app-help{color:var(--muted);font-size:var(--text-sm);margin:0;line-height:1.6}.tenant-app-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.tenant-app-reason{color:var(--muted);font-size:var(--text-xs)}.tenant-app-history summary{cursor:pointer;color:var(--muted);font-size:var(--text-xs);font-weight:600}.tenant-app-history ul{gap:6px;margin:8px 0 0;padding:0;list-style:none;display:grid}.tenant-app-history li{border:1px solid var(--line);border-radius:var(--radius-sm);font-size:var(--text-xs);gap:1px;padding:8px 10px;display:grid}.tenant-app-history li span{color:var(--muted)}.tenant-app-section .callout{border-radius:var(--radius);font-size:var(--text-sm);gap:10px;padding:10px 12px;display:flex}.tenant-app-section .callout-success{background:var(--green-soft);color:var(--green-dark)}@media (width<=480px){.invite-summary>div{grid-template-columns:1fr;gap:2px}.invite-item-actions{width:100%}.invite-item-actions .btn{flex:1}}.drilldown-drawer{border-left:1px solid var(--line);width:min(400px,100vw);z-index:calc(var(--z-drawer) + 2);visibility:hidden;pointer-events:none;background:#fff;flex-direction:column;transition:transform .25s cubic-bezier(.4,0,.2,1),box-shadow .25s cubic-bezier(.4,0,.2,1),visibility 0s linear .25s;display:flex;position:fixed;inset:0 0 0 auto;transform:translate(100%);box-shadow:-8px 0 40px #0000}.drilldown-drawer.open{visibility:visible;pointer-events:auto;transition:transform .25s cubic-bezier(.4,0,.2,1),box-shadow .25s cubic-bezier(.4,0,.2,1),visibility linear;transform:translate(0);box-shadow:-8px 0 40px #0000001f}.link-btn{color:var(--accent);font-size:var(--text-sm);cursor:pointer;background:0 0;border:none;align-items:center;gap:4px;padding:0;font-weight:500;display:inline-flex}.link-btn:hover{text-decoration:underline}.homikey-workspace .welcome{flex-wrap:wrap;align-items:flex-end;gap:20px;margin-bottom:32px}.dash-greeting{color:var(--muted);font-size:var(--text-sm);margin:0 0 8px}.homikey-workspace .welcome h1{font:400 clamp(32px, 3.4vw, 40px)/1.1 var(--font-display);letter-spacing:-.4px;margin:0}.dash-header .heading-actions{flex-shrink:0}.dashboard-select{border-radius:var(--radius);background-color:var(--paper);max-width:100%;height:40px;min-height:40px;box-shadow:inset 0 0 0 1px var(--control-line);color:var(--ink);font:500 var(--text-sm)/1 var(--font-body);border:0;outline:0;padding:0 12px}.dashboard-select:hover{background-color:var(--surface-2)}.dashboard-select:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.homikey-workspace :is(.onboarding-card,.plan-fee-overdue-card){margin-bottom:32px}.homikey-workspace .executive-kpis{border-radius:var(--radius-lg);background:var(--paper);box-shadow:var(--shadow-sm);grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin-bottom:32px;display:grid;overflow:hidden}.homikey-workspace .executive-kpis[data-cards="1"]{grid-template-columns:minmax(0,1fr)}.homikey-workspace .executive-kpis[data-cards="2"]{grid-template-columns:repeat(2,minmax(0,1fr))}.homikey-workspace .executive-kpis[data-cards="3"]{grid-template-columns:repeat(3,minmax(0,1fr))}.kpi-card{border:0;border-left:1px solid var(--line-soft);min-width:0;box-shadow:none;color:var(--ink);font:inherit;text-align:left;cursor:default;background:0 0;border-radius:0;flex-direction:column;align-items:flex-start;gap:12px;padding:24px;transition:background .15s;display:flex}.kpi-card:first-child{border-left:0}button.kpi-card{cursor:pointer}button.kpi-card:hover:not(:disabled){background:var(--surface-2)}.kpi-label{max-width:100%;color:var(--muted);font-size:var(--text-sm);text-overflow:ellipsis;white-space:nowrap;font-weight:500;line-height:1.3;overflow:hidden}.kpi-value{max-width:100%;color:var(--ink);font:600 clamp(26px, 2.4vw, 34px)/1 var(--font-body);letter-spacing:-.035em;font-variant-numeric:tabular-nums;white-space:nowrap;align-items:baseline;gap:8px;margin:0;display:flex}.kpi-unit{color:var(--muted);font:500 var(--text-base)/1 var(--font-body);letter-spacing:0;margin-left:8px}.kpi-value .kpi-unit{margin-left:0}.kpi-spark{width:100%;height:28px;display:block;overflow:visible}.kpi-spark-line{fill:none;stroke:var(--accent);stroke-width:1.75px;stroke-linecap:round;stroke-linejoin:round}.kpi-spark-area{fill:var(--accent);opacity:.08}.kpi-spark.is-flat .kpi-spark-line{stroke:var(--subtle)}.kpi-spark.is-flat .kpi-spark-area{fill:var(--subtle);opacity:.08}.growth-badge{color:var(--muted);font-size:var(--text-xs);background:0 0;border-radius:0;flex-wrap:wrap;align-items:center;gap:2px 4px;margin:0;padding:0;font-weight:400;display:flex}.growth-badge b{white-space:nowrap;font-weight:600}.growth-badge.positive b{color:var(--green-text)}.growth-badge.negative b{color:var(--danger-dark)}.growth-badge.neutral,.growth-badge.neutral b{color:var(--muted)}.dash-attention{flex-wrap:wrap;align-items:center;gap:8px;margin:-16px 0 32px;display:flex}.dash-attention-label{color:var(--muted);font-size:var(--text-xs);margin-right:4px;font-weight:500}.attention-chip{border-radius:var(--radius-full);background:var(--paper);height:32px;box-shadow:inset 0 0 0 1px var(--control-line);color:var(--ink);font:500 var(--text-xs)/1 var(--font-body);white-space:nowrap;cursor:pointer;border:0;align-items:center;gap:8px;padding:0 12px;transition:background .15s,box-shadow .15s;display:inline-flex}.attention-chip:hover{background:var(--surface-2);box-shadow:inset 0 0 0 1px var(--accent)}.attention-chip:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.attention-chip i{background:var(--subtle);border-radius:50%;width:6px;height:6px}.attention-chip.danger i{background:var(--danger-dark)}.attention-chip.warning i{background:var(--brand-highlight)}.attention-chip.info i{background:var(--accent)}.dash-pair{grid-template-columns:minmax(0,1fr);align-items:start;gap:20px;margin-bottom:32px;display:grid}.dash-pair-main[data-cols="2"]{grid-template-columns:minmax(0,1.9fr) minmax(0,1fr)}.dash-card{min-width:0;padding:24px}.dash-card-head{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px;display:flex}.dash-card-head h2{color:var(--ink);font:600 var(--text-lg)/1.3 var(--font-body);margin:0}.dash-card-head .dash-card-label{color:var(--muted);font-size:var(--text-sm);font-weight:500}.dash-card-figure{color:var(--ink);font:600 34px/1 var(--font-body);letter-spacing:-.035em;font-variant-numeric:tabular-nums;align-items:baseline;gap:8px;margin:8px 0 0;display:flex}.dash-card-figure .kpi-unit{margin-left:0}.dash-count{color:var(--muted);font-size:var(--text-sm);margin-left:4px;font-weight:600}.dash-count.has-items{color:var(--danger-dark)}.dash-link{color:var(--muted);font:500 var(--text-sm) var(--font-body);white-space:nowrap;cursor:pointer;background:0 0;border:0;padding:4px 0}.dash-link:hover{color:var(--ink);text-decoration:underline}.dash-toggle{flex-shrink:0;gap:16px;display:flex}.dash-toggle button{color:var(--subtle);font:600 var(--text-sm) var(--font-body);cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;padding:0 0 8px}.dash-toggle button:hover{color:var(--ink)}.dash-toggle button.active{border-bottom-color:var(--accent);color:var(--ink)}.revenue-panel{gap:0}.revenue-chart{align-items:flex-end;gap:12px;height:220px;margin-top:4px;padding:0;display:flex;position:relative}.revenue-chart:before{content:"";background:repeating-linear-gradient(to bottom, var(--line-soft) 0 1px, transparent 1px 33.333%);pointer-events:none;border-bottom:1px solid #ece7e2;position:absolute;inset:0 0 24px}.revenue-chart[data-columns="6"]{gap:20px}.chart-column{z-index:1;cursor:pointer;flex-direction:column;flex:1;align-items:stretch;min-width:0;height:100%;display:flex;position:relative}.bars{flex:1;width:100%;display:block;position:relative}.bar-collected,.bar-future{border-radius:6px 5px 2px 2px;width:100%;max-width:26px;transition:background .18s,height .5s cubic-bezier(.2,.7,.2,1);display:block;position:absolute;bottom:0;left:50%;transform:translate(-50%)}.bar-collected{background:var(--chart-muted);min-height:3px}.is-current .bar-collected,.chart-column:hover .bar-collected{background:var(--accent)}.bar-future{height:30%;box-shadow:inset 0 0 0 1px var(--chart-muted);background:0 0}.bar-tip{left:50%;bottom:calc(var(--tip,0%) + 10px);z-index:2;background:var(--ink);color:#fff;font-size:var(--text-xs);white-space:nowrap;pointer-events:none;border-radius:8px;padding:4px 8px;font-weight:600;position:absolute;transform:translate(-50%)}.chart-column small{height:24px;color:var(--subtle);text-align:center;white-space:nowrap;padding-top:8px;font-size:11px;line-height:16px}.is-current small{color:var(--ink)}.chart-legend{color:var(--muted);font-size:var(--text-xs);flex-wrap:wrap;gap:8px 16px;margin-top:20px;display:flex}.chart-legend span{align-items:center;gap:8px;display:flex}.legend-collected,.legend-current,.legend-expected{border-radius:2px;width:8px;height:8px;display:inline-block}.legend-collected{background:var(--chart-muted)}.legend-current{background:var(--accent)}.legend-expected{box-shadow:inset 0 0 0 1px var(--chart-muted);background:0 0}.expiring-card{padding-bottom:12px}.expiring-card .dash-card-head{justify-content:flex-start;align-items:baseline;gap:12px;margin-bottom:0;padding-bottom:12px}.expiring-card .dash-card-head .dash-link{margin-left:auto}.dash-list{flex-direction:column;display:flex}.dash-list-item{border:0;border-top:1px solid var(--line-soft);width:100%;color:var(--ink);font:inherit;text-align:left;cursor:pointer;background:0 0;align-items:center;gap:16px;padding:16px 0;transition:opacity .18s;display:flex}.dash-list-item:hover{opacity:.7}.dash-list-item:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.dash-list-info{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.dash-list-info strong{color:var(--ink);font-size:var(--text-base);text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.dash-list-info small{color:var(--muted);font-size:var(--text-xs)}.dash-list-side{flex-direction:column;flex:none;align-items:flex-end;gap:4px;display:flex}.dash-list-side .countdown-pill{color:var(--accent);font-size:var(--text-sm);background:0 0;border-radius:0;padding:0;font-weight:600}.dash-list-side .countdown-pill.urgent{color:var(--danger-dark)}.dash-list-side small{color:var(--subtle);font-size:var(--text-xs)}.dash-buildings{margin-bottom:32px}.dash-section-head{justify-content:space-between;align-items:baseline;gap:16px;margin-bottom:16px;display:flex}.dash-section-head h2{color:var(--ink);font:600 var(--text-lg)/1.3 var(--font-body);margin:0}.building-health-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;padding:0;display:grid}.health-row{min-width:0;box-shadow:none;color:var(--ink);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:12px;flex-direction:column;align-items:stretch;gap:16px;padding:0;transition:opacity .18s;display:flex}.health-row:hover:not(:disabled){opacity:.85}.health-row:disabled{cursor:default}.health-row:focus-visible{outline:2px solid var(--focus-ring);outline-offset:4px}.health-row.is-archived{opacity:.7}.health-photo.inventory-photo{background:#ece7e2;border-radius:12px;width:100%;height:150px;overflow:hidden}.health-photo .inventory-photo-placeholder{color:var(--muted);background:#e8e1da;border:1px dashed #c9c1b9;border-radius:12px;gap:8px}.health-photo .inventory-photo-placeholder svg{width:24px;height:24px}.health-photo .inventory-photo-placeholder small{color:var(--muted);font-size:var(--text-sm);font-weight:500}.health-head{justify-content:space-between;align-items:baseline;gap:12px;padding:0 2px;display:flex}.health-head strong{min-width:0;font-size:var(--text-lg);overflow-wrap:anywhere;font-weight:600}.health-pct{color:var(--ink);font-size:var(--text-lg);font-variant-numeric:tabular-nums;flex-shrink:0;font-weight:600}.health-bar{background:#ece7e2;border-radius:2px;height:3px;margin:-4px 2px 0;display:block;overflow:hidden}.health-bar-fill{background:var(--accent);border-radius:2px;height:100%;transition:width .5s;display:block}.health-meta{color:var(--muted);font-size:var(--text-xs);justify-content:space-between;gap:12px;margin-top:-4px;padding:0 2px;line-height:1.5;display:flex}.health-state{white-space:nowrap;align-items:center;gap:8px;display:flex}.health-state i{background:var(--green-text);border-radius:50%;width:6px;height:6px}.health-state i.is-archived{background:var(--subtle)}.health-group-label{color:var(--subtle);letter-spacing:.88px;text-transform:uppercase;grid-column:1/-1;font-size:11px;font-weight:600}.dash-footnote{color:var(--subtle);margin:0;font-size:11px}.drilldown-drawer.dash-drawer{gap:20px;width:min(400px,92vw);padding:32px;overflow-y:auto}.dash-drawer-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.dash-drawer-eyebrow{color:var(--muted);font-size:var(--text-xs);margin-bottom:8px;display:block}.dash-drawer-title{font:400 28px/1.1 var(--font-display);margin:0}.dash-drawer-days{border-block:1px solid var(--line-soft);align-items:baseline;gap:8px;padding:16px 0;display:flex}.dash-drawer-days b{color:var(--accent);letter-spacing:-.03em;font-size:32px;font-weight:600}.dash-drawer-days b.is-urgent{color:var(--danger-dark)}.dash-drawer-days span{color:var(--muted);font-size:var(--text-sm)}.dash-drawer-rows{font-size:var(--text-sm);grid-template-columns:auto 1fr;gap:12px 16px;margin:0;display:grid}.dash-drawer-rows dt{color:var(--muted)}.dash-drawer-rows dd{text-align:right;margin:0;font-weight:600}.dash-drawer-actions{flex-direction:column;gap:8px;margin-top:auto;display:flex}.dash-drawer-actions .btn{justify-content:center;width:100%;min-height:44px}@media (width<=1279px){.homikey-workspace .executive-kpis,.homikey-workspace .executive-kpis[data-cards]{grid-template-columns:repeat(2,minmax(0,1fr))}.kpi-card:nth-child(odd){border-left:0}.kpi-card:nth-child(n+3){border-top:1px solid var(--line-soft)}.dash-pair-main[data-cols="2"]{grid-template-columns:minmax(0,1fr)}.building-health-list{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=767px){.homikey-workspace .welcome{flex-direction:column;align-items:flex-start;gap:14px}.dash-header .heading-actions{width:100%}.dash-header .heading-actions .btn{flex:1}.dashboard-select{width:100%;min-height:44px;font-size:16px}.homikey-workspace .executive-kpis,.homikey-workspace .executive-kpis[data-cards]{grid-template-columns:minmax(0,1fr)}.kpi-card{border-left:0;padding:20px}.kpi-card:nth-child(n+2){border-top:1px solid var(--line-soft)}.dash-card{padding:20px}.revenue-chart{gap:4px;height:190px}.revenue-chart[data-columns="6"]{gap:8px}.dash-card-head{flex-wrap:wrap}.building-health-list{grid-template-columns:minmax(0,1fr)}.drilldown-drawer.dash-drawer{width:100vw;max-width:100vw}}.onboarding-steps{margin:0;padding:0;list-style:none}.building-grid{gap:var(--sp-4);grid-template-columns:repeat(3,1fr);display:grid}.building-card{border-radius:var(--radius-lg);box-shadow:var(--shadow);background:#fff;border:1px solid #0000;flex-direction:column;padding:18px;transition:border-color .2s,box-shadow .2s;display:flex;position:relative}.building-card:hover{border-color:#d4d0ee;box-shadow:0 8px 28px #37325a17}.muted-card{opacity:.72}.building-card-top{align-items:flex-start;gap:var(--sp-2);margin-bottom:var(--sp-3);display:flex}.building-illustration{border-radius:var(--radius-lg);color:#777268;width:56px;height:56px;font:700 22px/1 var(--font-heading);background:linear-gradient(145deg,#e8e5df,#f8f7f2);flex-shrink:0;place-items:center;margin-right:auto;display:grid}.building-illustration.large{color:#a7a49c;background:#36373b;width:70px;height:70px;font-size:28px}.code-label{color:var(--accent);letter-spacing:.9px;white-space:nowrap;margin-bottom:4px;font-size:10px;font-weight:700;display:block}.building-card h2{margin:0 0 4px;font-size:16px;line-height:1.3}.building-card>p{color:#848581;font-size:var(--text-sm);margin:0 0 var(--sp-3);flex:1;line-height:1.45}.building-stats{margin:0 0 var(--sp-3);border-block:1px solid #efefe9;grid-template-columns:repeat(3,1fr);padding:12px 0;display:grid}.building-stats>div:not(:last-child){border-right:1px solid #efefe9}.building-stats strong,.building-stats small{text-align:center;display:block}.building-stats strong{font:700 17px/1.2 var(--font-heading)}.building-stats small{color:#999a96;margin-top:3px;font-size:11px}.manager-row{gap:var(--sp-2);align-items:center;display:flex}.manager-row small,.manager-row strong{display:block}.manager-row small{color:#999a96;font-size:11px}.manager-row strong{font-size:var(--text-sm);margin-top:2px}.building-card footer{margin-top:var(--sp-4);padding-top:var(--sp-3);gap:var(--sp-2);border-top:1px solid #f1f1ed;flex-wrap:wrap;justify-content:space-between;align-items:center;display:flex}.detail-hero{color:#eee;border-radius:var(--radius-xl);padding:var(--sp-6);justify-content:space-between;align-items:center;gap:var(--sp-5);margin-bottom:var(--sp-4);background:#202124;display:flex;position:relative;overflow:hidden}.detail-hero:before{content:"";background:radial-gradient(circle at 80% 50%, color-mix(in srgb, var(--accent) 15%, transparent), transparent 55%);pointer-events:none;position:absolute;inset:0}.detail-hero-main{gap:4px var(--sp-5);flex:1;grid-template-rows:auto auto;grid-template-columns:auto 1fr;align-items:center;min-width:0;display:grid}.detail-hero-header{display:contents}.detail-hero-photo,.detail-hero-main .building-illustration.large{grid-area:1/1/span 2;width:90px;height:90px}.detail-hero-header-text{grid-area:1/2;min-width:0}.detail-hero-body{flex-direction:column;grid-area:2/2;gap:4px;min-width:0;display:flex}.detail-title{gap:var(--sp-2);flex-wrap:wrap;align-items:center;display:flex}.detail-title .code-label{margin-bottom:0}.detail-hero h1{color:#fff;letter-spacing:-.5px;word-break:break-word;margin:6px 0 4px;font-size:clamp(20px,2.5vw,26px)}.detail-hero p{color:#999c98;font-size:var(--text-sm);margin:0}.detail-summary{flex-shrink:0;grid-template-columns:repeat(4,76px);margin-left:auto;display:grid}.detail-summary>div{text-align:center;padding:0 var(--sp-3);border-left:1px solid #3d3e41}.detail-summary strong,.detail-summary small{display:block}.detail-summary strong{color:#fff;font:700 22px/1.2 var(--font-heading)}.detail-summary small{color:#888b87;margin-top:4px;font-size:11px}.floor-panel{padding-bottom:var(--sp-5)}.floor-toolbar{justify-content:space-between;align-items:center;gap:var(--sp-4);flex-wrap:wrap;padding:18px 22px;display:flex}.floor-toolbar h2{font-size:var(--text-md);margin:0 0 3px}.floor-toolbar p{color:#92938f;margin:0;font-size:11px}.floor-tabs{border-bottom:1px solid var(--line);gap:var(--sp-1);padding:0 22px;display:flex;overflow-x:auto}.floor-tabs button{color:#8b8d88;font-size:var(--text-sm);white-space:nowrap;background:0 0;border:0;padding:10px 14px 13px;transition:color .15s;position:relative}.floor-tabs button span{border-radius:var(--radius-sm);background:var(--surface-2);margin-left:7px;padding:2px 7px;font-size:10px}.floor-tabs .active{color:var(--accent);font-weight:600}.floor-tabs .active:after{content:"";background:var(--accent);height:2px;position:absolute;inset:auto 6px -1px}.room-legend{justify-content:flex-end;gap:var(--sp-4);flex-wrap:wrap;padding:14px 22px 4px;display:flex}.room-legend span{color:#888a85;align-items:center;gap:5px;font-size:11px;display:flex}.status-dot{border-radius:50%;flex-shrink:0;width:7px;height:7px;display:inline-block}.status-dot.available{background:var(--green)}.status-dot.occupied{background:var(--blue)}.status-dot.maintenance{background:var(--orange-dot)}.status-dot.inactive{background:#8b8d89}.room-matrix{gap:var(--sp-3);grid-template-columns:repeat(auto-fill,minmax(160px,1fr));padding:14px 22px;display:grid}.room-card{border:1px solid var(--line);border-top:3px solid var(--green);border-radius:var(--radius-md);background:#fff;padding:13px;transition:box-shadow .15s}.room-card:hover{box-shadow:var(--shadow-md)}.room-card.status-occupied{border-top-color:var(--blue)}.room-card.status-maintenance{border-top-color:var(--orange)}.room-card.status-inactive{opacity:.68;border-top-color:#92938f}.room-card header{gap:var(--sp-1);align-items:center;display:flex}.room-card header small{color:#888;font-size:10px}.room-card header select{color:#0000;cursor:pointer;background:0 0;border:0;width:24px;margin-left:auto}.room-card h3{margin:12px 0 7px;font-size:20px}.room-meta{gap:var(--sp-2);color:#888a85;flex-wrap:wrap;font-size:11px;display:flex}.price{font-size:var(--text-sm);margin-top:var(--sp-3);font-weight:600;display:block}.price small{color:#999;margin-left:3px;font-size:10px;font-weight:400}.amenity-icons{gap:var(--sp-1);margin-top:var(--sp-2);flex-wrap:wrap;display:flex}.amenity-icons span{background:var(--surface-2);border-radius:6px;place-items:center;width:24px;height:24px;font-size:11px;display:grid}.auto-note{color:var(--blue);margin-top:var(--sp-2);font-size:10px;display:block}.room-toolbar{justify-content:flex-start}.room-toolbar .search-box{min-width:240px;margin-left:auto}.select-building{align-items:center;gap:var(--sp-2);color:#888;font-size:11px;display:flex}.select-building select,.status-filter{border:1px solid var(--line);border-radius:var(--radius);height:36px;color:var(--ink);font-size:var(--text-sm);background:#fff;padding:0 28px 0 10px}.room-number{border-radius:var(--radius);background:var(--accent-soft);width:34px;height:34px;color:var(--accent);font:700 11px/1 var(--font-heading);flex-shrink:0;place-items:center;display:grid}.bulk-layout{grid-template-columns:1.1fr .9fr;min-height:0;padding:0;display:grid}.bulk-config{padding:20px 22px;overflow-y:auto}.bulk-preview{border-left:1px solid var(--line);background:#f8f8f4;flex-direction:column;padding:20px;display:flex}.bulk-preview header{margin-bottom:var(--sp-3);flex-shrink:0;justify-content:space-between;align-items:center;display:flex}.bulk-preview header strong,.bulk-preview header small{display:block}.bulk-preview header strong{font-size:var(--text-sm)}.bulk-preview header small{color:#979894;margin-top:3px;font-size:11px}.preview-list{flex:1;grid-template-columns:repeat(3,1fr);gap:6px;max-height:340px;display:grid;overflow:auto}.preview-list>span{border-radius:var(--radius-sm);background:#fff;border:1px solid #e1e1dc;align-items:center;min-height:38px;padding:7px 8px;font-size:11px;font-weight:600;display:flex;position:relative}.preview-list span.duplicate{color:var(--danger);background:var(--danger-soft);border-color:#ebc5c7}.preview-list span small{margin-left:3px;font-size:9px;font-weight:400;display:block}.preview-list button{color:#a0a19d;background:0 0;border:0;margin-left:auto;padding:0}.transaction-note{align-items:flex-start;gap:var(--sp-2);color:#838580;margin:var(--sp-4) 0 0;font-size:11px;line-height:1.4;display:flex}.transaction-note .icon{color:var(--green-text);flex-shrink:0}.building-picker{gap:var(--sp-2);border:0;grid-column:1/-1;grid-template-columns:repeat(2,1fr);margin:5px 0 0;padding:0;display:grid}.building-picker legend{grid-column:1/-1;width:100%;margin-bottom:8px}.building-picker label{border:1px solid var(--line);border-radius:var(--radius);align-items:center;gap:var(--sp-2);cursor:pointer;padding:11px;transition:border-color .15s,background .15s;display:flex}.building-picker label:hover{border-color:var(--accent)}.building-picker input{accent-color:var(--accent)}.building-picker strong,.building-picker small{display:block}.building-picker strong{font-size:var(--text-sm)}.building-picker small{color:#999;margin-top:3px;font-size:11px}.amenity-picker{gap:var(--sp-2);border:0;flex-wrap:wrap;grid-column:1/-1;margin:5px 0 0;padding:0;display:flex}.amenity-picker legend{width:100%;margin-bottom:8px}.amenity-picker label{border:1px solid var(--line);border-radius:var(--radius);font-size:var(--text-sm);cursor:pointer;align-items:center;gap:5px;padding:7px 10px;transition:border-color .15s,background .15s;display:flex}.amenity-picker label:hover{border-color:var(--accent);background:var(--accent-softer)}.amenity-picker input{accent-color:var(--accent)}.security-note{background:var(--green-soft);color:var(--green-text);border-radius:var(--radius);gap:var(--sp-2);align-items:center;padding:12px;display:flex}.security-note strong,.security-note small{display:block}.security-note strong{font-size:var(--text-sm)}.security-note small{opacity:.85;margin-top:2px;font-size:11px}@media (width<=1280px){.building-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=1023px){.room-matrix{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.floor-toolbar{padding:16px}}@media (width<=767px){.building-grid{grid-template-columns:1fr}.room-matrix{gap:var(--sp-3);grid-template-columns:repeat(auto-fill,minmax(150px,1fr));padding:12px 16px}.detail-top-nav{align-items:stretch;gap:var(--sp-2);flex-direction:column}.detail-actions{gap:var(--sp-2);grid-template-columns:1fr 1fr;width:100%;display:grid}.detail-actions .btn{white-space:nowrap;justify-content:center;padding:8px 10px;font-size:13px}.detail-hero{padding:var(--sp-4);align-items:stretch;gap:var(--sp-3);flex-direction:column}.detail-hero-main{align-items:stretch;gap:var(--sp-3);flex-direction:column;display:flex}.detail-hero-header{gap:var(--sp-3);align-items:center;display:flex}.detail-hero-photo,.detail-hero-main .building-illustration.large{grid-area:auto;width:68px;height:68px}.detail-hero-header-text{flex:1;grid-area:auto;min-width:0}.detail-hero-body{grid-area:auto;gap:8px}.detail-hero h1{margin:4px 0 2px;font-size:20px}.detail-address{align-items:flex-start;font-size:12px}.detail-description{margin:4px 0;padding:8px 10px;font-size:12px}.detail-staff-row{gap:var(--sp-3);margin-top:4px}.detail-summary{width:100%;margin:var(--sp-2) 0 0;padding-top:var(--sp-3);border-top:1px solid #ffffff1a;grid-template-columns:repeat(4,1fr);gap:0;display:grid}.detail-summary>div{border-left:1px solid #ffffff1f;padding:0 4px}.detail-summary>div:first-child{border-left:0}.detail-summary strong{font-size:18px}.detail-summary small{white-space:nowrap;font-size:10px}.room-breakdown-bar{grid-template-columns:1fr 1fr;gap:10px 14px;padding:12px 16px;display:grid}.breakdown-stat-item{gap:6px;font-size:12px}.building-inactive-banner{grid-column:1/-1}.floor-toolbar{align-items:stretch;gap:var(--sp-3);flex-direction:column;padding:14px 16px}.floor-toolbar .btn{justify-content:center;width:100%}.floor-tabs{-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:var(--scroll-thumb) var(--scroll-track);padding:0 16px}.floor-tabs::-webkit-scrollbar{height:8px;display:block}.room-legend{justify-content:flex-start;gap:var(--sp-2) var(--sp-3);padding:10px 16px 4px}.room-toolbar{flex-direction:column}.room-toolbar .search-box{width:100%;min-width:0;margin-left:0}.bulk-layout{grid-template-columns:1fr}.bulk-preview{border-left:0;border-top:1px solid var(--line)}.building-picker{grid-template-columns:1fr}.select-building{flex-direction:column;align-items:flex-start}}@media (width<=480px){.preview-list{grid-template-columns:repeat(2,1fr)}.floor-customizer-list,.staff-checkbox-list{grid-template-columns:1fr}.floor-customizer-header{flex-direction:column;align-items:flex-start;gap:8px}.building-image-uploader{flex-direction:column;align-items:stretch}.image-upload-controls{width:100%;min-width:0}}@media (width<=360px){.detail-actions,.room-matrix{grid-template-columns:1fr}}.building-thumbnail{border-radius:var(--radius-lg);object-fit:cover;border:1px solid #00000014;flex-shrink:0;width:56px;height:56px}.card-top-badges{flex-direction:column;align-items:flex-start;gap:4px;margin-right:auto;display:flex}.building-type-badge{border-radius:var(--radius-full);background:var(--surface-2);color:var(--muted);letter-spacing:.2px;align-items:center;padding:2px 8px;font-size:10px;font-weight:600;display:inline-flex}.building-type-badge-alt{border-radius:var(--radius-full);color:#e2e8f0;background:#ffffff1f;align-items:center;padding:3px 10px;font-size:11px;font-weight:600;display:inline-flex}.building-address{-webkit-line-clamp:2;text-overflow:ellipsis;-webkit-box-orient:vertical;min-height:38px;display:-webkit-box;overflow:hidden}.staff-count-tag{border-radius:var(--radius-full);color:#475569;background:#f1f5f9;margin-left:auto;padding:3px 8px;font-size:11px;font-weight:600}.staff-filter-select,.type-filter-select{border-radius:var(--radius-md);border:1px solid var(--line);font-size:var(--text-sm);color:var(--ink);background:#fff;outline:none;padding:8px 12px}.detail-top-nav{margin-bottom:var(--sp-3);justify-content:space-between;align-items:center;gap:var(--sp-3);flex-wrap:wrap;display:flex}.detail-actions{gap:var(--sp-2);flex-wrap:wrap;align-items:center;display:flex}.detail-hero-photo{border-radius:var(--radius-lg);object-fit:cover;border:2px solid #ffffff26;flex-shrink:0;width:90px;height:90px;box-shadow:0 4px 12px #00000040}.detail-hero-info{flex:1;min-width:0}.detail-address{color:#999c98;font-size:var(--text-sm);align-items:center;gap:6px;margin:4px 0 8px;display:flex}.detail-description{color:#cbd5e1;font-size:var(--text-sm);border-radius:var(--radius-md);border-left:3px solid var(--accent,#6366f1);background:#ffffff0a;margin:6px 0 10px;padding:8px 12px;line-height:1.5}.detail-staff-row{align-items:center;gap:var(--sp-4);flex-wrap:wrap;margin-top:8px;display:flex}.primary-manager-tag{align-items:center;gap:8px;display:flex}.primary-manager-tag small{color:#94a3b8;font-size:11px;display:block}.primary-manager-tag strong{color:#fff;font-size:var(--text-sm);display:block}.additional-staff-tags{align-items:center;gap:8px;display:flex}.additional-staff-tags small{color:#94a3b8;font-size:11px}.staff-pill-list{flex-wrap:wrap;gap:6px;display:flex}.staff-pill{border-radius:var(--radius-full);color:#e2e8f0;background:#ffffff1a;padding:2px 8px;font-size:11px}.room-breakdown-bar{align-items:center;gap:var(--sp-5);margin-bottom:var(--sp-4);background:#fff;flex-wrap:wrap;padding:14px 20px;display:flex}.breakdown-stat-item{font-size:var(--text-sm);color:var(--ink-2);align-items:center;gap:8px;display:flex}.breakdown-dot{border-radius:50%;flex-shrink:0;width:10px;height:10px}.breakdown-dot.available{background:var(--green)}.breakdown-dot.occupied{background:var(--accent)}.breakdown-dot.maintenance{background:var(--orange-dark)}.breakdown-dot.inactive{background:var(--muted,#94a3b8)}.building-inactive-banner{color:#b91c1c;border-radius:var(--radius-md);font-size:var(--text-sm);background:#fef2f2;border:1px solid #fecaca;align-items:center;gap:8px;width:100%;padding:10px 14px;font-weight:500;display:flex}.active-contracts-blocker{gap:var(--sp-4);flex-direction:column;display:flex}.blocker-warning-banner{gap:var(--sp-3);border-radius:var(--radius-md);color:#92400e;background:#fffbeb;border:1px solid #fde68a;align-items:flex-start;padding:14px;display:flex}.blocker-warning-banner strong{font-size:var(--text-sm);color:#78350f;margin-bottom:4px;display:block}.blocker-warning-banner p{font-size:var(--text-sm);margin:0;line-height:1.45}.active-contracts-list{border-radius:var(--radius-md);background:#f8fafc;border:1px solid #e2e8f0;padding:14px}.active-contracts-list .list-title{text-transform:uppercase;letter-spacing:.5px;color:#64748b;margin-bottom:8px;font-size:12px;font-weight:700;display:block}.active-contracts-list ul{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.active-contracts-list li{font-size:var(--text-sm);border-radius:var(--radius-sm);background:#fff;border:1px solid #e2e8f0;justify-content:space-between;align-items:center;padding:8px 10px;display:flex}.active-contracts-list .contract-dates{color:#64748b;font-size:12px}.confirm-note{font-size:var(--text-sm);color:#475569;margin:0;line-height:1.5}.readonly-input{color:#64748b!important;cursor:not-allowed!important;background:#f1f5f9!important}.field-error-text{color:#dc2626;margin-top:4px;font-size:12px;font-weight:500}.floor-customizer-box{border-radius:var(--radius-md);background:#f8fafc;border:1px solid #e2e8f0;flex-direction:column;gap:12px;padding:14px;display:flex}.floor-customizer-header{justify-content:space-between;align-items:center;gap:var(--sp-2);display:flex}.floor-customizer-header strong{font-size:var(--text-sm);display:block}.floor-customizer-header small{color:#64748b;font-size:12px}.floor-customizer-list{grid-template-columns:repeat(2,1fr);gap:8px;max-height:220px;padding-right:4px;display:grid;overflow-y:auto}.floor-item-row{border-radius:var(--radius-sm);background:#fff;border:1px solid #cbd5e1;align-items:center;gap:6px;padding:6px;display:flex}.floor-number-badge{color:var(--accent,#6366f1);background:#eef2ff;border-radius:4px;flex-shrink:0;padding:4px 8px;font-size:11px;font-weight:700}.floor-item-row input{border:0;width:100%;padding:4px;font-size:13px}.floor-item-row input:focus{outline:none}.building-image-section{flex-direction:column;gap:8px;display:flex}.building-image-uploader{gap:var(--sp-4);border-radius:var(--radius-md);background:#f8fafc;border:1px dashed #cbd5e1;flex-wrap:wrap;align-items:center;padding:14px;display:flex}.image-preview-card{border-radius:var(--radius-md);width:110px;height:90px;box-shadow:var(--shadow-sm);flex-shrink:0;position:relative;overflow:hidden}.image-preview-card img{object-fit:cover;width:100%;height:100%}.image-preview-overlay{opacity:0;background:#00000073;justify-content:center;align-items:center;transition:opacity .2s;display:flex;position:absolute;inset:0}.image-preview-card:hover .image-preview-overlay{opacity:1}.image-fallback-placeholder{border-radius:var(--radius-md);color:#64748b;text-align:center;background:#e2e8f0;flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;gap:4px;width:110px;height:90px;padding:4px;display:flex}.image-fallback-placeholder span{font-size:11px;font-weight:600}.image-fallback-placeholder small{color:#94a3b8;font-size:9px}.image-upload-controls{flex-direction:column;flex:1;gap:6px;min-width:220px;display:flex}.upload-btn{cursor:pointer;align-self:flex-start}.image-url-input{padding:6px 10px;font-size:12px}.image-note{color:#94a3b8;font-size:11px}.staff-assignment-section{flex-direction:column;gap:8px;display:flex}.staff-checkbox-list{grid-template-columns:repeat(2,1fr);gap:8px;max-height:200px;display:grid;overflow-y:auto}.staff-checkbox-item{border-radius:var(--radius-md);cursor:pointer;background:#fff;border:1px solid #e2e8f0;align-items:center;gap:10px;padding:10px;transition:border-color .15s,background .15s;display:flex}.staff-checkbox-item:hover{background:#f8fafc;border-color:#cbd5e1}.staff-checkbox-item.selected{border-color:var(--accent,#6366f1);background:#eef2ff}.staff-avatar-initials{color:#334155;background:#e2e8f0;border-radius:50%;flex-shrink:0;place-items:center;width:32px;height:32px;font-size:12px;font-weight:700;display:grid}.staff-info-text{flex:1;min-width:0}.staff-info-text strong{font-size:var(--text-sm);color:#1e293b;display:block}.staff-info-text small{color:#64748b;text-overflow:ellipsis;white-space:nowrap;font-size:11px;display:block;overflow:hidden}.homikey-workspace .building-toolbar{background:var(--paper);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);border:1px solid #0000;flex-wrap:wrap;gap:12px;margin-bottom:24px;padding:16px;display:flex}.homikey-workspace .building-toolbar .search-box{flex:260px;min-width:0}.homikey-workspace .building-toolbar select{border:1px solid var(--line);border-radius:var(--radius);min-width:0;max-width:100%;height:40px;color:var(--ink-2);background:var(--paper);padding:0 12px}.homikey-workspace .building-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:24px}.homikey-workspace .building-card{border-color:var(--line);box-shadow:var(--shadow-sm);padding:0 20px 20px;overflow:hidden}.homikey-workspace .building-card:hover{border-color:var(--accent);box-shadow:var(--shadow-md)}.homikey-workspace .building-card-top{background:var(--surface-2);height:174px;margin:0 -20px 20px;display:block;position:relative}.homikey-workspace .building-card-top .building-thumbnail,.homikey-workspace .building-card-top .building-illustration{object-fit:cover;border:0;border-radius:0;width:100%;height:100%;margin:0}.homikey-workspace .building-card-top .building-illustration{background:var(--surface-2);color:var(--accent);font:400 48px var(--font-display)}.homikey-workspace .card-top-badges{flex-wrap:wrap;gap:6px;display:flex;position:absolute;top:12px;left:12px;right:60px}.homikey-workspace .building-type-badge{background:var(--paper);color:var(--ink-2);border-color:var(--line)}.homikey-workspace .building-card-top .icon-btn{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);width:36px;height:36px;color:var(--accent);position:absolute;top:12px;right:12px}.homikey-workspace .building-card h2{margin-block:4px 8px;font-size:19px;font-weight:600}.homikey-workspace .building-card .building-address{color:var(--muted);line-height:1.75}.homikey-workspace .building-stats{border-color:var(--line-soft);grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:12px}.homikey-workspace .building-stats>div:not(:last-child){border-color:var(--line-soft)}.homikey-workspace .building-stats small{color:var(--muted);font-size:10px;line-height:1.5}.building-occupancy-track{background:var(--surface-2);border-radius:var(--radius-full);height:6px;margin-bottom:20px;overflow:hidden}.building-occupancy-track span{background:var(--accent);border-radius:inherit;height:100%;display:block}.homikey-workspace .manager-row small{color:var(--muted)}.homikey-workspace .building-card footer{border-color:var(--line-soft);gap:8px}.homikey-workspace .building-card footer .text-btn{white-space:normal;text-align:left;min-height:40px}.homikey-workspace .detail-top-nav{flex-wrap:wrap;gap:16px;margin-bottom:24px}.homikey-workspace .detail-actions{flex-wrap:wrap}.homikey-workspace .detail-hero{background:var(--surface-2);color:var(--ink);border:1px solid var(--line);border-radius:var(--radius-lg);min-height:280px;margin-bottom:24px;padding:32px;display:block}.homikey-workspace .detail-cover{object-fit:cover;width:58%;height:100%;position:absolute;inset:0 0 0 42%;-webkit-mask-image:linear-gradient(90deg,#0000,#000 70%);mask-image:linear-gradient(90deg,#0000,#000 70%)}.homikey-workspace .detail-hero-main{z-index:1;width:min(640px,70%);position:relative}.homikey-workspace .detail-hero h1{color:var(--ink);font:400 clamp(28px, 3vw, 40px)/1.3 var(--font-display);margin:16px 0}.homikey-workspace .detail-hero :is(.detail-address,.detail-description){color:var(--ink-2);line-height:1.7}.homikey-workspace .detail-hero-header-text,.homikey-workspace .detail-title{min-width:0}.homikey-workspace .detail-staff-row{flex-wrap:wrap}.homikey-workspace .primary-manager-tag{color:var(--ink);border-radius:var(--radius);background:#ffffffeb;padding:10px 12px}.homikey-workspace .primary-manager-tag small,.homikey-workspace .additional-staff-tags>small{color:var(--muted)}.homikey-workspace .staff-pill{color:var(--accent);background:var(--paper);border-color:var(--line)}.homikey-workspace .detail-summary{background:var(--paper);border-radius:var(--radius-lg);width:100%;box-shadow:var(--shadow-sm);border:1px solid #0000;grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:24px;display:grid;overflow:hidden}.homikey-workspace .detail-summary>div{border-right:1px solid var(--line-soft);text-align:left;background:var(--paper);padding:24px}.homikey-workspace .detail-summary strong{color:var(--ink);font:600 28px/1.2 var(--font-heading)}.homikey-workspace .detail-summary small{color:var(--muted);margin-top:10px}.homikey-workspace .room-breakdown-bar{flex-wrap:wrap;gap:20px;margin-bottom:24px;padding:16px 20px}.homikey-workspace .floor-toolbar{flex-wrap:wrap;gap:16px;padding:24px}.homikey-workspace .floor-tabs{background:var(--accent-softer);border-block:1px solid var(--line-soft);padding:12px 24px}.homikey-workspace .floor-tabs button{border-radius:var(--radius);min-height:40px}.homikey-workspace .floor-tabs button.active{color:var(--paper);background:var(--accent)}.homikey-workspace .floor-tabs button.active span{color:var(--paper);background:#ffffff2e}.homikey-workspace .room-matrix{grid-template-columns:repeat(auto-fill,minmax(min(100%,230px),1fr));gap:16px;padding:24px}.homikey-workspace .room-card{background:var(--accent-softer);border:1px solid var(--line);border-radius:var(--radius);border-left:4px solid var(--accent)}.homikey-workspace .room-card.status-available{background:var(--green-soft);border-left-color:var(--green)}.homikey-workspace .room-card.status-maintenance{background:var(--orange-soft);border-left-color:var(--orange)}.homikey-workspace .room-card.status-inactive{background:var(--surface);border-left-color:var(--muted)}.floor-room-link{color:var(--ink);text-align:left;font:inherit;background:0 0;border:0;align-items:center;gap:8px;width:100%;padding:8px 0;display:flex}.floor-room-link:hover{color:var(--accent);text-decoration:underline}body:has(.homikey-workspace) .building-form-wrapper :is(.floor-customizer-box,.building-image-section,.staff-assignment-section){background:var(--accent-softer);border-color:var(--line);border-radius:var(--radius)}body:has(.homikey-workspace) .building-form-wrapper .image-fallback-placeholder{background:var(--surface-2);color:var(--muted);border-color:var(--line)}body:has(.homikey-workspace) .building-form-wrapper .staff-checkbox-item.selected{border-color:var(--accent);background:var(--accent-soft)}body:has(.homikey-workspace) .bulk-preview{border-color:var(--line);border-radius:var(--radius);background:var(--accent-softer)}body:has(.homikey-workspace) .bulk-preview .preview-list{background:var(--paper);border-color:var(--line)}@media (width<=767px){.homikey-workspace .building-toolbar>:is(select,.segmented){flex:none;width:100%}.homikey-workspace .building-toolbar>select{min-height:44px;font-size:16px}.homikey-workspace .building-toolbar .search-box{flex:none}.homikey-workspace .building-toolbar .segmented{overflow-x:auto}.homikey-workspace .detail-hero{padding:20px}.homikey-workspace .detail-cover{width:calc(100% + 40px);height:180px;margin:-20px -20px 20px;display:block;position:relative;inset:auto;-webkit-mask-image:none;mask-image:none}.homikey-workspace .detail-hero-main{width:100%}.homikey-workspace .detail-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.homikey-workspace .detail-summary>div{border-bottom:1px solid var(--line-soft);padding:20px}.homikey-workspace .floor-toolbar,.homikey-workspace .room-matrix{padding:16px}.homikey-workspace .floor-tabs{padding:12px 16px}}.homikey-workspace .detail-hero:before{background:0 0}.homikey-workspace .detail-hero-main,.homikey-workspace .detail-hero-header{display:block}.homikey-workspace .detail-summary>div{border-left:0}.homikey-workspace .floor-tabs{scrollbar-width:thin;scrollbar-color:var(--scroll-thumb) var(--scroll-track)}.homikey-workspace .floor-tabs::-webkit-scrollbar{height:8px;display:block}.homikey-workspace .building-type-badge-alt{background:var(--paper);color:var(--ink-2);border-color:var(--line)}.homikey-workspace .primary-manager-tag strong{color:var(--ink)}@media (width<=767px){.homikey-workspace .building-card-top .icon-btn{width:44px;height:44px}.homikey-workspace .floor-tabs button,.homikey-workspace .building-card footer .text-btn{min-height:44px}}.property-assets-page .inventory-summary{border-radius:var(--radius-lg);margin-bottom:28px}.property-assets-page .inventory-metric{border-bottom:0;border-right:0;border-left:1px solid var(--line-soft);grid-template-columns:auto minmax(0,1fr);align-items:start;gap:4px 12px;padding:24px}.property-assets-page .inventory-metric:first-child{border-left:0}.property-assets-page .inventory-metric-icon{background:var(--line-soft);width:36px;height:36px;color:var(--accent-light);border-radius:50%;align-self:start}.property-assets-page .inventory-metric-icon>.icon{width:17px;height:17px}.property-assets-page .inventory-metric small{color:var(--accent-light);margin:0 0 4px;font-size:14px;font-weight:500}.property-assets-page .inventory-metric strong{color:var(--ink);font:600 clamp(24px, 2.2vw, 34px)/1.05 var(--font-body);letter-spacing:-.035em;font-variant-numeric:tabular-nums;display:block}.property-assets-page .inventory-metric p{color:var(--muted);margin-top:10px;font-size:12px;line-height:1.5}@media (width<=1279px){.property-assets-page .inventory-metric{padding:20px}}.buildings-page{flex-direction:column;gap:32px;min-width:0;display:flex}.homikey-workspace .buildings-page>.page-heading{margin-bottom:0}.buildings-page .building-toolbar{box-shadow:none;background:0 0;border:0;border-radius:0;flex-wrap:wrap;align-items:center;gap:12px;margin:-12px 0 -8px;padding:0;display:flex}.buildings-page .building-toolbar .search-box{flex:0 320px;min-width:0;min-height:40px}.buildings-page .building-toolbar .filter-pop{margin-left:auto}.buildings-page .building-list-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin:0 0 -16px;display:flex}.buildings-page .building-list-heading h2{color:var(--ink);font:600 18px/1.3 var(--font-body);margin:0}.theme-homikey .buildings-page .building-list-heading .segmented{border-radius:var(--radius);background:var(--surface-2);box-shadow:var(--shadow-sm);gap:4px;padding:4px}.theme-homikey .buildings-page .building-list-heading .segmented button{min-height:0;color:var(--muted);box-shadow:none;background:0 0;border-radius:8px;padding:8px 12px;font-size:12px;font-weight:500}.theme-homikey .buildings-page .building-list-heading .segmented button:hover{color:var(--ink);background:0 0}.theme-homikey .buildings-page .building-list-heading .segmented button.active,.theme-homikey .buildings-page .building-list-heading .segmented button.active:hover{background:var(--paper);color:var(--ink);box-shadow:0 1px 2px #1c28351f}.buildings-page .building-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr));gap:20px}.buildings-page .building-card{border-radius:var(--radius-lg);background:var(--paper);box-shadow:var(--shadow-sm);border:0;padding:0;transition:box-shadow .18s,transform .18s;position:relative;overflow:hidden}.buildings-page .building-card:hover,.buildings-page .building-card:focus-within{box-shadow:var(--shadow-md);border:0;transform:translateY(-1px)}.buildings-page .building-card.muted-card{opacity:.78}.buildings-page .building-card-top{background:var(--accent-soft);height:124px;margin:0;position:relative}.buildings-page .building-card-top .building-thumbnail{background:var(--accent-soft);border:0;border-radius:0;width:100%;height:100%;display:block}.buildings-page .building-card-top .inventory-photo-placeholder{border:1px dashed color-mix(in srgb, var(--muted) 55%, transparent);background:var(--accent-soft);color:var(--ink-2);gap:8px}.buildings-page .building-card-top .inventory-photo-placeholder svg{width:24px;height:24px}.buildings-page .building-card-top .inventory-photo-placeholder small{color:var(--ink-2);font-size:13px;font-weight:500}.buildings-page .building-card-menu{z-index:2;opacity:0;transition:opacity .15s;position:absolute;top:10px;right:10px}.buildings-page .building-card:hover .building-card-menu,.buildings-page .building-card:focus-within .building-card-menu{opacity:1}.buildings-page .building-card-menu:has([aria-expanded=true]){opacity:1}@media (hover:none){.buildings-page .building-card-menu{opacity:1}}.buildings-page .building-card-menu .action-menu-trigger{border-radius:var(--radius-full);width:32px;min-height:32px;color:var(--ink-2);background:#ffffffeb;box-shadow:0 1px 2px #1c28351f}.buildings-page .building-card-body{flex-direction:column;flex:1;gap:16px;min-width:0;padding:16px 16px 0;display:flex}.buildings-page .building-card h2{color:var(--ink);font:500 18px/1.3 var(--font-body);overflow-wrap:anywhere;margin:0}.buildings-page .building-card .building-address{color:var(--muted);align-items:flex-start;gap:8px;margin:8px 0 0;font-size:13px;line-height:1.5;display:flex}.buildings-page .building-card .building-address .pin-icon{flex:none;margin-top:3px}.buildings-page .building-card-body>h2+.building-address{margin-top:-8px}.buildings-page .building-stats{border:0;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0;padding:0}.buildings-page .building-stats>div{flex-direction:column;gap:4px;display:flex;border:0!important}.buildings-page .building-stats strong{text-align:left;color:var(--ink);font:600 16px/1.2 var(--font-body);font-variant-numeric:tabular-nums}.buildings-page .building-stats small{text-align:left;color:var(--muted);margin:0;font-size:12px}.buildings-page .building-occupancy-track{background:var(--line);border-radius:3px;height:6px;margin:0;overflow:hidden}.buildings-page .building-occupancy-track span{background:var(--green);border-radius:3px;height:100%;display:block}.buildings-page .building-card footer{border:0;justify-content:space-between;align-items:center;gap:8px;margin:0;padding:16px;display:flex}.buildings-page .building-vacancy{min-width:0;color:var(--muted);flex:0 auto;font-size:12px}.buildings-page .building-card-link{color:var(--accent);font:600 13px/1.3 var(--font-body);white-space:nowrap;cursor:pointer;background:0 0;border:0;padding:0}.buildings-page .building-card-link:after{content:"";z-index:1;position:absolute;inset:0}.buildings-page .building-card-link:hover{color:var(--brand-highlight-dark)}.buildings-page .building-card-link:focus-visible{outline:0}.buildings-page .building-card-link:focus-visible:after{outline:2px solid var(--focus-ring);outline-offset:-2px;border-radius:var(--radius-lg)}.buildings-page .portfolio-cards{flex-wrap:wrap;align-items:stretch;gap:20px;margin:0;display:flex}.buildings-page .portfolio-card{border-radius:var(--radius-lg);background:var(--paper);box-shadow:var(--shadow-sm);flex-direction:column;gap:16px;min-width:0;padding:20px 24px;display:flex}.buildings-page .portfolio-card:first-child{flex:360px;gap:20px}.buildings-page .portfolio-card:last-child{flex:1.3 400px}.buildings-page .portfolio-card header{justify-content:space-between;align-items:center;gap:12px;display:flex}.buildings-page .portfolio-card h2{color:var(--ink);font:600 18px/1.3 var(--font-body);margin:0}.buildings-page .portfolio-card:last-child h2{font-size:20px}.buildings-page .portfolio-card header span{color:var(--muted);font-size:13px}.buildings-page .portfolio-donut-row{flex-wrap:wrap;align-items:center;gap:24px 32px;display:flex}.buildings-page .portfolio-donut{flex:none}.buildings-page .portfolio-donut .donut-track{stroke:var(--line)}.buildings-page .portfolio-donut .donut-slice{stroke-linecap:butt}.buildings-page .portfolio-donut .donut-slice.rented{stroke:var(--accent)}.buildings-page .portfolio-donut .donut-slice.vacant{stroke:var(--brand-highlight)}.buildings-page .portfolio-donut .donut-slice.maintenance{stroke:var(--orange)}.buildings-page .portfolio-donut .donut-slice.stopped{stroke:var(--scroll-hover)}.buildings-page .portfolio-donut .donut-value{fill:var(--ink);font:700 24px var(--font-body)}.buildings-page .portfolio-donut .donut-caption{fill:var(--muted);font:500 12px var(--font-body)}.buildings-page .portfolio-legend{flex-direction:column;flex:180px;gap:16px;margin:0;padding:0;list-style:none;display:flex}.buildings-page .portfolio-legend li{color:var(--ink-2);align-items:center;gap:12px;font-size:14px;display:flex}.buildings-page .portfolio-legend li span{flex:1}.buildings-page .portfolio-legend li strong{color:var(--ink);font-variant-numeric:tabular-nums;font-weight:600}.buildings-page .portfolio-legend i{border-radius:50%;flex:none;width:10px;height:10px}.buildings-page .portfolio-legend .dot-rented{background:var(--accent)}.buildings-page .portfolio-legend .dot-vacant{background:var(--brand-highlight)}.buildings-page .portfolio-legend .dot-maintenance{background:var(--orange)}.buildings-page .portfolio-legend .dot-stopped{background:var(--scroll-hover)}.buildings-page .portfolio-rate{flex-wrap:wrap;align-items:baseline;gap:4px 24px;margin:0;display:flex}.buildings-page .portfolio-rate span{color:var(--ink-2);font-size:14px}.buildings-page .portfolio-rate strong{color:var(--ink);font:600 40px/1.1 var(--font-body);letter-spacing:-.03em;font-variant-numeric:tabular-nums}.buildings-page .portfolio-bars{flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;display:flex}.buildings-page .portfolio-bars li{color:var(--ink-2);grid-template-columns:minmax(120px,170px) minmax(0,1fr) 48px;align-items:center;gap:12px;font-size:13px;display:grid}.buildings-page .portfolio-bars li>span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.buildings-page .portfolio-bars li>strong{text-align:right;color:var(--ink);font-variant-numeric:tabular-nums;font-weight:600}.buildings-page .portfolio-bar{background:var(--line);border-radius:4px;height:8px;overflow:hidden}.buildings-page .portfolio-bar i{background:var(--ink);border-radius:4px;height:100%;display:block}.buildings-page .portfolio-insight{color:var(--muted);margin:0;font-size:13px;line-height:1.5}@media (width<=767px){.buildings-page{gap:24px}.buildings-page .building-toolbar{flex-flow:wrap;align-items:center;margin:-8px 0 -4px}.buildings-page .building-toolbar .search-box{flex:none;width:100%}.buildings-page .building-toolbar .filter-pop{margin-left:0}.buildings-page .building-list-heading .segmented{max-width:100%;overflow-x:auto}.buildings-page .portfolio-card{padding:20px}.buildings-page .portfolio-bars li{grid-template-columns:minmax(0,1fr) 48px}.buildings-page .portfolio-bars .portfolio-bar{grid-area:2/1/auto/-1}}.property-assets-page .panel h2,.property-assets-page .panel-head h2{font:600 16px/1.35 var(--font-body);color:var(--ink)}.property-assets-page .property-assets-layout .foundation-form h2{font-size:16px}.building-detail-page{--bd-x:32px;--bd-y:36px;min-width:0}@media (width>=1440px){.building-detail-page{--bd-x:40px}}@media (width<=1023px){.building-detail-page{--bd-x:20px;--bd-y:24px}}@media (width<=767px){.building-detail-page{--bd-x:16px;--bd-y:20px}}@media (width<=400px){.building-detail-page{--bd-x:12px;--bd-y:16px}}.building-detail-page .bd-hero{min-height:220px;margin:calc(var(--bd-y) * -1) calc(var(--bd-x) * -1) 0;background:var(--accent-soft);flex-direction:column;display:flex;position:relative;overflow:hidden}.building-detail-page .bd-hero-photo{position:absolute;inset:0 0 0 45%}.building-detail-page .bd-hero-photo .inventory-photo,.building-detail-page .bd-hero-photo .detail-cover{background:var(--accent-soft);width:100%;height:100%;position:absolute;inset:0;-webkit-mask-image:none;mask-image:none}.building-detail-page .bd-hero-photo .inventory-photo>img{object-fit:cover;width:100%;height:100%}.building-detail-page .bd-hero-photo .inventory-photo-placeholder{border:1px dashed color-mix(in srgb, var(--muted) 55%, transparent);background:var(--accent-soft);color:var(--ink-2);gap:8px}.building-detail-page .bd-hero-photo .inventory-photo-placeholder svg{width:28px;height:28px}.building-detail-page .bd-hero-photo .inventory-photo-placeholder small{color:var(--ink-2);font-size:13px;font-weight:500}.building-detail-page .bd-hero-fade{background:linear-gradient(90deg, var(--accent-soft) 0%, transparent 100%);pointer-events:none;width:20%;position:absolute;inset:0 auto 0 45%}.building-detail-page .bd-hero-main{z-index:1;flex-direction:column;align-items:flex-start;gap:8px;min-width:0;max-width:48%;padding:22px 28px 56px;display:flex;position:relative}.building-detail-page .bd-crumbs{color:var(--muted);flex-wrap:wrap;align-items:center;gap:8px;font-size:12px;display:flex}.building-detail-page .bd-crumbs .back-button{min-height:0;color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:0;align-items:center;padding:0;display:inline-flex}.building-detail-page .bd-crumbs .back-button:hover{color:var(--brand-highlight-dark)}.building-detail-page .bd-crumbs [aria-current]{color:var(--ink)}.building-detail-page .bd-hero h1{color:var(--ink);font:400 40px/1.15 var(--font-display);letter-spacing:0;overflow-wrap:anywhere;margin:0}.building-detail-page .bd-address{color:var(--ink-2);margin:0;font-size:13px;line-height:1.5}.building-detail-page .bd-chips{flex-wrap:wrap;align-items:center;gap:8px;margin-top:6px;display:flex}.building-detail-page .bd-edit{border-radius:var(--radius-full);background:var(--accent);color:#fff;height:28px;font:600 12px/1 var(--font-body);cursor:pointer;border:0;padding:0 12px;transition:background .15s}.building-detail-page .bd-edit:hover:not([aria-disabled=true]){background:var(--ink)}.building-detail-page .bd-edit[aria-disabled=true]{opacity:.55;cursor:not-allowed}.building-detail-page .bd-edit:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.building-detail-page .bd-pill{border-radius:var(--radius-full);color:var(--ink);background:#fffc;align-items:center;gap:8px;padding:4px 12px;font-size:12px;font-weight:600;display:inline-flex}.building-detail-page .bd-pill i{background:currentColor;border-radius:50%;width:6px;height:6px}.building-detail-page .bd-pill.is-active{background:var(--green-soft);color:var(--green-text)}.building-detail-page .bd-pill.is-stopped{color:var(--muted);background:#fffc}.building-detail-page .bd-pill.is-plain i{display:none}.building-detail-page .bd-more .action-menu-trigger{border-radius:var(--radius-full);width:28px;min-height:28px;color:var(--ink-2);background:#fffc}.building-detail-page .bd-hero-switch{z-index:1;gap:8px;max-width:calc(55% - 24px);display:flex;position:absolute;bottom:18px;right:24px}.building-detail-page .bd-hero-switch button{border-radius:var(--radius);max-width:100%;height:34px;color:var(--ink);font:600 12px/1 var(--font-body);cursor:pointer;background:#ffffffe6;border:0;align-items:center;gap:6px;padding:0 12px;transition:background .15s;display:inline-flex}.building-detail-page .bd-hero-switch button span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.building-detail-page .bd-hero-switch button:hover{background:var(--paper);color:var(--brand-highlight-dark)}.building-detail-page .bd-hero-switch button:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.building-detail-page .bd-body{flex-direction:column;gap:20px;padding-top:20px;display:flex}.building-detail-page .bd-kpis .ks-value em{color:inherit;font:inherit}.building-detail-page .bd-kpis .ks-value em:before{content:" "}.building-detail-page .bd-body>.building-inactive-banner{margin:0}.building-detail-page .bd-layout{grid-template-columns:minmax(0,1.8fr) minmax(280px,1fr);align-items:start;gap:20px;display:grid}.building-detail-page .bd-side{flex-direction:column;gap:16px;min-width:0;display:flex}.building-detail-page .bd-map,.building-detail-page .bd-staff,.building-detail-page .bd-alerts,.building-detail-page .bd-info{border-radius:var(--radius-lg);background:var(--paper);min-width:0;box-shadow:var(--shadow-sm);padding:16px}.building-detail-page .bd-map{flex-direction:column;gap:16px;display:flex}.building-detail-page .bd-map h2,.building-detail-page .bd-info h2,.building-detail-page .bd-staff h2,.building-detail-page .bd-alerts h2{color:var(--ink);font:700 16px/1.3 var(--font-body);margin:0}.building-detail-page .bd-map-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.building-detail-page .bd-legend{flex-wrap:wrap;gap:12px;margin:0;display:flex}.building-detail-page .bd-legend-item{color:var(--muted);cursor:pointer;align-items:center;gap:8px;font-size:12px;display:inline-flex;position:relative}.building-detail-page .bd-legend-item b{color:inherit;font-variant-numeric:tabular-nums;font-weight:400}.building-detail-page .bd-legend-item input{opacity:0;pointer-events:none;width:1px;height:1px;margin:0;position:absolute}.building-detail-page .bd-legend-item i{background:var(--accent-soft);width:10px;height:10px;box-shadow:inset 0 0 0 1px var(--accent);border-radius:3px;display:block}.building-detail-page .bd-legend-item.kind-expiring i{background:var(--danger-soft);box-shadow:inset 0 0 0 1px var(--brand-highlight)}.building-detail-page .bd-legend-item.kind-available i{background:var(--green-soft);box-shadow:inset 0 0 0 1px var(--green)}.building-detail-page .bd-legend-item.kind-maintenance i{background:var(--orange-soft);box-shadow:inset 0 0 0 1px var(--orange)}.building-detail-page .bd-legend-item.kind-inactive i{background:var(--line-soft);box-shadow:inset 0 0 0 1px var(--scroll-hover)}.building-detail-page .bd-legend-item:has(input:not(:checked)){opacity:.5;text-decoration:line-through}.building-detail-page .bd-legend-item:has(input:focus-visible){outline:2px solid var(--focus-ring);outline-offset:3px;border-radius:4px}.building-detail-page .bd-floors{flex-direction:column;gap:8px;display:flex}.building-detail-page .bd-floor-row{align-items:stretch;gap:12px;display:flex}.building-detail-page .bd-floor-name{width:56px;color:var(--ink-2);flex-direction:column;flex:none;justify-content:center;display:flex}.building-detail-page .bd-floor-name strong{font-size:12px;font-weight:600}.building-detail-page .bd-floor-name small{color:var(--subtle);font-size:11px;font-weight:500}.building-detail-page .bd-cells{flex:1;grid-template-columns:repeat(auto-fill,minmax(64px,1fr));gap:8px;min-width:0;display:grid}.building-detail-page .bd-cell{border-radius:var(--radius);background:var(--blue-soft);min-width:0;min-height:0;color:var(--accent);font:inherit;text-align:left;cursor:pointer;border:0;flex-direction:column;gap:2px;padding:8px;transition:filter .15s;display:flex}.building-detail-page .bd-cell strong{font-size:12px;font-weight:700;line-height:1.3}.building-detail-page .bd-cell small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:11px;line-height:1.3;overflow:hidden}.building-detail-page .bd-cell:hover{filter:brightness(.96)}.building-detail-page .bd-cell:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.building-detail-page .bd-cell.kind-expiring{background:var(--danger-soft);box-shadow:inset 0 0 0 1px var(--brand-highlight);color:var(--danger-dark)}.building-detail-page .bd-cell.kind-expiring small{color:var(--danger-dark)}.building-detail-page .bd-cell.kind-available{background:var(--green-soft);color:var(--green-text)}.building-detail-page .bd-cell.kind-available small{color:var(--green-text)}.building-detail-page .bd-cell.kind-maintenance{background:var(--orange-soft);color:var(--orange-text)}.building-detail-page .bd-cell.kind-maintenance small{color:var(--orange-text)}.building-detail-page .bd-cell.kind-inactive{background:var(--line-soft);color:var(--muted)}.building-detail-page .bd-floor-empty{color:var(--subtle);grid-column:1/-1;align-self:center;font-size:12px}.building-detail-page .bd-info{background:color-mix(in srgb, var(--orange-soft) 70%, var(--paper));flex-direction:column;gap:12px;display:flex}.building-detail-page .bd-info dl{flex-direction:column;gap:12px;margin:0;display:flex}.building-detail-page .bd-info dl>div{justify-content:space-between;gap:16px;font-size:13px;display:flex}.building-detail-page .bd-info dt{color:var(--muted);flex:none}.building-detail-page .bd-info dd{color:var(--ink);text-align:right;overflow-wrap:anywhere;margin:0;font-weight:600}.building-detail-page .bd-info-note{color:var(--muted);margin:0;font-size:12px;line-height:1.6}.building-detail-page .bd-amenities{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.building-detail-page .bd-amenities li{border-radius:var(--radius-full);background:var(--paper);color:var(--ink-2);padding:4px 12px;font-size:11px}.building-detail-page .bd-staff,.building-detail-page .bd-alerts{flex-direction:column;gap:12px;display:flex}.building-detail-page .bd-staff ul,.building-detail-page .bd-alerts ul{flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;display:flex}.building-detail-page .bd-staff li{align-items:center;gap:12px;min-width:0;display:flex}.building-detail-page .bd-staff li>div{flex-direction:column;gap:2px;min-width:0;display:flex}.building-detail-page .bd-staff strong{color:var(--ink);overflow-wrap:anywhere;font-size:13px;font-weight:600}.building-detail-page .bd-staff small{color:var(--muted);font-size:11px}.building-detail-page .bd-staff .avatar{background:var(--accent);color:#fff;flex:none;width:32px;height:32px;font-size:11px;font-weight:700}.building-detail-page .bd-staff .avatar[data-tone="0"]{background:var(--brand-highlight-dark)}.building-detail-page .bd-staff .avatar[data-tone="1"]{background:var(--accent)}.building-detail-page .bd-staff .avatar[data-tone="2"]{background:var(--green)}.building-detail-page .bd-staff .avatar[data-tone="3"]{background:var(--orange-text)}.building-detail-page .bd-link{color:var(--accent);font:600 12px/1.3 var(--font-body);cursor:pointer;background:0 0;border:0;place-self:flex-start start;padding:0}.building-detail-page .bd-link:hover{color:var(--brand-highlight-dark)}.building-detail-page .bd-alert{border-radius:var(--radius-lg);background:var(--danger-soft);width:100%;color:var(--ink);font:inherit;text-align:left;cursor:pointer;border:0;gap:12px;padding:12px;transition:filter .15s;display:flex}.building-detail-page .bd-alert:hover{filter:brightness(.97)}.building-detail-page .bd-alert:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.building-detail-page .bd-alert i{background:var(--brand-highlight);border-radius:50%;flex:none;width:8px;height:8px;margin-top:5px}.building-detail-page .bd-alert span{flex-direction:column;gap:2px;min-width:0;display:flex}.building-detail-page .bd-alert strong{overflow-wrap:anywhere;font-size:13px;font-weight:600}.building-detail-page .bd-alert small{color:var(--muted);font-size:11px}.building-detail-page .bd-alert.is-maintenance{background:var(--orange-soft)}.building-detail-page .bd-alert.is-maintenance i{background:var(--orange-dot)}@media (width<=1099px){.building-detail-page .bd-layout{grid-template-columns:minmax(0,1fr)}.building-detail-page .bd-side{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;display:grid}}@media (width<=1023px){.building-detail-page .bd-hero-photo{order:-1;height:150px;position:relative;inset:auto}.building-detail-page .bd-hero-fade{display:none}.building-detail-page .bd-hero-main{max-width:100%;padding:20px 28px}.building-detail-page .bd-hero-switch{flex-wrap:wrap;max-width:none;padding:0 28px 20px;position:static}}@media (width<=767px){.building-detail-page .bd-hero-main{padding:16px}.building-detail-page .bd-hero h1{font-size:30px}.building-detail-page .bd-hero-switch{padding:0 16px 16px}.building-detail-page .bd-side{grid-template-columns:minmax(0,1fr)}.building-detail-page .bd-map,.building-detail-page .bd-info,.building-detail-page .bd-staff,.building-detail-page .bd-alerts{padding:16px}.building-detail-page .bd-floor-row{flex-direction:column;gap:4px}.building-detail-page .bd-floor-name{flex-direction:row;justify-content:flex-start;align-items:baseline;gap:8px;width:auto}.building-detail-page .bd-cells{grid-template-columns:repeat(auto-fill,minmax(72px,1fr))}.building-detail-page .bd-cell,.building-detail-page .bd-edit,.building-detail-page .bd-hero-switch button,.building-detail-page .bd-crumbs .back-button{min-height:44px}}.rooms-filter-panel{background:var(--paper);border-radius:var(--radius-lg);padding:var(--sp-4);margin-bottom:var(--sp-4);gap:var(--sp-3);box-shadow:var(--shadow-sm);border:1px solid #0000;flex-direction:column;display:flex}.rooms-toolbar-row-main{align-items:center;gap:var(--sp-3);flex-wrap:wrap;display:flex}.rooms-select-group{align-items:center;gap:var(--sp-2);display:flex}.rooms-select-group label{font-size:var(--text-xs);color:var(--muted);text-transform:uppercase;letter-spacing:.04em;align-items:center;gap:6px;font-weight:600;display:flex}.rooms-select-group select{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--paper);height:38px;color:var(--ink);font-size:var(--text-base);padding:0 12px;font-weight:500;transition:border-color .15s,box-shadow .15s}.rooms-select-group select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.rooms-search-box{align-items:center;gap:var(--sp-2);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);flex:1;min-width:240px;height:38px;padding:0 12px;transition:border-color .15s,background .15s;display:flex}.rooms-search-box:focus-within{border-color:var(--accent);background:var(--paper);box-shadow:0 0 0 3px var(--accent-soft)}.rooms-search-box input{color:var(--ink);font-size:var(--text-base);background:0 0;border:none;flex:1}.rooms-search-box input:focus{outline:none}.rooms-search-box .clear-btn{color:var(--muted);cursor:pointer;border-radius:var(--radius-full);background:0 0;border:none;justify-content:center;align-items:center;padding:2px;display:flex}.rooms-search-box .clear-btn:hover{color:var(--ink);background:var(--surface-2)}.rooms-extra-filters{align-items:center;gap:var(--sp-4);padding-top:var(--sp-3);border-top:1px solid var(--line-soft);flex-wrap:wrap;display:flex}.price-range-inputs{font-size:var(--text-sm);align-items:center;gap:6px;display:flex}.price-range-inputs input{border:1px solid var(--line);border-radius:var(--radius);width:110px;height:32px;font-size:var(--text-sm);background:var(--paper);padding:0 8px}.amenity-filter-tags{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.amenity-tag{border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--surface);cursor:pointer;color:var(--muted);-webkit-user-select:none;user-select:none;align-items:center;gap:4px;padding:3px 8px;font-size:12px;transition:all .15s;display:inline-flex}.amenity-tag:hover{border-color:var(--accent-light);color:var(--ink)}.amenity-tag.selected{background:var(--accent-soft);border-color:var(--accent-light);color:var(--accent-dark);font-weight:600}.room-row-clickable{cursor:pointer;transition:background-color .12s}.room-row-clickable:hover{background-color:var(--surface)!important}.room-cell-main{flex-direction:column;gap:2px;display:flex}.room-cell-main .room-code-tag{font-family:var(--font-heading);font-size:var(--text-md);color:var(--ink);font-weight:700}.room-type-tag{border-radius:var(--radius-sm);background:var(--surface-2);color:var(--muted);width:fit-content;padding:1px 6px;font-size:11px;font-weight:600;display:inline-block}.tenant-preview{flex-direction:column;gap:2px;display:flex}.tenant-preview .tenant-name{color:var(--ink);font-weight:600}.tenant-preview .contract-end-badge{color:var(--muted);align-items:center;gap:4px;font-size:11px;display:inline-flex}.tenant-preview .contract-end-badge.expiring-soon{color:var(--orange-dark);background:var(--orange-soft);border-radius:var(--radius-sm);width:fit-content;padding:1px 6px;font-weight:600}.room-table-actions{align-items:center;gap:var(--sp-2);flex-wrap:wrap;justify-content:flex-end;display:flex}.table-icon-btn{border-radius:var(--radius);width:32px;height:32px;color:var(--muted);cursor:pointer;background:0 0;border:1px solid #0000;justify-content:center;align-items:center;transition:all .15s;display:inline-flex}.table-icon-btn:hover{background:var(--surface-2);color:var(--ink);border-color:var(--line)}.table-icon-btn:disabled{opacity:.4;cursor:not-allowed}.room-detail-modal-header{padding:var(--sp-4) var(--sp-6);border-bottom:1px solid var(--line);background:var(--surface);justify-content:space-between;align-items:center;display:flex}.room-detail-title-wrap{align-items:center;gap:var(--sp-3);min-width:0;display:flex}.room-detail-title-wrap h2{font-size:var(--text-2xl);margin:0;font-weight:800}.room-detail-header-actions{align-items:center;gap:var(--sp-2);flex-wrap:wrap;display:flex}.room-detail-tabs{gap:var(--sp-2);padding:0 var(--sp-6);background:var(--paper);border-bottom:1px solid var(--line);scrollbar-width:thin;scrollbar-color:var(--scroll-thumb) var(--scroll-track);flex-shrink:0;display:flex;overflow-x:auto}.room-detail-tabs::-webkit-scrollbar{height:8px;display:block}.room-detail-tab-btn{font-size:var(--text-base);color:var(--muted);cursor:pointer;white-space:nowrap;background:0 0;border:none;flex-shrink:0;padding:12px 16px;font-weight:600;transition:color .15s;position:relative}.room-detail-tab-btn:hover{color:var(--ink)}.room-detail-tab-btn.active{color:var(--accent)}.room-detail-tab-btn.active:after{content:"";background:var(--accent);border-radius:2px 2px 0 0;height:2px;position:absolute;bottom:-1px;left:0;right:0}.room-detail-body{padding:var(--sp-6);gap:var(--sp-6);scrollbar-width:thin;scrollbar-color:var(--line) transparent;flex-direction:column;flex:auto;min-height:0;display:flex;overflow-y:auto}.room-photos-gallery{gap:var(--sp-3);flex-direction:column;display:flex}.room-cover-photo-wrap{border-radius:var(--radius-lg);background:var(--surface-2);flex-shrink:0;height:clamp(200px,28vh,260px);position:relative;overflow:hidden}.room-cover-photo-wrap img{object-fit:cover;width:100%;height:100%}.room-cover-badge{color:#fff;border-radius:var(--radius-sm);letter-spacing:.05em;text-transform:uppercase;background:#000000b8;padding:4px 10px;font-size:11px;font-weight:700;position:absolute;top:12px;left:12px}.room-photos-thumbnails{gap:var(--sp-2);padding-bottom:4px;display:flex;overflow-x:auto}.room-thumb-item{border-radius:var(--radius);cursor:pointer;border:2px solid #0000;flex-shrink:0;width:90px;height:65px;position:relative;overflow:hidden}.room-thumb-item.selected{border-color:var(--accent)}.room-thumb-item img{object-fit:cover;width:100%;height:100%}.room-specs-grid{gap:var(--sp-3);grid-template-columns:repeat(auto-fit,minmax(160px,1fr));display:grid}.room-spec-card{background:var(--surface);border:1px solid var(--line-soft);border-radius:var(--radius-md);padding:var(--sp-3) var(--sp-4);flex-direction:column;gap:4px;display:flex}.room-spec-card small{color:var(--muted);font-size:12px;font-weight:500}.room-spec-card strong{font-size:var(--text-lg);color:var(--ink);font-weight:700}.room-amenities-detailed{gap:var(--sp-3);flex-direction:column;display:flex}.room-amenities-grid{gap:var(--sp-3);grid-template-columns:repeat(auto-fill,minmax(240px,1fr));display:grid}.amenity-item-card{justify-content:space-between;align-items:center;gap:var(--sp-2);border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);min-width:0;padding:10px 14px;display:flex}.amenity-item-left{align-items:center;gap:var(--sp-3);flex:1;min-width:0;display:flex}.amenity-item-left>div{min-width:0}.amenity-item-left strong{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.amenity-item-icon{background:var(--surface-2);border-radius:var(--radius-sm);justify-content:center;align-items:center;width:36px;height:36px;font-size:20px;display:flex}.amenity-condition-chip{border-radius:var(--radius-sm);padding:2px 8px;font-size:12px;font-weight:600}.condition-new{background:var(--green-soft);color:var(--green-dark)}.condition-good{background:var(--blue-soft);color:var(--blue-dark)}.condition-needs-repair{background:var(--orange-soft);color:var(--orange-dark)}.room-maintenance-banner{background:var(--orange-soft);border-radius:var(--radius-lg);padding:var(--sp-4);gap:var(--sp-2);border:1px solid #f6d1b2;flex-direction:column;display:flex}.room-maintenance-banner header{justify-content:space-between;align-items:center;display:flex}.room-maintenance-banner header strong{color:var(--orange-dark);font-size:var(--text-md)}.room-timeline-container{flex-direction:column;gap:0;padding-left:28px;display:flex;position:relative}.room-timeline-container:before{content:"";background:var(--line);width:2px;position:absolute;top:8px;bottom:8px;left:11px}.room-timeline-item{padding-bottom:var(--sp-5);position:relative}.room-timeline-node{border:3px solid var(--paper);background:var(--subtle);width:24px;height:24px;box-shadow:0 0 0 1px var(--line);border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;top:2px;left:-28px}.room-timeline-node.status-occupied{background:var(--blue)}.room-timeline-node.status-available{background:var(--green)}.room-timeline-node.status-maintenance{background:var(--orange)}.room-timeline-node.status-inactive{background:#7b7d79}.room-timeline-content{background:var(--surface);border:1px solid var(--line-soft);border-radius:var(--radius-md);flex-direction:column;gap:4px;padding:12px 16px;display:flex}.room-timeline-content header{justify-content:space-between;align-items:center;display:flex}.room-timeline-period{color:var(--muted);font-size:12px;font-weight:600}.room-contract-card{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--paper);padding:var(--sp-4);gap:var(--sp-3);flex-direction:column;display:flex}.room-tenant-list{gap:var(--sp-2);flex-direction:column;display:flex}.tenant-item-row{background:var(--surface);border-radius:var(--radius);justify-content:space-between;align-items:center;padding:8px 12px;display:flex}.bulk-preview-item-conflict{font-weight:700;color:#c92a2a!important;background:#fdf0f0!important;border-color:#f7b0b5!important}.bulk-preview-item-conflict small{color:#e03131}.bulk-conflict-alert{border-radius:var(--radius-md);color:#c92a2a;font-size:var(--text-sm);margin-bottom:var(--sp-3);background:#fff5f5;border:1px solid #ffc9c9;align-items:center;gap:8px;padding:10px 14px;display:flex}.amenity-edit-table{border-collapse:collapse;width:100%;margin-top:var(--sp-2)}.amenity-edit-table th{color:var(--muted);text-align:left;border-bottom:1px solid var(--line);padding:6px 8px;font-size:12px}.amenity-edit-table td{vertical-align:middle;border-bottom:1px solid var(--line-soft);padding:6px 8px}.amenity-edit-table input[type=number]{border:1px solid var(--line);border-radius:var(--radius-sm);width:60px;height:30px;padding:0 6px}.amenity-edit-table input[type=text]{border:1px solid var(--line);border-radius:var(--radius-sm);width:100%;height:30px;padding:0 8px}.amenity-edit-table select{border:1px solid var(--line);border-radius:var(--radius-sm);height:30px;padding:0 6px}@media (width<=768px){.rooms-toolbar-row-main{flex-direction:column;align-items:stretch}.rooms-select-group{width:100%}.rooms-select-group select{flex:1}.rooms-search-box{width:100%;min-width:0}.room-specs-grid{grid-template-columns:repeat(2,1fr)}.room-detail-header-actions{flex-wrap:wrap;justify-content:flex-start}.room-amenities-grid{grid-template-columns:1fr}}.homikey-workspace .rooms-filter-panel{gap:20px;margin-bottom:20px;padding:16px}.homikey-workspace .rooms-toolbar-row-main{align-items:flex-end}.homikey-workspace .rooms-select-group{flex-direction:column;align-items:stretch;gap:8px;min-width:150px;display:flex}.homikey-workspace .rooms-select-group label{text-transform:none;letter-spacing:0;font-weight:500}.homikey-workspace .rooms-select-group select{width:100%;min-height:40px}.homikey-workspace .rooms-toolbar-row-main .search-box{flex:240px;min-width:0;min-height:40px}.homikey-workspace .rooms-extra-filters{border-color:var(--line-soft);background:var(--accent-softer);border-radius:var(--radius);padding:16px}.homikey-workspace .amenity-tag{font:inherit;color:var(--ink-2);font-size:12px}.homikey-workspace .amenity-tag.selected{background:var(--accent);color:var(--paper);border-color:var(--accent)}.homikey-workspace .rooms-table{width:100%;max-width:100%;overflow-x:auto}.homikey-workspace .rooms-table table{min-width:1080px}body:has(.homikey-workspace) .modal:has(:is(.room-form-wrapper,.building-form-wrapper,.bulk-room-form,.room-maintenance-form,.room-detail-body)){border-radius:var(--radius-xl)}body:has(.homikey-workspace) .modal:has(:is(.room-form-wrapper,.building-form-wrapper,.bulk-room-form,.room-maintenance-form)) .modal-header{background:var(--accent-softer);border-bottom-color:var(--line)}body:has(.homikey-workspace) .modal:has(:is(.room-form-wrapper,.building-form-wrapper,.bulk-room-form,.room-maintenance-form)) .modal-header h2{font:400 24px/1.4 var(--font-display)}body:has(.homikey-workspace) .room-form-wrapper .room-amenity-editor{max-width:100%;overflow-x:auto}body:has(.homikey-workspace) .room-form-wrapper .amenity-edit-table{min-width:650px}:is(body:has(.homikey-workspace) .room-form-wrapper :is(input,select),body:has(.homikey-workspace) .bulk-room-form :is(input,select)){accent-color:var(--accent)}body:has(.homikey-workspace) .room-detail-display-title{font:400 28px/1.4 var(--font-display)}body:has(.homikey-workspace) .room-detail-header-actions{flex-wrap:wrap;gap:8px}body:has(.homikey-workspace) .room-detail-tabs{background:var(--paper);border-color:var(--line)}body:has(.homikey-workspace) .room-detail-tab-btn{color:var(--muted);min-height:44px}body:has(.homikey-workspace) .room-detail-tab-btn.active{color:var(--accent);border-color:var(--accent)}body:has(.homikey-workspace) .room-detail-body{background:var(--accent-softer);padding:24px}body:has(.homikey-workspace) .room-spec-card{border:1px solid var(--line);background:var(--paper);border-radius:var(--radius)}body:has(.homikey-workspace) .room-cover-photo-wrap{border-radius:var(--radius);background:var(--surface-2);height:280px}body:has(.homikey-workspace) .room-cover-photo-wrap .inventory-photo{height:100%}body:has(.homikey-workspace) .room-thumb-item{background:var(--paper);border:2px solid #0000;padding:0}body:has(.homikey-workspace) .room-thumb-item.selected{border-color:var(--accent)}:is(body:has(.homikey-workspace) .room-amenities-detailed,body:has(.homikey-workspace) .room-contract-card){background:var(--paper);border:1px solid var(--line);border-radius:var(--radius)}@media (width<=767px){.homikey-workspace .rooms-select-group{flex:none;min-width:0}.homikey-workspace .rooms-select-group select{flex:none}.homikey-workspace .rooms-toolbar-row-main .search-box{flex:none;width:100%}.homikey-workspace .price-range-inputs{flex-wrap:wrap;display:flex}.homikey-workspace .price-range-inputs input{flex:90px;min-width:0;max-width:100%}body:has(.homikey-workspace) .room-detail-body{padding:16px}body:has(.homikey-workspace) .room-cover-photo-wrap{height:200px}}body:has(.homikey-workspace) .room-detail-tabs{scrollbar-width:thin;scrollbar-color:var(--scroll-thumb) var(--scroll-track)}body:has(.homikey-workspace) .room-detail-tabs::-webkit-scrollbar{height:8px;display:block}body:has(.homikey-workspace) :is(.room-form-wrapper,.building-form-wrapper,.bulk-room-form,.room-maintenance-form) .form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}body:has(.homikey-workspace) :is(.room-form-wrapper,.building-form-wrapper,.bulk-room-form,.room-maintenance-form) .form-grid>*{min-width:0}@media (width<=767px){body:has(.homikey-workspace) :is(.room-form-wrapper,.building-form-wrapper,.bulk-room-form,.room-maintenance-form) .form-grid{grid-template-columns:minmax(0,1fr)}.homikey-workspace .rooms-filter-panel button{min-height:44px}.homikey-workspace .table-icon-btn{min-width:44px;min-height:44px}}.rooms-page{flex-direction:column;gap:24px;min-width:0;display:flex}.homikey-workspace .rooms-page>.page-heading{margin-bottom:0}.rooms-page .rooms-crumbs{color:var(--muted);flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:-8px;font-size:13px;display:flex}.rooms-page .rooms-crumbs button{color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:0;padding:0}.rooms-page .rooms-crumbs button:last-child{color:var(--ink)}.rooms-page .rooms-crumbs button:hover:not(:disabled){color:var(--brand-highlight-dark)}.rooms-page .rooms-crumbs button:disabled{cursor:default}.rooms-page .rooms-crumbs button:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px;border-radius:4px}.rooms-page .building-inactive-banner{margin:0!important}.rooms-page .rooms-filter-panel{border-radius:var(--radius-lg);background:var(--paper);box-shadow:inset 0 0 0 1px var(--line);margin:0;padding:8px 16px;display:block}.rooms-page .rooms-toolbar-row-main{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.rooms-page .rooms-select-group{width:220px;min-width:0;display:block}.rooms-page .rooms-select-group.is-floor{width:170px}.rooms-page .rooms-select-group label{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.rooms-page .rooms-select-group select{width:100%;min-width:0;min-height:42px;font-size:14px;font-weight:500}.rooms-page .rooms-status-chip{border-radius:var(--radius-full);background:var(--danger-soft);height:32px;color:var(--danger-dark);font:600 12px/1 var(--font-body);cursor:pointer;border:0;align-items:center;gap:8px;padding:0 12px;display:inline-flex}.rooms-page .rooms-status-chip:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.rooms-page .rooms-count{color:var(--muted);white-space:nowrap;margin-left:auto;font-size:13px}.rooms-page .rooms-view-switch{border-radius:var(--radius);background:var(--surface-2);box-shadow:inset 0 0 0 1px var(--control-line);gap:2px;padding:3px;display:inline-flex}.rooms-page .rooms-view-switch button{width:34px;height:32px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:8px;justify-content:center;align-items:center;padding:0;display:inline-flex}.rooms-page .rooms-view-switch button:hover{color:var(--ink)}.rooms-page .rooms-view-switch button.active{background:var(--paper);color:var(--ink);box-shadow:0 1px 2px #1c28351f}.rooms-page .rooms-view-switch button:focus-visible{outline:2px solid var(--focus-ring);outline-offset:1px}.rooms-page .filter-pop-panel .price-range-inputs{flex-wrap:wrap}.rooms-page .filter-pop-panel .price-range-inputs input{flex:110px;width:auto;min-width:0;height:40px;padding:0 10px}.rooms-page .filter-pop-chip{border-radius:var(--radius-full);background:var(--paper);box-shadow:inset 0 0 0 1px var(--control-line);color:var(--ink-2);font:500 12px/1 var(--font-body);cursor:pointer;border:0;align-items:center;gap:6px;padding:6px 12px;display:inline-flex}.rooms-page .filter-pop-chip b{color:var(--muted);font-variant-numeric:tabular-nums;font-weight:600}.rooms-page .filter-pop-chip.active{background:var(--accent);box-shadow:none;color:#fff}.rooms-page .filter-pop-chip.active b{color:inherit}.rooms-page .filter-pop-chip:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.rooms-page .filter-pop-panel .amenity-filter-tags{max-height:160px;overflow-y:auto}.rooms-page[data-view=cards] .rooms-table,.rooms-page[data-view=table] .room-catalog-grid{display:none}.rooms-page .room-catalog-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,270px),1fr));gap:20px;display:grid}.rooms-page .room-catalog-card{border-radius:var(--radius-lg);background:var(--paper);box-shadow:inset 0 0 0 1px var(--line);border:0;flex-direction:column;padding:0;transition:box-shadow .15s,transform .15s;display:flex;position:relative;overflow:hidden}.rooms-page .room-catalog-card:hover,.rooms-page .room-catalog-card:focus-within{box-shadow:inset 0 0 0 1px var(--control-line), 0 14px 30px -18px #1c283559;transform:translateY(-2px)}.rooms-page .room-catalog-card.status-inactive{opacity:.8}.rooms-page .room-catalog-cover{background:var(--line-soft);height:132px;display:block;position:relative;overflow:hidden}.rooms-page .room-catalog-cover .inventory-photo{background:0 0;height:100%}.rooms-page .room-catalog-cover .inventory-photo-placeholder{background:linear-gradient(#d1bc98 0%,#c2ad8c 50%,#b5a28a 50%,#9b8573 100%);gap:0;height:100%;display:block;position:relative}.rooms-page .room-catalog-cover .inventory-photo-placeholder svg,.rooms-page .room-catalog-cover .inventory-photo-placeholder small{display:none}.rooms-page .room-catalog-cover .inventory-photo-placeholder:after{content:"";background:#62625c73;width:30%;height:100%;position:absolute;top:26px;right:22px}.rooms-page .room-cover-status{z-index:1;border-radius:var(--radius-full);color:var(--ink);background:#ffffffeb;gap:8px;padding:4px 12px;font-size:12px;font-weight:600;position:absolute;top:12px;left:12px}.rooms-page .room-cover-status i{background:var(--accent);width:6px;height:6px}.rooms-page .room-cover-status.room-available{background:var(--green-soft);color:var(--green-text)}.rooms-page .room-cover-status.room-available i{background:var(--green)}.rooms-page .room-cover-status.room-maintenance{background:var(--orange-soft);color:var(--orange-text)}.rooms-page .room-cover-status.room-maintenance i{background:var(--orange-dot)}.rooms-page .room-cover-status.room-inactive{color:var(--muted)}.rooms-page .room-cover-status.room-inactive i{background:var(--scroll-hover)}.rooms-page .room-card-body{flex-direction:column;flex:1;gap:12px;min-width:0;padding:16px;display:flex}.rooms-page .room-card-title{color:var(--ink);font:700 16px/1.3 var(--font-body);margin:0}.rooms-page .room-card-open{color:inherit;font:inherit;text-align:left;cursor:pointer;overflow-wrap:anywhere;background:0 0;border:0;padding:0}.rooms-page .room-card-open:after{content:"";z-index:1;position:absolute;inset:0}.rooms-page .room-card-open:focus-visible{outline:0}.rooms-page .room-card-open:focus-visible:after{outline:2px solid var(--focus-ring);outline-offset:-3px;border-radius:var(--radius-lg)}.rooms-page .room-card-facts{color:var(--muted);flex-wrap:wrap;gap:8px 16px;margin:0;font-size:12px;line-height:1.5;display:flex}.rooms-page .room-card-tenant{min-height:16px;color:var(--muted);margin:0;font-size:12px;line-height:1.4}.rooms-page .room-card-tenant strong{color:inherit;font-weight:400}.rooms-page .room-card-tenant.expiring-soon{color:var(--danger-dark)}.rooms-page .room-card-price{border-top:1px solid var(--line);align-items:baseline;gap:6px;margin-top:auto;padding-top:12px;display:flex}.rooms-page .room-card-price strong{color:var(--ink);font-variant-numeric:tabular-nums;font-size:16px;font-weight:700}.rooms-page .room-card-price small{color:var(--muted);font-size:13px;font-weight:500}@media (width<=767px){.rooms-page{gap:20px}.rooms-page .rooms-toolbar-row-main{flex-flow:wrap;align-items:center}.rooms-page .rooms-select-group,.rooms-page .rooms-select-group.is-floor{flex:100%;width:auto}.rooms-page .rooms-select-group select{min-height:44px;font-size:16px}.rooms-page .rooms-count{flex:auto;margin-left:0}.rooms-page .rooms-view-switch button{width:40px;height:38px}.rooms-page .filter-pop-panel{left:0;right:auto}}.tenant-toolbar{justify-content:flex-start}.tenant-toolbar .search-box{margin-right:auto}.tenant-toolbar>select{border:1px solid var(--line);border-radius:var(--radius);color:#555;height:38px;font-size:var(--text-sm);background:#fff;padding:0 30px 0 10px}.tenant-grid{gap:var(--sp-4);grid-template-columns:repeat(3,1fr);display:grid}.tenant-card{border-radius:var(--radius-lg);box-shadow:var(--shadow);background:#fff;border:1px solid #0000;padding:18px;transition:box-shadow .2s}.tenant-card:hover{box-shadow:var(--shadow-md)}.tenant-card header{justify-content:space-between;align-items:flex-start;display:flex}.tenant-avatar{width:46px;height:46px}.tenant-card h2{margin:13px 0 4px;font-size:16px}.tenant-card>p{color:#8b8c87;font-size:var(--text-sm)}.tenant-card dl{border-top:1px solid #efefe9;margin:14px 0 0}.tenant-card dl div{border-bottom:1px solid #f1f1ed;padding:9px 0}.tenant-card dt{color:#999;font-size:11px}.tenant-card dd{color:#555;font-size:var(--text-sm);margin:3px 0 0;font-weight:600}.verify-dot{color:var(--orange-text);margin-left:5px;font-size:9px}.verify-dot.verified{color:var(--green-text)}.tenant-card footer{margin-top:var(--sp-3);gap:var(--sp-2);align-items:center;display:flex}.tenant-card footer span,.tenant-card footer strong{display:block}.tenant-card footer span{color:#aaa;font-size:10px}.tenant-card footer strong{font-size:var(--text-sm);margin-top:3px}.duplicate-alert{border-radius:var(--radius);background:var(--orange-soft);color:#9a602a;align-items:flex-start;gap:var(--sp-2);padding:12px;display:flex}.duplicate-alert strong,.duplicate-alert small{display:block}.duplicate-alert strong{font-size:var(--text-sm)}.duplicate-alert small{margin-top:2px;font-size:11px}.document-upload{border-radius:var(--radius);border:1px dashed #d9d9d2;padding:12px}.document-upload>strong{font-size:var(--text-sm)}.document-upload>div{gap:var(--sp-2);margin:var(--sp-2) 0 6px;display:flex}.document-upload button{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);height:52px;color:var(--muted);font-size:var(--text-sm);flex:1;transition:border-color .15s,background .15s}.document-upload button:hover{border-color:var(--accent);background:var(--accent-softer)}.document-upload small{color:#aaa;font-size:11px}.contract-status{border-radius:var(--radius-full);background:var(--surface-2);color:var(--muted);padding:5px 9px;font-size:11px;font-weight:600;display:inline-block}.contract-status.draft{color:var(--orange-text);background:var(--orange-soft)}.contract-status.active{color:var(--green-text);background:var(--green-soft)}.contract-status.pending_termination{color:var(--danger);background:var(--danger-soft)}.contract-status.terminated{color:var(--muted);background:var(--surface-2)}.contract-status.cancelled{color:#999;background:#f1f1ed;text-decoration:line-through}.contract-status.expired{color:var(--orange-text);background:var(--orange-soft)}.contract-countdown{border-radius:var(--radius-full);white-space:nowrap;align-items:center;gap:4px;padding:2px 7px;font-size:11px;font-weight:600;display:inline-flex}.contract-countdown.safe{background:var(--surface-2);color:var(--muted)}.contract-countdown.warning{background:var(--orange-soft);color:var(--orange-text)}.contract-countdown.danger{background:var(--danger-soft);color:var(--danger)}.contract-detail-tabs{border-bottom:1px solid var(--line);gap:6px;margin-bottom:18px;display:flex}.contract-detail-tab-btn{font-size:var(--text-sm);color:var(--muted);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;align-items:center;gap:6px;padding:8px 12px;font-weight:500;transition:all .15s;display:inline-flex}.contract-detail-tab-btn:hover{color:var(--ink)}.contract-detail-tab-btn.active{color:var(--accent);border-bottom-color:var(--accent);font-weight:600}.contract-version-list{flex-direction:column;gap:12px;display:flex}.contract-version-card{border:1px solid var(--line);border-radius:var(--radius);background:#fff;flex-direction:column;gap:8px;padding:14px 16px;display:flex}.contract-version-header{justify-content:space-between;align-items:center;display:flex}.contract-version-header strong{color:var(--ink);font-size:14px}.contract-version-body{background:var(--surface-2);border-radius:var(--radius-sm);font-size:var(--text-sm);grid-template-columns:repeat(3,1fr);gap:12px;padding:10px 14px;display:grid}.contract-attachments-section{flex-direction:column;gap:14px;display:flex}.attachment-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.contract-attachment-card{border:1px solid var(--line);border-radius:var(--radius);background:#fff;justify-content:space-between;align-items:center;padding:12px 14px;display:flex}.attachment-meta{align-items:center;gap:10px;min-width:0;display:flex}.attachment-meta span.icon-wrap{border-radius:var(--radius-sm);background:var(--surface-2);width:34px;height:34px;color:var(--accent);flex-shrink:0;place-items:center;display:grid}.attachment-meta strong{font-size:var(--text-sm);white-space:nowrap;text-overflow:ellipsis;max-width:190px;display:block;overflow:hidden}.attachment-meta small{color:var(--muted);font-size:11px;display:block}.contract-vertical-timeline{flex-direction:column;gap:18px;padding-left:24px;display:flex;position:relative}.contract-vertical-timeline:before{content:"";background:var(--line);width:2px;position:absolute;top:6px;bottom:6px;left:8px}.timeline-item{position:relative}.timeline-dot{border:2px solid var(--accent);background:#fff;border-radius:50%;place-items:center;width:18px;height:18px;display:grid;position:absolute;top:2px;left:-24px}.timeline-dot:after{content:"";background:var(--accent);border-radius:50%;width:6px;height:6px}.timeline-content strong{font-size:var(--text-sm);color:var(--ink);display:block}.timeline-content small{color:var(--muted);margin-top:2px;font-size:11px;display:block}.timeline-content p{color:var(--ink-2);margin:4px 0 0;font-size:12px}.termination-wizard-container{flex-direction:column;display:flex}.termination-step-bar{background:var(--surface-2);border-bottom:1px solid var(--line);grid-template-columns:repeat(4,1fr);gap:8px;padding:12px 18px;display:grid}.termination-step-item{color:var(--muted);align-items:center;gap:8px;font-size:12px;display:flex}.termination-step-item.active{color:var(--accent);font-weight:600}.termination-step-item i{border:1px solid;border-radius:50%;place-items:center;width:22px;height:22px;font-size:11px;font-style:normal;display:grid}.termination-step-item.done i{background:var(--accent);color:#fff;border-color:var(--accent)}.utility-reading-card{border:1px solid var(--line);border-radius:var(--radius);background:#fff;margin-bottom:14px;padding:16px}.reading-calc-row{background:var(--surface-2);border-radius:var(--radius-sm);font-size:var(--text-sm);grid-template-columns:repeat(4,1fr);gap:12px;margin-top:10px;padding:10px 14px;display:grid}.deduction-item-row{align-items:center;gap:10px;margin-bottom:8px;display:flex}.reconciliation-sheet{border:1px solid var(--line);border-radius:var(--radius-lg);background:#fff;overflow:hidden}.reconciliation-row{font-size:var(--text-sm);border-bottom:1px solid #f1f1ed;justify-content:space-between;align-items:center;padding:12px 18px;display:flex}.reconciliation-row.total-row{background:var(--surface-2);border-bottom:none;padding:16px 18px;font-size:15px}.reconciliation-row.total-row strong{font-size:17px}.contract-timeline{grid-template-columns:repeat(4,1fr);margin:6px 0 24px;display:grid}.contract-timeline>div{text-align:center;color:#bbb;position:relative}.contract-timeline>div:not(:last-child):after{content:"";background:#e5e5df;height:2px;position:absolute;top:14px;left:55%;right:-45%}.contract-timeline>div.done:not(:last-child):after{background:var(--accent)}.contract-timeline span{z-index:1;background:#fff;border:2px solid #ddd;border-radius:50%;place-items:center;width:28px;height:28px;margin:0 auto 6px;font-size:11px;display:grid;position:relative}.contract-timeline .done span{border-color:var(--accent);background:var(--accent);color:#fff}.contract-timeline small{font-size:11px}.contract-timeline .done small{color:var(--accent);font-weight:600}.contract-summary{border:1px solid var(--line);border-radius:var(--radius);grid-template-columns:repeat(3,1fr);display:grid}.contract-summary article{padding:14px}.contract-summary article:not(:last-child){border-right:1px solid var(--line)}.contract-summary span,.contract-summary strong,.contract-summary small{display:block}.contract-summary span{color:#999;font-size:11px}.contract-summary strong{font-size:var(--text-sm);margin:5px 0 3px}.contract-summary small{color:#888;font-size:11px}.contract-columns{gap:var(--sp-4);margin-top:var(--sp-4);grid-template-columns:1fr 1fr;display:grid}.contract-columns>section{border:1px solid var(--line);border-radius:var(--radius);padding:14px}.contract-columns h3{font-size:var(--text-sm);margin:0 0 12px}.member-row,.service-row{align-items:center;gap:var(--sp-2);border-top:1px solid #f0f0eb;padding:8px 0;display:flex}.member-row>div{flex:1;min-width:0}.member-row strong,.member-row small{display:block}.member-row strong{font-size:var(--text-sm)}.member-row small{color:#999;margin-top:2px;font-size:11px}.service-row{justify-content:space-between}.service-row strong{font-size:var(--text-sm)}.settlement-check{margin-top:var(--sp-4);background:var(--surface);border-radius:var(--radius);gap:var(--sp-1);grid-template-columns:1fr 1fr;padding:13px;display:grid}.settlement-check div{font-size:var(--text-sm);justify-content:space-between;display:flex}.settlement-check .debt{color:var(--danger)}.confirm-panel{text-align:center;padding-block:32px}.confirm-icon{width:48px;height:48px;color:var(--orange-text);background:var(--orange-soft);border-radius:50%;place-items:center;margin:0 auto 14px;display:grid}.confirm-panel h3{margin:0 0 8px;font-size:16px}.confirm-panel p{color:#888;font-size:var(--text-sm);margin:0}.wizard-steps{border-bottom:1px solid var(--line);grid-template-columns:repeat(4,1fr);padding:16px 22px;display:grid}.wizard-steps span{color:#aaa;font-size:var(--text-sm);align-items:center;gap:var(--sp-2);display:flex}.wizard-steps i{border:1px solid #ddd;border-radius:50%;flex-shrink:0;place-items:center;width:24px;height:24px;font-size:11px;font-style:normal;display:grid}.wizard-steps .active{color:var(--accent);font-weight:600}.wizard-steps .active i{color:#fff;background:var(--accent);border-color:var(--accent)}.wizard-body{min-height:380px}.wizard-section h3{margin:0 0 16px;font-size:16px}.choice-grid{gap:var(--sp-2);margin-top:var(--sp-4);grid-template-columns:repeat(3,1fr);display:grid}.choice-grid button{border:1px solid var(--line);border-radius:var(--radius);text-align:left;background:#fff;min-height:90px;padding:12px;transition:border-color .15s,background .15s,box-shadow .15s}.choice-grid button:hover{border-color:var(--accent);background:var(--accent-softer)}.choice-grid button.selected{border-color:var(--accent);background:var(--accent-soft);box-shadow:0 0 0 2px color-mix(in srgb, var(--accent) 12%, transparent)}.choice-grid strong,.choice-grid small,.choice-grid b{display:block}.choice-grid strong{font-size:var(--text-sm)}.choice-grid small{color:#999;margin:4px 0 8px;font-size:11px}.choice-grid b{color:var(--accent);font-size:11px}.co-resident-list,.service-picker{border:0;margin:16px 0 0;padding:0}.co-resident-list legend,.service-picker legend{font-size:var(--text-sm);margin-bottom:8px;font-weight:600}.co-resident-list{gap:var(--sp-2);grid-template-columns:repeat(2,1fr);display:grid}.co-resident-list label{border:1px solid var(--line);border-radius:var(--radius);padding:var(--sp-2);align-items:center;gap:var(--sp-2);cursor:pointer;display:flex}.co-resident-list strong,.co-resident-list small{display:block}.co-resident-list strong{font-size:var(--text-sm)}.co-resident-list small{color:#999;font-size:11px}.service-picker{gap:var(--sp-2);flex-wrap:wrap;display:flex}.service-picker label{border:1px solid var(--line);border-radius:var(--radius);padding:var(--sp-2) var(--sp-3);font-size:var(--text-sm);cursor:pointer;transition:border-color .15s,background .15s}.service-picker label:hover{border-color:var(--accent)}.contract-review{text-align:center;max-width:640px;margin:0 auto}.review-check{background:var(--green-soft);width:54px;height:54px;color:var(--green-text);border-radius:50%;place-items:center;margin:8px auto 14px;display:grid}.contract-review h3{margin:0 0 6px;font-size:18px}.contract-review>p{color:#999;font-size:var(--text-sm)}.contract-review dl{border:1px solid var(--line);border-radius:var(--radius);text-align:left;margin:20px 0}.contract-review dl div{font-size:var(--text-sm);border-bottom:1px solid #f0f0eb;justify-content:space-between;padding:10px 14px;display:flex}.contract-review dl div:last-child{border:0}.contract-review dt{color:#999}.contract-review dd{margin:0;font-weight:600}.snapshot-note{align-items:center;gap:var(--sp-2);border-radius:var(--radius);color:#8b692e;background:var(--orange-soft);text-align:left;font-size:var(--text-sm);padding:11px;display:flex}.timeline{border:1px solid var(--line);border-radius:var(--radius-lg);background:#fff;padding:6px 22px}.timeline article{gap:var(--sp-3);border-bottom:1px solid #efefe9;grid-template-columns:32px 1fr;padding:16px 0;display:grid}.timeline article:last-child{border:0}.timeline-icon{width:32px;height:32px;color:var(--accent);background:var(--accent-soft);border-radius:50%;flex-shrink:0;place-items:center;display:grid}.timeline-icon.create{color:var(--green-text);background:var(--green-soft)}.timeline-icon.status_change{color:var(--orange-text);background:var(--orange-soft)}.timeline article header{justify-content:space-between;align-items:flex-start;gap:var(--sp-3);display:flex}.timeline article header strong{font-size:var(--text-sm)}.timeline time{color:#aaa;white-space:nowrap;font-size:11px}.timeline article p{color:#858681;font-size:var(--text-sm);margin:4px 0 8px}.timeline article p b{color:#5b5d58}.change-set{align-items:center;gap:var(--sp-2);color:#aaa;flex-wrap:wrap;display:flex}.change-set code{color:#6c6e69;border-radius:var(--radius-sm);background:#f5f5f1;padding:4px 7px;font:11px monospace}@media (width<=1280px){.tenant-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=1023px){.choice-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=767px){.tenant-grid{grid-template-columns:1fr}.tenant-toolbar>select{width:100%}.contract-summary{grid-template-columns:1fr}.contract-summary article:not(:last-child){border-right:0;border-bottom:1px solid var(--line)}.contract-columns,.co-resident-list{grid-template-columns:1fr}.wizard-steps{gap:var(--sp-1)}.wizard-steps span{font-size:0}.wizard-steps i{flex-shrink:0}.contract-timeline{gap:0}.contract-timeline small{font-size:9px}}.dot{border-radius:50%;width:8px;height:8px;display:inline-block}.toolbar-search-wrap{flex:1;min-width:260px}.sensitive-mask-toggle{align-items:center;gap:6px;height:38px;padding:0 12px;font-size:12px;font-weight:600;display:inline-flex}.sensitive-mask-toggle.active{color:#b45309;background:#fef3c7;border-color:#f59e0b}.view-mode-toggle{border:1px solid var(--line);border-radius:var(--radius);background:#fff;display:inline-flex;overflow:hidden}.view-toggle-btn{cursor:pointer;color:var(--muted);background:0 0;border:none;justify-content:center;align-items:center;padding:8px 10px;transition:background .15s,color .15s;display:flex}.view-toggle-btn.active{color:var(--accent);background:#f1f5f9;font-weight:600}.tenant-card-v2{border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);background:#fff;border:1px solid #0000;flex-direction:column;gap:12px;padding:18px;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex}.tenant-card-v2:hover{box-shadow:var(--shadow-md);border-color:#cbd5e1;transform:translateY(-2px)}.tenant-card-header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.tenant-avatar-wrap{align-items:center;gap:10px;display:flex}.tenant-avatar{color:#334155;background:#e2e8f0;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;font-size:15px;font-weight:700;display:flex}.tenant-name{color:var(--ink);margin:0;font-size:16px;font-weight:700;line-height:1.3}.tenant-role-subtitle{color:var(--muted);margin-top:2px;font-size:12px;display:block}.tenant-contact-row{color:#475569;flex-wrap:wrap;gap:12px;font-size:13px;display:flex}.contact-item{align-items:center;gap:5px;display:inline-flex}.tenant-info-dl{border-top:1px solid #f1f5f9;border-bottom:1px solid #f1f5f9;grid-template-columns:1fr 1fr;gap:8px 12px;margin:0;padding:10px 0;display:grid}.tenant-info-dl dt{color:#64748b;text-transform:uppercase;letter-spacing:.5px;font-size:11px}.tenant-info-dl dd{color:#1e293b;margin:2px 0 0;font-size:13px}.tenant-info-dl .dl-full-width{grid-column:span 2}.tenant-data-link{color:inherit;text-decoration:none}.tenant-data-link:hover{color:var(--accent);text-decoration:underline}.truncate-text{text-overflow:ellipsis;white-space:nowrap;max-width:100%;display:block;overflow:hidden}.cccd-text{background:#f8fafc;border:1px solid #e2e8f0;border-radius:4px;padding:2px 5px;font-family:monospace;font-size:12px;font-weight:600}.verify-check-badge{color:#16a34a;vertical-align:middle;background:#dcfce7;border:1px solid #bbf7d0;border-radius:50%;justify-content:center;align-items:center;width:17px;height:17px;margin-left:6px;display:inline-flex;box-shadow:0 1px 2px #16a34a1f}.verify-check-badge svg{stroke-width:2.5px}.tenant-emergency-summary{border-radius:var(--radius);background:#fdfaf6;border:1px dashed #fed7aa;padding:8px 12px;font-size:12px}.emergency-summary-head{color:#9a3412;align-items:center;gap:5px;margin-bottom:2px;font-size:11px;font-weight:600;display:flex}.tenant-emergency-summary strong{color:#431407;font-weight:600}.tenant-card-footer-v2{align-items:center;gap:8px;margin-top:auto;padding-top:4px;display:flex}.tenant-card-footer-v2 .btn.primary{flex:1}.danger-hover:hover{color:#ef4444;background:#fef2f2;border-color:#fca5a5}.tenant-card-footer-v2 .btn-icon-only{flex-shrink:0;justify-content:center;align-items:center;width:36px;min-width:36px;height:36px;padding:0;display:inline-flex}.tenant-table-container{border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);background:#fff;border:1px solid #0000;overflow-x:auto}.tenant-table{border-collapse:collapse;text-align:left;width:100%;font-size:13px}.tenant-table th{color:#475569;border-bottom:1px solid var(--line);white-space:nowrap;background:#f8fafc;padding:12px 14px;font-weight:600}.tenant-table td{vertical-align:middle;border-bottom:1px solid #f1f5f9;padding:12px 14px}.tenant-table tr:hover td{background:#fcfcfb}.table-tenant-info{align-items:center;gap:10px;display:flex}.table-tenant-info small{color:var(--muted);font-size:11px;display:block}.table-contact-info span{font-weight:500;display:block}.table-contact-info small{color:var(--muted);font-size:11px;display:block}.role-tag{color:#0369a1;background:#e0f2fe;border-radius:999px;padding:2px 8px;font-size:11px;font-weight:600;display:inline-block}.role-tag.sm{padding:1px 6px;font-size:10px}.table-actions-strip{justify-content:flex-end;align-items:center;gap:var(--sp-2);flex-wrap:wrap;display:flex}.btn-icon{border-radius:var(--radius-sm);width:32px;height:32px;color:var(--muted);cursor:pointer;background:0 0;border:1px solid #0000;justify-content:center;align-items:center;transition:all .15s;display:inline-flex}.btn-icon:hover{color:var(--ink);background:#f1f5f9;border-color:#cbd5e1}.btn-icon.danger:hover{color:#ef4444;background:#fef2f2;border-color:#fca5a5}.form-section-header{border-bottom:2px solid #f1f5f9;align-items:center;gap:12px;margin-bottom:8px;padding-bottom:8px;display:flex}.section-step{background:var(--accent);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:13px;font-weight:700;display:flex}.form-section-header h3{color:var(--ink);margin:0;font-size:15px;font-weight:700}.form-section-header p{color:var(--muted);margin:2px 0 0;font-size:12px}.idcard-upload-grid{grid-template-columns:1fr 1fr;gap:16px;margin-top:4px;display:grid}.idcard-upload-card{border:1px solid var(--line);border-radius:var(--radius);background:#fafafa;padding:12px}.idcard-upload-header{justify-content:space-between;align-items:center;margin-bottom:8px;font-size:13px;display:flex}.idcard-actions-quick{gap:var(--sp-2);flex-wrap:wrap;display:flex}.btn-link{color:var(--accent);cursor:pointer;background:0 0;border:none;align-items:center;gap:4px;padding:0;font-size:12px;font-weight:600;display:inline-flex}.btn-link.danger{color:#ef4444}.idcard-dropzone{border-radius:var(--radius);cursor:pointer;color:#64748b;background:#fff;border:2px dashed #cbd5e1;flex-direction:column;justify-content:center;align-items:center;gap:6px;height:140px;transition:border-color .15s,background .15s;display:flex}.idcard-dropzone:hover{border-color:var(--accent);background:#f4fbf7}.idcard-dropzone.uploading{opacity:.6;pointer-events:none}.idcard-preview-box{border-radius:var(--radius);cursor:pointer;background:#0f172a;border:1px solid #cbd5e1;height:140px;position:relative;overflow:hidden}.idcard-preview-box img{object-fit:cover;width:100%;height:100%;display:block}.preview-overlay{color:#fff;opacity:0;background:#0f172aa6;justify-content:center;align-items:center;gap:6px;font-size:12px;font-weight:600;transition:opacity .2s;display:flex;position:absolute;inset:0}.idcard-preview-box:hover .preview-overlay{opacity:1}.tenant-lightbox-backdrop{z-index:9999;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0f172ad9;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.tenant-lightbox-container{border-radius:var(--radius-lg);background:#0f172a;border:1px solid #334155;flex-direction:column;width:100%;max-width:960px;max-height:90vh;display:flex;overflow:hidden;box-shadow:0 25px 50px -12px #00000080}.tenant-lightbox-header{color:#fff;border-bottom:1px solid #1e293b;justify-content:space-between;align-items:center;padding:14px 20px;display:flex}.tenant-lightbox-title-group h3{color:#fff;margin:0;font-size:16px;font-weight:700}.tenant-lightbox-title-group p{color:#94a3b8;margin:2px 0 0;font-size:12px}.tenant-lightbox-actions{align-items:center;gap:var(--sp-2);flex-wrap:wrap;display:flex}.lightbox-btn{color:#f1f5f9;border-radius:var(--radius-sm);cursor:pointer;background:#1e293b;border:1px solid #334155;align-items:center;gap:6px;padding:6px 10px;font-size:12px;transition:all .15s;display:inline-flex}.lightbox-btn:hover{color:#fff;background:#334155}.lightbox-btn.close-btn{background:#dc2626;border-color:#ef4444}.lightbox-btn.close-btn:hover{background:#b91c1c}.tenant-lightbox-body{background:#020617;flex:1;justify-content:center;align-items:center;padding:24px;display:flex;overflow:auto}.tenant-lightbox-image-wrapper{justify-content:center;align-items:center;transition:transform .3s cubic-bezier(.4,0,.2,1);display:flex}.tenant-lightbox-image-wrapper.zoomed{transform:scale(1.5)}.tenant-lightbox-image{border-radius:var(--radius);max-width:100%;max-height:68vh;box-shadow:0 10px 25px #0006}.tenant-detail-dialog{width:min(1160px,100vw - 48px)}.tenant-form-dialog{width:min(1000px,100vw - 40px)}.tenant-detail-container{flex-direction:column;flex:auto;min-height:0;display:flex;overflow:hidden}.tenant-detail-top-strip{background:#fff;flex-direction:column;flex-shrink:0;gap:14px;padding:18px 24px 0;display:flex}.tenant-detail-hero{border:1px solid var(--line);border-radius:var(--radius-lg);background:#f8fafc;align-items:center;gap:16px;width:100%;padding:16px 20px;display:flex}.tenant-detail-avatar{background:var(--accent);color:#fff;width:56px;height:56px;box-shadow:var(--shadow-sm);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:20px;font-weight:700;display:flex}.tenant-detail-main-info{flex:1;min-width:0}.tenant-detail-title-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.tenant-detail-title-row h2{color:var(--ink);margin:0;font-size:19px;font-weight:700}.tenant-detail-contact-strip{color:#475569;flex-wrap:wrap;gap:16px;margin-top:6px;font-size:13px;display:flex}.tenant-detail-contact-strip span{align-items:center;gap:6px;display:inline-flex}.tenant-detail-header-actions{gap:var(--sp-2);flex-wrap:wrap;flex-shrink:0;display:flex}.tenant-detail-tabs{border-bottom:1px solid var(--line);scrollbar-width:thin;scrollbar-color:var(--scroll-thumb) var(--scroll-track);gap:4px;width:100%;display:flex;overflow-x:auto}.tab-btn{color:#64748b;cursor:pointer;white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;flex-shrink:0;align-items:center;gap:7px;padding:11px 18px;font-size:14px;font-weight:600;transition:all .15s;display:inline-flex}.tab-btn:hover{color:var(--ink)}.tab-btn.active{color:var(--accent);border-bottom-color:var(--accent)}.tenant-detail-body{scrollbar-width:thin;scrollbar-color:var(--line) transparent;flex-direction:column;flex:auto;gap:18px;min-height:0;padding:20px 24px;display:flex;overflow-y:auto}.pane-header{margin-bottom:16px}.pane-header h3{color:var(--ink);margin:0 0 4px;font-size:16px;font-weight:700}.pane-header p{color:var(--muted);margin:0;font-size:13px}.tab-pane{flex-direction:column;width:100%;display:flex}.emergency-contact-card{border-radius:var(--radius-lg);background:#fdfaf6;border:1px solid #fed7aa;gap:14px;margin-bottom:16px;padding:14px 16px;display:flex}.emergency-card-icon{color:#ea580c;background:#ffedd5;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;display:flex}.emergency-badge{text-transform:uppercase;letter-spacing:.5px;color:#c2410c;background:#ffedd5;border-radius:4px;margin-bottom:4px;padding:2px 6px;font-size:10px;font-weight:700;display:inline-block}.emergency-card-body h4{color:#431407;margin:0;font-size:15px;font-weight:700}.emergency-relation{color:#7c2d12;margin:2px 0 0;font-size:13px}.emergency-address{color:#9a3412;margin:4px 0 0;font-size:12px}.detail-section{border:1px solid var(--line);border-radius:var(--radius-lg);background:#fff;margin-bottom:14px;padding:16px}.section-title-row{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.section-title{color:var(--ink);margin:0 0 12px;font-size:15px;font-weight:700}.section-title-row .section-title{margin:0}.detail-dl{grid-template-columns:repeat(3,1fr);gap:12px 16px;margin:0;display:grid}.detail-dl dt{color:#64748b;text-transform:uppercase;letter-spacing:.5px;font-size:11px}.detail-dl dd{color:#0f172a;margin:3px 0 0;font-size:14px;font-weight:600}.detail-dl .span-full{grid-column:1/-1}.note-row dd{color:#475569;font-style:italic;font-weight:400}.idcard-photos-container{border-top:1px solid #f1f5f9;margin-top:16px;padding-top:14px}.idcard-photos-container h4{color:#334155;margin:0 0 10px;font-size:13px;font-weight:700}.idcard-photos-grid{grid-template-columns:1fr 1fr;gap:14px;display:grid}.photo-view-card{border:1px solid var(--line);border-radius:var(--radius);background:#f8fafc;overflow:hidden}.photo-card-tag{color:#475569;text-transform:uppercase;letter-spacing:.5px;background:#e2e8f0;padding:6px 12px;font-size:11px;font-weight:700}.photo-wrapper{cursor:pointer;background:#0f172a;height:180px;position:relative}.photo-wrapper img{object-fit:contain;width:100%;height:100%;display:block}.zoom-hint{color:#fff;background:#0f172abf;border-radius:4px;align-items:center;gap:4px;padding:4px 8px;font-size:11px;display:inline-flex;position:absolute;bottom:8px;right:8px}.no-photo-box{color:#94a3b8;justify-content:center;align-items:center;height:140px;font-size:13px;display:flex}.sensitive-locked-card{border-radius:var(--radius);color:#64748b;background:#f8fafc;border:1px dashed #cbd5e1;align-items:center;gap:14px;padding:16px;display:flex}.sensitive-locked-card strong{color:#1e293b;font-size:14px;display:block}.sensitive-locked-card p{margin:3px 0 0;font-size:12px}.rental-history-timeline{flex-direction:column;gap:12px;display:flex}.history-card{border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);background:#fff;border:1px solid #0000;padding:14px 16px}.history-card-header{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:10px;display:flex}.history-card-header h4{color:var(--ink);margin:0;font-size:15px;font-weight:700}.history-role{color:var(--muted);margin-top:2px;font-size:12px;display:block}.history-badges{align-items:center;gap:6px;display:flex}.deposit-tag{border-radius:4px;padding:2px 8px;font-size:11px;font-weight:600}.deposit-tag.held{color:#0369a1;background:#e0f2fe}.deposit-tag.refunded{color:#15803d;background:#dcfce7}.deposit-tag.deducted{color:#b45309;background:#fef3c7}.history-card-body{border-top:1px solid #f1f5f9;grid-template-columns:repeat(4,1fr);gap:8px 12px;padding-top:8px;display:grid}.history-stat .stat-label{color:#64748b;font-size:11px;display:block}.history-stat strong{color:#0f172a;margin-top:2px;font-size:13px;display:block}.history-stat strong.debt-active{color:#dc2626}.doc-upload-strip{border:1px solid var(--line);border-radius:var(--radius);background:#f8fafc;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;padding:10px 14px;display:flex}.doc-type-select{align-items:center;gap:8px;font-size:13px;display:flex}.doc-type-select select{border:1px solid var(--line);border-radius:var(--radius);background:#fff;height:36px;padding:0 10px}.documents-list{flex-direction:column;gap:8px;display:flex}.document-item-card{border:1px solid var(--line);border-radius:var(--radius);background:#fff;align-items:center;gap:12px;padding:12px 14px;display:flex}.doc-icon-box{border-radius:var(--radius);color:#475569;background:#f1f5f9;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;display:flex}.doc-item-details{flex:1}.doc-item-details strong{color:var(--ink);font-size:14px;display:block}.doc-meta{color:var(--muted);align-items:center;gap:8px;margin-top:3px;font-size:12px;display:flex}.doc-type-badge{color:#334155;background:#f1f5f9;border-radius:4px;padding:1px 6px;font-size:11px;font-weight:500}.document-item-card{flex-wrap:wrap;align-items:flex-start}.doc-item-details{overflow-wrap:anywhere;min-width:0}.doc-meta{flex-wrap:wrap}.doc-item-status{flex-direction:column;align-items:flex-end;gap:6px;display:flex}.doc-reject-reason{color:var(--danger);margin:6px 0 0;font-size:12px;line-height:1.5}.doc-reject-form{gap:6px;max-width:420px;margin-top:8px;display:grid}.doc-reject-form label{color:var(--ink);font-size:12px;font-weight:600}@media (width<=767px){.doc-item-status{flex-basis:100%;align-items:flex-start}}.audit-timeline{flex-direction:column;gap:12px;display:flex}.audit-log-card{border-left:2px solid #e2e8f0;padding-left:20px;position:relative}.audit-log-dot{background:var(--accent);border:2px solid #fff;border-radius:50%;width:10px;height:10px;position:absolute;top:4px;left:-6px}.audit-log-header{align-items:center;gap:10px;font-size:13px;display:flex}.audit-time{color:var(--muted);font-size:11px}.audit-actor{color:#475569;margin:2px 0 6px;font-size:12px}.audit-values pre{color:#334155;background:#f8fafc;border:1px solid #e2e8f0;border-radius:4px;margin:0;padding:6px 10px;font-size:11px;overflow-x:auto}.danger-alert-box{border-radius:var(--radius-lg);color:#991b1b;background:#fef2f2;border:1px solid #fca5a5;align-items:flex-start;gap:12px;padding:16px;display:flex}.danger-alert-box strong{font-size:15px;display:block}.danger-alert-box p{margin:4px 0 0;font-size:13px;line-height:1.4}@media (width<=1024px){.idcard-upload-grid,.idcard-photos-grid{grid-template-columns:1fr}.history-card-body{grid-template-columns:1fr 1fr}}@media (width<=640px){.detail-dl{grid-template-columns:1fr}.tenant-detail-top-strip{padding:14px 16px 0}.tenant-detail-body{padding:16px}.tenant-detail-hero{flex-direction:column;align-items:flex-start}.history-card-body{grid-template-columns:1fr}}.homikey-workspace .view-mode-toggle{background:var(--surface);border-color:var(--line)}.homikey-workspace .view-toggle-btn{color:var(--muted)}.homikey-workspace .view-toggle-btn.active{background:var(--accent);color:var(--paper)}.homikey-workspace .view-toggle-btn:hover:not(.active){background:var(--accent-soft);color:var(--accent)}.tenant-results-heading{justify-content:space-between;align-items:baseline;gap:16px;margin:24px 0 16px;display:flex}.tenant-results-heading h2{margin:0;font-size:18px}.tenant-results-heading>span{color:var(--muted);font-size:12px}.homikey-workspace .tenant-grid{gap:20px}.homikey-workspace .tenant-card-v2{background:var(--paper);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);border:1px solid #0000;padding:20px;transform:none}.homikey-workspace .tenant-card-v2:hover{border-color:var(--accent-light);box-shadow:var(--shadow)}.homikey-workspace .tenant-card-header{flex-wrap:wrap;align-items:flex-start;gap:12px}.homikey-workspace :is(.tenant-avatar,.avatar-sm),.homikey-tenant-dialog .tenant-detail-avatar{background:var(--accent);color:var(--paper);box-shadow:none}.homikey-workspace .tenant-name{color:var(--ink);overflow-wrap:anywhere;font-size:15px}.homikey-workspace .tenant-info-dl{border-color:var(--line-soft);gap:12px;padding-block:16px}.homikey-workspace .tenant-info-dl>div{min-width:0}.homikey-workspace .tenant-info-dl dt{color:var(--muted);text-transform:none;letter-spacing:0}.homikey-workspace .tenant-info-dl dd{color:var(--ink);overflow-wrap:anywhere}.homikey-workspace .cccd-text{background:var(--surface);border-color:var(--line);color:var(--ink-2)}.homikey-workspace .tenant-data-link:hover{color:var(--accent)}.homikey-workspace .tenant-emergency-summary{background:var(--surface);border:1px solid var(--line-soft)}.homikey-workspace .emergency-summary-head{color:var(--muted)}.homikey-workspace .tenant-emergency-summary strong{color:var(--ink-2);overflow-wrap:anywhere;font-weight:500;display:block}.homikey-workspace .tenant-card-footer-v2{border-color:var(--line-soft);flex-wrap:wrap;gap:8px}.homikey-workspace .tenant-table-container{background:var(--paper);border-radius:var(--radius-lg);scrollbar-gutter:stable}.homikey-workspace .tenant-table{min-width:820px}.homikey-workspace .tenant-table th{color:var(--muted);background:var(--accent-softer);letter-spacing:.04em;font-size:11px}.homikey-workspace .tenant-table td{border-color:var(--line-soft)}.homikey-workspace .tenant-table-row{cursor:pointer}.homikey-workspace .tenant-table-row:is(:hover,:focus-within) td{background:var(--surface-2)}.homikey-workspace .tenant-table-row:active td{background:var(--accent-soft)}.homikey-workspace .tenant-table-row:last-child td{border-bottom:0}.homikey-workspace .tenant-table td{height:64px;padding-block:10px}.tenant-table-container{width:100%;max-width:100%}.tenant-row-trigger{border-radius:var(--radius-sm);width:100%;min-height:44px;color:var(--ink);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;padding:0}.tenant-row-trigger:hover strong{color:var(--accent)}.tenant-row-trigger:focus-visible{outline:2px solid var(--focus-ring);outline-offset:4px}.tenant-row-trigger>span:last-child{gap:4px;display:grid}.tenant-row-trigger strong{font-size:13px;font-weight:600}.tenant-row-trigger .avatar{background:var(--accent);color:var(--paper);flex-shrink:0}.tenant-room-info{gap:4px;display:grid}.tenant-room-info small{color:var(--muted);font-size:11px}.tenant-identity-info{white-space:nowrap;align-items:center;gap:6px;display:inline-flex}.tenant-mobile-card .mobile-card-top{align-items:center}.tenant-mobile-card .table-tenant-info{min-width:0}.tenant-mobile-card .table-tenant-info>span:last-child{overflow-wrap:anywhere;gap:2px;min-width:0;display:grid}.tenant-mobile-card .mobile-card-body>div{overflow-wrap:anywhere;align-content:start;gap:4px;min-width:0;display:grid}.tenant-mobile-sub{color:var(--muted);font-size:12px}.tenant-mobile-card .mobile-card-footer .btn{width:100%}.tenant-pagination{color:var(--muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:16px;font-size:12px;display:flex}.tenant-pagination .action-group{flex-wrap:wrap;align-items:center}.tenant-results-body{min-height:400px}@media (width<=767px){.homikey-workspace .tenant-table th:first-child,.homikey-workspace .tenant-table td:first-child{z-index:1;background:var(--paper);min-width:200px;box-shadow:1px 0 0 var(--line);position:sticky;left:0}.homikey-workspace .tenant-table th:first-child{background:var(--accent-softer)}.homikey-workspace .tenant-table-row:is(:hover,:focus-within) td:first-child{background:var(--surface-2)}.homikey-workspace .tenant-table-row:active td:first-child{background:var(--accent-soft)}.tenant-pagination .btn{min-height:44px}}.homikey-workspace .role-tag,.homikey-tenant-dialog .role-tag{color:var(--accent-dark);background:var(--accent-soft)}.homikey-workspace .btn-icon:hover{color:var(--accent);background:var(--accent-soft);border-color:var(--line)}.homikey-workspace .btn-icon.danger:hover{color:var(--danger-dark);background:var(--danger-soft);border-color:var(--danger)}.homikey-tenant-dialog :is(.form-section-header,.tenant-detail-hero){background:var(--accent-softer);border:1px solid var(--line);border-radius:var(--radius);padding:16px}.homikey-tenant-dialog .section-step{background:var(--accent);color:var(--paper)}.homikey-tenant-dialog .form-section-header h3{color:var(--ink)}.homikey-tenant-dialog .form-section-header p{color:var(--muted);line-height:1.5}.homikey-tenant-dialog .tenant-detail-top-strip{background:var(--paper)}.homikey-tenant-dialog .tenant-detail-title-row h2{font-family:var(--font-display);color:var(--ink);font-size:24px;font-weight:400}.homikey-tenant-dialog .tenant-detail-contact-strip{color:var(--muted);overflow-wrap:anywhere}.homikey-tenant-dialog .tenant-detail-tabs{scrollbar-color:var(--scroll-thumb) var(--scroll-track);scrollbar-width:thin}.homikey-tenant-dialog .tab-btn{color:var(--muted)}.homikey-tenant-dialog .tab-btn:hover{background:var(--accent-softer);color:var(--accent)}.homikey-tenant-dialog .tab-btn.active{color:var(--accent);border-color:var(--accent)}.homikey-tenant-dialog .tenant-detail-body{scrollbar-color:var(--scroll-thumb) var(--scroll-track)}.homikey-tenant-dialog :is(.idcard-upload-card,.detail-info-card,.history-card,.document-card){border-color:var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm)}.homikey-tenant-dialog :is(.idcard-upload-header,.idcard-preview-box){background:var(--accent-softer)}.homikey-tenant-dialog .idcard-dropzone{border-color:var(--line);background:var(--accent-softer);color:var(--accent)}.homikey-tenant-dialog .idcard-dropzone:hover{border-color:var(--accent);background:var(--accent-soft)}.homikey-tenant-dialog .duplicate-alert{background:var(--orange-soft);border-color:var(--orange);color:var(--orange-dark)}.homikey-contract-dialog .wizard-steps,.homikey-contract-dialog .termination-step-bar{background:var(--paper);border:0;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding:20px 24px 12px;display:grid}.homikey-contract-dialog .wizard-steps>span,.homikey-contract-dialog .termination-step-item{color:var(--muted);align-items:flex-start;padding-top:14px;font-size:12px;line-height:1.5;position:relative}.homikey-contract-dialog .wizard-steps>span:before,.homikey-contract-dialog .termination-step-item:before{content:"";border-radius:var(--radius-full);background:var(--line);height:4px;position:absolute;inset:0 0 auto}.homikey-contract-dialog .wizard-steps>.active:before,.homikey-contract-dialog .termination-step-item:is(.active,.done):before{background:var(--accent)}.homikey-contract-dialog [aria-current=step]{color:var(--accent);font-weight:700}.homikey-contract-dialog .wizard-steps i,.homikey-contract-dialog .termination-step-item i{border-color:var(--line);flex:0 0 22px;width:22px;height:22px}.homikey-contract-dialog .wizard-steps .active i,.homikey-contract-dialog .termination-step-item:is(.active,.done) i{background:var(--accent);color:var(--paper);border-color:var(--accent)}.contract-step-caption{color:var(--muted);border-bottom:1px solid var(--line);margin:0;padding:4px 24px 16px;font-size:12px}.homikey-contract-dialog .wizard-body{min-height:360px}.homikey-contract-dialog .wizard-section h3{margin-bottom:20px;font-size:17px}.homikey-contract-dialog .choice-grid{gap:12px}.homikey-contract-dialog .choice-grid button{background:var(--paper);border-color:var(--line);padding:16px}.homikey-contract-dialog .choice-grid button:hover{background:var(--accent-softer);border-color:var(--accent)}.homikey-contract-dialog .choice-grid button.selected{background:var(--accent-soft);border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.homikey-contract-dialog .choice-grid :is(small,b){font-size:12px}.homikey-contract-dialog .choice-grid small{color:var(--muted)}.homikey-contract-dialog :is(.co-resident-list,.service-picker) label{border-color:var(--line);background:var(--paper);min-height:44px}.homikey-contract-dialog :is(.co-resident-list,.service-picker) label:hover{background:var(--accent-softer);border-color:var(--accent)}.homikey-contract-dialog :is(.co-resident-list,.service-picker) label:has(input:checked){background:var(--accent-soft);border-color:var(--accent)}.homikey-contract-dialog .co-resident-list small{color:var(--muted)}.homikey-contract-dialog .contract-review h3{font:400 23px/1.4 var(--font-display)}.homikey-contract-dialog .contract-review>p{color:var(--muted);line-height:1.6}.homikey-contract-dialog .contract-review dl{background:var(--orange-soft);border-color:var(--line)}.homikey-contract-dialog .contract-review dl div{border-color:var(--line);gap:16px;padding:14px 16px}.homikey-contract-dialog .contract-review dt{color:var(--muted)}.homikey-contract-dialog .contract-review dd{text-align:right;overflow-wrap:anywhere}.homikey-contract-dialog .snapshot-note{color:var(--orange-dark);line-height:1.6}.homikey-contract-dialog .utility-reading-card{border-radius:var(--radius-lg);padding:20px}.homikey-contract-dialog .reading-calc-row{background:var(--accent-softer);grid-template-columns:repeat(3,minmax(0,1fr));line-height:1.6}.homikey-contract-dialog .reconciliation-row{border-color:var(--line-soft);gap:20px;padding:16px 20px;line-height:1.6}.homikey-contract-dialog .reconciliation-row>:last-child{text-align:right}.homikey-contract-dialog .reconciliation-row.total-row{background:var(--orange-soft)}.contract-renewal-summary{background:var(--accent-softer);border:1px solid var(--line);border-radius:var(--radius);margin:20px 0 0;padding:16px}.contract-renewal-summary>div{justify-content:space-between;gap:16px;padding-block:8px;font-size:13px;display:flex}.contract-renewal-summary dt{color:var(--muted)}.contract-renewal-summary dd{text-align:right;margin:0;font-weight:600}.homikey-contract-dialog .modal-actions .btn.primary{min-width:150px}@media (width<=767px){.homikey-workspace .tenant-card-v2{padding:16px}.homikey-workspace :is(.btn-icon,.view-toggle-btn){width:44px;height:44px}.tenant-results-heading{flex-wrap:wrap;gap:8px}.homikey-tenant-dialog .tenant-detail-top-strip{padding:12px 16px 0}.homikey-tenant-dialog .tenant-detail-hero{padding:14px}.homikey-tenant-dialog .tenant-detail-header-actions{flex-wrap:wrap}.homikey-tenant-dialog .tenant-detail-title-row h2{font-size:22px}.homikey-tenant-dialog .tab-btn{min-height:44px;padding-inline:12px}.homikey-contract-dialog .wizard-steps,.homikey-contract-dialog .termination-step-bar{gap:8px;padding:16px 16px 12px}.homikey-contract-dialog .wizard-steps>span,.homikey-contract-dialog .termination-step-item{flex-direction:column;gap:6px;font-size:11px}.contract-step-caption{padding-inline:16px}.homikey-contract-dialog .wizard-body{min-height:300px}.homikey-contract-dialog .choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.homikey-contract-dialog .co-resident-list{grid-template-columns:minmax(0,1fr)}.homikey-contract-dialog .service-picker{flex-direction:column}.homikey-contract-dialog .contract-review dl div{flex-direction:column;gap:4px}.homikey-contract-dialog .contract-review dd{text-align:left}.homikey-contract-dialog .reading-calc-row{grid-template-columns:minmax(0,1fr)}.homikey-contract-dialog .reconciliation-row{flex-direction:column;align-items:flex-start;gap:8px}.homikey-contract-dialog .reconciliation-row>:last-child{text-align:left}.contract-renewal-summary>div{flex-direction:column;gap:4px}.contract-renewal-summary dd{text-align:left}.homikey-contract-dialog .modal-actions{flex-wrap:wrap}.homikey-contract-dialog .modal-actions .btn{white-space:normal}}.tenant-lightbox-backdrop.theme-homikey .tenant-lightbox-header{background:var(--accent-dark)}.tenant-lightbox-backdrop.theme-homikey .lightbox-btn{border-radius:var(--radius)}.tenant-lightbox-backdrop.theme-homikey .lightbox-btn:hover{background:var(--accent-light)}@media (width<=767px){.tenant-lightbox-backdrop.theme-homikey .tenant-lightbox-header{flex-wrap:wrap;gap:12px}.tenant-lightbox-backdrop.theme-homikey .lightbox-btn{min-width:44px;min-height:44px}}:is(.homikey-tenant-dialog,.homikey-contract-dialog)>.modal-header h2{font-family:var(--font-display);font-size:25px;font-weight:400;line-height:1.4}@media (width<=767px){:is(.homikey-tenant-dialog,.homikey-contract-dialog)>.modal-header h2{font-size:21px}}.homikey-contract-dialog .termination-room-options{gap:20px;display:flex}.homikey-contract-dialog .termination-deduction-entry{gap:10px;margin-bottom:14px;display:flex}.homikey-contract-dialog .termination-deduction-entry input{min-width:0}@media (width<=767px){.homikey-contract-dialog .termination-room-options,.homikey-contract-dialog .termination-deduction-entry{flex-direction:column}.homikey-contract-dialog .termination-deduction-entry input{max-width:100%;min-height:44px;font-size:16px}.homikey-contract-dialog .termination-room-options label{min-height:44px}}.homikey-tenant-dialog :is(button.idcard-preview-box,button.photo-wrapper){width:100%;padding:0}.homikey-tenant-dialog button.photo-wrapper{border:0}.homikey-tenant-dialog .idcard-dropzone{position:relative}.homikey-tenant-dialog .idcard-dropzone:focus-within{outline:3px solid var(--focus-ring);outline-offset:2px}.homikey-tenant-dialog .idcard-preview-box:focus-visible .preview-overlay{opacity:1}.tenant-contracts-table{display:none}.homikey-tenant-contracts .toolbar{box-shadow:none;background:0 0;border:0;padding:0}.homikey-tenant-contracts .toolbar>.segmented{background:0 0;flex-wrap:wrap;flex-basis:100%;gap:8px;padding:0}.homikey-tenant-contracts .segmented button{border:1px solid var(--line);background:var(--paper);border-radius:var(--radius-full);min-height:44px;padding:10px 16px}.homikey-tenant-contracts .segmented button.active{color:var(--paper);background:var(--accent);border-color:var(--accent)}.tenant-contract-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;display:grid}.tenant-contract-cards .mobile-card{border-top:4px solid var(--accent);border-radius:var(--radius-lg);margin:0;padding:24px}.tenant-contract-cards .mobile-card-top{flex-wrap:wrap;align-items:flex-start;gap:12px}.tenant-contract-cards .mobile-card-body{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;padding:20px 0;display:grid}.tenant-contract-cards .mobile-card-footer{flex-wrap:wrap;gap:12px;padding-top:20px}.tenant-contract-cards .mobile-card-footer .btn{min-height:44px}.homikey-tenant-contract-dialog .contract-detail-tabs{white-space:nowrap;display:flex;overflow-x:auto}.homikey-tenant-contract-dialog .contract-detail-tab-btn{flex-shrink:0;min-height:44px}.homikey-tenant-contract-dialog .contract-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.homikey-tenant-contract-dialog .contract-summary article{overflow-wrap:anywhere;background:var(--accent-softer);border-radius:var(--radius);min-width:0;padding:16px}.homikey-tenant-contract-dialog .contract-summary strong{font-size:16px}.homikey-tenant-contract-dialog .contract-columns{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;display:grid}.homikey-tenant-contract-dialog :is(.service-row,.member-row){overflow-wrap:anywhere;gap:12px}.homikey-tenant-contract-dialog .contract-timeline{overflow-x:auto}.homikey-tenant-contract-dialog .contract-timeline>div{min-width:100px}.homikey-tenant-contract-dialog .table-wrap{overflow-x:auto}@media (width<=767px){.tenant-contract-cards{grid-template-columns:minmax(0,1fr)}.tenant-contract-cards .mobile-card{padding:20px}.homikey-tenant-contracts .toolbar>div{width:100%;min-width:0}.homikey-tenant-contracts .toolbar select{min-height:44px;font-size:16px}.homikey-tenant-contract-dialog .contract-summary,.homikey-tenant-contract-dialog .contract-columns{grid-template-columns:minmax(0,1fr)}.homikey-tenant-contract-dialog .modal-actions{flex-wrap:wrap}}.homikey-owner-contracts .segmented button{border-radius:var(--radius);border:1px solid #0000;min-height:44px;padding:10px 14px}.homikey-owner-contracts .segmented button.active{background:var(--accent);color:var(--paper);border-color:var(--accent)}.homikey-owner-contracts .contract-result-count{color:var(--muted);margin:16px 0 12px;font-size:13px}.homikey-owner-contracts .table-wrap{border-radius:var(--radius-lg);border:1px solid var(--line)}.homikey-owner-contracts td{padding-block:14px}.homikey-owner-contracts .mobile-card{border-top:3px solid var(--accent);border-radius:var(--radius-lg)}.homikey-owner-contracts .mobile-card-footer{gap:12px}.homikey-owner-contracts .mobile-card-footer .btn{min-height:44px}.homikey-owner-contract-dialog>.modal-header h2{font:400 26px/1.4 var(--font-display)}.homikey-owner-contract-dialog .contract-timeline{margin-bottom:24px;overflow-x:auto}.homikey-owner-contract-dialog .contract-timeline>div{min-width:100px}.homikey-owner-contract-dialog .contract-detail-tabs{border-bottom:1px solid var(--line);gap:4px;margin-bottom:24px;display:flex;overflow-x:auto}.homikey-owner-contract-dialog .contract-detail-tab-btn{white-space:nowrap;flex-shrink:0;min-height:44px}.homikey-owner-contract-dialog .contract-detail-tab-btn.active{color:var(--accent);border-color:var(--accent)}.homikey-owner-contract-dialog .contract-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.homikey-owner-contract-dialog .contract-summary article{overflow-wrap:anywhere;border-radius:var(--radius);background:var(--accent-softer);border:1px solid var(--line-soft);min-width:0;padding:18px}.homikey-owner-contract-dialog .contract-summary strong{font-size:16px;line-height:1.5}.homikey-owner-contract-dialog .contract-columns{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-block:24px;display:grid}.homikey-owner-contract-dialog .contract-columns>section{min-width:0}.homikey-owner-contract-dialog h3{font-size:15px}.homikey-owner-contract-dialog :is(.service-row,.member-row){overflow-wrap:anywhere;gap:12px}.homikey-owner-contract-dialog .contract-note-panel p{white-space:pre-wrap;overflow-wrap:anywhere}.homikey-owner-contract-dialog .contract-version-card{border:1px solid var(--line);border-radius:var(--radius-lg);padding:20px}.homikey-owner-contract-dialog .contract-version-body{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.homikey-owner-contract-dialog .contract-attachments-section{gap:20px;display:grid}.homikey-owner-contract-dialog .contract-attachment-card{border-radius:var(--radius);gap:12px;min-width:0}.homikey-owner-contract-dialog .attachment-meta{min-width:0}.homikey-owner-contract-dialog .attachment-meta strong{overflow-wrap:anywhere}.homikey-owner-contract-dialog .modal-actions{flex-wrap:wrap}@media (width<=767px){.homikey-owner-contracts .contract-list-toolbar>div{width:100%;min-width:0!important}.homikey-owner-contracts .contract-list-toolbar select{min-height:44px;font-size:16px!important}.homikey-owner-contract-dialog .contract-summary,.homikey-owner-contract-dialog .contract-columns,.homikey-owner-contract-dialog .contract-version-body{grid-template-columns:minmax(0,1fr)}.homikey-owner-contract-dialog .contract-attachments-section>div:first-child,.homikey-owner-contract-dialog .contract-version-header{flex-wrap:wrap;gap:12px}.homikey-owner-contract-dialog .attachment-grid{grid-template-columns:minmax(0,1fr)}.homikey-owner-contract-dialog .contract-attachment-card{flex-wrap:wrap}}.content:has(>.homikey-owner-contracts){min-width:0}.homikey-owner-contracts{width:100%;min-width:0}.homikey-owner-contracts .table-wrap{width:100%;max-width:100%}.homikey-owner-contracts .page-heading{flex-wrap:wrap}.homikey-owner-contracts .page-heading>div{min-width:0}:is(.homikey-owner-contracts,.tenants-page,.rooms-page,.buildings-page,.building-detail-page,.property-assets-page) :is(.empty-state,.state-box){border-radius:var(--radius-lg);background:var(--paper);min-height:240px;box-shadow:var(--shadow-sm);border:0;gap:6px;padding:40px 24px}:is(.homikey-owner-contracts,.tenants-page,.rooms-page,.buildings-page,.building-detail-page,.property-assets-page) :is(.empty-state>span,.state-icon){width:44px;height:44px;color:var(--accent-light);background:var(--line-soft);border-radius:12px}:is(.homikey-owner-contracts,.tenants-page,.rooms-page,.buildings-page,.building-detail-page,.property-assets-page) .error-state .state-icon{color:var(--danger-dark);background:var(--danger-soft)}:is(.homikey-owner-contracts,.tenants-page,.rooms-page,.buildings-page,.building-detail-page,.property-assets-page) :is(.empty-state h2,.state-box strong){color:var(--ink);font:600 16px/1.35 var(--font-body);margin:10px 0 0}:is(.homikey-owner-contracts,.tenants-page,.rooms-page,.buildings-page,.building-detail-page,.property-assets-page) :is(.empty-state p,.state-box>span:not(.state-icon)){max-width:460px;color:var(--muted);margin:0;font-size:13px;line-height:1.55}:is(.homikey-owner-contracts,.tenants-page,.rooms-page,.buildings-page,.building-detail-page,.property-assets-page) .empty-state.compact{min-height:180px;box-shadow:none;background:var(--surface-2);margin:12px 0}.homikey-owner-contracts .contract-list-toolbar{box-shadow:none;background:0 0;border:0;border-radius:0;margin-bottom:8px;padding:0}.homikey-owner-contracts .contract-list-toolbar .contract-pills{box-shadow:none;background:0 0;flex-wrap:wrap;flex:100%;gap:8px;padding:0}.homikey-owner-contracts .contract-pills button{border-radius:var(--radius-full);background:var(--paper);min-height:32px;box-shadow:inset 0 0 0 1px var(--line);color:var(--accent-light);border:0;align-items:center;gap:8px;padding:0 14px;font-size:13px;font-weight:500;display:inline-flex}.homikey-owner-contracts .contract-pills button.active,.homikey-owner-contracts .contract-pills button.active:hover{background:var(--accent);box-shadow:none;color:#fff}.homikey-owner-contracts .contract-pills .pill-count{border-radius:var(--radius-full);background:var(--surface);min-width:24px;color:var(--subtle);text-align:center;font-variant-numeric:tabular-nums;padding:1px 7px;font-size:11px;font-weight:600}.homikey-owner-contracts .contract-result-count{margin:8px 0 12px}.homikey-tenant-contracts .contract-pills{order:2}.homikey-owner-contracts .table-wrap{box-shadow:var(--shadow-sm);background:var(--paper);border:0}.homikey-owner-contracts td{vertical-align:middle;padding:12px 10px}.homikey-owner-contracts th{padding-inline:10px}.homikey-owner-contracts :is(th,td):first-child{padding-left:20px}.homikey-owner-contracts :is(th,td):last-child{padding-right:16px}.homikey-owner-contracts td:is(:first-child,:nth-child(4),:nth-child(5)){white-space:nowrap}.homikey-owner-contracts td>:is(strong,small){display:block}.homikey-owner-contracts .contract-code{color:var(--accent);letter-spacing:.02em;font:600 12px/1.4 ui-monospace,SFMono-Regular,Menlo,monospace}.homikey-owner-contracts .contract-tenant{color:var(--ink);font-size:14px;font-weight:600;line-height:1.35}.homikey-owner-contracts .contract-room{color:var(--muted);margin-top:2px;font-size:12px}.homikey-owner-contracts .contract-term{color:var(--ink-2);white-space:nowrap;font-size:13px;display:block}.homikey-owner-contracts .contract-term>span{display:inline}.homikey-owner-contracts td .contract-countdown{background:0 0;border-radius:0;margin-top:2px;padding:0;font-size:12px;font-weight:500;display:block}.homikey-owner-contracts td .contract-countdown svg{display:none}.homikey-owner-contracts td .contract-countdown.safe{color:var(--subtle)}.homikey-owner-contracts td .contract-countdown.warning{color:var(--danger-dark)}.homikey-owner-contracts td .contract-countdown.danger{color:var(--danger-dark);font-weight:600}.homikey-owner-contracts td:nth-child(4) strong{color:var(--ink);font-size:13px;font-weight:600}.homikey-owner-contracts td:nth-child(5) strong{color:var(--muted);font-size:13px;font-weight:500}.homikey-owner-contracts td .contract-status{color:var(--ink-2);background:0 0;border-radius:0;align-items:center;gap:7px;padding:0;font-size:12px;font-weight:500;text-decoration:none;display:inline-flex}.homikey-owner-contracts td .contract-status:before{content:"";background:var(--muted);border-radius:50%;flex:none;width:6px;height:6px}.homikey-owner-contracts td .contract-status.draft:before{background:var(--orange-dot)}.homikey-owner-contracts td .contract-status.active:before{background:var(--green)}.homikey-owner-contracts td .contract-status.pending_termination:before{background:var(--danger-dark)}.homikey-owner-contracts td .contract-status.expired:before{background:var(--brand-highlight)}.homikey-owner-contracts td .contract-status.terminated:before{background:var(--subtle)}.homikey-owner-contracts td .contract-status.cancelled{color:var(--subtle);text-decoration:line-through}.homikey-owner-contracts td .contract-status.cancelled:before{background:var(--control-line)}.homikey-owner-contracts td .contract-status+small{margin-top:2px;font-size:11px}.homikey-owner-contracts .mobile-card{box-shadow:var(--shadow-sm);border:0}@media (width<=767px){.homikey-owner-contracts .contract-pills button{min-height:40px}.homikey-owner-contracts .contract-list-toolbar>div{width:100%;min-width:0!important}}.tenants-page .tenant-results-card.as-card{border-radius:var(--radius-lg);background:var(--paper);box-shadow:var(--shadow-sm);overflow:hidden}.tenants-page .tenant-results-card.as-card .tenant-results-heading{align-items:center;margin:0;padding:20px 24px 16px}.tenants-page .tenant-results-heading h2{font:600 16px/1.3 var(--font-body);color:var(--ink)}.tenants-page .tenant-results-heading>span{font-size:13px}.tenants-page .tenant-results-card.as-card .tenant-table th{background:var(--paper);color:var(--subtle);letter-spacing:.88px;text-transform:uppercase;border-top:0;border-bottom:1px solid var(--line-soft);font-size:11px;font-weight:600}.tenants-page .tenant-results-card.as-card .tenant-table td{height:60px}.tenants-page .tenant-results-card.as-card :is(.empty-state,.state-box){box-shadow:none;background:var(--surface-2);margin:0 24px 24px}.tenants-page .tenant-results-card.as-card .tenant-pagination{border-top:1px solid var(--line-soft);margin:0;padding:12px 24px}.tenants-page .avatar[data-tone]{background:var(--accent);color:#fff}.tenants-page .avatar[data-tone="1"]{background:var(--brand-highlight-dark)}.tenants-page .avatar[data-tone="2"]{background:var(--green)}.tenants-page .avatar[data-tone="3"]{background:var(--orange-text)}.tenants-page .tenant-row-trigger .avatar[data-tone="1"]{background:var(--brand-highlight-dark)}.tenants-page .tenant-row-trigger .avatar[data-tone="2"]{background:var(--green)}.tenants-page .tenant-row-trigger .avatar[data-tone="3"]{background:var(--orange-text)}.tenants-page .tenant-table td .badge{background:0 0;border-radius:0;padding:0;font-weight:500}.tenants-page .tenant-contract-end{white-space:nowrap;gap:2px;display:grid}.tenants-page .tenant-contract-end strong{color:var(--ink);font-variant-numeric:tabular-nums;font-size:14px;font-weight:500}.tenants-page .tenant-contract-end small{color:var(--muted);font-size:11px}.tenants-page .tenant-contract-end.warn strong,.tenants-page .tenant-contract-end.warn small{color:var(--danger-dark)}.tenants-page .tenant-contract-end.warn strong{font-weight:600}.tenants-page .tenant-debt{color:var(--danger-dark);font:600 13px/1.3 var(--font-body);font-variant-numeric:tabular-nums;white-space:nowrap}.tenants-page .tenant-extra-none{font-size:14px}.tenants-page .tenant-table .tenant-col-debt{text-align:right}.tenants-page .tenant-table th.tenant-col-debt,.tenants-page .tenant-table td.tenant-col-debt{padding-right:20px}.tenants-page .tenant-mobile-card .tenant-contract-end{gap:2px}@media (width<=1023px){.tenants-page .tenant-table .tenant-col-extra{display:none}}.tenants-page .tenant-table .tenant-role-inline{color:var(--muted);font-size:12px;display:block}.tenants-page .tenant-table .tenant-room-info>span,.tenants-page .tenant-table .tenant-room-info>small{white-space:nowrap}.tenants-page .tenant-table td:first-child .table-tenant-info{min-width:180px}.tenants-page .tenant-table td:first-child strong,.tenants-page .tenant-table td:first-child small{white-space:nowrap}@media (width>=1024px) and (width<=1439px){.tenants-page .tenant-table th,.tenants-page .tenant-table td{padding-inline:10px}.tenants-page .tenant-results-card.as-card .tenant-table th:first-child,.tenants-page .tenant-results-card.as-card .tenant-table td:first-child{padding-left:24px}.tenants-page .tenant-table .tenant-col-debt{padding-right:14px}}.kpi-strip.people-kpi{margin-bottom:20px}.kpi-strip.people-kpi[data-variant=plain] .kpi-strip-cell{gap:10px;padding:20px 24px}.kpi-strip.people-kpi .ks-label{color:var(--muted);font-size:13px;font-weight:400}.kpi-strip.people-kpi .ks-value{color:var(--ink);letter-spacing:-.03em;font-size:32px;font-weight:600;line-height:1}.kpi-strip.people-kpi .ks-value.is-good{color:var(--green-text)}.kpi-strip.people-kpi .ks-note{color:var(--subtle);font-size:12px;line-height:1.4}@media (width>=768px){.kpi-strip.people-kpi[data-cells="3"]{grid-template-columns:repeat(auto-fill,minmax(clamp(33.3%,819180px - 99900%,50%),1fr))}}.list-pager-arrows{border-top:1px solid var(--line-soft);color:var(--muted);justify-content:space-between;align-items:center;gap:12px;margin:0;padding:12px 16px;font-size:12px;display:flex}.list-pager-buttons{gap:8px;display:flex}.list-pager-buttons button{background:var(--paper);width:32px;height:32px;box-shadow:inset 0 0 0 1px var(--control-line);color:var(--ink-2);cursor:pointer;border:0;border-radius:8px;justify-content:center;align-items:center;padding:0;display:inline-flex}.list-pager-buttons button:hover:not(:disabled){background:var(--surface-2)}.list-pager-buttons button:disabled{cursor:not-allowed;opacity:.45}.list-pager-buttons button:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}@media (width<=767px){.list-pager-buttons button{width:44px;height:44px}}.tenants-page .tenant-results-card.as-card .tenant-results-heading{flex-wrap:wrap;align-items:center;gap:12px 16px;margin:0;padding:16px;display:flex}.tenants-page .tenant-results-heading h2{color:var(--ink-2);font:700 18px/1.3 var(--font-body);margin:0}.tenants-page .tenant-results-tools{flex-wrap:wrap;align-items:center;gap:10px;min-width:0;margin-left:auto;display:flex}.tenants-page .tenant-results-tools .toolbar-search-wrap{flex:none;width:260px;max-width:100%}.tenants-page .tenant-results-tools .search-box{width:100%;min-width:0;height:40px}.tenants-page .tenant-results-tools .view-mode-toggle{flex:none}.tenants-page .tenant-building-select,.homikey-owner-contracts .contract-building-select{flex:none;display:flex}.tenants-page .tenant-building-select select,.homikey-owner-contracts .contract-building-select select{border-radius:var(--radius);background-color:var(--paper);width:200px;max-width:100%;height:40px;box-shadow:inset 0 0 0 1px var(--control-line);color:var(--ink);font:500 13px/1.3 var(--font-body);border:0;padding:0 34px 0 12px}.tenants-page .filter-pop-panel{gap:14px;display:grid}.tenants-page .filter-pop-panel .sensitive-mask-toggle{justify-self:start}.tenants-page .tenant-results-card.is-grid .tenant-results-body{padding:0 16px 16px}.tenants-page .tenant-results-card.as-card .tenant-role-note{margin:0 16px 8px!important}.tenants-page .tenant-results-card.as-card .tenant-table-container{box-shadow:none;border-radius:0}.tenants-page .tenant-results-card.as-card .tenant-table th{background:var(--surface-2);color:var(--muted);letter-spacing:.06em;text-transform:uppercase;border-top:0;border-bottom:1px solid var(--line-soft);padding-block:12px;font-size:11px;font-weight:600}.tenants-page .tenant-results-card.as-card .tenant-table th:first-child,.tenants-page .tenant-results-card.as-card .tenant-table td:first-child{padding-left:16px}.tenants-page .tenant-results-card.as-card .tenant-table th:last-child,.tenants-page .tenant-results-card.as-card .tenant-table td:last-child{padding-right:16px}.tenants-page .tenant-results-card.as-card .tenant-table td{height:58px;padding-block:8px}.tenants-page .tenant-table .avatar-sm{width:34px;height:34px;font-size:12px;font-weight:700}.tenants-page .tenant-table td:first-child strong{color:var(--ink);font-size:14px;font-weight:600}.tenants-page .tenant-table td:first-child small{color:var(--muted);font-size:12px}.tenants-page .tenant-table .tenant-room-info>span{color:var(--ink);font-size:14px;font-weight:500}.tenants-page .tenant-table .tenant-room-info>small{color:var(--subtle);font-size:12px}.tenants-page .tenant-table .tenant-contract-end strong{font-size:14px;font-weight:400}.tenants-page .tenant-table .tenant-contract-end.warn strong{font-weight:600}.tenants-page .tenant-table-row:is(:hover,:focus-within) td{background:var(--surface-2)}.tenant-status-dot{color:var(--ink-2);white-space:nowrap;align-items:center;gap:8px;font-size:12px;font-weight:600;display:inline-flex}.tenant-status-dot:before{content:"";background:var(--subtle);border-radius:50%;flex:none;width:6px;height:6px}.tenant-status-dot.green:before{background:var(--green)}.tenant-status-dot.amber:before{background:var(--orange-dot)}.tenant-status-dot.grey:before{background:var(--scroll-hover)}.homikey-tenant-dialog .tenant-detail-glance{border-bottom:1px solid var(--line-soft);gap:14px;padding:16px 24px;display:grid}.homikey-tenant-dialog .tenant-detail-debt{background:var(--green-soft);border-radius:12px;gap:6px;padding:14px 16px;display:grid}.homikey-tenant-dialog .tenant-detail-debt.owes{background:var(--danger-soft)}.homikey-tenant-dialog .tenant-detail-debt>span{color:var(--muted);font-size:12px}.homikey-tenant-dialog .tenant-detail-debt>strong{color:var(--green-text);font:600 24px/1.1 var(--font-body);letter-spacing:-.03em;font-variant-numeric:tabular-nums}.homikey-tenant-dialog .tenant-detail-debt.owes>strong{color:var(--danger-dark)}.homikey-tenant-dialog .tenant-detail-debt>small{color:var(--muted);font-size:12px}.homikey-tenant-dialog .tenant-detail-kv{grid-template-columns:auto minmax(0,1fr);gap:10px 16px;margin:0;font-size:13px;display:grid}.homikey-tenant-dialog .tenant-detail-kv>div{display:contents}.homikey-tenant-dialog .tenant-detail-kv dt{color:var(--muted)}.homikey-tenant-dialog .tenant-detail-kv dd{overflow-wrap:anywhere;min-width:0;color:var(--ink);text-align:right;margin:0;font-weight:500}.homikey-tenant-dialog .tenant-detail-kv dd a{color:inherit}.homikey-tenant-dialog .tenant-detail-kv dd.warn{color:var(--danger-dark);font-weight:600}.homikey-tenant-dialog .tenant-detail-contract-link{justify-self:start}@media (width>=768px){.homikey-tenant-dialog .tenant-detail-glance.has-debt{grid-template-columns:minmax(220px,300px) minmax(0,1fr);align-items:start;column-gap:32px}.homikey-tenant-dialog .tenant-detail-glance.has-debt .tenant-detail-kv{grid-area:1/2/span 2}}@media (width<=767px){.tenants-page .tenant-results-tools{width:100%;margin-left:0}.tenants-page .tenant-results-tools .toolbar-search-wrap{flex:100%;width:100%}.tenants-page .tenant-building-select{flex:100%}.tenants-page .tenant-building-select select{width:100%;min-height:44px;font-size:16px}.homikey-tenant-dialog .tenant-detail-glance{padding:14px 16px}}.homikey-owner-contracts .contract-list-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 16px;margin-bottom:20px;display:flex}.homikey-owner-contracts .contract-list-toolbar .contract-pills{flex:auto;min-width:0}.homikey-owner-contracts .contract-pills button{min-height:36px;box-shadow:inset 0 0 0 1px var(--control-line);color:var(--ink-2);white-space:nowrap;padding:0 16px;font-size:13px;font-weight:600}.homikey-owner-contracts .contract-pills button:hover{background:var(--surface-2);color:var(--ink)}.homikey-owner-contracts .contract-pills button.active,.homikey-owner-contracts .contract-pills button.active:hover{box-shadow:none}.homikey-owner-contracts .contract-pills .pill-count{background:var(--surface);min-width:20px;height:20px;color:var(--muted);border-radius:10px;justify-content:center;align-items:center;padding:0 8px;font-size:11px;font-weight:600;display:inline-flex}.homikey-owner-contracts .contract-pills button.active .pill-count{color:#fff;background:#fff3}.homikey-owner-contracts .contract-list-filters{flex-wrap:wrap;align-items:center;gap:10px;min-width:0;margin-left:auto;display:flex}.homikey-owner-contracts .contract-list-filters .search-box{width:280px;min-width:0;max-width:100%;height:40px}@media (width<=767px){.homikey-owner-contracts .contract-list-filters{width:100%;margin-left:0}.homikey-owner-contracts .contract-list-filters .search-box{width:100%}.homikey-owner-contracts .contract-list-filters,.homikey-owner-contracts .contract-building-select{flex:100%}.homikey-owner-contracts .contract-building-select select{width:100%;min-height:44px;font-size:16px}}.homikey-owner-contracts .contract-table{border-radius:var(--radius-lg);overflow:hidden}.homikey-owner-contracts .table-wrap.contract-table th{background:var(--surface-2);color:var(--muted);letter-spacing:.06em;text-transform:uppercase;padding-block:12px;font-size:11px;font-weight:600}.homikey-owner-contracts .table-wrap.contract-table td{border-color:var(--line-soft);height:58px;padding-block:8px}.homikey-owner-contracts .contract-table :is(th,td):first-child{padding-left:16px}.homikey-owner-contracts .contract-table :is(th,td):last-child{padding-right:16px}.homikey-owner-contracts .contract-row{cursor:pointer}.homikey-owner-contracts .contract-row:is(:hover,:focus-within) td{background:var(--surface-2)}.homikey-owner-contracts .contract-row-open{cursor:pointer;text-align:left;background:0 0;border:0;margin:0;padding:0;display:inline}.homikey-owner-contracts .contract-row-open.contract-code{color:var(--accent);font:600 13px/1.4 var(--font-body);letter-spacing:0}.homikey-owner-contracts .contract-row-open:focus-visible{outline:2px solid var(--focus-ring);outline-offset:3px;border-radius:4px}.homikey-owner-contracts .contract-table td:nth-child(4) strong{color:var(--ink);font-size:14px;font-weight:600}.homikey-owner-contracts .contract-table td .contract-status{font-weight:600}.homikey-owner-contracts td .contract-status.expiring:before{background:var(--brand-highlight)}.homikey-owner-contracts td .contract-status.pending-sign:before,.homikey-owner-contracts td .contract-status.pending_termination:before{background:var(--orange-dot)}.homikey-owner-contracts .mobile-card .contract-status:before{content:"";background:var(--muted);vertical-align:middle;border-radius:50%;width:6px;height:6px;margin-right:7px;display:inline-block}.homikey-owner-contracts .mobile-card .contract-status.active:before{background:var(--green)}.homikey-owner-contracts .mobile-card .contract-status.expiring:before{background:var(--brand-highlight)}.homikey-owner-contracts .mobile-card .contract-status.pending-sign:before,.homikey-owner-contracts .mobile-card .contract-status.pending_termination:before{background:var(--orange-dot)}.homikey-owner-contract-dialog .contract-glance{gap:16px;margin-bottom:20px;display:grid}.homikey-owner-contract-dialog .contract-glance-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.homikey-owner-contract-dialog .contract-glance-head>div{gap:4px;min-width:0;display:grid}.homikey-owner-contract-dialog .contract-glance-head small{color:var(--muted);font-size:12px}.homikey-owner-contract-dialog .contract-glance-head strong{color:var(--ink);font:400 22px/1.25 var(--font-display)}.homikey-owner-contract-dialog .contract-glance .contract-status{color:var(--ink-2);white-space:nowrap;align-items:center;gap:8px;font-size:12px;font-weight:600;display:inline-flex}.homikey-owner-contract-dialog .contract-glance .contract-status:before{content:"";background:var(--muted);border-radius:50%;flex:none;width:6px;height:6px}.homikey-owner-contract-dialog .contract-glance .contract-status.active:before{background:var(--green)}.homikey-owner-contract-dialog .contract-glance .contract-status.expiring:before{background:var(--brand-highlight)}.homikey-owner-contract-dialog .contract-glance .contract-status.pending-sign:before,.homikey-owner-contract-dialog .contract-glance .contract-status.pending_termination:before{background:var(--orange-dot)}.homikey-owner-contract-dialog .contract-glance .contract-status.expired:before{background:var(--brand-highlight)}.homikey-owner-contract-dialog .contract-glance-span{gap:8px;display:grid}.homikey-owner-contract-dialog .contract-glance-dates{color:var(--muted);font-variant-numeric:tabular-nums;justify-content:space-between;font-size:12px;display:flex}.homikey-owner-contract-dialog .contract-glance-bar{background:var(--line);border-radius:4px;height:8px;overflow:hidden}.homikey-owner-contract-dialog .contract-glance-bar i{background:var(--accent);border-radius:4px;height:100%;display:block}.homikey-owner-contract-dialog .contract-glance-bar i.warn{background:var(--brand-highlight)}.homikey-owner-contract-dialog .contract-glance-span small{color:var(--muted);font-size:12px}.homikey-owner-contract-dialog .contract-glance-span small.warn{color:var(--danger-dark)}.homikey-owner-contract-dialog .contract-kv{background:color-mix(in srgb, var(--orange-soft) 70%, var(--paper));border-radius:12px;grid-template-columns:auto minmax(0,1fr);gap:12px 16px;margin:0;padding:16px;font-size:13px;display:grid}.homikey-owner-contract-dialog .contract-kv>div{display:contents}.homikey-owner-contract-dialog .contract-kv dt{color:var(--muted)}.homikey-owner-contract-dialog .contract-kv dd{overflow-wrap:anywhere;min-width:0;color:var(--ink);text-align:right;margin:0;font-weight:600}@media (width>=768px) and (width<=1279px){.tenants-page .tenant-results-card.as-card .tenant-table{min-width:0}.tenants-page .tenant-results-card.as-card .tenant-table :is(th,td){padding-inline:8px}.tenants-page .tenant-results-card.as-card .tenant-table :is(th,td):first-child{padding-left:16px}.tenants-page .tenant-results-card.as-card .tenant-table :is(th,td):last-child{padding-right:16px}}.meter-toolbar{justify-content:flex-start}.meter-toolbar .segmented{margin-left:auto}.meter-review-layout{--meter-detail-top:calc(var(--topbar-height) + 20px);grid-template-columns:minmax(0,1.6fr) minmax(340px,1fr);align-items:start;gap:20px;display:grid}.meter-queue{min-width:0}.meter-detail-heading h2{font:650 16px/1.5 var(--font-body);color:var(--ink);margin:0}.meter-review-layout .meter-queue .meter-sheet-col-header,.meter-queue-row{grid-template-columns:minmax(140px,1.4fr) minmax(68px,.75fr) minmax(68px,.75fr) minmax(90px,1fr) minmax(106px,1.1fr);gap:12px}.meter-review-layout .meter-queue .meter-sheet-col-header{padding:10px 16px;font-size:10px;font-weight:500}.meter-review-layout .meter-sheet-col-header>span:nth-child(n+2):nth-child(-n+4){text-align:right}.meter-queue-row{background:var(--paper);width:100%;min-height:72px;color:var(--ink);text-align:left;font:inherit;cursor:pointer;transition:background var(--transition), box-shadow var(--transition);border:0;border-radius:0;align-items:center;padding:14px 16px;display:grid}.meter-queue-row+.meter-queue-row{border-top:1px solid var(--line)}.meter-queue-row:hover{background:var(--surface-2)}.meter-queue-row:active{background:var(--accent-soft)}.meter-queue-row.selected{background:var(--surface-2);box-shadow:inset 0 0 0 1.5px var(--brand-highlight);border-radius:var(--radius-sm)}.meter-queue-row:focus-visible{outline:2px solid var(--focus-ring);outline-offset:-3px}.meter-queue-number{text-align:right;font-variant-numeric:tabular-nums;overflow-wrap:anywhere;min-width:0;font-size:13px}.meter-queue-number>small{display:none}.meter-queue-number.previous{color:var(--muted)}.meter-queue-number.current{font-weight:650}.meter-queue-number.usage{font-weight:550}.meter-queue-number.usage>span{white-space:nowrap;font-size:11px}.meter-review-layout .success{color:var(--green-dark)}.meter-review-layout .warning{color:var(--orange-dark)}.meter-review-layout .danger{color:var(--danger)}.meter-reading-detail{top:var(--meter-detail-top);min-width:0;min-height:0;max-height:calc(100dvh - var(--meter-detail-top) - 20px);overscroll-behavior-y:contain;scrollbar-gutter:stable;scroll-margin-top:var(--meter-detail-top);background:var(--paper);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);align-self:start;padding:20px;position:sticky;overflow-y:auto}.meter-detail-heading{justify-content:space-between;align-items:start;gap:12px;margin-bottom:16px;display:flex}.meter-detail-heading>div{min-width:0}.meter-detail-heading p{color:var(--muted);overflow-wrap:anywhere;margin:4px 0 0;font-size:11px;line-height:1.7}.meter-detail-photo{border-radius:var(--radius-lg);background:var(--ink);width:100%;height:190px;color:var(--paper);font:inherit;cursor:pointer;border:0;place-items:center;padding:0;display:grid;position:relative;overflow:hidden}.meter-detail-photo img{object-fit:contain;width:100%;height:100%}.meter-detail-photo-placeholder{justify-items:center;gap:12px;padding:20px;font-size:12px;display:grid}.meter-detail-photo-caption{background:var(--accent-dark);justify-content:center;align-items:center;gap:6px;padding:9px;font-size:11px;display:flex;position:absolute;inset:auto 0 0}.meter-detail-photo:hover .meter-detail-photo-caption{background:var(--accent)}.meter-detail-photo:active{opacity:.9}.meter-detail-photo:focus-visible{outline:2px solid var(--focus-ring);outline-offset:3px}.meter-detail-facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:16px;display:grid}.meter-detail-facts>div{background:var(--surface-2);border-radius:var(--radius);gap:6px;min-width:0;padding:12px;display:grid}.meter-detail-facts :is(span,small){color:var(--muted);font-size:10px;line-height:1.6}.meter-detail-facts strong{color:var(--ink);font-variant-numeric:tabular-nums;overflow-wrap:anywhere;font-size:18px;font-weight:650}.meter-detail-facts strong small{color:inherit;font-size:12px}.meter-detail-proposal,.meter-detail-baseline{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px;margin-top:16px;font-size:12px;display:flex}.meter-detail-proposal>span,.meter-detail-baseline>span{color:var(--muted)}.meter-detail-proposal strong,.meter-detail-baseline strong{font-variant-numeric:tabular-nums;font-weight:600}.meter-detail-input{margin-top:20px}.meter-detail-input label{margin-bottom:8px;font-size:12px;display:block}.meter-detail-input input{border:1px solid var(--control-line);border-radius:var(--radius);background:var(--paper);width:100%;min-width:0;min-height:44px;color:var(--ink);font:650 18px/1.4 var(--font-body);padding:10px 14px}.meter-detail-input input.warning{border-color:var(--orange);color:var(--ink)}.meter-detail-input input.invalid{border-color:var(--danger)}.meter-detail-input input:disabled{background:var(--surface-2);opacity:1;cursor:not-allowed}.meter-detail-input p{color:var(--muted);margin:8px 0 0;font-size:11px;line-height:1.7}.meter-detail-ack{border-radius:var(--radius);background:var(--orange-soft);color:var(--orange-dark);cursor:pointer;align-items:start;gap:8px;margin-top:16px;padding:12px;font-size:12px;line-height:1.7;display:flex}.meter-detail-ack input{accent-color:var(--accent);flex-shrink:0;margin-top:4px}.meter-detail-note{font-size:12px;line-height:1.7}.meter-detail-actions{border-top:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:8px;margin-top:20px;padding-top:16px;display:flex}.meter-detail-approved{color:var(--green-dark);align-items:center;gap:6px;margin-right:auto;font-size:12px;display:inline-flex}.meter-reading-detail .meter-anomalies-list{margin-top:16px}.meter-reading-detail .anomaly-item-alert{flex-wrap:wrap}@media (width<=1199px){.meter-review-layout{grid-template-columns:minmax(0,1fr)}.meter-reading-detail{overscroll-behavior-y:auto;scrollbar-gutter:auto;max-height:none;position:static;overflow:visible}}@media (width<=767px){.meter-review-layout .meter-sheet-col-header{display:none}.meter-queue-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px 12px}.meter-queue-number{text-align:left}.meter-queue-number>small{color:var(--muted);margin-bottom:6px;font-size:10px;font-weight:400;display:block}.meter-reading-detail{padding:16px}.meter-detail-heading{flex-wrap:wrap}}@media (prefers-reduced-motion:reduce){.meter-queue-row{transition:none}}.meter-sheet{gap:var(--sp-3);display:grid}.meter-sheet-col-header{gap:var(--sp-4);border-bottom:1px solid var(--line);color:#64748b;text-transform:uppercase;letter-spacing:.5px;background:#f8fafc;grid-template-columns:minmax(180px,1.4fr) minmax(210px,1.5fr) minmax(140px,1.1fr) minmax(130px,1fr) minmax(200px,1.4fr);padding:9px 20px;font-size:11px;font-weight:700;display:grid}.meter-rows{flex-direction:column;display:flex}.meter-row{box-sizing:border-box;background:#fff;flex-direction:column;gap:12px;min-width:0;padding:16px 20px;transition:background .15s;display:flex;position:relative}.meter-row:hover{background:#fafbfc}.meter-row+.meter-row{border-top:1px solid var(--line)}.meter-type{align-items:center;gap:10px;min-height:38px;display:flex}.meter-type>.icon{border-radius:var(--radius);background:var(--orange-soft);width:32px;height:32px;color:var(--orange-text);box-sizing:border-box;flex-shrink:0;padding:6px}.meter-type.water>.icon{background:var(--blue-soft);color:var(--blue)}.meter-type strong{font-size:var(--text-base);color:var(--ink);font-weight:700}.consumption strong{color:var(--ink);white-space:nowrap;font-size:17px;font-weight:700;display:block}.consumption .invalid{color:var(--danger)}.consumption .anomaly{color:#d97706}.anomaly-banner{color:#92400e;box-sizing:border-box;background:#fffbeb;border:1px solid #fef08a;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;width:100%;padding:10px 14px;font-size:13px;line-height:1.4;display:flex}.anomaly-banner .anomaly-check{cursor:pointer;-webkit-user-select:none;user-select:none;color:#78350f;background:#fef08a66;border:1px solid #d977064d;border-radius:6px;flex-shrink:0;align-items:center;gap:6px;padding:4px 10px;font-size:12px;font-weight:600;display:flex}.anomaly-banner .anomaly-check input{accent-color:var(--orange);margin:0}.anomaly-banner.invalid{color:#991b1b;background:#fef2f2;border-color:#fecaca}.meter-anomalies-list{flex-direction:column;gap:8px;width:100%;margin-top:4px;display:flex}.anomaly-item-alert{box-sizing:border-box;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;padding:8px 14px;font-size:12px;line-height:1.4;display:flex}.anomaly-item-alert.new{color:#991b1b;background:#fef2f2;border:1px solid #fecaca}.anomaly-item-alert.checked{color:#92400e;background:#fffbeb;border:1px solid #fef08a}.anomaly-item-alert.resolved{color:#065f46;background:#ecfdf5;border:1px solid #a7f3d0}.anomaly-item-content{flex:1;align-items:center;gap:8px;min-width:0;display:flex}.anomaly-status-tag{white-space:nowrap;background:#0000000d;border-radius:4px;flex-shrink:0;padding:2px 8px;font-size:11px;font-weight:700;display:inline-block}.invoice-summary{gap:var(--sp-3);margin-bottom:var(--sp-4);grid-template-columns:repeat(3,1fr);display:grid}.invoice-summary article{border-radius:var(--radius-md);box-shadow:var(--shadow-sm);background:#fff;border:1px solid #0000;padding:16px 18px}.invoice-summary span,.invoice-summary strong{display:block}.invoice-summary span{color:#999;font-size:11px}.invoice-summary strong{font:700 20px/1.2 var(--font-heading);margin-top:5px}.invoice-summary .paid{color:var(--green-text)}.invoice-summary .debt,.text-debt{color:var(--danger)!important}.invoice-toolbar{flex-wrap:wrap;justify-content:flex-start;gap:12px}.invoice-toolbar>select{border:1px solid var(--line);border-radius:var(--radius);height:36px;font-size:var(--text-sm);background:#fff;padding:0 28px 0 12px}.invoice-toolbar .segmented{margin-left:auto}.row-actions{align-items:center;gap:var(--sp-2);flex-wrap:wrap;display:flex}.invoice-status{border-radius:var(--radius-full);background:var(--surface-2);color:var(--muted);padding:5px 9px;font-size:11px;font-weight:600;display:inline-block}.invoice-status.draft{color:var(--orange-text);background:var(--orange-soft)}.invoice-status.issued{color:var(--blue);background:var(--blue-soft)}.invoice-status.partially_paid{color:var(--orange-text);background:var(--orange-soft)}.invoice-status.paid{color:var(--green-text);background:var(--green-soft)}.invoice-status.overdue{color:var(--danger);background:var(--danger-soft)}.invoice-viewer{padding:var(--sp-6);background:#fff;max-width:820px;margin:auto}.invoice-viewer>header{border-bottom:2px solid var(--ink);justify-content:space-between;align-items:flex-start;padding-bottom:18px;display:flex}.invoice-brand{align-items:center;gap:var(--sp-2);display:flex}.invoice-brand strong,.invoice-brand small,.invoice-viewer>header>div:last-child span,.invoice-viewer>header>div:last-child strong{display:block}.invoice-brand strong{font:700 var(--text-md)/1.2 var(--font-heading)}.invoice-brand small{color:#888;font-size:11px}.invoice-viewer>header>div:last-child{text-align:right}.invoice-viewer>header>div:last-child span{color:#888;font-size:11px}.invoice-viewer>header>div:last-child strong{font-size:var(--text-sm);margin-top:4px}.invoice-customer{grid-template-columns:2fr 1fr 1fr;padding:14px 0;display:grid}.invoice-customer span,.invoice-customer strong{display:block}.invoice-customer span{color:#999;font-size:10px}.invoice-customer strong{font-size:var(--text-sm);margin-top:3px}.invoice-viewer table{min-width:0}.invoice-viewer th,.invoice-viewer td{padding:var(--sp-3)}.invoice-viewer td small{display:block}.invoice-total{align-items:center;gap:var(--sp-4);border-top:2px solid var(--ink);grid-template-columns:1.3fr 80px 1.3fr;padding:18px 0;display:grid}.invoice-total>div:first-child{text-align:right}.invoice-total span,.invoice-total strong,.invoice-total small{display:block}.invoice-total span{color:#999;font-size:10px}.invoice-total strong{margin:3px 0;font-size:14px;font-weight:700}.invoice-total small{color:#888;font-size:10px}.invoice-viewer>footer{padding:var(--sp-3);background:var(--surface);border-radius:var(--radius-sm);color:#888;text-align:center;font-size:10px}@media (width<=860px){.meter-sheet-col-header{display:none}.anomaly-banner{flex-direction:column;align-items:flex-start;gap:10px}}@media (width<=767px){.invoice-summary{grid-template-columns:1fr 1fr}.meter-toolbar .segmented,.invoice-toolbar .segmented{margin-left:0}}@media (width<=540px){.invoice-summary{grid-template-columns:1fr}.invoice-total{text-align:center;grid-template-columns:1fr}.invoice-total>div:first-child{text-align:center}.invoice-customer{grid-template-columns:1fr}}.configuration-grid{gap:20px;display:grid}.settings-card{background:var(--surface,#fff);border:1px solid var(--line);border-radius:16px;padding:20px}.settings-card>header{justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px;display:flex}.settings-card h2{margin:3px 0 0}.meter-catalog-card .table-actions{justify-content:flex-end}.compact-form{align-items:end}.form-note{color:var(--muted);margin:0}.assignment-history{background:var(--surface-2);border-radius:10px;padding:12px 14px}.assignment-history p{color:var(--muted);margin:8px 0 0}@media (width>=1100px){.configuration-grid{grid-template-columns:minmax(0,1.4fr) minmax(340px,.8fr)}}.tenant-meter-list{gap:18px;display:grid}.tenant-meter-card{background:var(--surface,#fff);border:1px solid var(--line);border-radius:16px;padding:20px;overflow:hidden}.tenant-meter-card>header{justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px;display:flex}.tenant-meter-card .meter-type{align-items:center;gap:10px;display:flex}.tenant-meter-card .meter-type>div{gap:3px;display:grid}.tenant-meter-card small{color:var(--muted)}.meter-upload-zone{border:1px dashed var(--control-line);border-radius:12px;gap:12px;padding:16px;display:grid}.photo-picker{cursor:pointer;align-items:center;gap:8px;font-weight:650;display:flex}.photo-picker input{opacity:0;width:1px;height:1px;position:absolute}.meter-upload-zone img{object-fit:contain;border-radius:10px;width:100%;max-height:280px}.upload-progress{background:#e8edf3;border-radius:999px;height:22px;position:relative;overflow:hidden}.upload-progress i{background:var(--accent);height:100%;transition:width .2s;display:block}.upload-progress span{color:#fff;font-size:12px;font-weight:700;position:absolute;inset:3px 8px auto auto}.ocr-job-status,.waiting-review{background:var(--surface-2);color:var(--muted);border-radius:10px;margin:12px 0;padding:10px 12px}.proposal-review{grid-template-columns:.7fr 1.2fr auto;align-items:end;gap:12px;margin-top:14px;display:grid}.proposal-review>div,.proposal-review label{gap:5px;display:grid}.proposal-review span{color:var(--muted);font-size:12px;font-weight:650}.proposal-review input{min-height:42px}.approved-reading-summary{background:#f0fdf4;border-radius:12px;gap:4px;padding:16px;display:grid}.approved-reading-summary strong{color:#166534;font-size:24px}@media (width<=720px){.proposal-review{grid-template-columns:1fr;align-items:stretch}.tenant-meter-card>header{align-items:flex-start}}.pricing-panel{background:var(--surface-2);border-radius:12px;padding:14px 16px}.pricing-panel summary{cursor:pointer;justify-content:space-between;align-items:center;font-weight:700;display:flex}.pricing-panel p{color:var(--muted);font-size:13px}.pricing-rate-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;margin:14px 0;display:grid}.pricing-rate-grid label{gap:5px;display:grid}.pricing-rate-grid span{color:var(--muted);font-size:12px;font-weight:650}.billing-preview>header,.billing-run-result>header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.billing-preview h3,.billing-run-result h3{margin:3px 0 0}.preview-line,.preview-total{justify-content:space-between;align-items:center;gap:14px;padding:5px 0;display:flex}.preview-error{color:#b42318;font-size:13px}.preview-warning{color:#9a6700;font-size:13px}.billing-run-result{background:var(--surface-2);border-radius:12px;padding:16px}.billing-run-result>div{grid-template-columns:100px 1fr 1.4fr;align-items:center;gap:10px;padding:7px 0;display:grid}.billing-run-result small{color:var(--muted)}.invoice-viewer>footer{justify-content:space-between;align-items:center;gap:12px;display:flex}.header-button-group{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.reconciliation-modal{width:min(1160px,100vw - 40px);max-width:1160px}.modal-title-with-badge{align-items:center;gap:12px;display:flex}.reconciliation-container{grid-template-columns:1fr 1.15fr;gap:20px;min-height:480px;display:grid}@media (width<=860px){.reconciliation-container{grid-template-columns:1fr}}.reconciliation-photo-panel{background:#0f172a;border-radius:12px;flex-direction:column;display:flex;position:relative;overflow:hidden}.photo-panel-toolbar{color:#f8fafc;background:#1e293b;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:10px 14px;display:flex}.photo-mode-toggle{gap:6px;display:flex}.zoom-controls{align-items:center;gap:var(--sp-2);flex-wrap:wrap;display:flex}.zoom-slider{cursor:pointer;accent-color:#38bdf8;width:80px}.zoom-percentage{color:#94a3b8;text-align:right;min-width:36px;font-size:12px}.photo-viewport{background:#020617;flex:1;justify-content:center;align-items:center;min-height:320px;display:flex;position:relative;overflow:auto}.photo-zoom-container{display:inline-block;position:relative}.meter-photo-img{object-fit:contain;max-width:100%;max-height:420px;display:block}.photo-placeholder{color:#64748b;flex-direction:column;align-items:center;gap:12px;display:flex}.ocr-bounding-box-overlay{pointer-events:none;border:2px solid #22c55e;border-radius:4px;width:32%;height:26%;position:absolute;top:12%;left:34%;box-shadow:0 0 12px #22c55e66}.ocr-bounding-tag{color:#022c22;white-space:nowrap;background:#22c55e;border-radius:4px;align-items:center;gap:3px;padding:2px 6px;font-size:10px;font-weight:700;display:inline-flex;position:absolute;top:-22px;left:0}.photo-footer-info{color:#94a3b8;background:#1e293b;justify-content:space-between;align-items:center;padding:8px 14px;font-size:12px;display:flex}.serial-check{color:#38bdf8;align-items:center;gap:4px;font-weight:500;display:inline-flex}.reconciliation-data-panel{flex-direction:column;gap:16px;padding-right:4px;display:flex;overflow-y:auto}.reconciliation-comparison-box{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;padding:14px}.section-title{text-transform:uppercase;letter-spacing:.5px;color:#475569;margin:0 0 10px;font-size:13px;font-weight:700}.three-column-grid{grid-template-columns:1fr 1fr 1.25fr;gap:10px;display:grid}@media (width<=560px){.three-column-grid{grid-template-columns:1fr}}.comparison-col{background:#fff;border:1px solid #e2e8f0;border-radius:10px;flex-direction:column;justify-content:space-between;gap:6px;padding:10px;display:flex}.comparison-col.ocr-col{border-left:3px solid #0ea5e9}.comparison-col.tenant-col{border-left:3px solid #8b5cf6}.comparison-col.operator-col{border-left:3px solid #10b981}.col-header{color:#64748b;font-size:11px;font-weight:650}.col-value-box{align-items:baseline;gap:4px;display:flex}.col-value-box .value{color:#0f172a;font-size:20px;font-weight:700}.col-value-box .unit{color:#94a3b8;font-size:12px}.col-value-box.input-mode{align-items:center;display:flex}.final-input{border:1.5px solid #0ea5e9;border-radius:6px;outline:none;width:100%;padding:4px 8px;font-size:18px;font-weight:700}.final-input.invalid{background:#fef2f2;border-color:#ef4444}.confidence-pill{border-radius:6px;padding:2px 6px;font-size:11px;font-weight:600;display:inline-block}.confidence-pill.high{color:#166534;background:#dcfce7}.confidence-pill.medium{color:#92400e;background:#fef3c7}.consumption-summary-card{background:#fff;border:1px dashed #cbd5e1;border-radius:8px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:12px;padding:10px 14px;font-size:13px;display:flex}.delta-badge{border-radius:6px;padding:2px 8px;font-size:12px;font-weight:700}.delta-badge.normal{color:#0369a1;background:#e0f2fe}.delta-badge.warning{color:#b45309;background:#fef3c7}.reconciliation-anomalies-section{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:14px}.anomaly-alert-card{border-radius:8px;align-items:flex-start;gap:10px;margin-bottom:10px;padding:10px 12px;font-size:13px;display:flex}.anomaly-alert-card.critical{color:#991b1b;background:#fef2f2;border:1px solid #fca5a5}.anomaly-alert-card.warning{color:#92400e;background:#fffbeb;border:1px solid #fcd34d}.anomaly-alert-card p{margin:2px 0 0}.anomaly-checkbox{cursor:pointer;align-items:center;gap:6px;margin-top:8px;font-weight:600;display:flex}.anomaly-list{flex-direction:column;gap:8px;display:flex}.anomaly-item-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:10px;font-size:13px}.anomaly-item-card.status-new{border-left:4px solid #ef4444}.anomaly-item-card.status-checked{border-left:4px solid #f59e0b}.anomaly-item-card.status-resolved{border-left:4px solid #10b981}.anomaly-item-header{justify-content:space-between;align-items:center;margin-bottom:4px;display:flex}.anomaly-type-tag{color:#1e293b;font-size:12px;font-weight:700}.anomaly-desc{color:#475569;margin:2px 0}.anomaly-note{color:#64748b;margin:4px 0 0;font-size:12px}.resolve-btn{margin-top:6px}.resolve-anomaly-panel{background:#f1f5f9;border-radius:8px;margin-top:10px;padding:12px}.resolve-anomaly-panel h5{margin:0 0 8px;font-size:13px}.manual-entry-fallback{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;padding:10px 14px;font-size:13px}.manual-entry-toggle{cursor:pointer;align-items:center;gap:8px;font-weight:600;display:flex}.manual-entry-reason-box{gap:4px;margin-top:8px;display:grid}.manual-entry-reason-box input{border:1px solid #cbd5e1;border-radius:6px;padding:6px 10px}.reconciliation-revisions{border-top:1px solid #e2e8f0;padding-top:10px;font-size:12px}.reconciliation-revisions h5{margin:0 0 6px}.revisions-list{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.revisions-list li{color:#475569;align-items:center;gap:6px;display:flex}.revisions-list .action{color:#0284c7;font-weight:700}.revisions-list .time{color:#94a3b8;margin-left:auto}.inline-reject-box{background:#fef2f2;border:1px solid #fecaca;border-radius:8px;padding:12px}.inline-reject-box h5{color:#991b1b;margin:0 0 6px}.inline-reject-box textarea{border:1px solid #f87171;border-radius:6px;width:100%;padding:6px 8px;font-size:13px}.meter-batch-grid-wrapper{border:1px solid var(--line);background:#fff;border-radius:16px;padding:20px}.batch-grid-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;display:flex}.batch-grid-header h3{margin:0;font-size:18px}.batch-grid-scroll{border:1px solid #e2e8f0;border-radius:10px;max-height:60vh;overflow-y:auto}.batch-meter-table{border-collapse:separate;border-spacing:0;width:100%}.batch-meter-table thead th{z-index:2;color:#475569;background:#f8fafc;border-bottom:2px solid #cbd5e1;padding:10px 12px;font-size:12px;font-weight:700;position:sticky;top:0}.batch-meter-table tbody td{vertical-align:middle;border-bottom:1px solid #f1f5f9;padding:8px 12px;font-size:13px}.batch-row:hover{background:#f8fafc}.batch-row.row-negative{background:#fef2f2}.batch-row.row-anomaly{background:#fffbeb}.batch-row.row-approved{opacity:.75}.batch-input-cell{align-items:center;gap:6px;display:flex}.batch-cell-input{text-align:right;border:1.5px solid #cbd5e1;border-radius:6px;width:100%;max-width:100px;padding:5px 8px;font-size:14px;font-weight:600}.batch-cell-input:focus{border-color:#0ea5e9;outline:none;box-shadow:0 0 0 2px #0ea5e933}.batch-cell-input.input-error{color:#b91c1c;background:#fff;border-color:#ef4444}.batch-cell-input.input-warning{border-color:#f59e0b}.batch-grid-footer{border-top:1px solid #e2e8f0;justify-content:space-between;align-items:center;margin-top:16px;padding-top:12px;display:flex}.meter-missing-panel{border:1px solid var(--line);background:#fff;border-radius:16px;padding:20px}.missing-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;display:flex}.missing-header h3{margin:0;font-size:18px}.missing-toolbar-actions{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.channel-select-group{background:#f1f5f9;border-radius:8px;align-items:center;gap:10px;padding:6px 12px;font-size:13px;font-weight:550;display:flex}.channel-select-group .radio-label{cursor:pointer;align-items:center;gap:4px;display:flex}.missing-meter-types{flex-wrap:wrap;gap:6px;display:flex}.meter-history-panel{border:1px solid var(--line);background:#fff;border-radius:16px;flex-direction:column;gap:20px;padding:20px;display:flex}.history-toolbar{border-bottom:1px solid #f1f5f9;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding-bottom:16px;display:flex}.history-filters{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.history-quick-stats{flex-wrap:wrap;gap:12px;display:flex}.stat-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;flex-direction:column;padding:8px 14px;display:flex}.stat-label{color:#64748b;font-size:11px;font-weight:600}.stat-val{color:#0f172a;font-size:16px;font-weight:700}.chart-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;padding:16px}.chart-card h4{margin:0 0 12px;font-size:14px}.svg-container{width:100%;max-width:600px;margin:0 auto}.consumption-svg-chart{width:100%;height:auto;display:block}.chart-legend{color:#64748b;justify-content:center;gap:18px;margin-top:10px;font-size:12px;display:flex}.legend-item{align-items:center;gap:6px;display:inline-flex}.legend-item .dot{border-radius:3px;width:10px;height:10px;display:inline-block}.legend-item .dot.normal{background:#0ea5e9}.legend-item .dot.anomaly{background:#ef4444}.legend-item .line.baseline{border-top:2px dashed #f59e0b;width:16px;height:2px;display:inline-block}.tenant-serial-badge{color:#475569;align-items:center;gap:8px;margin-top:4px;font-size:12px;display:flex}.reference-check-btn{border:1px solid #cbd5e1;border-radius:4px;align-items:center;gap:4px;padding:2px 6px;font-size:11px;display:inline-flex}.anomaly-banner.success-notice{color:#166534;background:#f0fdf4;border:1px solid #bbf7d0}.item-provenance-dialog{flex-direction:column;display:flex}.provenance-header-card{background:var(--surface-2);border-radius:var(--radius);border:1px solid var(--line);justify-content:space-between;align-items:center;padding:14px 16px;display:flex}.provenance-header-card h3{margin:4px 0 0;font-size:16px}.provenance-grid{grid-template-columns:repeat(3,1fr);gap:12px;margin:16px 0;display:grid}.provenance-stat{border:1px solid var(--line);border-radius:var(--radius);background:#fff;padding:10px 14px}.provenance-stat small{color:var(--muted);margin-bottom:2px;font-size:11px;display:block}.provenance-stat strong{font-size:15px;display:block}.provenance-stat .accent-total{color:var(--accent);font-weight:700}.provenance-details-card{border:1px solid var(--line);border-radius:var(--radius);background:#fdfdfc;padding:16px}.provenance-details-card h4{text-transform:uppercase;letter-spacing:.5px;color:var(--muted);margin:0 0 12px;font-size:13.5px}.provenance-timeline{flex-direction:column;gap:8px;display:flex}.provenance-row{border-bottom:1px dashed var(--line);justify-content:space-between;align-items:center;padding:6px 0;font-size:13px;display:flex}.provenance-row span:first-child{color:var(--muted)}.provenance-photo-box{border-top:1px solid var(--line);margin-top:14px;padding-top:12px}.photo-preview-wrap{margin-top:6px;display:flex}.photo-preview-wrap img{border-radius:var(--radius);object-fit:cover;max-width:240px;max-height:180px;box-shadow:var(--shadow-sm);border:1px solid #0000}.photo-preview-link{border-radius:var(--radius);max-width:100%;line-height:0;display:inline-flex}a.photo-preview-link:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.step-item{color:var(--muted);border-radius:var(--radius-full);background:var(--surface-2);align-items:center;gap:8px;padding:6px 12px;font-size:13px;font-weight:600;display:flex}.step-item.active{color:var(--accent);background:var(--accent-soft)}.step-item.completed{color:var(--green-text);background:var(--green-soft)}.invoice-draft-edit-flow .table-wrap input{border:1px solid var(--line);border-radius:var(--radius-sm);padding:4px 8px}@media (width<=600px){.provenance-grid{grid-template-columns:1fr}}.homikey-meter-workspace .page-heading{align-items:flex-start}.homikey-meter-workspace .header-button-group{max-width:480px}.homikey-meter-workspace .meter-toolbar{border-radius:var(--radius-lg);background:var(--paper);box-shadow:var(--shadow-sm);border:1px solid #0000;gap:16px;padding:16px 20px}.homikey-meter-workspace .meter-completion{appearance:none;border-radius:var(--radius-full);background:var(--green-soft);width:120px;height:6px;accent-color:var(--green);border:0;overflow:hidden}.homikey-meter-workspace .meter-completion::-webkit-progress-bar{background:var(--green-soft)}.homikey-meter-workspace .meter-completion::-webkit-progress-value{background:var(--green)}.homikey-meter-workspace .meter-completion::-moz-progress-bar{background:var(--green)}.homikey-meter-workspace .meter-sheet-col-header{background:var(--surface-2);color:var(--muted);font-size:10px}.homikey-meter-workspace .meter-row:hover{background:var(--surface-2)}.homikey-meter-workspace :is(.meter-batch-grid-wrapper,.meter-missing-panel,.meter-history-panel){border-color:var(--line);background:var(--paper)}.homikey-meter-workspace :is(.batch-grid-header,.missing-header)>div:first-child{flex:300px}.homikey-meter-workspace :is(.batch-grid-header,.missing-header) p{margin-bottom:0;font-size:13px;line-height:1.7}.homikey-meter-workspace :is(.table-responsive,.batch-grid-scroll){border-color:var(--line);scrollbar-gutter:stable;min-width:0;max-width:100%;overflow:auto}.homikey-meter-workspace :is(.batch-meter-table,.missing-table,.history-detail-table){min-width:760px}.homikey-meter-workspace .batch-meter-table{min-width:1100px}.homikey-meter-workspace .batch-meter-table thead th{background:var(--surface-2);color:var(--muted);border-color:var(--line)}.homikey-meter-workspace .batch-meter-table tbody td{border-color:var(--line);padding-block:12px}.homikey-meter-workspace .batch-row:hover{background:var(--surface-2)}.homikey-meter-workspace .batch-row.row-anomaly{background:var(--orange-soft)}.homikey-meter-workspace .batch-row.row-negative{background:var(--danger-soft)}.homikey-meter-workspace .batch-row.row-approved{opacity:1;color:var(--muted)}.homikey-meter-workspace .batch-cell-input{border-color:var(--line);border-radius:var(--radius);color:var(--ink);min-height:40px}.homikey-meter-workspace .batch-cell-input:focus{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft)}.homikey-meter-workspace .batch-cell-input.input-error{border-color:var(--danger);color:var(--danger)}.homikey-meter-workspace .batch-cell-input.input-warning{border-color:var(--orange)}.homikey-meter-workspace .channel-select-group{background:var(--surface-2);border-radius:var(--radius)}.homikey-meter-workspace .missing-table .row-selected{background:var(--accent-soft)}.homikey-meter-workspace :is(.history-toolbar,.batch-grid-footer){border-color:var(--line)}.homikey-meter-workspace :is(.stat-card,.chart-card){background:var(--surface-2);border-color:var(--line)}.homikey-meter-workspace :is(.stat-label,.chart-legend){color:var(--muted)}.homikey-meter-workspace .stat-val{color:var(--ink)}.homikey-meter-workspace .chart-legend{flex-wrap:wrap}.homikey-meter-workspace .legend-item .dot.normal{background:var(--accent)}.homikey-meter-workspace .legend-item .dot.anomaly{background:var(--danger)}.homikey-meter-workspace .legend-item .line.baseline{border-color:var(--orange)}.homikey-meter-workspace .configuration-grid{grid-template-columns:minmax(0,1fr);align-items:start}.homikey-meter-workspace .settings-card{border-color:var(--line);background:var(--paper);border-radius:var(--radius-lg);min-width:0;padding:20px}.homikey-meter-workspace .settings-card>header{flex-wrap:wrap;gap:12px}.homikey-meter-workspace .utility-policy-card .form-grid{max-width:840px}.homikey-meter-workspace .utility-policy-card{overflow:visible}.homikey-meter-workspace .anomaly-item-alert{background:var(--orange-soft);color:var(--orange-dark);border-color:var(--orange)}.homikey-meter-workspace .anomaly-item-alert.resolved{background:var(--green-soft);color:var(--green-dark);border-color:var(--green)}.homikey-meter-workspace .anomaly-status-tag{color:inherit}.homikey-meter-dialog .modal-title-with-badge{flex-wrap:wrap}.homikey-meter-dialog .modal-title-with-badge>span:first-child{font:400 24px/1.4 var(--font-display)}.homikey-meter-dialog .reconciliation-container{grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);align-items:start}.homikey-meter-dialog .reconciliation-photo-panel{border-radius:var(--radius-lg);background:var(--ink)}.homikey-meter-dialog :is(.photo-panel-toolbar,.photo-footer-info){background:var(--accent-dark);color:var(--paper)}.homikey-meter-dialog .photo-panel-toolbar .btn{color:var(--paper)}.homikey-meter-dialog .photo-panel-toolbar .btn.secondary{color:var(--ink)}.homikey-meter-dialog .photo-footer-info{flex-wrap:wrap;gap:8px;line-height:1.6}.homikey-meter-dialog .photo-footer-info :is(.muted,.serial-check){color:var(--paper)}.homikey-meter-dialog .zoom-slider{accent-color:var(--brand-highlight)}.homikey-meter-dialog .zoom-percentage{color:var(--paper)}.homikey-meter-dialog .photo-viewport{background:var(--ink);flex:none;align-items:flex-start;height:420px}.homikey-meter-dialog .photo-placeholder{color:var(--paper);align-self:center}.homikey-meter-dialog .ocr-bounding-box-overlay{border-color:var(--green);box-shadow:none}.homikey-meter-dialog .ocr-bounding-tag{background:var(--green-soft);color:var(--green-dark)}.homikey-meter-dialog .reconciliation-data-panel{min-width:0;padding:0;overflow:visible}.homikey-meter-dialog :is(.reconciliation-comparison-box,.reconciliation-anomalies-section,.manual-entry-fallback){background:var(--paper);border-color:var(--line);border-radius:var(--radius-lg);padding:16px}.homikey-meter-dialog .section-title{text-transform:none;letter-spacing:0;color:var(--ink);font-size:14px}.homikey-meter-dialog .three-column-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.homikey-meter-dialog .comparison-col{background:var(--surface-2);border-color:var(--line);min-width:0}.homikey-meter-dialog .comparison-col.ocr-col{border-left-color:var(--accent)}.homikey-meter-dialog .comparison-col.tenant-col{border-left-color:var(--brand-highlight)}.homikey-meter-dialog .comparison-col.operator-col{border-left-color:var(--green);background:var(--green-soft)}.homikey-meter-dialog :is(.col-header,.col-value-box .unit,.prev-val,.anomaly-note,.anomaly-desc){color:var(--muted)}.homikey-meter-dialog .col-value-box .value{color:var(--ink)}.homikey-meter-dialog .final-input{border-color:var(--accent);border-radius:var(--radius);min-width:0}.homikey-meter-dialog .final-input.invalid{border-color:var(--danger);background:var(--danger-soft)}.homikey-meter-dialog .confidence-pill{white-space:normal}.homikey-meter-dialog .confidence-pill.high{background:var(--green-soft);color:var(--green-dark)}.homikey-meter-dialog :is(.confidence-pill.medium,.delta-badge.warning){background:var(--orange-soft);color:var(--orange-dark)}.homikey-meter-dialog .delta-badge.normal{background:var(--accent-soft);color:var(--accent)}.homikey-meter-dialog .consumption-summary-card{border:1px solid var(--line);background:var(--surface-2);gap:12px;line-height:1.7}.homikey-meter-dialog .anomaly-item-card{background:var(--surface-2);border-color:var(--line)}.homikey-meter-dialog .anomaly-item-card.status-new{border-left-color:var(--danger)}.homikey-meter-dialog .anomaly-item-card.status-checked{border-left-color:var(--orange)}.homikey-meter-dialog .anomaly-item-card.status-resolved{border-left-color:var(--green)}.homikey-meter-dialog .anomaly-type-tag{color:var(--ink)}.homikey-meter-dialog .resolve-anomaly-panel{background:var(--surface-2)}.homikey-meter-dialog .anomaly-alert-card.critical{background:var(--danger-soft);border-color:var(--danger);color:var(--danger)}.homikey-meter-dialog .anomaly-alert-card.warning{background:var(--orange-soft);border-color:var(--orange);color:var(--orange-dark)}.homikey-meter-dialog .inline-reject-box{background:var(--danger-soft);border-color:var(--danger)}.homikey-meter-dialog .inline-reject-box>label{color:var(--danger);margin-bottom:8px;font-weight:600;display:block}.homikey-meter-dialog .revisions-list li{color:var(--muted);flex-wrap:wrap}.homikey-meter-dialog .revisions-list .action{color:var(--accent)}.homikey-meter-dialog .revisions-list .time{color:var(--muted)}.homikey-meter-dialog textarea{resize:none;min-height:96px}@media (width<=1199px){.homikey-meter-workspace .meter-sheet-col-header{display:none}}@media (width<=860px){.homikey-meter-dialog .reconciliation-container{grid-template-columns:minmax(0,1fr)}}@media (width<=767px){.homikey-meter-workspace .page-heading h1{font-size:28px}.homikey-meter-workspace .header-button-group{justify-content:flex-start;max-width:none}.homikey-meter-workspace .meter-toolbar{padding:16px}.homikey-meter-workspace .meter-toolbar .select-building{flex:none}.homikey-meter-workspace .meter-toolbar select{width:100%;min-height:44px;font-size:16px}.homikey-meter-workspace .meter-completion{flex:1}.homikey-meter-workspace .meter-row{padding:16px}.homikey-meter-workspace :is(.batch-grid-footer,.history-toolbar,.history-filters,.missing-toolbar-actions){flex-direction:column;align-items:stretch}.homikey-meter-workspace .channel-select-group{flex-wrap:wrap}.homikey-meter-workspace .history-quick-stats{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.homikey-meter-workspace .stat-card{min-width:0}.homikey-meter-workspace :is(.meter-batch-grid-wrapper,.meter-missing-panel,.meter-history-panel,.settings-card){padding:16px}.homikey-meter-dialog .photo-viewport{height:300px;min-height:240px}.homikey-meter-dialog.reconciliation-modal{width:100%}.homikey-meter-dialog .three-column-grid{grid-template-columns:minmax(0,1fr)}.homikey-meter-dialog .comparison-col{flex-flow:wrap;align-items:center;gap:12px}.homikey-meter-dialog .comparison-col .col-meta{flex-basis:100%}.homikey-meter-dialog .comparison-col .col-value-box{max-width:65%}.homikey-meter-dialog .modal-title-with-badge>span:first-child{font-size:22px}}@media (prefers-reduced-motion:reduce){.homikey-meter-dialog .photo-zoom-container{transition:none!important}}.homikey-invoice-workspace{min-width:0}.homikey-invoice-workspace .invoice-summary{border-radius:var(--radius-lg);background:var(--paper);box-shadow:var(--shadow-sm);border:1px solid #0000;gap:0;margin-bottom:24px;overflow:hidden}.homikey-invoice-workspace .invoice-summary article{border:0;border-right:1px solid var(--line-soft);box-shadow:none;border-radius:0;padding:24px}.homikey-invoice-workspace .invoice-summary article:last-child{border-right:0}.homikey-invoice-workspace .invoice-summary span{color:var(--muted);font-size:12px}.homikey-invoice-workspace .invoice-summary strong{font:600 clamp(21px, 2.1vw, 28px)/1.4 var(--font-body);letter-spacing:-.04em;margin-top:12px}.homikey-invoice-workspace .invoice-toolbar{flex-wrap:wrap;gap:12px;margin-bottom:20px}.homikey-invoice-workspace .invoice-toolbar select{min-width:0;max-width:100%;height:44px}.homikey-invoice-workspace .invoice-toolbar .search-box{flex:260px;min-width:0;height:44px}.homikey-invoice-workspace .invoice-toolbar .segmented{background:0 0;flex-wrap:wrap;flex-basis:100%;gap:4px;margin:0;padding:0}.homikey-invoice-workspace .invoice-toolbar .segmented button{border-radius:var(--radius);min-height:40px;padding:8px 14px}.homikey-invoice-workspace .invoice-toolbar .segmented .active{background:var(--accent);color:var(--paper);box-shadow:none}.homikey-invoice-workspace .row-selected{background:var(--accent-softer)}.homikey-invoice-workspace .mobile-card{border-color:var(--line);background:var(--paper);box-shadow:var(--shadow-sm);padding:20px}.homikey-invoice-workspace .mobile-card-top{flex-wrap:wrap;gap:10px}.homikey-invoice-workspace .mobile-card-top>div{flex:1;min-width:0}.homikey-invoice-workspace .mobile-card-footer{flex-wrap:wrap}.homikey-invoice-workspace .batch-action-bar{left:50%;bottom:calc(20px + env(safe-area-inset-bottom,0px));border-radius:var(--radius-lg);width:max-content;max-width:calc(100vw - 32px);color:var(--paper);background:var(--accent-dark);box-shadow:var(--shadow-xl);z-index:var(--z-popover);flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;padding:14px 20px;display:flex;position:fixed;transform:translate(-50%)}.homikey-invoice-workspace .batch-action-bar .icon-btn{color:var(--paper)}.homikey-invoice-workspace:has(.batch-action-bar){padding-bottom:180px}body:has(.app-shell.theme-homikey) .homikey-invoice-dialog .invoice-viewer{width:100%;max-width:none;padding:24px}body:has(.app-shell.theme-homikey) .homikey-invoice-dialog .invoice-brand .brand-mark{background:var(--accent);color:var(--paper)}body:has(.app-shell.theme-homikey) .homikey-invoice-dialog .invoice-customer{background:var(--surface);border-radius:var(--radius);gap:20px;padding:20px}body:has(.app-shell.theme-homikey) .homikey-invoice-dialog .invoice-customer span{color:var(--muted);font-size:12px}body:has(.app-shell.theme-homikey) .homikey-invoice-dialog .invoice-status{width:fit-content;display:inline-block}body:has(.app-shell.theme-homikey) .homikey-invoice-dialog .invoice-viewer table{min-width:600px}body:has(.app-shell.theme-homikey) .homikey-invoice-dialog .invoice-payment-summary{border-radius:var(--radius);grid-template-columns:minmax(0,1fr) 100px minmax(0,1fr);align-items:center;gap:20px;padding:20px;display:grid}body:has(.app-shell.theme-homikey) .homikey-invoice-dialog .invoice-payment-summary>div{overflow-wrap:anywhere;min-width:0}body:has(.app-shell.theme-homikey) .homikey-invoice-dialog .invoice-payment-summary>div:first-child{text-align:left}body:has(.app-shell.theme-homikey) .homikey-invoice-dialog .invoice-send-history small{flex-shrink:0}body:has(.app-shell.theme-homikey) .homikey-invoice-dialog .invoice-send-history>div>div{flex-wrap:wrap;gap:12px}body:has(.app-shell.theme-homikey) .homikey-invoice-dialog .invoice-draft-meta{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:24px;display:grid}body:has(.app-shell.theme-homikey) .homikey-invoice-dialog .invoice-adjustment-fields{grid-template-columns:repeat(2,minmax(0,1fr));align-items:end;gap:12px;display:grid}body:has(.app-shell.theme-homikey) .homikey-invoice-dialog .invoice-adjustment-fields>div:first-child{grid-column:1/-1}body:has(.app-shell.theme-homikey) .homikey-invoice-dialog .invoice-adjustment-fields :is(input,select){width:100%;min-width:0}body:has(.app-shell.theme-homikey) .homikey-invoice-dialog .invoice-draft-edit-flow table{min-width:680px}body:has(.app-shell.theme-homikey) .homikey-invoice-dialog .provenance-header-card{background:var(--accent-softer);border-color:var(--line)}body:has(.app-shell.theme-homikey) .homikey-invoice-dialog .provenance-row{flex-wrap:wrap;gap:16px}body:has(.app-shell.theme-homikey) .homikey-invoice-dialog .invoice-send-flow .segmented{flex-wrap:wrap}@media (width<=767px){.homikey-invoice-workspace .invoice-summary{grid-template-columns:1fr}.homikey-invoice-workspace .invoice-summary article{border-right:0;border-bottom:1px solid var(--line-soft);padding:18px 20px}.homikey-invoice-workspace .invoice-summary article:last-child{border-bottom:0}.homikey-invoice-workspace .invoice-toolbar>select{flex:none;width:100%;min-height:44px;font-size:16px}.homikey-invoice-workspace .invoice-toolbar .search-box{flex:none}.homikey-invoice-workspace .heading-actions{flex-wrap:wrap;width:100%}.homikey-invoice-workspace .heading-actions .btn{white-space:normal;flex:100%}body:has(.app-shell.theme-homikey) .homikey-invoice-dialog .invoice-viewer{padding:16px}body:has(.app-shell.theme-homikey) .homikey-invoice-dialog .invoice-viewer>header{flex-wrap:wrap;gap:16px}body:has(.app-shell.theme-homikey) .homikey-invoice-dialog .invoice-customer{grid-template-columns:repeat(2,minmax(0,1fr));padding:16px}body:has(.app-shell.theme-homikey) .homikey-invoice-dialog .invoice-payment-summary{grid-template-columns:1fr}:is(body:has(.app-shell.theme-homikey) .homikey-invoice-dialog .invoice-draft-meta,body:has(.app-shell.theme-homikey) .homikey-invoice-dialog .invoice-adjustment-fields){grid-template-columns:1fr}body:has(.app-shell.theme-homikey) .homikey-invoice-dialog .provenance-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=768px){.invoice-payment-summary{grid-template-columns:1.2fr 100px 1.4fr;gap:16px}}.homikey-tenant-bills .invoice-summary{background:var(--paper);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);border:1px solid #0000;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin-bottom:24px;display:grid;overflow:hidden}.homikey-tenant-bills .invoice-summary article{border-right:1px solid var(--line-soft);padding:24px}.homikey-tenant-bills .invoice-summary article:last-child{border:0}.homikey-tenant-bills .invoice-summary strong{letter-spacing:-.03em;overflow-wrap:anywhere;font-size:clamp(20px,2.5vw,28px)}.homikey-tenant-bills .invoice-toolbar{box-shadow:none;background:0 0;border:0;margin:24px 0;padding:0}.homikey-tenant-bills .segmented{background:0 0;flex-wrap:wrap;gap:8px;padding:0;display:flex}.homikey-tenant-bills .segmented button{border:1px solid var(--line);background:var(--paper);border-radius:var(--radius-full);min-height:44px;padding:10px 16px}.homikey-tenant-bills .segmented button.active{background:var(--accent);color:var(--paper);border-color:var(--accent)}.tenant-bill-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;display:grid}.tenant-bill-cards .mobile-card{border-radius:var(--radius-lg);margin:0;padding:24px}.tenant-bill-cards .mobile-card-top{flex-wrap:wrap;align-items:flex-start;gap:12px}.tenant-bill-cards .mobile-card-top>label{min-width:0}.tenant-bill-cards .mobile-card-top small{overflow-wrap:anywhere}.tenant-bill-cards .mobile-card-body{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;padding:20px 0;display:grid}.tenant-bill-cards .mobile-card-footer{gap:12px;padding-top:20px}.tenant-bill-cards .mobile-card-footer .btn{min-height:44px}.tenant-bill-breakdown{border-top:1px solid var(--line-soft);margin:0;padding:16px 0;font-size:12px}.tenant-bill-breakdown>div{justify-content:space-between;gap:12px;margin-bottom:8px;display:flex}.tenant-bill-breakdown dt{color:var(--muted)}.tenant-bill-breakdown dd{font-variant-numeric:tabular-nums;text-align:right;margin:0}.homikey-tenant-bills .tenant-payment-history{border-radius:var(--radius-lg);border-color:var(--line);background:var(--paper);margin-bottom:24px;padding:24px}.homikey-tenant-bills .tenant-payment-history header{flex-wrap:wrap;gap:12px}.homikey-tenant-bills .tenant-payment-history header>span{color:var(--muted);font-size:12px}.homikey-tenant-bills .tenant-payment-history>div{overflow-wrap:anywhere;flex-wrap:wrap;gap:12px}.homikey-tenant-bills .tenant-payment-history>p{color:var(--muted);font-size:13px;line-height:1.7}.homikey-tenant-bill-dialog .invoice-customer{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.homikey-tenant-bill-dialog .invoice-viewer .table-wrap{overflow-x:auto}.homikey-tenant-bill-dialog .invoice-viewer table{min-width:600px}.homikey-tenant-bill-dialog .invoice-total>div{overflow-wrap:anywhere;min-width:0}@media (width<=767px){.homikey-tenant-bills .invoice-summary{grid-template-columns:minmax(0,1fr)}.homikey-tenant-bills .invoice-summary article{border-right:0;border-bottom:1px solid var(--line-soft);padding:20px}.tenant-bill-cards{grid-template-columns:minmax(0,1fr)}.tenant-bill-cards .mobile-card,.homikey-tenant-bills .tenant-payment-history{padding:20px}.homikey-tenant-bills .tenant-payment-history>div{display:flex}.homikey-tenant-bill-dialog .invoice-customer{grid-template-columns:minmax(0,1fr)}}.homikey-tenant-bills .invoice-summary article{box-shadow:none;border-radius:0}.homikey-tenant-bills .invoice-toolbar .segmented{flex-basis:100%;margin:0}.invoice-card-meta{color:var(--muted);flex-wrap:wrap;gap:2px 10px;margin-top:2px;display:flex}.tenant-payment-history>div>span:nth-child(2) small{margin-top:2px;display:block}@media (width<=767px){body:has(.app-shell.theme-homikey) .homikey-invoice-dialog .invoice-viewer .invoice-lines{width:100%;min-width:0;display:block}body:has(.app-shell.theme-homikey) .homikey-invoice-dialog .invoice-viewer .invoice-lines thead{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}body:has(.app-shell.theme-homikey) .homikey-invoice-dialog .invoice-viewer .invoice-lines tbody{display:block}body:has(.app-shell.theme-homikey) .homikey-invoice-dialog .invoice-viewer .invoice-lines tr{border-top:1px solid var(--line-soft);grid-template-columns:auto auto minmax(0,1fr) auto;grid-template-areas:"name name name total""qty price.action";align-items:baseline;row-gap:4px;padding:12px 14px;display:grid}body:has(.app-shell.theme-homikey) .homikey-invoice-dialog .invoice-viewer .invoice-lines tr:first-child{border-top:0}body:has(.app-shell.theme-homikey) .homikey-invoice-dialog .invoice-viewer .invoice-lines td{text-align:left;background:0 0;border:0;min-width:0;padding:0;display:block}body:has(.app-shell.theme-homikey) .homikey-invoice-dialog .invoice-viewer .invoice-lines td.line-name{overflow-wrap:anywhere;grid-area:name;padding-right:12px}body:has(.app-shell.theme-homikey) .homikey-invoice-dialog .invoice-viewer .invoice-lines td.line-name>strong{color:var(--ink)}body:has(.app-shell.theme-homikey) .homikey-invoice-dialog .invoice-viewer .invoice-lines td.line-qty{color:var(--muted);grid-area:qty;font-size:13px}body:has(.app-shell.theme-homikey) .homikey-invoice-dialog .invoice-viewer .invoice-lines td.line-price{color:var(--muted);white-space:nowrap;grid-area:price;font-size:13px}body:has(.app-shell.theme-homikey) .homikey-invoice-dialog .invoice-viewer .invoice-lines td.line-price:before{content:"×";margin-inline:6px}body:has(.app-shell.theme-homikey) .homikey-invoice-dialog .invoice-viewer .invoice-lines td.line-total{white-space:nowrap;grid-area:total;justify-self:end}body:has(.app-shell.theme-homikey) .homikey-invoice-dialog .invoice-viewer .invoice-lines td.line-total>strong{color:var(--ink);font-size:15px}body:has(.app-shell.theme-homikey) .homikey-invoice-dialog .invoice-viewer .invoice-lines td.line-action{grid-area:action;justify-self:end}body:has(.app-shell.theme-homikey) .homikey-invoice-dialog .invoice-viewer .invoice-lines td.line-action:empty{display:none}body:has(.app-shell.theme-homikey) .homikey-invoice-dialog .invoice-viewer .invoice-lines td.invoice-lines-state{text-align:center;grid-area:1/1/auto/-1;padding:20px 0}}.homikey-tenant-meter-workspace{max-width:1080px;margin-inline:auto}.tenant-meter-guide{border-radius:var(--radius-xl);background:var(--accent-soft);color:var(--accent);align-items:flex-start;gap:14px;margin-bottom:24px;padding:18px 20px;display:flex}.tenant-meter-guide>svg{flex-shrink:0;margin-top:2px}.tenant-meter-guide strong{font-size:13px}.tenant-meter-guide p{color:var(--ink-2);margin:6px 0 0;font-size:12px;line-height:1.7}.homikey-tenant-meter-workspace .tenant-meter-list{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:20px;display:grid}.homikey-tenant-meter-workspace .tenant-meter-card{background:var(--paper);border-radius:var(--radius-xl);min-width:0;box-shadow:var(--shadow-sm);border:1px solid #0000;padding:24px;overflow:hidden}.homikey-tenant-meter-workspace .tenant-meter-card>header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:18px;display:flex}.homikey-tenant-meter-workspace .meter-type{min-width:0;color:var(--ink);align-items:center;gap:10px;display:flex}.homikey-tenant-meter-workspace .meter-type>div{gap:4px;display:grid}.homikey-tenant-meter-workspace .meter-type>svg{border-radius:var(--radius-md);width:38px;height:38px;color:var(--orange-dark);background:var(--orange-soft);flex-shrink:0;padding:9px}.homikey-tenant-meter-workspace .meter-type.water>svg{color:var(--blue-dark);background:var(--blue-soft)}.homikey-tenant-meter-workspace .tenant-meter-card small{color:var(--muted);font-size:11px}.homikey-tenant-meter-workspace .tenant-serial-badge{overflow-wrap:anywhere;font-size:11px}.homikey-tenant-meter-workspace .reference-check-btn{white-space:normal;text-align:left;margin-top:4px}.tenant-meter-facts{background:var(--surface);border-radius:var(--radius-lg);grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:0 0 20px;padding:16px;display:grid}.tenant-meter-facts dt{color:var(--muted);margin-bottom:8px;font-size:11px}.tenant-meter-facts dd{letter-spacing:-.03em;overflow-wrap:anywhere;margin:0;font-size:24px;font-weight:650}.homikey-tenant-meter-workspace .meter-upload-zone{border:1px dashed var(--line);border-radius:var(--radius-lg);background:var(--surface);gap:12px;padding:16px;display:grid}.homikey-tenant-meter-workspace .photo-picker input{opacity:0;width:1px;height:1px;position:absolute}.homikey-tenant-meter-workspace .meter-upload-zone img{object-fit:contain;border-radius:var(--radius-lg);width:100%;max-height:280px}.homikey-tenant-meter-workspace .photo-picker{cursor:pointer;text-align:center;border:1px dashed var(--accent);border-radius:var(--radius-lg);background:var(--paper);min-height:164px;color:var(--accent);overflow-wrap:anywhere;transition:background var(--transition);flex-direction:column;justify-content:center;align-items:center;gap:10px;padding:20px;font-size:13px;font-weight:650;display:flex;position:relative}.homikey-tenant-meter-workspace .photo-picker:hover{background:var(--accent-softer)}.homikey-tenant-meter-workspace .photo-picker:focus-within{outline:2px solid var(--focus-ring);outline-offset:3px}.homikey-tenant-meter-workspace .photo-picker>svg{width:24px;height:24px}.tenant-photo-help,.tenant-proposal-help{color:var(--muted);margin:0;font-size:11px;line-height:1.7}.homikey-tenant-meter-workspace .meter-upload-zone .table-actions{flex-wrap:wrap;gap:8px;display:flex}.homikey-tenant-meter-workspace .upload-progress{border-radius:var(--radius-full);background:var(--line);height:22px;position:relative;overflow:hidden}.homikey-tenant-meter-workspace .upload-progress i{height:100%;transition:width var(--transition);background:var(--accent);display:block}.homikey-tenant-meter-workspace .upload-progress span{color:var(--paper);font-size:12px;font-weight:700;position:absolute;inset:3px 8px auto auto}.homikey-tenant-meter-workspace .ocr-job-status,.homikey-tenant-meter-workspace .waiting-review{border-radius:var(--radius-lg);color:var(--ink-2);background:var(--accent-softer);overflow-wrap:anywhere;margin:12px 0;padding:12px;font-size:12px;line-height:1.7}.homikey-tenant-meter-workspace .proposal-review{grid-template-columns:1fr;gap:14px;margin-top:14px;padding-top:18px;display:grid}.homikey-tenant-meter-workspace .proposal-review>div,.homikey-tenant-meter-workspace .proposal-review label{gap:6px;display:grid}.homikey-tenant-meter-workspace .proposal-review span{color:var(--muted);font-size:12px;font-weight:650}.homikey-tenant-meter-workspace .proposal-review input{width:100%;min-width:0;min-height:52px;font-size:22px;font-weight:650}.homikey-tenant-meter-workspace .proposal-review>.btn{width:100%}.tenant-proposal-help{grid-column:1/-1}.homikey-tenant-meter-workspace .approved-reading-summary{border-radius:var(--radius-lg);background:var(--green-soft);gap:6px;padding:16px;display:grid}.homikey-tenant-meter-workspace .approved-reading-summary strong{color:var(--green-dark);font-size:24px}.homikey-tenant-meter-workspace .anomaly-banner{font-size:12px;line-height:1.7}.homikey-tenant-meter-workspace .anomaly-banner>div{overflow-wrap:anywhere;min-width:0}.tenant-reference-photo{border-radius:var(--radius);border:1px solid var(--line);width:100%}.tenant-reference-caption{margin-top:12px;font-size:12px;line-height:1.7}@media (width<=767px){.homikey-tenant-meter-workspace .tenant-meter-list{grid-template-columns:1fr;display:grid}.homikey-tenant-meter-workspace .tenant-meter-card{padding:18px}.tenant-meter-guide{gap:10px;padding:16px}.tenant-meter-facts{gap:12px;padding:14px}}.d2b-dot{background:var(--subtle);vertical-align:middle;border-radius:50%;flex-shrink:0;width:6px;height:6px;margin-right:8px;display:inline-block}.d2b-dot.paid{background:var(--green)}.d2b-dot.pending{background:var(--accent)}.d2b-dot.overdue{background:var(--brand-highlight)}.d2b-dot.warn{background:var(--orange-dot)}.d2b-dot.danger{background:var(--danger)}@media (width>=768px){.homikey-invoice-workspace .page-heading>div:first-child{flex:320px;min-width:0}}.homikey-invoice-workspace .invoice-summary{grid-template-columns:repeat(4,minmax(0,1fr))}.homikey-invoice-workspace .invoice-summary article{min-width:0;padding:22px 24px}.homikey-invoice-workspace .invoice-summary article>span{color:var(--muted);align-items:center;font-size:12px;line-height:1.5;display:flex}.homikey-invoice-workspace .invoice-summary article>strong{font:600 clamp(19px, 1.8vw, 26px)/1.25 var(--font-body);letter-spacing:-.03em;font-variant-numeric:tabular-nums;white-space:nowrap;margin-top:10px}.homikey-invoice-workspace .invoice-summary article>small{color:var(--subtle);margin-top:6px;font-size:12px;display:block}.homikey-invoice-workspace .invoice-summary .overdue>strong{color:var(--danger-dark)}.homikey-invoice-workspace .invoice-summary .debt-clear{color:var(--ink)}.homikey-invoice-workspace .invoice-toolbar{border-radius:var(--radius-lg);background:var(--paper);box-shadow:var(--shadow-sm);padding:16px}.homikey-invoice-workspace .invoice-toolbar .segmented{box-shadow:none;background:0 0;gap:8px}.homikey-invoice-workspace .invoice-toolbar .segmented button{border-radius:var(--radius-full);background:var(--paper);min-height:32px;box-shadow:inset 0 0 0 1px var(--line);color:var(--accent-light);padding:0 14px;font-size:13px;font-weight:500}.homikey-invoice-workspace .invoice-toolbar .segmented button:hover{background:var(--surface-2);color:var(--ink)}.homikey-invoice-workspace .invoice-toolbar .segmented button.active{background:var(--accent);box-shadow:none;color:var(--paper)}.homikey-invoice-workspace .invoice-toolbar .search-box,.homikey-invoice-workspace .invoice-toolbar select{height:40px}.homikey-invoice-workspace .mobile-card input[type=checkbox]{width:18px;height:18px;accent-color:var(--accent)}.homikey-invoice-workspace .invoice-status{color:var(--ink-2);white-space:nowrap;background:0 0;border-radius:0;align-items:center;gap:8px;padding:0;font-size:12px;font-weight:500;display:inline-flex}.homikey-invoice-workspace .invoice-status:before{content:"";background:var(--subtle);border-radius:50%;flex-shrink:0;width:6px;height:6px}.homikey-invoice-workspace .invoice-status.issued:before{background:var(--accent)}.homikey-invoice-workspace .invoice-status.partially_paid:before{background:var(--orange-dot)}.homikey-invoice-workspace .invoice-status.paid{color:var(--green-text)}.homikey-invoice-workspace .invoice-status.paid:before{background:var(--green)}.homikey-invoice-workspace .invoice-status.overdue{color:var(--danger-dark)}.homikey-invoice-workspace .invoice-status.overdue:before{background:var(--brand-highlight)}.homikey-invoice-workspace .invoice-status.cancelled:before,.homikey-invoice-workspace .invoice-status.replaced:before{background:var(--control-line)}.homikey-invoice-workspace .invoice-result-count{margin:0}@media (width<=1100px){.homikey-invoice-workspace .invoice-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.homikey-invoice-workspace .invoice-summary article:nth-child(2){border-right:0}.homikey-invoice-workspace .invoice-summary article:nth-child(-n+2){border-bottom:1px solid var(--line-soft)}}@media (width<=767px){.homikey-invoice-workspace .invoice-summary{grid-template-columns:1fr}.homikey-invoice-workspace .invoice-summary article{border-right:0;border-bottom:1px solid var(--line-soft);padding:16px 20px}.homikey-invoice-workspace .invoice-summary article:nth-child(-n+2){border-bottom:1px solid var(--line-soft)}.homikey-invoice-workspace .invoice-summary article:last-child{border-bottom:0}}.homikey-meter-workspace .page-heading h1{font:400 clamp(30px, 3.2vw, 40px)/1.1 var(--font-display);letter-spacing:-.4px}.homikey-meter-workspace .meter-toolbar{border-radius:var(--radius-lg);padding:12px 20px}.homikey-meter-workspace .meter-review-layout .meter-queue .meter-sheet-col-header{letter-spacing:.88px;color:var(--subtle);background:var(--paper);border-bottom-color:var(--line-soft);padding:10px 16px;font-size:11px;font-weight:600}.homikey-meter-workspace .meter-queue-row+.meter-queue-row{border-top-color:var(--line-soft)}.homikey-meter-workspace .meter-queue-number{font-variant-numeric:tabular-nums}.homikey-meter-workspace .meter-queue-number.usage{color:var(--green-text);font-weight:600}.homikey-meter-workspace .meter-reading-detail{padding:20px 24px}.homikey-meter-workspace .meter-detail-facts>div{border-radius:var(--radius-lg)}.homikey-meter-workspace .meter-detail-input input{border-radius:var(--radius);font-weight:600}.homikey-meter-workspace .meter-detail-actions{border-top-color:var(--line-soft)}.homikey-invoice-workspace .invoice-summary article>span em{display:none}.meter-stack{flex-direction:column;gap:20px;min-width:0;display:flex}.homikey-meter-workspace .meter-kind{border-radius:var(--radius-lg);background:var(--paper);box-shadow:var(--shadow-sm);gap:4px;padding:4px;display:inline-flex}.homikey-meter-workspace .meter-kind button{border-radius:var(--radius);min-height:32px;color:var(--ink-2);font:600 13px/1 var(--font-body);cursor:pointer;background:0 0;border:0;padding:0 16px}.homikey-meter-workspace .meter-kind button:hover:not(.active){background:var(--surface-2)}.homikey-meter-workspace .meter-kind button.active{background:var(--accent);color:var(--paper)}.homikey-meter-workspace .meter-kind button:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.homikey-meter-workspace .heading-actions{align-items:center;gap:12px}.homikey-meter-workspace .heading-actions>.btn.primary{border-radius:var(--radius);white-space:nowrap;min-height:40px;padding:0 16px;font-size:14px}.homikey-meter-workspace .meter-banner{border-radius:var(--radius-lg);border:1px solid color-mix(in srgb, var(--green) 22%, var(--green-soft));background:var(--green-soft);grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"text count""bar bar";align-items:center;gap:8px 16px;padding:14px 20px;display:grid}.homikey-meter-workspace .meter-banner-text{flex-wrap:wrap;grid-area:text;align-items:baseline;gap:2px 16px;min-width:0;display:flex}.homikey-meter-workspace .meter-banner-text strong{color:var(--green-text);font:600 13px/1.5 var(--font-body)}.homikey-meter-workspace .meter-banner-text span{color:var(--ink-2);font-size:13px;line-height:1.5}.homikey-meter-workspace .meter-banner-count{color:var(--ink-2);white-space:nowrap;font-variant-numeric:tabular-nums;grid-area:count;font-size:12px;font-weight:600}.homikey-meter-workspace .meter-banner .meter-completion{grid-area:bar;width:160px;height:4px}.homikey-meter-workspace .meter-banner.locked{background:var(--surface-2);border-color:var(--line)}.homikey-meter-workspace .meter-banner.locked .meter-banner-text strong{color:var(--muted)}.meter-kpi{grid-template-columns:repeat(5,minmax(0,1fr))}.meter-kpi .kpi-strip-cell{gap:12px;padding:20px 24px}.kpi-strip.label-first .ks-dot-label{order:1}.kpi-strip.label-first .ks-value{order:2}.kpi-strip.label-first .ks-note{order:3}.meter-kpi .ks-value{font-size:32px}.meter-kpi .kpi-strip-cell.is-button.active{box-shadow:inset -1px 0 0 var(--line-soft), inset 0 -2px 0 var(--accent);background:0 0}.meter-kpi .kpi-strip-cell.is-button:hover{background:var(--surface-2)}.meter-kpi .ks-dot-label{font-size:12px}@media (width<=819px){.meter-kpi{grid-template-columns:repeat(2,minmax(0,1fr))}.meter-kpi .kpi-strip-cell:last-child{grid-column:1/-1}}.homikey-meter-workspace .meter-review-layout{grid-template-columns:minmax(0,1.7fr) minmax(300px,1fr)}.homikey-meter-workspace .meter-queue{border-radius:var(--radius-lg);background:var(--paper);min-width:0;box-shadow:var(--shadow-sm);flex-direction:column;display:flex;overflow:hidden}.meter-queue-head{flex-wrap:wrap;align-items:center;gap:8px 12px;padding:16px;display:flex}.meter-queue-head h2{color:var(--ink-2);font:700 16px/1.4 var(--font-body);margin:0}.meter-queue-count{color:var(--subtle);font-size:12px}.meter-queue-tools{align-items:center;gap:8px;margin-left:auto;display:flex}.meter-queue-tools .filter-pop-trigger{border-radius:var(--radius);height:36px}.meter-building-select select{border-radius:var(--radius);background-color:var(--paper);max-width:220px;height:36px;min-height:36px;box-shadow:inset 0 0 0 1px var(--control-line);border:0;padding-block:0;font-size:13px}.homikey-meter-workspace .meter-sheet{display:block}.homikey-meter-workspace .meter-sheet-col-header,.homikey-meter-workspace .meter-queue-row{grid-template-columns:minmax(110px,1.2fr) minmax(70px,1fr) minmax(70px,1fr) minmax(90px,1fr) minmax(130px,auto);align-items:center;gap:12px;display:grid}.homikey-meter-workspace .meter-sheet-col-header{background:var(--surface-2);color:var(--muted);font:600 11px/1.4 var(--font-body);letter-spacing:.06em;text-transform:uppercase;border:0;padding:12px 16px}.homikey-meter-workspace .meter-sheet-col-header>span:nth-child(n+2):nth-child(-n+4){text-align:right}.homikey-meter-workspace .meter-rows{display:block}.homikey-meter-workspace .meter-queue-row{border:0;border-top:1px solid var(--line-soft);background:var(--paper);width:100%;min-height:56px;box-shadow:none;color:var(--ink);font:inherit;text-align:left;cursor:pointer;border-radius:0;padding:8px 16px}.homikey-meter-workspace .meter-queue-row+.meter-queue-row{border-top:1px solid var(--line-soft)}.homikey-meter-workspace .meter-queue-row:hover{background:var(--surface-2)}.homikey-meter-workspace .meter-queue-row.selected{background:color-mix(in srgb, var(--line-soft) 70%, var(--paper));box-shadow:inset 2px 0 0 var(--accent);border-radius:0}.meter-queue-room{flex-direction:column;gap:2px;min-width:0;display:flex}.meter-queue-room strong{color:var(--ink);font-size:14px;font-weight:600}.meter-queue-room small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.homikey-meter-workspace .meter-queue-number{text-align:right;font-variant-numeric:tabular-nums;overflow-wrap:normal;font-size:14px}.homikey-meter-workspace .meter-queue-number.previous{color:var(--muted);font-weight:400}.homikey-meter-workspace .meter-queue-number.current{color:var(--ink);font-weight:600}.homikey-meter-workspace .meter-queue-number.usage{color:var(--green-text);white-space:nowrap;font-weight:600}.homikey-meter-workspace .meter-queue-number.usage.warning{color:var(--orange-text)}.homikey-meter-workspace .meter-queue-number.usage.danger{color:var(--danger)}.homikey-meter-workspace .meter-queue-number.usage>span{font-size:inherit}.meter-status{color:var(--ink-2);white-space:nowrap;align-items:center;gap:8px;font-size:12px;font-weight:600;display:inline-flex}.meter-status i{background:var(--subtle);border-radius:50%;flex:none;width:6px;height:6px}.meter-status.dot-grey i{background:var(--scroll-hover)}.meter-status.dot-red i{background:var(--danger-dark)}.meter-status.dot-navy i{background:var(--accent)}.meter-status.dot-amber i{background:var(--orange-dot)}.meter-status.dot-green i{background:var(--green)}.meter-queue .list-pager-arrows{border-top:1px solid var(--line-soft)}.meter-queue .empty-state{margin:0 16px 16px}.homikey-meter-workspace .meter-reading-detail{border-radius:var(--radius-lg);flex-direction:column;gap:16px;padding:16px;display:flex}.homikey-meter-workspace .meter-reading-detail>*{margin-top:0;margin-bottom:0}.homikey-meter-workspace .meter-detail-heading{align-items:flex-start}.homikey-meter-workspace .meter-detail-heading h2{font:700 16px/1.4 var(--font-body)}.homikey-meter-workspace .meter-detail-heading p{margin:2px 0 0;font-size:12px;line-height:1.5}.homikey-meter-workspace .meter-detail-photo{border-radius:var(--radius-lg);height:150px}.homikey-meter-workspace .meter-detail-photo-placeholder{color:var(--paper);font-size:13px}.homikey-meter-workspace .meter-detail-facts{margin-top:0}.homikey-meter-workspace .meter-detail-facts>div{border-radius:var(--radius-lg);gap:4px;padding:12px}.homikey-meter-workspace .meter-detail-facts :is(span,small){font-size:11px;line-height:1.4}.homikey-meter-workspace .meter-detail-facts strong{font-size:18px;font-weight:700}.homikey-meter-workspace .meter-detail-facts small.success{color:var(--green-text)}.homikey-meter-workspace .meter-detail-facts small.warning{color:var(--orange-text)}.homikey-meter-workspace .meter-detail-facts small.danger{color:var(--danger)}.homikey-meter-workspace .meter-detail-proposal,.homikey-meter-workspace .meter-detail-input{margin-top:0}.homikey-meter-workspace .meter-detail-input label{margin-bottom:8px;font-size:13px;font-weight:500}.homikey-meter-workspace .meter-detail-input input{border-radius:var(--radius);min-height:42px;font:600 16px/1.4 var(--font-body);padding:0 16px}.homikey-meter-workspace .meter-detail-input p{margin:8px 0 0;font-size:12px;line-height:1.5}.homikey-meter-workspace .meter-detail-input p.warning{color:var(--orange-text)}.homikey-meter-workspace .meter-detail-input p.danger{color:var(--danger)}.homikey-meter-workspace .meter-detail-ack{margin-top:0}.meter-detail-history{flex-direction:column;gap:8px;display:flex}.meter-detail-history>span{color:var(--ink-2);font-size:12px;font-weight:600}.meter-detail-bars{align-items:flex-end;gap:8px;height:70px;display:flex}.meter-detail-bars>div{flex-direction:column;flex:1;justify-content:flex-end;align-items:center;gap:4px;min-width:0;max-width:64px;height:100%;display:flex}.meter-detail-bars i{background:var(--accent-soft);border-radius:3px 3px 0 0;width:100%;display:block}.meter-detail-bars .current i{background:var(--orange)}.meter-detail-bars small{color:var(--subtle);font-size:11px}.homikey-meter-workspace .meter-detail-actions{border-top:0;grid-template-columns:1fr 1fr;gap:8px;margin-top:0;padding-top:0;display:grid}.homikey-meter-workspace .meter-detail-actions .btn{border-radius:var(--radius);min-height:40px;font:600 13px/1 var(--font-body);border:0}.homikey-meter-workspace .meter-detail-actions .btn.retake{background:var(--paper);box-shadow:inset 0 0 0 1px var(--control-line);color:var(--brand-highlight-dark)}.homikey-meter-workspace .meter-detail-actions .btn.confirm{background:var(--green-text);color:var(--paper)}.homikey-meter-workspace .meter-detail-actions .btn.confirm:hover:not(:disabled){background:var(--green-dark)}.homikey-meter-workspace .meter-detail-actions .btn.wide{grid-column:1/-1}.homikey-meter-workspace .meter-detail-actions .btn:disabled,.homikey-meter-workspace .meter-detail-actions .btn[aria-disabled=true]{opacity:.55;cursor:not-allowed}.homikey-meter-workspace .meter-detail-approved{margin-right:0;font-size:13px;font-weight:600}.homikey-meter-workspace .meter-detail-reconcile{grid-column:1/-1;justify-self:center}.meter-detail-empty{min-height:160px;color:var(--muted);text-align:center;justify-content:center;align-items:center;font-size:13px}.meter-detail-empty p{margin:0}.sub-view{flex-direction:column;gap:16px;display:flex}.sub-view-back{align-self:flex-start}.family-tabs button:disabled{cursor:not-allowed;opacity:.55}@media (width<=1199px){.homikey-meter-workspace .meter-review-layout{grid-template-columns:minmax(0,1fr)}}@media (width<=767px){.homikey-meter-workspace .meter-banner{grid-template-columns:minmax(0,1fr);grid-template-areas:"text""count""bar";padding:14px 16px}.homikey-meter-workspace .meter-sheet-col-header{display:none}.homikey-meter-workspace .meter-queue-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px 12px;padding:12px 16px}.homikey-meter-workspace .meter-queue-room{grid-column:1/3}.homikey-meter-workspace .meter-queue-row>.meter-status{grid-area:1/3;justify-self:end}.homikey-meter-workspace .meter-queue-number{text-align:left}.homikey-meter-workspace .meter-queue-number:before{color:var(--subtle);font-size:10px;font-weight:400;display:block}.homikey-meter-workspace .meter-queue-number.previous:before{content:"Kỳ trước"}.homikey-meter-workspace .meter-queue-number.current:before{content:"Kỳ này"}.homikey-meter-workspace .meter-queue-number.usage:before{content:"Tiêu thụ"}.meter-queue-tools{width:100%;margin-left:0}.meter-building-select{flex:auto}.meter-building-select select{width:100%;max-width:none;min-height:44px;font-size:16px}.meter-kpi .kpi-strip-cell{padding:16px}}@media (prefers-reduced-motion:reduce){.homikey-meter-workspace .meter-queue-row{transition:none}}.homikey-invoice-workspace{flex-direction:column;gap:20px;display:flex}.homikey-invoice-workspace>section.page-heading{margin-bottom:8px}.homikey-invoice-workspace>.toast,.homikey-invoice-workspace>.batch-action-bar{margin:0}.homikey-invoice-workspace .heading-actions{align-items:center;gap:12px}.homikey-invoice-workspace .heading-actions>.btn{border-radius:var(--radius);white-space:nowrap;min-height:40px;padding:0 16px;font-size:14px}.homikey-invoice-workspace .billing-views{border-radius:var(--radius-lg);background:var(--paper);box-shadow:var(--shadow-sm);gap:4px;padding:4px;display:inline-flex}.homikey-invoice-workspace .billing-views button{border-radius:var(--radius);min-height:32px;color:var(--ink-2);font:600 13px/1 var(--font-body);cursor:pointer;background:0 0;border:0;padding:0 16px}.homikey-invoice-workspace .billing-views button:hover:not(:disabled,.active){background:var(--surface-2)}.homikey-invoice-workspace .billing-views button.active{background:var(--accent);color:var(--paper)}.homikey-invoice-workspace .billing-views button:disabled{cursor:not-allowed;opacity:.55}.invoice-kpi .kpi-strip-cell{gap:12px;padding:20px 24px}.invoice-kpi .ks-value{font-size:24px}.invoice-kpi .ks-value.is-warn{color:var(--brand-highlight-dark)}.invoice-kpi .ks-note{color:var(--subtle);font-size:11px}.invoice-kpi .kpi-strip-cell.is-button.active{box-shadow:inset -1px 0 0 var(--line-soft), inset 0 -2px 0 var(--accent);background:0 0}.invoice-kpi .ks-dot-label{font-size:12px}.invoice-card{border-radius:var(--radius-lg);background:var(--paper);min-width:0;box-shadow:var(--shadow-sm);flex-direction:column;display:flex}.invoice-card-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 16px;padding:16px;display:flex}.invoice-card-title{flex-wrap:wrap;align-items:center;gap:4px 12px;min-width:0;display:flex}.invoice-card-title h2{color:var(--ink-2);font:700 18px/1.4 var(--font-body);margin:0}.invoice-card-title .invoice-result-count{color:var(--subtle);font-size:12px}.invoice-clear-filter{border-radius:var(--radius-full);background:var(--danger-soft);height:28px;color:var(--brand-highlight-dark);font:600 12px/1 var(--font-body);cursor:pointer;border:0;align-items:center;gap:4px;padding:0 12px;display:inline-flex}.invoice-clear-filter:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.invoice-card-tools{flex-wrap:wrap;align-items:center;gap:8px;margin-left:auto;display:flex}.invoice-card-tools .search-box{width:260px;height:40px}.invoice-card-tools .filter-pop-trigger{height:40px}.invoice-card .invoice-select-all{padding:0 16px 8px}.inv-rows{flex-direction:column;display:flex}.inv-select-page{border-top:1px solid var(--line-soft);color:var(--muted);cursor:pointer;align-items:center;gap:12px;padding:8px 16px;font-size:12px;display:flex}.inv-select-page input,.inv-row>input{width:18px;height:18px;accent-color:var(--accent);flex:none}.inv-row{border-top:1px solid var(--line-soft);background:var(--paper);grid-template-columns:20px minmax(0,1fr);align-items:center;gap:12px;padding:0 16px;transition:background .15s;display:grid}.inv-row:hover{background:var(--surface-2)}.inv-row.row-selected{background:var(--accent-softer)}.inv-row-main{min-height:58px;color:var(--ink);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:minmax(150px,1.5fr) minmax(0,1fr) minmax(150px,auto);align-items:center;gap:12px;padding:8px 0;display:grid}.inv-row-main:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px;border-radius:var(--radius-sm)}.inv-row-party,.inv-row-amount{flex-direction:column;gap:2px;min-width:0;display:flex}.inv-row-party strong{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:600;overflow:hidden}.inv-row-party small{color:var(--muted);font-size:12px}.inv-row-amount{text-align:right;align-items:flex-end}.inv-row-amount strong{color:var(--ink);font-variant-numeric:tabular-nums;font-size:14px;font-weight:600}.inv-row-amount small{font-variant-numeric:tabular-nums;font-size:12px}.inv-row-amount small.warn{color:var(--brand-highlight-dark)}.inv-row-amount small.good{color:var(--green-text)}.inv-row-amount small.muted{color:var(--subtle)}.inv-row-status{color:var(--ink-2);white-space:nowrap;justify-self:end;align-items:center;gap:8px;font-size:12px;font-weight:600;display:inline-flex}.inv-row-status i{background:var(--subtle);border-radius:50%;flex:none;width:6px;height:6px}.inv-row-status.tone-orange i{background:var(--brand-highlight)}.inv-row-status.tone-green i{background:var(--green)}.inv-row-status.tone-amber i{background:var(--orange-dot)}.inv-row-status.tone-navy i{background:var(--accent)}.inv-row-status.tone-grey i{background:var(--scroll-hover)}.invoice-card .list-pager-arrows{border-top:1px solid var(--line-soft)}.invoice-card>.empty-state,.invoice-card>.state-box{margin:0 16px 16px}.invoice-card .mobile-card-list{padding:0 16px 16px}.homikey-invoice-workspace .batch-action-bar{background:var(--ink);border-radius:14px;gap:8px;padding:8px 8px 8px 18px}.batch-action-count{white-space:nowrap;font-size:13px;font-weight:600}.batch-action-debt{color:var(--chart-muted);white-space:nowrap;margin-right:8px;font-size:12px}.batch-action{height:34px;color:var(--paper);font:600 12px/1 var(--font-body);white-space:nowrap;cursor:pointer;background:#ffffff1a;border:0;border-radius:9px;padding:0 12px}.batch-action:hover:not(:disabled){background:#ffffff2e}.batch-action:disabled,.batch-action[aria-disabled=true]{cursor:not-allowed;opacity:.45}.batch-action:focus-visible,.batch-action-clear:focus-visible{outline:2px solid var(--paper);outline-offset:2px}.batch-action-clear{width:34px;height:34px;color:var(--chart-muted);cursor:pointer;background:0 0;border:0;border-radius:9px;justify-content:center;align-items:center;display:flex}.inv-detail{grid-template-columns:minmax(0,1.5fr) minmax(280px,1fr);align-items:start;gap:20px;display:grid}.inv-detail-main{flex-direction:column;gap:12px;min-width:0;display:flex}.inv-paper{border-radius:var(--radius-sm);background:var(--paper);box-shadow:var(--shadow-md);flex-direction:column;gap:16px;padding:32px;display:flex}.inv-paper>header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.inv-paper>header>div{flex-direction:column;gap:4px;display:flex}.inv-paper>header>div:last-child{align-items:flex-end}.inv-paper-brand{color:var(--ink);font:700 18px/1.2 var(--font-body);letter-spacing:-.02em}.inv-paper-brand b{color:var(--brand-highlight-dark);font-weight:700}.inv-paper-title{font:400 20px/1.2 var(--font-display)}.inv-paper small{color:var(--muted);font-size:11px}.inv-paper-parties{grid-template-columns:1fr 1fr;gap:12px;font-size:12px;display:grid}.inv-paper-parties>div{flex-direction:column;gap:4px;min-width:0;display:flex}.inv-paper-parties>div:last-child{text-align:right}.inv-paper-parties small{color:var(--subtle);font-size:12px}.inv-paper-parties strong{font-weight:600}.inv-paper-parties span{color:var(--muted)}.inv-paper-parties span.danger{color:var(--danger)}.inv-paper-lines{border-top:1px solid var(--accent);flex-direction:column;display:flex}.inv-paper-line{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto 28px;align-items:center;gap:12px;padding:12px 0;font-size:13px;display:grid}.inv-paper-line>span:first-child{flex-direction:column;gap:2px;min-width:0;display:flex}.inv-paper-line-name{color:var(--ink-2)}.inv-paper-line small{color:var(--muted);font-size:11px}.inv-paper-line-amount{font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:500}.inv-paper-line .icon-btn{color:var(--accent)}.inv-paper-state{color:var(--muted);text-align:center;margin:0;padding:16px 0;font-size:13px}.inv-paper-sum{font-variant-numeric:tabular-nums;justify-content:space-between;gap:12px;padding:4px 0;font-size:13px;display:flex}.inv-paper-sum.total{padding-top:12px;font-size:14px;font-weight:700}.inv-paper-sum.paid{color:var(--green-text)}.inv-paper-sum.balance{color:var(--green-text);font-size:14px;font-weight:700}.inv-paper-sum.balance.owing{color:var(--brand-highlight-dark)}.inv-paper-oneoff{color:var(--muted);margin:4px 0 0;font-size:12px}.inv-paper-foot{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 12px;display:flex}.inv-paper-foot small{color:var(--subtle)}.inv-detail-hint{color:var(--muted);margin:0;font-size:12px;line-height:1.6}.inv-detail-side{flex-direction:column;gap:16px;min-width:0;display:flex}.inv-card{border-radius:var(--radius-lg);background:var(--paper);box-shadow:var(--shadow-sm);flex-direction:column;gap:12px;padding:16px;display:flex}.inv-card-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.inv-card-head h2{font:700 16px/1.4 var(--font-body);align-items:center;gap:6px;margin:0;display:flex}.inv-detail-close{border-radius:var(--radius-sm);color:var(--muted);font:600 12px/1 var(--font-body);cursor:pointer;background:0 0;border:0;align-items:center;gap:4px;padding:4px 8px;display:inline-flex}.inv-detail-close:hover{color:var(--ink)}.inv-actions{flex-direction:column;gap:8px;display:flex}.inv-action{border-radius:var(--radius);background:var(--paper);min-height:40px;box-shadow:inset 0 0 0 1px var(--control-line);color:var(--accent);font:600 13px/1 var(--font-body);cursor:pointer;border:0;padding:0 12px}.inv-action:hover:not(:disabled){background:var(--surface-2)}.inv-action.primary{background:var(--accent);box-shadow:none;color:var(--paper)}.inv-action.primary:hover:not(:disabled){background:var(--accent-dark)}.inv-action.danger{color:var(--brand-highlight-dark)}.inv-action:disabled,.inv-action[aria-disabled=true]{cursor:not-allowed;opacity:.55}.inv-action:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.inv-pay-body{flex-direction:column;gap:12px;display:flex}.inv-pay-qr{flex-direction:column;align-items:center;gap:4px;display:flex}.inv-pay-qr small{color:var(--muted);font-size:11px}.inv-pay-note{border-radius:var(--radius);border:1px solid var(--line);color:var(--muted);padding:8px 10px;font-size:12px;line-height:1.5}.inv-pay-note.warn{border-color:var(--orange);background:var(--orange-soft);color:var(--orange-dark)}.inv-pay-note strong{color:var(--ink);font-size:12px;display:block}.inv-pay-account{border-radius:var(--radius);background:var(--surface-2);flex-direction:column;gap:4px;padding:10px 12px;font-size:12px;display:flex}.inv-pay-account>div{justify-content:space-between;align-items:center;gap:8px;display:flex}.inv-pay-account>strong{font-size:14px}.inv-pay-account small{color:var(--muted)}.inv-pay-copied{color:var(--green-text);margin-top:4px;font-size:11px;font-weight:600;display:block}.inv-send-log{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.inv-send-log li{border-bottom:1px dashed var(--line);flex-wrap:wrap;justify-content:space-between;gap:4px 12px;padding:4px 0;font-size:12px;display:flex}.inv-send-log li small{color:var(--muted)}.inv-send-log li>span small{display:block}.billing-cycle{flex-direction:column;gap:20px;min-width:0;display:flex}.billing-cycle-buildings{flex-wrap:wrap;gap:8px;display:flex}.billing-cycle-buildings button{border-radius:var(--radius-full);background:var(--paper);height:32px;box-shadow:inset 0 0 0 1px var(--control-line);color:var(--ink-2);font:600 12px/1 var(--font-body);cursor:pointer;border:0;padding:0 16px}.billing-cycle-buildings button.active{background:var(--accent);box-shadow:inset 0 0 0 1px var(--accent);color:var(--paper)}.billing-cycle-buildings button:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.billing-cycle-cards{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.billing-cycle-cards article{border-radius:var(--radius-lg);background:var(--paper);box-shadow:inset 0 0 0 1px var(--line);flex-direction:column;gap:8px;padding:16px;display:flex}.billing-cycle-cards article.warn{box-shadow:inset 0 0 0 1px var(--orange)}.billing-cycle-cards article.alert{box-shadow:inset 0 0 0 1px var(--brand-highlight)}.billing-cycle-cards span{color:var(--muted);font-size:12px}.billing-cycle-cards strong{color:var(--accent);font:600 28px/1 var(--font-body);letter-spacing:-.03em;font-variant-numeric:tabular-nums}.billing-cycle-cards strong.is-warn{color:var(--orange-text)}.billing-cycle-cards strong.is-alert{color:var(--brand-highlight-dark)}.billing-cycle-layout{grid-template-columns:minmax(0,1.5fr) minmax(280px,1fr);align-items:start;gap:20px;display:grid}.billing-cycle-table{border-radius:var(--radius-lg);background:var(--paper);min-width:0;box-shadow:var(--shadow-sm);overflow:hidden}.billing-cycle-scroll{overflow-x:auto}.billing-cycle-head,.billing-cycle-row{grid-template-columns:minmax(0,1fr) 150px;min-width:760px;display:grid}.billing-cycle-head{background:var(--surface-2);color:var(--muted);font:600 11px/1.4 var(--font-body);letter-spacing:.06em;text-transform:uppercase;grid-template-columns:90px minmax(140px,1.4fr) repeat(3,minmax(90px,1fr)) 150px;gap:12px;padding:12px 16px}.billing-cycle-row{border-top:1px solid var(--line-soft);align-items:center;gap:12px;padding:0 16px 0 0;font-size:13px}.billing-cycle-row:hover{background:var(--surface-2)}.billing-cycle-row.has-issue{background:color-mix(in srgb, var(--orange-soft) 40%, var(--paper))}.billing-cycle-row.selected{box-shadow:inset 2px 0 0 var(--accent)}.billing-cycle-pick{min-height:50px;color:var(--ink);font:inherit;text-align:left;cursor:pointer;font-variant-numeric:tabular-nums;background:0 0;border:0;grid-template-columns:90px minmax(140px,1.4fr) repeat(3,minmax(90px,1fr));align-items:center;gap:12px;padding:8px 0 8px 16px;display:grid}.billing-cycle-pick:focus-visible{outline:2px solid var(--focus-ring);outline-offset:-2px}.billing-cycle-pick>span:nth-child(2){color:var(--ink-2)}.check-pill{border-radius:var(--radius-full);max-width:100%;height:28px;font:600 11px/1 var(--font-body);white-space:nowrap;border:0;justify-self:start;align-items:center;gap:2px;padding:0 12px;display:inline-flex}.check-pill.ready{background:var(--green-soft);color:var(--green-text)}.check-pill.done{background:var(--surface-2);color:var(--muted)}.check-pill.missing,.check-pill.blocked{background:var(--orange-soft);color:var(--orange-text)}.check-pill.anomaly{background:var(--danger-soft);color:var(--brand-highlight-dark)}button.check-pill{cursor:pointer}button.check-pill:hover{filter:brightness(.96)}button.check-pill:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.billing-cycle-side{top:calc(var(--topbar-height) + 20px);flex-direction:column;gap:16px;min-width:0;display:flex;position:sticky}.billing-cycle-card{border-radius:var(--radius-lg);background:var(--paper);box-shadow:var(--shadow-sm);flex-direction:column;gap:12px;padding:16px;display:flex}.billing-cycle-card h2{font:700 16px/1.4 var(--font-body);margin:0}.billing-cycle-card h3{font:600 13px/1.4 var(--font-body);margin:0}.billing-cycle-sub{color:var(--muted);margin:0;font-size:12px}.billing-cycle-note{color:var(--muted);margin:0;font-size:12px;line-height:1.6}.billing-cycle-lines{border-radius:var(--radius-lg);background:var(--surface-2);flex-direction:column;padding:4px 16px;display:flex}.billing-cycle-lines>div{border-bottom:1px solid var(--line-soft);justify-content:space-between;gap:12px;padding:8px 0;font-size:13px;display:flex}.billing-cycle-lines>div>span:last-child{font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:600}.billing-cycle-lines>div.total{border-bottom:0;padding:12px 0;font-size:14px;font-weight:700}.billing-cycle-side .billing-preflight{background:var(--paper);box-shadow:var(--shadow-sm);border:0;padding:16px;position:static}.billing-cycle-side .billing-preflight ul{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.billing-cycle-side .billing-preflight li{align-items:center;gap:8px;font-size:13px;display:flex}.billing-cycle-side .billing-preflight li i{width:18px;height:18px;color:var(--paper);border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:11px;font-style:normal;font-weight:700;display:flex}.billing-cycle-side .billing-preflight li.ok i{background:var(--green-text)}.billing-cycle-side .billing-preflight li.bad{color:var(--orange-text)}.billing-cycle-side .billing-preflight li.bad i{background:var(--orange)}.billing-cycle-commit{border-radius:var(--radius);background:var(--accent);width:100%;min-height:42px;color:var(--paper);font:600 14px/1 var(--font-body);cursor:pointer;border:0;justify-content:center;align-items:center;gap:8px;display:inline-flex}.billing-cycle-commit.has-issue{background:var(--scroll-hover);color:var(--ink)}.billing-cycle-commit:hover:not(:disabled){filter:brightness(.94)}.billing-cycle-commit:disabled{cursor:not-allowed;opacity:.55}.billing-cycle-commit:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.billing-cycle .billing-run-result{border-radius:var(--radius-lg);background:var(--paper);box-shadow:var(--shadow-sm);padding:16px}.billing-cycle .billing-run-result>header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.billing-cycle .billing-run-result h3{font:600 16px/1.4 var(--font-body);margin:4px 0 0}.billing-cycle .pricing-panel>summary{cursor:pointer;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;font-size:13px;font-weight:600;display:flex}.billing-cycle .pricing-panel .pricing-rate-grid{margin-top:12px}@media (width<=1199px){.inv-detail,.billing-cycle-layout{grid-template-columns:minmax(0,1fr)}.billing-cycle-side{position:static}}@media (width<=819px){.billing-cycle-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=767px){.homikey-invoice-workspace .heading-actions{width:100%}.homikey-invoice-workspace .heading-actions>.btn{white-space:normal;flex:100%}.invoice-card-tools{width:100%;margin-left:0}.invoice-card-tools .search-box{flex:100%;width:auto}.inv-paper{padding:20px}.billing-cycle-cards{grid-template-columns:1fr}.invoice-kpi .kpi-strip-cell{padding:16px}}.txn-type{margin-right:var(--sp-1);border-radius:var(--radius-sm);align-items:center;gap:var(--sp-1);padding:4px 8px;font-size:10px;font-weight:600;display:inline-flex}.txn-type.income{color:var(--green-text);background:var(--green-soft)}.txn-type.expense{color:var(--danger);background:var(--danger-soft)}.allocation-panel{border:1px solid var(--line);border-radius:var(--radius);margin-top:var(--sp-3);padding:14px}.allocation-row{font-size:var(--text-sm);justify-content:space-between;align-items:center;gap:var(--sp-3);border-bottom:1px solid #f0f0eb;padding:8px 0;display:flex}.allocation-row:last-child{border:0}.allocation-row>div{flex:1;min-width:0}.allocation-row strong{display:block}.allocation-row small{color:#999;margin-top:2px;font-size:11px;display:block}.allocation-total{border-top:2px solid var(--ink);font-weight:700;font-size:var(--text-md);margin-top:var(--sp-2);justify-content:space-between;align-items:center;padding-top:12px;display:flex}.finance-form-layout{gap:var(--sp-4);grid-template-columns:1fr 1fr;display:grid}.deposit-grid{gap:var(--sp-4);grid-template-columns:repeat(auto-fill,minmax(300px,1fr));display:grid}.deposit-card{border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);gap:var(--sp-3);background:#fff;border:1px solid #0000;flex-direction:column;padding:18px;display:flex}.deposit-card header{justify-content:space-between;align-items:flex-start;display:flex}.deposit-amount{font:700 28px/1 var(--font-heading);color:var(--ink)}.deposit-amount.zero{color:var(--muted)}.deposit-label{color:#999;margin-top:4px;font-size:11px;display:block}.deposit-meta{flex-direction:column;gap:4px;display:flex}.deposit-meta span{font-size:var(--text-sm);color:var(--muted)}.deposit-meta strong{font-size:var(--text-sm)}.deposit-actions{gap:var(--sp-2);padding-top:var(--sp-3);border-top:1px solid var(--line-soft);flex-wrap:wrap;display:flex}.deposit-actions .btn{flex:1;min-height:38px;font-size:12px}.notification-layout{gap:var(--sp-4);grid-template-columns:1fr 1fr;display:grid}.variable-chips{gap:var(--sp-1);margin:var(--sp-2) 0;flex-wrap:wrap;display:flex}.variable-chip{border-radius:var(--radius-sm);background:var(--accent-soft);color:var(--accent);padding:3px 8px;font-family:monospace;font-size:11px;font-weight:600}.template-tabs{gap:2px;padding-bottom:2px;display:flex;overflow-x:auto}.template-tabs button{border-radius:var(--radius-sm) var(--radius-sm) 0 0;background:var(--surface-2);color:var(--muted);font-size:var(--text-sm);white-space:nowrap;border:0;padding:7px 12px;transition:background .15s,color .15s}.template-tabs .active{color:var(--ink);box-shadow:var(--shadow-sm);background:#fff;font-weight:600}.notification-log{margin-top:var(--sp-4)}.log-row{align-items:center;gap:var(--sp-4);border-top:1px solid #efefe9;grid-template-columns:1fr 1fr auto;padding:12px 16px;display:grid}.log-row:last-child{border-bottom:1px solid #efefe9}.log-meta small{color:#999;font-size:11px}.team-card{border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);background:#fff;border:1px solid #0000;padding:18px}.team-card header{justify-content:space-between;align-items:flex-start;gap:var(--sp-3);margin-bottom:var(--sp-3);display:flex}.team-card h3{font-size:var(--text-md);margin:0}.team-card .user-cell{margin-bottom:var(--sp-3)}.audit-filters{align-items:center;gap:var(--sp-3);padding:var(--sp-3);border:1px solid var(--line);border-radius:var(--radius-lg);margin-bottom:var(--sp-4);background:#fff;flex-wrap:wrap;display:flex}.audit-filters select{border:1px solid var(--line);border-radius:var(--radius);height:36px;font-size:var(--text-sm);background:#fff;padding:0 28px 0 10px}.security-kpi{border-radius:var(--radius-md);text-align:center;box-shadow:var(--shadow-sm);background:#fff;border:1px solid #0000;padding:18px}.security-kpi strong{font:700 32px/1 var(--font-heading);margin:var(--sp-2) 0 var(--sp-1);display:block}.security-kpi small{font-size:var(--text-sm);color:var(--muted)}.readiness-score{margin-bottom:var(--sp-4)}.readiness-list{gap:var(--sp-2);display:grid}.readiness-item{align-items:flex-start;gap:var(--sp-3);padding:var(--sp-4);border-radius:var(--radius);box-shadow:var(--shadow-sm);background:#fff;border:1px solid #0000;display:flex}.readiness-item-icon{border-radius:50%;flex-shrink:0;place-items:center;width:36px;height:36px;display:grid}.readiness-item-icon.pass{background:var(--green-soft);color:var(--green-text)}.readiness-item-icon.warn{background:var(--orange-soft);color:var(--orange-text)}.readiness-item-icon.fail{background:var(--danger-soft);color:var(--danger)}.readiness-item>div{flex:1;min-width:0}.readiness-item strong{font-size:var(--text-sm);margin-bottom:3px;display:block}.readiness-item p{font-size:var(--text-sm);color:var(--muted);margin:0}.security-note-card{background:var(--green-soft);border-radius:var(--radius);color:var(--green-dark);font-size:var(--text-sm);margin-top:var(--sp-4);border:1px solid #b8e6d0;padding:14px;line-height:1.55}.environment-warning{background:var(--orange-soft);border-radius:var(--radius);color:var(--orange-dark);font-size:var(--text-sm);align-items:flex-start;gap:var(--sp-2);margin-bottom:var(--sp-4);border:1px solid #f5d09e;padding:14px;display:flex}@media (width<=1023px){.notification-layout{grid-template-columns:1fr}}@media (width<=767px){.security-overview{grid-template-columns:1fr 1fr}.finance-form-layout,.deposit-grid{grid-template-columns:1fr}.log-row{gap:var(--sp-2);grid-template-columns:1fr}}@media (width<=480px){.security-overview{grid-template-columns:1fr}.deposit-actions{flex-direction:column}}.manual-allocation{gap:8px;display:grid}.manual-allocation label{grid-template-columns:1fr 160px;align-items:center;gap:10px;display:grid}.manual-allocation span{color:var(--muted);font-size:13px}.tenant-payment-history{background:var(--surface,#fff);border:1px solid var(--line);border-radius:14px;margin-bottom:18px;padding:16px}.tenant-payment-history>header{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.tenant-payment-history h2{margin:3px 0 0}.tenant-payment-history>header>span,.tenant-payment-history small{color:var(--muted)}.tenant-payment-history>div{border-top:1px solid var(--line);grid-template-columns:1fr 1.2fr .7fr auto;align-items:center;gap:12px;padding:10px 0;display:grid}.tenant-payment-history>div>span:first-child{gap:2px;display:grid}.deposit-grid .building-card footer{flex-wrap:wrap;gap:7px;margin-top:14px;display:flex}.deposit-balance{gap:4px;display:grid}.deposit-balance strong{color:var(--accent);font-size:19px}.deposit-balance small{color:var(--muted)}.settlement-preview{gap:8px;margin-top:14px;display:grid}.settlement-preview>div{justify-content:space-between;align-items:center;display:flex}.attachment-box input[type=file]{max-width:220px}@media (width<=720px){.tenant-payment-history>div{grid-template-columns:1fr 1fr}.manual-allocation label{grid-template-columns:1fr}}.homikey-finance-workspace,.homikey-deposit-workspace{min-width:0}.homikey-finance-workspace .finance-date-range{grid-template-columns:auto minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:8px;display:grid}.homikey-finance-workspace .finance-date-range label{color:var(--muted);font-size:12px}.homikey-finance-workspace .finance-date-range input{min-width:0;max-width:100%}.homikey-finance-workspace :is(select,input){min-height:40px}.homikey-finance-workspace .mobile-card{background:var(--paper);border-color:var(--line);box-shadow:var(--shadow-sm);padding:20px}.homikey-finance-workspace .mobile-card-footer{flex-wrap:wrap}.homikey-finance-workspace .finance-cashbook{flex-direction:column;gap:24px;display:flex}.homikey-finance-workspace .finance-analysis-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;display:grid}.homikey-finance-workspace .finance-analysis-grid>section{min-width:0}.homikey-finance-workspace .finance-analysis-grid section>div>div{flex-wrap:wrap;gap:10px}.homikey-finance-workspace .finance-analysis-grid section>div>div>div{flex-wrap:wrap;gap:8px}body:has(.app-shell.theme-homikey) :is(.homikey-finance-dialog,.homikey-deposit-dialog) .modal-header{background:var(--paper);padding:24px}body:has(.app-shell.theme-homikey) :is(.homikey-finance-dialog,.homikey-deposit-dialog) .modal-header h2{font:400 24px/1.45 var(--font-display)}body:has(.app-shell.theme-homikey) .homikey-finance-dialog .segmented{flex-wrap:wrap}body:has(.app-shell.theme-homikey) .homikey-finance-dialog :is(.manual-allocation,.allocation-preview){border:1px solid var(--line);border-radius:var(--radius);background:var(--accent-softer);padding:18px}body:has(.app-shell.theme-homikey) .homikey-finance-dialog .manual-allocation>div{flex-wrap:wrap;gap:12px}body:has(.app-shell.theme-homikey) .homikey-finance-dialog .manual-allocation>div>span{flex:200px}body:has(.app-shell.theme-homikey) .homikey-finance-dialog .allocation-preview>:is(div,footer,header){flex-wrap:wrap;gap:12px}body:has(.app-shell.theme-homikey) .homikey-finance-dialog .transaction-amount-card{flex-wrap:wrap;gap:20px}body:has(.app-shell.theme-homikey) .homikey-finance-dialog .attachment-box{background:var(--surface);border-color:var(--line);flex-wrap:wrap;min-width:0}body:has(.app-shell.theme-homikey) .homikey-finance-dialog .attachment-box input{max-width:100%}.homikey-deposit-workspace .deposit-grid{gap:var(--sp-5);grid-template-columns:repeat(auto-fill,minmax(min(100%,360px),1fr))}.homikey-deposit-workspace .deposit-ledger-card{min-width:0;padding:var(--sp-5);border-radius:var(--radius-lg);background:var(--paper);box-shadow:var(--shadow-sm);border:1px solid #0000;flex-direction:column;display:flex}.deposit-card-heading{justify-content:space-between;align-items:center;gap:var(--sp-3);flex-wrap:wrap;display:flex}.deposit-room{align-items:center;gap:var(--sp-3);min-width:0;display:flex}.deposit-room-icon{border-radius:var(--radius);background:var(--accent-soft);width:44px;height:44px;color:var(--accent);flex-shrink:0;place-items:center;display:grid}.deposit-room h3{font-size:var(--text-xl);overflow-wrap:anywhere;margin:0;font-weight:600}.deposit-card-person{gap:var(--sp-2);margin:var(--sp-4) 0 var(--sp-5);font-size:var(--text-sm);display:grid}.deposit-card-person>span{align-items:center;gap:var(--sp-2);overflow-wrap:anywhere;display:flex}.deposit-card-person>span:last-child{color:var(--muted);font-size:var(--text-xs)}.deposit-card-person .icon{color:var(--muted);flex-shrink:0}.deposit-card-balance{gap:var(--sp-2);padding:var(--sp-4);border-radius:var(--radius);background:var(--surface-2);display:grid}.deposit-card-balance>span{color:var(--muted);font-size:var(--text-xs)}.deposit-card-balance>strong{color:var(--accent);letter-spacing:-.04em;overflow-wrap:anywhere;font-variant-numeric:tabular-nums;font-size:clamp(24px,2.1vw,30px);font-weight:600;line-height:1.4}.deposit-card-balance.is-empty>strong{color:var(--muted)}.deposit-card-balance>div{justify-content:space-between;gap:var(--sp-1) var(--sp-2);padding-top:var(--sp-2);border-top:1px solid var(--line);color:var(--muted);font-size:var(--text-xs);flex-wrap:wrap;display:flex}.deposit-card-balance>div>span:last-child{color:var(--ink-2);font-variant-numeric:tabular-nums}.deposit-card-footer{justify-content:space-between;align-items:center;gap:var(--sp-2);padding-top:var(--sp-4);flex-wrap:wrap;margin-top:auto;display:flex}.deposit-card-footer .deposit-ledger-link{padding-inline:0}body:has(.app-shell.theme-homikey) .homikey-deposit-dialog .deposit-ledger-money{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.deposit-settlement-balance{justify-content:space-between;align-items:center;gap:var(--sp-3);padding:var(--sp-4);margin-bottom:var(--sp-5);border-radius:var(--radius);background:var(--surface-2);flex-wrap:wrap;display:flex}.deposit-settlement-balance>span{align-items:center;gap:var(--sp-2);color:var(--muted);font-size:var(--text-sm);display:flex}.deposit-settlement-balance>strong{color:var(--accent);font-size:var(--text-xl);font-variant-numeric:tabular-nums}body:has(.app-shell.theme-homikey) .homikey-deposit-dialog table{min-width:760px}body:has(.app-shell.theme-homikey) .homikey-deposit-dialog .settlement-preview{background:var(--accent-softer);border:1px solid var(--line);border-radius:var(--radius);padding:20px}body:has(.app-shell.theme-homikey) .homikey-deposit-dialog .settlement-preview>div{border-top:1px solid var(--line);flex-wrap:wrap;gap:12px;padding:10px 0}@media (width<=1023px){.homikey-finance-workspace .finance-analysis-grid{grid-template-columns:1fr}}@media (width<=767px){.homikey-finance-workspace .heading-actions{flex-wrap:wrap;width:100%}.homikey-finance-workspace .heading-actions .btn{flex:100%}.homikey-finance-workspace .finance-date-range{grid-template-columns:36px minmax(0,1fr);width:100%}.homikey-deposit-workspace .deposit-ledger-card{padding:var(--sp-4)}.deposit-card-footer .btn{min-height:44px}.deposit-card-footer>.action-group{margin-left:auto}.deposit-card-person>span{min-width:0}body:has(.app-shell.theme-homikey) :is(.homikey-finance-dialog,.homikey-deposit-dialog) .modal-header{padding:16px}}@media (width<=380px){.deposit-card-footer>.deposit-ledger-link{flex-basis:100%;justify-content:flex-start}.deposit-card-footer>.action-group{width:100%}.deposit-card-footer>.action-group>.btn{flex:1}}.homikey-finance-workspace .finance-balance-formula{border-radius:var(--radius);background:var(--surface);text-align:center;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) auto minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:16px;padding:20px;display:grid}.homikey-finance-workspace .finance-balance-formula>div{overflow-wrap:anywhere;min-width:0}.homikey-finance-workspace .finance-category-meter{width:100%;min-width:120px;height:10px;accent-color:var(--accent);margin-top:8px;display:block}.homikey-finance-workspace .finance-category-meter::-webkit-meter-bar{background:var(--line);border:0}.homikey-finance-workspace .finance-category-meter::-webkit-meter-optimum-value{background:var(--accent)}.homikey-finance-workspace .finance-category-meter::-moz-meter-bar{background:var(--accent)}@media (width<=1023px){.homikey-finance-workspace .finance-balance-formula{grid-template-columns:1fr}}.d2b-card{border-radius:var(--radius-lg);background:var(--paper);min-width:0;box-shadow:var(--shadow-sm);padding:22px 24px}.d2b-card-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;margin-bottom:16px;display:flex}.d2b-card-head h2{color:var(--ink);font:600 16px/1.4 var(--font-body);margin:0}.d2b-card-head>p,.d2b-muted{color:var(--subtle);margin:0;font-size:12px;line-height:1.6}.d2b-row{grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:20px;margin-bottom:20px;display:grid}.d2b-row.even{grid-template-columns:repeat(2,minmax(0,1fr))}.d2b-pills{flex-wrap:wrap;gap:8px;display:flex}.d2b-pills>button{border-radius:var(--radius-full);background:var(--paper);min-height:30px;box-shadow:inset 0 0 0 1px var(--line);color:var(--accent-light);font:500 13px/1 var(--font-body);cursor:pointer;border:0;padding:0 14px}.d2b-pills>button:hover{background:var(--surface-2);color:var(--ink)}.d2b-pills>button:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.d2b-pills>button.active,.d2b-pills>button[aria-pressed=true]{background:var(--accent);box-shadow:none;color:var(--paper)}@media (width<=767px){.d2b-pills>button{min-height:36px}}.d2b-chart{min-width:0;position:relative}.d2b-chart>svg{max-width:100%;display:block;overflow:visible}.d2b-grid{stroke:var(--line-soft);stroke-width:1px;stroke-dasharray:3 4}.d2b-tick{fill:var(--subtle);font:400 11px var(--font-body)}.d2b-tick.strong{fill:var(--ink);font-weight:600}.d2b-line{fill:none;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round}.d2b-line.s-primary{stroke:var(--accent)}.d2b-line.s-sky{stroke:var(--chart-muted)}.d2b-line.s-accent{stroke:var(--brand-highlight)}.d2b-line.dashed{stroke-dasharray:5 4}.d2b-area{stroke:none}.d2b-area.s-primary{fill:var(--accent);opacity:.06}.d2b-area.s-sky{fill:var(--chart-muted);opacity:.18}.d2b-area.s-accent{fill:var(--brand-highlight);opacity:.06}.d2b-cursor{stroke:var(--control-line);stroke-width:1px}.d2b-dot-mark{stroke:var(--paper);stroke-width:1.5px}.d2b-dot-mark.s-primary{fill:var(--accent)}.d2b-dot-mark.s-sky{fill:var(--chart-muted)}.d2b-dot-mark.s-accent{fill:var(--brand-highlight)}.d2b-dot-mark.on{fill:var(--paper);stroke-width:2px}.d2b-dot-mark.on.s-primary{stroke:var(--accent)}.d2b-dot-mark.on.s-sky{stroke:var(--chart-muted)}.d2b-dot-mark.on.s-accent{stroke:var(--brand-highlight)}.d2b-hit{fill:#0000;outline:none}.d2b-hit:focus-visible{fill:var(--accent);fill-opacity:.06;stroke:var(--focus-ring);stroke-width:1.5px}.d2b-tooltip{z-index:2;border-radius:var(--radius-sm);background:var(--ink);min-width:132px;color:var(--paper);pointer-events:none;gap:4px;padding:10px 12px;font-size:12px;line-height:1.4;display:grid;position:absolute;top:0;transform:translate(-50%)}.d2b-tooltip>strong{font-size:12px;font-weight:600}.d2b-tooltip>span{justify-content:space-between;gap:16px;display:flex}.d2b-tooltip>span i{opacity:.75;font-style:normal}.d2b-tooltip>span b{font-variant-numeric:tabular-nums;font-weight:600}.d2b-tooltip>span.strong{border-top:1px solid #ffffff2e;margin-top:2px;padding-top:4px}.d2b-structure{gap:16px;display:grid}.d2b-donut{width:148px;height:148px;margin:0 auto;position:relative}.d2b-donut>svg{width:100%;height:100%;transform:rotate(-90deg)}.d2b-donut-track{fill:none;stroke:var(--surface);stroke-width:16px}.d2b-donut-slice{fill:none;stroke-width:16px}.d2b-donut-slice.t0,.d2b-swatch.t0{stroke:var(--accent);background:var(--accent)}.d2b-donut-slice.t1,.d2b-swatch.t1{stroke:var(--chart-muted);background:var(--chart-muted)}.d2b-donut-slice.t2,.d2b-swatch.t2{stroke:var(--brand-highlight);background:var(--brand-highlight)}.d2b-donut-slice.t3,.d2b-swatch.t3{stroke:var(--orange);background:var(--orange)}.d2b-donut-slice.t4,.d2b-swatch.t4{stroke:var(--green);background:var(--green)}.d2b-donut-slice{background:0 0!important}.d2b-donut-center{text-align:center;place-content:center;gap:2px;display:grid;position:absolute;inset:0}.d2b-donut-center small{color:var(--subtle);font-size:11px}.d2b-donut-center strong{color:var(--ink);font:600 15px/1.2 var(--font-body);font-variant-numeric:tabular-nums}.d2b-legend{gap:10px;margin:0;padding:0;list-style:none;display:grid}.d2b-legend li{grid-template-columns:8px minmax(0,1fr) auto auto;align-items:center;gap:8px;font-size:12px;display:grid}.d2b-legend .d2b-swatch{border-radius:2px;width:8px;height:8px}.d2b-legend span{min-width:0;color:var(--ink-2);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.d2b-legend em{color:var(--subtle);font-style:normal}.d2b-legend strong{min-width:56px;color:var(--ink);text-align:right;font-variant-numeric:tabular-nums;font-weight:600}.d2b-bar{border-radius:var(--radius-full);background:var(--surface);height:8px;display:block;overflow:hidden}.d2b-bar>b{border-radius:var(--radius-full);background:var(--accent);min-width:2px;height:100%;display:block}.d2b-bar>b.tone-sky{background:var(--chart-muted)}.d2b-bar>b.tone-primary{background:var(--accent)}.d2b-bar>b.tone-accent{background:var(--brand-highlight)}.d2b-bar>b.tone-green{background:var(--green)}@media (width<=1023px){.d2b-row,.d2b-row.even{grid-template-columns:minmax(0,1fr)}}@media (width<=767px){.d2b-card{padding:18px 16px}}@media (width>=768px){.homikey-finance-workspace .page-heading>div:first-child{flex:320px;min-width:0}}.finance-kpi-error{color:var(--danger);margin:-4px 0 12px;font-size:13px}.finance-pending-note{border-radius:var(--radius);background:var(--orange-soft);color:var(--ink-2);margin:0 0 12px;padding:10px 14px;font-size:13px}.homikey-finance-workspace .txn-amount{font-variant-numeric:tabular-nums;white-space:nowrap;font-size:13px;font-weight:600}.homikey-finance-workspace .txn-amount.income{color:var(--green-text)}.homikey-finance-workspace .txn-amount.expense{color:var(--danger-dark)}.homikey-finance-workspace .txn-type{border-radius:var(--radius-sm)}.homikey-finance-workspace .txn-type.expense{color:var(--danger-dark)}.homikey-finance-workspace .receivable-summary{border-radius:var(--radius-lg);background:var(--paper);box-shadow:var(--shadow-sm);grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:16px;display:grid;overflow:hidden}.homikey-finance-workspace .receivable-summary .foundation-card{box-shadow:none;background:0 0;border:0;border-radius:0;padding:20px 24px}.homikey-finance-workspace .receivable-summary .foundation-card+.foundation-card{border-left:1px solid var(--line-soft)}.homikey-finance-workspace .receivable-summary small{color:var(--muted);align-items:center;font-size:12px;display:flex}.homikey-finance-workspace .receivable-summary h2{color:var(--ink);font:600 clamp(20px, 2vw, 26px)/1.25 var(--font-body);letter-spacing:-.03em;font-variant-numeric:tabular-nums;margin:8px 0 4px}.homikey-finance-workspace .receivable-summary p{color:var(--subtle);margin:0;font-size:12px}.homikey-finance-workspace .receivable-summary .overdue h2{color:var(--danger-dark)}.homikey-finance-workspace .receivable-filter{box-shadow:none;background:0 0;border:0;margin-bottom:12px;padding:0}.homikey-finance-workspace .receivable-filter .segmented{box-shadow:none;background:0 0;gap:8px;padding:0}.homikey-finance-workspace .receivable-filter .segmented button{border-radius:var(--radius-full);background:var(--paper);min-height:32px;box-shadow:inset 0 0 0 1px var(--line);color:var(--accent-light);padding:0 14px;font-weight:500}.homikey-finance-workspace .receivable-filter .segmented button.active{background:var(--accent);box-shadow:none;color:var(--paper)}.homikey-finance-workspace .receivable-paid{color:var(--green-text);font-variant-numeric:tabular-nums}.homikey-finance-workspace .receivable-owed{color:var(--danger-dark)}@media (width<=767px){.homikey-finance-workspace .receivable-summary{grid-template-columns:1fr}.homikey-finance-workspace .receivable-summary .foundation-card+.foundation-card{border-left:0;border-top:1px solid var(--line-soft)}}.homikey-finance-workspace .finance-formula-card>.d2b-muted{margin-bottom:6px}.homikey-finance-workspace .finance-formula-card .finance-balance-formula{background:var(--surface-2);margin-top:16px}.homikey-finance-workspace .finance-balance-formula small{color:var(--subtle);letter-spacing:.88px;text-transform:uppercase;font-size:11px;font-weight:600}.homikey-finance-workspace .finance-balance-formula strong{color:var(--ink);font:600 20px/1.3 var(--font-body);font-variant-numeric:tabular-nums;margin-top:4px;display:block}.homikey-finance-workspace .finance-balance-formula strong.income{color:var(--green-text)}.homikey-finance-workspace .finance-balance-formula strong.expense{color:var(--danger-dark)}.homikey-finance-workspace .finance-balance-formula .formula-sign{color:var(--subtle);font-size:22px;font-weight:600}.homikey-finance-workspace .finance-balance-formula .formula-result{border-radius:var(--radius);background:var(--green-soft);padding:12px}.homikey-finance-workspace .finance-balance-formula .formula-result small{color:var(--green-text)}.homikey-finance-workspace .finance-balance-formula .formula-result strong{color:var(--green-dark);font-size:22px}.homikey-finance-workspace .finance-category-list,.homikey-finance-workspace .finance-method-list{flex-direction:column;gap:10px;display:flex}.homikey-finance-workspace .finance-category-row{border-radius:var(--radius);background:var(--surface-2);justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;display:flex}.homikey-finance-workspace .finance-category-row>div{flex:160px;min-width:0}.homikey-finance-workspace .finance-category-row strong{font-size:13px}.homikey-finance-workspace .finance-method-row{border-radius:var(--radius);background:var(--surface-2);padding:12px 14px}.homikey-finance-workspace .finance-method-row>strong{margin-bottom:6px;font-size:13px;display:block}.homikey-finance-workspace .finance-method-row>div{flex-wrap:wrap;justify-content:space-between;gap:6px 12px;font-size:13px;display:flex}.homikey-finance-workspace .finance-method-row .income{color:var(--green-text)}.homikey-finance-workspace .finance-method-row .expense{color:var(--danger-dark)}.homikey-finance-workspace .finance-category-meter{display:block}.homikey-finance-workspace{flex-direction:column;gap:20px;display:flex}.homikey-finance-workspace>section.page-heading{margin-bottom:8px}.homikey-finance-workspace>.toast{margin:0}.homikey-finance-workspace .heading-actions{align-items:center;gap:12px}.homikey-finance-workspace .heading-actions>.btn{border-radius:var(--radius);white-space:nowrap;min-height:40px;padding:0 16px;font-size:14px}.finance-kpi .ks-value{font-size:24px}.homikey-finance-workspace .finance-overview{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);margin-bottom:0}.finance-overview .d2b-card{flex-direction:column;gap:16px;padding:16px;display:flex}.finance-overview .d2b-card-head{margin-bottom:0}.finance-overview .d2b-card-head h2{font-weight:700}.fin-legend{color:var(--muted);gap:16px;margin:0;padding:0;font-size:12px;list-style:none;display:flex}.fin-legend li{align-items:center;gap:8px;display:inline-flex}.fin-legend-line{background:var(--accent);border-radius:1px;width:14px;height:2px;display:block}.fin-legend-line.is-out{border-top:2px dashed var(--brand-highlight);background:0 0;height:0}.fin-flow-note{color:var(--muted);margin:0;font-size:12px;line-height:1.5}.d2b-chart.is-bare .d2b-grid{stroke-dasharray:none}.d2b-tooltip>span.strong b{color:var(--green-soft)}.d2b-tooltip.is-line{border-radius:var(--radius-sm);white-space:nowrap;min-width:0;padding:8px 12px}.d2b-line.s-ink{stroke:var(--ink)}.d2b-area.s-ink{fill:var(--accent);opacity:.08}.d2b-dot-mark.s-ink{fill:var(--ink)}.d2b-dot-mark.is-last{fill:var(--brand-highlight);stroke:var(--paper)}.finance-structure .d2b-structure{flex-wrap:wrap;align-items:center;gap:24px;display:flex}.finance-structure .d2b-donut{flex:none;margin:0}.finance-structure .d2b-donut-track,.finance-structure .d2b-donut-slice{stroke-width:14px}.finance-structure .d2b-donut-center strong{letter-spacing:-.03em;font-size:20px}.finance-structure .d2b-legend{flex:180px;gap:4px;min-width:0}.finance-structure .d2b-legend li{grid-template-columns:8px minmax(0,1fr) auto minmax(72px,auto);gap:10px;padding:8px 0;font-size:13px}.finance-structure .d2b-legend em{font-size:12px}.fin-card{border-radius:var(--radius-lg);background:var(--paper);min-width:0;box-shadow:var(--shadow-sm);flex-direction:column;display:flex}.fin-card-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 16px;padding:16px;display:flex}.fin-card-title{flex-wrap:wrap;align-items:center;gap:4px 12px;min-width:0;display:flex}.fin-card-title h2{color:var(--ink);font:700 16px/1.4 var(--font-body);margin:0}.fin-range-chip{border-radius:var(--radius-full);background:var(--surface-2);color:var(--ink-2);padding:4px 10px;font-size:12px;font-weight:600}.fin-clear-filter{border-radius:var(--radius-full);background:var(--danger-soft);height:28px;color:var(--brand-highlight-dark);font:600 12px/1 var(--font-body);cursor:pointer;border:0;align-items:center;gap:4px;padding:0 12px;display:inline-flex}.fin-clear-filter:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.fin-card-tools{flex-wrap:wrap;align-items:center;gap:8px;margin-left:auto;display:flex}.fin-card-tools .filter-pop-trigger{height:32px}.fin-card-tools .d2b-pills>button{min-height:32px;font-size:12px;font-weight:600}.fin-card .filter-pop-panel .search-box{width:100%}.fin-rows{margin:0;padding:0;list-style:none}.fin-row{border-top:1px solid var(--line-soft)}.fin-row-main{width:100%;min-height:62px;color:var(--ink);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:32px minmax(160px,2fr) minmax(0,1fr) minmax(0,1fr) minmax(150px,auto);align-items:center;gap:12px;padding:8px 20px;transition:background .15s;display:grid}.fin-row-main:hover{background:var(--surface-2)}.fin-row-main:focus-visible{outline:2px solid var(--focus-ring);outline-offset:-2px}.fin-sign{border-radius:var(--radius);width:32px;height:32px;font:600 16px/1 var(--font-body);place-items:center;display:grid}.fin-sign.income{background:var(--green-soft);color:var(--green-text)}.fin-sign.expense{background:var(--danger-soft);color:var(--brand-highlight-dark)}.fin-row-title{flex-direction:column;gap:2px;min-width:0;display:flex}.fin-row-title strong{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:600;overflow:hidden}.fin-row-title small{color:var(--muted);font-size:12px}.fin-row-state{margin-left:8px;font-style:normal;font-weight:600}.fin-row-state.is-cancelled{color:var(--danger-dark)}.fin-row-state.is-pending{color:var(--orange-text)}.fin-row-method,.fin-row-date{color:var(--muted);font-size:13px}.fin-row-amount{font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap;font-size:14px;font-weight:600}.fin-row-amount.income{color:var(--green-text)}.fin-row-amount.expense{color:var(--brand-highlight-dark)}.fin-row.is-cancelled .fin-row-title strong,.fin-row.is-cancelled .fin-row-amount{color:var(--muted);text-decoration:line-through}.fin-card .list-pager-arrows{border-top:1px solid var(--line-soft)}.fin-card .empty-state.empty-state,.fin-card .state-box.state-box{min-height:200px;box-shadow:none;background:0 0;border:0;border-radius:0;margin:0;padding:24px 16px 32px}.fin-card .empty-state.empty-state.compact{min-height:160px}.fin-sub-title{color:var(--ink);font:700 18px/1.4 var(--font-body);margin:0 0 12px}@media (width<=1023px){.homikey-finance-workspace .finance-overview{grid-template-columns:minmax(0,1fr)}}@media (width<=767px){.fin-card-head{padding:16px 16px 12px}.fin-card-tools{width:100%;margin-left:0}.fin-row-main{grid-template-columns:32px minmax(0,1fr) auto;gap:2px 12px;padding:10px 16px}.fin-sign{grid-row:1/span 2}.fin-row-method{display:none}.fin-row-date{grid-area:2/2;font-size:12px}.fin-row-amount{grid-area:1/3/span 2}.finance-structure .d2b-structure{justify-content:center}}.bank-workspace,.homikey-deposit-workspace,.homikey-exports-workspace{flex-direction:column;gap:20px;display:flex}.bank-workspace>section.page-heading,.homikey-deposit-workspace>section.page-heading,.homikey-exports-workspace>section.page-heading{margin-bottom:8px}.bank-workspace>.toast{margin:0}.fin-count{color:var(--subtle);font-size:12px}.bank-kpi .kpi-strip-cell,.deposit-kpi .kpi-strip-cell{gap:12px;padding:20px 24px}.bank-kpi .ks-value,.deposit-kpi .ks-value{font-size:24px}.bank-kpi .ks-dot-label{font-size:12px}.bank-workspace .admin-note,.homikey-exports-workspace .admin-note{color:var(--muted);margin:0;font-size:12px}.bank-card>.bank-hint{padding:0 16px 12px}.bank-card.admin-table{margin-bottom:0;overflow:visible}.bank-card .table-wrap,.exports-card .table-wrap{border-top:1px solid var(--line-soft);box-shadow:none;border-radius:0;margin:0}.bank-card td>strong{font-variant-numeric:tabular-nums;font-size:13px;font-weight:600}.bank-card td[data-label=Thời\ gian]{color:var(--ink);font-size:13px;font-weight:600}.bank-card td[data-label=Thời\ gian]>small{font-weight:400}.deposit-directory .deposit-grid{border-top:1px solid var(--line-soft);padding:16px}.exports-card>.list-pager-arrows{border-top:1px solid var(--line-soft)}@media (width<=767px){.deposit-directory .deposit-grid{padding:12px}}.deposit-kpi{grid-template-columns:repeat(auto-fit,minmax(clamp(25%,819180px - 99900%,50%),1fr))}@media (width>=768px){.homikey-reports-workspace .page-heading>div:first-child{flex:320px;min-width:0}}.homikey-reports-workspace{flex-direction:column;gap:20px;display:flex}.homikey-reports-workspace>section.page-heading{margin-bottom:8px}.homikey-reports-workspace .heading-actions{align-items:center;gap:12px}.homikey-reports-workspace .heading-actions>.btn{border-radius:var(--radius);white-space:nowrap;min-height:40px;padding:0 16px;font-size:14px}.report-scope-seg{border-radius:var(--radius-lg);background:var(--paper);box-shadow:var(--shadow-sm);flex-wrap:wrap;gap:4px;padding:4px;display:inline-flex}.report-scope-seg>button{border-radius:var(--radius);max-width:160px;height:32px;color:var(--ink-2);font:500 13px/1 var(--font-body);text-overflow:ellipsis;white-space:nowrap;cursor:pointer;background:0 0;border:0;padding:0 12px;overflow:hidden}.report-scope-seg>button:hover:not(.active){background:var(--surface-2)}.report-scope-seg>button.active{background:var(--line-soft);color:var(--ink)}.report-scope-seg>button:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.d2b-section-title{color:var(--ink);font:600 16px/1.4 var(--font-body);margin:28px 0 14px}.report-overview{gap:20px;display:grid}.report-overview>.d2b-row{margin-bottom:0}.d2b-row.single{grid-template-columns:minmax(0,1fr)}.report-kpi .kpi-strip-cell{gap:12px;padding:20px 24px}.report-kpi .ks-value{font-size:28px}.report-kpi .ks-note{color:var(--subtle);font-size:12px}.report-overview .d2b-row.report-row-1{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr)}.report-overview .d2b-row.report-row-2{grid-template-columns:minmax(0,1fr) minmax(0,1.4fr)}.report-overview .d2b-card{flex-direction:column;gap:16px;padding:16px;display:flex}.report-overview .d2b-card-head{margin-bottom:0}.report-overview .d2b-card-head h2{font-weight:700}.report-buildings{gap:0;margin:0;padding:0;list-style:none;display:grid}.report-buildings>li{border-top:1px solid var(--line-soft);gap:8px;padding:12px 0;display:grid}.report-buildings>li>div:first-child{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.report-buildings strong{color:var(--ink);font-size:13px;font-weight:600}.report-buildings span{color:var(--muted);font-size:13px}.report-bar-row{grid-template-columns:70px minmax(0,1fr) 48px;align-items:center;gap:12px;display:grid}.report-bar-row>span{color:var(--muted);font-size:12px}.report-bar-row>em{color:var(--ink);text-align:right;font-variant-numeric:tabular-nums;font-size:12px;font-style:normal;font-weight:600}.report-bar-row .d2b-bar{height:6px}.report-aging{border-radius:var(--radius-sm);gap:4px;height:12px;display:flex;overflow:hidden}.report-aging>i{min-width:4px;display:block}.report-aging>i.a0,.d2b-swatch.a0{background:var(--control-line)}.report-aging>i.a1,.d2b-swatch.a1{background:var(--accent)}.report-aging>i.a2,.d2b-swatch.a2{background:var(--orange)}.report-aging>i.a3,.d2b-swatch.a3{background:var(--brand-highlight)}.report-aging>i.a4,.d2b-swatch.a4{background:var(--danger)}.report-aging-legend{gap:12px}.report-aging-legend li{grid-template-columns:10px minmax(0,1fr) auto;gap:12px;font-size:13px}.report-aging-legend .d2b-swatch{border-radius:3px;width:10px;height:10px}.report-aging-legend strong{min-width:0}.report-row-2>.d2b-card:last-child{gap:0;padding:0;overflow:hidden}.report-row-2>.d2b-card:last-child>.d2b-card-head{padding:16px 16px 12px}.report-ranking{margin:0;padding:0;list-style:none;display:grid}.report-ranking>li{border-top:1px solid var(--line-soft);grid-template-columns:28px minmax(70px,1fr) minmax(0,1fr) minmax(120px,auto);align-items:center;gap:12px;padding:14px 20px;font-size:13px;display:grid}.report-ranking>li:hover{background:var(--surface-2)}.report-ranking .rank{color:var(--subtle);font-weight:600}.report-ranking strong{color:var(--ink);font-weight:600}.report-ranking em{min-width:0;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-style:normal;overflow:hidden}.report-ranking b{color:var(--ink);font-variant-numeric:tabular-nums;white-space:nowrap;text-align:right;font-weight:600}.report-library-card{border-radius:var(--radius-lg);background:var(--paper);min-width:0;box-shadow:var(--shadow-sm);flex-direction:column;display:flex;overflow:hidden}.report-library-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:4px 12px;padding:20px 24px 12px;display:flex}.report-library-head h2{color:var(--ink);font:700 16px/1.4 var(--font-body);margin:0}.report-library-head>span{color:var(--muted);font-size:12px}.report-library-rows{margin:0;padding:0;list-style:none}.report-library-row{border:0;border-top:1px solid var(--line-soft);width:100%;min-height:68px;color:var(--ink);font:inherit;text-align:left;cursor:pointer;background:0 0;align-items:center;gap:16px;padding:12px 24px;transition:background .15s;display:flex}.report-library-row:hover{background:var(--surface-2)}.report-library-row:focus-visible{outline:2px solid var(--focus-ring);outline-offset:-2px}.report-glyph{border-radius:var(--radius);background:var(--surface-2);width:36px;height:36px;box-shadow:inset 0 0 0 1px var(--line);color:var(--accent-light);font:700 12px/1 var(--font-body);flex:none;place-items:center;display:grid}.report-library-name{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.report-library-name strong{color:var(--ink);font-size:15px;font-weight:600}.report-library-name small{color:var(--muted);font-size:13px}.report-library-figure{color:var(--ink);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:15px;font-weight:600}.report-library-row>.icon{color:var(--subtle);flex:none}.homikey-reports-workspace .report-filter-panel{border-radius:var(--radius-lg)}.homikey-reports-workspace .report-metrics .foundation-card>small{color:var(--muted);letter-spacing:0;text-transform:none;font-size:12px;font-weight:400}@media (width<=1023px){.report-overview .d2b-row.report-row-1,.report-overview .d2b-row.report-row-2{grid-template-columns:minmax(0,1fr)}}@media (width<=767px){.report-scope-seg{width:100%}.report-bar-row{grid-template-columns:56px minmax(0,1fr) 44px}.report-ranking>li{grid-template-columns:24px minmax(0,1fr) auto;row-gap:2px;padding:12px 16px}.report-ranking em{grid-area:2/2}.report-ranking b{grid-area:1/3/span 2}.report-library-head{padding:16px 16px 12px}.report-library-row{gap:12px;padding:12px 16px}.report-library-figure{font-size:14px}}:is(.homikey-invoice-workspace,.homikey-meter-workspace,.homikey-finance-workspace,.homikey-reports-workspace,.homikey-deposit-workspace,.bank-workspace) :is(.empty-state,.state-box){border-radius:var(--radius-lg);background:var(--paper);min-height:240px;box-shadow:var(--shadow-sm);border:0;gap:6px;padding:32px 24px}:is(.homikey-invoice-workspace,.homikey-meter-workspace,.homikey-finance-workspace,.homikey-reports-workspace,.homikey-deposit-workspace,.bank-workspace) .empty-state>span:first-child,:is(.homikey-invoice-workspace,.homikey-meter-workspace,.homikey-finance-workspace,.homikey-reports-workspace,.homikey-deposit-workspace,.bank-workspace) .state-icon{background:var(--line-soft);width:44px;height:44px;color:var(--accent-light)}:is(.homikey-invoice-workspace,.homikey-meter-workspace,.homikey-finance-workspace,.homikey-reports-workspace,.homikey-deposit-workspace,.bank-workspace) .error-state .state-icon{background:var(--danger-soft);color:var(--danger-dark)}:is(.homikey-invoice-workspace,.homikey-meter-workspace,.homikey-finance-workspace,.homikey-reports-workspace,.homikey-deposit-workspace,.bank-workspace) :is(.empty-state h2,.state-box strong){color:var(--ink);font:600 16px/1.4 var(--font-body);margin:12px 0 2px}:is(.homikey-invoice-workspace,.homikey-meter-workspace,.homikey-finance-workspace,.homikey-reports-workspace,.homikey-deposit-workspace,.bank-workspace) :is(.empty-state p,.state-box span){max-width:52ch;color:var(--muted);margin:0 0 8px;font-size:13px;line-height:1.6}:is(.homikey-invoice-workspace,.homikey-meter-workspace,.homikey-finance-workspace,.homikey-reports-workspace,.homikey-deposit-workspace,.bank-workspace) .empty-state.compact{min-height:160px;box-shadow:none;background:0 0;margin:0;padding:16px}.receipt-layout{gap:var(--sp-4);grid-template-columns:1.1fr .9fr;display:grid}.receipt-layout>section{min-width:0}.allocation-preview{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);gap:var(--sp-2);flex-direction:column;padding:16px;display:flex}.allocation-preview header{margin-bottom:var(--sp-2);padding-bottom:var(--sp-2);border-bottom:1px solid var(--line)}.allocation-preview header strong{font-size:var(--text-sm);display:block}.allocation-preview header small{color:var(--muted);margin-top:2px;font-size:11px;display:block}.allocation-preview>div{justify-content:space-between;align-items:flex-start;gap:var(--sp-3);border-bottom:1px solid var(--line-soft);font-size:var(--text-sm);padding:8px 0;display:flex}.allocation-preview>div:last-of-type{border:0}.allocation-preview>div span{flex:1;min-width:0}.allocation-preview>div span strong,.allocation-preview>div span small{display:block}.allocation-preview>div span small{color:var(--muted);margin-top:2px;font-size:11px}.allocation-preview>div b{white-space:nowrap;color:var(--accent);font-weight:700}.allocation-preview>footer{padding-top:var(--sp-3);border-top:2px solid var(--ink);font-size:var(--text-sm);justify-content:space-between;align-items:center;font-weight:600;display:flex}.allocation-preview>p{color:var(--muted);font-size:var(--text-sm)}.attachment-box{align-items:center;gap:var(--sp-3);padding:var(--sp-3);border:1px dashed var(--line);border-radius:var(--radius);cursor:pointer;transition:border-color .15s,background .15s;display:flex;position:relative}.attachment-box:hover{border-color:var(--accent);background:var(--accent-softer)}.attachment-box:focus-within{outline:2px solid var(--focus-ring,var(--accent));outline-offset:2px}.attachment-box.required{border-color:var(--danger);background:var(--danger-soft)}.attachment-box strong{font-size:var(--text-sm);display:block}.attachment-box small{color:var(--muted);margin-top:2px;font-size:11px;display:block}.reversal-warning{align-items:flex-start;gap:var(--sp-3);padding:var(--sp-3);background:var(--orange-soft);border-radius:var(--radius);color:var(--orange-dark);margin-bottom:var(--sp-4);display:flex}.reversal-warning strong{font-size:var(--text-sm);display:block}.reversal-warning small{color:var(--orange-text);margin-top:2px;font-size:11px;display:block}.reversal-warning span{flex:1}.deposit-icon{border-radius:var(--radius-md);background:var(--accent-soft);width:42px;height:42px;color:var(--accent);place-items:center;display:grid}.deposit-balance{background:var(--surface);border-radius:var(--radius);padding:var(--sp-3) var(--sp-4);border:1px solid var(--line-soft)}.deposit-balance span{color:var(--muted);font-size:11px;display:block}.deposit-balance strong{font:700 22px/1.2 var(--font-heading);margin:4px 0 2px;display:block}.deposit-balance small{color:var(--muted);font-size:11px;display:block}.deposit-action-summary{padding:var(--sp-3) var(--sp-4);background:var(--surface);border-radius:var(--radius);margin-bottom:var(--sp-4);font-size:var(--text-sm);justify-content:space-between;align-items:center;display:flex}.deposit-action-summary strong{font:700 20px/1 var(--font-heading)}.readiness-score{font-size:var(--text-sm);color:var(--muted)}.readiness-score strong{color:var(--ink);font-weight:700}.security-overview{gap:var(--sp-4);margin-bottom:var(--sp-4);grid-template-columns:repeat(3,1fr);display:grid}.security-overview article{border-radius:var(--radius-lg);padding:var(--sp-5);align-items:flex-start;gap:var(--sp-3);box-shadow:var(--shadow-sm);background:#fff;border:1px solid #0000;display:flex}.security-shield{border-radius:var(--radius-md);background:var(--accent-soft);width:44px;height:44px;color:var(--accent);flex-shrink:0;place-items:center;display:grid}.security-overview article>div small{color:var(--muted);font-size:11px;display:block}.security-overview article>div strong{font-size:var(--text-md);margin:4px 0;font-weight:700;display:block}.security-overview article>div p{color:var(--muted);margin:0;font-size:11px}.readiness-list.panel{margin-bottom:var(--sp-4)}.readiness-list article{align-items:flex-start;gap:var(--sp-3);padding:var(--sp-4) var(--sp-5);border-bottom:1px solid var(--line-soft);display:flex}.readiness-list article:last-child{border:0}.control-status{border-radius:50%;flex-shrink:0;place-items:center;width:34px;height:34px;display:grid}.control-status.ready{background:var(--green-soft);color:var(--green-text)}.control-status.deferred{background:var(--orange-soft);color:var(--orange-text)}.control-status.missing,.control-status.pending{background:var(--danger-soft);color:var(--danger)}.readiness-list article>div{flex:1;min-width:0}.readiness-list article strong{font-size:var(--text-sm);display:block}.readiness-list article small{color:var(--muted);margin-top:3px;font-size:11px;display:block}.readiness-label{border-radius:var(--radius-full);white-space:nowrap;padding:4px 9px;font-size:11px;font-weight:600}.readiness-label.ready{background:var(--green-soft);color:var(--green-text)}.readiness-label.deferred{background:var(--orange-soft);color:var(--orange-text)}.readiness-label.missing,.readiness-label.pending{background:var(--danger-soft);color:var(--danger)}.notification-editor{gap:var(--sp-3);flex-direction:column;display:flex}.notification-editor textarea{border:1px solid var(--line);border-radius:var(--radius);width:100%;min-height:160px;padding:var(--sp-3);font-size:var(--text-base);resize:vertical}.notification-editor textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 10%, transparent);outline:0}.notification-preview-box{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:var(--sp-4);font-size:var(--text-sm);color:var(--ink-2);white-space:pre-wrap;line-height:1.65}.team-grid{gap:var(--sp-4);grid-template-columns:repeat(auto-fill,minmax(300px,1fr));display:grid}.team-card{border-radius:var(--radius-lg);padding:var(--sp-5);box-shadow:var(--shadow-sm);gap:var(--sp-3);background:#fff;border:1px solid #0000;flex-direction:column;display:flex}.team-card header{justify-content:space-between;align-items:flex-start;gap:var(--sp-3);display:flex}.audit-timeline{margin-top:var(--sp-4)}.amount-in{color:var(--green-text);white-space:nowrap;font-weight:700}.amount-out{color:var(--danger);white-space:nowrap;font-weight:700}.cancelled-row td{opacity:.55;text-decoration:line-through}.badge.COMPLETED,.badge.completed{color:var(--green-text);background:var(--green-soft)}.badge.CANCELLED,.badge.cancelled{color:var(--muted);background:var(--surface-2)}@media (width<=1023px){.receipt-layout,.security-overview{grid-template-columns:1fr}}@media (width<=767px){.receipt-layout,.security-overview,.team-grid{grid-template-columns:1fr}}.automation-config.panel{padding:var(--sp-5);margin-bottom:var(--sp-4)}.automation-config>div{margin-bottom:var(--sp-4);padding-bottom:var(--sp-4);border-bottom:1px solid var(--line-soft)}.automation-config>div h2{font-size:var(--text-md);margin-bottom:4px}.automation-config>div p{color:var(--muted);font-size:var(--text-sm);margin:0}.automation-config>label{align-items:center;gap:var(--sp-4);padding:var(--sp-3) 0;border-bottom:1px solid var(--line-soft);display:flex}.automation-config>label>span{font-size:var(--text-sm);color:#5f615d;min-width:150px;font-weight:600}.automation-config>label>div{align-items:center;gap:var(--sp-2);display:flex}.automation-config>label input[type=number]{border:1px solid var(--line);border-radius:var(--radius);width:64px;height:36px;padding:0 var(--sp-2);font-size:var(--text-base)}.automation-config>label>b{color:var(--muted);font-style:normal}.automation-config>label input[type=text],.automation-config>label>input:not([type=checkbox]):not([type=number]){border:1px solid var(--line);border-radius:var(--radius);height:36px;padding:0 var(--sp-3);font-size:var(--text-base);flex:1}.automation-config>label>small{color:var(--muted);font-size:11px}.automation-config>label.toggle-label{align-items:center;gap:var(--sp-3);display:flex}.toggle-label span strong{font-size:var(--text-sm);display:block}.toggle-label span small{color:var(--muted);margin-top:1px;font-size:11px;display:block}.notification-layout{gap:var(--sp-4);margin-bottom:var(--sp-4);grid-template-columns:1.2fr .8fr;display:grid}.template-tabs{padding:0 var(--sp-5) 0;border-bottom:1px solid var(--line);gap:2px;display:flex;overflow-x:auto}.template-tabs button{color:var(--muted);font-size:var(--text-sm);white-space:nowrap;background:0 0;border:0;border-bottom:2px solid #0000;flex-direction:column;align-items:center;gap:2px;padding:9px 14px 11px;transition:color .15s;display:flex}.template-tabs button small{color:var(--subtle);font-size:10px}.template-tabs button.active{color:var(--accent);border-bottom-color:var(--accent);font-weight:600}.editor-body{padding:var(--sp-5);gap:var(--sp-4);flex-direction:column;display:flex}.editor-body>label{flex-direction:column;gap:6px;display:flex}.editor-body>label>span{font-size:var(--text-sm);color:#5f615d;font-weight:600}.editor-body>label input{border:1px solid var(--line);border-radius:var(--radius);width:100%;height:40px;padding:0 var(--sp-3);font-size:var(--text-base)}.editor-body>label input:focus,.editor-body>label textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 10%, transparent);outline:0}.editor-body>label textarea{border:1px solid var(--line);border-radius:var(--radius);width:100%;min-height:120px;padding:var(--sp-3);font-size:var(--text-base);resize:vertical;line-height:1.55}.variable-chips{gap:var(--sp-1);flex-wrap:wrap;display:flex}.variable-chips button{border:1px solid var(--accent-soft);border-radius:var(--radius-sm);background:var(--accent-softer);color:var(--accent);padding:4px 10px;font-family:monospace;font-size:11px;font-weight:600;transition:background .15s,border-color .15s}.variable-chips button:hover{background:var(--accent-soft);border-color:var(--accent)}.editor-actions{justify-content:flex-end;gap:var(--sp-2);padding-top:var(--sp-2);border-top:1px solid var(--line-soft);flex-wrap:wrap;display:flex}.template-kept-draft{gap:var(--sp-1);margin:var(--sp-3) 0;padding:var(--sp-3);border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-2);font-size:var(--text-sm);display:grid}.template-kept-draft>p{color:var(--ink-2);margin:0;line-height:1.5}.template-kept-draft small{color:var(--muted);font-size:var(--text-xs);font-weight:600}.template-kept-draft .template-kept-draft-text{white-space:pre-wrap;overflow-wrap:anywhere;color:var(--ink)}.template-kept-draft-actions{gap:var(--sp-2);margin-top:var(--sp-1);flex-wrap:wrap;display:flex}.editor-actions .template-no-manual{font-size:var(--text-xs);color:var(--muted);text-align:left;flex:260px;align-self:center;margin:0;line-height:1.5}.overdue-reminder-scope dl{margin:0 0 var(--sp-3);display:grid}.overdue-reminder-scope dl>div{gap:var(--sp-2);padding:var(--sp-2) 0;border-bottom:1px solid var(--line-soft);grid-template-columns:8.5rem minmax(0,1fr);display:grid}.overdue-reminder-scope dt{color:var(--muted);font-size:var(--text-sm)}.overdue-reminder-scope dd{overflow-wrap:anywhere;margin:0;font-weight:600}.overdue-reminder-notes{margin:0 0 var(--sp-3);font-size:var(--text-sm);color:var(--ink-2);gap:4px;padding-left:1.1rem;line-height:1.5;display:grid}.overdue-reminder-hint{font-size:var(--text-xs);color:var(--muted);align-items:center;gap:6px;margin:0;display:flex}@media (width<=480px){.overdue-reminder-scope dl>div{grid-template-columns:1fr;gap:2px}}.phone-preview{background:#1c1c1e;border-radius:36px;justify-self:center;max-width:320px;position:relative;overflow:hidden;box-shadow:0 20px 60px #00000059}.phone-speaker{background:#38383a;border-radius:3px;width:80px;height:6px;margin:14px auto 0}.phone-preview>header{align-items:center;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);background:#2c2c2e;border-bottom:1px solid #38383a;display:flex}.phone-preview>header>div strong{font-size:var(--text-sm);color:#fff;display:block}.phone-preview>header>div small{color:#8e8e93;margin-top:2px;font-size:11px;display:block}.message-bubble{background:var(--accent);padding:var(--sp-3) var(--sp-4);margin:var(--sp-4) var(--sp-4) var(--sp-8);color:#fff;border-radius:18px 18px 4px}.message-bubble strong{font-size:var(--text-sm);margin-bottom:var(--sp-1);display:block}.message-bubble p{font-size:var(--text-sm);margin:0 0 var(--sp-2);opacity:.92;line-height:1.55}.message-bubble small{opacity:.7;float:right;font-size:10px}.delivery-logs{margin-top:var(--sp-4)}.delivery-status{border-radius:var(--radius-sm);padding:3px 8px;font-size:11px;font-weight:600}.delivery-status.sent,.delivery-status.delivered{background:var(--green-soft);color:var(--green-text)}.delivery-status.failed{background:var(--danger-soft);color:var(--danger)}.delivery-status.skipped{background:var(--surface-2);color:var(--muted)}@media (width<=1023px){.notification-layout{grid-template-columns:1fr}.phone-preview{display:none}}@media (width<=767px){.automation-config>label{align-items:flex-start;gap:var(--sp-2);flex-direction:column}.template-tabs{overflow-x:auto}.editor-actions{flex-direction:column}.editor-actions .btn{width:100%}}.bell-icon-btn{transition:transform .15s}.bell-icon-btn:hover{transform:scale(1.05)}.topbar-bell-badge{animation:2.5s infinite bellPulse}@keyframes bellPulse{0%,to{transform:scale(1)}50%{transform:scale(1.12)}}@media (width<=767px){.manual-send-flow>div[style*="grid-template-columns: minmax"]{grid-template-columns:1fr!important}}.team-summary-bar{gap:var(--sp-3);margin-bottom:var(--sp-4);flex-wrap:wrap;display:flex}.team-summary-stat{border:1px solid var(--line);border-radius:var(--radius);align-items:center;gap:var(--sp-3);background:#fff;flex:1;min-width:150px;padding:14px 18px;display:flex;box-shadow:0 1px 3px #00000005}.team-summary-stat .stat-icon{background:var(--surface-2);width:38px;height:38px;color:var(--accent);border-radius:10px;place-items:center;display:grid}.team-summary-stat strong{font-size:1.25rem;font-weight:700;line-height:1.2;display:block}.team-summary-stat small{color:var(--muted);font-size:11px}.security-tabs{border-bottom:1px solid var(--line);margin-bottom:var(--sp-5);gap:6px;padding-bottom:2px;display:flex;overflow-x:auto}.security-tab-btn{color:var(--muted);border-radius:var(--radius) var(--radius) 0 0;cursor:pointer;white-space:nowrap;background:0 0;border:0;border-bottom:2px solid #0000;align-items:center;gap:8px;padding:10px 18px;font-size:14px;font-weight:600;transition:all .15s;display:flex}.security-tab-btn:hover{color:var(--ink);background:#00000005}.security-tab-btn.active{color:var(--accent);border-bottom-color:var(--accent);background:0 0}.password-meter-wrap{background:var(--surface,#f8f9fa);border:1px solid var(--line);border-radius:var(--radius);margin-top:8px;padding:12px}.password-meter-bar{background:#e2e8f0;border-radius:3px;height:6px;margin-bottom:8px;overflow:hidden}.password-meter-fill{height:100%;transition:width .3s,background-color .3s}.password-meter-fill.strength-0{background:#e2e8f0;width:0%}.password-meter-fill.strength-1{background:#ef4444;width:25%}.password-meter-fill.strength-2{background:#f59e0b;width:50%}.password-meter-fill.strength-3{background:#3b82f6;width:75%}.password-meter-fill.strength-4{background:#10b981;width:100%}.password-rules-list{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:6px;margin-top:8px;display:grid}.password-rule-item{color:var(--muted);align-items:center;gap:6px;font-size:11px;display:flex}.password-rule-item.valid{color:#10b981;font-weight:500}.session-card-list{flex-direction:column;gap:12px;display:flex}.session-card{border:1px solid var(--line);border-radius:var(--radius);background:#fff;justify-content:space-between;align-items:center;padding:16px;transition:box-shadow .15s;display:flex}.session-card:hover{box-shadow:0 3px 8px #00000008}.session-card.is-current{border-color:var(--accent);background:var(--accent-soft,#f5f3ff)}.session-info{align-items:center;gap:14px;display:flex}.session-icon{background:var(--surface,#f1f5f9);width:42px;height:42px;color:var(--accent);border-radius:10px;flex-shrink:0;place-items:center;display:grid}.session-details strong{align-items:center;gap:8px;font-size:14px;display:flex}.session-details small{color:var(--muted);margin-top:3px;font-size:12px;display:block}.perm-matrix-wrap{flex-direction:column;gap:18px;max-height:480px;padding-right:6px;display:flex;overflow-y:auto}.perm-module-card{border:1px solid var(--line);border-radius:var(--radius);background:#fff;overflow:hidden}.perm-module-header{background:var(--surface,#f8fafc);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.perm-module-header strong{font-size:13px}.perm-module-header small{color:var(--muted);font-size:11px;display:block}.perm-checkbox-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:10px;padding:14px 16px;display:grid}.perm-item-label{cursor:pointer;border:1px solid #0000;border-radius:6px;align-items:flex-start;gap:10px;padding:8px 10px;transition:all .12s;display:flex}.perm-item-label:hover{background:var(--surface,#f1f5f9)}.perm-item-label.checked{background:var(--accent-soft,#f5f3ff);border-color:color-mix(in srgb, var(--accent) 20%, transparent)}.perm-item-label input[type=checkbox]{margin-top:3px}.perm-item-label strong{font-size:12px;display:block}.perm-item-label small{color:var(--muted);margin-top:2px;font-size:11px;display:block}.event-badge{border-radius:var(--radius-full);align-items:center;gap:5px;padding:3px 8px;font-size:11px;font-weight:600;display:inline-flex}.event-badge.login-success{color:#15803d;background:#dcfce7}.event-badge.login-failed{color:#b91c1c;background:#fee2e2}.event-badge.password{color:#4338ca;background:#e0e7ff}.event-badge.lock{color:#b45309;background:#fef3c7}.event-badge.permission{color:#7e22ce;background:#f3e8ff}:is(.homikey-notifications-workspace,.homikey-team-workspace,.homikey-audit-workspace,.homikey-security-workspace){min-width:0}:is(.homikey-security-workspace,.homikey-team-dialog) .security-tabs{border-bottom:1px solid var(--line);gap:8px;margin:0 0 24px;padding:0;display:flex;overflow-x:auto}:is(.homikey-security-workspace,.homikey-team-dialog) .security-tab-btn{color:var(--muted);font:600 13px var(--font-body);white-space:nowrap;cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;border-radius:0;flex-shrink:0;align-items:center;gap:8px;padding:14px 16px;display:inline-flex}:is(.homikey-security-workspace,.homikey-team-dialog) .security-tab-btn:hover{background:var(--accent-softer);color:var(--accent)}:is(.homikey-security-workspace,.homikey-team-dialog) .security-tab-btn.active{border-bottom-color:var(--accent);color:var(--accent);background:0 0}.notification-header-actions{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.homikey-notifications-workspace .search-box{flex:220px;min-width:0}.notification-delivery-error{color:var(--danger-dark);text-align:left;font-size:12px;line-height:1.6}.homikey-notifications-workspace .delivery-logs{overflow:hidden}.homikey-notifications-workspace .delivery-logs .table-wrap{border:0;border-radius:0;margin:0}.homikey-notifications-workspace .delivery-logs table{min-width:900px}.homikey-notifications-workspace .notification-layout{grid-template-columns:minmax(0,1fr) minmax(260px,340px);align-items:start;gap:24px}.homikey-notifications-workspace .template-editor{min-width:0}.homikey-notifications-workspace .template-tabs{padding-inline:20px}.homikey-notifications-workspace .template-tabs button{cursor:pointer}.homikey-notifications-workspace .template-tabs button:hover{background:var(--accent-softer)}.homikey-notifications-workspace .editor-body{padding:24px}.notification-template-fields,.notification-gateway-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.notification-config-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:24px;display:grid}.notification-config-grid>article,.notification-config-grid .field{min-width:0}.notification-config-grid .field>div{flex-wrap:wrap;min-width:0}.notification-config-grid .field input[type=password],.notification-config-grid .field input[type=text]{flex:1;min-width:0}.notification-config-grid .field>div small{flex-basis:100%}.homikey-notifications-workspace .phone-preview{border-color:var(--accent-dark);width:100%;max-width:340px;margin-inline:auto}.notification-preview-caption{color:var(--muted);text-align:center;font-size:12px;line-height:1.7}.homikey-notification-dialog .notification-send-fields{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:20px;display:grid}.notification-send-columns{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;display:grid}.notification-send-columns>div,.notification-recipient-row{min-width:0}.notification-recipient-preview{text-align:left;min-width:0;font:inherit;color:var(--ink);cursor:pointer;background:0 0;border:0;flex:1;padding:0}.notification-recipient-preview:hover{color:var(--accent)}.notification-recipient-heading{flex-wrap:wrap;gap:8px}.homikey-notification-dialog .segmented{flex-wrap:wrap}.homikey-team-workspace .table-wrap{border-radius:var(--radius-lg)}.homikey-team-workspace table{min-width:560px}.homikey-team-workspace .user-cell{min-width:220px}.homikey-team-workspace .avatar{background:var(--accent-soft);color:var(--accent);border-radius:var(--radius)}.homikey-team-workspace .scope-list span{background:var(--surface);color:var(--ink-2);border-color:var(--line)}.homikey-team-workspace .mobile-card-top>div{min-width:0}.homikey-team-workspace .mobile-card-top small{overflow-wrap:anywhere}.homikey-team-dialog .security-tabs{margin:0}.homikey-team-dialog .perm-matrix-wrap{max-height:none;padding:0;overflow:visible}.homikey-team-dialog .perm-item-label.checked{background:var(--accent-soft);border-color:var(--accent)}.homikey-team-dialog .perm-checkbox-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.homikey-team-dialog .perm-item-label{min-width:0}.homikey-audit-workspace .toolbar .segmented{flex-wrap:wrap}.homikey-audit-workspace .timeline{padding:0 24px}.homikey-audit-workspace .timeline article{gap:16px;padding-block:24px}.homikey-audit-workspace .timeline article>div{flex:1;min-width:0}.homikey-audit-workspace .timeline-icon{border-radius:var(--radius);background:var(--accent-soft);color:var(--accent)}.homikey-audit-workspace .timeline article header{gap:12px}.homikey-audit-workspace .timeline time{color:var(--muted)}.homikey-audit-workspace .timeline article p b{color:var(--ink)}.homikey-audit-workspace .change-set{background:var(--surface);border-radius:var(--radius);flex-wrap:wrap;gap:12px;padding:14px}.homikey-audit-workspace .change-set code{color:var(--ink-2);overflow-wrap:anywhere;white-space:normal}.homikey-security-workspace>.panel{padding:24px}.homikey-security-workspace .security-account-panel{max-width:760px}.homikey-security-workspace .security-account-form{grid-template-columns:minmax(0,1fr);gap:24px;max-width:560px}.security-account-form .field{min-width:0}.security-account-form input[type=password],.security-account-form input[autocomplete=current-password],.security-account-form input[autocomplete=new-password]{padding-right:52px}.homikey-security-workspace .session-card{border-radius:var(--radius);gap:16px}.homikey-security-workspace .session-info{min-width:0}.homikey-security-workspace .session-details{overflow-wrap:anywhere;min-width:0}.homikey-security-workspace .session-details strong{flex-wrap:wrap}.homikey-security-workspace .session-card.is-current{background:var(--accent-softer)}.homikey-security-workspace .search-box{flex:1;min-width:0}.homikey-security-workspace .security-log-toolbar{flex-wrap:wrap;gap:12px;margin-bottom:16px;display:flex}.homikey-security-workspace .security-log-toolbar .search-box{flex:260px}.homikey-security-workspace .security-log-toolbar select{flex:0 200px;width:200px;max-width:100%}@media (width<=767px){.homikey-security-workspace .security-log-toolbar select{flex:100%;width:100%}}.homikey-security-workspace .table-wrap table{min-width:850px}.homikey-security-workspace .security-overview article{padding:24px}.homikey-security-workspace .readiness-list article{gap:16px}.homikey-security-workspace .password-rule-item.valid{color:var(--green-dark)}.homikey-security-workspace .password-meter-fill.strength-1{background:var(--danger)}.homikey-security-workspace .password-meter-fill.strength-2{background:var(--orange)}.homikey-security-workspace .password-meter-fill.strength-3{background:var(--accent)}.homikey-security-workspace .password-meter-fill.strength-4{background:var(--green)}.homikey-security-workspace .event-badge.login-success{background:var(--green-soft);color:var(--green-dark)}.homikey-security-workspace .event-badge.login-failed{background:var(--danger-soft);color:var(--danger-dark)}.homikey-security-workspace .event-badge.password,.homikey-security-workspace .event-badge.permission{background:var(--accent-soft);color:var(--accent)}.homikey-security-workspace .event-badge.lock{background:var(--orange-soft);color:var(--orange-dark)}@media (width<=1023px){.notification-config-grid,.homikey-notifications-workspace .notification-layout{grid-template-columns:1fr}.homikey-notifications-workspace .phone-preview{display:block}}@media (width<=767px){.notification-header-actions{width:100%}.notification-header-actions .select-building{flex:100%;min-width:0}.notification-header-actions select{width:100%;min-width:0}.homikey-notifications-workspace .delivery-logs .panel-head>.btn{display:none}.notification-config-grid>article{padding:20px 16px!important}.notification-config-grid>article>div>label>div{flex-wrap:wrap}.notification-gateway-fields,.notification-template-fields{grid-template-columns:1fr}.homikey-notifications-workspace .editor-body{padding:16px}.homikey-notifications-workspace .editor-actions{flex-wrap:wrap;gap:12px}.homikey-notifications-workspace .editor-actions>button{flex:200px}.homikey-notification-dialog .notification-send-fields,.notification-send-columns,.homikey-team-dialog .perm-checkbox-grid{grid-template-columns:1fr}.homikey-team-dialog .perm-module-header,.homikey-team-workspace .mobile-card-top{flex-wrap:wrap;gap:12px}.homikey-team-workspace .mobile-card-footer .btn{flex:1}.homikey-audit-workspace .timeline{padding-inline:16px}.homikey-audit-workspace .timeline article header{flex-direction:column;align-items:flex-start}.homikey-security-workspace>.panel{padding:20px 16px}.homikey-security-workspace .panel-head{flex-wrap:wrap;gap:16px}.homikey-security-workspace .session-card{flex-direction:column;align-items:stretch}.homikey-security-workspace .session-info{align-items:flex-start;gap:12px}.homikey-security-workspace .readiness-list article{flex-wrap:wrap}.homikey-security-workspace .readiness-label{margin-left:48px}.homikey-security-workspace .security-note-card{align-items:flex-start}}.homikey-notifications-workspace .delivery-logs>div>div>select,.homikey-security-workspace select{border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);min-height:44px;color:var(--ink);font-family:var(--font-body)}.freetext-notification-dialog .freetext-form{gap:16px;display:grid}.freetext-fieldset{border:1px solid var(--line);border-radius:var(--radius);gap:12px;min-width:0;margin:0;padding:14px 16px;display:grid}.freetext-fieldset>legend{letter-spacing:.04em;text-transform:uppercase;color:var(--muted);padding-inline:6px;font-size:12px;font-weight:700}.freetext-note{color:var(--muted);margin:0;font-size:13px;line-height:1.5}.freetext-count{color:var(--muted);font-size:12px}.freetext-checklist{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;max-height:220px;padding:2px;display:grid;overflow-y:auto}.freetext-checklist>.freetext-note,.freetext-checklist>.state-box,.freetext-group-label{grid-column:1/-1}.freetext-group-label{letter-spacing:.04em;text-transform:uppercase;color:var(--muted);padding-top:6px;font-size:12px;font-weight:600}.freetext-channels{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.freetext-check{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--paper);cursor:pointer;flex-wrap:wrap;align-items:center;gap:4px 10px;min-width:0;padding:10px 12px;display:flex}.freetext-check:has(input:checked){border-color:var(--accent);background:var(--accent-softer)}.freetext-check input{margin:0}.freetext-check span{color:var(--ink);overflow-wrap:anywhere;font-size:13px;font-weight:600}.freetext-check small{color:var(--muted);flex-basis:100%;padding-left:26px;font-size:11px}.freetext-confirm{gap:14px;display:grid}.freetext-lead{color:var(--ink);margin:0;font-size:15px}.freetext-summary{gap:10px;margin:0;display:grid}.freetext-summary>div{border-top:1px solid var(--line);grid-template-columns:110px minmax(0,1fr);gap:12px;padding:10px 0;display:grid}.freetext-summary dt{color:var(--muted);font-size:12px;font-weight:600}.freetext-summary dd{color:var(--ink);overflow-wrap:anywhere;flex-wrap:wrap;gap:6px;margin:0;font-size:13px;display:flex}.freetext-body-preview{white-space:pre-wrap;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-2);max-height:220px;padding:10px 12px;overflow-y:auto;display:block!important}.freetext-done{align-items:flex-start;gap:14px;padding:8px 0;display:flex}.freetext-done p{color:var(--muted);margin:6px 0 0;font-size:13px;line-height:1.55}.freetext-done-icon{background:var(--accent-soft);width:40px;height:40px;color:var(--accent);border-radius:999px;flex:none;place-items:center;display:inline-grid}@media (width<=640px){.freetext-checklist,.freetext-channels{grid-template-columns:1fr}.freetext-summary>div{grid-template-columns:1fr;gap:4px}}.approval-callout.warning{background:var(--orange-soft);color:var(--orange-text);border-color:#f0dfb4}.sepay-key-box{align-items:center;gap:var(--sp-2);border:1px dashed var(--line);border-radius:var(--radius-sm);background:var(--surface-2);flex-wrap:wrap;margin:8px 0;padding:10px 12px;display:flex}.sepay-key-box code{overflow-wrap:anywhere;-webkit-user-select:all;user-select:all;flex:260px;min-width:0;font-size:13px}.sepay-review{font-size:var(--text-sm);gap:8px;margin:0 0 12px;padding-left:20px;line-height:1.55;display:grid}.sepay-steps{font-size:var(--text-sm);margin:8px 0 0}.sepay-steps summary{cursor:pointer;min-height:32px;font-weight:600}.sepay-steps ol{color:var(--ink-2);gap:6px;margin:8px 0 0;padding-left:20px;line-height:1.55;display:grid}.delivery-attempts{gap:8px;margin:0 0 12px;padding:0;list-style:none;display:grid}.delivery-attempts li{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-2);font-size:var(--text-sm);gap:4px;padding:10px 12px;display:grid}.delivery-attempts li.failed{background:var(--danger-soft);border-color:#efd1d3}.delivery-attempts li strong{color:var(--ink)}.delivery-attempts li p{color:var(--ink-2);margin:0;line-height:1.5}.campaign-stats{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px;margin:0 0 12px;display:grid}.campaign-stats>div{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-2);gap:2px;padding:10px 12px;display:grid}.campaign-stats dt{font-size:var(--text-xs);color:var(--muted)}.campaign-stats dd{color:var(--ink);margin:0;font-size:20px;font-weight:700}.campaign-stats small{font-size:var(--text-xs);color:var(--muted);font-weight:400}.doc-expiry-form{flex-wrap:wrap;align-items:flex-end;gap:8px;margin-top:8px;display:flex}.doc-expiry-form label{font-size:var(--text-xs);color:var(--muted);gap:4px;display:grid}.doc-expiry-form .field-error{flex-basis:100%}.btn.ghost.danger-text{color:var(--danger)}.btn.ghost.danger-text:hover:not(:disabled){background:var(--danger-soft);color:var(--danger)}.doc-item-status .action-group{justify-content:flex-end}.homikey-notifications-workspace{flex-direction:column;gap:20px;display:flex}.homikey-notifications-workspace>section.page-heading{margin-bottom:8px}.homikey-notifications-workspace .in-app-center-layout{flex-direction:column;gap:20px;display:flex}.notif-filter-row{align-items:center}.notif-pills{flex-wrap:wrap;gap:8px;display:flex}.notif-pills>button{border-radius:var(--radius-full);background:var(--paper);min-height:36px;box-shadow:inset 0 0 0 1px var(--line);color:var(--ink-2);font:600 13px/1 var(--font-body);white-space:nowrap;cursor:pointer;border:0;align-items:center;gap:8px;padding:0 16px;transition:background .15s,color .15s;display:inline-flex}.notif-pills>button:hover{background:var(--surface-2);color:var(--ink)}.notif-pills>button:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.notif-pills>button[aria-pressed=true],.notif-pills>button[aria-pressed=true]:hover{background:var(--accent);box-shadow:none;color:var(--paper)}.notif-pills .approval-count{min-width:0;color:inherit;opacity:.75;background:0 0;padding:0;font-size:11px;font-weight:600}.notif-columns{grid-template-columns:minmax(0,1.4fr) minmax(280px,1fr);align-items:start;gap:20px;display:grid}.notif-list{border-radius:var(--radius-lg);background:var(--paper);min-width:0;box-shadow:var(--shadow-sm);overflow:hidden}.notif-list>ul{margin:0;padding:0;list-style:none}.notif-list>ul>li+li{border-top:1px solid var(--line-soft)}.notif-row{background:var(--paper);width:100%;color:var(--ink);font:inherit;text-align:left;cursor:pointer;border:0;align-items:flex-start;gap:16px;padding:16px;transition:background .15s;display:flex}.notif-row:hover{background:var(--sand-soft)}.notif-row:focus-visible{outline:2px solid var(--focus-ring);outline-offset:-2px}.notif-row.is-unread{background:var(--cream)}.notif-row.is-selected,.notif-row.is-selected:hover{background:var(--surface-2)}.notif-mark{background:var(--surface-2);width:40px;height:40px;color:var(--muted);font:700 13px/1 var(--font-body);border-radius:10px;flex:none;place-items:center;display:grid}.notif-mark[data-tone=finance]{background:var(--green-soft);color:var(--green-text)}.notif-mark[data-tone=contract]{background:var(--blue-soft);color:var(--accent)}.notif-mark[data-tone=ops]{background:var(--orange-soft);color:var(--orange-dark)}.notif-mark[data-tone=meter]{background:var(--danger-soft);color:var(--brand-highlight-dark)}.notif-row-main{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.notif-row-title{align-items:center;gap:8px;min-width:0;display:flex}.notif-row-title strong{color:var(--ink);overflow-wrap:anywhere;font-size:14px;font-weight:600;line-height:1.4}.notif-row.is-unread .notif-row-title strong{font-weight:700}.notif-unread-dot{background:var(--brand-highlight);border-radius:50%;flex:none;width:7px;height:7px;display:inline-block}.notif-row-text{color:var(--muted);-webkit-line-clamp:2;overflow-wrap:anywhere;-webkit-box-orient:vertical;font-size:13px;line-height:1.45;display:-webkit-box;overflow:hidden}.notif-row-time{color:var(--subtle);white-space:nowrap;flex:none;font-size:12px}.notif-panel{top:calc(var(--topbar-height) + 16px);border-radius:var(--radius-lg);background:var(--paper);min-width:0;box-shadow:var(--shadow-sm);flex-direction:column;gap:16px;padding:20px;display:flex;position:sticky}.notif-panel-type{color:var(--ink-2);flex-wrap:wrap;align-self:flex-start;align-items:center;gap:8px;font-size:12px;font-weight:600;display:inline-flex}.notif-dot{background:var(--subtle);border-radius:50%;flex:none;width:6px;height:6px;display:inline-block}.notif-dot[data-tone=finance]{background:var(--green)}.notif-dot[data-tone=contract]{background:var(--accent)}.notif-dot[data-tone=ops]{background:var(--orange-dark)}.notif-dot[data-tone=meter]{background:var(--brand-highlight-dark)}.notif-urgency{border-radius:var(--radius-full);padding:2px 8px;font-size:11px;font-style:normal;font-weight:700}.notif-urgency.critical{background:var(--danger-soft);color:var(--danger-dark)}.notif-urgency.warning{background:var(--orange-soft);color:var(--orange-text)}.notif-panel-title{color:var(--ink);font:400 26px/1.25 var(--font-display);letter-spacing:-.01em;overflow-wrap:anywhere;margin:0}.notif-panel-time{color:var(--subtle);margin:-6px 0 0;font-size:12px}.notif-panel-body{color:var(--ink-2);white-space:pre-wrap;overflow-wrap:anywhere;margin:0;font-size:14px;line-height:1.6}.notif-panel-status{color:var(--green-text);align-items:center;gap:6px;margin:0;font-size:12px;font-weight:600;display:flex}.notif-panel-status.is-quiet{color:var(--muted);font-weight:400}.notif-panel>.btn{border-radius:var(--radius);width:100%;min-height:40px;font-size:13px;font-weight:600}.notif-panel>.btn.notif-cta{margin-top:6px;font-size:14px}@media (width<=1023px){.notif-columns{grid-template-columns:minmax(0,1fr)}.notif-panel{position:static}}@media (width<=767px){.notif-pills{flex-wrap:nowrap;width:100%;padding-bottom:4px;overflow-x:auto}.notif-pills>button{flex:none;min-height:40px}.notif-row{flex-wrap:wrap;gap:12px;padding:14px}.notif-row-main{flex-basis:calc(100% - 120px)}.notif-row-time{margin-left:auto}.notif-panel-title{font-size:22px}}.foundation-grid{gap:var(--sp-4);margin-bottom:var(--sp-5);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.foundation-card{border-radius:var(--radius-lg);padding:var(--sp-5);box-shadow:var(--shadow-sm);background:#fff;border:1px solid #0000;min-width:0}.foundation-card.accent-card{background:linear-gradient(145deg, var(--accent-softer), white);border-color:var(--accent-soft)}.foundation-card.span-2{grid-column:1/-1}.foundation-card>small{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-weight:600}.foundation-card h2{margin:8px 0;font-size:22px}.foundation-card p{color:var(--muted);font-size:var(--text-sm);line-height:1.6}.card-title{justify-content:space-between;align-items:flex-start;gap:var(--sp-3);display:flex}.card-title h2{margin-top:4px}.detail-list{margin:0}.detail-list>div{justify-content:space-between;gap:var(--sp-4);border-bottom:1px solid var(--line-soft);padding:10px 0;display:flex}.detail-list dt{color:var(--muted)}.detail-list dd{text-align:right;margin:0;font-weight:600}.compact-list{flex-direction:column;display:flex}.compact-list>div:not(.empty-state),.compact-list>article{justify-content:space-between;align-items:flex-start;gap:var(--sp-4);border-bottom:1px solid var(--line-soft);padding:12px 0;display:flex}.compact-list>div:not(.empty-state):last-child,.compact-list>article:last-child{border-bottom:none}.compact-list strong,.compact-list small,.table-wrap td small{display:block}.compact-list strong{font-size:var(--text-sm);color:var(--ink);font-weight:600;line-height:1.4}.compact-list small,.table-wrap td small{color:var(--muted);margin-top:3px}.compact-list small{font-size:var(--text-xs);line-height:1.5}.compact-list .badge{flex-shrink:0;margin-top:2px}.panel.compact-list>div:not(.empty-state),.panel.compact-list>article{padding:14px var(--sp-5);transition:background-color var(--transition)}.panel.compact-list>article:hover{background-color:var(--surface)}.panel.compact-list>div:not(.empty-state):last-child,.panel.compact-list>article:last-child{border-bottom:none}.foundation-form{gap:var(--sp-4);padding:var(--sp-5);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.foundation-form>h2{margin:0}.foundation-form textarea{resize:vertical;min-height:90px}.foundation-form footer{justify-content:flex-end;display:flex}.operations-layout{gap:var(--sp-4);grid-template-columns:minmax(280px,.75fr) minmax(0,1.25fr);align-items:start;display:grid}.operations-layout>div{gap:var(--sp-4);flex-direction:column;min-width:0;display:flex}.inbox-list{overflow:hidden}.inbox-list>button{align-items:flex-start;gap:var(--sp-3);text-align:left;width:100%;padding:var(--sp-4) var(--sp-5);border:0;border-bottom:1px solid var(--line-soft);color:inherit;background:#fff;display:flex}.inbox-list>button.unread{background:var(--accent-softer)}.inbox-list>button>div{flex:1}.inbox-list p{color:var(--muted);margin:4px 0}.inbox-list small{color:var(--muted)}.compact-metrics{grid-template-columns:repeat(4,1fr)}.compact-metrics .metric{min-height:100px}.filter-row{gap:var(--sp-3);margin-bottom:var(--sp-4);grid-template-columns:repeat(3,minmax(180px,240px));display:grid}.filter-row .field,.filter-row select,.filter-row input{min-width:0}.tenant-home-grid .action-card{border-color:color-mix(in srgb, var(--accent) 32%, var(--line));box-shadow:0 8px 24px color-mix(in srgb, var(--accent) 9%, transparent)}.usage-list{padding:var(--sp-5);margin-bottom:var(--sp-4)}.usage-list article{gap:4px var(--sp-4);grid-template-columns:1fr auto;padding:10px 0;display:grid}.usage-list article div small{color:var(--muted);display:block}.usage-list article>span{font-weight:700}.usage-list article>i{background:var(--line-soft);border-radius:999px;grid-column:1/-1;height:7px;overflow:hidden}.usage-list article>i em{background:var(--accent);border-radius:inherit;height:100%;display:block}.plan-actions{padding:var(--sp-5)}.plan-actions>div{gap:var(--sp-3);flex-wrap:wrap;display:flex}.preview-box{margin-top:var(--sp-4);padding:var(--sp-4);border-radius:var(--radius);background:var(--surface);border:1px solid var(--line)}.tag-row{flex-wrap:wrap;gap:6px;display:flex}.tag-row span{background:var(--accent-softer);color:var(--accent);border-radius:999px;padding:5px 9px;font-size:11px;font-weight:700}@media (width<=820px){.foundation-grid,.operations-layout{grid-template-columns:1fr}.foundation-card.span-2{grid-column:auto}.compact-metrics{grid-template-columns:repeat(2,1fr)}}@media (width<=520px){.foundation-grid,.foundation-form{grid-template-columns:1fr}.foundation-form .span-2{grid-column:auto}.tenant-home-grid .foundation-card{padding:var(--sp-4)}.compact-metrics{grid-template-columns:1fr 1fr}.filter-row{grid-template-columns:1fr}.filter-row label,.filter-row select,.filter-row input{width:100%;min-width:0}}.homikey-workspace .page-heading{gap:20px;margin-bottom:28px}.homikey-workspace .page-heading h1{font:400 clamp(30px, 3.2vw, 40px)/1.1 var(--font-display);letter-spacing:-.4px;margin:8px 0 10px}.homikey-workspace .page-heading p{color:var(--muted);font-size:var(--text-sm);max-width:720px;line-height:1.6}.homikey-workspace .inventory-summary{border-radius:var(--radius-lg);background:var(--paper);box-shadow:var(--shadow-sm);border:1px solid #0000;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));margin-bottom:28px;display:grid;overflow:hidden}.inventory-metric{border-right:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft);grid-template-columns:auto minmax(0,1fr);gap:12px;padding:24px;display:grid}.inventory-metric-icon{width:var(--metric-icon-box);height:var(--metric-icon-box);background:var(--accent-soft);color:var(--accent);border-radius:50%;align-self:center;place-items:center;display:grid}.inventory-metric>div{overflow-wrap:anywhere;min-width:0}.inventory-metric small{color:var(--muted);margin-bottom:8px;font-size:12px;display:block}.inventory-metric strong{letter-spacing:-.04em;font-size:28px;font-weight:600;line-height:1}.inventory-metric p{color:var(--muted);grid-column:1/-1;margin:0;font-size:11px;line-height:1.6}.homikey-workspace .property-assets-layout{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:24px}.property-assets-layout>div{flex-direction:column;gap:24px;min-width:0;display:flex}.property-assets-layout .foundation-form{box-shadow:var(--shadow-sm);margin:0;padding:24px}.property-assets-layout .foundation-form h2{border-bottom:1px solid var(--line-soft);margin-bottom:8px;padding-bottom:16px;font-size:18px}.property-assets-layout .compact-list article{border:1px solid var(--line);border-radius:var(--radius);gap:12px;margin:0 16px 12px;padding:16px}.property-assets-layout .compact-list article>div{min-width:0}.property-assets-layout .compact-list small{overflow-wrap:anywhere;line-height:1.7}.property-assets-layout .compact-list .badge{flex-shrink:0}.property-assets-layout .compact-list article:last-child{margin-bottom:16px}body:has(.homikey-workspace) .inventory-form-section{background:var(--accent-softer);border-radius:var(--radius);border:1px solid var(--line-soft);color:var(--accent);align-items:center;gap:12px;padding:16px;display:flex}.inventory-form-section h3{margin:0 0 4px;font-size:14px}.inventory-form-section p{color:var(--muted);margin:0;font-size:12px;line-height:1.6}.inventory-photo{background:var(--surface-2);width:100%;height:100%;display:block}.inventory-photo>img{object-fit:cover;width:100%;height:100%;display:block}.inventory-photo-placeholder{height:100%;color:var(--accent);background:var(--surface-2);flex-direction:column;justify-content:center;align-items:center;gap:12px;display:flex}.inventory-photo-placeholder small{color:var(--muted);font-size:12px}@media (width<=767px){.homikey-workspace .page-heading{align-items:flex-start}.homikey-workspace .inventory-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.inventory-metric{gap:8px;padding:16px}.inventory-metric strong{font-size:24px}.homikey-workspace .property-assets-layout{grid-template-columns:1fr}.property-assets-layout .foundation-form{padding:16px}.property-assets-layout .compact-list article{flex-wrap:wrap}}@media (width<=360px){.inventory-metric{grid-template-columns:1fr}}.homikey-operations-workspace{min-width:0}.homikey-operations-workspace .operations-layout{grid-template-columns:minmax(280px,.7fr) minmax(0,1.3fr);gap:24px}.homikey-operations-workspace .operations-layout>div{gap:24px}.homikey-operations-workspace .foundation-form{gap:20px;padding:24px}.homikey-operations-workspace .foundation-form textarea{resize:none;min-height:140px}.operations-form-heading{border-bottom:1px solid var(--line);align-items:center;gap:12px;padding-bottom:20px;display:flex}.operations-form-heading h2{margin:0 0 4px;font-size:17px}.operations-form-heading p{color:var(--muted);margin:0;font-size:12px;line-height:1.6}.operations-note{color:var(--muted);gap:8px;margin:0;font-size:12px;line-height:1.7;display:flex}.operations-note .icon{margin-top:3px}.homikey-operations-workspace .operations-requests>article{align-items:flex-start;gap:12px;padding:20px}.operations-requests>article>div{flex:1;min-width:0}.operations-requests>article p{color:var(--muted);overflow-wrap:anywhere;margin:8px 0 0;font-size:12px;line-height:1.7}.request-priority{background:var(--muted);border-radius:50%;flex:0 0 7px;height:7px;margin-top:6px}.request-priority.high{background:var(--orange-dot)}.request-priority.urgent{background:var(--danger)}.operations-metrics{border-radius:var(--radius-lg);background:var(--paper);box-shadow:var(--shadow-sm);border:1px solid #0000;grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:24px;display:grid;overflow:hidden}.operations-metrics article{border-right:1px solid var(--line-soft);align-items:center;gap:16px;padding:24px;display:flex}.operations-metrics article:last-child{border:0}.operations-metrics small{color:var(--muted);margin-bottom:8px;font-size:12px;display:block}.operations-metrics strong{font-size:28px;font-weight:600}.operations-metric-icon{flex:0 0 var(--metric-icon-box);width:var(--metric-icon-box);height:var(--metric-icon-box);border-radius:var(--radius);color:var(--accent);background:var(--accent-soft);place-items:center;display:grid}.operations-metric-icon.overdue{color:var(--danger);background:var(--danger-soft)}.homikey-operations-workspace .operations-tasks{min-width:0}.homikey-operations-workspace .operations-tasks table{min-width:680px}.homikey-operations-workspace .operations-tasks td{vertical-align:middle}@media (width<=1023px){.homikey-operations-workspace .operations-layout{grid-template-columns:1fr}}@media (width<=767px){.homikey-operations-workspace .foundation-form{padding:20px}.homikey-operations-workspace .operations-requests>article{flex-wrap:wrap}.homikey-operations-workspace .operations-requests .badge{white-space:normal;margin-left:19px}.operations-metrics{grid-template-columns:1fr}.operations-metrics article{border-right:0;border-bottom:1px solid var(--line-soft);padding:20px}}:is(.homikey-schedules-workspace,.homikey-reports-workspace,.homikey-organization-workspace){min-width:0}.admin-section-icon{border-radius:var(--radius);background:var(--accent-soft);width:40px;height:40px;color:var(--accent);flex:0 0 40px;place-items:center;display:grid}.schedule-row{border-top:1px solid var(--line-soft);align-items:center;gap:20px;padding:24px;display:flex}.schedule-details{flex:1;min-width:0}.schedule-details small{color:var(--muted);font-size:12px}.schedule-details h3{margin:6px 0;font-size:15px}.schedule-details p{color:var(--muted);overflow-wrap:anywhere;margin:0;font-size:12px;line-height:1.7}.schedule-toggle{cursor:pointer;border-radius:var(--radius);background:0 0;border:0;flex:0 0 44px;align-items:center;width:44px;height:44px;padding:0;display:flex;position:relative}.schedule-toggle:before{content:"";background:var(--muted);border-radius:20px;width:44px;height:26px;position:absolute}.schedule-toggle>span{background:var(--paper);border-radius:50%;width:20px;height:20px;margin-left:3px;transition:transform .15s;position:relative}.schedule-toggle[aria-checked=true]:before{background:var(--accent)}.schedule-toggle[aria-checked=true]>span{transform:translate(18px)}.schedule-toggle:hover:before{filter:brightness(.9)}.schedule-toggle:disabled{cursor:not-allowed;opacity:.55}.schedule-toggle:disabled:hover:before{filter:none}.report-filter-panel{margin-bottom:24px;padding:20px 24px}.report-filter-panel .filter-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin:0;display:grid}.report-filter-panel .field{min-width:0}.homikey-reports-workspace .report-metrics{border-radius:var(--radius-lg);background:var(--paper);box-shadow:var(--shadow-sm);border:1px solid #0000;grid-template-columns:repeat(auto-fit,minmax(max(220px,25% - 2px),1fr));gap:0;margin-bottom:24px;display:grid;overflow:hidden}.report-metrics .foundation-card{border:0;border-right:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft);min-width:0;box-shadow:none;border-radius:0;padding:24px}.report-metrics .foundation-card h2{font:600 clamp(22px, 2vw, 30px)/1.3 var(--font-body);letter-spacing:-.04em;white-space:nowrap;font-variant-numeric:tabular-nums}.report-metrics .foundation-card p{margin-bottom:0;font-size:12px;line-height:1.7}.report-results{min-width:0;overflow:hidden}.report-results .table-wrap{border:0;border-radius:0;margin:0}.report-results table{min-width:720px}.report-results td{vertical-align:middle}.report-amount{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.report-runner{flex-direction:column;gap:24px;min-width:0;display:flex}.report-runner .report-filter-panel{margin-bottom:0}.report-runner .report-filter-panel .filter-row{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.report-groups{border:1px solid var(--line);border-radius:var(--radius);flex-wrap:wrap;gap:8px 20px;min-width:0;margin:12px 0 0;padding:12px 16px;display:flex}.report-groups legend{color:var(--muted);padding-inline:6px;font-size:12px;font-weight:700}.report-groups .check-row{align-items:center;gap:8px;display:flex}.report-actions{justify-content:flex-end;margin-top:16px;display:flex}.report-results tfoot th{text-align:left;border-top:2px solid var(--line);background:var(--paper);font-weight:700}.report-results tfoot th.report-amount{text-align:right}.report-export-controls{flex-wrap:wrap;align-items:flex-end;gap:12px;margin:8px 0;display:flex}.report-export-job{flex-wrap:wrap;align-items:center;gap:8px;margin-top:8px;display:flex}.report-export-status{align-items:flex-start;gap:16px;margin-bottom:24px;padding:20px;display:flex}.report-export-status>div{overflow-wrap:anywhere;flex:1;min-width:0}.report-export-status p{color:var(--muted);margin:6px 0;font-size:12px;line-height:1.7}.report-export-status small{color:var(--muted);line-height:1.7}.settings-invitations article{flex-wrap:wrap;gap:12px;padding:20px}.settings-invitations article>div:first-child{overflow-wrap:anywhere;flex:1;min-width:160px}.settings-invitations small{line-height:1.7}@media (width<=767px){.schedule-row{flex-wrap:wrap;gap:12px;padding:20px 16px}.schedule-details{flex-basis:calc(100% - 56px)}.schedule-row>.badge{margin-left:52px;margin-right:auto}.report-filter-panel{padding:20px}.report-filter-panel .filter-row{grid-template-columns:1fr}.homikey-reports-workspace .report-metrics{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.report-metrics .foundation-card{padding:20px 16px}.report-export-status{flex-wrap:wrap}.report-export-status>.badge{margin-left:56px}}@media (prefers-reduced-motion:reduce){.schedule-toggle>span{transition:none}}.homikey-subscription-workspace .subscription-overview{gap:24px}.subscription-overview .foundation-card{padding:28px}.subscription-current-plan{border-top:4px solid var(--accent)}.subscription-current-plan h2{font:400 32px/1.4 var(--font-display);margin:20px 0 8px}.subscription-price{color:var(--ink);font-size:16px}.subscription-period{color:var(--muted);border-top:1px solid var(--line-soft);align-items:center;gap:8px;padding-top:20px;font-size:12px;display:flex}.subscription-overview .tenant-card-icon{margin-bottom:16px}.subscription-usage,.subscription-preview{margin-bottom:24px}.subscription-usage-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 40px;padding:0 24px 24px;display:grid}.subscription-usage-grid article>div{justify-content:space-between;align-items:baseline;gap:12px;font-size:13px;display:flex}.subscription-usage-grid article>div>span{font-variant-numeric:tabular-nums;white-space:nowrap}.subscription-usage-grid small{color:var(--muted);margin:6px 0 10px;font-size:12px;display:block}.subscription-usage-grid meter{appearance:none;background:var(--line-soft);border-radius:var(--radius-full);border:0;width:100%;height:8px;display:block;overflow:hidden}.subscription-usage-grid meter::-webkit-meter-bar{border-radius:var(--radius-full);background:var(--line-soft);border:0}.subscription-usage-grid meter::-webkit-meter-optimum-value{background:var(--accent);border-radius:var(--radius-full)}.subscription-usage-grid meter::-moz-meter-bar{background:var(--accent);border-radius:var(--radius-full)}.subscription-plan-choices{flex-wrap:wrap;gap:12px;padding:0 24px 24px;display:flex}.subscription-plan-choices .btn{justify-content:space-between;min-width:200px;min-height:44px}.subscription-preview>.form-alert,.subscription-preview .preview-box{margin:0 24px 24px}.subscription-preview .preview-box{padding:24px}.subscription-preview .preview-box h3{margin:6px 0;font-size:20px}.subscription-preview .preview-box p{color:var(--muted);font-size:13px;line-height:1.7}.subscription-preview .preview-box h4{margin:0 0 8px;font-size:13px}.subscription-preview :is(.subscription-preview-warnings,.subscription-preview-blockers){border-top:1px solid var(--line);margin-top:16px;padding-top:16px}.subscription-preview :is(.subscription-preview-warnings,.subscription-preview-blockers) p{align-items:baseline;gap:8px;margin-bottom:0;display:flex}.subscription-preview-blockers{color:var(--danger-dark)}.tenant-card-icon{border-radius:var(--radius);background:var(--accent-soft);width:44px;height:44px;color:var(--accent);flex:none;place-items:center;display:grid}.homikey-tenant-shell .page-heading h1{font:600 clamp(24px, 3vw, 32px)/1.4 var(--font-heading);letter-spacing:-.03em}.tenant-home-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;display:grid}.tenant-home-grid .foundation-card{flex-direction:column;align-items:flex-start;padding:28px;display:flex}.tenant-home-grid .foundation-card>small{margin-top:16px}.tenant-home-grid .foundation-card h2{letter-spacing:-.03em;font-size:clamp(22px,3vw,30px);line-height:1.4}.tenant-home-grid .foundation-card p{flex:1;margin-bottom:20px}.tenant-home-grid .btn{min-height:44px}.tenant-home-grid .tenant-room-hero{background:var(--accent);color:var(--paper);border-color:var(--accent)}.tenant-room-hero :is(h2,p),.tenant-home-grid .tenant-room-hero>small{color:inherit}.tenant-room-hero .tenant-card-icon{background:var(--accent-dark);color:var(--paper)}.tenant-debt-card{border-top:4px solid var(--brand-highlight)}.tenant-debt-card.is-overdue{border-top-color:var(--danger)}.tenant-debt-card.is-clear{border-top-color:var(--green)}.tenant-debt-card.is-none{border-top-color:var(--line)}.tenant-home-grid .tenant-quick-card h2{font-size:22px}.tenant-access-alert{background:var(--danger-soft);color:var(--danger-dark);border-color:var(--danger);margin-bottom:20px}.tenant-access-alert p{margin:6px 0 0;font-size:13px;line-height:1.7}.tenant-section-heading{align-items:center;gap:12px;margin-bottom:20px;display:flex}.tenant-section-heading h2{margin:0;font-size:17px}.tenant-section-heading small{color:var(--muted);font-size:12px}.tenant-section-heading p{color:var(--muted);margin:6px 0 0;font-size:13px;line-height:1.7}.homikey-tenant-room .foundation-card{padding:24px}.homikey-tenant-room .detail-list>div{align-items:baseline;padding:16px 0;font-size:13px;line-height:1.7}.homikey-tenant-room .detail-list dt{flex-shrink:0}.homikey-tenant-room .detail-list dd{overflow-wrap:anywhere}.tenant-member-list>div{border-bottom:1px solid var(--line-soft);align-items:center;gap:12px;padding:16px 0;display:flex}.tenant-member-list>div:last-child{border-bottom:0}.tenant-member-list strong{font-size:14px;display:block}.tenant-member-list small{color:var(--muted);margin-top:6px;font-size:12px;display:block}.tenant-profile-layout{grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);align-items:start;gap:24px;display:grid}.tenant-profile-identity{text-align:center;overflow-wrap:anywhere;flex-direction:column;align-items:center;padding:32px 24px;display:flex}.tenant-profile-avatar{background:var(--accent);width:64px;height:64px;color:var(--paper);border-radius:50%;place-items:center;margin-bottom:16px;font-size:24px;font-weight:600;display:grid}.tenant-profile-identity h2{font-size:20px}.tenant-profile-identity>small{text-transform:none;letter-spacing:0;font-size:12px;font-weight:400;line-height:1.8}.tenant-profile-form.foundation-form{grid-template-columns:minmax(0,1fr);gap:20px;margin:0;padding:24px}.tenant-profile-form .span-2{grid-column:1/-1}.tenant-profile-form .tenant-section-heading{border-bottom:1px solid var(--line-soft);margin-bottom:0;padding-bottom:20px}.tenant-profile-form textarea{resize:none;min-height:120px}.tenant-profile-form footer{border-top:1px solid var(--line-soft);padding-top:20px}.tenant-profile-form footer .btn{min-width:156px;min-height:44px}.tenant-inbox-list{gap:12px;display:grid}.tenant-inbox-list>button{text-align:left;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-lg);width:100%;color:var(--ink);align-items:flex-start;gap:16px;padding:20px;display:flex}.tenant-inbox-list>button:hover{background:var(--accent-softer);border-color:var(--accent)}.tenant-inbox-list>button:active{background:var(--accent-soft)}.tenant-inbox-list>button>div{overflow-wrap:anywhere;flex:1;min-width:0}.tenant-inbox-list strong{font-size:14px;line-height:1.7;display:block}.tenant-inbox-list p{color:var(--muted);margin:6px 0 10px;font-size:13px;line-height:1.7}.tenant-inbox-list small{color:var(--muted);font-size:11px}.tenant-inbox-list .tenant-read-label{margin-bottom:6px;display:block}.tenant-inbox-dot{background:var(--line);border-radius:50%;flex:none;width:8px;height:8px;margin-top:7px}.tenant-inbox-list .unread .tenant-inbox-dot{background:var(--brand-highlight)}.tenant-inbox-list .unread .tenant-read-label{color:var(--accent);font-weight:700}.tenant-inbox-list>button>.icon{align-self:center}@media (width<=767px){.subscription-overview .foundation-card{padding:24px}.subscription-usage-grid{grid-template-columns:minmax(0,1fr);padding:0 20px 24px}.subscription-plan-choices{padding:0 20px 20px}.subscription-plan-choices .btn{width:100%}.subscription-preview>.form-alert,.subscription-preview .preview-box{margin:0 20px 20px}.subscription-preview .card-title{flex-wrap:wrap}.tenant-home-grid{grid-template-columns:minmax(0,1fr);gap:16px}.tenant-home-grid .foundation-card{padding:24px}.tenant-profile-layout{grid-template-columns:minmax(0,1fr);gap:20px}.tenant-profile-form.foundation-form{padding:20px}.tenant-inbox-list>button{gap:12px;padding:20px 16px}}.homikey-platform-workspace{min-width:0}.platform-section-heading{justify-content:space-between;align-items:flex-start;gap:16px;padding:0 0 20px;display:flex}.platform-section-heading h2{font-family:var(--font-body);margin:0;font-size:16px;font-weight:650}.platform-section-heading p{color:var(--muted);margin:6px 0 0;font-size:12px;line-height:1.7}.platform-section-heading>span{color:var(--muted);flex-shrink:0;padding-top:2px;font-size:12px}.platform-organizations{overflow:hidden}.platform-organizations>.platform-section-heading{padding:22px 24px}.platform-organizations table{width:100%}.platform-organizations th{letter-spacing:.05em;font-size:10px}.platform-organizations td{vertical-align:middle;padding-block:20px}.platform-organizations td strong{font-size:12px}.platform-organizations td small{overflow-wrap:anywhere;font-size:11px}.platform-organization-identity{align-items:center;gap:12px;display:flex}.platform-organization-identity>div{min-width:0}.platform-organization-icon,.platform-provider-icon{border-radius:var(--radius-lg);width:42px;height:42px;color:var(--accent);background:var(--accent-soft);flex-shrink:0;place-items:center;display:grid}.platform-organizations td:last-child{text-align:right}.platform-scope-note{border-top:1px solid var(--line);color:var(--muted);align-items:flex-start;gap:8px;padding:16px 24px;font-size:11px;line-height:1.7;display:flex}.platform-scope-note svg{flex-shrink:0;margin-top:2px}.platform-plan-grid,.platform-provider-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;display:grid}.platform-plan-card,.platform-provider-card{border-radius:var(--radius-xl);background:var(--paper);min-width:0;box-shadow:var(--shadow-sm);border:1px solid #0000;padding:24px}.platform-plan-card{flex-direction:column;display:flex}.platform-plan-card>header{justify-content:space-between;align-items:center;gap:12px;display:flex}.platform-plan-card small,.platform-provider-card small{color:var(--muted);font-size:11px}.platform-plan-card h2{font-family:var(--font-heading);margin:22px 0 10px;font-size:28px;font-weight:400;line-height:1.3}.platform-plan-price{color:var(--accent);margin:0 0 24px;font-size:18px;font-weight:650;line-height:1.6}.platform-plan-card h3{margin:0 0 12px;font-size:12px;font-weight:650}.platform-plan-card ul{gap:12px;margin:0 0 24px;padding:0;list-style:none;display:grid}.platform-plan-card li{overflow-wrap:anywhere;align-items:center;gap:10px;font-size:12px;display:flex}.platform-plan-card li svg{color:var(--green-dark);flex-shrink:0}.platform-plan-card footer{border-top:1px solid var(--line);color:var(--muted);margin-top:auto;padding-top:16px;font-size:11px}.platform-provider-card>header{flex-wrap:wrap;align-items:flex-start;gap:12px;display:flex}.platform-provider-card>header>div{flex:1;min-width:0}.platform-provider-card h2{font-family:var(--font-body);overflow-wrap:anywhere;margin:6px 0 0;font-size:15px;font-weight:650;line-height:1.5}.platform-provider-card dl{margin:20px 0 0;font-size:12px}.platform-provider-card dl>div{border-top:1px solid var(--line-soft);flex-wrap:wrap;justify-content:space-between;gap:8px 16px;padding:14px 0;display:flex}.platform-provider-card dt{color:var(--muted)}.platform-provider-card dd{align-items:center;gap:6px;min-width:0;margin:0;font-weight:600;display:flex}.platform-provider-card code{overflow-wrap:anywhere;font-size:11px}.platform-provider-card>p{color:var(--muted);margin:0;font-size:11px;line-height:1.7}.platform-error{margin-bottom:20px}@media (width<=1023px){.platform-provider-grid{grid-template-columns:1fr}}@media (width<=767px){.platform-section-heading{flex-wrap:wrap;gap:8px}.platform-organizations>.platform-section-heading{padding:18px}.platform-organizations table,.platform-organizations tbody{min-width:0;display:block}.platform-organizations thead{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.platform-organizations tr{border-top:1px solid var(--line);grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 12px;padding:18px;display:grid}.platform-organizations td{white-space:normal;border:0;min-width:0;padding:0;display:block}.platform-organizations td:before{content:attr(data-label);color:var(--muted);margin-bottom:6px;font-size:10px;display:block}.platform-organizations td:first-child{grid-column:1/-1}.platform-organizations td:first-child:before{display:none}.platform-organizations td:last-child{text-align:left}.platform-organizations td:last-child .btn{white-space:normal}.platform-scope-note{padding:16px 18px}.platform-plan-grid{grid-template-columns:1fr}.platform-plan-card,.platform-provider-card{padding:20px}}:is(.inventory-metric-icon,.metric-icon,.operations-metric-icon,.deposit-icon)>.icon{width:var(--metric-icon-size);height:var(--metric-icon-size);flex-shrink:0}@media (width<=359px){.inventory-metric{padding:12px}}.approval-count{border-radius:var(--radius-full);background:var(--surface);min-width:22px;color:var(--subtle);font-variant-numeric:tabular-nums;text-align:center;padding:2px 7px;font-size:11px;font-weight:600;line-height:1.5}.approval-count.attention{background:var(--danger-soft);color:var(--danger-dark)}.approval-note-line{margin:-4px 0 var(--sp-3);color:var(--muted);font-size:var(--text-xs)}.approval-code{color:var(--muted);letter-spacing:.02em;margin-top:4px;font-size:11px;display:block}.approval-amount{white-space:nowrap;font-weight:700}.approval-amount.minus{color:var(--green-dark)}.approval-amount.plus{color:var(--danger-dark)}.approval-facts{gap:var(--sp-2) var(--sp-4);grid-template-columns:repeat(2,minmax(0,1fr));margin:0;display:grid}.approval-facts>div{gap:1px;min-width:0;display:grid}.approval-facts dt{color:var(--muted);font-size:var(--text-xs)}.approval-facts dd{overflow-wrap:anywhere;margin:0;font-weight:600}.approval-reason{padding:var(--sp-3) var(--sp-4);border-left:3px solid var(--control-line);background:var(--surface-2);border-radius:0 var(--radius) var(--radius) 0;white-space:pre-wrap;overflow-wrap:anywhere;margin:0}.approval-callout{gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);border-radius:var(--radius);border:1px solid var(--line);font-size:var(--text-sm);align-items:flex-start;display:flex}.approval-callout.failed{background:var(--danger-soft);color:var(--danger-dark);border-color:#efd1d3}.approval-callout.applied{background:var(--green-soft);color:var(--green-dark);border-color:#cce7dc}.approval-callout.info{background:var(--surface-2);color:var(--ink-2)}.approval-callout p{margin:0}.approval-callout details{margin-top:6px}.approval-callout pre,.approval-technical pre{border-radius:var(--radius-sm);white-space:pre-wrap;overflow-wrap:anywhere;background:#0000000a;max-height:220px;margin:6px 0 0;padding:8px 10px;font-size:11px;overflow:auto}.approval-timeline{gap:var(--sp-3);margin:0;padding:0;list-style:none;display:grid}.approval-timeline li{font-size:var(--text-sm);padding-left:18px;position:relative}.approval-timeline li:before{content:"";background:var(--control-line);border-radius:50%;width:7px;height:7px;position:absolute;top:7px;left:3px}.approval-timeline li:after{content:"";background:var(--line);width:1px;position:absolute;top:16px;bottom:-12px;left:6px}.approval-timeline li:last-child:after{display:none}.approval-timeline time{color:var(--muted);font-size:var(--text-xs);margin-left:6px}.approval-timeline blockquote{color:var(--muted);font-size:var(--text-xs);overflow-wrap:anywhere;margin:2px 0 0}.approval-technical summary{cursor:pointer;color:var(--muted);font-size:var(--text-xs)}.approval-footer-actions{gap:var(--sp-2);flex-wrap:wrap;justify-content:flex-end;align-items:center;width:100%;display:flex}.approval-footer-actions .spacer{margin-right:auto}@media (width<=767px){.approval-facts{grid-template-columns:1fr}}.nav-badge{color:var(--danger-dark);font-variant-numeric:tabular-nums;pointer-events:none;flex-shrink:0;margin-left:auto;padding-left:6px;font-size:11px;font-weight:600;line-height:1}.org-tabs{margin:0 0 var(--sp-4);border-bottom:1px solid var(--line);flex-wrap:wrap;gap:2px 18px;display:flex;overflow-x:auto}.org-tabs button{color:var(--muted);font-size:var(--text-sm);white-space:nowrap;background:0 0;border:0;border-bottom:2px solid #0000;padding:11px 0;font-weight:600}.org-tabs button:hover{color:var(--ink)}.org-tabs button[aria-selected=true]{color:var(--accent);border-bottom-color:var(--accent)}.policy-panel{gap:var(--sp-4);display:grid}.policy-group{gap:var(--sp-3);padding:var(--sp-4);border:1px solid var(--line);border-radius:var(--radius-lg);background:#fff;display:grid}.policy-group>header h2{font-size:var(--text-lg);margin:0}.policy-group>header p{color:var(--muted);font-size:var(--text-sm);margin:2px 0 0}.policy-fields{gap:var(--sp-4);grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;display:grid}.policy-fields .span-2{grid-column:1/-1}.policy-fields.thirds{grid-template-columns:repeat(3,minmax(0,1fr))}.policy-switch{gap:2px var(--sp-3);padding:var(--sp-3);border:1px solid var(--line-soft);border-radius:var(--radius);background:var(--surface-2);grid-template-columns:auto 1fr;align-items:start;display:grid}.policy-switch input{width:18px;height:18px;margin-top:3px}.policy-switch strong{font-size:var(--text-sm)}.policy-switch small{color:var(--muted);font-size:var(--text-xs);grid-column:2;line-height:1.45}.policy-switch.disabled{opacity:.7}.policy-footer{justify-content:space-between;align-items:center;gap:var(--sp-3);flex-wrap:wrap;display:flex}.policy-footer small{color:var(--muted)}.policy-notes{color:var(--ink-2);font-size:var(--text-sm);margin:0;padding-left:18px}@media (width<=767px){.policy-fields,.policy-fields.thirds{grid-template-columns:1fr}}.homikey-approvals-workspace :is(.empty-state>span,.state-icon){width:44px;height:44px;color:var(--accent-light);background:var(--line-soft);border-radius:12px}.homikey-approvals-workspace .error-state .state-icon{color:var(--danger-dark);background:var(--danger-soft)}.homikey-approvals-workspace :is(.empty-state h2,.state-box strong){color:var(--ink);font:600 16px/1.35 var(--font-body);margin:10px 0 0}.homikey-approvals-workspace :is(.empty-state p,.state-box>span:not(.state-icon)){max-width:460px;color:var(--muted);margin:0;font-size:13px;line-height:1.55}.homikey-approvals-workspace{flex-direction:column;gap:20px;display:flex}.homikey-approvals-workspace>section.page-heading{margin-bottom:8px}.appr-filter-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 16px;display:flex}.appr-pills{flex-wrap:wrap;gap:8px;display:flex}.appr-pills>button{border-radius:var(--radius-full);background:var(--paper);min-height:36px;box-shadow:inset 0 0 0 1px var(--line);color:var(--ink-2);font:600 13px/1 var(--font-body);white-space:nowrap;cursor:pointer;border:0;align-items:center;gap:8px;padding:0 16px;transition:background .15s,color .15s;display:inline-flex}.appr-pills>button:hover{background:var(--surface-2);color:var(--ink)}.appr-pills>button:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.appr-pills>button[aria-pressed=true],.appr-pills>button[aria-pressed=true]:hover{background:var(--accent);box-shadow:none;color:var(--paper)}.appr-pills .approval-count{min-width:0;color:inherit;opacity:.75;background:0 0;padding:0;font-size:11px;font-weight:600}.appr-pills .approval-count.attention{color:var(--brand-highlight-dark);opacity:1}.appr-filter-tools{flex-wrap:wrap;align-items:center;gap:8px;margin-left:auto;display:flex}.appr-filter-tools .segmented button{min-height:32px;padding:0 12px;font-size:12px}.appr-filter-tools .filter-pop-trigger{height:36px}.homikey-approvals-workspace>.approval-note-line{margin:0}.appr-columns{grid-template-columns:minmax(0,1.3fr) minmax(320px,1fr);align-items:start;gap:20px;display:grid}.appr-list{flex-direction:column;gap:12px;min-width:0;display:flex}.appr-count-line{color:var(--subtle);margin:0;font-size:12px}.appr-cards{flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;display:flex}.appr-card{background:var(--paper);width:100%;box-shadow:inset 0 0 0 1px var(--line);color:var(--ink);font:inherit;text-align:left;cursor:pointer;border:0;border-radius:12px;align-items:flex-start;gap:16px;padding:16px;transition:background .15s,box-shadow .15s;display:flex}.appr-card:hover{background:var(--sand-soft)}.appr-card:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.appr-card.is-selected,.appr-card.is-selected:hover{background:var(--paper);box-shadow:inset 0 0 0 1.5px var(--accent)}.appr-mark{background:var(--surface-2);width:40px;height:40px;color:var(--ink-2);font:700 12px/1 var(--font-body);border-radius:10px;flex:none;place-items:center;display:grid}.appr-mark[data-tone=discount]{background:var(--danger-soft);color:var(--brand-highlight-dark)}.appr-mark[data-tone=refund]{background:var(--green-soft);color:var(--green-text)}.appr-mark[data-tone=meter]{background:var(--blue-soft);color:var(--accent)}.appr-mark[data-tone=contract]{background:var(--orange-soft);color:var(--orange-dark)}.appr-card-main{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.appr-card-main strong{color:var(--ink);overflow-wrap:anywhere;font-size:14px;font-weight:600;line-height:1.4}.appr-card-main small{color:var(--muted);font-size:12px}.appr-card-side{text-align:right;flex-direction:column;flex:none;align-items:flex-end;gap:8px;max-width:45%;display:flex}.appr-card-side>b{color:var(--ink);font-variant-numeric:tabular-nums;font-size:14px;font-weight:600}.appr-card-side>b.approval-amount.minus{color:var(--danger-dark)}.appr-card-side>b.approval-amount.plus{color:var(--green-text)}.appr-card-side>b.appr-kind{color:var(--muted);font-size:12px;font-weight:500}.appr-state{color:var(--ink-2);white-space:nowrap;align-items:center;gap:8px;font-size:12px;font-weight:600;display:inline-flex}.appr-dot{background:var(--subtle);border-radius:50%;flex:none;width:6px;height:6px;display:inline-block}.appr-dot.pending{background:var(--orange-dark)}.appr-dot.ok{background:var(--green)}.appr-dot.bad{background:var(--brand-highlight-dark)}.appr-list .list-pager-arrows{background:var(--paper);box-shadow:inset 0 0 0 1px var(--line);border-radius:12px}.appr-panel{top:calc(var(--topbar-height) + 16px);min-width:0;max-height:calc(100vh - var(--topbar-height) - 32px);border-radius:var(--radius-lg);background:var(--paper);box-shadow:var(--shadow-sm);flex-direction:column;gap:16px;padding:20px;display:flex;position:sticky;overflow-y:auto}.appr-panel-type{color:var(--ink-2);flex-wrap:wrap;align-self:flex-start;align-items:center;gap:8px;font-size:12px;font-weight:600;display:inline-flex}.appr-panel-state{border-radius:var(--radius-full);background:var(--surface-2);padding:2px 8px;font-size:11px;font-style:normal;font-weight:700}.appr-panel-state.pending{background:var(--orange-soft);color:var(--orange-text)}.appr-panel-state.ok{background:var(--green-soft);color:var(--green-text)}.appr-panel-state.bad{background:var(--danger-soft);color:var(--danger-dark)}.appr-panel-title{color:var(--ink);font:400 26px/1.25 var(--font-display);letter-spacing:-.01em;overflow-wrap:anywhere;margin:0}.appr-panel-by{color:var(--muted);margin:-6px 0 0;font-size:12px;line-height:1.5}.appr-kv{background:var(--sand-soft);border-radius:12px;grid-template-columns:auto minmax(0,1fr);gap:12px 16px;margin:0;padding:16px;font-size:13px;display:grid}.appr-kv>div{display:contents}.appr-kv dt{color:var(--muted)}.appr-kv dd{color:var(--ink);text-align:right;overflow-wrap:anywhere;font-variant-numeric:tabular-nums;margin:0;font-weight:600}.appr-kv dd.minus{color:var(--danger-dark)}.appr-kv dd.plus{color:var(--green-text)}.appr-panel-note{color:var(--muted);margin:-8px 0 0;font-size:12px}.appr-panel-reason{color:var(--ink-2);white-space:pre-wrap;overflow-wrap:anywhere;margin:0;font-size:13px;line-height:1.55}.appr-panel-reason.is-muted{background:var(--sand-soft);color:var(--muted);border-radius:12px;padding:12px 16px;font-size:12px}.appr-consequences{color:var(--muted);gap:6px;margin:0;padding:0;font-size:12px;line-height:1.5;list-style:none;display:grid}.appr-consequences strong{color:var(--ink-2)}.appr-decision{gap:8px;display:grid}.appr-decision textarea{border-radius:var(--radius);width:100%;min-height:84px;box-shadow:inset 0 0 0 1px var(--control-line);font:400 13px/1.5 var(--font-body);resize:none;border:0;outline:0;padding:12px}.appr-decision textarea:focus{box-shadow:inset 0 0 0 1.5px var(--accent)}.appr-decision textarea[aria-invalid=true]{box-shadow:inset 0 0 0 1.5px var(--danger)}.appr-decision label{color:var(--ink);font-size:13px;font-weight:600}.appr-decision small{color:var(--muted);font-size:12px}.appr-decision small.field-error{color:var(--danger-dark)}.appr-decision-buttons{grid-template-columns:1fr 1fr;gap:8px;display:grid}.appr-decision-buttons>.btn{border-radius:var(--radius);min-height:42px;font-size:13px;font-weight:600}.appr-decision-buttons>.btn.reject{background:var(--paper);box-shadow:inset 0 0 0 1px var(--control-line);color:var(--danger-dark);border:0}.appr-decision-buttons>.btn.reject:hover:not(:disabled){background:var(--danger-soft)}.appr-decision-buttons>.btn.approve,.appr-decision-buttons>.btn.approve:disabled{background:var(--green-text);color:var(--paper);border:0}.appr-decision-buttons>.btn.approve:hover:not(:disabled){background:var(--green-dark)}.appr-decision-buttons>.btn.approve:disabled{opacity:.55}.appr-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.appr-history{border-top:1px solid var(--line-soft);gap:8px;padding-top:4px;display:grid}.appr-history>h3{color:var(--ink);font:600 14px/1.4 var(--font-body);margin:8px 0 0}.appr-panel .approval-timeline li:before{background:var(--brand-highlight);width:8px;height:8px;top:5px;left:2px}.appr-panel .approval-timeline li:after{top:16px;left:5px}.appr-panel .approval-timeline time{color:var(--subtle)}.appr-panel .approval-callout{border-radius:12px}.homikey-approvals-workspace :is(.empty-state,.state-box){border-radius:var(--radius-lg);background:var(--paper);box-shadow:var(--shadow-sm);border:0}@media (width<=1023px){.appr-columns{grid-template-columns:minmax(0,1fr)}.appr-panel{max-height:none;position:static;overflow:visible}}@media (width<=767px){.appr-filter-tools{width:100%;margin-left:0}.appr-pills{flex-wrap:nowrap;width:100%;padding-bottom:4px;overflow-x:auto}.appr-pills>button{flex:none;min-height:40px}.appr-card{gap:12px;padding:14px}.appr-card-side{max-width:50%}.appr-panel-title{font-size:22px}}.admin-workspace{min-width:0}.admin-filters{align-items:flex-end;gap:var(--sp-3) var(--sp-4);margin:0 0 var(--sp-4);flex-wrap:wrap;display:flex}.admin-filters .field{flex:0 220px;min-width:170px;margin:0}.admin-filters .field select,.admin-filters .field input{width:100%}@media (width>=768px){.admin-filters .field:has(>input[type=search]){flex:280px;min-width:260px;max-width:360px}.admin-filters.dense{column-gap:var(--sp-3)}.admin-filters.dense .field{flex:0 150px;min-width:140px}.admin-filters.dense .field:has(>select){flex-basis:176px}.admin-filters.dense .field:has(>input[type=search]){flex:240px;min-width:200px;max-width:320px}}.admin-check{min-height:44px;font-size:var(--text-sm);color:var(--ink-2);align-items:center;gap:8px;display:inline-flex}.admin-filters-toggle{display:none}.admin-filters-more{display:contents}.admin-tabs{margin:0 0 var(--sp-4);border-bottom:1px solid var(--line);flex-wrap:wrap;gap:2px 20px;display:flex;overflow-x:auto}.admin-tabs button{color:var(--muted);font-size:var(--text-sm);white-space:nowrap;background:0 0;border:0;border-bottom:2px solid #0000;padding:11px 0;font-weight:600}.admin-tabs button:hover{color:var(--ink)}.admin-tabs button[aria-selected=true]{color:var(--accent);border-bottom-color:var(--accent)}@media (width<=767px){.admin-tabs{overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;scrollbar-width:none;flex-wrap:nowrap;gap:0 20px}.admin-tabs::-webkit-scrollbar{display:none}.admin-tabs button{flex:none}.admin-filters-toggle{flex:100%;justify-content:space-between;align-items:center;min-height:44px;display:inline-flex}.admin-filters-toggle .icon{transition:transform .15s}.admin-filters-toggle[aria-expanded=true] .icon{transform:rotate(180deg)}.admin-filters-more{display:none}.admin-filters-more[data-open=true]{display:contents}.admin-filters-more .admin-check{flex:100%}}@property --tabs-fade-l{syntax:"<number>";inherits:false;initial-value:0}@property --tabs-fade-r{syntax:"<number>";inherits:false;initial-value:0}@keyframes tabs-edge-fade{0%{--tabs-fade-l:0;--tabs-fade-r:32}6%,94%{--tabs-fade-l:32;--tabs-fade-r:32}to{--tabs-fade-l:32;--tabs-fade-r:0}}@supports (animation-timeline:scroll()){@media (width<=767px){.admin-tabs{-webkit-mask-image:linear-gradient(to right, transparent 0, #000 calc(var(--tabs-fade-l) * 1px), #000 calc(100% - var(--tabs-fade-r) * 1px), transparent 100%);mask-image:linear-gradient(to right, transparent 0, #000 calc(var(--tabs-fade-l) * 1px), #000 calc(100% - var(--tabs-fade-r) * 1px), transparent 100%);animation:linear both tabs-edge-fade;animation-timeline:scroll(self inline)}}}.danger-text{color:var(--danger)}.admin-note{color:var(--muted);font-size:var(--text-xs);margin:4px 0;line-height:1.6}.admin-subtitle{font-size:var(--text-sm);margin:var(--sp-4) 0 var(--sp-2);font-weight:650}.admin-settings-group{border:0;min-width:0;margin:0;padding:0}.admin-settings-group+.admin-settings-group{margin-top:var(--sp-6);padding-top:var(--sp-6);border-top:1px solid var(--line)}.admin-settings-group>legend{float:left;width:100%;margin:0 0 var(--sp-1);font-family:var(--font-body);font-size:var(--text-lg);color:var(--ink);padding:0;font-weight:650;line-height:1.35}.admin-settings-group>legend+*{clear:both}.admin-settings-group>.form-grid,.admin-settings-group>.admin-list{margin-top:var(--sp-3)}.admin-settings-group+.admin-actions-left{margin-top:var(--sp-6)}.admin-facts{margin:0 0 var(--sp-3);grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 24px;display:grid}.admin-facts>div{min-width:0}.admin-facts dt{color:var(--muted);margin-bottom:3px;font-size:11px}.admin-facts dd{font-size:var(--text-sm);overflow-wrap:anywhere;margin:0}.admin-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.admin-list li{background:var(--surface-2);border-radius:var(--radius-lg);font-size:var(--text-sm);justify-content:space-between;gap:12px;padding:8px 12px;display:flex}.admin-list li span{color:var(--muted);font-size:var(--text-xs);text-align:right}.admin-choice-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.admin-choice-list label{border:1px solid var(--line);border-radius:var(--radius-lg);cursor:pointer;align-items:flex-start;gap:10px;padding:10px 12px;display:flex}.admin-choice-list label:has(input:checked){border-color:var(--accent);background:var(--accent-softer)}.admin-choice-list small{color:var(--muted);margin-top:2px;font-size:11px;display:block}.log-time-date{margin-inline-start:.4em}.audit-diff{background:var(--surface-2);border-radius:var(--radius-lg);grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 16px;margin-top:10px;padding:10px 12px;display:grid}.audit-diff h4{color:var(--muted);margin:0 0 4px;font-size:11px}.audit-diff pre{white-space:pre-wrap;overflow-wrap:anywhere;margin:0;font-size:11px}.audit-diff p{grid-column:1/-1}.audit-fields{gap:6px;margin:0;display:grid}.audit-fields>div{gap:1px;min-width:0;display:grid}.audit-fields dt{color:var(--muted);font-size:11px}.audit-fields dt code{font-size:inherit;overflow-wrap:anywhere}.audit-fields dd{font-size:var(--text-sm);overflow-wrap:anywhere;margin:0;font-weight:600}.audit-diff .audit-raw{grid-column:1/-1}.audit-raw summary{cursor:pointer;color:var(--muted);font-size:11px}.audit-raw pre{margin:6px 0 0}.mrr-cell{align-items:center;min-height:28px;display:flex;position:relative}.mrr-bar{background:var(--accent-soft);border-radius:var(--radius-md);min-width:4px;position:absolute;inset:2px auto 2px 0}.mrr-cell strong{padding-left:8px;position:relative}.ticket-layout{gap:var(--sp-5);grid-template-columns:minmax(0,1.7fr) minmax(240px,1fr);display:grid}.ticket-messages{margin:0 0 var(--sp-4);gap:10px;max-height:46vh;padding:0;list-style:none;display:grid;overflow-y:auto}.ticket-messages li{border-radius:var(--radius-lg);background:var(--surface-2);max-width:92%;padding:10px 14px}.ticket-messages li.platform{background:var(--accent-soft);justify-self:end}.ticket-messages li.internal{background:var(--orange-soft);border:1px dashed var(--orange)}.ticket-messages header{font-size:var(--text-xs);flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:4px;display:flex}.ticket-messages time{color:var(--muted)}.ticket-messages p{white-space:pre-wrap;overflow-wrap:anywhere;font-size:var(--text-sm);margin:0}.ticket-reply-actions{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.ticket-side{align-content:start;gap:var(--sp-4);display:grid}.ticket-side .admin-facts{grid-template-columns:1fr}.ticket-controls{gap:var(--sp-3);display:grid}.ticket-usage{margin:0}.sub-banner{margin-bottom:var(--sp-4);border-radius:var(--radius-xl);border:1px solid var(--line);background:var(--paper);align-items:flex-start;gap:14px;padding:16px 20px;display:flex}.sub-banner h2{font-family:var(--font-body);font-size:var(--text-md);margin:0 0 4px;font-weight:650}.sub-banner p{font-size:var(--text-sm);color:var(--ink-2);margin:4px 0;line-height:1.6}.sub-banner>.icon{flex-shrink:0;margin-top:2px}.sub-banner.danger{border-color:var(--danger);background:var(--danger-soft)}.sub-banner.danger>.icon{color:var(--danger)}.sub-banner.warning{border-color:var(--orange);background:var(--orange-soft)}.sub-banner.info{border-color:var(--accent-soft);background:var(--accent-softer)}.sub-banner-actions{margin-top:10px}.sub-pending,.sub-open-invoices,.sub-plans,.sub-changes,.sub-invoices{margin-bottom:var(--sp-5)}.sub-pending-body{font-size:var(--text-sm);margin:0;padding:0 24px 20px}.sub-invoice-cards{gap:10px;margin:0;padding:0 24px 20px;list-style:none;display:grid}.sub-invoice-cards li{border:1px solid var(--line);border-radius:var(--radius-lg);grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:16px;padding:12px 16px;display:grid}.sub-invoice-cards li.overdue{border-color:var(--danger);background:var(--danger-soft)}.sub-invoice-cards small{color:var(--muted);margin-top:3px;font-size:11px;display:block}.sub-invoice-amount{text-align:right}.sub-recovery-pay{padding:0 24px 24px}.sub-recovery-pay h3{font-size:var(--text-md);margin:0 0 var(--sp-3)}.sub-plan-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;padding:0 24px 24px;display:grid}.sub-plan-card{border:1px solid var(--line);border-radius:var(--radius-xl);background:var(--paper);flex-direction:column;gap:8px;padding:18px;display:flex}.sub-plan-card.current{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent) inset}.sub-plan-card header{justify-content:space-between;align-items:center;gap:8px;display:flex}.sub-plan-card h3{font-size:var(--text-xl);margin:0;font-weight:650}.sub-plan-desc{color:var(--muted);font-size:var(--text-xs);margin:0;line-height:1.6}.sub-plan-price{margin:4px 0}.sub-plan-price strong{font-size:var(--text-2xl)}.sub-plan-price small{color:var(--muted);font-size:var(--text-xs)}.sub-plan-card ul{font-size:var(--text-sm);flex:1;gap:6px;margin:0;padding:0;list-style:none;display:grid}.sub-plan-card li{align-items:flex-start;gap:6px;display:flex}.sub-plan-card li .icon{color:var(--green-text);flex-shrink:0;margin-top:3px}.sub-tabs{padding:0 24px var(--sp-3);flex-wrap:wrap;gap:8px;display:flex}.sub-tabs button{border:1px solid var(--line);border-radius:var(--radius-full);background:var(--paper);color:var(--muted);font-size:var(--text-sm);padding:6px 14px;font-weight:600}.sub-tabs button[aria-pressed=true]{color:var(--accent);border-color:var(--accent);background:var(--accent-softer)}.sub-changes .table-wrap,.sub-invoices .table-wrap{margin:0 24px 16px}.sub-invoices .tenant-pagination,.sub-changes .empty-state,.sub-invoices .empty-state{margin:0 24px 20px}.invoice-detail-head{margin-bottom:var(--sp-3);flex-wrap:wrap;gap:8px;display:flex}.plan-change-summary p{margin:2px 0}.pay-panel{margin-top:var(--sp-4);border:1px solid var(--line);border-radius:var(--radius-xl);background:var(--surface-2);padding:16px 18px}.pay-panel h3{font-size:var(--text-md);margin:0 0 var(--sp-3)}.pay-layout{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:20px;display:grid}.pay-list{gap:8px;margin:0;display:grid}.pay-row{grid-template-columns:150px minmax(0,1fr);align-items:center;gap:8px;display:grid}.pay-row dt{color:var(--muted);font-size:var(--text-xs)}.pay-row dd{font-size:var(--text-sm);overflow-wrap:anywhere;flex-wrap:wrap;align-items:center;gap:8px;margin:0;display:flex}.pay-qr{text-align:center;margin:0}.pay-qr img,.pay-qr svg{border:1px solid var(--line);border-radius:var(--radius-lg);background:#fff;display:block}.pay-qr figcaption{color:var(--muted);margin-top:6px;font-size:11px}.pay-steps{margin:var(--sp-4) 0 0;font-size:var(--text-sm);gap:6px;padding-left:20px;line-height:1.6;display:grid}.pay-note{color:var(--muted);font-size:var(--text-sm);margin:var(--sp-3) 0 0}.read-only-banner{margin:0 0 var(--sp-4);border:1px solid var(--danger);border-radius:var(--radius-lg);background:var(--danger-soft);color:var(--ink);flex-wrap:wrap;align-items:center;gap:10px 14px;padding:12px 16px;display:flex}.read-only-banner>.icon{color:var(--danger);flex-shrink:0}.read-only-banner p{font-size:var(--text-sm);flex:260px;margin:0;line-height:1.5}.read-only-banner small{color:var(--muted)}.read-only-banner .read-only-actions{flex-wrap:wrap;gap:8px;margin-left:auto;display:flex}.flag-list{gap:var(--sp-4);display:grid}.flag-card{padding:var(--sp-4)}.flag-head{justify-content:space-between;align-items:flex-start;gap:var(--sp-3);margin-bottom:var(--sp-3);flex-wrap:wrap;display:flex}.flag-title{font-size:var(--text-md);margin:0;font-weight:650}.flag-key{color:var(--muted);font-size:var(--text-xs);margin:4px 0 0}.flag-default{flex-wrap:wrap;align-items:center;gap:8px 10px;display:flex}.flag-default small{color:var(--muted);font-size:11px}.flag-foot{margin-top:var(--sp-3)}.flag-card .table-wrap{margin-top:var(--sp-2)}.incident-impact{margin:0 0 var(--sp-3);font-size:var(--text-sm);white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.6}.incident-quote{margin:var(--sp-3) 0;border-left:3px solid var(--accent);background:var(--surface-2);border-radius:0 var(--radius-lg) var(--radius-lg) 0;font-size:var(--text-sm);white-space:pre-wrap;overflow-wrap:anywhere;padding:12px 14px;line-height:1.6}.incident-timeline{margin:0 0 var(--sp-3);border-left:2px solid var(--line);gap:14px;padding:0 0 0 14px;list-style:none;display:grid}.incident-timeline li{padding-left:12px;position:relative}.incident-timeline li:before{content:"";background:var(--accent);border:2px solid var(--paper);border-radius:50%;width:10px;height:10px;position:absolute;top:6px;left:-22px}.incident-timeline header{font-size:var(--text-xs);flex-wrap:wrap;align-items:center;gap:6px 10px;display:flex}.incident-timeline time,.incident-timeline header span{color:var(--muted)}.incident-timeline p{font-size:var(--text-sm);white-space:pre-wrap;overflow-wrap:anywhere;margin:4px 0 0}.plan-limits{gap:2px;margin:0;padding:0;font-size:11px;list-style:none;display:grid}.plan-limits li{justify-content:space-between;gap:12px;display:flex}.plan-limits span{color:var(--muted)}.plan-limits b{white-space:nowrap;flex-shrink:0}@media (width>=768px){.plan-limits{min-width:200px}}.plan-diff{border-collapse:collapse;width:100%;font-size:var(--text-sm)}.plan-diff th,.plan-diff td{border-bottom:1px solid var(--line);text-align:left;vertical-align:top;overflow-wrap:anywhere;padding:8px 10px}.plan-diff thead th{color:var(--muted);letter-spacing:.04em;font-size:11px}.plan-diff tbody th{width:28%;font-weight:600}.rule-line{line-height:1.5;display:block}.rule-templates{gap:6px;margin:0;padding:0;list-style:none;display:grid}.rule-templates li{font-size:var(--text-sm);gap:1px;display:grid}.rule-templates small,.rule-missing{color:var(--muted);font-size:11px;display:block}.rule-templates small.danger-text,.rule-missing{color:var(--danger)}.rule-missing{margin-top:6px}.bank-lines{margin:0 0 var(--sp-2);gap:10px;padding:0;list-style:none;display:grid}.bank-lines li{grid-template-columns:minmax(0,1fr) minmax(140px,200px);align-items:center;gap:4px 12px;display:grid}.bank-lines .field-error{grid-column:1/-1}.bank-card td>small{overflow-wrap:anywhere}@media (width<=1023px){.sub-plan-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ticket-layout{grid-template-columns:1fr}}@media (width<=767px){.admin-filters .field{flex:100%}.admin-facts,.audit-diff{grid-template-columns:1fr}.sub-banner{padding:14px}.sub-invoice-cards{padding-inline:16px}.sub-invoice-cards li{grid-template-columns:1fr;gap:8px}.sub-invoice-amount{text-align:left}.sub-plan-grid{grid-template-columns:1fr;padding-inline:16px}.sub-tabs,.sub-recovery-pay{padding-inline:16px}.sub-changes .table-wrap,.sub-invoices .table-wrap,.sub-invoices .tenant-pagination,.sub-changes .empty-state,.sub-invoices .empty-state{margin-inline:0}.pay-layout{grid-template-columns:1fr}.pay-qr{justify-self:center}.pay-row{grid-template-columns:1fr;gap:2px}.ticket-messages li{max-width:100%}.bank-lines li{grid-template-columns:1fr}.flag-head{flex-direction:column}}.homikey-platform-workspace .platform-provider-card,.homikey-platform-workspace .platform-plan-card{border-radius:var(--radius-lg)}.homikey-platform-workspace .mrr-chart{margin-bottom:var(--sp-4);padding:20px 20px 36px}.homikey-platform-workspace .mrr-chart h2{font-family:var(--font-body);font-size:var(--text-lg);margin:0 0 12px;font-weight:600}.mrr-chart-plot{border-bottom:1px solid var(--line);align-items:stretch;gap:12px;height:200px;display:flex}.mrr-chart-col{flex-direction:column;flex:1 1 0;justify-content:flex-end;align-items:center;gap:4px;min-width:0;height:calc(100% + 22px);margin-bottom:-22px;display:flex}.mrr-chart-value{height:14px;color:var(--ink-2);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:11px;font-weight:600;line-height:14px}.mrr-chart-bar{background:var(--chart-muted);border-radius:4px 4px 0 0;width:min(100%,44px);min-height:2px;display:block}.mrr-chart-col.current .mrr-chart-bar{background:var(--accent)}.mrr-chart-label{height:14px;color:var(--muted);white-space:nowrap;margin-top:8px;font-size:11px;line-height:14px}@media (width<=767px){.mrr-chart-plot{gap:6px;height:170px}.mrr-chart-bar{width:100%}}.homikey-platform-workspace .platform-provider-grid{gap:16px}.homikey-platform-workspace .platform-provider-card{padding:18px 20px}.homikey-platform-workspace .platform-provider-icon{border-radius:var(--radius);width:36px;height:36px}.homikey-platform-workspace .platform-provider-card h2{font-size:var(--text-base);margin-top:2px;font-weight:600}.homikey-platform-workspace .platform-provider-card dl{margin-top:14px}.homikey-platform-workspace .platform-provider-card dl>div{padding:12px 0}.homikey-platform-workspace .platform-provider-card>p{margin-top:2px}.homikey-platform-workspace .platform-section-heading h2{font-weight:600}.homikey-platform-workspace .platform-section-heading p{font-size:var(--text-xs);margin-top:4px}.homikey-platform-workspace h2.admin-subtitle{font-size:var(--text-lg);font-weight:600}.homikey-platform-workspace .platform-detail-card>.admin-facts,.homikey-platform-workspace .platform-detail-card>div>.admin-facts{margin-top:var(--sp-3)}.homikey-platform-workspace .admin-facts dt{font-size:var(--text-xs)}.homikey-platform-workspace .platform-kpis{margin-bottom:20px}.homikey-platform-workspace .platform-overview-grid{grid-template-columns:minmax(0,2fr) minmax(0,1fr);align-items:start;gap:20px;display:grid}.homikey-platform-workspace .platform-overview-grid.single{grid-template-columns:minmax(0,1fr);max-width:640px}.homikey-platform-workspace .platform-overview-grid .mrr-chart{margin-bottom:0}.homikey-platform-workspace .provider-health{padding:20px}.homikey-platform-workspace .provider-health h2{font-family:var(--font-body);font-size:var(--text-lg);margin:0 0 16px;font-weight:650}.homikey-platform-workspace .provider-health-list{gap:12px;margin:0;padding:0;list-style:none;display:grid}.homikey-platform-workspace .provider-health-row{background:var(--paper);box-shadow:var(--shadow-sm);border-radius:12px;align-items:center;gap:12px;padding:12px;display:flex}.homikey-platform-workspace .provider-health-text{flex:1;gap:2px;min-width:0;display:grid}.homikey-platform-workspace .provider-health-text strong{font-size:var(--text-base);overflow-wrap:anywhere;font-weight:600;line-height:1.3}.homikey-platform-workspace .provider-health-text small{color:var(--muted);font-size:var(--text-xs);line-height:1.35}.homikey-platform-workspace .health-dot{background:var(--green);border-radius:50%;flex-shrink:0;width:8px;height:8px}.homikey-platform-workspace .health-dot.degraded{background:var(--orange-dot)}.homikey-platform-workspace .health-dot.down{background:var(--danger)}@media (width<=1023px){.homikey-platform-workspace .platform-overview-grid{grid-template-columns:minmax(0,1fr)}.homikey-platform-workspace .platform-overview-grid.single{max-width:none}}@media (width<=767px){.homikey-platform-workspace .platform-overview-grid .mrr-chart-plot{gap:3px}.homikey-platform-workspace .platform-overview-grid .mrr-chart-value{font-size:9px}.homikey-platform-workspace .platform-overview-grid .mrr-chart-label{font-size:10px}}.homikey-platform-workspace .platform-toolbar{flex-wrap:wrap;align-items:center;gap:12px;margin:0 0 16px;display:flex}.homikey-platform-workspace .platform-toolbar .search-box{flex:0 420px;min-width:220px}.homikey-platform-workspace .platform-toolbar-actions{align-items:center;gap:8px;margin-left:auto;display:flex}.homikey-platform-workspace .platform-toolbar-count{color:var(--muted);font-size:var(--text-sm)}.homikey-platform-workspace .platform-filter-panel{gap:12px;min-width:240px;display:grid}.homikey-platform-workspace .platform-filter-panel .field{margin:0}.homikey-platform-workspace .platform-filter-panel .field :is(select,input){width:100%}.homikey-platform-workspace .list-pager-arrows{margin:4px 0 0}.homikey-platform-workspace .usage-bar{background:var(--line-soft);border-radius:3px;height:5px;margin-top:6px;display:block;overflow:hidden}.homikey-platform-workspace .usage-bar>span{background:var(--accent);border-radius:3px;height:100%;display:block}.homikey-platform-workspace .usage-bar.warn>span{background:var(--orange)}.homikey-platform-workspace .usage-bar.full>span{background:var(--brand-highlight-dark)}.homikey-platform-workspace .usage-figure{color:var(--ink-2);font-size:var(--text-sm);font-variant-numeric:tabular-nums;font-weight:600}.homikey-platform-workspace .usage-figure.warn{color:var(--orange-text)}.homikey-platform-workspace .usage-figure.full{color:var(--brand-highlight-dark)}.homikey-platform-workspace .platform-split{grid-template-columns:minmax(0,1fr);align-items:start;gap:20px;display:grid}@media (width>=1024px){.homikey-platform-workspace .platform-split{grid-template-columns:minmax(0,1.6fr) minmax(300px,1fr)}}.homikey-platform-workspace .platform-org-list .platform-scope-note{border-top:1px solid var(--line-soft);font-size:var(--text-xs);padding:12px 20px;display:block}.homikey-platform-workspace .platform-org-list tbody tr{cursor:pointer}.homikey-platform-workspace .platform-org-list tbody tr.is-selected td{background:var(--sand-selected)}.homikey-platform-workspace .platform-row-pick{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;padding:0;display:block}.homikey-platform-workspace .platform-row-pick strong{color:var(--ink);font-size:var(--text-sm);font-weight:600;display:block}.homikey-platform-workspace .platform-row-pick small{color:var(--muted);font-size:var(--text-xs);overflow-wrap:anywhere;margin-top:2px;display:block}.homikey-platform-workspace .platform-aside{align-content:start;gap:16px;padding:20px;display:grid}.homikey-platform-workspace .platform-aside-title{font-family:var(--font-display);color:var(--ink);margin:0;font-size:22px;font-weight:400;line-height:1.25}.homikey-platform-workspace .platform-aside-sub{color:var(--muted);font-size:var(--text-xs);overflow-wrap:anywhere;margin:-8px 0 0}.homikey-platform-workspace .platform-kv{background:var(--sand-soft);font-size:var(--text-sm);border-radius:12px;gap:12px;margin:0;padding:16px;display:grid}.homikey-platform-workspace .platform-kv>div{grid-template-columns:auto minmax(0,1fr);gap:4px 16px;display:grid}.homikey-platform-workspace .platform-kv dt{color:var(--muted)}.homikey-platform-workspace .platform-kv dd{text-align:right;overflow-wrap:anywhere;margin:0;font-weight:600}.homikey-platform-workspace .wide{justify-content:center;width:100%}.homikey-platform-workspace .platform-org-bar{flex-wrap:wrap;align-items:center;gap:12px;margin:0 0 16px;display:flex}.homikey-platform-workspace .platform-org-id{color:var(--subtle);font-size:var(--text-xs)}.homikey-platform-workspace .platform-detail-grid{grid-template-columns:minmax(0,1fr);gap:20px;margin-bottom:20px;display:grid}@media (width>=1024px){.homikey-platform-workspace .platform-detail-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}.homikey-platform-workspace .platform-detail-card{align-content:start;gap:14px;margin-bottom:20px;padding:20px;display:grid}.homikey-platform-workspace .platform-detail-grid .platform-detail-card{margin-bottom:0}.homikey-platform-workspace .platform-detail-card h2{font-family:var(--font-body);font-size:var(--text-lg);margin:0;font-weight:600}.homikey-platform-workspace .platform-quota-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;display:grid}.homikey-platform-workspace .platform-quota{background:var(--sand-soft);border-radius:12px;gap:4px;padding:16px;display:grid}.homikey-platform-workspace .platform-quota-head{color:var(--muted);font-size:var(--text-xs);justify-content:space-between;gap:8px;display:flex}.homikey-platform-workspace .platform-quota>strong{color:var(--ink);font-size:var(--text-xl);font-variant-numeric:tabular-nums;font-weight:600}.homikey-platform-workspace .platform-quota small{color:var(--muted);font-size:var(--text-xs)}.homikey-platform-workspace .platform-quota-badge{font-weight:600}.homikey-platform-workspace .platform-quota-badge.ok{color:var(--green-text)}.homikey-platform-workspace .platform-quota-badge.warn{color:var(--orange-text)}.homikey-platform-workspace .platform-quota-badge.full{color:var(--brand-highlight-dark)}.homikey-platform-workspace .platform-pay-list{gap:0;margin:0;padding:0;list-style:none;display:grid}.homikey-platform-workspace .platform-pay-list li{border-top:1px solid var(--line-soft);grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:12px;padding:12px 0;display:grid}.homikey-platform-workspace .platform-pay-list li:first-child{border-top:0}.homikey-platform-workspace .platform-pay-list strong{font-size:var(--text-sm);display:block}.homikey-platform-workspace .platform-pay-list small{color:var(--muted);font-size:var(--text-xs);display:block}.homikey-platform-workspace .platform-pay-amount{font-size:var(--text-sm);font-variant-numeric:tabular-nums;font-weight:600}.homikey-platform-workspace .platform-impacts{background:var(--sand-soft);color:var(--ink-2);font-size:var(--text-xs);border-radius:12px;gap:6px;margin:0;padding:12px 16px;list-style:none;display:grid}.homikey-platform-workspace .platform-impacts li:before{content:"• "}.homikey-platform-workspace .platform-plan-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;margin-bottom:12px;display:grid}.homikey-platform-workspace .platform-plan-card{border-radius:var(--radius-lg);background:var(--paper);box-shadow:var(--shadow-sm);color:var(--ink);align-content:start;gap:12px;padding:20px;display:grid}.homikey-platform-workspace .platform-plan-card>header{justify-content:space-between;align-items:center;gap:8px;display:flex}.homikey-platform-workspace .platform-plan-card h2{font-family:var(--font-body);font-size:var(--text-sm);margin:0;font-weight:600}.homikey-platform-workspace .platform-plan-card .plan-price{align-items:baseline;gap:4px;margin:0;display:flex}.homikey-platform-workspace .platform-plan-card .plan-price strong{font-size:var(--text-4xl);letter-spacing:-.03em;font-variant-numeric:tabular-nums;font-weight:600}.homikey-platform-workspace .platform-plan-card .plan-price span{color:var(--muted);font-size:var(--text-sm)}.homikey-platform-workspace .platform-plan-card .plan-sub,.homikey-platform-workspace .platform-plan-card .plan-description{color:var(--muted);font-size:var(--text-xs);margin:0;line-height:1.5}.homikey-platform-workspace .platform-plan-card .plan-limits{min-width:0;font-size:var(--text-xs);padding-top:4px}.homikey-platform-workspace .platform-plan-card .plan-features{font-size:var(--text-sm);gap:6px;margin:0;padding:0;list-style:none;display:grid}.homikey-platform-workspace .platform-plan-card .plan-features li{align-items:center;gap:8px;display:flex}.homikey-platform-workspace .platform-plan-card .plan-features-none{color:var(--muted);font-size:var(--text-sm);margin:0}.homikey-platform-workspace .platform-plan-card>footer{border-top:1px solid var(--line-soft);gap:12px;margin-top:auto;padding-top:12px;display:grid}.homikey-platform-workspace .platform-plan-card .plan-count{font-size:var(--text-xs);color:var(--muted)}.homikey-platform-workspace .platform-plan-card .plan-count strong{color:var(--ink);font-weight:600}.homikey-platform-workspace .platform-plan-card .plan-count small{margin-top:2px;display:block}.homikey-platform-workspace .platform-plan-card.archived{opacity:.85}.homikey-platform-workspace .platform-plan-card.featured{box-shadow:0 0 0 2px var(--accent)}.homikey-platform-workspace .platform-plan-card>footer .admin-actions{justify-content:flex-start}.homikey-platform-workspace .platform-health-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px;margin-bottom:8px;display:grid}.homikey-platform-workspace .platform-health-card{border-radius:var(--radius-lg);background:var(--paper);box-shadow:var(--shadow-sm);gap:12px;padding:20px;display:grid}.homikey-platform-workspace .platform-health-card>header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.homikey-platform-workspace .platform-health-card>header>span:first-child{gap:2px;min-width:0;display:grid}.homikey-platform-workspace .platform-health-card strong{font-size:var(--text-base);overflow-wrap:anywhere;font-weight:600}.homikey-platform-workspace .platform-health-card small{color:var(--muted);font-size:var(--text-xs);line-height:1.4}.homikey-platform-workspace .platform-health-card>footer{flex-wrap:wrap;gap:8px;display:flex}.homikey-platform-workspace .platform-subhead{font-family:var(--font-body);font-size:var(--text-lg);margin:16px 0 12px;font-weight:600}.homikey-platform-workspace .platform-degraded-banner{display:none}@media (width<=767px){.homikey-platform-workspace .platform-degraded-banner{background:var(--orange-soft);color:var(--orange-text);font-size:var(--text-sm);border-radius:12px;gap:4px;padding:12px 16px;line-height:1.45;display:grid}.homikey-platform-workspace .platform-degraded-banner strong{font-weight:700}.homikey-platform-workspace .platform-degraded-banner.down{background:var(--danger-soft);color:var(--danger-dark)}.homikey-platform-workspace .platform-toolbar .search-box{flex-basis:100%}.homikey-platform-workspace .platform-toolbar-actions{margin-left:0}}.homikey-platform-workspace .platform-usage-table .platform-section-heading{padding:20px 20px 14px}.homikey-platform-workspace .platform-usage-table .usage-figure{display:block}.homikey-platform-workspace.platform-user-detail .admin-detail,.homikey-platform-workspace.platform-ticket-detail .ticket-layout{margin-top:4px}.homikey-platform-workspace.platform-user-detail .platform-detail-card .admin-list,.homikey-platform-workspace.platform-user-detail .platform-detail-card .admin-facts{margin:0}.homikey-platform-workspace.platform-user-detail .platform-detail-card .admin-subtitle{font-size:var(--text-sm);margin:8px 0 0;font-weight:600}.homikey-platform-workspace.platform-user-detail .platform-detail-grid{align-items:start}.homikey-platform-workspace.platform-ticket-detail .ticket-thread,.homikey-platform-workspace.platform-ticket-detail .ticket-side .platform-detail-card{margin-bottom:0}.homikey-platform-workspace.platform-ticket-detail .ticket-messages{max-height:56vh;margin-bottom:0}.homikey-platform-workspace.platform-ticket-detail .ticket-side{gap:20px}.homikey-platform-workspace.platform-ticket-detail .ticket-layout{align-items:start}.homikey-platform-workspace .sub-view .family-tabs{display:none}.badge.warning{color:var(--orange-text);background:var(--orange-soft)}.badge.info{color:var(--blue);background:var(--blue-soft)}.badge.neutral{color:#7b7d79;background:var(--surface-2)}.ops-stack{gap:var(--sp-4);min-width:0;display:grid}.ops-muted{color:var(--muted);font-size:var(--text-sm)}.ops-hint{gap:var(--sp-2);color:var(--muted);font-size:var(--text-xs);align-items:flex-start;margin:0;line-height:1.5;display:flex}.ops-range{text-align:center;min-width:190px;font-weight:600;font-size:var(--text-sm)}.ops-stack>.toolbar>select{border:1px solid var(--control-line);border-radius:var(--radius);background-color:var(--paper);height:40px;min-height:40px;color:var(--ink);font-size:var(--text-base);outline:0;padding:0 12px;transition:border-color .15s,box-shadow .15s}.ops-stack>.toolbar>select:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 10%, transparent)}.ops-stack>.toolbar>select:disabled{background-color:var(--surface-2);color:var(--muted)}.ops-stack>.toolbar>.search-box{height:40px}.ops-stack>.toolbar>select{min-width:150px;max-width:230px}.ops-toolbar-end{margin-left:auto}.operations-metrics.ops-metrics-4{grid-template-columns:repeat(4,minmax(0,1fr))}.operations-metrics.ops-metrics-4 article>div{gap:2px;min-width:0;display:grid}.operations-metrics.ops-metrics-4 small{margin-bottom:0}.ops-list{border:1px solid var(--line);border-radius:var(--radius);background:var(--line);gap:1px;margin:0;padding:0;list-style:none;display:grid;overflow:hidden}.ops-list>li{align-items:center;gap:var(--sp-3);padding:var(--sp-2) var(--sp-3);background:#fff;display:flex}.ops-list>li>div{flex:1;gap:1px;min-width:0;display:grid}.ops-list small{color:var(--muted);font-size:var(--text-xs);overflow-wrap:anywhere}.ops-form.foundation-form{gap:var(--sp-4);padding:0}.ops-form textarea{min-height:0}.ops-inline-form{gap:var(--sp-2);flex-wrap:wrap;align-items:flex-end;display:flex}.ops-inline-form>input,.ops-inline-form>.field{flex:220px;min-width:0}.ops-checklist{margin:0 0 var(--sp-2);gap:var(--sp-1);padding:0;list-style:none;display:grid}.ops-checklist>li{align-items:center;gap:var(--sp-2);border-bottom:1px solid var(--line-soft);padding:6px 0;display:flex}.ops-checklist label{align-items:center;gap:var(--sp-2);cursor:pointer;flex:1;min-width:0;display:flex}.ops-checklist input[type=checkbox]{flex:none;width:18px;height:18px}.ops-checklist .done{color:var(--muted);text-decoration:line-through}.ops-checklist small{color:var(--muted);font-size:var(--text-xs)}.ops-cost-lines{gap:var(--sp-2);display:grid}.ops-cost-head,.ops-cost-row{gap:var(--sp-2);grid-template-columns:minmax(0,2.2fr) minmax(70px,.6fr) minmax(100px,1fr) minmax(100px,1fr) 40px;align-items:center;display:grid}.ops-cost-head{color:var(--muted);font-size:var(--text-xs);font-weight:600}.ops-cost-row output{text-align:right;white-space:nowrap;font-weight:600}.ops-cost-row .ops-cost-error{grid-column:1/-1}.ops-total{font-size:var(--text-lg);margin-right:auto}.ops-sla-bar{border-radius:var(--radius-full);background:var(--line);height:8px;overflow:hidden}.ops-sla-bar i{border-radius:inherit;background:var(--accent);height:100%;display:block}.ops-sla-bar i.warning{background:var(--orange)}.ops-sla-bar i.danger{background:var(--danger)}.ops-sla-bar i.active{background:var(--green)}.ops-comment-form{gap:var(--sp-2);display:grid}.ops-policy .table-wrap{margin:0}.ops-policy-table input:not([type=checkbox]){width:100%;min-width:80px}.ops-policy-table td{vertical-align:top}.ops-policy-table td small{color:var(--muted);font-size:var(--text-xs);margin-top:2px;display:block}.ops-policy .policy-footer{padding:var(--sp-3) var(--sp-4)}.ops-calendar{gap:var(--sp-3);display:grid}.ops-day.today{border-color:var(--accent)}.ops-day .panel-head h2{font-size:var(--text-md,15px)}.file-attachments-block{font-size:var(--text-xs);gap:4px;margin-top:6px;display:grid}.file-attachments-caption{color:var(--muted)}.file-attachments{align-items:center;gap:var(--sp-2);flex-wrap:wrap;min-width:0;display:flex}.file-attachment{overflow-wrap:anywhere;align-items:center;min-width:0;max-width:100%;display:inline-flex}.file-attachment-gone{font-size:var(--text-xs)}.file-thumb{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-2);flex:0 0 88px;width:88px;height:88px;line-height:0;display:block;overflow:hidden}.file-thumb>img{object-fit:cover;width:100%;height:100%;display:block}a.file-thumb:hover{border-color:var(--accent)}a.file-thumb:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.file-thumb-missing{width:100%;height:100%;color:var(--muted);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:4px;padding:4px;font-size:11px;line-height:1.2;display:flex}.mnt-card .file-thumb{border:0;border-radius:12px;flex-basis:150px;width:150px;height:120px}@media (width<=1023px){.operations-metrics.ops-metrics-4{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=767px){.ops-stack>.toolbar{align-items:stretch}.ops-stack>.toolbar>select{flex:none;width:100%;max-width:none;min-height:44px;font-size:16px}.ops-toolbar-end{margin-left:0}.ops-cost-head{display:none}.ops-cost-row{grid-template-columns:1fr 1fr}.ops-cost-row>:first-child{grid-column:1/-1}.operations-metrics.ops-metrics-4{grid-template-columns:1fr}}.homikey-operations-workspace .ops-stack>.toolbar{box-shadow:none;background:0 0;border:0;border-radius:0;padding:0}.homikey-operations-workspace .panel{border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);border:0}.homikey-operations-workspace .panel-head h2{color:var(--ink);font:600 16px/1.4 var(--font-body)}.homikey-operations-workspace .panel-head p{color:var(--subtle);font-size:12px}.homikey-operations-workspace .panel .table-wrap,.homikey-operations-workspace .ops-policy .table-wrap{box-shadow:none;border:0;border-radius:0}.homikey-operations-workspace .ops-day.today{box-shadow:inset 0 0 0 1px var(--accent), var(--shadow-sm)}.homikey-operations-workspace .ops-list{background:var(--line-soft);border:0;border-radius:12px}.homikey-operations-workspace .ops-day .ops-list{margin:0 16px 16px}.homikey-operations-workspace .operations-metrics.ops-metrics-4 .operations-metric-icon{border-radius:12px}.homikey-operations-workspace :is(.empty-state,.state-box){border-radius:var(--radius-lg);background:var(--paper);box-shadow:var(--shadow-sm);border:0}.homikey-operations-workspace :is(.empty-state>span,.state-icon){width:44px;height:44px;color:var(--accent-light);background:var(--line-soft);border-radius:12px}.homikey-operations-workspace .error-state .state-icon{color:var(--danger-dark);background:var(--danger-soft)}.homikey-operations-workspace :is(.empty-state h2,.state-box strong){color:var(--ink);font:600 16px/1.35 var(--font-body);margin:10px 0 0}.homikey-operations-workspace :is(.empty-state p,.state-box>span:not(.state-icon)){max-width:460px;color:var(--muted);margin:0;font-size:13px;line-height:1.55}.homikey-operations-workspace{flex-direction:column;gap:20px;display:flex}.homikey-operations-workspace>section.page-heading{margin-bottom:8px}.homikey-operations-workspace .heading-actions{align-items:center;gap:12px}.homikey-operations-workspace .heading-actions>.btn{border-radius:var(--radius);white-space:nowrap;min-height:40px;padding:0 16px;font-size:14px}.mnt-modes{background:var(--paper);box-shadow:var(--shadow-sm);border-radius:12px;gap:4px;padding:4px}.mnt-modes button{border-radius:var(--radius);min-height:32px;padding:0 16px;font-size:13px}.mnt-modes button.active{background:var(--accent);color:var(--paper);box-shadow:none}.mnt-modes button:disabled{opacity:.45;cursor:not-allowed}.mnt-attention{background:var(--orange-soft);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--orange) 35%, var(--paper));border-radius:12px;flex-wrap:wrap;align-items:center;gap:12px;padding:16px;display:flex}.mnt-attention-mark{background:var(--orange);width:28px;height:28px;color:var(--paper);border-radius:8px;flex:none;place-items:center;font-weight:700;line-height:1;display:grid}.mnt-attention>div{flex:1;min-width:0}.mnt-attention strong{color:var(--ink);font:600 14px/1.4 var(--font-body);display:block}.mnt-attention p{color:var(--muted);margin:2px 0 0;font-size:12px;line-height:1.5}.mnt-attention .btn{border-radius:var(--radius);background:var(--paper);min-height:34px;color:var(--orange-dark);border:0;flex:none;margin-left:auto;padding:0 16px;font-size:13px;font-weight:600}.mnt-columns{grid-template-columns:minmax(0,1.6fr) minmax(320px,1fr);align-items:start;gap:20px;display:grid}.mnt-card-flat{border-radius:var(--radius-lg);background:var(--paper);min-width:0;box-shadow:var(--shadow-sm);flex-direction:column;display:flex}.mnt-card-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 12px;padding:16px;display:flex}.mnt-card-head .filter-pop-trigger{height:32px}.mnt-card-note{margin:0;padding:0 16px 12px}.mnt-pills{flex-wrap:wrap;gap:8px;display:flex}.mnt-pills>button{border-radius:var(--radius-full);background:var(--paper);min-height:32px;box-shadow:inset 0 0 0 1px var(--line);color:var(--ink-2);font:600 12px/1 var(--font-body);white-space:nowrap;cursor:pointer;border:0;padding:0 12px;transition:background .15s,color .15s}.mnt-pills>button:hover{background:var(--surface-2);color:var(--ink)}.mnt-pills>button:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.mnt-pills>button[aria-pressed=true],.mnt-pills>button[aria-pressed=true]:hover{background:var(--accent);box-shadow:none;color:var(--paper)}.mnt-pill-count{font-variant-numeric:tabular-nums;font-weight:600}.mnt-pill-count.attention{color:var(--brand-highlight-dark)}.mnt-pills>button[aria-pressed=true] .mnt-pill-count.attention{color:inherit}.mnt-count-line{color:var(--subtle);margin:0;padding:0 16px 8px;font-size:12px}.mnt-rows{margin:0;padding:0;list-style:none}.mnt-row{border:0;border-top:1px solid var(--line-soft);width:100%;min-height:60px;color:var(--ink);font:inherit;text-align:left;cursor:pointer;background:0 0;grid-template-columns:minmax(160px,2fr) minmax(0,1fr) minmax(110px,auto) minmax(70px,auto);align-items:center;gap:12px;padding:12px 16px;transition:background .15s;display:grid}.mnt-row:hover{background:var(--sand-soft)}.mnt-row:focus-visible{outline:2px solid var(--focus-ring);outline-offset:-2px}.mnt-row.is-selected,.mnt-row.is-selected:hover{background:var(--sand-selected)}.mnt-row-task{grid-template-columns:minmax(160px,2fr) minmax(0,1fr) minmax(0,1.2fr) minmax(100px,auto) minmax(60px,auto)}.mnt-row-main{flex-direction:column;gap:4px;min-width:0;display:flex}.mnt-row-main strong{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:600;overflow:hidden}.mnt-row-main small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.mnt-row-sla,.mnt-row-who{color:var(--muted);font-size:12px}.mnt-row-who em{color:var(--subtle);font-style:normal}.mnt-row-sla.soon{color:var(--orange-text)}.mnt-row-sla.late{color:var(--danger-dark)}.mnt-state,.mnt-prio{color:var(--ink-2);white-space:nowrap;align-items:center;gap:8px;font-size:12px;font-weight:600;display:inline-flex}.mnt-prio{justify-self:end;font-weight:700}.mnt-dot{background:var(--subtle);border-radius:50%;flex:none;width:6px;height:6px;display:inline-block}.mnt-dot.new,.mnt-dot.urgent{background:var(--brand-highlight-dark)}.mnt-dot.assigned,.mnt-dot.normal{background:var(--accent)}.mnt-dot.working,.mnt-dot.high{background:var(--orange-dark)}.mnt-dot.done{background:var(--green)}.mnt-card-flat .list-pager-arrows{border-top:1px solid var(--line-soft)}.mnt-card-flat .empty-state.empty-state,.mnt-card-flat .state-box.state-box{min-height:200px;box-shadow:none;background:0 0;border:0;border-radius:0;margin:0;padding:24px 16px 32px}.mnt-panel{top:calc(var(--topbar-height) + 16px);min-width:0;max-height:calc(100vh - var(--topbar-height) - 32px);border-radius:var(--radius-lg);background:var(--paper);box-shadow:var(--shadow-sm);flex-direction:column;gap:16px;padding:16px;display:flex;position:sticky;overflow-y:auto}.mnt-panel-empty{min-height:160px;color:var(--muted);justify-content:center;align-items:center;font-size:13px}.mnt-panel-empty p{margin:0}.mnt-panel-head{flex-direction:column;align-items:flex-start;gap:8px;display:flex}.mnt-panel-meta{color:var(--subtle);font-size:12px}.mnt-panel-title{color:var(--ink);font:700 18px/1.35 var(--font-body);overflow-wrap:anywhere;margin:0}.mnt-panel-sub{color:var(--muted);font-size:12px}.mnt-link{color:var(--accent);font:600 13px/1.4 var(--font-body);text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:4px;padding:0;display:inline-flex}.mnt-link:hover{color:var(--brand-highlight-dark)}.mnt-link:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px;border-radius:var(--radius-sm)}.mnt-chips{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.mnt-prio-pill{border-radius:var(--radius-full);background:var(--surface-2);color:var(--muted);padding:4px 8px;font-size:11px;font-weight:700}.mnt-prio-pill.urgent{background:var(--danger-soft);color:var(--brand-highlight-dark)}.mnt-prio-pill.high{background:var(--orange-soft);color:var(--orange-text)}.mnt-prio-pill.normal{background:var(--blue-soft);color:var(--accent)}.mnt-sla-mini{background:var(--surface-2);border-radius:12px;flex-direction:column;gap:8px;padding:16px;display:flex}.mnt-sla-mini>div:first-child{justify-content:space-between;gap:12px;font-size:12px;display:flex}.mnt-sla-mini>div:first-child>span{color:var(--muted)}.mnt-sla-mini strong{color:var(--ink);font-weight:600}.mnt-sla-mini strong.soon{color:var(--orange-text)}.mnt-sla-mini strong.late{color:var(--danger-dark)}.mnt-sla-mini .ops-sla-bar,.mnt-sla-box .ops-sla-bar{background:var(--line);height:6px}.mnt-field{color:var(--ink);flex-direction:column;gap:8px;font-size:13px;font-weight:600;display:flex}.mnt-field select{border-radius:var(--radius);width:100%;height:40px;box-shadow:inset 0 0 0 1px var(--control-line);background-color:var(--paper);color:var(--ink);font:500 13px/1 var(--font-body);border:0;padding:0 12px}.mnt-mini-comment{border-radius:var(--radius);background:var(--sand-soft);flex-direction:column;gap:4px;padding:12px;display:flex}.mnt-mini-comment>span:first-child{color:var(--muted);font-size:11px;font-weight:600}.mnt-mini-comment>span:last-child{color:var(--ink);overflow-wrap:anywhere;font-size:13px;font-weight:400;line-height:1.45}.mnt-composer-row{gap:8px;display:flex}.mnt-composer-row input{border-radius:var(--radius);min-width:0;height:38px;box-shadow:inset 0 0 0 1px var(--control-line);font:400 13px/1 var(--font-body);border:0;outline:0;flex:1;padding:0 12px}.mnt-composer-row input:focus{box-shadow:inset 0 0 0 1.5px var(--accent)}.mnt-composer-row .btn{border-radius:var(--radius);min-height:38px;padding:0 16px;font-size:13px}.mnt-tenant-toggle{color:var(--muted);align-items:center;gap:8px;font-size:12px;font-weight:500;display:flex}.mnt-advance{border-radius:var(--radius);width:100%;min-height:40px;font-size:13px;font-weight:600}.mnt-detail-grid{grid-template-columns:minmax(0,1.5fr) minmax(300px,1fr);align-items:start;gap:20px;display:grid}.mnt-col{flex-direction:column;gap:16px;min-width:0;display:flex}.mnt-card{border-radius:var(--radius-lg);background:var(--paper);min-width:0;box-shadow:var(--shadow-sm);flex-direction:column;gap:12px;padding:20px;display:flex}.mnt-col-side .mnt-card{padding:16px}.mnt-card-title{color:var(--ink);font:700 16px/1.4 var(--font-body);margin:0}.mnt-card .ops-muted{margin:0}.mnt-kv{grid-template-columns:minmax(110px,auto) minmax(0,1fr);gap:12px 16px;margin:0;font-size:13px;display:grid}.mnt-kv>div{display:contents}.mnt-kv dt{color:var(--muted)}.mnt-kv dd{color:var(--ink);overflow-wrap:anywhere;margin:0;line-height:1.5}.mnt-desc{white-space:pre-wrap}.mnt-card .file-attachments-block{margin-top:0;font-size:13px}.mnt-card .file-attachments{gap:12px}.mnt-edit-btn{align-self:flex-start}.mnt-decision{box-shadow:inset 0 0 0 1px var(--accent), var(--shadow-sm)}.mnt-decision label{color:var(--ink);font-size:13px;font-weight:600}.mnt-decision textarea,.mnt-decision input[type=text],.mnt-decision select{width:100%}.mnt-decision textarea{resize:vertical;border-radius:12px;min-height:84px}.mnt-decision small{color:var(--muted);font-size:12px}.mnt-decision .approval-counter{color:var(--muted);text-align:right;font-size:12px}.mnt-decision .actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.mnt-thread{flex-direction:column;gap:12px;display:flex}.mnt-bubble{border-radius:12px;flex-direction:column;gap:4px;max-width:82%;padding:12px;display:flex}.mnt-bubble.is-other{background:var(--sand-soft);color:var(--ink);align-self:flex-start}.mnt-bubble.is-mine{background:var(--accent);color:var(--paper);align-self:flex-end}.mnt-bubble-head{opacity:.75;font-size:11px;font-weight:600}.mnt-bubble-body{white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px;line-height:1.5}.mnt-bubble-body.deleted{font-style:italic}.mnt-bubble.is-mine :is(.btn.ghost,.muted,small,a){color:inherit}.mnt-composer{flex-direction:column;gap:8px;display:flex}.mnt-composer .mnt-composer-row input{height:42px;padding:0 16px;font-size:14px}.mnt-composer .mnt-composer-row .btn{min-height:42px}.mnt-composer-extra select{border-radius:var(--radius);max-width:260px;height:36px;box-shadow:inset 0 0 0 1px var(--control-line);background-color:var(--paper);color:var(--ink);font:500 12px/1 var(--font-body);border:0;padding:0 12px}.mnt-composer small{color:var(--muted);font-size:12px}.mnt-sla-box{background:var(--surface-2);border-radius:12px;flex-direction:column;gap:8px;padding:16px;display:flex}.mnt-sla-box.warning{background:var(--orange-soft)}.mnt-sla-box.danger{background:var(--danger-soft)}.mnt-sla-label{color:var(--muted);font-size:12px}.mnt-sla-clock{color:var(--ink);font:600 28px/1 var(--font-body);letter-spacing:-.03em}.mnt-sla-box.warning .mnt-sla-clock{color:var(--orange-text)}.mnt-sla-box.danger .mnt-sla-clock{color:var(--danger-dark)}.mnt-sla-box.active .mnt-sla-clock{color:var(--green-text)}.mnt-sla-box small{color:var(--muted);font-size:11px;line-height:1.5}.mnt-side-label{color:var(--ink);font:600 13px/1.4 var(--font-body);margin:4px 0 0}.mnt-staff{flex-direction:column;gap:8px;display:flex}.mnt-staff-item{background:var(--paper);width:100%;box-shadow:inset 0 0 0 1px var(--line);color:var(--ink);font:inherit;text-align:left;cursor:pointer;border:0;border-radius:12px;align-items:center;gap:12px;padding:12px;transition:box-shadow .15s,background .15s;display:flex}.mnt-staff-item:hover:not(:disabled){background:var(--sand-soft)}.mnt-staff-item:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.mnt-staff-item.is-chosen{box-shadow:inset 0 0 0 1.5px var(--accent)}.mnt-staff-item:disabled{cursor:not-allowed;opacity:.7}.mnt-avatar{width:32px;height:32px;color:var(--paper);font:700 11px/1 var(--font-body);background:var(--accent);border-radius:50%;flex:none;place-items:center;display:grid}.mnt-avatar[data-tone="1"]{background:var(--brand-highlight-dark)}.mnt-avatar[data-tone="2"]{background:var(--green-text)}.mnt-avatar[data-tone="3"]{background:var(--orange-dark)}.mnt-staff-text{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.mnt-staff-text strong{font-size:13px;font-weight:600}.mnt-staff-text small{color:var(--muted);font-size:11px}.mnt-load{background:var(--line-soft);border-radius:3px;flex:none;width:46px;height:6px;overflow:hidden}.mnt-load>i{background:var(--accent);height:100%;display:block}.mnt-load>i.is-over{background:var(--brand-highlight-dark)}.mnt-pairs{grid-template-columns:auto minmax(0,1fr);gap:8px 16px;margin:0;font-size:13px;display:grid}.mnt-pairs dt{color:var(--muted)}.mnt-pairs dd{color:var(--ink);text-align:right;overflow-wrap:anywhere;margin:0;font-weight:600}.mnt-late{color:var(--danger-dark)}.mnt-minor{flex-wrap:wrap;gap:8px;display:flex}.mnt-history{flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;display:flex}.mnt-history li{flex-direction:column;gap:2px;padding-left:18px;font-size:13px;display:flex;position:relative}.mnt-history li:before{content:"";background:var(--subtle);border-radius:50%;width:8px;height:8px;position:absolute;top:4px;left:0}.mnt-history li:after{content:"";background:var(--line);width:1px;position:absolute;top:16px;bottom:-12px;left:3px}.mnt-history li:last-child:after{display:none}.mnt-history li[data-tone=start]:before{background:var(--brand-highlight-dark)}.mnt-history li[data-tone=sort]:before{background:var(--orange-dot)}.mnt-history li[data-tone=give]:before{background:var(--accent)}.mnt-history time{color:var(--subtle);font-size:12px}.mnt-history blockquote{color:var(--muted);overflow-wrap:anywhere;margin:2px 0 0;font-size:12px}@media (width<=1023px){.mnt-columns,.mnt-detail-grid{grid-template-columns:minmax(0,1fr)}.mnt-panel{max-height:none;position:static;overflow:visible}}@media (width<=767px){.mnt-attention{padding:14px}.mnt-attention .btn{min-height:40px;margin-left:40px}.mnt-pills{flex-wrap:nowrap;width:100%;padding-bottom:4px;overflow-x:auto}.mnt-pills>button{flex:none;min-height:40px}.mnt-row,.mnt-row-task{grid-template-columns:minmax(0,1fr) auto auto;gap:4px 12px;padding:12px 14px}.mnt-row-main,.mnt-row-task .mnt-row-who{grid-column:1/-1}.mnt-row-sla{grid-column:1}.mnt-card{padding:16px}.mnt-kv{grid-template-columns:minmax(0,1fr);gap:2px}.mnt-kv dd{margin-bottom:8px}.mnt-bubble{max-width:92%}.mnt-modes{width:100%}.mnt-modes button{flex:1;padding:0 8px}}.mnt-card>.btn,.mnt-col>.mnt-card>.btn{align-self:flex-start}.mnt-card .file-attachment a{color:var(--accent);font-weight:500}.mnt-card .ops-inline-form{align-items:flex-end}.mnt-card .ops-inline-form input:not([type=checkbox]),.mnt-card .ops-inline-form textarea{border:1px solid var(--control-line);border-radius:var(--radius);background:var(--paper);min-height:40px;color:var(--ink);font:inherit;outline:0;padding:0 12px}.mnt-card .ops-inline-form textarea{padding:10px 12px}.mnt-card .ops-inline-form input:focus,.mnt-card .ops-inline-form textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 10%, transparent)}.mnt-card .approval-timeline{margin-top:4px}.tenant-request-list{gap:12px;margin:0 0 16px;padding:0;list-style:none;display:grid}.tenant-request-card{border:1px solid var(--line);border-left:4px solid var(--accent);border-radius:var(--radius);background:var(--surface);cursor:pointer;text-align:left;width:100%;font:inherit;color:inherit;gap:6px;padding:14px 16px;display:grid}.tenant-request-card:hover,.tenant-request-card:focus-visible{border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb, var(--accent) 18%, transparent);outline:none}.tenant-request-card header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.tenant-request-card header strong{font-size:15px}.tenant-request-card small,.tenant-request-meta{color:var(--muted);font-size:12px}.tenant-request-meta{flex-wrap:wrap;gap:10px;display:flex}.tenant-request-urgent{color:var(--danger);font-weight:600}.tenant-stars{color:var(--orange-text);letter-spacing:1px}.tenant-request-detail{gap:14px;display:grid}.tenant-request-detail h4{margin:0 0 6px;font-size:13px}.tenant-request-thread{gap:8px;margin:0;padding:0;list-style:none;display:grid}.tenant-request-thread li{border-radius:var(--radius);background:var(--surface-2);padding:10px 12px}.tenant-request-thread li.mine{background:color-mix(in srgb, var(--accent) 8%, var(--surface));border:1px solid color-mix(in srgb, var(--accent) 25%, transparent)}.tenant-request-thread small{color:var(--muted);margin-bottom:2px;display:block}.tenant-request-timeline{border-left:2px solid var(--line);gap:6px;margin:0;padding:0;list-style:none;display:grid}.tenant-request-timeline li{margin-left:12px;padding-left:6px;font-size:13px;position:relative}.tenant-request-timeline li:before{content:"";background:var(--accent);border-radius:50%;width:8px;height:8px;position:absolute;top:6px;left:-19px}.tenant-request-actions{flex-wrap:wrap;gap:8px;display:flex}.tenant-star-picker{gap:4px;display:inline-flex}.tenant-star-picker button{cursor:pointer;color:var(--line);background:0 0;border:0;padding:0 2px;font-size:24px;line-height:1}.tenant-star-picker button.on{color:var(--orange-text)}.tenant-settlement-list{gap:16px;display:grid}.tenant-settlement-card{border:1px solid var(--line);border-radius:var(--radius-lg,var(--radius));background:var(--surface);padding:16px 18px}.tenant-settlement-card header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:10px;display:flex}.tenant-settlement-lines{border-collapse:collapse;width:100%;margin:8px 0;font-size:13px}.tenant-settlement-lines td{border-bottom:1px solid var(--line);vertical-align:top;padding:6px 4px}.tenant-settlement-lines td:last-child{text-align:right;white-space:nowrap;font-weight:600}.tenant-settlement-lines .credit{color:var(--green-text)}.tenant-settlement-lines .charge{color:var(--danger)}.tenant-settlement-total{flex-wrap:wrap;justify-content:space-between;gap:12px;padding:10px 0 0;font-size:14px;display:flex}.tenant-meter-history{margin-top:24px}.tenant-meter-history h2{margin:0 0 4px;font-size:16px}.tenant-meter-history .history-bars{gap:6px;margin:10px 0 0;padding:0;list-style:none;display:grid}.tenant-meter-history .history-bars li{grid-template-columns:64px 1fr 96px;align-items:center;gap:8px;font-size:12px;display:grid}.tenant-meter-history .history-bars i{width:calc(var(--bar,0) * 100%);background:var(--accent);border-radius:5px;min-width:2px;height:10px;display:block}.tenant-meter-history .history-bars.water i{background:var(--blue,var(--accent))}.tenant-meter-history .history-bars strong{text-align:right}@media (width<=640px){.tenant-meter-history .history-bars li{grid-template-columns:52px 1fr 80px}}@media (width<=767px){.homikey-tenant-shell .workspace{position:relative}.homikey-tenant-shell .topbar{background:0 0;border:0;gap:0;width:auto;height:76px;padding:0 12px 0 0;position:absolute;top:0;left:auto;right:0}.homikey-tenant-shell .topbar-left{display:none}.homikey-tenant-shell .topbar-actions{gap:0}.homikey-tenant-shell .topbar .account-trigger .avatar{width:40px;height:40px;font-size:14px}.homikey-tenant-shell .content{padding:24px 16px calc(104px + env(safe-area-inset-bottom))}.homikey-tenant-shell .content .page-heading>div:first-child{width:100%}.homikey-tenant-shell .content .page-heading h1{padding-right:96px}.homikey-tenant-shell .content .page-heading p{display:none}}.homikey-tenant-shell .content .page-heading{gap:12px;margin-bottom:16px}.homikey-tenant-shell .content .page-heading .eyebrow{display:none}.homikey-tenant-shell .content .page-heading h1{font:600 clamp(22px, 2.4vw, 28px)/1.25 var(--font-body);letter-spacing:-.3px;color:var(--ink);margin:0}.homikey-tenant-shell .content .page-heading p{margin:4px 0 0}@media (width<=767px){.homikey-tenant-shell .tenant-bottom-nav{background:var(--paper);border-top:1px solid var(--line);box-shadow:none;padding:8px 8px calc(8px + env(safe-area-inset-bottom));gap:0}.homikey-tenant-shell .tenant-bottom-nav button{border-radius:var(--radius);min-height:56px;color:var(--subtle);background:0 0;gap:2px;font-size:11px;font-weight:500}.homikey-tenant-shell .tenant-bottom-nav button svg{box-sizing:content-box;border-radius:var(--radius-full);width:22px;height:22px;color:var(--accent);padding:4px 17px}.homikey-tenant-shell .tenant-bottom-nav button:hover{background:0 0}.homikey-tenant-shell .tenant-bottom-nav button.nav-active{color:var(--brand-highlight-text);background:0 0;font-weight:600}.homikey-tenant-shell .tenant-bottom-nav button.nav-active svg{color:var(--brand-highlight-text);background:color-mix(in srgb, var(--brand-highlight) 16%, var(--paper))}}.homikey-tenant-home{max-width:760px}.homikey-tenant-home .page-heading h1{font-size:20px;font-weight:600;line-height:1.3}.homikey-tenant-home .page-heading h1:before{content:"Xin chào,";color:var(--muted);letter-spacing:0;margin-bottom:1px;font-size:13px;font-weight:400;display:block}.homikey-tenant-home>.form-alert,.homikey-tenant-home>.panel{margin-bottom:16px}.homikey-tenant-shell .tenant-room-hero{border-radius:var(--radius-lg);box-shadow:none;color:var(--paper);background:linear-gradient(110deg, var(--accent) 0%, color-mix(in srgb, var(--green) 75%, var(--accent)) 100%);border:0;justify-items:start;gap:4px;margin:0 0 16px;padding:20px;display:grid}.homikey-tenant-shell .tenant-room-hero small{color:#ffffffd1;letter-spacing:0;text-transform:none;font-size:12px;font-weight:400}.homikey-tenant-shell .tenant-room-hero h2{color:var(--paper);font:600 20px/1.3 var(--font-body);letter-spacing:-.2px;overflow-wrap:anywhere;margin:2px 0 0}.homikey-tenant-shell .tenant-room-hero p{color:#ffffffeb;margin:0 0 12px;font-size:13px;line-height:1.5}.homikey-tenant-shell .tenant-hero-btn{border-radius:var(--radius);background:var(--paper);min-height:40px;color:var(--ink);box-shadow:none;border:0;padding:0 16px;font-size:13px;font-weight:600}.homikey-tenant-shell .tenant-hero-btn:hover:not(:disabled){background:var(--accent-softer)}.homikey-tenant-shell .tenant-hero-btn:disabled{color:var(--ink-2);opacity:1;background:#ffffffb3}.homikey-tenant-shell .tenant-debt-card{border-radius:var(--radius-lg);background:var(--accent);color:var(--paper);box-shadow:none;border:0;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin:0 0 24px;padding:16px;display:flex}.homikey-tenant-shell .tenant-debt-card>div{flex:160px;min-width:0}.homikey-tenant-shell .tenant-debt-card small{color:#ffffffd6;overflow-wrap:anywhere;font-size:12px;line-height:1.45;display:block}.homikey-tenant-shell .tenant-debt-card h2{color:var(--paper);font:600 20px/1.3 var(--font-body);letter-spacing:-.2px;overflow-wrap:anywhere;margin:2px 0 0}.homikey-tenant-shell .tenant-debt-card.is-overdue small{color:var(--danger-soft);font-weight:600}.homikey-tenant-shell .tenant-debt-card .btn{border-radius:var(--radius);min-height:40px;padding:0 16px;font-size:14px;font-weight:600}.homikey-tenant-shell .tenant-pay-btn{background:var(--brand-highlight);color:var(--ink);box-shadow:none;border:0}.homikey-tenant-shell .tenant-pay-btn:hover{background:color-mix(in srgb, var(--brand-highlight) 88%, var(--paper))}.homikey-tenant-shell .tenant-debt-card.is-clear{background:var(--green-soft);color:var(--green-dark);box-shadow:none}.homikey-tenant-shell .tenant-debt-card.is-clear small{color:var(--green-text)}.homikey-tenant-shell .tenant-debt-card.is-clear h2{color:var(--green-dark)}.homikey-tenant-shell .tenant-debt-card.is-none{background:var(--paper);box-shadow:var(--shadow-sm)}.homikey-tenant-shell .tenant-debt-card.is-none small{color:var(--muted)}.homikey-tenant-shell .tenant-debt-card.is-none h2{color:var(--ink)}.homikey-tenant-shell :is(.tenant-debt-card.is-clear,.tenant-debt-card.is-none) .btn{background:var(--paper);border:1px solid var(--control-line);color:var(--ink)}.tenant-section{margin:0 0 24px}.tenant-section>h2,.tenant-section-head h2{color:var(--ink);font:600 16px/1.35 var(--font-body);margin:0 0 12px}.tenant-section-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.tenant-section-head h2{margin-bottom:4px}.tenant-link-btn{min-height:44px;color:var(--ink);text-underline-offset:3px;text-decoration:underline;-webkit-text-decoration-color:var(--control-line);text-decoration-color:var(--control-line);background:0 0;border:0;margin:-8px -6px -4px 0;padding:0 6px;font-size:13px;font-weight:500}.tenant-link-btn:hover{text-decoration-color:currentColor}.tenant-quick-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.tenant-quick-tile{border-radius:var(--radius-lg);background:var(--paper);min-width:0;min-height:76px;box-shadow:var(--shadow-sm);color:var(--ink);font:500 12px/1.25 var(--font-body);text-align:center;cursor:pointer;border:0;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:14px 4px 12px;display:flex;position:relative}.tenant-quick-tile:hover:not(:disabled){background:var(--surface-2)}.tenant-quick-tile:disabled{opacity:.55;cursor:not-allowed}.tenant-quick-icon{color:var(--accent);place-items:center;display:grid}.tenant-quick-dot{background:var(--brand-highlight);border-radius:50%;width:8px;height:8px;position:absolute;top:9px;right:9px}@media (width<=639px){.tenant-quick-tile:last-child:nth-child(4n+1){grid-column:span 4}.tenant-quick-tile:last-child:nth-child(4n+2),.tenant-quick-tile:nth-last-child(2):nth-child(4n+1){grid-column:span 2}.tenant-quick-tile:last-child:nth-child(4n+1),.tenant-quick-tile:last-child:nth-child(4n+2),.tenant-quick-tile:nth-last-child(2):nth-child(4n+1){flex-direction:row;gap:10px;min-height:52px;padding:10px 12px}}@media (width>=640px){.tenant-quick-grid{grid-template-columns:repeat(auto-fit,minmax(96px,1fr))}}.tenant-activity-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.tenant-activity-row{border-radius:var(--radius-lg);background:var(--paper);width:100%;min-height:60px;box-shadow:var(--shadow-sm);color:var(--ink);text-align:left;cursor:pointer;border:0;align-items:center;gap:12px;padding:12px 16px;display:flex}.tenant-activity-row:hover{background:var(--surface-2)}.tenant-activity-mark{border-radius:var(--radius);width:36px;height:36px;font:700 13px/1 var(--font-body);flex:0 0 36px;place-items:center;display:grid}.tenant-activity-mark.is-orange{background:color-mix(in srgb, var(--brand-highlight) 16%, var(--paper));color:var(--brand-highlight-text)}.tenant-activity-mark.is-blue{background:var(--blue-soft);color:var(--accent)}.tenant-activity-mark.is-sand{background:var(--line-soft);color:var(--accent-light)}.tenant-activity-text{flex:1;gap:1px;min-width:0;display:grid}.tenant-activity-text strong{overflow-wrap:anywhere;font-size:14px;font-weight:600;line-height:1.35}.tenant-activity-text small{color:var(--muted);overflow-wrap:anywhere;font-size:12px;line-height:1.4}.tenant-activity-side{max-width:38%;color:var(--subtle);text-align:right;flex:none;font-size:12px}.homikey-tenant-shell .tenant-pending-actions{border:0;border-left:4px solid var(--brand-highlight);border-radius:var(--radius-lg);background:var(--paper);box-shadow:var(--shadow-sm);padding:16px}.homikey-tenant-shell .tenant-pending-actions .panel-head h2{font:600 16px/1.35 var(--font-body)}.homikey-tenant-shell .tenant-pending-actions article{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:12px 0 0;display:flex}.homikey-tenant-shell .tenant-pending-actions article p{color:var(--muted);margin:2px 0 0;font-size:12px;line-height:1.5}.homikey-tenant-shell :is(.tenant-bill-cards .mobile-card,.tenant-contract-cards .mobile-card,.tenant-meter-card,.tenant-request-card,.tenant-settlement-card,.tenant-payment-history,.tenant-qr-panel,.homikey-tenant-room .foundation-card,.tenant-profile-identity,.tenant-profile-form.foundation-form,.tenant-inbox-list>button){border-radius:var(--radius-lg);background:var(--paper);box-shadow:var(--shadow-sm);border:0}.homikey-tenant-shell :is(.tenant-bill-cards .mobile-card,.tenant-contract-cards .mobile-card),.homikey-tenant-shell .tenant-meter-card,.homikey-tenant-shell :is(.homikey-tenant-room .foundation-card,.tenant-settlement-card){padding:16px}.homikey-tenant-shell .tenant-bill-cards,.homikey-tenant-shell .tenant-contract-cards{gap:12px}.homikey-tenant-shell :is(.panel-head h2,.tenant-section-heading h2,.tenant-meter-history h2,.tenant-payment-history h2,.tenant-qr-panel h2){font:600 16px/1.35 var(--font-body);letter-spacing:0}.homikey-tenant-shell :is(.tenant-qr-panel,.tenant-payment-history) .eyebrow{display:none}.homikey-tenant-shell :is(.tenant-qr-panel,.tenant-payment-history){margin-bottom:16px;padding:16px}.homikey-tenant-shell .tenant-card-icon{border-radius:var(--radius);background:var(--line-soft);width:40px;height:40px;color:var(--accent-light)}.homikey-tenant-shell :is(.empty-state,.state-box){border-radius:var(--radius-lg);background:var(--paper);box-shadow:var(--shadow-sm);border:0}.homikey-tenant-shell :is(.empty-state>span,.state-icon){width:44px;height:44px;color:var(--accent-light);background:var(--line-soft);border-radius:12px}.homikey-tenant-shell :is(.empty-state h2,.state-box strong){color:var(--ink);font:600 16px/1.35 var(--font-body);margin:10px 0 0}.homikey-tenant-shell :is(.empty-state p,.state-box>span:not(.state-icon)){max-width:460px;color:var(--muted);margin:0;font-size:13px;line-height:1.55}.homikey-tenant-shell :is(.homikey-tenant-bills,.homikey-tenant-contracts,.homikey-tenant-maintenance) .toolbar{box-shadow:none;background:0 0;border:0;margin:0 0 12px;padding:0}.homikey-tenant-shell :is(.homikey-tenant-bills,.homikey-tenant-contracts,.homikey-tenant-maintenance) .segmented{box-shadow:none;background:0 0;border:0;border-radius:0;gap:8px;padding:0}.homikey-tenant-shell :is(.homikey-tenant-bills,.homikey-tenant-contracts,.homikey-tenant-maintenance) .segmented button{border-radius:var(--radius-full);background:var(--paper);min-height:36px;box-shadow:var(--shadow-sm);color:var(--ink-2);white-space:nowrap;border:0;padding:6px 14px;font-size:13px;font-weight:500}.homikey-tenant-shell :is(.homikey-tenant-bills,.homikey-tenant-contracts,.homikey-tenant-maintenance) .segmented button.active{background:var(--accent);color:var(--paper);box-shadow:none}@media (width<=767px){.homikey-tenant-shell :is(.homikey-tenant-bills,.homikey-tenant-contracts,.homikey-tenant-maintenance) .segmented{scrollbar-width:none;flex-wrap:nowrap;margin-right:-16px;padding-right:16px;overflow-x:auto}.homikey-tenant-shell :is(.homikey-tenant-bills,.homikey-tenant-contracts,.homikey-tenant-maintenance) .segmented::-webkit-scrollbar{display:none}}.homikey-tenant-shell :is(.tenant-bill-cards,.tenant-payment-history) .invoice-status{color:var(--ink);background:0 0;border-radius:0;align-items:center;gap:6px;padding:0;font-size:13px;font-weight:500;display:inline-flex}.homikey-tenant-shell :is(.tenant-bill-cards,.tenant-payment-history) .invoice-status:before{content:"";background:var(--brand-highlight);border-radius:50%;flex:none;width:7px;height:7px}.homikey-tenant-shell :is(.tenant-bill-cards,.tenant-payment-history) .invoice-status.paid:before{background:var(--green)}.homikey-tenant-shell :is(.tenant-bill-cards,.tenant-payment-history) .invoice-status.overdue:before{background:var(--danger)}.homikey-tenant-shell :is(.tenant-bill-cards,.tenant-payment-history) .invoice-status.overdue{color:var(--danger-dark)}.homikey-tenant-shell :is(.tenant-bill-cards,.tenant-payment-history) .invoice-status.cancelled:before{background:var(--subtle)}.homikey-tenant-shell .tenant-contract-cards .contract-status{font-size:12px;font-weight:500}.homikey-tenant-shell .homikey-tenant-bills .invoice-summary{border-radius:var(--radius-lg);background:var(--paper);box-shadow:var(--shadow-sm);border:0;grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:16px;overflow:hidden}.homikey-tenant-shell .homikey-tenant-bills .invoice-summary article{border-right:1px solid var(--line-soft);border-bottom:0;padding:14px 12px}.homikey-tenant-shell .homikey-tenant-bills .invoice-summary article:last-child{border-right:0}.homikey-tenant-shell .homikey-tenant-bills .invoice-summary span{font-size:12px}.homikey-tenant-shell .homikey-tenant-bills .invoice-summary strong{letter-spacing:-.2px;font-size:clamp(14px,4vw,20px);font-weight:600}.homikey-tenant-shell .tenant-bill-cards .mobile-card-top strong{font-size:16px;font-weight:600}.homikey-tenant-shell .tenant-bill-cards .mobile-card-body{gap:12px 16px;padding:12px 0}.homikey-tenant-shell .tenant-bill-cards .mobile-card-body small{color:var(--muted);font-size:12px}.homikey-tenant-shell .tenant-bill-cards .mobile-card-footer,.homikey-tenant-shell .tenant-contract-cards .mobile-card-footer{padding-top:12px}.homikey-tenant-shell .tenant-payment-history>div{padding:12px 0}.homikey-tenant-shell .tenant-payment-history>div>strong:first-of-type{font-weight:600}.homikey-tenant-shell .tenant-request-list{gap:12px}.homikey-tenant-shell .tenant-request-card{border-left:0;gap:8px;padding:14px 16px}.homikey-tenant-shell .tenant-request-card:hover,.homikey-tenant-shell .tenant-request-card:focus-visible{box-shadow:var(--shadow-sm), 0 0 0 2px color-mix(in srgb, var(--accent) 22%, transparent)}.tenant-request-steps{grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;margin-top:2px;display:grid}.tenant-request-steps i{background:var(--line);border-radius:2px;height:3px;display:block}.tenant-request-steps.is-submitted i:nth-child(-n+1),.tenant-request-steps.is-received i:nth-child(-n+2),.tenant-request-steps.is-in_progress i:nth-child(-n+3){background:var(--orange)}.tenant-request-steps.is-done i{background:var(--green)}.homikey-tenant-maintenance .page-heading .btn.primary{background:var(--brand-highlight);color:var(--ink);box-shadow:none;border:0}.homikey-tenant-maintenance .page-heading .btn.primary:hover:not(:disabled){background:color-mix(in srgb, var(--brand-highlight) 88%, var(--paper))}.homikey-tenant-shell .tenant-inbox-list{gap:8px}.homikey-tenant-shell .tenant-inbox-list>button{align-items:center;gap:12px;padding:12px 16px}.homikey-tenant-shell .tenant-inbox-list>button:hover{background:var(--surface-2)}.homikey-tenant-shell .tenant-inbox-list>button:active{background:var(--line-soft)}.homikey-tenant-shell .tenant-inbox-list strong{font-size:14px;font-weight:600;line-height:1.4}.homikey-tenant-shell .tenant-inbox-list p{margin:2px 0 6px;font-size:13px;line-height:1.5}.homikey-tenant-shell .tenant-inbox-list small{color:var(--subtle);font-size:12px}.homikey-tenant-shell .tenant-inbox-list .tenant-read-label{margin-bottom:2px}.homikey-tenant-shell .tenant-inbox-list .unread .tenant-read-label{color:var(--brand-highlight-text)}.homikey-tenant-shell .tenant-inbox-dot{margin-top:0}.homikey-tenant-shell .tenant-profile-identity{padding:20px 16px}.homikey-tenant-shell .tenant-profile-identity h2{font:600 18px/1.3 var(--font-body)}.homikey-tenant-shell .tenant-profile-form.foundation-form{gap:16px;padding:16px}.homikey-tenant-shell .homikey-tenant-room .detail-list>div,.homikey-tenant-shell .tenant-member-list>div{padding:12px 0}.homikey-tenant-shell .tenant-meter-guide{border-radius:var(--radius-lg);background:var(--paper);box-shadow:var(--shadow-sm);color:var(--ink-2);padding:14px 16px}.homikey-tenant-shell .tenant-meter-guide>svg{color:var(--accent)}.homikey-tenant-shell .tenant-meter-list{gap:12px}.homikey-tenant-shell .homikey-tenant-room .foundation-card>h2{font:600 16px/1.35 var(--font-body);margin:0 0 4px}.homikey-tenant-shell .tenant-qr-panel li label{font-size:14px}.homikey-tenant-shell .tenant-qr-panel li label strong{font-weight:600}.homikey-tenant-shell .homikey-tenant-chat .chat-thread-pane{border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);border:0}.homikey-tenant-shell .homikey-tenant-chat .chat-messages{background:var(--surface-2)}.homikey-tenant-shell .homikey-tenant-chat .chat-bubble{border-radius:var(--radius-lg)}.homikey-tenant-shell .homikey-tenant-chat .chat-composer-row textarea{border:1px solid var(--control-line);border-radius:var(--radius);background:var(--paper);min-height:44px;color:var(--ink);font:400 14px/1.4 var(--font-body);resize:none;padding:10px 12px}.homikey-tenant-shell .homikey-tenant-chat .chat-composer-row textarea:focus-visible{outline:2px solid var(--focus-ring);outline-offset:1px}.homikey-tenant-shell .homikey-tenant-chat .chat-composer-row .btn{min-height:44px}.homikey-tenant-shell .homikey-tenant-chat .admin-note{color:var(--muted);background:0 0;border:0;margin:0 0 8px;padding:0;font-size:12px}@media (width<=767px){.homikey-tenant-shell .homikey-tenant-chat .chat-composer-row textarea{font-size:16px}}@media (width<=479px){.homikey-tenant-shell .homikey-tenant-bills .invoice-summary article{padding:12px 10px}.homikey-tenant-shell .homikey-tenant-bills .invoice-summary strong{white-space:nowrap;overflow-wrap:normal;font-size:14px}}.tenant-subheader{display:none}@keyframes tenant-spin{to{transform:rotate(360deg)}}@media (width<=767px){.homikey-tenant-shell .tenant-subheader{z-index:4;background:var(--surface);align-items:center;gap:12px;min-height:52px;margin:-24px -16px 8px;padding:8px 16px;display:flex;position:sticky;top:0}.homikey-tenant-shell .tenant-back-btn{background:var(--paper);width:36px;height:36px;box-shadow:var(--shadow-sm);color:var(--ink);cursor:pointer;border:0;border-radius:12px;flex:0 0 36px;place-items:center;padding:0;display:grid}.homikey-tenant-shell .tenant-subheader-title{font:700 16px/1.3 var(--font-body);color:var(--ink)}.homikey-tenant-shell .tenant-subheader~div .page-heading h1,.homikey-tenant-shell .is-view .page-heading h1,.homikey-tenant-shell .is-detail .page-heading h1{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.homikey-tenant-shell .tenant-subheader~div .page-heading,.homikey-tenant-shell .is-view .page-heading,.homikey-tenant-shell .is-detail .page-heading{margin-bottom:8px}.homikey-tenant-shell .tenant-subheader~div .page-heading>div:first-child:not(:only-child),.homikey-tenant-shell .is-view .page-heading>div:first-child:not(:only-child){width:auto}.homikey-tenant-shell .homikey-tenant-account:not(.is-view) .page-heading h1{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.homikey-tenant-shell .homikey-tenant-account:not(.is-view) .page-heading{display:none}.homikey-tenant-shell .content .page-heading .heading-actions{justify-content:flex-end;width:100%}.homikey-tenant-shell .content .page-heading .heading-actions .btn{border-radius:var(--radius);flex:none;width:auto;min-height:36px;padding:0 16px;font-size:13px;font-weight:600}.homikey-tenant-shell .homikey-tenant-account:not(.is-view){padding-top:48px}.homikey-tenant-shell :is(.homikey-tenant-bills,.homikey-tenant-maintenance) .page-heading h1{padding-right:0;font-size:22px;font-weight:700}}@media (width>=768px){.homikey-tenant-shell .tenant-subheader{display:none}}.homikey-tenant-shell .tenant-soft-btn{border-radius:var(--radius);background:var(--blue-soft);min-height:36px;color:var(--ink);font:600 12px/1 var(--font-body);cursor:pointer;border:0;padding:0 12px}.homikey-tenant-shell .tenant-soft-btn:hover{background:var(--accent-soft)}.homikey-tenant-shell .tenant-wide-btn{background:var(--accent);width:100%;min-height:48px;color:var(--paper);font:600 14px/1 var(--font-body);border:0;border-radius:12px}.homikey-tenant-shell .tenant-wide-btn:hover:not(:disabled){background:var(--accent-dark)}.homikey-tenant-shell .tenant-section h3,.homikey-tenant-shell .tenant-pay-flow h3{color:var(--ink);font:700 14px/1.35 var(--font-body);margin:0 0 8px}.homikey-tenant-shell .tenant-fact-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0 0 16px;display:grid}.homikey-tenant-shell .tenant-fact-grid>div{background:var(--paper);box-shadow:var(--shadow-sm);border-radius:12px;align-content:start;gap:4px;padding:12px;display:grid}.homikey-tenant-shell .tenant-fact-grid dt{color:var(--muted);font-size:11px}.homikey-tenant-shell .tenant-fact-grid dd{color:var(--ink);overflow-wrap:anywhere;margin:0;font-size:14px;font-weight:600}.homikey-tenant-shell .tenant-fact-list{border-radius:var(--radius-lg);background:var(--paper);box-shadow:var(--shadow-sm);grid-template-columns:auto 1fr;gap:12px 16px;margin:0 0 16px;padding:16px;font-size:13px;display:grid}.homikey-tenant-shell .tenant-fact-list>div{display:contents}.homikey-tenant-shell .tenant-fact-list dt{color:var(--muted)}.homikey-tenant-shell .tenant-fact-list dd{text-align:right;margin:0;font-weight:600}.homikey-tenant-account:not(.is-view){gap:16px;max-width:560px;display:grid}.homikey-tenant-shell .tenant-account-identity{background:var(--paper);box-shadow:var(--shadow-sm);text-align:center;border-radius:20px;justify-items:center;gap:8px;padding:20px;display:grid}.homikey-tenant-shell .tenant-account-avatar{background:var(--accent);width:64px;height:64px;color:var(--paper);font:700 22px/1 var(--font-body);border-radius:50%;place-items:center;display:grid}.homikey-tenant-shell .tenant-account-identity strong{font-size:18px;font-weight:700}.homikey-tenant-shell .tenant-account-identity small{color:var(--muted);font-size:12px}.homikey-tenant-shell .tenant-account-list{border-radius:var(--radius-lg);background:var(--paper);box-shadow:var(--shadow-sm);margin:0;padding:0;list-style:none;overflow:hidden}.homikey-tenant-shell .tenant-account-row{border:0;border-bottom:1px solid var(--line-soft);background:var(--paper);width:100%;min-height:52px;color:var(--ink);font:500 14px/1.3 var(--font-body);text-align:left;cursor:pointer;justify-content:space-between;align-items:center;gap:12px;padding:16px;display:flex}.homikey-tenant-shell .tenant-account-list li:last-child .tenant-account-row{border-bottom:0}.homikey-tenant-shell .tenant-account-row:hover{background:var(--surface-2)}.homikey-tenant-shell .tenant-account-value{color:var(--subtle);white-space:nowrap;align-items:center;gap:2px;font-size:12px;display:inline-flex}.homikey-tenant-shell .tenant-logout-btn{background:var(--paper);width:100%;min-height:46px;box-shadow:var(--shadow-sm);color:var(--danger-dark);font:600 14px/1 var(--font-body);cursor:pointer;border:0;border-radius:12px}.homikey-tenant-shell .tenant-logout-btn:hover{background:var(--danger-soft)}.homikey-tenant-shell .tenant-security-view{gap:16px;display:grid}.homikey-tenant-shell .tenant-security-view .panel{border-radius:var(--radius-lg);background:var(--paper);box-shadow:var(--shadow-sm);border:0;padding:16px}.homikey-tenant-shell .tenant-security-view .panel-head h2{font:700 14px/1.35 var(--font-body)}.homikey-tenant-room{gap:16px;max-width:640px;display:grid}.homikey-tenant-shell .tenant-room-photo{border-radius:var(--radius-lg);background:linear-gradient(108deg, var(--green-dark) -5%, color-mix(in srgb, var(--brand-highlight) 38%, var(--cream)) 102%);height:180px}.homikey-tenant-shell .tenant-room-title{gap:4px;display:grid}@media (width>=768px){.homikey-tenant-shell .tenant-room-title{display:none}}.homikey-tenant-shell .tenant-room-title strong{font-size:20px;font-weight:700;line-height:1.3}.homikey-tenant-shell .tenant-room-title small{color:var(--muted);font-size:13px}.homikey-tenant-shell .homikey-tenant-room .tenant-fact-grid,.homikey-tenant-shell .homikey-tenant-room .tenant-section{margin:0}.homikey-tenant-shell .tenant-pill-list{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.homikey-tenant-shell .tenant-pill-list li{border-radius:var(--radius-full);background:var(--paper);box-shadow:var(--shadow-sm);color:var(--ink-2);padding:8px 12px;font-size:12px}.homikey-tenant-shell .homikey-tenant-room .tenant-member-list{background:var(--paper);box-shadow:var(--shadow-sm);border-radius:12px;overflow:hidden}.homikey-tenant-shell .homikey-tenant-room .tenant-member-list>div{border-bottom:1px solid var(--line-soft);align-items:center;gap:12px;padding:12px;display:flex}.homikey-tenant-shell .homikey-tenant-room .tenant-member-list>div:last-child{border-bottom:0}.homikey-tenant-shell .homikey-tenant-room .tenant-member-list .avatar,.homikey-tenant-shell .tenant-bql-card .avatar{background:var(--accent-light);width:36px;height:36px;color:var(--paper);font:700 12px/1 var(--font-body);border-radius:50%;flex:0 0 36px;place-items:center;display:grid}.homikey-tenant-shell .tenant-member-list strong,.homikey-tenant-shell .tenant-bql-card strong{font-size:13px;font-weight:600;display:block}.homikey-tenant-shell .tenant-member-list small,.homikey-tenant-shell .tenant-bql-card small{color:var(--muted);font-size:11px;display:block}.homikey-tenant-shell .tenant-bql-card{background:var(--paper);box-shadow:var(--shadow-sm);border-radius:12px;align-items:center;gap:12px;padding:12px;display:flex}.homikey-tenant-shell .tenant-bql-card .avatar{background:var(--brand-highlight-dark);flex-basis:40px;width:40px;height:40px}.homikey-tenant-shell .tenant-bql-card>div{flex:1;min-width:0}.homikey-tenant-shell .tenant-contract-term{gap:8px;padding:12px 0 0;display:grid}.homikey-tenant-shell .tenant-contract-term>div:first-child{color:var(--muted);justify-content:space-between;font-size:12px;display:flex}.homikey-tenant-shell .tenant-progress{background:var(--line);border-radius:3px;height:6px;overflow:hidden}.homikey-tenant-shell .tenant-progress i{height:100%;width:var(--progress,0%);background:var(--ink);display:block}.homikey-tenant-shell .tenant-contract-cards .mobile-card-body{border-radius:var(--radius-lg);background:var(--cream);border:0;margin-top:12px;padding:14px 16px}.homikey-tenant-shell .tenant-contract-cards .mobile-card-footer .btn{border-radius:12px;flex:1;min-height:46px;font-size:14px;font-weight:600}.homikey-tenant-shell .tenant-contract-cards .mobile-card-footer .btn.primary{background:var(--accent);color:var(--paper);border:0}.homikey-tenant-shell .tenant-contract-cards .mobile-card-footer .btn.secondary{background:var(--paper);box-shadow:inset 0 0 0 1px var(--control-line);color:var(--ink);border:0}.homikey-tenant-shell .tenant-contract-cards .contract-status{border-radius:var(--radius-full);padding:4px 8px;font-size:11px;font-weight:600}.homikey-tenant-shell .tenant-bill-cards{grid-template-columns:minmax(0,1fr)}.homikey-tenant-shell .tenant-bill-cards .tenant-bill-row{padding:0}.homikey-tenant-shell .tenant-bill-open{border-radius:var(--radius-lg);width:100%;color:var(--ink);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:12px;padding:16px;display:flex}.homikey-tenant-shell .tenant-bill-open:hover{background:var(--surface-2)}.homikey-tenant-shell .tenant-bill-main{flex:1;gap:4px;min-width:0;display:grid}.homikey-tenant-shell .tenant-bill-main strong{font-size:14px;font-weight:600}.homikey-tenant-shell .tenant-bill-main .invoice-card-meta{color:var(--muted);font-size:11px}.homikey-tenant-shell .tenant-bill-side{justify-items:end;gap:4px;display:grid}.homikey-tenant-shell .tenant-bill-side strong{font-size:14px;font-weight:700}.homikey-tenant-shell .tenant-bill-side .invoice-status{font-size:12px;font-weight:600}.homikey-tenant-shell .tenant-payment-history{margin-top:16px;padding:0;overflow:hidden}.homikey-tenant-shell .tenant-payment-history>header{padding:14px 16px 6px}.homikey-tenant-shell .tenant-payment-history>header>span{display:none}.homikey-tenant-shell .tenant-payment-history>p{color:var(--muted);margin:0;padding:6px 16px 16px;font-size:13px}.homikey-tenant-shell .tenant-payment-history>div{border-top:1px solid var(--line-soft);grid-template-columns:32px minmax(0,1fr) auto;align-items:center;gap:2px 12px;padding:12px 16px;display:grid}.homikey-tenant-shell .tenant-payment-history>div:before{content:"✓";border-radius:var(--radius);background:var(--green-soft);width:32px;height:32px;color:var(--green-text);grid-row:1/3;place-items:center;font-size:13px;font-weight:700;display:grid}.homikey-tenant-shell .tenant-payment-history>div>span:first-child{grid-area:1/2;gap:2px;display:grid}.homikey-tenant-shell .tenant-payment-history>div>span:nth-child(2){color:var(--muted);grid-area:2/2;font-size:11px;display:grid}.homikey-tenant-shell .tenant-payment-history>div>strong{text-align:right;grid-area:1/3;font-size:13px;font-weight:700}.homikey-tenant-shell .tenant-payment-history>div>.invoice-status{grid-area:2/3;justify-self:end;font-size:11px}.homikey-tenant-shell .tenant-payment-history>div>span:first-child small{color:var(--muted);font-size:11px}.tenant-bill-head{border-radius:var(--radius-lg);background:var(--paper);box-shadow:var(--shadow-sm);text-align:center;justify-items:center;gap:8px;margin:0 0 16px;padding:20px;display:grid}.tenant-bill-head>span:first-child{color:var(--muted);font-size:12px}.tenant-bill-head>strong{color:var(--ink);font:600 32px/1.1 var(--font-body);letter-spacing:-.03em}.tenant-bill-status{color:var(--ink-2);align-items:center;gap:8px;font-size:12px;font-weight:600;display:inline-flex}.tenant-bill-status:before{content:"";background:var(--brand-highlight);border-radius:50%;flex:none;width:6px;height:6px}.tenant-bill-status.paid:before{background:var(--green)}.tenant-bill-status.overdue:before{background:var(--danger)}.tenant-bill-status.cancelled:before,.tenant-bill-status.replaced:before{background:var(--subtle)}.tenant-pay-flow{border-radius:var(--radius-lg);background:var(--paper);box-shadow:var(--shadow-sm);gap:12px;margin:0 0 16px;padding:16px;display:grid}.tenant-pay-flow h3{color:var(--ink);font:700 14px/1.35 var(--font-body);margin:0}.tenant-pay-method{background:var(--paper);box-shadow:inset 0 0 0 1.5px var(--accent);border-radius:12px;align-items:center;gap:12px;padding:16px;display:flex}.tenant-pay-method small{color:var(--muted);font-size:11px;display:block}.tenant-pay-method strong{font-size:13px;font-weight:600}.tenant-pay-radio{width:20px;height:20px;box-shadow:inset 0 0 0 6px var(--accent);border-radius:50%;flex:0 0 20px}.tenant-pay-flow .tenant-pay-go{border-radius:var(--radius-lg);background:linear-gradient(98deg, var(--accent-dark) 0%, var(--accent) 100%);width:100%;min-height:50px;color:var(--paper);font:600 16px/1 var(--font-body);border:0}.tenant-pay-error{color:var(--danger);margin:0;font-size:13px}.tenant-pay-flow.is-done,.tenant-pay-flow.is-fail{text-align:center;justify-items:center;padding:28px 20px}.tenant-pay-flow.is-done p,.tenant-pay-flow.is-fail p{color:var(--muted);margin:0;font-size:13px;line-height:1.6}.tenant-pay-flow.is-done h3,.tenant-pay-flow.is-fail h3{font:700 20px/1.3 var(--font-body)}.tenant-result-mark{background:var(--green-text);width:72px;height:72px;color:var(--paper);font:700 32px/1 var(--font-body);border-radius:50%;place-items:center;display:grid}.tenant-pay-flow.is-fail .tenant-result-mark{background:var(--danger)}.tenant-pay-waiting{text-align:center;justify-items:center;gap:8px;padding:12px 0 0;display:grid}.tenant-pay-waiting strong{font-size:16px;font-weight:600}.tenant-pay-waiting small{color:var(--muted);font-size:12px;line-height:1.5}.tenant-spinner{border:4px solid var(--line-soft);border-top-color:var(--ink);border-radius:50%;width:48px;height:48px;animation:.8s linear infinite tenant-spin}@media (prefers-reduced-motion:reduce){.tenant-spinner{animation-duration:3s}}.tenant-pay-flow .tenant-qr-result{justify-content:center;margin-top:4px}.tenant-pay-flow .tenant-qr-result dl{font-size:13px}.tenant-pay-flow .tenant-qr-result dt{color:var(--muted)}.tenant-pay-flow .tenant-qr-result dd{overflow-wrap:anywhere;margin:0}@media (width<=767px){.tenant-sheet.modal,.tenant-sheet.dialog{background:var(--surface);width:100%;height:100dvh;max-height:100dvh;box-shadow:none;border-radius:0;animation:none}.tenant-sheet .modal-header{background:var(--surface);border:0;justify-content:flex-start;gap:12px;min-height:52px;padding:8px 16px}.tenant-sheet .modal-header-actions{order:-1}.tenant-sheet .modal-header-main p{clip:rect(0 0 0 0);width:1px;height:1px;margin:0;position:absolute;overflow:hidden}.tenant-sheet .modal-header h2{font:700 16px/1.3 var(--font-body)}.tenant-sheet .modal-header .icon-btn{background:var(--paper);width:36px;min-width:36px;height:36px;min-height:36px;box-shadow:var(--shadow-sm);border:0;border-radius:12px;padding:0;position:relative}.tenant-sheet .modal-header .icon-btn svg{display:none}.tenant-sheet .modal-header .icon-btn:before{content:"";border-left:2px solid var(--ink);border-bottom:2px solid var(--ink);width:8px;height:8px;position:absolute;top:50%;left:50%;transform:translate(-30%,-50%)rotate(45deg)}.tenant-sheet .modal-body{background:var(--surface);padding:8px 16px 32px}.tenant-sheet .modal-actions{padding:12px 16px calc(12px + env(safe-area-inset-bottom));background:var(--surface);border:0}}.homikey-tenant-bill-dialog .invoice-viewer>header{display:none}.homikey-tenant-bill-dialog .invoice-viewer{box-shadow:none;background:0 0;padding:0}.homikey-tenant-shell .tenant-kind-switch{background:var(--paper);box-shadow:var(--shadow-sm);border-radius:12px;gap:4px;margin:0 0 12px;padding:4px;display:flex}.homikey-tenant-shell .tenant-kind-switch button{border-radius:var(--radius);min-height:34px;color:var(--ink-2);font:600 13px/1 var(--font-body);cursor:pointer;background:0 0;border:0;flex:1}.homikey-tenant-shell .tenant-kind-switch button.active{background:var(--accent);color:var(--paper)}.homikey-tenant-shell .tenant-meter-links{gap:8px;margin:0 0 16px;display:flex}.homikey-tenant-shell .tenant-meter-links .tenant-soft-btn{background:var(--paper);box-shadow:var(--shadow-sm);flex:1}.homikey-tenant-shell .tenant-meter-card .meter-upload-zone{background:0 0;border:0;padding:0}.homikey-tenant-shell .tenant-meter-card .photo-picker{border-radius:var(--radius-lg);background:var(--ink);min-height:200px;color:var(--paper);padding:16px}.homikey-tenant-shell .tenant-meter-card .photo-picker:hover{background:var(--ink-2)}.homikey-tenant-shell .tenant-meter-card .tenant-photo-help{color:var(--muted);margin:0;font-size:12px;line-height:1.5}.homikey-tenant-shell .tenant-meter-card .proposal-review{border-top:1px solid var(--line-soft);padding-top:14px}.homikey-tenant-shell .tenant-meter-card .proposal-review input{min-height:48px;font:700 22px/1 var(--font-body);border-radius:12px}.homikey-tenant-shell .tenant-meter-card .proposal-review>.btn.primary{background:var(--green-text);min-height:48px;color:var(--paper);border:0;border-radius:12px;font-size:14px;font-weight:600}.homikey-tenant-shell .tenant-meter-card .proposal-review>.btn.primary:disabled{background:var(--control-line);color:var(--muted)}.homikey-tenant-shell .tenant-meter-card .approved-reading-summary{background:var(--green-soft)}.homikey-tenant-shell .tenant-meter-card .approved-reading-summary strong{color:var(--green-dark)}.homikey-tenant-shell .tenant-meter-history{border-radius:var(--radius-lg);background:var(--paper);box-shadow:var(--shadow-sm);margin-top:0;padding:16px}.homikey-tenant-shell .tenant-meter-history .history-bars{border-bottom:1px solid var(--line-soft);align-items:stretch;gap:12px;height:160px;margin:12px 0 0;display:flex}.homikey-tenant-shell .tenant-meter-history .history-bars li{flex-direction:column;flex:1;justify-content:flex-end;align-items:center;gap:4px;min-width:0;display:flex}.homikey-tenant-shell .tenant-meter-history .history-bars li span{color:var(--muted);order:3;font-size:11px}.homikey-tenant-shell .tenant-meter-history .history-bars li i{width:100%;height:calc((100% - 44px) * var(--bar,0));background:var(--chart-muted);border-radius:4px 4px 0 0;order:2;min-height:2px}.homikey-tenant-shell .tenant-meter-history .history-bars.water li i{background:var(--chart-muted)}.homikey-tenant-shell .tenant-meter-history .history-bars li strong{color:var(--ink-2);text-align:center;overflow-wrap:anywhere;order:1;font-size:11px;font-weight:600}.homikey-tenant-shell .tenant-tip-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.homikey-tenant-shell .tenant-tip-list li{background:var(--paper);box-shadow:var(--shadow-sm);border-radius:12px;gap:12px;padding:12px 16px;display:flex}.homikey-tenant-shell .tenant-tip-list li>span{background:var(--blue-soft);width:24px;height:24px;color:var(--ink);border-radius:50%;flex:0 0 24px;place-items:center;font-size:12px;font-weight:700;display:grid}.homikey-tenant-shell .tenant-tip-list strong{font-size:13px;font-weight:600;display:block}.homikey-tenant-shell .tenant-tip-list p{color:var(--muted);margin:2px 0 0;font-size:12px;line-height:1.45}.homikey-tenant-meter-workspace.is-view{gap:16px;max-width:640px;display:grid}.homikey-tenant-shell .homikey-tenant-meter-workspace.is-view .tenant-section{margin:0}.homikey-tenant-shell .tenant-request-card .badge{color:var(--ink-2);white-space:nowrap;background:0 0;border-radius:0;padding:0;font-size:12px;font-weight:600}.homikey-tenant-shell .tenant-request-card .badge i,.tenant-sheet .tenant-request-detail .badge i{background:var(--accent);width:6px;height:6px}.homikey-tenant-shell .tenant-request-card .badge.warning i,.tenant-sheet .tenant-request-detail .badge.warning i{background:var(--orange-dot)}.homikey-tenant-shell .tenant-request-card .badge.active i,.tenant-sheet .tenant-request-detail .badge.active i{background:var(--green)}.homikey-tenant-shell .tenant-request-card .badge.danger i,.tenant-sheet .tenant-request-detail .badge.danger i{background:var(--danger)}.tenant-sheet .tenant-request-detail .badge{color:var(--ink-2);background:0 0;padding:0;font-weight:600}.tenant-sheet .tenant-request-timeline{border:0;gap:0}.tenant-sheet .tenant-request-timeline li{border-left:2px solid var(--line);margin-left:0;padding:0 0 14px 22px}.tenant-sheet .tenant-request-timeline li:last-child{border-left-color:#0000;padding-bottom:0}.tenant-sheet .tenant-request-timeline li:before{background:var(--green);width:12px;height:12px;box-shadow:0 0 0 2px var(--paper);top:2px;left:-7px}.tenant-sheet label:has(>input[type=checkbox]){background:var(--paper);box-shadow:var(--shadow-sm);border-radius:12px;justify-content:space-between;align-items:center;gap:12px;padding:16px;font-size:13px;font-weight:600;display:flex}.tenant-sheet label>input[type=checkbox]{appearance:none;background:var(--control-line);cursor:pointer;border-radius:12px;flex:0 0 40px;order:2;width:40px;height:24px;margin:0;transition:background-color .18s;position:relative}.tenant-sheet label>input[type=checkbox]:after{content:"";background:var(--paper);border-radius:50%;width:20px;height:20px;transition:transform .18s;position:absolute;top:2px;left:2px}.tenant-sheet label>input[type=checkbox]:checked{background:var(--danger-dark)}.tenant-sheet label>input[type=checkbox]:checked:after{transform:translate(16px)}.tenant-sheet label>input[type=checkbox]:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.homikey-tenant-shell .tenant-inbox-list>button:not(.unread){background:var(--sand-selected);box-shadow:none}.homikey-tenant-shell .tenant-inbox-list>button{text-align:left}.homikey-tenant-inbox.is-detail{gap:0;max-width:640px;display:grid}.homikey-tenant-shell .tenant-notice-card{border-radius:var(--radius-lg);background:var(--paper);box-shadow:var(--shadow-sm);gap:12px;margin:0 0 16px;padding:16px;display:grid}.homikey-tenant-shell .tenant-notice-tag{border-radius:var(--radius-full);background:var(--blue-soft);color:var(--accent);justify-self:start;padding:4px 12px;font-size:11px;font-weight:600}.homikey-tenant-shell .tenant-notice-card h2{font:700 18px/1.35 var(--font-body);margin:0}.homikey-tenant-shell .tenant-notice-card p{color:var(--ink-2);overflow-wrap:anywhere;white-space:pre-wrap;margin:0;font-size:14px;line-height:1.6}@media (width<=767px){.homikey-tenant-shell .tenant-subheader:has(~:is(.is-view,.is-detail)){display:none}.homikey-tenant-shell .is-view .tenant-profile-identity{display:none}.homikey-tenant-shell .is-view .tenant-profile-layout{grid-template-columns:1fr;display:grid}}.tenant-sheet .tenant-request-detail{gap:12px}.tenant-sheet .tenant-request-detail>section{border-radius:var(--radius-lg);background:var(--paper);box-shadow:var(--shadow-sm);padding:16px}.tenant-sheet .tenant-request-detail>section h4{font:700 14px/1.35 var(--font-body);margin:0 0 8px}.homikey-tenant-shell .tenant-security-view .panel-head{padding:0 0 12px}.doc-icon-box{overflow:hidden}.doc-icon-box img{object-fit:cover;width:100%;height:100%;display:block}.admin-choice-list .badge{margin-left:6px}.block{display:block}.form-actions{align-items:center;gap:var(--sp-3);margin-top:var(--sp-3);flex-wrap:wrap;display:flex}.danger-text{color:var(--danger-dark);border-color:var(--danger)}.callout{margin:0 0 var(--sp-3);border-radius:var(--radius);font-size:var(--text-sm);background:var(--accent-softer);color:var(--ink-2);align-items:flex-start;gap:10px;padding:10px 14px;display:flex}.callout-success{background:var(--green-soft);color:var(--green-dark)}.callout-warning{background:var(--orange-soft);color:var(--orange-dark)}.callout-danger{background:var(--danger-soft);color:var(--danger-dark)}.callout>.icon{flex-shrink:0;margin-top:2px}.btn.disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.listing-cell{align-items:flex-start;gap:12px;min-width:0;display:flex}.listing-thumb{border-radius:var(--radius-sm);background:var(--surface);width:64px;height:48px;color:var(--muted);flex:0 0 64px;place-items:center;display:grid;overflow:hidden}.listing-thumb img{object-fit:cover;width:100%;height:100%;display:block}.listing-warn{color:var(--orange-text)!important}.listing-detail-head{margin-bottom:var(--sp-3);flex-wrap:wrap;align-items:center;gap:8px 12px;display:flex}.listing-detail-head small{color:var(--muted)}.listing-form{margin-top:var(--sp-3)}.listing-seo{border:1px solid var(--line);border-radius:var(--radius);padding:8px 12px}.listing-seo>summary{cursor:pointer;font-size:var(--text-sm);color:var(--ink-2);font-weight:600}.listing-seo .form-grid{margin-top:var(--sp-3)}.lead-message{-webkit-line-clamp:2;-webkit-box-orient:vertical;max-width:46ch;display:-webkit-box;overflow:hidden}.lead-full-message{white-space:pre-wrap;overflow-wrap:anywhere}.photo-grid{margin:0 0 var(--sp-3);gap:var(--sp-3);grid-template-columns:repeat(auto-fill,minmax(150px,1fr));padding:0;list-style:none;display:grid}.photo-grid.small{grid-template-columns:repeat(auto-fill,minmax(110px,1fr))}.photo-tile{align-content:start;gap:6px;display:grid}.photo-frame{aspect-ratio:4/3;border-radius:var(--radius);background:var(--surface);border:1px solid var(--line);position:relative;overflow:hidden}.photo-frame img{object-fit:cover;width:100%;height:100%;display:block}.photo-tile.error .photo-frame{border-color:var(--danger)}.photo-tile.uploading .photo-frame img{opacity:.6}.photo-missing{color:var(--muted);place-items:center;display:grid;position:absolute;inset:0}.photo-cover{border-radius:var(--radius-full);background:var(--accent);color:#fff;padding:2px 8px;font-size:11px;font-weight:600;position:absolute;top:6px;left:6px}.photo-progress{background:#fff9;height:5px;position:absolute;bottom:0;left:0;right:0}.photo-progress>i{background:var(--accent);height:100%;transition:width .2s;display:block}.photo-error{color:var(--danger-dark);font-size:11px}.photo-actions{gap:4px;display:flex}.photo-actions .btn{flex:1;min-width:0;padding-inline:6px}.photo-toolbar{align-items:center;gap:var(--sp-3);margin:var(--sp-3) 0;flex-wrap:wrap;display:flex}.photo-save{align-items:center;gap:var(--sp-3);margin-left:auto;display:flex}.photo-save small{color:var(--orange-text)}.photo-picker{margin-top:var(--sp-4);padding-top:var(--sp-3);border-top:1px solid var(--line)}.room-reviews{gap:var(--sp-3);display:grid}.review-summary{font-size:var(--text-md);margin:0}.review-list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.review-list li{border:1px solid var(--line);border-radius:var(--radius-lg);gap:6px;padding:12px 14px;display:grid}.review-list li.hidden-review{background:var(--surface-2)}.review-list header{font-size:var(--text-sm);flex-wrap:wrap;align-items:center;gap:8px 12px;display:flex}.review-list time{color:var(--muted)}.review-list p{white-space:pre-wrap;overflow-wrap:anywhere;font-size:var(--text-sm);margin:0}.review-list small{color:var(--muted)}.review-list .btn{justify-self:start}.review-stars{color:var(--orange-text);letter-spacing:1px}.chat-layout{gap:var(--sp-4);grid-template-columns:minmax(280px,360px) minmax(0,1fr);height:calc(100vh - 230px);min-height:520px;display:grid}.chat-list-pane,.chat-thread-pane{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-lg);flex-direction:column;min-width:0;min-height:0;display:flex;overflow:hidden}.chat-thread-pane>.empty-state{margin:auto}.chat-filters{border-bottom:1px solid var(--line);gap:8px;padding:12px;display:grid}.chat-filters .segmented{overflow-x:auto}.chat-filter-row{grid-template-columns:1fr 1fr;gap:8px;display:grid}.chat-filter-row .field{min-width:0;margin:0}.chat-filter-row select{width:100%}.chat-list{flex:1;margin:0;padding:0;list-style:none;overflow-y:auto}.chat-row{border:0;border-bottom:1px solid var(--line-soft);text-align:left;cursor:pointer;width:100%;font:inherit;color:inherit;background:0 0;align-items:flex-start;gap:10px;padding:12px;display:flex}.chat-row:hover{background:var(--surface-2)}.chat-row.selected{background:var(--accent-soft)}.chat-row.unread strong{font-weight:700}.chat-row:focus-visible{outline:2px solid var(--focus-ring);outline-offset:-2px}.chat-avatar{background:var(--accent-soft);width:36px;height:36px;color:var(--accent);text-transform:uppercase;border-radius:50%;flex:0 0 36px;place-items:center;font-weight:700;display:grid}.chat-row-body{flex:1;gap:2px;min-width:0;display:grid}.chat-row-top{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.chat-row-top strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.chat-row-top time{color:var(--muted);flex-shrink:0;font-size:11px}.chat-row-body small{color:var(--muted);font-size:11px}.chat-row-preview{text-overflow:ellipsis;white-space:nowrap;font-size:var(--text-sm);color:var(--ink-2);overflow:hidden}.chat-row-meta{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.chat-unread{border-radius:var(--radius-full);background:var(--danger);color:#fff;text-align:center;flex-shrink:0;min-width:20px;padding:1px 6px;font-size:11px;font-weight:700}.chat-thread{flex-direction:column;flex:1;min-height:0;display:flex}.chat-thread-head{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:8px 12px;padding:10px 14px;display:flex}.chat-thread-title{flex:1;min-width:160px;display:grid}.chat-thread-title small{color:var(--muted)}.chat-thread-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.chat-assign select{max-width:200px}.chat-back{display:none}.chat-messages{background:var(--surface-2);flex-direction:column;flex:1;gap:6px;min-height:0;padding:14px;display:flex;overflow-y:auto}.chat-older{text-align:center;margin-bottom:6px}.chat-empty{color:var(--muted);text-align:center;margin:auto}.chat-row-wrap{flex-direction:column;gap:3px;display:flex}.chat-day{text-align:center;color:var(--muted);margin:8px 0;font-size:11px}.chat-day span{border-radius:var(--radius-full);background:var(--surface);padding:2px 10px}.chat-bubble{background:var(--paper);border:1px solid var(--line);border-radius:14px;gap:4px;max-width:min(78%,560px);padding:8px 12px;display:grid}.chat-bubble.mine{background:var(--accent);color:#fff;border-color:var(--accent);align-self:flex-end}.chat-bubble.theirs{align-self:flex-start}.chat-bubble.deleted{opacity:.75;font-style:italic}.chat-bubble p{white-space:pre-wrap;overflow-wrap:anywhere;font-size:var(--text-sm);margin:0}.chat-sender{color:var(--muted);font-size:11px}.chat-bubble footer{opacity:.8;justify-content:flex-end;align-items:center;gap:8px;font-size:10px;display:flex}.chat-delete{color:inherit;cursor:pointer;background:0 0;border:0;padding:0;font-size:10px;text-decoration:underline}.chat-images{flex-wrap:wrap;gap:6px;display:flex}.chat-images img{object-fit:cover;border-radius:10px;max-width:220px;max-height:180px;display:block}.chat-image-missing{align-items:center;gap:6px;font-size:12px;display:inline-flex}.chat-system{border-radius:var(--radius);background:var(--orange-soft);max-width:86%;color:var(--orange-dark);text-align:center;flex-wrap:wrap;justify-content:center;align-self:center;align-items:center;gap:6px;padding:6px 12px;font-size:12px;display:flex}.chat-system time{opacity:.75}.chat-seen{color:var(--muted);align-self:flex-end;margin-right:4px;font-size:11px}.chat-notice{border-top:1px solid var(--line);background:var(--paper);align-items:center;gap:6px;margin:0;padding:8px 14px;display:flex}.chat-composer{border-top:1px solid var(--line);background:var(--paper);gap:8px;padding:10px 14px;display:grid}.chat-composer-row{align-items:flex-end;gap:8px;display:flex}.chat-composer-row textarea{flex:1;min-width:0}.chat-pending{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.chat-pending li{border:1px solid var(--line);border-radius:10px;width:72px;height:72px;position:relative;overflow:hidden}.chat-pending li.error{border-color:var(--danger)}.chat-pending img{object-fit:cover;width:100%;height:100%}.chat-pending small{background:var(--danger-soft);color:var(--danger-dark);padding:1px 3px;font-size:9px;position:absolute;inset:auto 0 0}.chat-pending-remove{color:#fff;cursor:pointer;background:#0000008c;border:0;border-radius:50%;place-items:center;width:20px;height:20px;display:grid;position:absolute;top:2px;right:2px}.chat-count{color:var(--muted);justify-self:end;font-size:11px}.chat-tenant-layout{gap:var(--sp-3);display:grid}.chat-tenant-tabs{flex-wrap:wrap;gap:8px;display:flex}.chat-tenant-tabs button{border:1px solid var(--line);border-radius:var(--radius-full);background:var(--paper);font:inherit;cursor:pointer;padding:6px 14px}.chat-tenant-tabs button.active{border-color:var(--accent);background:var(--accent-softer);color:var(--accent)}.chat-building{align-items:center;gap:6px;margin:0;display:flex}.chat-thread-pane.tenant{height:calc(100vh - 330px);min-height:440px}.chat-restart{justify-items:start;gap:8px;display:grid}@media (width<=899px){.chat-layout{grid-template-columns:minmax(0,1fr);height:auto;min-height:0}.chat-layout .chat-list-pane,.chat-layout .chat-thread-pane{height:calc(100vh - 220px);min-height:420px}.chat-layout.has-selection .chat-list-pane,.chat-layout:not(.has-selection) .chat-thread-pane{display:none}.chat-back{display:inline-flex}.chat-bubble{max-width:90%}}.support-thread{gap:var(--sp-3);display:grid}.support-status{flex-wrap:wrap;align-items:center;gap:8px;margin:0;display:flex}.support-messages{gap:10px;max-height:40vh;margin:0;padding:0;list-style:none;display:grid;overflow-y:auto}.support-messages li{border-radius:var(--radius-lg);background:var(--surface-2);gap:4px;max-width:92%;padding:10px 14px;display:grid}.support-messages li.mine{background:var(--accent-soft);justify-self:end}.support-messages header{font-size:var(--text-xs);flex-wrap:wrap;align-items:center;gap:8px;display:flex}.support-messages time{color:var(--muted)}.support-messages p{white-space:pre-wrap;overflow-wrap:anywhere;font-size:var(--text-sm);margin:0}.support-attachments{flex-wrap:wrap;gap:8px;display:flex}.support-attachment{font-size:var(--text-xs);color:var(--accent);align-items:center;gap:6px;display:inline-flex}.support-attachment img{border-radius:8px;max-width:160px;max-height:120px;display:block}.support-attachment-missing{color:var(--muted);align-items:center;gap:6px;display:inline-flex}.support-reply{gap:var(--sp-3);display:grid}.support-files{gap:6px;display:grid}.support-files-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.support-files-row small{color:var(--muted)}.support-file-list{gap:4px;margin:0;padding:0;list-style:none;display:grid}.support-file-list li{border:1px solid var(--line);border-radius:var(--radius-sm);font-size:var(--text-sm);flex-wrap:wrap;align-items:center;gap:8px;padding:4px 8px;display:flex}.support-file-list li.error{border-color:var(--danger)}.support-file-list .name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.support-file-list .photo-progress{border-radius:3px;width:80px;position:static;overflow:hidden}.gsearch-trigger{border-radius:var(--radius);background:var(--paper);width:100%;max-width:450px;height:38px;box-shadow:inset 0 0 0 1px var(--line);color:var(--subtle);font:inherit;font-size:var(--text-sm);text-align:left;cursor:pointer;border:0;align-items:center;gap:10px;padding:0 12px;transition:box-shadow .15s,color .15s;display:flex}.gsearch-trigger:hover{box-shadow:inset 0 0 0 1px var(--control-line);color:var(--ink)}.gsearch-trigger .icon{flex-shrink:0}.gsearch-label{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.gsearch-trigger kbd{border-radius:var(--radius-sm);background:var(--surface);font:inherit;color:var(--muted);border:0;flex-shrink:0;margin-left:auto;padding:2px 7px;font-size:11px;font-weight:600}.gsearch-window .modal-body{gap:var(--sp-3);display:grid}.gsearch-box{border:1px solid var(--control-line);border-radius:var(--radius);background:var(--paper);align-items:center;gap:8px;padding:0 12px;display:flex}.gsearch-box input{min-width:0;height:44px;font:inherit;background:0 0;border:0;outline:0;flex:1}.gsearch-box:focus-within{border-color:var(--focus-ring);box-shadow:0 0 0 3px var(--accent-soft)}.gsearch-hint{color:var(--muted);font-size:var(--text-sm);margin:0;line-height:1.6}.gsearch-results:empty{display:none}.gsearch-groups{gap:var(--sp-3);max-height:50vh;display:grid;overflow-y:auto}.gsearch-groups h3{letter-spacing:.04em;text-transform:uppercase;color:var(--muted);margin:0 0 4px;font-size:11px}.gsearch-groups ul{gap:2px;margin:0;padding:0;list-style:none;display:grid}.gsearch-groups li button{border-radius:var(--radius);text-align:left;width:100%;font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:10px;padding:8px 10px;display:flex}.gsearch-groups li button.active,.gsearch-groups li button:hover{background:var(--accent-soft)}.gsearch-groups li strong{font-size:var(--text-sm);display:block}.gsearch-groups li small{color:var(--muted);font-size:var(--text-xs);display:block}.gsearch-icon{border-radius:var(--radius-sm);background:var(--surface);width:28px;height:28px;color:var(--accent);flex:0 0 28px;place-items:center;display:grid}@media (width<=1023px){.gsearch-label,.gsearch-trigger kbd{display:none}.gsearch-trigger{flex-shrink:0;justify-content:center;width:40px;max-width:none;height:40px;margin-left:auto;padding:0}}@media (width<=767px){.gsearch-trigger{width:44px;height:44px}}.pref-panel,.twofa-panel{margin-bottom:var(--sp-4)}.pref-panel .panel-head,.twofa-panel .panel-head{justify-content:space-between;align-items:flex-start;gap:var(--sp-3);display:flex}.pref-panel>:not(.panel-head){margin-inline:var(--sp-5)}.pref-panel>.table-wrap{box-shadow:none;border:0;border-radius:0}.pref-panel>.callout{margin-top:var(--sp-3)}.pref-panel>.form-actions{margin-bottom:var(--sp-5)}.pref-matrix{border-collapse:collapse;width:100%}.pref-matrix :is(th,td):first-child{padding-left:0}.pref-matrix :is(th,td):last-child{padding-right:0}.pref-panel .table-wrap .pref-matrix{min-width:0}.pref-matrix th,.pref-matrix td{border-top:1px solid var(--line);text-align:center;font-size:var(--text-sm);padding:10px 12px}.pref-matrix thead th{letter-spacing:.04em;color:var(--muted);border-top:0;font-size:11px}.pref-matrix th[scope=row],.pref-matrix thead th:first-child{text-align:left}.pref-matrix th[scope=row] small{color:var(--muted);margin-top:2px;font-size:11px;font-weight:400;display:block}.pref-matrix tbody th[scope=row]{text-transform:none;letter-spacing:normal;white-space:normal;text-align:left;color:var(--ink);background:0 0;font-weight:400}.pref-matrix tbody th[scope=row] strong{font-size:var(--text-sm);color:var(--ink);font-weight:600;display:block}.pref-matrix tbody th[scope=row] small{color:var(--muted);text-transform:none;letter-spacing:normal;font-size:11px;line-height:1.4}.pref-cell{cursor:pointer;justify-content:center;align-items:center;gap:4px;min-width:44px;min-height:44px;display:inline-flex}.pref-cell input{width:18px;height:18px}.twofa-status{margin:0 0 var(--sp-3);flex-wrap:wrap;align-items:center;gap:10px;display:flex}.twofa-setup{gap:var(--sp-3);max-width:520px;display:grid}.twofa-qr{border:1px solid var(--line);border-radius:var(--radius)}.twofa-secret{justify-items:start;gap:6px;display:grid}.twofa-manual summary{cursor:pointer;color:var(--muted);font-size:var(--text-sm);align-items:center;min-height:32px;font-weight:600;display:flex}.twofa-manual[open] summary{margin-bottom:8px}.twofa-secret code,.twofa-codes code{font-size:var(--text-md);letter-spacing:.08em;overflow-wrap:anywhere}.twofa-code{letter-spacing:.3em;text-align:center;max-width:220px;font-size:20px}.twofa-recovery{gap:var(--sp-3);display:grid}.twofa-codes{background:var(--surface-2);border:1px dashed var(--control-line);border-radius:var(--radius);grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 16px;margin:0;padding:12px;list-style:none;display:grid}@media (width<=767px){.pref-matrix thead{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.pref-matrix,.pref-matrix tbody{display:block}.pref-matrix tr{border-top:1px solid var(--line);grid-template-columns:minmax(0,1fr);gap:4px 12px;padding:12px 0;display:grid}.pref-matrix th[scope=row]{border:0;grid-column:1/-1;padding:0 0 4px}.pref-matrix td{text-align:left;border:0;justify-content:space-between;align-items:center;padding:0;display:flex}.pref-matrix td:before{content:attr(data-label);color:var(--muted);font-size:12px}}:is(.homikey-notifications-workspace,.homikey-schedules-workspace) .panel{border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);border:0}:is(.homikey-notifications-workspace,.homikey-schedules-workspace) .panel-head h2{color:var(--ink);font:600 16px/1.4 var(--font-body)}:is(.homikey-notifications-workspace,.homikey-schedules-workspace) .panel-head p{color:var(--subtle);font-size:12px}:is(.homikey-notifications-workspace,.homikey-schedules-workspace) :is(.empty-state,.state-box){border-radius:var(--radius-lg);background:var(--paper);box-shadow:var(--shadow-sm);border:0}:is(.homikey-notifications-workspace,.homikey-schedules-workspace) :is(.empty-state>span,.state-icon){width:44px;height:44px;color:var(--accent-light);background:var(--line-soft);border-radius:12px}:is(.homikey-notifications-workspace,.homikey-schedules-workspace) .error-state .state-icon{color:var(--danger-dark);background:var(--danger-soft)}:is(.homikey-notifications-workspace,.homikey-schedules-workspace) :is(.empty-state h2,.state-box strong){color:var(--ink);font:600 16px/1.35 var(--font-body);margin:10px 0 0}:is(.homikey-notifications-workspace,.homikey-schedules-workspace) :is(.empty-state p,.state-box>span:not(.state-icon)){max-width:460px;color:var(--muted);margin:0;font-size:13px;line-height:1.55}.homikey-schedules-workspace .schedule-row{border-top:1px solid var(--line-soft);padding:20px 24px}.homikey-schedules-workspace .schedule-row .admin-section-icon{border-radius:12px}.homikey-schedules-workspace .schedule-details h3{color:var(--ink);font:600 14px/1.4 var(--font-body);margin:2px 0}.homikey-schedules-workspace .schedule-details small{color:var(--subtle);font-size:12px}.homikey-schedules-workspace .schedule-details p{color:var(--muted);margin:0;font-size:12px}.homikey-schedules-workspace .schedule-row>.badge{color:var(--ink);background:0 0;border-radius:0;gap:7px;padding:0;font-size:13px;font-weight:500}.homikey-schedules-workspace .schedule-row>.badge.active i{background:var(--green)}.homikey-schedules-workspace .schedule-row>.badge.neutral i{background:var(--subtle)}:is(.perm-requests-manager,.perm-requests-page) .report-filter-panel .filter-row{grid-template-columns:minmax(180px,240px) auto;align-items:end}:is(.perm-requests-manager,.perm-requests-page) .report-filter-panel .filter-row .btn{justify-self:start}.perm-request-reason{white-space:pre-wrap;overflow-wrap:anywhere}.perm-request-meta{color:var(--muted);font-size:var(--text-xs);overflow-wrap:anywhere;white-space:pre-wrap;margin-top:2px;line-height:1.5;display:block}.perm-requests-manager table{min-width:820px}.perm-requests-manager td,.perm-requests-page td{vertical-align:top}.perm-requests-manager td .badge,.perm-requests-page td .badge{margin-bottom:2px}.perm-requests-manager .callout{margin-bottom:var(--sp-4);align-items:center}.perm-requests-manager .callout>div{flex:1;min-width:0}.perm-requests-manager .callout p{margin:0 0 var(--sp-2)}.perm-requests-manager .callout p:last-child{margin-bottom:0}.perm-request-summary p{margin:0 0 var(--sp-2)}.perm-request-summary blockquote{padding:var(--sp-2) var(--sp-3);border-left:3px solid var(--accent);background:var(--surface-2);border-radius:0 var(--radius) var(--radius) 0;color:var(--ink-2);font-size:var(--text-sm);white-space:pre-wrap;overflow-wrap:anywhere;margin:0}.perm-request-sent{justify-items:center;gap:var(--sp-2);margin-top:var(--sp-3);display:grid}.perm-request-sent p{align-items:center;gap:var(--sp-2);color:var(--green-dark);margin:0;display:flex}@media (width<=767px){:is(.perm-requests-manager,.perm-requests-page) .report-filter-panel .filter-row{grid-template-columns:1fr}:is(.perm-requests-manager,.perm-requests-page) .report-filter-panel .filter-row .btn{justify-self:stretch}.perm-requests-manager .callout{flex-wrap:wrap;align-items:flex-start}.perm-requests-manager .mobile-card-footer .btn{flex:1}}.roles-panel{gap:var(--sp-4);display:grid}.roles-panel .panel{margin:0}.roles-panel table{min-width:760px}.roles-panel td{vertical-align:top}.roles-panel .callout{margin:0}.roles-toolbar{justify-content:space-between;align-items:center;gap:var(--sp-4);flex-wrap:wrap;display:flex}.roles-intro{max-width:72ch;color:var(--muted);font-size:var(--text-sm);flex:320px;margin:0;line-height:1.55}.role-description{white-space:pre-wrap;overflow-wrap:anywhere;color:var(--ink-2)}.roles-panel .icon-btn.danger-text{color:var(--danger)}.role-permissions-head{justify-content:space-between;align-items:baseline;gap:var(--sp-3);margin-bottom:var(--sp-2);flex-wrap:wrap;display:flex}.role-permissions h3{font-size:var(--text-md);margin:0}.role-permissions-count{color:var(--muted);font-size:var(--text-sm);margin:0}.role-permissions .field-error{margin:0 0 var(--sp-2)}.role-matrix{max-height:none;padding-right:0;overflow:visible}.role-group-header{gap:var(--sp-3);flex-wrap:wrap}.role-group-title{min-width:0}.role-group-note{padding:var(--sp-2) var(--sp-4) 0;color:var(--orange-text);font-size:var(--text-xs);overflow-wrap:anywhere;line-height:1.5;display:block}.role-group-toggle{min-height:32px;margin:var(--sp-2) var(--sp-4);color:var(--accent);font:inherit;font-size:var(--text-sm);cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;padding:4px 0;font-weight:600;display:inline-flex}.role-group-toggle:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px;border-radius:var(--radius-sm)}.role-level{flex-wrap:wrap;align-items:center;gap:6px;display:inline-flex}.role-level-option{border:1px solid var(--control-line);border-radius:var(--radius-full);background:var(--paper);min-height:32px;color:var(--ink-2);font-size:var(--text-sm);cursor:pointer;justify-content:center;align-items:center;padding:5px 12px;display:inline-flex;position:relative}.role-level-option input{opacity:0;cursor:pointer;width:100%;height:100%;margin:0;position:absolute;inset:0}.role-level-option.checked{border-color:var(--accent);background:var(--accent);color:#fff;font-weight:600}.role-level-option:focus-within{outline:2px solid var(--focus-ring);outline-offset:2px}.role-level-option.disabled{opacity:.55;cursor:not-allowed}.role-level-option.disabled input{cursor:not-allowed}.role-level-custom,.role-level-badge{border-radius:var(--radius-full);min-height:28px;font-size:var(--text-xs);background:var(--surface);color:var(--ink-2);align-items:center;padding:3px 10px;font-weight:600;display:inline-flex}.role-level-custom,.role-level-badge.level-custom{background:var(--orange-soft);color:var(--orange-text)}.role-level-badge.level-full{background:var(--green-soft);color:var(--green-dark)}.role-level-badge.level-view{background:var(--blue-soft);color:var(--blue-dark)}.role-level-badge.level-none{background:var(--surface);color:var(--muted);font-weight:500}.perm-item-label.not-held{opacity:.75;cursor:not-allowed}.perm-item-label small.role-key-warning{color:var(--orange-text);align-items:flex-start;gap:6px;line-height:1.45;display:flex}.perm-item-label small.role-key-warning svg{flex:none;margin-top:2px}.perm-item-label small.role-key-lack{color:var(--danger)}.role-delete-note{font-size:var(--text-sm);overflow-wrap:anywhere;margin:0;line-height:1.55}.role-delete-note.muted{color:var(--muted)}.role-summary{gap:var(--sp-3);display:grid}.role-summary-total{font-size:var(--text-sm);color:var(--ink-2);margin:0}.role-summary-list{gap:6px;margin:0;padding:0;list-style:none;display:grid}.role-summary-row{justify-content:space-between;align-items:center;gap:var(--sp-3);border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);font-size:var(--text-sm);padding:8px 12px;display:flex}.role-summary-row>span{overflow-wrap:anywhere;min-width:0}.role-summary-row>strong{text-align:right;flex:none}.role-summary-row.level-full>strong{color:var(--green-dark)}.role-summary-row.level-view>strong{color:var(--blue-dark)}.role-summary-row.level-custom>strong{color:var(--orange-text)}.role-summary-none{color:var(--muted);font-size:var(--text-xs);line-height:1.5}@media (width<=767px){.role-editor-dialog .perm-checkbox-grid,.homikey-team-dialog .perm-checkbox-grid{grid-template-columns:1fr}.role-group-header{align-items:flex-start}.role-level{width:100%}.role-level-option{flex:auto;min-height:40px}.roles-toolbar .action-group{width:100%}.roles-toolbar .action-group .btn{flex:1}.roles-panel .mobile-card-footer{flex-wrap:wrap}.roles-panel .mobile-card-footer .btn{flex:120px}.role-summary-row{flex-direction:column;align-items:flex-start;gap:2px}.role-summary-row>strong{text-align:left}}.role-flag{margin:0 0 var(--sp-3);cursor:pointer;align-items:flex-start;gap:8px;display:flex}.role-flag input{flex:none;margin-top:3px}.role-flag>span{min-width:0}.role-flag small{color:var(--muted);overflow-wrap:anywhere;display:block}.role-flag.locked{cursor:not-allowed}.role-flag small.role-flag-lock{color:var(--orange-text);margin-top:2px}.role-flag-tags{flex-wrap:wrap;gap:4px;margin-top:4px;display:flex}.role-flag-tag{border-radius:var(--radius-full);background:var(--orange-soft);color:var(--orange-text);font-size:var(--text-xs);white-space:nowrap;align-items:center;padding:2px 8px;font-weight:600;display:inline-flex}.homikey-team-workspace .page-heading{align-items:flex-end}@media (width>=768px){.owner-shell .homikey-team-workspace .page-heading{flex-wrap:wrap}.owner-shell .homikey-team-workspace .page-heading>div:first-child{flex:400px;min-width:min(400px,100%)}.owner-shell .homikey-team-workspace .page-heading .heading-actions{margin-left:auto}}.team-segmented{border-radius:var(--radius);background:var(--paper);box-shadow:inset 0 0 0 1px var(--control-line);gap:0;padding:4px;display:inline-flex}.team-seg-btn{min-height:34px;color:var(--ink-2);font:500 13px/1 var(--font-body);white-space:nowrap;cursor:pointer;background:0 0;border:0;border-radius:8px;padding:0 9px}.team-seg-btn:hover{background:var(--line-soft)}.team-seg-btn.active,.team-seg-btn.active:hover{background:var(--accent);color:#fff;font-weight:600}.team-seg-btn:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.homikey-team-workspace .team-split{grid-template-columns:minmax(0,1fr);align-items:start;gap:20px;display:grid}.homikey-team-workspace .team-list{min-width:0}.homikey-team-workspace .team-list .table-wrap{border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.homikey-team-workspace .team-list th{background:var(--paper);color:var(--subtle);letter-spacing:.88px;text-transform:uppercase;border-bottom:1px solid var(--line-soft);font-size:11px;font-weight:600}.homikey-team-workspace .team-list td{border-bottom-color:var(--line-soft);height:62px}.homikey-team-workspace .team-list tbody tr{cursor:pointer}.homikey-team-workspace .team-list tbody tr.is-selected td{background:var(--sand-selected)}.homikey-team-workspace .team-list td .user-cell{gap:12px}.homikey-team-workspace .team-list .user-cell strong{font-size:14px;font-weight:600}.homikey-team-workspace .team-list .user-cell small{color:var(--muted);margin-top:1px;font-size:12px}.homikey-team-workspace .team-list .user-cell{min-width:0}.homikey-team-workspace .team-list td>strong{color:var(--ink);font-size:14px;font-weight:400}.homikey-team-workspace .team-list .team-scope-text{color:var(--muted);font-size:13px}.member-state{color:var(--ink);white-space:nowrap;align-items:center;gap:7px;font-size:12px;font-weight:600;display:inline-flex}.member-state i{background:var(--green);border-radius:50%;width:6px;height:6px}.member-state.is-invited i{background:var(--orange-dot)}.member-state.is-locked{color:var(--muted)}.member-state.is-locked i{background:var(--subtle)}.staff-pick{color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;padding:0}.staff-pick:focus-visible{outline:2px solid var(--focus-ring);outline-offset:3px;border-radius:var(--radius-sm)}.homikey-team-workspace :is(.team-list,.staff-detail,.team-matrix-person) .avatar{background:var(--accent);color:#fff;border-radius:50%;font-weight:600}.homikey-team-workspace :is(.team-list,.staff-detail,.team-matrix-person) .avatar[data-tone="1"]{background:var(--brand-highlight-dark)}.homikey-team-workspace :is(.team-list,.staff-detail,.team-matrix-person) .avatar[data-tone="2"]{background:var(--green)}.homikey-team-workspace :is(.team-list,.staff-detail,.team-matrix-person) .avatar[data-tone="3"]{background:var(--orange-text)}.staff-detail{border-radius:var(--radius-lg);background:var(--paper);min-width:0;box-shadow:var(--shadow-sm);gap:20px;padding:24px;display:grid}.staff-detail h2{color:var(--ink);font:600 18px/1.3 var(--font-body);overflow-wrap:anywhere;margin:0}.staff-detail h3{color:var(--ink);font:600 14px/1.4 var(--font-body);margin:0 0 10px}.staff-detail-head{flex-wrap:wrap;align-items:center;gap:12px 14px;display:flex}.staff-detail-head>div{flex:160px;min-width:0}.staff-detail-head small{color:var(--muted);overflow-wrap:anywhere;font-size:12px;line-height:1.5;display:block}.staff-detail .avatar.large{width:44px;height:44px;font-size:14px}.staff-detail-role{background:var(--sand-selected);border-radius:12px;gap:4px;padding:16px;display:grid}.staff-detail-role strong{color:var(--ink);font:600 16px/1.35 var(--font-body)}.staff-detail-role p{color:var(--muted);overflow-wrap:anywhere;margin:0;font-size:12px;line-height:1.6}.staff-grants{flex-wrap:wrap;gap:8px 16px;margin:0;padding:0;list-style:none;display:flex}.staff-grants li{color:var(--ink);overflow-wrap:anywhere;padding-left:14px;font-size:13px;line-height:1.45;position:relative}.staff-grants li:before{content:"";background:var(--green);border-radius:50%;width:5px;height:5px;position:absolute;top:7px;left:0}.staff-grants-more{min-height:32px;margin-top:10px;padding:0;font-size:13px;font-weight:600}.staff-scope{gap:8px;margin:0;padding:0;list-style:none;display:grid}.staff-scope li{min-height:40px;box-shadow:inset 0 0 0 1px var(--line);color:var(--ink);overflow-wrap:anywhere;border-radius:10px;align-items:center;gap:12px;padding:0 14px;font-size:13px;font-weight:500;display:flex}.staff-scope li.off{color:var(--muted)}.staff-scope-box{background:var(--line);color:#fff;border-radius:5px;flex:none;place-items:center;width:18px;height:18px;display:grid}.staff-scope li.on .staff-scope-box{background:var(--accent)}.staff-detail-empty{color:var(--muted);margin:0;font-size:12px;line-height:1.6}.staff-detail-note{color:var(--subtle);margin:10px 0 0;font-size:11px;line-height:1.55}.staff-detail-actions{flex-wrap:wrap;gap:8px;display:flex}.staff-detail-actions .btn.warn{color:var(--danger-dark)}.staff-detail-remove{border-radius:var(--radius);background:var(--paper);width:100%;min-height:42px;box-shadow:inset 0 0 0 1px var(--control-line);color:var(--brand-highlight-text);font:600 13px var(--font-body);border:0;justify-content:center}.staff-detail-remove:hover:not(:disabled){background:var(--sidebar-hover)}.staff-detail-remove:disabled{color:var(--muted)}@media (width>=1280px){.homikey-team-workspace .team-split.has-detail{grid-template-columns:minmax(0,1fr) clamp(340px,30vw,467px)}.homikey-team-workspace .staff-detail{top:calc(var(--topbar-height) + 20px);position:sticky}.homikey-team-workspace .team-split.has-detail .team-list table{min-width:0}}@media (width>=768px) and (width<=1279px){.homikey-team-workspace .staff-detail{margin-top:0}}@media (width<=767px){.homikey-team-workspace .staff-detail{display:none}.homikey-team-workspace .page-heading{align-items:stretch}.team-segmented{max-width:100%;overflow-x:auto}.homikey-team-workspace .heading-actions>.btn{flex:100%}}.roles-panel .panel{border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.roles-panel th{background:var(--paper);color:var(--subtle);letter-spacing:.88px;text-transform:uppercase;border-bottom:1px solid var(--line-soft);font-size:11px;font-weight:600}.roles-panel .panel-head h2{font:600 16px/1.3 var(--font-body)}.roles-panel .badge.neutral{border-radius:var(--radius-full);background:var(--line-soft);color:var(--accent-light);padding:3px 8px;font-size:11px;font-weight:600}.settings-shell{grid-template-columns:220px minmax(0,1fr);align-items:start;gap:20px;display:grid}.settings-main{min-width:0}.settings-menu{top:calc(var(--topbar-height) + 20px);border-radius:var(--radius-lg);background:var(--paper);box-shadow:var(--shadow-sm);gap:2px;padding:8px;display:grid;position:sticky}.settings-menu-item{width:100%;min-height:40px;color:var(--ink);font:400 15px/1.2 var(--font-body);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:10px;align-items:center;padding:0 12px;text-decoration:none;display:flex}.settings-menu-item:hover{background:var(--sidebar-hover)}.settings-menu-item.active{background:var(--sidebar-active);color:var(--ink);font-weight:500}.settings-menu-item:focus-visible{outline:2px solid var(--focus-ring);outline-offset:-2px}.settings-main .security-tab-btn.in-settings-menu,.settings-main .security-tabs.security-tabs-aside{display:none}.settings-main .security-tabs{margin-top:0}.settings-card{border-radius:var(--radius-lg);background:var(--paper);box-shadow:var(--shadow-sm);padding:24px}.settings-card>.panel-head{border:0;margin:0 0 16px;padding:0}.settings-card>.panel-head h2{color:var(--ink);font:600 18px/1.3 var(--font-body);margin:0}.settings-card-version,.settings-card-note{color:var(--muted);font-size:12px}.settings-card-note{margin:16px 0 0}.settings-card .organization-subheading{color:var(--ink);font:600 14px/1.4 var(--font-body);margin:24px 0 12px}.settings-card .settings-form-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:16px;display:grid}.settings-form-grid .span-2{grid-column:1/-1}.settings-form-grid .field{margin:0}.settings-form-grid label{color:var(--ink);font-size:13px;font-weight:600}.settings-form-grid :is(input,select){border-radius:10px;min-height:44px}.settings-form-grid :is(.field>small,.field-hint){color:var(--subtle);margin-top:6px;font-size:12px;line-height:1.5;display:block}.settings-form-grid .field-error{color:var(--danger)}.settings-form-foot{grid-column:1/-1;justify-content:flex-end;display:flex}.settings-main .security-account-form{max-width:600px;padding:20px 20px 24px}.settings-card .security-account-form{max-width:none;padding:0}.homikey-security-workspace .security-account-panel.settings-card{max-width:none}.settings-main .org-tabs{border-bottom:0;gap:8px;margin:0 0 16px;overflow-x:auto}.settings-main .org-tabs button{border-radius:var(--radius-full);background:var(--paper);min-height:32px;box-shadow:inset 0 0 0 1px var(--line);color:var(--ink-2);white-space:nowrap;border:0;padding:0 14px;font-size:13px;font-weight:500}.settings-main .org-tabs button:hover{color:var(--ink);background:var(--surface-2)}.settings-main .org-tabs button[aria-selected=true]{background:var(--accent);box-shadow:none;color:#fff;font-weight:600}.settings-invitations{margin-top:20px}.settings-invitations>.panel-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.settings-invitations>.panel-head .text-btn{white-space:nowrap;min-height:32px;font-size:13px;font-weight:600}@media (width<=1279px){.settings-card .settings-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=599px){.settings-card .settings-form-grid{grid-template-columns:minmax(0,1fr)}.settings-card{padding:20px 16px}}@media (width<=1023px){.settings-shell{grid-template-columns:minmax(0,1fr);gap:16px}.settings-menu{gap:4px;padding:6px;display:flex;position:static;overflow-x:auto}.settings-menu-item{white-space:nowrap;flex:none;width:auto}}.role-count-btn{min-height:32px;padding:2px var(--sp-1);text-underline-offset:3px;font-weight:600;text-decoration:underline}.role-count-btn:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.role-count-btn:disabled{color:var(--muted);cursor:not-allowed;text-decoration:none}.role-member-list{gap:var(--sp-2);margin:0;padding:0;list-style:none;display:grid}.role-member-list li{justify-content:space-between;align-items:flex-start;gap:var(--sp-2) var(--sp-3);border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);flex-wrap:wrap;padding:10px 12px;display:flex}.role-member-list li>div{overflow-wrap:anywhere;flex:180px;min-width:0}.role-member-list strong,.role-member-list small{display:block}.role-member-list small{color:var(--muted);margin-top:2px}.role-member-list .badge{flex:none}.role-member-note{margin:var(--sp-3) 0 0;color:var(--muted);font-size:var(--text-sm);overflow-wrap:anywhere;line-height:1.55}@media (width<=767px){.role-count-btn{min-height:40px}}.compact-list small.invitation-gives{color:var(--ink-2)}.team-invitations-error{justify-items:start;gap:var(--sp-2);padding:var(--sp-3) var(--sp-5);display:grid}.team-invitations-error .form-alert{overflow-wrap:anywhere;max-width:100%}@media (width<=767px){.team-invitations-error{padding:var(--sp-3) var(--sp-4)}}.team-matrix-card{border-radius:var(--radius-lg);background:var(--paper);box-shadow:var(--shadow-sm);gap:0;display:grid;overflow:hidden}.team-matrix-wrap{overflow-x:auto}.team-matrix{border-collapse:collapse;width:100%}.team-matrix th,.team-matrix td{border-bottom:1px solid var(--line-soft);text-align:center;vertical-align:middle;padding:12px 16px}.team-matrix thead th{background:var(--paper);color:var(--subtle);letter-spacing:.88px;text-transform:uppercase;font-size:11px;font-weight:600}.team-matrix thead th span{display:block}.team-matrix thead th small{color:var(--muted);letter-spacing:0;text-transform:none;margin-top:2px;font-size:11px;font-weight:500;display:block}.team-matrix tbody th{background:var(--paper);color:var(--ink);letter-spacing:0;text-align:left;text-transform:none;white-space:nowrap;font-size:13px;font-weight:600;position:sticky;left:0}.team-matrix thead th:first-child{text-align:left;position:sticky;left:0}.team-matrix tbody tr:last-child :is(th,td){border-bottom:0}.team-matrix td{color:var(--muted);font-size:12px;font-weight:500}.team-matrix td.is-full{color:var(--green-text);font-size:15px;font-weight:700}.team-matrix td.is-view,.team-matrix td.is-custom{color:var(--ink-2);font-weight:600}.team-matrix td.is-none{color:var(--subtle)}.team-matrix-person{align-items:center;gap:12px;display:inline-flex}.team-matrix-person>span:last-child{min-width:0;display:grid}.team-matrix-person strong{font-size:14px;font-weight:600}.team-matrix-person small{color:var(--muted);font-size:12px;font-weight:400}.team-matrix-person .avatar{flex:none;place-items:center;width:36px;height:36px;font-size:12px;display:grid}.team-matrix-note{border-top:1px solid var(--line-soft);color:var(--muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;margin:0;padding:14px 16px;font-size:12px;line-height:1.5;display:flex}.team-matrix-note .text-btn{min-height:32px;font-size:12px;font-weight:600}.audit-embedded-note{color:var(--muted);margin:0 0 16px;font-size:13px}.setup-page{background:var(--workspace-background);min-height:100vh;color:var(--ink);font-family:var(--font-body);background-attachment:fixed}.setup-top{background:var(--paper);height:69px;box-shadow:inset 0 -1px 0 var(--line);justify-content:space-between;align-items:center;gap:16px;padding:0 32px;display:flex}.setup-brand{align-items:center;gap:10px;display:inline-flex}.setup-brand b{font:700 20px/1 var(--font-body);letter-spacing:-.6px}.setup-skip{min-height:40px;color:var(--muted);font:500 13px var(--font-body);cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;padding:0 4px;display:inline-flex}.setup-skip:hover{color:var(--ink)}.setup-skip:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px;border-radius:var(--radius-sm)}.setup-main{width:100%;max-width:1020px;margin:0 auto;padding:32px 24px 64px}.setup-main h1{font:700 30px/1.2 var(--font-body);letter-spacing:-.6px;margin:0}.setup-sub{color:var(--muted);margin:6px 0 24px;font-size:14px}.setup-steps{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0 0 24px;padding:0;list-style:none;display:grid}.setup-step{background:var(--surface-2);width:100%;min-height:52px;color:var(--muted);font:500 13px/1.3 var(--font-body);text-align:left;cursor:pointer;border:1.5px solid #0000;border-radius:12px;padding:18px 16px 10px;display:block;position:relative}.setup-step i{background:var(--line);border-radius:2px;height:4px;position:absolute;top:10px;left:16px;right:16px}.setup-step b{margin-right:4px;font-weight:600}.setup-step.is-done i,.setup-step.is-current i{background:var(--accent)}.setup-step.is-current{border-color:var(--accent);background:var(--paper);color:var(--ink);font-weight:600}.setup-step.is-done:not(.is-current){color:var(--ink-2)}.setup-step:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.setup-split{grid-template-columns:minmax(0,1.65fr) minmax(0,1fr);align-items:start;gap:24px;display:grid}.setup-card{border-radius:var(--radius-lg);background:var(--paper);box-shadow:var(--shadow-sm);padding:24px}.setup-card h2{font:600 18px/1.3 var(--font-body);margin:0 0 16px}.setup-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:16px 12px;display:grid}.setup-grid .field{margin:0}.setup-grid .span-2{grid-column:1/-1}.setup-grid label{color:var(--ink);font-size:13px;font-weight:600}.setup-grid :is(input,select){border-radius:10px;min-height:44px}.setup-grid .field>small{color:var(--subtle);margin-top:6px;font-size:12px;line-height:1.5;display:block}.setup-grid .field-error{color:var(--danger)}.setup-note{background:var(--sand-selected);color:var(--ink-2);border-radius:10px;margin:0 0 16px;padding:12px 14px;font-size:13px;line-height:1.55}.setup-toggle{cursor:default;align-items:flex-start;gap:14px;margin:20px 0 0;display:flex;position:relative}.setup-toggle input{opacity:0;width:1px;height:1px;position:absolute}.setup-toggle i{background:var(--line);border-radius:12px;flex:none;width:40px;height:24px;position:relative}.setup-toggle i:after{content:"";background:#fff;border-radius:50%;width:18px;height:18px;transition:transform .15s;position:absolute;top:3px;left:3px}.setup-toggle input:checked+i{background:var(--green)}.setup-toggle input:checked+i:after{transform:translate(16px)}.setup-toggle span{gap:2px;display:grid}.setup-toggle strong{font-size:14px;font-weight:500}.setup-toggle small{color:var(--muted);font-size:12px;line-height:1.5}.setup-foot{justify-content:flex-end;gap:12px;margin-top:24px;display:flex}.setup-have{border-radius:var(--radius-lg);background:var(--cream);box-shadow:inset 0 0 0 1px var(--orange-soft);padding:24px}.setup-have h2{font:600 16px/1.3 var(--font-body);margin:0 0 8px}.setup-have p{color:var(--muted);margin:0 0 14px;font-size:13px;line-height:1.55}.setup-have ul{gap:12px;margin:0;padding:0;list-style:none;display:grid}.setup-have li{color:var(--ink-2);align-items:center;gap:12px;font-size:13px;display:flex}.setup-have li>span:first-child{width:20px;height:20px;box-shadow:inset 0 0 0 1.5px var(--control-line);color:#fff;border-radius:50%;flex:none;place-items:center;display:grid}.setup-have li.is-done>span:first-child{background:var(--green);box-shadow:none}.setup-have li.is-done{color:var(--ink);font-weight:500}@media (width<=899px){.setup-split{grid-template-columns:minmax(0,1fr)}.setup-steps{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=599px){.setup-top{padding:0 16px}.setup-main{padding:24px 16px 48px}.setup-main h1{font-size:24px}.setup-grid{grid-template-columns:minmax(0,1fr)}.setup-card,.setup-have{padding:20px 16px}.setup-foot{flex-direction:column-reverse}.setup-foot .btn{width:100%}}.modal-backdrop.print-modal-backdrop{z-index:var(--z-print-backdrop,800)}.modal-backdrop.print-modal-backdrop .modal,.modal-backdrop.print-modal-backdrop .print-preview-dialog{z-index:var(--z-print-modal,810);height:calc(100dvh - 48px);max-height:calc(100dvh - 48px)}.print-preview-dialog{flex-direction:column;height:100%;display:flex;overflow:hidden}.print-dialog-header{border-bottom:1px solid var(--line);z-index:5;background:#fff;flex-shrink:0;justify-content:space-between;align-items:center;padding:14px 22px;display:flex}.print-dialog-header>div>h2{margin:0 0 2px;font-size:16px}.print-dialog-header>div>p{color:#969793;margin:2px 0;font-size:11px}.print-header-actions{align-items:center;gap:var(--sp-2);flex-wrap:wrap;display:flex}.print-header-actions .btn{min-height:36px;font-size:var(--text-sm);padding:0 13px}.print-header-actions .btn.active{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.print-customizer-panel{border-bottom:1px solid var(--line);background:#fbfbfa;flex-shrink:0;max-height:240px;padding:16px 24px 20px;animation:.2s ease-out customizer-slide;overflow-y:auto}.customizer-header{margin-bottom:var(--sp-3)}.customizer-header strong{align-items:center;gap:var(--sp-2);font-size:var(--text-sm);color:var(--ink);display:flex}.customizer-header small{color:#8c8e8a;margin-top:2px;font-size:11px;display:block}.print-customizer-panel .form-grid{gap:var(--sp-3);grid-template-columns:repeat(3,1fr)}.print-customizer-panel .field input{min-height:34px;font-size:var(--text-sm);padding:6px 9px}@keyframes customizer-slide{0%{opacity:0;transform:translateY(-8px)}}.print-modal-body{background:#d8d5cb;flex-direction:column;flex:1;align-items:center;padding:32px 20px 48px;display:flex;overflow-y:auto}.contract-paper{box-sizing:border-box;color:#111;background:#fff;border-radius:4px;width:100%;max-width:820px;height:auto;min-height:1120px;margin-bottom:24px;padding:56px 64px;font-family:Times New Roman,Times,serif;font-size:14.5px;line-height:1.6;box-shadow:0 14px 42px #00000029,0 2px 8px #00000014}.doc-header{text-align:center;margin-bottom:16px}.doc-country{letter-spacing:.5px;margin:0 0 3px;font-size:14px;font-weight:700}.doc-motto{margin:0;font-size:14px;font-weight:700}.doc-divider{color:#444;letter-spacing:-1px;margin-top:-6px;margin-bottom:10px;font-weight:700}.doc-date-place{color:#222;text-align:right;margin:12px 0 0;font-size:13.5px}.doc-title-box{text-align:center;margin:20px 0 18px}.doc-title{letter-spacing:.5px;color:#111;margin:0 0 5px;font-size:21px;font-weight:700}.doc-code{margin:0;font-size:14px}.doc-basis{color:#333;margin-bottom:16px;font-size:13px;font-style:italic;line-height:1.5}.doc-basis p{margin:0 0 3px}.doc-intro{margin:12px 0 8px;font-size:14.5px;font-style:italic}.doc-party{margin:12px 0 16px}.doc-party-title{margin:0 0 6px;font-size:14.5px;font-weight:700}.doc-info-table{border-collapse:collapse;width:100%;margin-left:10px}.doc-info-table td{vertical-align:top;color:#111;border:0;padding:3px 0;font-size:14px}.doc-label{color:#222;width:195px}.doc-value{color:#111}.doc-clause-intro{margin:16px 0 12px;font-size:14px;font-style:italic}.doc-article{margin:16px 0}.doc-article h4{margin:0 0 6px;font-size:14.5px;font-weight:700}.doc-article p{text-align:justify;margin:0 0 6px}.doc-indent{text-align:justify;margin:4px 0 6px;padding-left:20px}.doc-sub{color:#444;margin:2px 0 8px 20px;font-size:13.5px;font-style:italic}.highlight-price{color:#000;font-weight:700}.doc-services-box{margin:8px 0 12px 20px}.doc-service-table{border-collapse:collapse;border:1px solid #333;width:100%;min-width:0}.doc-service-table th,.doc-service-table td{border:1px solid #444;padding:6px 10px;font-size:13.5px}.doc-service-table th{color:#222;text-transform:none;background:#f6f5f0;font-size:13px;font-weight:700}.doc-signatures{text-align:center;grid-template-columns:1fr 1fr;gap:24px;margin-top:36px;display:grid}.doc-sign-col{padding:0 10px}.doc-sign-title{text-transform:uppercase;margin:0 0 4px;font-size:14px;font-weight:700}.doc-sign-hint{color:#555;margin:0;font-size:12.5px;font-style:italic}.doc-sign-space{height:90px}.doc-sign-name{margin:0;font-size:14.5px;font-weight:700}.doc-sign-sub{color:#555;margin:3px 0 0;font-size:12.5px}.print-dialog-footer{border-top:1px solid var(--line);z-index:5;background:#fff;flex-shrink:0;padding:12px 24px}.invoice-paper{box-sizing:border-box;color:#111;background:#fff;border-radius:4px;width:100%;max-width:820px;height:auto;min-height:1060px;margin-bottom:24px;padding:44px 50px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-size:13.5px;line-height:1.5;box-shadow:0 14px 42px #00000029,0 2px 8px #00000014}.invoice-paper-top{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.invoice-brand-col{flex:1}.brand-badge-row{align-items:center;gap:10px;margin-bottom:8px;display:flex}.brand-letter{color:#fff;background:#202224;border-radius:6px;justify-content:center;align-items:center;width:32px;height:32px;font-size:16px;font-weight:800;display:flex}.brand-name{letter-spacing:.5px;font-size:16px;display:block}.building-title{color:#666;font-size:12px;display:block}.building-meta{color:#555;margin:0;font-size:11.5px;line-height:1.4}.building-meta span{display:block}.invoice-meta-col{text-align:right}.paper-main-title{letter-spacing:.5px;color:#111;margin:0 0 4px;font-size:22px;font-weight:800}.paper-period{color:#555;text-transform:uppercase;margin-bottom:6px;font-size:13px;font-weight:600;display:block}.paper-code-meta{color:#444;margin:0;font-size:12px;line-height:1.4}.paper-code-meta span{display:block}.paper-divider{border-bottom:2px solid #222;margin:16px 0}.invoice-paper-customer{background:#fbfbfa;border:1px solid #e8e8e4;border-radius:4px;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:18px;padding:12px 16px;display:grid}.customer-field span{color:#777;margin-bottom:2px;font-size:11px;display:block}.customer-field strong{color:#111;font-size:13.5px;display:block}.room-highlight{font-weight:700;color:#c4471f!important}.paper-status-tag{color:#333;background:#eee;border-radius:3px;padding:2px 6px;font-size:11px;font-weight:600;display:inline-block}.invoice-paper-table{border-collapse:collapse;width:100%;margin-bottom:14px}.invoice-paper-table th,.invoice-paper-table td{border:1px solid #ccc;padding:7px 10px;font-size:12.5px}.invoice-paper-table th{color:#222;background:#f4f4f0;font-weight:700}.invoice-paper-table tfoot td{background:#fafaf8;border-top:2px solid #333}.paper-words-row{background:#f9f9f6;border-left:3px solid #666;margin:10px 0 18px;padding:6px 10px;font-size:12.5px}.invoice-paper-payment{background:#fbfbfa;border:1px solid #e2e2dc;border-radius:4px;align-items:center;gap:20px;margin-bottom:24px;padding:14px 16px;display:flex}.qr-container{text-align:center;flex-shrink:0}.vietqr-img{background:#fff;border:1px solid #ccc;border-radius:4px;width:90px;height:90px;padding:2px}.payment-guide-box{flex:1;font-size:12px;line-height:1.45}.payment-guide-box h4{letter-spacing:.3px;margin:0 0 6px;font-size:12.5px;font-weight:700}.payment-guide-box p{margin:2px 0}.payment-note{color:#666;margin-top:6px;font-size:10.5px;font-style:italic;display:block}.invoice-paper-signatures{text-align:center;grid-template-columns:1fr 1fr;gap:24px;margin-top:24px;display:grid}.invoice-paper-signatures .sign-col strong{margin-bottom:2px;font-size:12.5px;display:block}.invoice-paper-signatures .sign-col small{color:#777;font-size:11px;font-style:italic;display:block}.invoice-paper-signatures .sign-space{height:65px}.invoice-paper-signatures .sign-col span{font-size:13px;font-weight:700}@media (width<=900px){.print-customizer-panel .form-grid{grid-template-columns:1fr 1fr}.contract-paper,.invoice-paper{padding:32px 24px;font-size:13.5px}.invoice-paper-customer{grid-template-columns:1fr 1fr}}@media (width<=600px){.print-header-actions .btn span{display:none}.print-customizer-panel .form-grid{grid-template-columns:1fr}.doc-signatures,.invoice-paper-signatures{grid-template-columns:1fr;gap:28px}.doc-sign-space,.invoice-paper-signatures .sign-space{height:50px}.invoice-paper-customer{grid-template-columns:1fr}.invoice-paper-payment{text-align:center;flex-direction:column}}@media print{@page{size:A4 portrait;margin:15mm 20mm}html,body{color:#000!important;background:#fff!important;width:100%!important;height:auto!important;margin:0!important;padding:0!important;font-family:Times New Roman,Times,serif!important;overflow:visible!important}.no-print,.app-shell>.sidebar,.workspace>.topbar,.page-heading,.heading-actions,.toolbar,.table-wrap,.metric-grid,.dashboard-grid,.panel,.overview-buildings,.quick-panel,.tenant-toolbar,.tenant-grid,.meter-toolbar,.meter-sheet,.invoice-summary,.invoice-toolbar,.kpi-strip,.deposit-grid,.executive-kpis,.dashboard-analytics,.building-health,.automation-config,.notification-layout,.readiness-score,.environment-warning,.security-overview,.readiness-list,.security-note-card,.drawer-backdrop,.drilldown-drawer,.toast,.modal-backdrop:not(.print-modal-backdrop),.modal:not(.print-preview-dialog),.print-dialog-header,.print-customizer-panel,.print-dialog-footer{visibility:hidden!important;display:none!important}.app-shell,.workspace,.content,.contracts-page{width:100%!important;max-width:none!important;height:auto!important;box-shadow:none!important;background:0 0!important;border:0!important;margin:0!important;padding:0!important;display:block!important;overflow:visible!important}.modal-backdrop.print-modal-backdrop{-webkit-backdrop-filter:none!important;backdrop-filter:none!important;background:0 0!important;width:100%!important;height:auto!important;margin:0!important;padding:0!important;display:block!important;position:static!important;inset:auto!important;overflow:visible!important}.modal.print-preview-dialog{width:100%!important;max-width:100%!important;max-height:none!important;box-shadow:none!important;background:0 0!important;border:0!important;border-radius:0!important;height:auto!important;margin:0!important;padding:0!important;display:block!important;position:static!important;overflow:visible!important}.print-modal-body{background:0 0!important;width:100%!important;height:auto!important;margin:0!important;padding:0!important;display:block!important;overflow:visible!important}.contract-paper{box-shadow:none!important;color:#000!important;background:0 0!important;border-radius:0!important;width:100%!important;max-width:100%!important;height:auto!important;min-height:0!important;margin:0!important;padding:0!important;font-size:13pt!important;line-height:1.55!important}.doc-header,.doc-title-box,.doc-basis,.doc-party,.doc-article,.doc-signatures,.doc-services-box,.doc-info-table tr,.doc-service-table tr{break-inside:avoid!important;page-break-inside:avoid!important}.doc-signatures{margin-top:32px!important}.doc-service-table{border:1px solid #000!important}.doc-service-table th,.doc-service-table td{color:#000!important;border:1px solid #000!important}.doc-service-table th{-webkit-print-color-adjust:exact;print-color-adjust:exact;background:#f2f2f2!important}.invoice-paper{box-shadow:none!important;color:#000!important;page-break-after:always!important;break-after:page!important;background:0 0!important;border-radius:0!important;width:100%!important;max-width:100%!important;height:auto!important;min-height:0!important;margin:0 0 20mm!important;padding:0!important;font-size:11pt!important}.invoice-paper:last-child{page-break-after:auto!important;break-after:auto!important;margin-bottom:0!important}.invoice-paper-top,.invoice-paper-customer,.invoice-paper-payment,.invoice-paper-signatures,.invoice-paper-table tr{break-inside:avoid!important;page-break-inside:avoid!important}.invoice-paper-table{border:1px solid #000!important}.invoice-paper-table th,.invoice-paper-table td{color:#000!important;border:1px solid #000!important}.invoice-paper-table th,.invoice-paper-table tfoot td{-webkit-print-color-adjust:exact;print-color-adjust:exact;background:#f4f4f4!important}.vietqr-img{-webkit-print-color-adjust:exact;print-color-adjust:exact}}@media screen{body:has(.app-shell.theme-homikey) .homikey-contract-print .print-dialog-header{background:var(--paper);gap:16px;padding:20px 24px}body:has(.app-shell.theme-homikey) .homikey-contract-print .print-dialog-header h2{font:400 24px/1.4 var(--font-display)}body:has(.app-shell.theme-homikey) .homikey-contract-print .print-dialog-header p{color:var(--muted);font-size:12px}body:has(.app-shell.theme-homikey) .homikey-contract-print .print-customizer-panel{background:var(--accent-softer);border-color:var(--line)}body:has(.app-shell.theme-homikey) .homikey-contract-print .customizer-header small{color:var(--muted)}body:has(.app-shell.theme-homikey) .homikey-contract-print .print-modal-body{background:var(--surface)}}@media screen and (width<=767px){body:has(.app-shell.theme-homikey) .homikey-contract-print .print-dialog-header{flex-wrap:wrap;padding:16px}body:has(.app-shell.theme-homikey) .homikey-contract-print .print-header-actions{flex-wrap:wrap}body:has(.app-shell.theme-homikey) .homikey-contract-print .print-header-actions .btn{min-height:44px}body:has(.app-shell.theme-homikey) .homikey-contract-print .print-customizer-panel{max-height:32dvh;padding:16px}body:has(.app-shell.theme-homikey) .homikey-contract-print .print-dialog-footer{flex-wrap:wrap}}@media screen{body:has(.app-shell.theme-homikey) .homikey-financial-print .print-dialog-header{background:var(--paper);gap:20px;padding:20px 24px}body:has(.app-shell.theme-homikey) .homikey-financial-print .print-dialog-header h2{font:400 24px/1.4 var(--font-display)}body:has(.app-shell.theme-homikey) .homikey-financial-print .print-dialog-header p{color:var(--muted);font-size:12px}body:has(.app-shell.theme-homikey) .homikey-financial-print .print-header-actions{flex-wrap:wrap;gap:10px}body:has(.app-shell.theme-homikey) .homikey-financial-print .print-modal-body{background:var(--surface)}}@media screen and (width<=767px){body:has(.app-shell.theme-homikey) .homikey-financial-print .print-dialog-header{flex-wrap:wrap;max-height:45dvh;padding:16px;overflow-y:auto}body:has(.app-shell.theme-homikey) .homikey-financial-print .print-header-actions{width:100%}body:has(.app-shell.theme-homikey) .homikey-financial-print .print-header-actions :is(select,.segmented){max-width:100%}}.hk-print-root{display:none}@media print{body.hk-printing>:not(.hk-print-root){display:none!important}body.hk-printing{background:#fff!important}body.hk-printing .hk-print-root{color:#000!important;background:#fff!important;width:100%!important;margin:0!important;padding:0 0 14mm!important;font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif!important;font-size:9.5pt!important;line-height:1.35!important;display:block!important;position:static!important}.hk-print-head{margin:0 0 6mm}.hk-print-head h1{color:#000;margin:0 0 2mm;font-family:inherit;font-size:15pt;font-weight:700}.hk-print-head p{color:#333;margin:0 0 1mm;font-size:9pt}.hk-print-head .hk-print-count{color:#555}.hk-print-table{border-collapse:collapse;table-layout:auto;width:100%}.hk-print-table thead{display:table-header-group}.hk-print-table tr{break-inside:avoid;page-break-inside:avoid}.hk-print-table th,.hk-print-table td{text-align:left;vertical-align:top;word-break:break-word;overflow-wrap:anywhere;color:#000;border:.2mm solid #999;padding:1.4mm 2mm}.hk-print-table th{-webkit-print-color-adjust:exact;print-color-adjust:exact;white-space:normal;text-transform:none;letter-spacing:0;background:#eee;font-weight:700}.hk-print-table td{white-space:normal}.hk-print-table .is-num{text-align:right;font-variant-numeric:tabular-nums}.hk-print-root[data-orientation=landscape] .hk-print-table{font-size:8.5pt}.hk-print-root[data-dense=true] .hk-print-table{font-size:7.5pt}.hk-print-root[data-dense=true] .hk-print-table th,.hk-print-root[data-dense=true] .hk-print-table td{padding:1mm 1.3mm}.hk-print-foot{color:#555;background:#fff;border-top:.2mm solid #999;padding-top:2mm;font-size:8pt;position:fixed;bottom:0;left:0;right:0}}select:not([multiple]):is(:not([size]),[size="1"]){appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2016%2016'%20fill='none'%3e%3cpath%20d='m4%206%204%204%204-4'%20stroke='%2366717d'%20stroke-width='1.8'%20stroke-linecap='round'%20stroke-linejoin='round'/%3e%3c/svg%3e")!important;background-repeat:no-repeat!important;background-position:right var(--select-chevron-inset) center!important;background-size:var(--select-chevron-size) var(--select-chevron-size)!important;padding-inline-end:var(--select-chevron-space)!important}select:disabled{cursor:not-allowed}@media (forced-colors:active){select:not([multiple]):is(:not([size]),[size="1"]){appearance:auto;background-image:none!important}}:is(.state-box,.empty-state).state-card{border-radius:var(--radius-lg);background:var(--paper);box-shadow:var(--shadow-sm);border:0;gap:12px;padding:32px 24px}.state-card.state-card>.state-card-icon{width:64px;height:64px;color:var(--muted);background:var(--line-soft);border-radius:20px;place-items:center;display:grid}.state-card.state-card.tone-neutral>.state-card-icon{color:var(--muted);background:var(--line-soft)}.state-card.state-card.tone-danger>.state-card-icon{color:var(--danger-dark);background:var(--danger-soft)}.state-card.state-card.tone-warning>.state-card-icon{color:var(--orange-dark);background:var(--orange-soft)}.state-card.state-card.tone-info>.state-card-icon{color:var(--accent);background:var(--blue-soft)}.state-card.state-card>.state-card-icon.is-numeral{width:auto;min-width:64px;height:auto;font:400 40px/1.1 var(--font-display);background:0 0;border-radius:0;padding:0 8px}.state-card.state-card.tone-info>.state-card-icon.is-numeral{color:var(--accent)}.state-card.state-card.tone-danger>.state-card-icon.is-numeral{color:var(--danger-dark)}.state-card.state-card>.state-card-title{max-width:460px;color:var(--ink);font:700 18px/1.35 var(--font-body);margin:4px 0 0}.state-card.state-card>.state-card-text{max-width:420px;color:var(--muted);margin:0;font-size:14px;line-height:1.55}.state-card.state-card.compact{padding:20px 16px}.state-card.state-card.compact>.state-card-icon{border-radius:14px;width:44px;height:44px}.state-card.state-card.compact>.state-card-title{font-size:16px}:is(.modal,.dialog,.modal-body,.dialog-body,.platform-aside,.drawer-panel) .state-card.state-card:not(.compact)>.state-card-icon:not(.is-numeral){border-radius:18px;width:56px;height:56px}@media (width<=479px){.state-card.state-card:not(.compact)>.state-card-icon:not(.is-numeral){border-radius:18px;width:56px;height:56px}}.state-card.state-card.compact>.state-card-text{font-size:13px}.state-card .state-actions{margin-top:8px}.state-card .state-actions .btn{min-height:38px}.state-card-code{color:var(--subtle);font:500 12px/1.4 var(--font-body);font-variant-numeric:tabular-nums}.skeleton-card{border-radius:var(--radius-lg);background:var(--paper);min-height:300px;box-shadow:var(--shadow-sm);flex-direction:column;gap:16px;padding:24px;display:flex}.sk-bar{background:var(--blue-soft);border-radius:6px;height:12px;animation:1.2s ease-in-out infinite sk-pulse;display:block}.sk-title{background:var(--line);width:40%;height:16px}.sk-line-0{width:100%}.sk-line-1{width:80%}.sk-line-2{width:60%}.sk-cells{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.sk-cells[data-cells="4"]{grid-template-columns:repeat(4,minmax(0,1fr))}.sk-cells[data-cells="2"]{grid-template-columns:repeat(2,minmax(0,1fr))}.sk-cell{border-radius:var(--radius-md);background:var(--blue-soft);height:70px;animation:1.2s ease-in-out infinite sk-pulse;display:block}.kpi-strip.is-loading .kpi-strip-cell.is-skeleton{flex-direction:column;gap:12px;padding:18px 20px;display:flex}.kpi-strip.is-loading .sk-bar.sk-big{width:60%;height:26px}.kpi-strip.is-loading .sk-bar.sk-line-1{width:50%;height:12px}@keyframes sk-pulse{0%,to{opacity:1}50%{opacity:.45}}.type-confirm{grid-template-columns:auto 1fr;align-items:center;gap:8px 12px;margin-top:12px;display:grid}.type-confirm-mark{border-radius:var(--radius-md);background:var(--danger-soft);width:44px;height:44px;color:var(--danger-dark);font:700 20px/1 var(--font-body);grid-row:1/span 2;place-items:center;display:grid}.type-confirm label{color:var(--muted);font-size:13px;line-height:1.5}.type-confirm label b{color:var(--ink)}.type-confirm input{border-radius:var(--radius-md);height:42px;box-shadow:inset 0 0 0 1px var(--control-line);background:var(--paper);font:500 14px/1 var(--font-body);border:0;grid-column:2;padding:0 16px}.type-confirm input:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.type-confirm input[aria-invalid=true]{box-shadow:inset 0 0 0 1px var(--danger)}.btn.danger.is-pending,.btn.danger.is-pending:disabled{background:color-mix(in srgb, var(--brand-highlight-dark) 40%, var(--paper));color:var(--paper);opacity:1;cursor:not-allowed;border-color:#0000}.btn.danger.is-armed{background:var(--brand-highlight-dark);color:var(--paper);border-color:#0000}.unsaved-warning{border-radius:var(--radius-md);background:var(--orange-soft);color:var(--ink);flex-direction:column;gap:8px;padding:16px;display:flex}.unsaved-warning>strong{font-size:13px;font-weight:700}.unsaved-warning>span{color:var(--muted);font-size:12px;line-height:1.5}.unsaved-actions{flex-wrap:wrap;gap:8px;margin-top:4px;display:flex}.btn.danger-quiet{background:var(--paper);color:var(--brand-highlight-dark);box-shadow:inset 0 0 0 1px var(--control-line);border-color:#0000}.btn.danger-quiet:hover{background:var(--danger-soft)}.export-formats{flex-wrap:wrap;gap:8px;display:flex}.export-formats button{border-radius:var(--radius-md);background:var(--paper);max-width:220px;min-height:38px;box-shadow:inset 0 0 0 1px var(--control-line);color:var(--ink-2);line-height:1.25;font:600 12px/1 var(--font-body);border:0;flex:118px;padding:6px 10px}.export-formats button.active{background:var(--accent);box-shadow:inset 0 0 0 1px var(--accent);color:var(--paper)}.export-progress{color:var(--muted);gap:8px;margin-top:12px;font-size:12px;display:grid}.export-progress>i{background:var(--line);border-radius:3px;height:6px;display:block;position:relative;overflow:hidden}.export-progress>i:after{content:"";background:var(--ink);border-radius:3px;width:40%;animation:1.1s ease-in-out infinite export-run;position:absolute;inset:0 auto 0 0}@keyframes export-run{0%{left:-40%}to{left:100%}}.export-done{border-radius:var(--radius-md);background:var(--green-soft);align-items:center;gap:12px;margin-top:12px;padding:12px;display:flex}.export-done strong{overflow-wrap:anywhere;min-width:0;color:var(--green-dark);flex:1;font-size:13px}.export-done span{color:var(--green-text);font-size:12px}.export-error{color:var(--danger-dark);margin:12px 0 0;font-size:13px}.upload-zone-wrap{gap:8px;display:grid}.upload-zone{border:1.5px dashed var(--control-line);border-radius:var(--radius-md);background:var(--surface-2);min-height:64px;color:var(--accent-light);font:500 13px/1.4 var(--font-body);text-align:center;cursor:pointer;justify-content:center;align-items:center;gap:8px;padding:12px 16px;display:flex}.upload-zone:hover,.upload-zone.is-drag{border-color:var(--accent);background:var(--accent-soft)}.upload-zone.is-disabled{cursor:not-allowed;opacity:.55}.upload-zone:focus-within{outline:2px solid var(--focus-ring);outline-offset:2px}.upload-rows{gap:8px;margin:0;padding:0;list-style:none;display:grid}.upload-row{border-radius:var(--radius-md);box-shadow:inset 0 0 0 1px var(--control-line);gap:8px;padding:12px;display:grid}.upload-row.is-done{box-shadow:inset 0 0 0 1px var(--green)}.upload-row.is-error{box-shadow:inset 0 0 0 1px var(--danger)}.upload-row-line{align-items:center;gap:12px;min-width:0;display:flex}.upload-row-line>strong{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:13px;font-weight:600;overflow:hidden}.upload-row-state{color:var(--muted);flex:0 auto;font-size:11px;font-weight:600}.upload-row.is-done .upload-row-state{color:var(--green-text)}.upload-row.is-error .upload-row-state{color:var(--danger-dark)}.upload-row .text-btn{font-size:11px;font-weight:600}.upload-row-bar{background:var(--line-soft);border-radius:2px;height:4px;overflow:hidden}.upload-row-bar>i{background:var(--accent);border-radius:2px;height:100%;transition:width .2s;display:block}.upload-row.is-done .upload-row-bar>i{background:var(--green)}.upload-row.is-error .upload-row-bar>i{background:var(--brand-highlight-dark)}.toast.toast{border-radius:var(--radius-md);background:var(--green-soft);color:var(--green-dark);font:600 13px/1.4 var(--font-body);border:0;align-items:center;gap:12px;padding:12px 16px;display:flex;position:fixed;overflow:hidden;box-shadow:0 14px 34px -16px #0f2d5059}.toast.toast>.toast-dot{background:currentColor;border-radius:50%;flex:0 0 8px;width:8px;height:8px}.toast.toast.info{background:var(--blue-soft);color:var(--accent)}.toast.toast.warning{background:var(--orange-soft);color:var(--orange-dark)}.toast.toast.error{background:var(--danger-soft);color:var(--danger-dark)}.toast.toast:not(.error):after{content:"";opacity:.35;transform-origin:0;background:currentColor;height:2px;animation:3.2s linear forwards toast-bar;position:absolute;inset:auto 0 0}.toast-stack .toast.toast{position:static}@keyframes toast-bar{0%{transform:scaleX(1)}to{transform:scaleX(0)}}body:has(:is(.app-shell,.login-page).theme-homikey) .toast.toast{color:var(--green-dark);border:0}body:has(:is(.app-shell,.login-page).theme-homikey) .toast.toast.info{color:var(--accent)}body:has(:is(.app-shell,.login-page).theme-homikey) .toast.toast.warning{color:var(--orange-dark)}body:has(:is(.app-shell,.login-page).theme-homikey) .toast.toast.error{color:var(--danger-dark)}.gsearch-scopes{flex-wrap:wrap;gap:8px;margin:12px 0 4px;display:flex}.gsearch-scopes button{border-radius:var(--radius-full);background:var(--paper);height:30px;box-shadow:inset 0 0 0 1px var(--control-line);color:var(--ink-2);font:600 12px/1 var(--font-body);border:0;padding:0 12px}.gsearch-scopes button.active{background:var(--accent);box-shadow:inset 0 0 0 1px var(--accent);color:var(--paper)}.gsearch-recent{gap:8px;margin:8px 0;display:grid}.gsearch-recent>span{color:var(--muted);justify-content:space-between;align-items:center;font-size:12px;font-weight:600;display:flex}.gsearch-recent>div{flex-wrap:wrap;gap:8px;display:flex}.gsearch-recent>div button{border-radius:var(--radius-sm);background:var(--surface-2);height:30px;color:var(--ink-2);font:500 12px/1 var(--font-body);border:0;padding:0 12px}.form-alert.stale-conflict{background:var(--orange-soft);color:var(--orange-dark);align-items:flex-start}.form-alert.stale-conflict>span{flex:1;gap:4px;font-size:12px;line-height:1.5;display:grid}.form-alert.stale-conflict>span>strong{font-size:13px;font-weight:700}.offline-banner{border-radius:var(--radius-md);background:var(--orange-soft);color:var(--orange-dark);align-items:flex-start;gap:12px;margin:0 0 16px;padding:12px 16px;display:flex}.offline-banner p{margin:0;font-size:13px;line-height:1.5}.offline-banner-queue{flex-wrap:wrap;align-items:baseline;gap:6px;margin-left:2px;display:inline-flex}.offline-banner-queue b{font-weight:700}.offline-banner-queue .text-btn{color:inherit;font:inherit;font-weight:600;text-decoration:underline}.bulk-bar{left:50%;bottom:calc(20px + env(safe-area-inset-bottom,0px));z-index:var(--z-popover);border-radius:var(--radius-md);background:var(--ink);width:max-content;max-width:calc(100vw - 32px);color:var(--paper);box-shadow:var(--shadow-xl);flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;padding:8px 8px 8px 18px;display:flex;position:fixed;transform:translate(-50%)}.offline-queue-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.offline-queue-item{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--paper);grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:6px 12px;padding:12px;display:grid}.offline-queue-main{gap:2px;min-width:0;display:grid}.offline-queue-main strong{overflow-wrap:anywhere;font-size:13px}.offline-queue-main small{color:var(--muted);font-size:12px}.offline-queue-error{color:var(--danger-dark);margin:4px 0 0;font-size:12px;line-height:1.45}.offline-queue-note{color:var(--muted);margin:4px 0 0;font-size:12px}.offline-queue-status{border-radius:var(--radius-full);white-space:nowrap;justify-self:end;padding:3px 10px;font-size:11px;font-weight:700}.offline-queue-status.status-pending{background:var(--orange-soft);color:var(--orange-dark)}.offline-queue-status.status-failed{background:var(--danger-soft);color:var(--danger-dark)}.offline-queue-status.status-expired{background:var(--line);color:var(--muted)}.offline-queue-actions{flex-wrap:wrap;grid-column:1/-1;justify-content:flex-end;gap:8px;display:flex}.offline-queue-item.is-failed{border-color:var(--danger-dark)}.chat-bubble.queued{background:var(--orange-soft);color:var(--orange-dark);border-style:dashed;border-color:var(--orange-dark)}.chat-bubble.queued footer{opacity:1}.chat-queued-note{font-size:10px;font-weight:600}.chat-bubble.queued[data-queue-status=failed]{background:var(--danger-soft);color:var(--danger-dark);border-color:var(--danger-dark)}.client-error-code{font-family:var(--font-mono,ui-monospace, SFMono-Regular, Menlo, monospace);letter-spacing:.03em}.client-error-form{flex-wrap:wrap;align-items:flex-end;gap:12px;margin:8px 0 12px;display:flex}.client-error-form .field{flex:220px;max-width:320px}.client-error-card{gap:12px;margin-top:12px;display:grid}.client-error-actions{flex-wrap:wrap;gap:8px;display:flex}.client-error-lookup{margin-bottom:16px;padding:16px 18px}.owner-rail,.owner-bottom-nav,.owner-wordmark,.owner-clock,.tablet-pill-slot,.avatar-badge,.sidebar-layout-switch{display:none}.owner-shell :is(.owner-rail,.owner-bottom-nav) .nav-badge,.platform-shell :is(.owner-rail,.owner-bottom-nav) .nav-badge{background:var(--brand-highlight-dark);min-width:16px;height:16px;color:var(--paper);font:700 11px/1 var(--font-body);border-radius:8px;justify-content:center;align-items:center;padding:0 4px;display:flex}.owner-shell .account-trigger .avatar{overflow:visible}@media (width<=767px){.owner-shell:not(.layout-desktop) .topbar,.platform-shell .topbar{background:var(--paper);height:56px;padding:8px 20px 12px}.owner-shell:not(.layout-desktop) .topbar-menu-btn,.owner-shell:not(.layout-desktop) .topbar-title,.platform-shell .topbar-title{display:none}.owner-shell:not(.layout-desktop) .owner-wordmark,.platform-shell .owner-wordmark{color:var(--ink);font:700 20px/1 var(--font-body);letter-spacing:-.02em;align-items:baseline;margin-right:auto;display:inline-flex}.owner-shell:not(.layout-desktop) .owner-wordmark b,.platform-shell .owner-wordmark b{color:var(--brand-highlight-dark);font-weight:700}.owner-shell:not(.layout-desktop) .topbar-left,.platform-shell .topbar-left{flex:auto}.owner-shell:not(.layout-desktop) .account-trigger .avatar,.platform-shell .account-trigger .avatar{width:36px;height:36px;font-size:12px;font-weight:700}.owner-shell:not(.layout-desktop) .account-trigger .avatar-presence,.platform-shell .account-trigger .avatar-presence{display:none}.owner-shell:not(.layout-desktop) .account-trigger .avatar-badge,.platform-shell .account-trigger .avatar-badge{background:var(--brand-highlight-dark);min-width:16px;height:16px;color:var(--paper);font:700 11px/1 var(--font-body);border-radius:8px;justify-content:center;align-items:center;padding:0 4px;display:flex;position:absolute;top:-2px;right:-2px}.owner-shell:not(.layout-desktop) .owner-bottom-nav,.platform-shell .owner-bottom-nav{z-index:var(--z-mobile-nav);padding:8px 8px calc(8px + env(safe-area-inset-bottom));background:var(--paper);box-shadow:0 -1px 0 var(--line);grid-template-columns:repeat(4,minmax(0,1fr));gap:0;display:grid;position:fixed;bottom:0;left:0;right:0}.owner-shell:not(.layout-desktop) .owner-bottom-nav button,.platform-shell .owner-bottom-nav button{min-width:0;height:56px;color:var(--subtle);font:500 11px/1.2 var(--font-body);cursor:pointer;background:0 0;border:0;flex-direction:column;align-items:center;gap:4px;padding:0;display:flex;position:relative}.owner-shell:not(.layout-desktop) .owner-bottom-nav button .icon,.platform-shell .owner-bottom-nav button .icon{box-sizing:border-box;border-radius:15px;width:56px;height:30px;padding:4px 17px;transition:background .2s}.owner-shell:not(.layout-desktop) .owner-bottom-nav button.nav-active,.platform-shell .owner-bottom-nav button.nav-active{color:var(--brand-highlight-dark);font-weight:600}.owner-shell:not(.layout-desktop) .owner-bottom-nav button.nav-active .icon,.platform-shell .owner-bottom-nav button.nav-active .icon{background:color-mix(in srgb, var(--brand-highlight) 14%, transparent)}.owner-shell:not(.layout-desktop) .owner-bottom-nav button:focus-visible,.platform-shell .owner-bottom-nav button:focus-visible{outline:2px solid var(--focus-ring);outline-offset:-2px;border-radius:var(--radius)}.owner-shell:not(.layout-desktop) .owner-bottom-nav .nav-badge,.platform-shell .owner-bottom-nav .nav-badge{position:absolute;top:0;right:calc(50% - 26px)}.owner-shell:not(.layout-desktop) .topbar .gsearch-trigger,.platform-shell .topbar .gsearch-trigger,.owner-shell:not(.layout-desktop) .topbar .period-button,.platform-shell .topbar .period-button,.owner-shell:not(.layout-desktop) .topbar .icon-btn,.platform-shell .topbar .icon-btn{box-shadow:none;background:0 0;border:0}.owner-shell:not(.layout-desktop) .content,.platform-shell .content{padding-bottom:calc(var(--mobile-nav-height) + 24px + env(safe-area-inset-bottom))}.owner-shell:not(.layout-desktop) .toast-stack,.platform-shell .toast-stack,.owner-shell:not(.layout-desktop) .toast.toast,.platform-shell .toast.toast{bottom:calc(var(--mobile-nav-height) + 16px + env(safe-area-inset-bottom))}}.ch-home{flex-direction:column;gap:16px;display:flex}.ch-hero{background:linear-gradient(90deg,#f6f7f8f0 0%,#f6f7f880 45%,#f6f7f81a 75%),url(/assets/login-city-DPblcey4.webp) 50%/cover no-repeat;height:150px;margin:-20px -16px 0;padding:16px 20px;position:relative}.ch-hero-hello{color:var(--muted);font-size:12px;display:block}.ch-hero h1{color:var(--ink);font:400 28px/1.2 var(--font-display);margin:4px 0 0}.ch-hero-motto{color:var(--accent-dark);font:400 18px/1.1 var(--font-login-hand);text-align:right;position:absolute;bottom:14px;right:16px}.ch-phone .ch-kpis{grid-template-columns:1fr 1fr;gap:8px;margin-top:-30px;display:grid;position:relative}.ch-kpi{border-radius:var(--radius-md);background:var(--paper);min-width:0;box-shadow:var(--shadow-sm);flex-direction:column;gap:8px;padding:12px;display:flex}.ch-kpi-label{color:var(--muted);font-size:11px}.ch-kpi-value{color:var(--ink);font:600 20px/1 var(--font-body);letter-spacing:-.03em;font-variant-numeric:tabular-nums}.ch-kpi-note{color:var(--muted);font-size:11px;font-weight:600}.ch-kpi-note.is-good{color:var(--green-text)}.ch-kpi-note.is-warn{color:var(--brand-highlight-text)}.ch-kpi-note.is-amber{color:var(--orange-dark)}.ch-todo-block{flex-direction:column;gap:8px;display:flex}.ch-todo-block>h2,.ch-card>h2{color:var(--ink);font:700 16px/1.3 var(--font-body);margin:0;padding:4px 2px}.ch-todos{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.ch-todo{border-radius:var(--radius-md);background:var(--paper);align-items:center;gap:12px;padding:12px 16px;display:flex}.ch-todo.is-done{opacity:.6}.ch-todo.is-done .ch-todo-main strong{text-decoration:line-through}.ch-check{background:var(--paper);width:22px;height:22px;box-shadow:inset 0 0 0 1.5px var(--control-line);color:var(--paper);font:700 12px/1 var(--font-body);cursor:pointer;border:0;border-radius:8px;flex:none;justify-content:center;align-items:center;padding:0;display:flex}.ch-todo.is-done .ch-check{background:var(--green);box-shadow:inset 0 0 0 1.5px var(--green)}.ch-todo-main{min-width:0;color:var(--ink);text-align:left;font-family:var(--font-body);cursor:pointer;background:0 0;border:0;flex:1;align-items:center;gap:12px;padding:0;display:flex}.ch-todo-main>span{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.ch-todo-main strong{font-size:13px;font-weight:600}.ch-todo-main small{color:var(--muted);font-size:11px}.ch-dot{background:var(--accent);border-radius:50%;flex:none;width:8px;height:8px}.ch-dot.danger{background:var(--brand-highlight-dark)}.ch-dot.warning{background:var(--orange-dot)}.ch-dot.info{background:var(--accent)}.ch-check:focus-visible,.ch-todo-main:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px;border-radius:var(--radius-sm)}.ch-muted{color:var(--muted);margin:0;font-size:13px}@media (width>=768px) and (width<=1023px){.owner-shell:not(.layout-desktop),.platform-shell:not(.layout-desktop){--owner-rail-width:84px}.owner-shell:not(.layout-desktop) .owner-rail,.platform-shell:not(.layout-desktop) .owner-rail{z-index:var(--z-sidebar);width:var(--owner-rail-width);background:var(--paper);box-shadow:inset -1px 0 0 var(--line);scrollbar-width:none;flex-direction:column;align-items:center;gap:8px;padding:16px 0;display:flex;position:fixed;top:0;bottom:0;left:0;overflow-y:auto}.owner-shell:not(.layout-desktop) .workspace,.platform-shell:not(.layout-desktop) .workspace{margin-left:var(--owner-rail-width)}.owner-shell:not(.layout-desktop) .owner-rail-logo,.platform-shell:not(.layout-desktop) .owner-rail-logo{background:0 0;border:0;place-items:center;width:68px;height:44px;padding:0;display:grid}.owner-shell:not(.layout-desktop) .owner-rail button:not(.owner-rail-logo),.platform-shell:not(.layout-desktop) .owner-rail button:not(.owner-rail-logo){border-radius:var(--radius);width:68px;color:var(--muted);font:500 10px/1.2 var(--font-body);cursor:pointer;background:0 0;border:0;flex-direction:column;align-items:center;gap:4px;padding:8px 0;display:flex;position:relative}.owner-shell:not(.layout-desktop) .owner-rail button:not(.owner-rail-logo) .icon,.platform-shell:not(.layout-desktop) .owner-rail button:not(.owner-rail-logo) .icon{width:22px;height:22px}.owner-shell:not(.layout-desktop) .owner-rail button.nav-active,.platform-shell:not(.layout-desktop) .owner-rail button.nav-active{background:var(--blue-soft);color:var(--ink);font-weight:700}.owner-shell:not(.layout-desktop) .owner-rail .nav-badge,.platform-shell:not(.layout-desktop) .owner-rail .nav-badge{margin:0;position:absolute;top:4px;right:10px}.owner-shell:not(.layout-desktop) .owner-rail button:focus-visible,.platform-shell:not(.layout-desktop) .owner-rail button:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.owner-shell:not(.layout-desktop) .owner-rail-spacer,.platform-shell:not(.layout-desktop) .owner-rail-spacer{flex:1}.owner-shell:not(.layout-desktop) .owner-rail .owner-rail-desktop,.platform-shell:not(.layout-desktop) .owner-rail .owner-rail-desktop{width:68px;color:var(--muted);text-align:center;padding:8px 0;font-size:11px;font-weight:600}.owner-shell:not(.layout-desktop) .topbar,.platform-shell:not(.layout-desktop) .topbar{height:64px;box-shadow:inset 0 -1px 0 var(--line);background:#ffffffb3;padding:0 24px}.owner-shell:not(.layout-desktop) .topbar-menu-btn,.platform-shell:not(.layout-desktop) .topbar-menu-btn,.owner-shell:not(.layout-desktop) .topbar-title,.platform-shell:not(.layout-desktop) .topbar-title{display:none}.owner-shell:not(.layout-desktop) .owner-clock,.platform-shell:not(.layout-desktop) .owner-clock{color:var(--muted);white-space:nowrap;font-size:13px;display:inline}.owner-shell:not(.layout-desktop) .topbar-left,.platform-shell:not(.layout-desktop) .topbar-left{flex:none;gap:16px}.owner-shell:not(.layout-desktop) .tablet-pill-slot,.platform-shell:not(.layout-desktop) .tablet-pill-slot{scrollbar-width:none;min-width:0;max-width:46vw;display:flex;overflow-x:auto}.owner-shell:not(.layout-desktop) .tablet-pill-slot .ch-pills,.platform-shell:not(.layout-desktop) .tablet-pill-slot .ch-pills{flex-wrap:nowrap}.owner-shell:not(.layout-desktop) .topbar-actions,.platform-shell:not(.layout-desktop) .topbar-actions{flex:auto;justify-content:flex-end;gap:12px;min-width:0}.owner-shell:not(.layout-desktop) .owner-clock,.platform-shell:not(.layout-desktop) .owner-clock{flex:none}.owner-shell:not(.layout-desktop) .content,.platform-shell:not(.layout-desktop) .content{padding:24px 24px 32px}.owner-shell.layout-desktop,.platform-shell.layout-desktop{grid-template-columns:var(--sidebar-width) minmax(0, 1fr)}.owner-shell.layout-desktop .sidebar,.platform-shell.layout-desktop .sidebar{display:flex}.owner-shell.layout-desktop .topbar-menu-btn,.platform-shell.layout-desktop .topbar-menu-btn{display:none}.owner-shell.layout-desktop .sidebar-layout-switch,.platform-shell.layout-desktop .sidebar-layout-switch{border-radius:var(--radius);width:100%;min-height:34px;color:var(--muted);font:600 12px/1 var(--font-body);text-align:left;cursor:pointer;background:0 0;border:0;margin-bottom:4px;padding:0 12px;display:block}.owner-shell.layout-desktop .sidebar-layout-switch:hover,.platform-shell.layout-desktop .sidebar-layout-switch:hover{background:var(--surface-2);color:var(--ink)}}.tablet-pill-slot .ch-pills,.ch-tablet>.ch-pills{flex-wrap:wrap;gap:8px;display:flex}.ch-pills button{border-radius:var(--radius-full);background:var(--paper);height:32px;box-shadow:inset 0 0 0 1px var(--control-line);color:var(--ink-2);font:600 12px/1 var(--font-body);white-space:nowrap;cursor:pointer;border:0;padding:0 12px}.ch-pills button.active{background:var(--accent);box-shadow:inset 0 0 0 1px var(--accent);color:var(--paper)}.ch-pills button:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.ch-tablet .ch-greeting{flex-direction:column;gap:4px;display:flex}.ch-tablet .ch-greeting>span{color:var(--muted);font-size:13px}.ch-tablet .ch-greeting h1{color:var(--ink);font:400 32px/1.2 var(--font-display);margin:0}.ch-band{border-radius:var(--radius-lg);background:var(--paper);box-shadow:var(--shadow-sm);grid-template-columns:repeat(4,minmax(0,1fr));display:grid;overflow:hidden}.ch-band .ch-kpi{box-shadow:inset -1px 0 0 var(--line-soft), inset 0 -1px 0 var(--line-soft);background:0 0;border-radius:0;gap:12px;padding:20px 24px}.ch-band .ch-kpi-label{font-size:12px}.ch-band .ch-kpi-value{font-size:24px}.ch-band .ch-kpi-note{font-size:12px}.ch-cards{grid-template-columns:1.2fr 1fr;align-items:start;gap:16px;display:grid}.ch-card{border-radius:var(--radius-lg);background:var(--paper);min-width:0;box-shadow:var(--shadow-sm);flex-direction:column;gap:16px;padding:16px;display:flex}.ch-card .ch-todos{gap:12px}.ch-card .ch-todo{background:var(--sand-soft);min-height:48px;padding:8px 12px}.ch-occ{flex-direction:column;gap:8px;display:flex}.ch-occ-head{justify-content:space-between;gap:12px;font-size:13px;display:flex}.ch-occ-head strong{font-weight:600}.ch-occ-head span{color:var(--muted)}.ch-occ-bar{background:var(--line-soft);border-radius:4px;height:8px;display:block;overflow:hidden}.ch-occ-bar>i{background:var(--accent);border-radius:4px;height:100%;display:block}@media (width<=899px){.ch-band{grid-template-columns:repeat(2,minmax(0,1fr))}.ch-cards{grid-template-columns:1fr}}.platform-search-window .gsearch-groups h3{color:var(--muted)}.plan-recommended-badge{border-radius:var(--radius-full);background:var(--accent-soft);color:var(--accent);font-family:var(--font-body);letter-spacing:.02em;vertical-align:middle;align-items:center;margin-left:8px;padding:2px 8px;font-size:11px;font-weight:700;line-height:1.4;display:inline-flex}.sub-plan-card.recommended{box-shadow:0 0 0 2px var(--accent)}.sub-plan-card.recommended>header .plan-recommended-badge{margin-left:0}.org-plan-grid{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:8px;margin-top:8px;display:grid}.org-plan-choice{background:var(--paper);box-shadow:inset 0 0 0 1px var(--control-line);color:var(--ink);font:inherit;text-align:left;cursor:pointer;border:0;border-radius:12px;gap:4px;padding:12px;display:grid}.org-plan-choice strong{font-size:var(--text-sm);flex-wrap:wrap;align-items:center;gap:6px;display:flex}.org-plan-choice>span{font-variant-numeric:tabular-nums;font-weight:600}.org-plan-choice small{color:var(--muted);font-size:var(--text-xs)}.org-plan-choice.selected{background:var(--accent-soft);box-shadow:inset 0 0 0 2px var(--accent)}.org-plan-choice[disabled]{opacity:.6;cursor:not-allowed}.org-plan-current{color:var(--green-text);font-weight:600}.homikey-platform-workspace .org-form-toggles{gap:10px;display:grid}.homikey-platform-workspace .org-form-actions{justify-content:flex-end;gap:12px;display:flex}.homikey-platform-workspace .org-after-title{font-size:var(--text-sm);margin:4px 0 -8px;font-weight:600}.homikey-platform-workspace .platform-org-bar .platform-org-edit{margin-left:auto}.homikey-platform-workspace .platform-org-actions{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.homikey-platform-workspace .platform-org-deactivate{margin-top:8px}.org-extend-presets{flex-wrap:wrap;gap:8px;margin-top:8px;display:flex}.org-extend-presets button.active{background:var(--accent-soft);box-shadow:inset 0 0 0 1px var(--accent);color:var(--accent)}.homikey-platform-workspace .platform-usage-controls{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px 16px;margin:0 0 16px;display:flex}.homikey-platform-workspace .platform-usage-controls .field{min-width:220px;margin:0}.homikey-platform-workspace .platform-usage-kpis{margin-bottom:20px}.homikey-platform-workspace .platform-pills{width:fit-content;max-width:100%;margin:0 0 16px;overflow-x:auto}.homikey-platform-workspace .platform-usage-chart .mrr-chart-plot{gap:3px}.homikey-platform-workspace .platform-usage-chart .mrr-chart-bar{width:100%;max-width:28px}.homikey-platform-workspace .platform-usage-channels{margin-bottom:20px}.homikey-platform-workspace .platform-usage-channels .usage-bar{margin-bottom:4px;display:block}.homikey-platform-workspace .provider-metrics{gap:4px;min-height:36px;display:grid}.homikey-platform-workspace .provider-metrics dl{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0;display:grid}.homikey-platform-workspace .provider-metrics dl>div{gap:2px;display:grid}.homikey-platform-workspace .provider-metrics dt{color:var(--muted);font-size:var(--text-xs)}.homikey-platform-workspace .provider-metrics dd{color:var(--ink);font-size:var(--text-sm);font-variant-numeric:tabular-nums;margin:0;font-weight:600}.homikey-platform-workspace .provider-metrics-note,.homikey-platform-workspace .provider-fallback-note{color:var(--muted);font-size:var(--text-xs)}.homikey-platform-workspace .provider-fallback-note{color:var(--orange-text);font-weight:600}.homikey-platform-workspace .platform-billing-kpis,.homikey-platform-workspace .platform-log-kpis{margin-bottom:16px}.homikey-platform-workspace .platform-recon-banner{border-radius:var(--radius-lg);background:var(--orange-soft);color:var(--orange-text);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin:0 0 16px;padding:14px 16px;display:flex}.homikey-platform-workspace .platform-recon-banner>span{gap:2px;display:grid}.homikey-platform-workspace .platform-recon-banner strong{font-size:var(--text-sm)}.homikey-platform-workspace .platform-recon-banner small{font-size:var(--text-xs)}.homikey-platform-workspace .security-event-unseen td:first-child{box-shadow:inset 3px 0 0 var(--orange)}.security-event-related{background:var(--sand-soft);border-radius:12px;gap:4px;margin:16px 0;padding:12px 16px;display:grid}.security-event-related h3{font-size:var(--text-sm);margin:0}.security-event-related p{margin:0}.security-event-actions{margin-top:16px}.homikey-platform-workspace .platform-blocked-ips{margin-top:20px}.homikey-platform-workspace .platform-maintenance-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.homikey-platform-workspace .provider-log-panel>.platform-section-heading{padding:18px 20px 14px}.device-panel{margin-bottom:var(--sp-4)}.device-panel .panel-head{justify-content:space-between;align-items:flex-start;gap:var(--sp-3);display:flex}.device-panel-body{gap:var(--sp-3);padding:var(--sp-4) var(--sp-5) var(--sp-5);display:grid}.device-panel-body>h3.admin-subtitle{margin:var(--sp-2) 0 0}.device-panel-body>.form-actions{margin:0}.device-status{font-size:var(--text-sm);flex-wrap:wrap;align-items:center;gap:10px;margin:0;display:flex}.device-list{border:1px solid var(--line);border-radius:var(--radius);gap:0;margin:0;padding:0;list-style:none;display:grid}.device-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;padding:12px 16px;display:flex}.device-row+.device-row{border-top:1px solid var(--line)}.device-row.is-disabled .device-row-main>strong{color:var(--muted)}.device-row-main{flex:260px;gap:2px;min-width:0;display:grid}.device-row-main>strong{font-size:var(--text-sm);flex-wrap:wrap;align-items:center;gap:8px;display:flex}.device-row-main>small,.device-row-hint{color:var(--muted);font-size:var(--text-xs)}.device-row-reason{color:var(--orange-text)}.device-row-actions{flex-wrap:wrap;gap:8px;display:flex}.device-row-mine{margin-left:0}.homikey-platform-workspace .platform-usage-features{margin-bottom:20px}.homikey-platform-workspace .platform-usage-features>.platform-section-heading{padding:18px 20px 14px}.homikey-platform-workspace .platform-usage-features .usage-bar{margin-bottom:4px;display:block}.homikey-platform-workspace .platform-usage-api-chart{margin-bottom:20px}.homikey-platform-workspace .provider-daily{margin-bottom:20px;padding:18px 20px 20px}.homikey-platform-workspace .provider-daily>.platform-section-heading{padding:0 0 14px}.provider-daily-bar{grid-template-columns:repeat(30,minmax(0,1fr));gap:3px;height:44px;margin:0;padding:0;list-style:none;display:grid}.provider-day{background:var(--green);border-radius:4px;min-width:0;height:100%;display:block}.provider-day.warn{background:var(--orange)}.provider-day.bad{background:var(--danger)}.provider-day.none{background:var(--sand-soft);box-shadow:inset 0 0 0 1px var(--muted);border:1px dashed var(--muted)}.provider-daily-axis{color:var(--muted);font-size:var(--text-xs);justify-content:space-between;margin-top:6px;display:flex}.provider-daily-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:16px 0 0;display:grid}.provider-daily-summary>div{gap:2px;display:grid}.provider-daily-summary dt{color:var(--muted);font-size:var(--text-xs)}.provider-daily-summary dd{color:var(--ink);font-size:var(--text-md);font-variant-numeric:tabular-nums;margin:0;font-weight:600}@media (width<=767px){.device-panel-body{padding:var(--sp-3) var(--sp-4) var(--sp-4)}.provider-daily-bar{gap:2px;height:36px}.provider-daily-summary{grid-template-columns:1fr;gap:8px}}*,:before,:after{box-sizing:border-box}:root{font-family:var(--font-body);color:var(--ink);background:var(--surface);font-synthesis:none;text-rendering:optimizelegibility}body{min-width:320px;min-height:100vh;margin:0}html{scrollbar-color:var(--scroll-thumb) var(--scroll-track);scrollbar-width:thin}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:var(--scroll-track)}::-webkit-scrollbar-thumb{background:var(--scroll-thumb);border:2px solid var(--scroll-track);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--scroll-hover)}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}:focus-visible{outline:3px solid color-mix(in srgb, var(--focus-ring) 42%, transparent);outline-offset:2px}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:var(--font-heading);color:var(--ink)}.icon{flex:none}@media (forced-colors:active){*{scrollbar-color:auto}:focus-visible{outline:2px solid canvastext}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
