.layout{display:flex;min-height:100vh}.layout-content{flex:1;min-width:0;overflow-x:hidden;padding:32px;margin-left:var(--sidebar-width);transition:margin-left var(--dur-lg) var(--ease)}.sidebar-collapsed .layout-content{margin-left:var(--sidebar-collapsed)}.content-inner{max-width:1180px;margin:0 auto;width:100%}.sidebar{position:fixed;top:0;left:0;height:100vh;width:var(--sidebar-width);background:var(--bg-sidebar);-webkit-backdrop-filter:var(--material-blur);backdrop-filter:var(--material-blur);border-right:1px solid var(--material-border);display:flex;flex-direction:column;transition:width var(--dur-lg) var(--ease),transform var(--dur-lg) var(--ease);z-index:200}.sidebar.collapsed{width:var(--sidebar-collapsed)}.sidebar-header{display:flex;align-items:center;justify-content:space-between;padding:18px 16px;border-bottom:1px solid var(--border-light);min-height:var(--topbar-height)}.sidebar-logo{display:flex;align-items:baseline;gap:1px}.logo-text,.logo-text-accent,.logo-icon{font-family:var(--font-display);font-size:1.4rem;font-weight:700;letter-spacing:-.03em}.logo-text{color:var(--text-primary)}.logo-text-accent,.logo-icon{color:var(--accent)}.sidebar-toggle{background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:6px;border-radius:var(--radius-sm);display:flex;align-items:center;transition:background var(--dur) var(--ease),color var(--dur) var(--ease)}.sidebar-toggle:hover{background:var(--bg-sidebar-hover);color:var(--text-primary)}.sidebar-account{display:flex;align-items:center;gap:11px;padding:14px 16px;border-bottom:1px solid var(--border-light)}.sidebar-account-info{min-width:0}.sidebar-account-name{font-size:.9rem;font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:3px}.plan-badge{display:inline-block;padding:2px 9px;border-radius:var(--radius-full);font-size:.66rem;font-weight:700;color:#fff;text-transform:uppercase;letter-spacing:.5px}.plan-free{background:#6e6e73}.plan-starter{background:var(--accent)}.plan-pro{background:var(--purple)}.plan-business{background:#a85800}.plan-enterprise{background:var(--error)}.sidebar-nav{flex:1;padding:12px 10px;display:flex;flex-direction:column;gap:2px;overflow-y:auto}.sidebar-link{position:relative;display:flex;align-items:center;gap:12px;padding:10px 14px;color:var(--text-sidebar);border-radius:var(--radius);font-size:.9rem;font-weight:500;letter-spacing:-.01em;text-decoration:none;white-space:nowrap;border:none;background:none;cursor:pointer;width:100%;text-align:left;font-family:var(--font-sans);transition:background var(--dur) var(--ease),color var(--dur) var(--ease),transform var(--dur) var(--ease-spring)}.sidebar-link:hover{background:var(--bg-sidebar-hover);color:var(--text-sidebar-active);text-decoration:none}.sidebar-link:active{transform:scale(.98)}.sidebar-link.active{background:var(--bg-sidebar-active);color:var(--accent);font-weight:600}.sidebar-link.active svg{color:var(--accent)}.sidebar-link.sub{padding-left:32px;font-size:.84rem;opacity:.92}.sidebar.collapsed .sidebar-link.sub{padding-left:10px}.sidebar-footer{padding:10px 10px 14px;border-top:1px solid var(--border-light)}.sidebar .logout-btn{color:var(--error)}.sidebar .logout-btn:hover{background:var(--error-light);color:var(--error)}.sidebar .logout-btn svg{color:currentColor}.theme-toggle-btn{color:var(--text-sidebar)}.sidebar-footer-meta{margin-top:10px;padding:0 4px}.sidebar-copyright{text-align:center;font-size:.7rem;color:var(--text-muted);margin-top:12px}.sidebar.collapsed .sidebar-link{justify-content:center;padding:11px}.sidebar.collapsed .sidebar-header{justify-content:center}.mobile-topbar{display:none;align-items:center;gap:14px;height:var(--topbar-height);padding:0 16px;background:var(--material-bg);-webkit-backdrop-filter:var(--material-blur);backdrop-filter:var(--material-blur);border-bottom:1px solid var(--material-border);position:sticky;top:0;z-index:150}.mobile-menu-btn{background:none;border:none;cursor:pointer;color:var(--text-primary);display:flex;align-items:center;padding:6px;border-radius:var(--radius-sm);transition:background var(--dur) var(--ease)}.mobile-menu-btn:hover{background:var(--bg-subtle)}.mobile-topbar .logo-text{color:var(--text-primary)}.mobile-topbar .logo-text-accent{color:var(--accent)}.sidebar-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000052;backdrop-filter:saturate(120%) blur(6px);-webkit-backdrop-filter:saturate(120%) blur(6px);z-index:190;animation:fadeIn var(--dur) var(--ease)}.desktop-only{display:flex}.mobile-only{display:none}@media (max-width: 900px){.layout{flex-direction:column}.mobile-topbar{display:flex}.desktop-only{display:none}.mobile-only{display:flex}.layout-content{margin-left:0!important;padding:20px 16px;width:100%}.sidebar{width:var(--sidebar-width)!important;transform:translate(-100%);box-shadow:var(--shadow-lg)}.sidebar.mobile-open{transform:translate(0)}.sidebar.collapsed .sidebar-link{justify-content:flex-start;padding:10px 14px}.sidebar.collapsed .sidebar-header{justify-content:space-between}}@media (max-width: 480px){.layout-content{padding:16px 12px}}.impersonation-banner{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;background:linear-gradient(180deg,#ff9f0a,#ff9500);color:#fff;font-weight:600;font-size:14px;letter-spacing:-.01em;padding:11px 16px;border-radius:var(--radius);margin-bottom:20px;box-shadow:0 6px 20px -6px #ff950080}.impersonation-banner .btn{background:#00000047;color:#fff;border:none;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.impersonation-banner .btn:hover{background:#0000006b}.asst-launcher{position:fixed;right:20px;bottom:20px;z-index:180;width:52px;height:52px;border-radius:50%;display:grid;place-items:center;background:var(--accent);color:#fff;border:none;cursor:pointer;box-shadow:0 8px 24px -6px color-mix(in srgb,var(--accent) 60%,transparent),0 2px 6px #0000001f;transition:transform .18s var(--ease-out, ease),box-shadow .18s ease}.asst-launcher:hover{transform:translateY(-2px);box-shadow:0 12px 30px -6px color-mix(in srgb,var(--accent) 70%,transparent)}.asst-launcher:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.asst-panel{position:fixed;right:20px;bottom:20px;z-index:180;width:380px;max-width:calc(100vw - 32px);height:560px;max-height:calc(100vh - 40px);display:flex;flex-direction:column;background:var(--bg-elevated);color:var(--text-primary);border:1px solid var(--border);border-radius:var(--radius-lg, 16px);box-shadow:0 24px 60px -16px #00000047,0 2px 8px #0000001a;overflow:hidden}.asst-head{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border-bottom:1px solid var(--border);background:var(--bg-secondary)}.asst-head__title{display:inline-flex;align-items:center;gap:8px;font-weight:650;font-size:.95rem}.asst-close{background:none;border:none;cursor:pointer;color:var(--text-secondary);width:30px;height:30px;border-radius:8px;display:grid;place-items:center}.asst-close:hover{background:var(--bg-subtle);color:var(--text-primary)}.asst-body{flex:1;overflow-y:auto;padding:14px;display:flex;flex-direction:column;gap:10px}.asst-intro__lead{margin:0 0 12px;font-size:.9rem;color:var(--text-secondary);line-height:1.5}.asst-chips{display:flex;flex-direction:column;gap:8px;align-items:flex-start}.asst-chips--follow{margin-top:4px}.asst-chip{text-align:left;font-size:.84rem;line-height:1.4;padding:8px 12px;border-radius:999px;cursor:pointer;background:color-mix(in srgb,var(--text-primary) 6%,var(--bg-elevated));color:var(--text-primary);border:1px solid var(--border);transition:border-color .15s ease,background .15s ease}.asst-chip:hover{border-color:var(--accent);background:var(--bg-elevated)}.asst-msg{max-width:90%;padding:10px 13px;border-radius:14px;font-size:.89rem;line-height:1.55;white-space:pre-wrap;word-break:break-word}.asst-msg--user{align-self:flex-end;background:var(--accent);color:#fff;border-bottom-right-radius:5px}.asst-msg--assistant{align-self:flex-start;background:color-mix(in srgb,var(--text-primary) 6%,var(--bg-elevated));border:1px solid var(--border);border-bottom-left-radius:5px}.asst-msg--busy{display:inline-flex;align-items:center;gap:8px;color:var(--text-secondary)}.asst-spin{animation:asst-rot 1s linear infinite}@keyframes asst-rot{to{transform:rotate(360deg)}}@media (prefers-reduced-motion: reduce){.asst-spin{animation:none}.asst-launcher{transition:none}}.asst-error{font-size:.84rem;color:var(--error);background:var(--error-light);border-radius:var(--radius-sm, 8px);padding:9px 12px}.asst-input{display:flex;gap:8px;padding:10px 12px;border-top:1px solid var(--border);padding-bottom:calc(10px + env(safe-area-inset-bottom,0px))}.asst-input input{flex:1;min-width:0;padding:10px 12px;font-size:.89rem;font-family:inherit;border:1px solid var(--border);border-radius:999px;background:var(--bg-secondary);color:var(--text-primary)}.asst-input input:focus{outline:none;border-color:var(--accent)}.asst-send{flex-shrink:0;width:38px;height:38px;border-radius:50%;border:none;cursor:pointer;background:var(--accent);color:#fff;display:grid;place-items:center}.asst-send:disabled{opacity:.45;cursor:not-allowed}.asst-note{margin:0;padding:0 14px 10px;font-size:.75rem;line-height:1.45;color:var(--text-secondary)}@media (max-width: 560px){.asst-panel{right:0;left:0;bottom:0;width:100%;max-width:100%;height:80dvh;max-height:80dvh;border-radius:var(--radius-lg, 16px) var(--radius-lg, 16px) 0 0;border-left:none;border-right:none;border-bottom:none}.asst-launcher{right:16px;bottom:16px}}.asst-launcher[hidden]{display:none!important}.public-layout{display:flex;flex-direction:column;min-height:100vh;min-height:100dvh;background:var(--bg-primary)}.public-main{flex:1 0 auto;width:100%}.public-header{position:sticky;top:0;z-index:40;background:var(--material-bg);-webkit-backdrop-filter:var(--material-blur);backdrop-filter:var(--material-blur);border-bottom:1px solid var(--material-border)}.public-header__inner{max-width:1180px;margin:0 auto;padding:var(--sp-3) clamp(16px,4vw,32px);display:flex;align-items:center;justify-content:space-between;gap:var(--sp-4)}.public-header__logo{font-family:var(--font-display);font-size:1.4rem;font-weight:700;color:var(--text-primary);text-decoration:none;letter-spacing:-.02em;flex-shrink:0}.public-header__logo .accent{color:var(--accent)}.public-header__nav{display:flex;align-items:center;gap:clamp(8px,1.6vw,20px)}.public-header__links{display:flex;align-items:center;gap:clamp(10px,1.8vw,22px)}.public-header__links a{color:var(--text-secondary);text-decoration:none;font-size:.92rem;font-weight:500;transition:color var(--dur) var(--ease-out)}.public-header__links a:hover{color:var(--text-primary)}.public-header__login{color:var(--text-secondary);text-decoration:none;font-size:.92rem;font-weight:600;transition:color var(--dur) var(--ease-out)}.public-header__login:hover{color:var(--text-primary)}.public-header__cta{display:inline-flex;align-items:center;gap:6px;padding:8px 18px;background:var(--accent);color:var(--text-on-accent);border-radius:var(--radius-full);text-decoration:none;font-size:.9rem;font-weight:600;white-space:nowrap;box-shadow:var(--shadow-xs);transition:background var(--dur) var(--ease-out),box-shadow var(--dur) var(--ease-out),transform var(--dur) var(--ease-spring)}.public-header__cta:hover{background:var(--accent-hover);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.public-header__cta:active{transform:translateY(0)}.public-header__icon{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid var(--border);border-radius:var(--radius-full);background:transparent;color:var(--text-secondary);cursor:pointer;transition:color var(--dur) var(--ease-out),background var(--dur) var(--ease-out),border-color var(--dur) var(--ease-out)}.public-header__icon:hover{color:var(--text-primary);background:var(--bg-subtle);border-color:var(--border-strong)}.public-page{max-width:900px;margin:0 auto;padding:clamp(28px,5vw,56px) clamp(16px,5vw,40px)}.public-layout .landing-footer{border-top:1px solid var(--border-light);background:var(--bg-secondary);padding:var(--sp-10) clamp(16px,5vw,32px) var(--sp-8);margin-top:var(--sp-12)}.public-layout .landing-footer__inner{max-width:1180px;margin:0 auto;display:flex;flex-direction:column;align-items:center;gap:var(--sp-3);text-align:center}.public-layout .landing-footer__logo{font-family:var(--font-display);font-weight:700;font-size:1.15rem;letter-spacing:-.02em;color:var(--text-primary)}.public-layout .landing-footer__logo .accent{color:var(--accent)}.public-layout .landing-footer__copy{color:var(--text-muted);font-size:.85rem}.public-layout .landing-footer__links{list-style:none;display:flex;flex-wrap:wrap;justify-content:center;gap:var(--sp-2) var(--sp-5);padding:0;margin-top:var(--sp-2)}.public-layout .landing-footer__links a{color:var(--text-secondary);font-size:.88rem;font-weight:500;text-decoration:none;transition:color var(--dur) var(--ease-out)}.public-layout .landing-footer__links a:hover{color:var(--accent)}@media (max-width: 720px){.public-header__links,.public-header__login,.public-header__cta{display:none}.public-header__nav{gap:8px}.public-header__inner{padding:10px clamp(12px,4vw,20px)}}@font-face{font-family:Twemoji Country Flags;unicode-range:U+1F1E6-1F1FF,U+1F3F4,U+E0062-E0063,U+E0065,U+E0067,U+E006C,U+E006E,U+E0073-E0074,U+E0077,U+E007F;src:url(/fonts/TwemojiCountryFlags.woff2) format("woff2");font-display:swap}:root{--gold: #b7791f;--gold-strong: #9c6516;--gold-light: #f7efdd;--estimate-detail: #5c5c61;--lock-chip-text: #5c5c61;--bg-primary: #f5f5f7;--bg-secondary: #ffffff;--bg-subtle: #eef0f2;--bg-elevated: #ffffff;--bg-sidebar: rgba(255, 255, 255, .62);--bg-sidebar-hover: rgba(0, 0, 0, .05);--bg-sidebar-active: rgba(0, 113, 227, .12);--text-primary: #1d1d1f;--text-secondary: #6e6e73;--text-muted: #86868b;--text-sidebar: #47474d;--text-sidebar-active: #1d1d1f;--text-on-accent: #ffffff;--accent: #0071e3;--accent-hover: #0077ed;--accent-light: #e9f2fe;--accent-strong: #0058b9;--success: #17954e;--success-light: #e4f7ec;--error: #d70015;--error-light: #fdeaea;--warning: #b25000;--warning-light: #fdf0e1;--purple: #8944ab;--info: #0071e3;--info-light: #e9f2fe;--border: #d2d2d7;--border-light: #e8e8ed;--border-strong: #c7c7cc;--ring: rgba(0, 113, 227, .35);--shadow-xs: 0 1px 2px rgba(0, 0, 0, .04);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .06), 0 1px 2px rgba(0, 0, 0, .04);--shadow-md: 0 4px 16px rgba(0, 0, 0, .08), 0 1px 4px rgba(0, 0, 0, .05);--shadow-lg: 0 14px 44px rgba(0, 0, 0, .15), 0 4px 12px rgba(0, 0, 0, .08);--material-bg: rgba(255, 255, 255, .72);--material-strong: rgba(255, 255, 255, .86);--material-border: rgba(0, 0, 0, .08);--material-blur: saturate(180%) blur(20px);--radius-sm: 8px;--radius: 12px;--radius-md: 12px;--radius-lg: 18px;--radius-xl: 24px;--radius-full: 980px;--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-5: 20px;--sp-6: 24px;--sp-7: 28px;--sp-8: 32px;--sp-9: 36px;--sp-10: 40px;--sp-12: 48px;--font-sans: "Twemoji Country Flags", -apple-system, BlinkMacSystemFont, "SF Pro Text", "SF Pro Display", "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji";--font-serif: -apple-system, BlinkMacSystemFont, "SF Pro Display", "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-display: var(--font-serif);--font-mono: ui-monospace, "SF Mono", "SFMono-Regular", "Menlo", "Consolas", monospace;--ease: cubic-bezier(.4, 0, .2, 1);--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-spring: cubic-bezier(.34, 1.4, .5, 1);--dur: .2s;--dur-lg: .4s;--sidebar-width: 264px;--sidebar-collapsed: 76px;--topbar-height: 60px}:root[data-theme=dark]{--gold: #e0a334;--gold-strong: #c78a2e;--gold-light: rgba(224, 163, 52, .16);--estimate-detail: #c9c9d1;--lock-chip-text: var(--text-secondary);--bg-primary: #000000;--bg-secondary: #1c1c1e;--bg-subtle: #2c2c2e;--bg-elevated: #2c2c2e;--bg-sidebar: rgba(30, 30, 32, .72);--bg-sidebar-hover: rgba(255, 255, 255, .07);--bg-sidebar-active: rgba(10, 132, 255, .24);--text-primary: #f5f5f7;--text-secondary: #a1a1a6;--text-muted: #9a9aa1;--text-sidebar: #d1d1d6;--text-sidebar-active: #ffffff;--accent: #0a84ff;--accent-hover: #3b9cff;--accent-light: rgba(10, 132, 255, .2);--accent-strong: #6cb4ff;--success: #30d158;--success-light: rgba(48, 209, 88, .18);--error: #ff453a;--error-light: rgba(255, 69, 58, .18);--warning: #ff9f0a;--warning-light: rgba(255, 159, 10, .18);--purple: #bf5af2;--info: #0a84ff;--info-light: rgba(10, 132, 255, .2);--border: #38383a;--border-light: #2c2c2e;--border-strong: #48484a;--ring: rgba(10, 132, 255, .45);--shadow-xs: 0 1px 2px rgba(0, 0, 0, .5);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .6);--shadow-md: 0 8px 28px -6px rgba(0, 0, 0, .7);--shadow-lg: 0 24px 56px -14px rgba(0, 0, 0, .8);--material-bg: rgba(30, 30, 32, .72);--material-strong: rgba(30, 30, 32, .86);--material-border: rgba(255, 255, 255, .1)}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html,body{height:100%}body{font-family:var(--font-sans);background:var(--bg-primary);color:var(--text-primary);line-height:1.55;font-size:15px;letter-spacing:-.01em;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;font-synthesis:none;transition:background-color var(--dur) var(--ease),color var(--dur) var(--ease)}#root{height:100%}button,input,select,textarea,optgroup{font-family:inherit}h1,h2,h3,h4,h5{font-family:var(--font-display);font-weight:600;color:var(--text-primary);line-height:1.12;letter-spacing:-.022em;text-wrap:balance}h1{font-size:2rem;letter-spacing:-.026em}h2{font-size:1.5rem}h3{font-size:1.2rem;letter-spacing:-.018em}h4{font-size:1.02rem;letter-spacing:-.014em}p{color:var(--text-secondary)}a{color:var(--accent);text-decoration:none;transition:color var(--dur) var(--ease),opacity var(--dur) var(--ease)}a:hover{color:var(--accent-hover);text-decoration:underline;text-underline-offset:2px}code,kbd,pre,.mono{font-family:var(--font-mono);letter-spacing:0}::selection{background:var(--accent-light);color:var(--accent-strong)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:6px}:focus:not(:focus-visible){outline:none}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}.material{background:var(--material-bg);-webkit-backdrop-filter:var(--material-blur);backdrop-filter:var(--material-blur);border:1px solid var(--material-border)}.btn{--_bg: var(--accent);--_fg: var(--text-on-accent);display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 18px;border:1px solid transparent;border-radius:var(--radius);font-family:var(--font-sans);font-size:.92rem;font-weight:600;letter-spacing:-.01em;line-height:1.2;cursor:pointer;white-space:nowrap;-webkit-user-select:none;user-select:none;transition:background-color var(--dur) var(--ease),border-color var(--dur) var(--ease),box-shadow var(--dur) var(--ease),transform var(--dur) var(--ease-spring),color var(--dur) var(--ease),filter var(--dur) var(--ease),opacity var(--dur) var(--ease)}.btn:active:not(:disabled){transform:scale(.97)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--accent);color:var(--text-on-accent);box-shadow:var(--shadow-xs)}.btn-primary:hover:not(:disabled){background:var(--accent-hover);box-shadow:var(--shadow-sm)}.btn-secondary{background:var(--bg-secondary);color:var(--text-primary);border-color:var(--border);box-shadow:var(--shadow-xs)}.btn-secondary:hover:not(:disabled){background:var(--bg-subtle);border-color:var(--border-strong)}.btn-ghost{background:transparent;color:var(--accent);font-weight:600}.btn-ghost:hover:not(:disabled){background:var(--accent-light);color:var(--accent-hover);text-decoration:none}.btn-danger{background:var(--error);color:#fff}.btn-danger:hover:not(:disabled){filter:brightness(1.06);box-shadow:var(--shadow-sm)}.btn-success{background:var(--success);color:#fff}.btn-success:hover:not(:disabled){filter:brightness(1.06);box-shadow:var(--shadow-sm)}.btn-warning{background:var(--warning);color:#fff}.btn-warning:hover:not(:disabled){filter:brightness(1.06);box-shadow:var(--shadow-sm)}.btn-sm{padding:6px 13px;font-size:.82rem;border-radius:var(--radius-sm)}.btn-lg{padding:13px 26px;font-size:1rem;border-radius:var(--radius)}.btn-block{width:100%}.btn-pill{border-radius:var(--radius-full)}.btn-icon{padding:9px;border-radius:var(--radius);background:transparent;border:1px solid var(--border);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;color:var(--text-secondary);transition:background-color var(--dur) var(--ease),color var(--dur) var(--ease),border-color var(--dur) var(--ease),transform var(--dur) var(--ease-spring)}.btn-icon:hover:not(:disabled){background:var(--bg-subtle);color:var(--text-primary);border-color:var(--border-strong)}.btn-icon:active:not(:disabled){transform:scale(.94)}.btn-icon:disabled{opacity:.5;cursor:not-allowed}.btn .btn-spin{width:15px;height:15px;border:2px solid currentColor;border-top-color:transparent;border-radius:50%;animation:spin .7s linear infinite;opacity:.9}.card{background:var(--bg-secondary);border-radius:var(--radius-lg);border:1px solid var(--border-light);box-shadow:var(--shadow-sm);padding:24px}.card-hover{transition:box-shadow var(--dur) var(--ease),transform var(--dur) var(--ease-out),border-color var(--dur) var(--ease)}.card-hover:hover{box-shadow:var(--shadow-md);border-color:var(--border);transform:translateY(-3px)}.card-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:20px}.card-title{font-size:1.1rem;letter-spacing:-.016em}.form-group{margin-bottom:18px}.form-group label,.form-label{display:block;font-size:.85rem;font-weight:600;letter-spacing:-.006em;color:var(--text-secondary);margin-bottom:7px}.form-input{width:100%;padding:11px 14px;border:1px solid var(--border);border-radius:var(--radius);font-family:var(--font-sans);font-size:.94rem;color:var(--text-primary);background:var(--bg-secondary);transition:border-color var(--dur) var(--ease),box-shadow var(--dur) var(--ease),background-color var(--dur) var(--ease)}.form-input:hover:not(:focus):not(:disabled){border-color:var(--border-strong)}.form-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 4px var(--ring)}.form-input::placeholder{color:var(--text-muted)}.form-input:disabled{background:var(--bg-subtle);color:var(--text-muted);cursor:not-allowed}.form-input.input-error{border-color:var(--error)}.form-input.input-error:focus{box-shadow:0 0 0 4px var(--error-light)}.password-field{position:relative;display:block}.password-field .form-input{padding-right:44px}.password-field__toggle{position:absolute;top:0;right:4px;height:100%;width:36px;display:inline-flex;align-items:center;justify-content:center;padding:0;border:none;background:none;cursor:pointer;color:var(--text-muted);border-radius:var(--radius);transition:color var(--dur) var(--ease)}.password-field__toggle:hover{color:var(--text-primary)}.password-field__toggle:focus-visible{outline:2px solid var(--accent);outline-offset:-2px;color:var(--text-primary)}select.form-input{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;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='%2386868b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:38px}textarea.form-input{resize:vertical;min-height:110px;line-height:1.6}.form-hint{font-size:.8rem;color:var(--text-muted);margin-top:6px}.form-error{font-size:.8rem;color:var(--error);margin-top:6px;font-weight:500}.form-checkbox,.form-group label.form-checkbox{display:flex;align-items:center;gap:10px;margin-bottom:0;cursor:pointer;font-size:.9rem;font-weight:500;color:var(--text-secondary)}.form-checkbox input[type=checkbox]{width:18px;height:18px;accent-color:var(--accent);cursor:pointer;flex-shrink:0}.input-group{display:flex;align-items:stretch;gap:8px}.input-group .form-input{flex:1}.table-container{overflow-x:auto;border-radius:var(--radius-lg);border:1px solid var(--border-light);background:var(--bg-secondary);-webkit-overflow-scrolling:touch;background-image:linear-gradient(to left,var(--bg-secondary),rgba(0,0,0,0) 24px),linear-gradient(to left,#00000014,#0000 14px);background-position:right center,right center;background-repeat:no-repeat;background-size:40px 100%,18px 100%;background-attachment:local,scroll}table{width:100%;border-collapse:collapse}.table-container table{min-width:480px}table th{background:var(--bg-subtle);padding:12px 16px;text-align:left;font-size:.74rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.4px;border-bottom:1px solid var(--border);white-space:nowrap}table td{padding:13px 16px;border-bottom:1px solid var(--border-light);font-size:.92rem;color:var(--text-primary)}table tbody tr:last-child td,table tr:last-child td{border-bottom:none}table tbody tr{transition:background-color var(--dur) var(--ease)}table tbody tr:hover td,table tr:hover td{background:var(--bg-subtle)}.table-actions{display:flex;gap:6px;justify-content:flex-end}.badge{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;border-radius:var(--radius-full);font-size:.76rem;font-weight:600;letter-spacing:-.006em;line-height:1.5;white-space:nowrap}.badge-success{background:var(--success-light);color:var(--success)}.badge-error{background:var(--error-light);color:var(--error)}.badge-warning{background:var(--warning-light);color:var(--warning)}.badge-info{background:var(--info-light);color:var(--info)}.badge-muted{background:var(--bg-subtle);color:var(--text-muted)}.badge-dot:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.progress-bar{width:100%;height:10px;background:var(--bg-subtle);border-radius:var(--radius-full);overflow:hidden}.progress-bar-fill{height:100%;background:linear-gradient(90deg,var(--accent),var(--accent-hover));border-radius:var(--radius-full);transition:width .6s var(--ease-out)}.progress-bar-fill.is-warning{background:linear-gradient(90deg,var(--warning),var(--gold-strong))}.progress-bar-fill.is-error{background:linear-gradient(90deg,var(--error),color-mix(in srgb,var(--error) 70%,#000))}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000052;-webkit-backdrop-filter:saturate(120%) blur(10px);backdrop-filter:saturate(120%) blur(10px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px;animation:fadeIn var(--dur) var(--ease)}.modal{background:var(--bg-elevated);border:1px solid var(--border-light);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);width:100%;max-width:520px;max-height:90vh;overflow-y:auto;padding:28px;animation:modalPop var(--dur-lg) var(--ease-spring)}.modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:8px}.modal h2,.modal-title{margin-bottom:14px}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:26px;flex-wrap:wrap}.skeleton{background:linear-gradient(90deg,var(--bg-subtle) 25%,var(--border-light) 50%,var(--bg-subtle) 75%);background-size:200% 100%;animation:shimmer 1.4s ease infinite;border-radius:var(--radius)}.spinner{width:38px;height:38px;border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite;margin:0 auto}.spinner-sm{width:20px;height:20px;border-width:2px}.empty-state{text-align:center;padding:48px 24px;color:var(--text-muted);min-height:240px;display:flex;flex-direction:column;align-items:center;justify-content:center}.card>.empty-state{padding:24px;min-height:200px}.empty-state>.empty-icon,.empty-state>svg{width:52px;height:52px;margin:0 auto 14px;opacity:.45;color:var(--text-muted)}.empty-state h3{color:var(--text-secondary);margin-bottom:8px}.empty-state p{max-width:42ch;margin:0 auto 18px;font-size:.92rem;text-wrap:balance}.page-header{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:20px;flex-wrap:wrap}.page-header h1,.page-title{font-size:1.65rem;letter-spacing:-.024em}.page-subtitle{color:var(--text-muted);font-size:.92rem;margin-top:2px}.page-header-actions{display:flex;gap:10px;flex-wrap:wrap}.stat-card{background:var(--bg-secondary);border:1px solid var(--border-light);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:20px 22px;display:flex;flex-direction:column;gap:10px;transition:box-shadow var(--dur) var(--ease),transform var(--dur) var(--ease-out)}.stat-card:hover{box-shadow:var(--shadow-md);transform:translateY(-3px)}.stat-card .stat-icon{width:42px;height:42px;border-radius:var(--radius);display:flex;align-items:center;justify-content:center;background:var(--accent-light);color:var(--accent)}.stat-card .stat-value{font-family:var(--font-display);font-size:1.85rem;font-weight:600;color:var(--text-primary);line-height:1.1;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.stat-card .stat-label{font-size:.85rem;color:var(--text-muted);font-weight:500}.segmented{display:inline-flex;background:var(--bg-subtle);border-radius:10px;padding:2px;gap:2px}.segmented button{border:none;background:transparent;cursor:pointer;padding:7px 15px;border-radius:8px;font-family:var(--font-sans);font-size:.86rem;font-weight:600;letter-spacing:-.01em;color:var(--text-secondary);transition:color var(--dur) var(--ease),background-color var(--dur) var(--ease),box-shadow var(--dur) var(--ease),transform var(--dur) var(--ease-spring)}.segmented button.active{background:var(--bg-secondary);color:var(--text-primary);box-shadow:var(--shadow-xs),0 0 0 .5px var(--material-border)}.segmented button:active:not(.active){transform:scale(.96)}.segmented button:hover:not(.active){color:var(--text-primary)}.tabs{display:flex;gap:4px;border-bottom:1px solid var(--border);margin-bottom:22px;overflow-x:auto}.tabs button{border:none;background:none;cursor:pointer;padding:11px 16px;font-family:var(--font-sans);font-size:.92rem;font-weight:600;letter-spacing:-.012em;color:var(--text-muted);border-bottom:2px solid transparent;margin-bottom:-1px;white-space:nowrap;transition:color var(--dur) var(--ease),border-color var(--dur) var(--ease)}.tabs button:hover{color:var(--text-secondary)}.tabs button.active{color:var(--accent);border-bottom-color:var(--accent)}.divider{height:1px;background:var(--border-light);border:none;margin:20px 0}.avatar{width:38px;height:38px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:var(--accent-light);color:var(--accent);font-weight:700;font-size:.9rem;text-transform:uppercase;flex-shrink:0}.grid{display:grid;gap:20px}.grid-2{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}@media (max-width: 1024px){.grid-3{grid-template-columns:repeat(2,1fr)}.grid-4{grid-template-columns:repeat(3,1fr)}}@media (max-width: 900px){.grid-4{grid-template-columns:repeat(2,1fr)}}@media (max-width: 640px){.grid-2,.grid-3{grid-template-columns:1fr}}@media (max-width: 360px){.grid-4{grid-template-columns:1fr}}.text-muted{color:var(--text-muted)}.text-secondary{color:var(--text-secondary)}.text-sm{font-size:.85rem}.text-center{text-align:center}.mono{font-family:var(--font-mono);font-size:.86em;letter-spacing:0}.flex{display:flex}.flex-col{display:flex;flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-1{gap:4px}.gap-2{gap:8px}.gap-3{gap:12px}.gap-4{gap:16px}.mt-2{margin-top:8px}.mt-3{margin-top:12px}.mt-4{margin-top:16px}.mb-2{margin-bottom:8px}.mb-3{margin-bottom:12px}.mb-4{margin-bottom:16px}.w-full{width:100%}::-webkit-scrollbar{width:9px;height:9px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--text-muted) 45%,transparent);border-radius:6px;border:2px solid transparent;background-clip:padding-box}::-webkit-scrollbar-thumb:hover{background:color-mix(in srgb,var(--text-muted) 70%,transparent);background-clip:padding-box}*{scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--text-muted) 45%,transparent) transparent}@keyframes fadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes modalPop{0%{opacity:0;transform:translateY(14px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes slideInRight{0%{opacity:0;transform:translate(16px)}to{opacity:1;transform:translate(0)}}.fade-in{animation:fadeIn var(--dur-lg) var(--ease-out)}.slide-in{animation:slideInRight var(--dur-lg) var(--ease-out)}.onboarding-steps{display:flex;flex-direction:column;gap:12px}.onboard-step{display:flex;align-items:center;gap:14px;padding:16px;border:1px solid var(--border-light);border-radius:var(--radius);background:var(--bg-primary);transition:border-color var(--dur) var(--ease),transform var(--dur) var(--ease-out),box-shadow var(--dur) var(--ease)}.onboard-step:hover{border-color:var(--border);box-shadow:var(--shadow-xs)}.onboard-step.done{opacity:.7}.onboard-step__icon{width:38px;height:38px;border-radius:var(--radius);flex-shrink:0;display:flex;align-items:center;justify-content:center;background:var(--accent-light);color:var(--accent);font-size:1.1rem}.onboard-step.done .onboard-step__icon{background:var(--success-light);color:var(--success)}.recent-row{display:flex;align-items:center;gap:14px;padding:13px 6px;border:none;border-bottom:1px solid var(--border-light);background:none;cursor:pointer;width:100%;text-align:left;border-radius:var(--radius-sm);transition:background var(--dur) var(--ease)}.recent-row:last-child{border-bottom:none}.recent-row:hover{background:var(--bg-subtle)}.recent-subject{font-weight:600;color:var(--text-primary);font-size:.92rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.quick-action{display:flex;align-items:center;gap:12px;padding:12px 14px;border:1px solid var(--border-light);border-radius:var(--radius);background:var(--bg-primary);cursor:pointer;font-family:var(--font-sans);font-size:.9rem;font-weight:600;letter-spacing:-.01em;color:var(--text-primary);transition:border-color var(--dur) var(--ease),background var(--dur) var(--ease),transform var(--dur) var(--ease-out)}.quick-action:hover{border-color:var(--accent);background:var(--accent-light);transform:translate(2px)}.quick-action__icon{width:34px;height:34px;border-radius:var(--radius-sm);flex-shrink:0;display:flex;align-items:center;justify-content:center;background:var(--bg-secondary);color:var(--accent);border:1px solid var(--border-light)}@media (max-width: 900px){.grid[style*="1.6fr"]{grid-template-columns:1fr!important}}.skip-link{position:absolute;left:12px;top:-60px;z-index:2000;background:var(--accent);color:#fff;padding:10px 16px;border-radius:var(--radius);font-weight:600;transition:top var(--dur) var(--ease);text-decoration:none}.skip-link:focus{top:12px;text-decoration:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media (pointer: coarse){.btn-icon,.btn-sm{min-height:44px;min-width:44px}.form-checkbox input[type=checkbox]{width:22px;height:22px}}@media (max-width: 900px){table th:first-child,table td:first-child{position:sticky;left:0;background:var(--bg-secondary);z-index:1}table thead th:first-child,table tbody tr:hover td:first-child{background:var(--bg-subtle)}}h1,h2,h3,h4,h5,h6,p,li,a,span,button,label,td,th,dt,dd,figcaption,.badge{overflow-wrap:break-word}@media (max-width: 640px){.page-header,.page-header>div,.tabs{row-gap:10px}.page-header{flex-direction:column;align-items:stretch}.page-header-actions{width:100%}.page-header-actions .btn{flex:1 1 auto}.toolbar-actions{margin-left:0!important;width:100%;flex-wrap:wrap}.toolbar-actions>*{flex:1 1 auto}}.gated-action{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap}.is-locked{opacity:.45;filter:grayscale(1);pointer-events:none;cursor:not-allowed}.lock-chip{display:inline-flex;align-items:center;gap:4px;font-size:.78rem;font-weight:600;line-height:1;padding:5px 10px;border-radius:999px;background:var(--bg-subtle);color:var(--lock-chip-text, #5c5c61);border:1px solid var(--border-light);text-decoration:none;white-space:nowrap;transition:background .18s ease,color .18s ease,border-color .18s ease}.lock-chip:hover{background:var(--accent);color:#fff;border-color:var(--accent)}.locked-notice{display:flex;flex-direction:column;align-items:center;text-align:center;gap:12px;padding:40px 24px;border:1px dashed var(--border-light);border-radius:var(--radius);background:var(--bg-subtle)}.locked-notice__icon{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;background:var(--bg-elevated);color:var(--text-muted);border:1px solid var(--border-light)}.locked-notice__title{margin:0;font-size:1.05rem;font-weight:650}.locked-notice__desc{margin:0;color:var(--text-secondary);max-width:46ch}
