@font-face{font-family:SF Pro Text;src:local(SF Pro Text),local(SFProText-Regular),local(\.SF NS Text);font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:SF Pro Text;src:local(SF Pro Text Medium),local(SFProText-Medium),local(\.SF NS Text);font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:SF Pro Text;src:local(SF Pro Text Semibold),local(SFProText-Semibold),local(\.SF NS Text);font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:SF Pro Display;src:local(SF Pro Display),local(SFProDisplay-Regular),local(\.SF NS Display);font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:SF Pro Display;src:local(SF Pro Display Medium),local(SFProDisplay-Medium),local(\.SF NS Display);font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:SF Pro Display;src:local(SF Pro Display Semibold),local(SFProDisplay-Semibold),local(\.SF NS Display);font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:SF Mono;src:local(SF Mono),local(SFMono-Regular),local(Menlo);font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:SF Mono;src:local(SF Mono Medium),local(SFMono-Medium),local(Menlo);font-weight:500;font-style:normal;font-display:swap}:root,:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--ink:#1d1d1f;--paper:#f5f5f7;--blueprint:#d2d2d7;--brass:#c47b00;--signal:#248a3d;--rust:#d70015;--accent:#0071e3;--accent-hover:#0077ed;--teal:var(--accent);--teal-hover:var(--accent-hover);--indigo:var(--accent);--violet:var(--accent);--blue:var(--accent);--cyan:#0891b2;--emerald:var(--signal);--amber:var(--brass);--rose:var(--rust);--fuchsia:var(--accent);--ink-tint-05:#1d1d1f0a;--ink-tint-10:#1d1d1f14;--brass-tint-10:#c47b001f;--signal-tint-10:#248a3d1f;--rust-tint-10:#d700151f;--indigo-tint-10:#0071e31f;--blueprint-tint-08:#d2d2d773;--signal-tint:var(--signal-tint-10);--brass-tint:var(--brass-tint-10);--rust-tint:var(--rust-tint-10);--bg-page:var(--paper);--bg-surface:#fff;--bg-elevated:#fff;--bg-muted:#e8e8ed;--border-hairline:#3c3c431f;--border-subtle:#3c3c4314;--text-primary:var(--ink);--text-secondary:#6e6e73;--text-tertiary:#8e8e93;--text-on-ink:#f5f5f7;--text-on-accent:#fff;--accent-tint:var(--indigo-tint-10);--success:var(--signal);--success-tint:var(--signal-tint-10);--danger:var(--rust);--danger-tint:var(--rust-tint-10);--row-hover:#1d1d1f08;--shadow-sm:0 1px 2px #0000000a;--shadow-md:0 2px 8px #0000000f;--shadow-lg:0 8px 24px #0000001f;--overlay:#0000005c;--rail-bg:#f5f5f7b8;--rail-surface:#ffffff8c;--rail-border:#3c3c431f;--rail-link:#6e6e73;--rail-link-active:#1d1d1f;--rail-link-active-bg:#0000000f;--rail-link-hover-bg:#0000000a;--topbar-bg:#ffffffb8;--font-ui:"SF Pro Text", -apple-system, BlinkMacSystemFont, "Helvetica Neue", var(--font-inter), system-ui, "Segoe UI", sans-serif;--font-display:"SF Pro Display", "SF Pro Text", -apple-system, BlinkMacSystemFont, "Helvetica Neue", var(--font-inter), system-ui, "Segoe UI", sans-serif;--font-mono:"SF Mono", ui-monospace, Menlo, var(--font-geist-mono), monospace;--text-2xs:11px;--text-xs:12px;--text-sm:13px;--text-base:13px;--text-md:15px;--text-lg:17px;--text-xl:22px;--text-2xl:28px;--text-3xl:34px;--weight-regular:400;--weight-medium:500;--weight-semibold:600;--line-tight:1.19048;--line-snug:1.33334;--line-normal:1.47059;--line-relaxed:1.6;--tracking-tight:-.022em;--tracking-title:-.021em;--tracking-body:-.016em;--tracking-normal:-.011em;--tracking-wide:.011em;--tracking-wider:.03em;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--radius-sm:8px;--radius-md:10px;--radius-card:12px;--radius-pill:999px;--radius-none:0px;--border-width:1px;--topbar-height:52px;--sidebar-width:84px;--sidebar-collapsed:56px;--gutter:24px;--content-max:none;--ease-out:cubic-bezier(.25, .1, .25, 1);--duration-fast:.12s;--duration-normal:.22s}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--ink:#f5f5f7;--paper:#000;--blueprint:#48484a;--brass:#ff9f0a;--signal:#30d158;--rust:#ff453a;--accent:#0a84ff;--accent-hover:#409cff;--teal:var(--accent);--teal-hover:var(--accent-hover);--ink-tint-05:#ffffff0f;--ink-tint-10:#ffffff1a;--brass-tint-10:#ff9f0a29;--signal-tint-10:#30d15829;--rust-tint-10:#ff453a29;--indigo-tint-10:#0a84ff2e;--blueprint-tint-08:#48484a80;--bg-page:#000;--bg-surface:#1c1c1e;--bg-elevated:#2c2c2e;--bg-muted:#2c2c2e;--border-hairline:#545458a6;--border-subtle:#54545873;--text-primary:#f5f5f7;--text-secondary:#98989d;--text-tertiary:#636366;--text-on-ink:#1d1d1f;--text-on-accent:#fff;--row-hover:#ffffff0a;--shadow-sm:0 1px 2px #0006;--shadow-md:0 2px 8px #00000073;--shadow-lg:0 8px 24px #0000008c;--overlay:#0000008c;--rail-bg:#1c1c1ec7;--rail-surface:#2c2c2ea6;--rail-border:#545458a6;--rail-link:#98989d;--rail-link-active:#f5f5f7;--rail-link-active-bg:#ffffff1f;--rail-link-hover-bg:#ffffff0f;--topbar-bg:#1c1c1ec7}*{box-sizing:border-box}html,body{max-width:100vw}html{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark}@media (prefers-color-scheme:dark){html{--lightningcss-light: ;--lightningcss-dark:initial}}body{min-height:100vh;font-family:var(--font-ui);font-weight:var(--weight-regular);font-size:var(--text-base);line-height:var(--line-normal);letter-spacing:var(--tracking-body);color:var(--text-primary);background:var(--bg-page);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;font-feature-settings:"kern" 1, "liga" 1, "calt" 1, "cv11" 1, "ss01" 1;touch-action:manipulation;-webkit-tap-highlight-color:transparent;margin:0}button,input,select,textarea{font-family:inherit;font-size:inherit;letter-spacing:inherit}h1,h2,h3,h4,h5,h6,p{margin:0}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-title);line-height:var(--line-tight);color:var(--text-primary)}h1{font-size:var(--text-xl);letter-spacing:var(--tracking-tight);font-weight:600}h2{font-size:var(--text-lg);letter-spacing:var(--tracking-title)}h3{font-size:var(--text-md);letter-spacing:var(--tracking-normal)}h4{font-size:var(--text-base);letter-spacing:var(--tracking-body)}p{line-height:var(--line-normal);letter-spacing:var(--tracking-body)}a{color:var(--ink);transition:color var(--duration-fast) var(--ease-out);text-decoration:none}a:hover{color:var(--accent)}.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:.9286em}.text-2xs{font-size:var(--text-2xs);line-height:var(--line-snug)}.text-xs{font-size:var(--text-xs);line-height:var(--line-snug)}.text-sm{font-size:var(--text-sm);line-height:var(--line-normal)}.text-base{font-size:var(--text-base);line-height:var(--line-normal)}.text-md{font-size:var(--text-md);line-height:var(--line-snug)}.text-lg{font-size:var(--text-lg);line-height:var(--line-tight)}.text-xl{font-size:var(--text-xl);line-height:var(--line-tight)}.text-label{font-size:var(--text-2xs);font-weight:var(--weight-medium);letter-spacing:0;text-transform:none;color:var(--text-tertiary)}.text-caption{font-size:var(--text-xs);color:var(--text-secondary);line-height:var(--line-snug)}.text-secondary{color:var(--text-secondary)}.text-tertiary{color:var(--text-tertiary)}.text-medium{font-weight:var(--weight-medium)}.text-semibold{font-weight:var(--weight-semibold)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.app-skip{z-index:100;background:var(--accent);color:var(--text-on-accent);font-size:var(--text-sm);font-weight:var(--weight-medium);border-radius:var(--radius-md);padding:8px 14px;text-decoration:none;position:absolute;top:-100px;left:12px}.app-skip:focus{color:var(--text-on-accent);top:12px}.app-logo{background:var(--accent);width:28px;height:28px;color:var(--text-on-accent);letter-spacing:var(--tracking-tight);border-radius:7px;flex-shrink:0;justify-content:center;align-items:center;font-size:13px;font-weight:600;display:flex}::selection{background:var(--accent-tint)}::placeholder{color:var(--text-tertiary);opacity:1}.shell{grid-template-columns:var(--sidebar-width) 1fr;height:100dvh;font-family:var(--font-ui);background:var(--bg-page);display:grid;overflow:hidden}.shell-main{background:var(--bg-page);flex-direction:column;min-width:0;min-height:0;display:flex}.shell-content{overscroll-behavior:contain;min-width:0;min-height:0;padding:var(--gutter);flex:1;width:100%;overflow:auto}.shell-content:focus{outline:none}.shell-rail{height:100dvh;max-height:100dvh;width:var(--sidebar-width);background:var(--rail-bg);-webkit-backdrop-filter:saturate(180%)blur(20px);border-right:1px solid var(--rail-border);z-index:15;flex-direction:column;display:flex;overflow:hidden}.shell-rail-brand{height:var(--topbar-height);border-bottom:1px solid var(--rail-border);background:var(--rail-surface);flex-shrink:0;align-items:stretch;display:flex}.shell-rail-brand-link{color:inherit;flex:1;justify-content:center;align-items:center;gap:8px;min-width:0;padding:0 8px;text-decoration:none;display:flex}.shell-rail-logo{object-fit:contain;border-radius:7px;flex-shrink:0;width:28px;height:28px;display:block}.shell-rail-brand-text{display:none}.shell-rail-brand-name{letter-spacing:var(--tracking-tight);color:var(--text-primary);font-size:14px;font-weight:600;line-height:1.2}.shell-rail-brand-sub{color:var(--text-tertiary);font-size:11px;line-height:1.25}.shell-rail-nav{flex-direction:column;flex:1;min-height:0;padding:8px 6px;display:flex}.shell-rail-nav-scroll{scrollbar-width:none;flex-direction:column;flex:1;gap:4px;min-height:0;display:flex;overflow:hidden auto}.shell-rail-nav-scroll::-webkit-scrollbar{display:none}.shell-rail-link{min-height:58px;color:var(--rail-link);text-align:center;transition:background var(--duration-fast) var(--ease-out), color var(--duration-fast) var(--ease-out);border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:4px;padding:8px 4px 6px;text-decoration:none;display:flex;position:relative}.shell-rail-link:hover{background:var(--rail-link-hover-bg);color:var(--rail-link-active)}.shell-rail-link--active{background:var(--rail-link-active-bg);color:var(--rail-link-active);font-weight:600}.shell-rail-link-icon{justify-content:center;align-items:center;width:22px;height:22px;display:inline-flex}.shell-rail-icon{width:20px;height:20px;display:block}.shell-rail-link-label{letter-spacing:.01em;white-space:nowrap;text-overflow:ellipsis;width:100%;font-size:10px;font-weight:600;line-height:1.15;overflow:hidden}.shell-rail-profile{background:var(--rail-surface);border:1px solid var(--rail-border);border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;gap:8px;margin:0 6px 10px;padding:10px 8px;display:flex}.shell-rail-profile-text{display:none}.shell-rail-avatar{background:var(--accent-tint);width:28px;height:28px;color:var(--accent);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:11px;font-weight:600;display:inline-flex}.shell-rail-avatar--sm{width:26px;height:26px;font-size:10px}.shell-rail-backdrop{appearance:none;cursor:pointer;border:none;padding:0;display:none}.shell-topbar{height:var(--topbar-height);padding:0 var(--space-5);padding-top:env(safe-area-inset-top,0px);height:calc(var(--topbar-height) + env(safe-area-inset-top,0px));background:var(--topbar-bg);-webkit-backdrop-filter:saturate(180%)blur(20px);border-bottom:1px solid var(--border-hairline);z-index:10;flex-shrink:0;align-items:center;gap:12px;display:flex}.shell-topbar-crumbs{flex:1;min-width:0}.shell-topbar-crumbs .breadcrumb{margin-bottom:0}.shell-topbar-crumbs .breadcrumb-current{color:var(--text-primary);font-weight:600}.shell-topbar-title{font-size:var(--text-md);letter-spacing:var(--tracking-tight);color:var(--text-primary);font-weight:600;line-height:var(--line-tight);white-space:nowrap;text-overflow:ellipsis;margin:0;overflow:hidden}.shell-topbar-actions{flex-shrink:0;align-items:center;gap:6px;display:flex}.shell-icon-btn{border-radius:var(--radius-md);width:34px;height:34px;color:var(--text-secondary);cursor:pointer;transition:background var(--duration-fast), color var(--duration-fast);background:0 0;border:none;justify-content:center;align-items:center;padding:0;text-decoration:none;display:inline-flex}.shell-icon-btn:hover{background:var(--ink-tint-05);color:var(--text-primary)}.shell-btn{border-radius:var(--radius-md);border:1px solid var(--border-hairline);background:var(--bg-surface);height:32px;color:var(--text-primary);font-size:var(--text-sm);cursor:pointer;transition:background var(--duration-fast), border-color var(--duration-fast);align-items:center;gap:6px;padding:0 12px;font-weight:500;display:inline-flex}.shell-btn:hover{background:var(--bg-muted)}.shell-btn--new{background:var(--accent);border-color:var(--accent);color:var(--text-on-accent)}.shell-btn--new:hover{background:var(--accent-hover);border-color:var(--accent-hover);color:var(--text-on-accent)}.shell-topbar-profile{border-radius:var(--radius-pill);height:34px;color:var(--text-secondary);cursor:pointer;background:0 0;border:none;align-items:center;gap:4px;padding:0 6px 0 2px;display:inline-flex}.shell-topbar-profile:hover{background:var(--ink-tint-05);color:var(--text-primary)}.shell-dropdown-wrap{position:relative}.shell-dropdown{background:var(--bg-elevated);border:1px solid var(--border-hairline);border-radius:var(--radius-card);min-width:200px;box-shadow:var(--shadow-lg);z-index:40;padding:4px;position:absolute;top:calc(100% + 6px);left:0}.shell-dropdown--right{left:auto;right:0}.shell-dropdown-hd{border-bottom:1px solid var(--border-hairline);margin-bottom:4px;padding:10px 12px}.shell-dropdown-name{color:var(--text-primary);font-size:13px;font-weight:600}.shell-dropdown-meta{color:var(--text-tertiary);margin-top:2px;font-size:11px}.shell-dropdown-item{width:100%;color:var(--text-primary);text-align:left;cursor:pointer;background:0 0;border:none;border-radius:8px;align-items:center;padding:8px 12px;font-size:13px;text-decoration:none;display:flex}.shell-dropdown-item:hover{background:var(--ink-tint-05)}.shell-dropdown-item--danger{color:var(--danger)}.shell-subheader{background:var(--bg-surface);border-bottom:1px solid var(--border-hairline);padding:0 var(--space-5);z-index:4;flex-shrink:0;align-items:stretch;min-height:40px;display:flex}.shell-subheader-inner{align-items:stretch;gap:16px;width:100%;min-width:0;display:flex}.shell-subheader-module{border-right:1px solid var(--border-hairline);color:var(--text-tertiary);-webkit-user-select:none;user-select:none;pointer-events:none;flex-shrink:0;align-items:center;padding-right:12px;font-size:12px;font-weight:600;display:none}.shell-subheader-tabs{scrollbar-width:none;flex:1;align-items:stretch;gap:2px;min-width:0;display:flex;overflow-x:auto}.shell-subheader-tabs::-webkit-scrollbar{display:none}.shell-subheader-tab{color:var(--text-secondary);white-space:nowrap;transition:color var(--duration-fast);align-items:center;padding:10px 12px;font-size:13px;font-weight:500;text-decoration:none;display:inline-flex;position:relative}.shell-subheader-tab:hover{color:var(--text-primary)}.shell-subheader-tab--active{color:var(--accent);font-weight:600}.shell-subheader-tab--active:after{content:"";background:var(--accent);border-radius:2px 2px 0 0;height:2px;position:absolute;bottom:-1px;left:10px;right:10px}.app-tabs{padding:0 var(--space-6);border-bottom:1px solid var(--border-hairline);background:var(--bg-surface);gap:2px;display:flex;overflow-x:auto}.app-tab{padding:12px var(--space-4);font-size:var(--text-sm);white-space:nowrap;color:var(--text-secondary);transition:color var(--duration-fast), border-color var(--duration-fast);line-height:var(--line-snug);border-bottom:2px solid #0000;margin-bottom:-1px}.app-tab:hover{color:var(--ink)}.app-tab--active{color:var(--ink);font-weight:var(--weight-medium);border-bottom-color:var(--accent)}.app-portal-content{width:100%;max-width:none;margin:0}@media (max-width:1024px){.shell{grid-template-columns:1fr}.shell-rail{width:min(280px,86vw);padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px);transition:transform var(--duration-normal) var(--ease-out);box-shadow:var(--shadow-lg);z-index:30;position:fixed;top:0;left:0;transform:translate(-105%)}.shell-rail--open{transform:translate(0)}.shell-rail-brand-text,.shell-rail-profile-text{flex-direction:column;flex:1;min-width:0;display:flex}.shell-rail-brand-link{justify-content:flex-start;padding:0 14px}.shell-rail-link{text-align:left;flex-direction:row;justify-content:flex-start;align-items:center;gap:10px;min-height:44px;padding:8px 12px}.shell-rail-link-label{font-size:14px;font-weight:500}.shell-rail-profile{justify-content:flex-start;margin:0 10px 12px;padding:10px 12px}.shell-rail-profile-name{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:500;overflow:hidden}.shell-rail-profile-role{color:var(--text-tertiary);text-transform:capitalize;font-size:11px}.shell-rail-backdrop{background:var(--overlay);z-index:25;display:block;position:fixed;inset:0}.shell-subheader{padding:0 16px}.shell-content{padding:var(--space-5);padding-bottom:max(var(--space-5), env(safe-area-inset-bottom,0px))}.shell-icon-btn,.shell-topbar-profile{width:44px;height:44px}.shell-btn--new{min-width:44px;height:44px;padding:0 12px}}@media (max-width:720px){.shell-btn--new span,.shell-btn--new .shell-btn-chevron,.shell-btn--new svg:last-of-type{display:none}.shell-btn--new{justify-content:center;width:44px;padding:0}.shell-btn--new svg:first-of-type{display:block}.shell-topbar{gap:8px;padding-left:12px;padding-right:10px}.shell-topbar-actions{gap:2px}.shell-topbar-profile svg{display:none}.shell-topbar-title{font-size:var(--text-base)}.shell-subheader-inner{flex-direction:column;gap:0}.shell-subheader-module{border-right:none;border-bottom:1px solid var(--border-hairline);text-transform:uppercase;letter-spacing:var(--tracking-wider);padding:8px 0 4px;font-size:11px;display:flex}.shell-subheader{min-height:0;padding-bottom:0}.shell-subheader-tabs{-webkit-overflow-scrolling:touch;padding-bottom:0}.shell-content{padding:var(--space-4);padding-bottom:max(var(--space-4), env(safe-area-inset-bottom,0px));overflow-x:clip}}@media (max-width:480px){.shell-content{padding:var(--space-4);padding-bottom:max(var(--space-4), env(safe-area-inset-bottom,0px))}}.portal-home{gap:var(--space-5);display:grid}.portal-hero{gap:var(--space-4);grid-template-columns:minmax(0,1.35fr) minmax(260px,.9fr);align-items:stretch;display:grid}.portal-plan-card{background:var(--bg-surface);border:1px solid var(--border-hairline);border-radius:var(--radius-card);padding:var(--space-5);gap:var(--space-2);flex-direction:column;min-height:100%;display:flex}.portal-plan-card-top{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.portal-plan-name{font-family:var(--font-ui);font-size:var(--text-xl);letter-spacing:var(--tracking-tight);font-weight:600;line-height:var(--line-tight);color:var(--ink);margin-top:var(--space-1)}.portal-plan-meta{font-size:var(--text-md);color:var(--text-primary);margin-top:var(--space-1);align-items:baseline;gap:6px;display:flex}.portal-plan-meta span:last-child{color:var(--text-secondary);font-size:var(--text-sm)}.portal-plan-expiry{font-size:var(--text-sm);color:var(--text-secondary);margin-top:var(--space-1)}.portal-plan-link{padding-top:var(--space-4);font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--accent);margin-top:auto}.portal-plan-link:hover{color:var(--accent-hover)}.portal-quick-actions{gap:var(--space-3);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.portal-quick-action{padding:var(--space-4);background:var(--bg-surface);border:1px solid var(--border-hairline);border-radius:var(--radius-card);color:var(--ink);transition:border-color var(--duration-fast), background var(--duration-fast), color var(--duration-fast);flex-direction:column;gap:4px;min-height:78px;text-decoration:none;display:flex}.portal-quick-action:hover{border-color:color-mix(in srgb, var(--accent) 35%, var(--border-hairline));background:var(--accent-tint);color:var(--ink)}.portal-quick-action--primary{background:var(--accent);border-color:var(--accent);color:var(--text-on-accent)}.portal-quick-action--primary:hover{background:var(--accent-hover);border-color:var(--accent-hover);color:var(--text-on-accent)}.portal-quick-action-label{font-size:var(--text-sm);font-weight:var(--weight-semibold);line-height:var(--line-tight)}.portal-quick-action-hint{font-size:var(--text-xs);color:var(--text-tertiary);line-height:var(--line-snug)}.portal-quick-action--primary .portal-quick-action-hint{color:color-mix(in srgb, var(--text-on-accent) 72%, transparent)}.portal-credits{gap:var(--space-3);display:grid}.portal-credit-grid{gap:var(--space-3);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}@media (max-width:900px){.portal-hero{grid-template-columns:1fr}.portal-quick-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.portal-credit-grid{grid-template-columns:1fr}}@media (max-width:520px){.portal-quick-actions{grid-template-columns:1fr}}.page-header{margin-bottom:var(--space-5);justify-content:space-between;align-items:flex-end;gap:var(--space-4);flex-wrap:wrap;display:flex}.page-header-actions{align-items:center;gap:var(--space-2);flex-shrink:0;display:flex}.soon-switch{color:var(--text-secondary);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;font-size:13px;display:inline-flex}.soon-switch input{appearance:none;background:var(--bg-muted);border:1px solid var(--border-hairline);cursor:pointer;border-radius:999px;flex-shrink:0;width:36px;height:22px;margin:0;position:relative}.soon-switch input:after{content:"";background:var(--bg-surface);border-radius:50%;width:16px;height:16px;transition:transform .15s;position:absolute;top:2px;left:2px;box-shadow:0 1px 2px #0003}.soon-switch input:checked{background:var(--accent);border-color:var(--accent)}.soon-switch input:checked:after{transform:translate(14px)}.soon-switch input:disabled{opacity:.6}.breadcrumb{margin-bottom:var(--space-3)}.breadcrumb-list{font-size:var(--text-xs);color:var(--text-tertiary);flex-wrap:wrap;align-items:center;gap:0;margin:0;padding:0;list-style:none;display:flex}.breadcrumb-item{align-items:center;display:inline-flex}.breadcrumb-sep{color:var(--text-tertiary);margin:0 6px}.breadcrumb-link{color:var(--text-secondary);text-decoration:none}.breadcrumb-link:hover{color:var(--text-primary);text-decoration:underline}.entity-link{color:var(--accent,var(--text-primary));font-weight:500;text-decoration:none}.entity-link:hover{text-decoration:underline}.breadcrumb-current{color:var(--text-secondary)}.page-title{font-family:var(--font-display);font-size:var(--text-xl);letter-spacing:var(--tracking-tight);color:var(--ink);font-weight:600;line-height:var(--line-tight);text-wrap:balance;margin-bottom:4px}.page-subtitle{font-family:var(--font-ui);color:var(--text-secondary);font-size:var(--text-sm);line-height:var(--line-normal);letter-spacing:var(--tracking-body);max-width:56ch}.section-title{font-family:var(--font-display);font-size:var(--text-md);margin-bottom:var(--space-3);color:var(--ink);letter-spacing:var(--tracking-title);font-weight:600;line-height:var(--line-tight)}.ui-card{background:var(--bg-surface);border:1px solid var(--border-hairline);border-radius:var(--radius-card);padding:var(--space-5)}.ui-card-kicker{font-size:var(--text-xs);font-weight:var(--weight-medium);color:var(--text-secondary);letter-spacing:0;text-transform:none;margin-bottom:6px}.ui-card-title{font-size:var(--text-base);font-weight:var(--weight-semibold);color:var(--text-primary);line-height:var(--line-tight)}.ui-card-body{font-size:var(--text-sm);color:var(--text-secondary);margin-top:var(--space-2);line-height:var(--line-normal)}.stat-tile{background:var(--bg-surface);border:1px solid var(--border-hairline);border-radius:var(--radius-card);padding:var(--space-4) var(--space-5);position:relative}.stat-tile--hero{padding:var(--space-5)}.stat-value{font-family:var(--font-display);font-size:var(--text-xl);color:var(--ink);letter-spacing:var(--tracking-tight);font-weight:600;line-height:var(--line-tight);font-variant-numeric:tabular-nums}.stat-tile--hero .stat-value{font-size:var(--text-2xl)}.stat-highlight{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-tight);line-height:var(--line-tight);color:var(--ink);font-variant-numeric:tabular-nums}.dash-section{margin-bottom:var(--space-6)}.dash-section-head{justify-content:space-between;align-items:baseline;gap:var(--space-3);margin-bottom:var(--space-3);display:flex}.dash-section-head .section-title{margin-bottom:0}.dashboard{gap:var(--space-8);display:grid}.dash-top{gap:var(--space-3);display:grid}.dash-top .page-header{margin-bottom:0}.dash-toolbar{justify-content:space-between;align-items:center;gap:var(--space-3);background:var(--bg-surface);border:1px solid var(--border-hairline);border-radius:var(--radius-card);flex-wrap:wrap;padding:10px 14px;display:flex}.dash-toolbar .filter-bar--inline{margin-bottom:0}.dash-block{gap:var(--space-3);display:grid}.dash-block-head{justify-content:space-between;align-items:flex-end;gap:var(--space-4);flex-wrap:wrap;display:flex}.dash-block-title{font-size:var(--text-base);letter-spacing:var(--tracking-tight);font-weight:600;line-height:var(--line-tight);color:var(--ink);margin:0}.dash-block-subtitle{font-size:var(--text-sm);color:var(--text-tertiary);line-height:var(--line-normal);max-width:56ch;margin:2px 0 0}.dash-attention{background:var(--bg-surface);border:1px solid var(--border-hairline);border-radius:var(--radius-card);gap:10px;padding:14px 16px;display:grid}.dash-attention-label{font-size:var(--text-xs);letter-spacing:.02em;text-transform:uppercase;color:var(--text-tertiary);margin:0;font-weight:600}.dash-attention-list{flex-wrap:wrap;gap:0;margin:0;padding:0;list-style:none;display:flex}.dash-attention-li{align-items:stretch;display:flex}.dash-attention-li:not(:last-child):after{content:"";background:var(--border-hairline);align-self:stretch;width:1px;margin:4px 14px}.dash-attention-item{color:inherit;transition:color var(--duration-fast);background:0 0;border:none;border-radius:0;align-items:baseline;gap:8px;padding:2px 0;text-decoration:none;display:inline-flex}.dash-attention-item:hover .dash-attention-text{color:var(--accent)}.dash-attention-item--warn .dash-attention-value,.dash-attention-item--danger .dash-attention-value{color:var(--ink)}.dash-attention-item--danger .dash-attention-value{color:var(--rust)}.dash-attention-value{font-size:var(--text-base);font-variant-numeric:tabular-nums;color:var(--ink);letter-spacing:var(--tracking-tight);font-weight:600}.dash-attention-text{font-size:var(--text-sm);color:var(--text-secondary)}.stat-hint{font-size:var(--text-xs);color:var(--text-secondary);line-height:var(--line-snug);margin-top:6px}.stat-tile--ok:before,.stat-tile--neutral:before{display:none}.stat-tile--warn:before,.stat-tile--danger:before{content:"";border-radius:1px;width:2px;position:absolute;top:14px;bottom:14px;left:0}.stat-tile--warn:before{background:var(--brass)}.stat-tile--danger:before{background:var(--rust)}.kpi-delta{font-size:var(--text-xs);font-weight:400}.kpi-delta--up{color:var(--text-secondary)}.kpi-delta--down{color:var(--rust)}.kpi-delta--neutral{color:var(--text-tertiary)}.insight-list{margin:var(--space-3) 0 0;gap:10px;display:grid}.insight-list-row{border-top:1px solid var(--border-subtle);grid-template-columns:1fr auto;align-items:baseline;gap:2px 12px;padding-top:10px;display:grid}.insight-list-row:first-child{border-top:none;padding-top:0}.insight-list-label{font-size:var(--text-sm);color:var(--text-secondary);margin:0}.insight-list-value{font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--ink);text-align:right;font-variant-numeric:tabular-nums;margin:0}.insight-list-hint{font-size:var(--text-xs);color:var(--text-tertiary);grid-column:1/-1;margin:0}.text-danger{color:var(--rust);font-weight:var(--weight-medium)}.text-warn{color:var(--brass);font-weight:var(--weight-medium)}.metric-row{align-items:center;gap:10px;display:flex}.metric-row-label{width:120px;font-size:var(--text-sm);color:var(--text-secondary);flex-shrink:0}.metric-row-value{text-align:right;width:48px;font-size:var(--text-xs);color:var(--text-secondary);flex-shrink:0}.grid-stats-hero{gap:var(--space-3);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.stat-strip{background:var(--bg-surface);border:1px solid var(--border-hairline);border-radius:var(--radius-card);grid-template-columns:repeat(5,minmax(0,1fr));display:grid;overflow:hidden}.stat-strip .stat-tile{box-shadow:none;border:none;border-right:1px solid var(--border-hairline);padding:var(--space-4) var(--space-4);background:0 0;border-radius:0}.stat-strip .stat-tile:last-child{border-right:none}.stat-strip .stat-tile--warn:before,.stat-strip .stat-tile--danger:before{display:none}.dash-split{gap:var(--space-4);grid-template-columns:minmax(0,1.6fr) minmax(260px,1fr);align-items:start;display:grid}.dash-split-main,.dash-split-side{min-width:0}.dash-footer{align-items:center;gap:var(--space-4);padding-top:var(--space-2);border-top:1px solid var(--border-hairline);font-size:var(--text-sm);flex-wrap:wrap;display:flex}.dash-footer a{color:var(--text-secondary);text-decoration:none}.dash-footer a:hover{color:var(--accent)}.grid-cards--flush,.grid-tables--flush{margin-bottom:0}@media (max-width:1100px){.grid-stats-hero,.stat-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.stat-strip .stat-tile:nth-child(2n){border-right:none}.stat-strip .stat-tile{border-bottom:1px solid var(--border-hairline)}.stat-strip .stat-tile:nth-last-child(-n+2){border-bottom:none}.dash-split{grid-template-columns:1fr}}@media (max-width:560px){.grid-stats-hero,.stat-strip{grid-template-columns:1fr}.stat-strip .stat-tile{border-right:none;border-bottom:1px solid var(--border-hairline)}.stat-strip .stat-tile:last-child{border-bottom:none}.dash-attention-li:not(:last-child):after{display:none}.dash-attention-list{flex-direction:column;gap:10px}}.progress-track{background:var(--bg-muted);border-radius:var(--radius-pill);flex:1;height:6px;overflow:hidden}.progress-fill{border-radius:var(--radius-pill);height:100%;transition:width var(--duration-normal) var(--ease-out)}.progress-fill--accent{background:var(--accent)}.progress-fill--brass{background:var(--brass)}.progress-fill--signal{background:var(--signal)}.progress-fill--rust{background:var(--rust)}.ui-input,.ui-select,.ui-textarea{font-family:var(--font-ui);font-size:var(--text-base);border-radius:var(--radius-md);background-color:var(--bg-muted);height:36px;color:var(--text-primary);width:100%;line-height:var(--line-normal);transition:border-color var(--duration-fast), box-shadow var(--duration-fast), background-color var(--duration-fast);border:1px solid #0000;padding:0 12px}.ui-select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%238b949e' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;background-size:14px;padding-right:30px}.ui-textarea{height:auto;min-height:80px;line-height:var(--line-normal);padding:8px 12px}.ui-input:hover,.ui-select:hover,.ui-textarea:hover{background-color:color-mix(in srgb, var(--bg-muted) 70%, var(--blueprint))}.ui-input:focus-visible,.ui-select:focus-visible,.ui-textarea:focus-visible{background-color:var(--bg-surface);border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-tint);outline:none}.ui-input:disabled,.ui-select:disabled,.ui-textarea:disabled{opacity:.55;cursor:default}.ui-input[aria-invalid=true],.ui-select[aria-invalid=true],.ui-textarea[aria-invalid=true]{border-color:var(--danger);background-color:var(--bg-surface);box-shadow:0 0 0 3px var(--danger-tint)}.ui-field-label{font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--text-secondary);line-height:var(--line-snug)}.ui-field-hint{font-size:var(--text-xs);color:var(--text-tertiary);line-height:var(--line-snug)}.ui-field-error{font-size:var(--text-xs);color:var(--rust);font-weight:var(--weight-medium);line-height:var(--line-snug)}.ui-btn{font-family:var(--font-ui);font-weight:var(--weight-medium);font-size:var(--text-base);border-radius:var(--radius-md);cursor:pointer;white-space:nowrap;transition:background var(--duration-fast), border-color var(--duration-fast), color var(--duration-fast), box-shadow var(--duration-fast), transform var(--duration-fast);justify-content:center;align-items:center;gap:6px;line-height:1;display:inline-flex}.ui-btn:disabled{opacity:1;cursor:default;pointer-events:none}.ui-btn--block{width:100%;display:flex}.ui-btn--sm{font-size:var(--text-xs);height:auto;min-height:36px;padding:0 10px}.ui-btn--md{font-size:var(--text-md);height:auto;min-height:36px;padding:0 14px}.ui-btn:active:not(:disabled){transform:scale(.98)}.ui-btn--primary{background:var(--accent);color:var(--text-on-accent);border:1px solid var(--accent)}.ui-btn--primary:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover)}.ui-btn--primary:disabled{background:color-mix(in srgb, var(--accent) 38%, var(--bg-muted));color:var(--text-on-accent);border-color:#0000}.ui-btn--secondary{background:var(--bg-muted);color:var(--ink);border:1px solid #0000}.ui-btn--secondary:hover:not(:disabled){background:color-mix(in srgb, var(--bg-muted) 60%, var(--blueprint))}.ui-btn--secondary:disabled{color:var(--text-tertiary)}.ui-btn--tertiary{color:var(--ink);background:0 0;border:1px solid #0000}.ui-btn--tertiary:hover:not(:disabled){background:var(--ink-tint-05)}.ui-btn--tertiary:disabled{color:var(--text-tertiary)}.ui-btn--danger{background:var(--rust);color:var(--text-on-accent);border:1px solid var(--rust)}.ui-btn--danger:hover:not(:disabled){background:color-mix(in srgb, var(--rust) 85%, #000);border-color:color-mix(in srgb, var(--rust) 85%, #000)}.page-subnav{justify-content:space-between;align-items:stretch;gap:var(--space-3);margin:calc(-1 * var(--gutter)) calc(-1 * var(--gutter)) var(--space-5);padding:0 var(--gutter);background:var(--bg-surface);border-bottom:1px solid var(--border-hairline);flex-wrap:wrap;min-height:40px;display:flex}.page-subnav-tabs{scrollbar-width:none;flex:1;align-items:stretch;min-width:0;display:flex;overflow-x:auto}.page-subnav-tabs::-webkit-scrollbar{display:none}.page-subnav-actions{align-items:center;gap:var(--space-2);flex-shrink:0;padding:6px 0;display:flex}.page-subnav--inset{margin:0 0 var(--space-5);padding:0}.ui-seg{border-radius:var(--radius-md);background:var(--bg-muted);border:none;gap:1px;padding:2px;display:inline-flex;overflow:hidden}.ui-seg-option{min-height:32px;font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--text-secondary);cursor:pointer;border-radius:calc(var(--radius-md) - 1px);transition:color var(--duration-fast), background var(--duration-fast), box-shadow var(--duration-fast);line-height:var(--line-snug);justify-content:center;align-items:center;padding:6px 12px;display:inline-flex;position:relative}.ui-seg-option--active{color:var(--ink);background:var(--bg-surface);border:none;box-shadow:0 1px 2px #14181c1a,0 0 0 .5px #14181c0a}.ui-seg--tabs{background:0 0;border-radius:0;align-items:stretch;gap:2px;width:100%;padding:0;display:flex;overflow:visible}.ui-seg--tabs .ui-seg-option{min-height:40px;box-shadow:none;white-space:nowrap;background:0 0;border-radius:0;padding:10px 12px;font-size:13px;font-weight:500}.ui-seg--tabs .ui-seg-option:hover{color:var(--text-primary);background:0 0}.ui-seg--tabs .ui-seg-option--active{color:var(--accent);box-shadow:none;background:0 0;font-weight:600}.ui-seg--tabs .ui-seg-option--active:after{content:"";background:var(--accent);border-radius:2px 2px 0 0;height:2px;position:absolute;bottom:-1px;left:10px;right:10px}@media (max-width:1024px){.page-subnav{margin-left:calc(-1 * var(--space-5));margin-right:calc(-1 * var(--space-5));margin-top:calc(-1 * var(--space-5));padding-left:var(--space-5);padding-right:var(--space-5)}}@media (max-width:720px){.page-subnav{margin-left:calc(-1 * var(--space-4));margin-right:calc(-1 * var(--space-4));margin-top:calc(-1 * var(--space-4));padding-left:var(--space-4);padding-right:var(--space-4)}.page-header{flex-direction:column;align-items:stretch}.page-header-actions{flex-direction:column;align-items:stretch;width:100%}.page-header-actions>*,.page-header-actions .ui-btn{width:100%}.filter-bar{flex-direction:column;align-items:stretch}.filter-bar>*,.filter-bar .ui-field,.filter-bar .ui-input,.filter-bar .ui-select,.filter-bar .filter-control,.filter-control{flex:none;width:100%;min-width:0;max-width:none}.page-subnav{flex-direction:column;align-items:stretch}.page-subnav-actions{width:100%;padding-bottom:8px}.page-subnav-actions .ui-btn{width:100%}.page-subnav-tabs{-webkit-overflow-scrolling:touch}.toolbar{flex-direction:column;align-items:stretch}.toolbar-start,.toolbar-end,.toolbar-end .ui-btn{width:100%}.dash-toolbar{flex-direction:column;align-items:stretch}.ui-seg:not(.ui-seg--tabs){flex-wrap:wrap;width:100%;display:flex}.ui-seg:not(.ui-seg--tabs) .ui-seg-option{text-align:center;flex:auto;min-width:0}.ui-table-pager{flex-direction:column;align-items:stretch}.ui-table-pager-controls{justify-content:space-between;width:100%}.ui-table-page-size{flex:1;min-width:0}.member-actions{flex-direction:column;align-items:stretch}.member-actions-main{flex-direction:column}.member-actions .ui-btn{width:100%}.page-subtitle{max-width:none}.ui-table-toolbar{flex-direction:column;align-items:stretch}.ui-table-search{width:100%;min-width:0;max-width:none}.ui-table-wrap{background:0 0;border:none;overflow:visible}.ui-table thead{display:none}.ui-table,.ui-table tbody{width:100%;display:block}.ui-table tbody tr{margin-bottom:var(--space-3);background:var(--bg-surface);border:1px solid var(--border-hairline);border-radius:var(--radius-card);gap:6px;padding:12px 14px;display:grid}.ui-table tbody tr:last-child{margin-bottom:0}.ui-table tbody tr:hover td{background:0 0}.ui-table td{font-size:var(--text-sm);border:none;justify-content:space-between;align-items:baseline;gap:12px;padding:0;display:flex}.ui-table td.ui-table-index,.ui-table td[data-priority=hide]{display:none}.ui-table td[data-priority=primary]{font-size:var(--text-md);color:var(--ink);font-weight:600;line-height:var(--line-tight);order:-1;display:block}.ui-table tbody tr:not(:has([data-priority=primary])) td:nth-child(2):not([data-priority=hide]):not([data-priority=actions]){font-size:var(--text-md);color:var(--ink);font-weight:600;line-height:var(--line-tight);order:-1;display:block}.ui-table td[data-priority=primary]:before{display:none}.ui-table tbody tr:not(:has([data-priority=primary])) td:nth-child(2):not([data-priority=hide]):not([data-priority=actions]):before{display:none}.ui-table td[data-label]:not([data-priority=primary]):not([data-priority=actions]):before{content:attr(data-label);color:var(--text-tertiary);font-size:var(--text-xs);flex-shrink:0}.ui-table td[data-priority=actions]{border-top:1px solid var(--border-subtle);flex-wrap:wrap;justify-content:flex-end;gap:8px;margin-top:4px;padding-top:8px;display:flex}.ui-table td[data-priority=actions] .action-row,.ui-table td[data-priority=actions]>div{flex-wrap:wrap;justify-content:flex-end;gap:6px;width:100%;display:flex}.ui-table td[data-priority=actions] .ui-btn{flex:auto;min-width:calc(50% - 4px)}.ui-table td.ui-table-empty{text-align:center;padding:32px 16px;display:block}.booking-day-timeline{display:none}.booking-day-agenda{display:grid}.floor-plan--canvas{display:none}.floor-plan-list{display:grid}.access-hours-week{display:none}.access-hours-days{display:grid}}@media (min-width:721px) and (max-width:1024px){.ui-table th.ui-table-index-col,.ui-table td.ui-table-index{z-index:2;background:var(--bg-surface);box-shadow:1px 0 0 var(--border-hairline);position:sticky;left:0}.ui-table th:nth-child(2),.ui-table td:nth-child(2){z-index:2;background:var(--bg-surface);box-shadow:1px 0 0 var(--border-hairline);position:sticky;left:2.5rem}}@media (min-width:721px){.booking-day-agenda,.floor-plan-list,.access-hours-days{display:none}}.booking-day-agenda,.floor-plan-list,.access-hours-days{gap:var(--space-2)}.booking-agenda-row{justify-content:space-between;gap:var(--space-2);border:1px solid var(--border-hairline);background:var(--bg-surface);font-size:var(--text-sm);border-bottom:none;flex-wrap:wrap;padding:10px 12px;display:flex}.booking-agenda-row:first-child{border-radius:var(--radius-card) var(--radius-card) 0 0}.booking-agenda-list .booking-agenda-row:last-child{border-bottom:1px solid var(--border-hairline);border-radius:0 0 var(--radius-card) var(--radius-card)}.booking-agenda-list:only-child .booking-agenda-row,.booking-agenda-list .booking-agenda-row:only-child{border-radius:var(--radius-card);border-bottom:1px solid var(--border-hairline)}.floor-plan-list{gap:var(--space-2)}.floor-plan-list-btn{border:1px solid var(--border-hairline);border-radius:var(--radius-md);background:var(--bg-surface);width:100%;min-height:44px;color:var(--text-primary);font-size:var(--text-sm);text-align:left;cursor:pointer;justify-content:space-between;align-items:center;gap:12px;padding:10px 14px;font-weight:500;display:flex}.floor-plan-list-btn:disabled{opacity:.55;cursor:default}.floor-plan-list-btn--selected{border-color:var(--brass);background:var(--brass-tint)}.floor-plan-list-btn--booked{color:var(--text-tertiary)}.floor-plan-list-status{font-size:var(--text-xs);color:var(--text-tertiary);text-transform:capitalize}.access-hours-days{gap:var(--space-2)}.access-hours-day{border:1px solid var(--border-hairline);border-radius:var(--radius-md);background:var(--bg-surface);grid-template-columns:72px auto 1fr 1fr;align-items:center;gap:8px;padding:10px 12px;display:grid}.access-hours-day-label{font-size:var(--text-sm);font-weight:500}.roles-matrix-wrap{border:1px solid var(--border-hairline);background:var(--bg-surface);overflow-x:auto}.roles-matrix th:first-child,.roles-matrix td:first-child{z-index:1;background:var(--bg-surface);box-shadow:1px 0 0 var(--border-hairline);position:sticky;left:0}.floor-plan-scroll{-webkit-overflow-scrolling:touch;overflow-x:auto}@media (max-width:720px){.floor-plan-scroll .floor-plan{min-width:480px;min-height:280px}.access-hours-day{grid-template-columns:1fr}}@media (max-width:480px){.page-subnav{margin-left:calc(-1 * var(--space-4));margin-right:calc(-1 * var(--space-4));margin-top:calc(-1 * var(--space-4));padding-left:var(--space-4);padding-right:var(--space-4)}}.ui-table-wrap{border:1px solid var(--border-hairline);border-radius:var(--radius-card);background:var(--bg-surface);overflow:auto}.ui-table{border-collapse:collapse;width:100%;font-family:var(--font-ui);font-size:var(--text-sm)}.ui-table th{text-align:left;border-bottom:1px solid var(--border-hairline);color:var(--text-tertiary);font-weight:var(--weight-medium);font-size:var(--text-2xs);text-transform:none;letter-spacing:var(--tracking-normal);white-space:nowrap;background:var(--bg-surface);line-height:var(--line-snug);z-index:1;padding:8px 14px;position:sticky;top:0}.ui-table td{border-bottom:1px solid var(--border-subtle);color:var(--text-primary);font-size:var(--text-sm);line-height:var(--line-normal);vertical-align:middle;padding:10px 14px}.ui-table tbody tr:last-child td{border-bottom:none}.ui-table tbody tr:hover td{background:var(--row-hover)}.ui-table-empty{color:var(--text-tertiary);text-align:center;padding:48px 16px}.ui-table-empty .empty-state{padding:0}.app-toast{top:max(16px, env(safe-area-inset-top,0px));right:max(16px, env(safe-area-inset-right,0px));z-index:80;background:var(--ink);max-width:min(360px,100vw - 32px);color:var(--text-on-ink);font-size:var(--text-sm);line-height:var(--line-snug);border-radius:var(--radius-md);box-shadow:var(--shadow-md);align-items:center;gap:10px;padding:10px 12px 10px 14px;display:flex;position:fixed}.app-toast--error{background:var(--rust)}.app-toast--ok,.app-toast--neutral{background:var(--ink)}.app-toast-dismiss{width:28px;height:28px;color:inherit;opacity:.7;cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;flex-shrink:0;font-size:18px;line-height:1}.app-toast-dismiss:hover{opacity:1;background:#ffffff1f}.ui-table-search{min-width:220px;max-width:320px;font-size:var(--text-sm);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%238b949e' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cline x1='21' y1='21' x2='16.65' y2='16.65'/%3E%3C/svg%3E");background-position:10px;background-repeat:no-repeat;background-size:14px;padding-left:32px}.ui-table-panel{gap:var(--space-3);flex-direction:column;display:flex}.ui-table-toolbar{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.filter-control{flex:160px;min-width:0;max-width:320px}.ui-table-th--sortable{-webkit-user-select:none;user-select:none}.ui-table-th-btn{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:4px;padding:0;display:inline-flex}.ui-table-th-btn:hover{color:var(--ink)}.ui-table-th-label{align-items:center;gap:4px;display:inline-flex}.ui-table-sort-indicator{font-size:var(--text-2xs);color:var(--accent)}.ui-table-pager{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-1);flex-wrap:wrap;display:flex}.ui-table-pager-meta{font-size:var(--text-xs);color:var(--text-secondary)}.ui-table-pager-controls{align-items:center;gap:var(--space-2);display:flex}.ui-table-pager-page{font-size:var(--text-xs);color:var(--text-secondary);text-align:center;min-width:48px}.ui-table-page-size{min-width:110px;font-size:var(--text-xs)}.login-page{background:var(--bg-page);grid-template-columns:1fr 1fr;min-height:100vh;display:grid}.login-brand-panel{background:var(--ink);color:var(--text-on-ink);padding:var(--space-10);flex-direction:column;justify-content:space-between;display:flex;position:relative;overflow:hidden}.login-brand-panel:before{content:"";background:var(--accent);width:4px;height:100%;position:absolute;top:0;left:0}.login-brand-mark{align-items:center;gap:var(--space-3);display:flex}.login-brand-mark img{width:auto;height:72px;display:block}.login-brand-mark .app-logo{background:var(--accent);color:var(--text-on-accent)}.login-brand-mark .app-logo:after{display:none}.login-brand-word{font-family:var(--font-ui);font-size:var(--text-lg);letter-spacing:var(--tracking-tight);font-weight:600}.login-brand-hero{max-width:360px}.login-brand-hero h1{font-family:var(--font-ui);font-size:clamp(var(--text-2xl), 4vw, var(--text-3xl));letter-spacing:var(--tracking-tight);font-weight:600;line-height:var(--line-tight);margin-bottom:var(--space-4);color:var(--text-on-ink)}.login-brand-hero p{color:#f4f6f89e;font-size:var(--text-base);line-height:var(--line-relaxed)}.login-brand-foot{font-size:var(--text-2xs);color:#f4f6f866;letter-spacing:var(--tracking-wide);text-transform:uppercase}.login-form-panel{padding:var(--space-8);justify-content:center;align-items:center;display:flex}.login-card{width:100%;max-width:400px;box-shadow:none;background:0 0;border:none;padding:0}.login-title{font-family:var(--font-ui);font-weight:600;font-size:var(--text-xl);letter-spacing:var(--tracking-tight);margin-bottom:var(--space-1);line-height:var(--line-tight)}.login-subtitle{color:var(--text-secondary);font-size:var(--text-sm);line-height:var(--line-normal);margin-bottom:var(--space-6)}@media (max-width:860px){.login-page{grid-template-columns:1fr}.login-brand-panel{padding:var(--space-6);gap:var(--space-6);min-height:auto}.login-brand-hero h1{font-size:var(--text-2xl)}.login-brand-foot{display:none}}.grid-stats{gap:var(--space-4);margin-bottom:var(--space-6);grid-template-columns:repeat(auto-fit,minmax(180px,1fr));display:grid}.grid-cards{gap:var(--space-4);margin-bottom:var(--space-6);grid-template-columns:repeat(auto-fit,minmax(280px,1fr));display:grid}.grid-tables{gap:var(--space-4);margin-bottom:var(--space-6);grid-template-columns:repeat(auto-fit,minmax(320px,1fr));display:grid}.filter-bar{gap:var(--space-2);margin-bottom:var(--space-3);background:0 0;border:none;flex-wrap:wrap;align-items:center;padding:0;display:flex}.filter-bar .ui-input,.filter-bar .ui-select{width:auto;min-width:160px}@media (max-width:720px){.filter-bar{flex-direction:column;align-items:stretch}.filter-bar>*,.filter-bar .ui-field,.filter-bar .ui-input,.filter-bar .ui-select,.filter-bar .filter-control,.filter-control,.page-header-actions .ui-select,.page-header-actions .ui-input,.toolbar .ui-field,.toolbar .ui-input,.toolbar .ui-select{flex:none;width:100%;min-width:0;max-width:none}}.toolbar{gap:var(--space-3);margin-bottom:var(--space-3);flex-wrap:wrap;justify-content:space-between;align-items:center;display:flex}.toolbar-start,.toolbar-end{gap:var(--space-2);flex-wrap:wrap;align-items:center;display:flex}.form-grid{gap:var(--space-4);display:grid}.form-grid--2{gap:var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.form-grid--3{gap:var(--space-4);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}@media (max-width:720px){.form-grid--2,.form-grid--3{grid-template-columns:1fr}}.portal-cafe-layout{gap:var(--space-6);grid-template-columns:1.3fr 1fr;align-items:start;display:grid}@media (max-width:860px){.portal-cafe-layout{grid-template-columns:1fr}}.form-error{color:var(--rust);font-size:var(--text-xs);font-weight:var(--weight-medium)}.form-success{color:var(--signal);font-size:var(--text-xs);font-weight:var(--weight-medium)}.add-member{gap:var(--space-5);display:grid}.add-member-section-title{margin:0 0 var(--space-3);font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--ink);letter-spacing:var(--tracking-tight)}.add-member-who{gap:var(--space-4);grid-template-columns:120px 1fr;align-items:start;display:grid}@media (max-width:560px){.add-member-who{grid-template-columns:1fr}}.add-member-photo{justify-items:center;gap:6px;display:grid}.add-member-photo-btn{border:1px dashed var(--border-strong,#c5cad3);background:var(--bg-muted);width:112px;height:112px;color:var(--text-secondary);cursor:pointer;text-align:center;border-radius:999px;justify-content:center;align-items:center;padding:0;display:flex;overflow:hidden}.add-member-photo-btn span{font-size:var(--text-xs);font-weight:var(--weight-medium);gap:2px;padding:8px;display:grid}.add-member-photo-btn small{font-weight:var(--weight-regular);color:var(--text-tertiary)}.add-member-photo-btn.has-photo{border-style:solid}.add-member-photo-btn img{object-fit:cover;width:100%;height:100%}.add-member-photo-btn:hover{border-color:var(--accent);color:var(--ink)}.add-member-photo-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.add-member-photo-actions{gap:4px;display:flex}.add-member-doors{gap:8px;margin:0;padding:0;list-style:none;display:grid}.add-member-door{border:1px solid var(--border-hairline);border-radius:var(--radius-md);cursor:pointer;background:var(--bg-surface);align-items:center;gap:10px;padding:10px 12px;display:flex}.add-member-door.is-on{border-color:var(--accent);background:var(--accent-tint,color-mix(in srgb, var(--accent) 8%, transparent))}.add-member-door-body{gap:2px;min-width:0;display:grid}.add-member-door-name{font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--ink)}.add-member-door-meta{font-size:var(--text-xs);color:var(--text-tertiary);align-items:center;gap:6px;display:inline-flex}.add-member-dot{background:var(--text-tertiary);border-radius:999px;width:7px;height:7px}.add-member-dot.is-online{background:var(--signal)}.add-member-more{border:1px solid var(--border-hairline);border-radius:var(--radius-md);padding:10px 12px}.add-member-more>summary{cursor:pointer;font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--ink);list-style:none}.add-member-more>summary::-webkit-details-marker{display:none}.add-member-more>summary:before{content:"▸ ";color:var(--text-tertiary)}.add-member-more[open]>summary:before{content:"▾ "}.add-member-consent-head{justify-content:space-between;align-items:center;gap:8px;margin-bottom:4px;display:flex}.add-member-consents{gap:8px;margin-top:8px;display:grid}.add-member-consents label{font-size:var(--text-sm);color:var(--ink);align-items:flex-start;gap:8px;display:flex}.add-member-consents .req{font-size:var(--text-xs);color:var(--text-tertiary)}.add-member-partial{margin-top:4px}.banner{align-items:flex-start;gap:var(--space-3);border-radius:var(--radius-md);background:var(--bg-muted);font-size:var(--text-sm);margin-bottom:var(--space-4);line-height:var(--line-snug);border:1px solid #0000;padding:10px 14px;display:flex}.banner--error{border-color:color-mix(in srgb, var(--rust) 35%, transparent);background:var(--rust-tint);color:var(--rust)}.banner--ok{border-color:color-mix(in srgb, var(--signal) 35%, transparent);background:var(--signal-tint);color:var(--signal)}.banner--warn{border-color:color-mix(in srgb, var(--brass) 35%, transparent);background:var(--brass-tint);color:var(--brass)}.action-row{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.stack{gap:var(--space-6);display:grid}.stack-sm{gap:var(--space-4);display:grid}.empty-state{padding:var(--space-10) var(--space-6);text-align:center;color:var(--text-tertiary);font-size:var(--text-sm);line-height:var(--line-normal)}.panel{background:var(--bg-surface);border:1px solid var(--border-hairline);border-radius:var(--radius-card);padding:var(--space-5)}.panel-title{font-size:var(--text-base);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-tight);margin-bottom:var(--space-3);color:var(--ink);line-height:var(--line-tight)}.muted{color:var(--text-secondary);font-size:var(--text-sm);line-height:var(--line-normal)}.checkbox-row{font-size:var(--text-sm);color:var(--text-primary);align-items:center;gap:8px;display:flex}.checkbox-row input{accent-color:var(--accent)}.ui-field{gap:6px;display:grid}.ui-dialog-overlay{z-index:50;padding:max(var(--space-4), env(safe-area-inset-top,0px)) var(--space-4) max(var(--space-4), env(safe-area-inset-bottom,0px));isolation:isolate;animation:fade-in .15s var(--ease-out);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.ui-dialog-backdrop{background:var(--overlay);cursor:pointer;border:none;padding:0;position:absolute;inset:0}.ui-dialog-panel{z-index:1;background:var(--bg-surface);border-radius:var(--radius-card);border:1px solid var(--border-hairline);box-shadow:var(--shadow-lg);overscroll-behavior:contain;width:420px;max-width:90vw;max-height:85vh;animation:dialog-in .18s var(--ease-out);flex-direction:column;padding:22px 22px 18px;display:flex;position:relative;overflow:hidden}.ui-dialog-title{font-size:var(--text-lg);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-tight);color:var(--ink);line-height:var(--line-tight);flex:1;min-width:0;margin:0}.ui-dialog-header{align-items:flex-start;gap:var(--space-3);margin-bottom:var(--space-4);flex-shrink:0;display:flex}.ui-dialog-x{width:32px;height:32px;color:var(--text-secondary);cursor:pointer;border-radius:var(--radius-md);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;margin:-4px -6px 0 0;font-size:22px;line-height:1;display:inline-flex}.ui-dialog-x:hover{background:var(--bg-muted);color:var(--ink)}.ui-dialog-x:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.ui-dialog-body{margin-bottom:var(--space-4);font-size:var(--text-sm);line-height:var(--line-normal);color:var(--text-secondary);flex:1;min-height:0;overflow-y:auto}.ui-dialog-actions{border-top:1px solid var(--border-subtle);flex-wrap:wrap;flex-shrink:0;justify-content:flex-end;gap:8px;padding-top:14px;display:flex}@media (max-width:720px){.ui-dialog-overlay{align-items:flex-end;padding:0}.ui-dialog-panel{border-radius:var(--radius-card) var(--radius-card) 0 0;width:100%;max-width:100%;max-height:100dvh;padding:18px 16px max(16px, env(safe-area-inset-bottom,0px))}.ui-dialog-body{-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.ui-dialog-actions{flex-direction:column-reverse;align-items:stretch}.ui-dialog-actions .ui-btn{width:100%}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes dialog-in{0%{opacity:0;transform:translateY(6px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.status-pill{border-radius:var(--radius-pill);font-family:var(--font-ui);font-weight:var(--weight-medium);font-size:var(--text-2xs);text-transform:capitalize;white-space:nowrap;border:none;align-items:center;padding:2px 8px;line-height:1.4;display:inline-flex}.status-pill--ok{color:var(--signal);background:var(--signal-tint)}.status-pill--warn{color:var(--brass);background:var(--brass-tint)}.status-pill--danger{color:var(--rust);background:var(--rust-tint)}.status-pill--neutral{color:var(--text-secondary);background:var(--ink-tint-10)}.badge-card{border:1px solid var(--border-hairline);background:var(--bg-surface);border-radius:var(--radius-card);width:100%;display:flex;overflow:hidden}.badge-card-avatar{width:64px;height:64px;margin:var(--space-5);background:var(--ink);color:var(--text-on-ink);font-family:var(--font-display);font-weight:700;font-size:var(--text-lg);border-radius:var(--radius-md);flex-shrink:0;justify-content:center;align-items:center;display:flex}.badge-card-body{padding:var(--space-5) 0;flex-direction:column;flex:1;justify-content:center;min-width:0;display:flex}.badge-card-name{font-family:var(--font-display);font-weight:700;font-size:var(--text-lg);line-height:var(--line-tight);letter-spacing:var(--tracking-tight)}.badge-card-meta{font-size:var(--text-sm);color:var(--text-secondary);margin-top:4px}.badge-card-id{font-size:var(--text-xs);color:var(--text-tertiary);margin-top:6px}.badge-card-stub{background:var(--bg-muted);border-left:1px dashed var(--border-hairline);width:112px;padding:var(--space-4);flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;gap:8px;display:flex}.badge-card-stub-label{font-size:var(--text-2xs);text-transform:uppercase;letter-spacing:var(--tracking-wider);color:var(--text-tertiary)}.credit-gauge{border:1px solid var(--border-hairline);border-radius:var(--radius-card);background:var(--bg-surface);display:flex;overflow:hidden}.credit-gauge-spine{background:var(--brass);flex-shrink:0;width:4px}.credit-gauge--signal .credit-gauge-spine{background:var(--signal)}.credit-gauge--brass .credit-gauge-spine{background:var(--brass)}.credit-gauge--rust .credit-gauge-spine{background:var(--rust)}.credit-gauge-hint{font-size:var(--text-xs);color:var(--text-tertiary);line-height:var(--line-snug);margin-bottom:8px}.credit-gauge-body{padding:var(--space-4);flex-direction:column;flex:1;display:flex}.credit-gauge-label{font-size:var(--text-2xs);color:var(--text-tertiary);font-weight:var(--weight-medium);letter-spacing:var(--tracking-wider);text-transform:uppercase;margin-bottom:6px}.credit-gauge-value{font-size:var(--text-xl);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-tight);font-variant-numeric:tabular-nums;line-height:var(--line-tight);margin-bottom:4px}.credit-gauge-total{font-size:var(--text-sm);color:var(--text-tertiary);font-weight:var(--weight-regular)}.credit-gauge .progress-track{background:color-mix(in srgb, var(--ink) 10%, var(--bg-muted));height:8px;margin-top:auto}.credit-gauge--signal .progress-fill--signal{background:var(--accent)}.member-profile-tags{margin-top:var(--space-3);flex-wrap:wrap;gap:6px;display:flex}.member-profile-tag{font-size:var(--text-xs);border-radius:var(--radius-pill);background:var(--ink-tint-05);border:1px solid var(--border-hairline);color:var(--text-secondary);padding:2px 8px}.member-hero{gap:var(--space-5);padding:var(--space-5);border:1px solid var(--border-hairline);border-radius:var(--radius-card);background:var(--bg-surface);margin-bottom:var(--space-5);grid-template-columns:auto minmax(0,1fr);align-items:start;display:grid}.member-hero-avatar{background:var(--ink);width:96px;height:96px;color:var(--text-on-ink);font-weight:var(--weight-semibold);font-size:var(--text-xl);border-radius:var(--radius-md);flex-shrink:0;justify-content:center;align-items:center;display:flex;overflow:hidden}.member-hero-avatar img{object-fit:cover;width:100%;height:100%}.member-hero-photo{flex-direction:column;align-items:center;gap:6px;display:flex}button.member-hero-photo{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;padding:0}button.member-hero-photo:hover .member-hero-photo-label,button.member-hero-photo:focus-visible .member-hero-photo-label{text-decoration:underline}button.member-hero-photo:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:var(--radius-md)}button.member-hero-photo:disabled{cursor:default;opacity:.7}.member-hero-photo-label{font:inherit;font-size:var(--text-xs);font-weight:var(--weight-medium);color:var(--accent);cursor:pointer;background:0 0;border:0;padding:0}.member-hero-photo-label:hover:not(:disabled){text-decoration:underline}.member-hero-photo-label:disabled{color:var(--text-tertiary);cursor:default}.member-hero-title-row{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.member-hero-title-row .member-hero-name{margin:0}.member-facts{gap:var(--space-3) var(--space-6);margin:var(--space-3) 0 0;flex-wrap:wrap;display:flex}.member-facts div{flex-direction:column;gap:1px;display:flex}.member-facts dt{font-size:var(--text-2xs);letter-spacing:var(--tracking-wider);text-transform:uppercase;color:var(--text-tertiary);font-weight:var(--weight-medium)}.member-facts dd{font-size:var(--text-sm);margin:0}.member-access{gap:var(--space-4) var(--space-8);margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--border-subtle);flex-wrap:wrap;display:flex}.member-access-item{flex-direction:column;flex:none;align-items:flex-start;gap:2px;min-width:0;display:flex}.member-access-label{font-size:var(--text-2xs);font-weight:var(--weight-medium);letter-spacing:var(--tracking-wider);text-transform:uppercase;color:var(--text-tertiary)}.member-access-value{font-size:var(--text-sm);font-weight:var(--weight-medium)}.member-access-item--warn .member-access-value{color:var(--brass)}.member-access-hint{font-size:var(--text-xs);color:var(--text-secondary);margin:0}.member-location-select{width:260px;max-width:100%;margin-top:4px}.member-location-select--missing{border-color:var(--brass);background-color:var(--brass-tint-10)}.face-thumb{cursor:zoom-in;background:var(--ink);border:none;border-radius:6px;flex-shrink:0;padding:0;display:block;overflow:hidden}.face-thumb img{object-fit:cover;width:100%;height:100%;display:block}.face-thumb--empty{color:var(--ink-muted,#6b7280);background:var(--surface-2,#eef0f3);cursor:default;justify-content:center;align-items:center;font-size:12px;font-weight:600;display:flex}.face-thumb--fill,.member-hero-avatar .face-thumb{border-radius:inherit;width:100%;height:100%}.photo-viewer{z-index:60;padding:var(--space-6);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.photo-viewer-backdrop{cursor:zoom-out;background:#0c0c0ce0;border:none;padding:0;position:absolute;inset:0}.photo-viewer-close{top:max(16px, env(safe-area-inset-top,0px));z-index:2;color:#fff;border-radius:var(--radius-md);cursor:pointer;font:inherit;background:0 0;border:1px solid #ffffff59;padding:8px 14px;position:absolute;right:16px}.photo-viewer-figure{z-index:1;align-items:center;gap:var(--space-3);flex-direction:column;max-width:min(640px,100%);margin:0;display:flex;position:relative}.photo-viewer-figure img{object-fit:contain;border-radius:var(--radius-md);background:#111;width:min(560px,92vw);height:auto;max-height:calc(100vh - 140px)}.photo-viewer-figure figcaption{color:#fff;font-size:var(--text-sm);border-radius:var(--radius-pill);background:#000000b8;padding:6px 14px}.member-hero-name{font-size:var(--text-xl);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-tight);line-height:var(--line-tight);margin:0 0 var(--space-1)}.member-hero-line{font-size:var(--text-sm);color:var(--text-secondary);margin:0 0 var(--space-2)}.member-hero-contact{gap:var(--space-3);font-size:var(--text-sm);color:var(--text-primary);margin-bottom:var(--space-2);flex-wrap:wrap;display:flex}.member-hero-contact span{color:var(--text-secondary)}.member-hero-org{font-size:var(--text-sm);color:var(--ink);font-weight:var(--weight-medium);text-decoration:none}.member-hero-org:hover{text-decoration:underline}.member-actions{justify-content:space-between;align-items:center;gap:var(--space-2);margin-bottom:var(--space-5);flex-wrap:wrap;display:flex}.member-actions-main{gap:var(--space-2);flex-wrap:wrap;display:flex}.member-actions .member-action-freeze{color:var(--rust)}.member-actions .member-action-freeze:hover:not(:disabled){color:var(--rust);background:var(--rust-tint-10)}.member-section-nav{margin-bottom:var(--space-5)}.member-section-panel{gap:var(--space-5);flex-direction:column;display:flex}.member-stat-grid{gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(200px,1fr));display:grid}.member-section-panel>.member-section-head{margin-bottom:0}.member-plan-line{font-size:var(--text-sm);color:var(--text-secondary);margin:0}.member-overview{gap:var(--space-4);grid-template-columns:minmax(0,1.7fr) minmax(200px,.7fr);align-items:start;display:grid}.member-overview-side{gap:var(--space-4);flex-direction:column;display:flex}.member-overview .member-stat-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.member-metric{font-size:var(--text-xl);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-tight);font-variant-numeric:tabular-nums;line-height:var(--line-tight)}.member-dues--open{color:var(--rust)}.member-dues--clear{color:var(--signal)}.member-text-btn{font:inherit;color:var(--accent);cursor:pointer;background:0 0;border:0;padding:0}.member-text-btn:hover{text-decoration:underline}.member-section-head{justify-content:space-between;align-items:center;gap:var(--space-3);margin-bottom:var(--space-3);flex-wrap:wrap;display:flex}.member-active-plan{padding:var(--space-4);border:1px solid var(--border-hairline);border-radius:var(--radius-card);background:linear-gradient(135deg, var(--ink-tint-05) 0%, var(--bg-surface) 100%);margin-bottom:var(--space-4)}.member-active-plan-title{font-size:var(--text-sm);font-weight:var(--weight-medium);margin-bottom:4px}.member-active-plan-meta{font-size:var(--text-xs);color:var(--text-secondary)}.member-toast{z-index:100;max-width:min(360px,100vw - 32px);position:fixed;top:16px;right:16px}.member-doc-row{justify-content:space-between;align-items:center;gap:var(--space-3);border:1px solid var(--border-hairline);background:var(--bg-surface);font-size:var(--text-sm);padding:8px 12px;display:flex}.member-doc-stack{gap:var(--space-2);display:grid}.member-note-stack{margin-bottom:var(--space-3);gap:6px;display:grid}.member-note-row{font-size:var(--text-sm);border:1px solid var(--border-hairline);background:var(--bg-surface);padding:8px 12px}.member-note-meta{font-size:var(--text-xs);color:var(--text-tertiary);margin-top:4px}@media (max-width:1100px){.member-overview{grid-template-columns:1fr}.member-overview-side{grid-template-columns:1fr 1fr;display:grid}}@media (max-width:720px){.member-hero,.member-overview .member-stat-grid,.member-overview-side{grid-template-columns:1fr}.member-access-item{flex-basis:100%}.member-location-select{width:100%}.member-hero-contact{flex-direction:column;align-items:flex-start}.grid-cards,.grid-tables,.board{grid-template-columns:1fr}.list-row{flex-wrap:wrap;align-items:flex-start}.action-row{width:100%}.action-row .ui-btn{flex:calc(50% - 4px)}.page-header-actions .filter-bar{width:100%;margin-bottom:0}}.ui-seg-option:hover:not(.ui-seg-option--active){color:var(--ink)}.ui-seg-option input{opacity:0;pointer-events:none;position:absolute}.ui-table tbody tr.ui-table-row--clickable{cursor:pointer}.ui-table tbody tr.ui-table-row--clickable:hover td{background:var(--row-hover)}.ui-table tbody tr.ui-table-row--clickable:focus-visible td{background:var(--accent-tint)}@media (pointer:coarse){.ui-btn--md,.ui-btn--sm,.ui-input,.ui-select,.app-nav-link,.app-signout,.ui-seg-option{min-height:44px}}@media (max-width:720px){.ui-input,.ui-select,.ui-textarea,.ui-table-search{font-size:16px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (prefers-contrast:more){:root{--text-secondary:#3a3a3c;--border-hairline:#8e8e93}.app-nav-link{color:#ffffffeb}}.board{gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(240px,1fr));align-items:start;display:grid}.board-col{background:var(--ink-tint-05);border:1px solid var(--border-hairline);border-radius:var(--radius-card);padding:var(--space-3);min-height:120px}.board-col-title{font-size:var(--text-2xs);font-weight:var(--weight-medium);letter-spacing:var(--tracking-wider);text-transform:uppercase;color:var(--text-tertiary);padding:var(--space-2) var(--space-2) var(--space-3)}.board-card{background:var(--bg-surface);border:1px solid var(--border-hairline);border-radius:var(--radius-md);padding:var(--space-3);margin-bottom:var(--space-2)}.board-card:last-child{margin-bottom:0}.list-row{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-3) 0;border-bottom:1px solid var(--border-subtle);display:flex}.list-row:last-child{border-bottom:none}.floor-plan{border:1px solid var(--border-hairline);border-radius:var(--radius-card);background:linear-gradient(var(--ink-tint-05) 1px, transparent 1px), linear-gradient(90deg, var(--ink-tint-05) 1px, transparent 1px), var(--bg-surface);background-size:24px 24px,24px 24px,auto;width:100%;height:320px;position:relative;overflow:hidden}.floor-plan-room{font-family:var(--font-ui);font-size:var(--text-xs);font-weight:var(--weight-medium);border-radius:var(--radius-sm);transition:border-color var(--duration-fast), background var(--duration-fast), box-shadow var(--duration-fast);text-align:center;justify-content:center;align-items:center;padding:4px;line-height:1.2;display:flex;position:absolute}.floor-plan-room--available{border:1px solid var(--border-hairline);background:var(--bg-surface);color:var(--text-secondary);cursor:pointer}.floor-plan-room--available:hover{border-color:var(--brass);color:var(--ink);box-shadow:var(--shadow-sm)}.floor-plan-room--booked{border:1px dashed var(--text-tertiary);background:repeating-linear-gradient(-45deg, var(--ink-tint-10), var(--ink-tint-10) 4px, var(--bg-surface) 4px, var(--bg-surface) 8px);color:var(--text-tertiary);cursor:default}.floor-plan-room--waitlistable{cursor:pointer}.floor-plan-room--selected{border:2px solid var(--brass);background:var(--brass-tint);color:var(--ink);cursor:pointer;box-shadow:0 0 0 3px var(--brass-tint)}
