:root{--color-black: #111111;--color-dark: #333333;--color-gray: #666666;--color-mid: #999999;--color-light: #e5e5e5;--color-lighter: #f5f5f5;--color-white: #ffffff;--color-live: #22c55e;--color-warning: #f59e0b;--color-error: #ef4444;--color-info: #3b82f6;--font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-size-xs: .75rem;--font-size-sm: .8125rem;--font-size-base: .875rem;--font-size-md: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.5rem;--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 16px;--spacing-lg: 24px;--spacing-xl: 32px;--sidebar-width: 220px;--section-height: 340px;--border-radius: 8px;--border-color: var(--color-light)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;font-family:var(--font-family);font-size:var(--font-size-base);color:var(--color-black);background:var(--color-white);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#app{height:100%}h1,h2,h3,h4{font-weight:600}a{color:var(--color-black);text-decoration:none}button{cursor:pointer;font-family:inherit}input,select{font-family:inherit;font-size:inherit}.hidden{display:none!important}.platform-layout{display:flex;height:100vh;overflow:hidden}.platform-sidebar{width:var(--sidebar-width);min-width:var(--sidebar-width);background:var(--color-black);color:var(--color-white);display:flex;flex-direction:column}.platform-main{flex:1;overflow-y:auto;padding:var(--spacing-lg);background:var(--color-lighter)}.sidebar-inner{display:flex;flex-direction:column;height:100%;padding:var(--spacing-lg) var(--spacing-md)}.sidebar-vn-logo{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-xs);margin-bottom:var(--spacing-lg)}.sidebar-vn-logo svg{flex-shrink:0;display:block;height:22px;width:auto}.sidebar-nav{display:flex;flex-direction:column;gap:2px}.sidebar-nav-item{display:flex;align-items:center;gap:var(--spacing-sm);padding:10px var(--spacing-md);border-radius:6px;color:var(--color-mid);font-size:var(--font-size-sm);font-weight:500;transition:all .15s;text-decoration:none}.sidebar-nav-item:hover{background:#ffffff14;color:var(--color-white)}.sidebar-nav-item.active{background:#ffffff1f;color:var(--color-white)}.sidebar-nav-icon{display:flex;align-items:center;opacity:.7}.sidebar-nav-item.active .sidebar-nav-icon,.sidebar-nav-item:hover .sidebar-nav-icon{opacity:1}.sidebar-footer{margin-top:auto;padding-top:var(--spacing-lg)}.sidebar-usage{padding:0 var(--spacing-xs);margin-bottom:var(--spacing-md)}.sidebar-usage-header{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:6px}.sidebar-usage-label{font-size:10px;font-weight:600;letter-spacing:.5px;color:var(--color-mid)}.sidebar-usage-count{font-size:var(--font-size-xs);color:var(--color-mid);font-weight:500}.sidebar-usage-track{width:100%;height:4px;background:#ffffff1f;border-radius:2px;overflow:hidden}.sidebar-usage-fill{height:100%;background:var(--color-mid);border-radius:2px;transition:width .3s}.sidebar-usage-fill.warning{background:var(--color-warning)}.sidebar-usage-fill.over{background:var(--color-error)}.sidebar-profile{position:relative}.sidebar-profile-trigger{display:flex;align-items:center;gap:var(--spacing-sm);width:100%;padding:10px var(--spacing-sm);background:#ffffff0f;border:none;border-radius:var(--border-radius);color:var(--color-white);cursor:pointer;transition:background .15s;text-align:left;font-family:var(--font-family)}.sidebar-profile-trigger:hover{background:#ffffff1f}.sidebar-avatar{width:36px;height:36px;border-radius:50%;overflow:hidden;flex-shrink:0;background:var(--color-dark);display:flex;align-items:center;justify-content:center}.sidebar-avatar-img{width:100%;height:100%;object-fit:cover}.sidebar-avatar-initials{font-size:var(--font-size-sm);font-weight:600;color:var(--color-mid)}.sidebar-profile-info{display:flex;flex-direction:column;overflow:hidden;min-width:0}.sidebar-profile-email{font-size:var(--font-size-xs);font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-profile-manage{font-size:10px;color:var(--color-mid)}.sidebar-chevron{font-size:11px;vertical-align:middle}.sidebar-dropdown{position:absolute;bottom:calc(100% + 4px);left:0;right:0;background:var(--color-dark);border:1px solid rgba(255,255,255,.12);border-radius:var(--border-radius);padding:var(--spacing-xs) 0;z-index:100;box-shadow:0 -4px 16px #0000004d}.sidebar-dropdown-item{display:flex;align-items:center;gap:var(--spacing-sm);width:100%;padding:var(--spacing-sm) var(--spacing-md);background:none;border:none;color:var(--color-white);font-size:var(--font-size-sm);font-family:var(--font-family);cursor:pointer;transition:background .15s}.sidebar-dropdown-item:hover{background:#ffffff14}.sidebar-dropdown-signout{color:var(--color-error)}.signup-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--color-lighter)}.signup-container{width:100%;max-width:440px;padding:var(--spacing-xl)}.signup-header{text-align:center;margin-bottom:var(--spacing-xl)}.signup-brand{font-size:var(--font-size-xl);font-weight:700;letter-spacing:-.5px}.signup-subtitle{color:var(--color-gray);margin-top:var(--spacing-xs)}.btn-primary{display:inline-flex;align-items:center;justify-content:center;padding:10px 20px;background:var(--color-black);color:var(--color-white);border:none;border-radius:6px;font-size:var(--font-size-sm);font-weight:600;transition:opacity .15s}.btn-primary:hover{opacity:.85}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{display:inline-flex;align-items:center;justify-content:center;padding:8px 16px;background:var(--color-white);color:var(--color-black);border:1px solid var(--color-light);border-radius:6px;font-size:var(--font-size-sm);font-weight:500;transition:all .15s;cursor:pointer}.btn-secondary:hover{background:var(--color-lighter);border-color:var(--color-mid)}.form-hint{font-size:var(--font-size-xs);color:var(--color-mid);margin-top:4px}.save-status{display:inline-block;margin-left:var(--spacing-sm);font-size:var(--font-size-xs);color:var(--color-gray)}.settings-error{padding:var(--spacing-md);background:#fef2f2;border:1px solid #fca5a5;border-radius:6px;color:#991b1b;font-size:var(--font-size-sm)}.btn-lg{padding:12px 24px;font-size:var(--font-size-base);width:100%}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-md);margin-bottom:var(--spacing-lg)}.form-group{display:flex;flex-direction:column;gap:var(--spacing-xs);margin-bottom:var(--spacing-md)}.form-label{font-size:var(--font-size-sm);font-weight:500;color:var(--color-dark)}.form-optional{color:var(--color-mid);font-weight:400}.form-input,.form-select{padding:10px 12px;border:1px solid var(--color-light);border-radius:6px;font-size:var(--font-size-base);background:var(--color-white);transition:border-color .15s}.form-input:focus,.form-select:focus{outline:none;border-color:var(--color-black)}.form-input:disabled{background:var(--color-lighter);color:var(--color-mid)}.form-input-lg{padding:14px 16px;font-size:var(--font-size-md)}.form-checkbox{flex-direction:row;align-items:center;gap:var(--spacing-sm)}.form-checkbox input[type=checkbox]{width:16px;height:16px}.toggle-switch{display:flex;align-items:center;gap:var(--spacing-sm);cursor:pointer}.toggle-switch input{display:none}.toggle-slider{width:40px;height:22px;background:var(--color-light);border-radius:11px;position:relative;transition:background .2s}.toggle-slider:after{content:"";width:18px;height:18px;background:var(--color-white);border-radius:50%;position:absolute;top:2px;left:2px;transition:transform .2s}.toggle-switch input:checked+.toggle-slider{background:var(--color-black)}.toggle-switch input:checked+.toggle-slider:after{transform:translate(18px)}.toggle-label{font-size:var(--font-size-sm);color:var(--color-dark)}.code-block{position:relative;background:var(--color-lighter);border:1px solid var(--color-light);border-radius:var(--border-radius);padding:var(--spacing-md);overflow-x:auto}.code-block pre{margin:0;font-family:SF Mono,Fira Code,monospace;font-size:var(--font-size-xs);line-height:1.6;white-space:pre-wrap;word-break:break-all}.btn-copy{position:absolute;top:var(--spacing-sm);right:var(--spacing-sm);padding:4px 10px;background:var(--color-black);color:var(--color-white);border:none;border-radius:4px;font-size:var(--font-size-xs);font-weight:500}.info-card{padding:var(--spacing-lg);border:2px dashed var(--color-light);border-radius:6px;background:var(--color-lighter)}.info-card-header{display:flex;align-items:center;gap:var(--spacing-sm);margin-bottom:12px}.info-card-title{font-size:var(--font-size-sm);font-weight:600;color:var(--color-black)}.info-icon{width:16px;height:16px;border-radius:50%;background:var(--color-light);display:inline-flex;align-items:center;justify-content:center;font-size:var(--font-size-xs);color:var(--color-gray);flex-shrink:0}.info-card p{font-size:var(--font-size-sm);color:var(--color-gray);line-height:1.6;margin-bottom:12px}.info-card p strong{color:var(--color-black);font-weight:600}.info-card p:last-of-type{margin-bottom:var(--spacing-md)}.form-input-clickable{cursor:pointer;background:var(--color-white)}.form-input-clickable:hover{border-color:var(--color-gray)}.form-input-clickable:focus{outline:none;border-color:var(--color-black)}.page-title{font-size:var(--font-size-xl);font-weight:700;margin-bottom:var(--spacing-lg)}.founding-badge-lg{display:inline-block;padding:6px 12px;background:var(--color-lighter);border:1px solid var(--color-light);border-radius:4px;font-size:var(--font-size-sm);font-weight:600;margin-bottom:var(--spacing-md)}.signup-title{font-size:var(--font-size-lg);margin-bottom:var(--spacing-sm)}.signup-desc{color:var(--color-gray);font-size:var(--font-size-sm);margin-bottom:var(--spacing-lg)}.signup-error{color:var(--color-error);font-size:var(--font-size-sm);margin-top:var(--spacing-sm)}.signup-form{background:var(--color-white);border-radius:var(--border-radius);padding:var(--spacing-xl)}.signup-signin-link{margin-top:var(--spacing-md);text-align:center;font-size:var(--font-size-sm);color:var(--color-gray)}.signup-signin-link a{color:var(--color-black);font-weight:600;text-decoration:underline;margin-left:4px;cursor:pointer}.dashboard{--vn-bg: #f5f5f4;--vn-card: #ffffff;--vn-ink: #0e0e0f;--vn-muted: #6b6b6d;--vn-faint: #a3a3a6;--vn-line: #e8e7e4;--vn-line-strong: #d6d5d1;--vn-accent: #0f8a4a;--vn-accent-soft: #e6f5ec;--vn-accent-border: #c9ead8;--vn-chip-bg: #f3f2ef;--vn-track: #f1efeb;--vn-warn-bg: #fff5e6;--vn-warn-fg: #b07f19;--vn-err-bg: #fdecec;--vn-err-fg: #c0392b;--vn-font-mono: "Geist Mono", ui-monospace, "SF Mono", Menlo, monospace;display:flex;flex-direction:column;background:var(--vn-bg);color:var(--vn-ink);margin:calc(var(--spacing-lg) * -1);min-height:calc(100vh + -0px)}.dashboard .status-strip{display:flex;align-items:center;justify-content:space-between;padding:14px 28px;background:var(--vn-card);border:none;border-bottom:1px solid var(--vn-line);border-radius:0;font-size:12px;color:var(--vn-muted)}.dashboard .status-left,.dashboard .status-center,.dashboard .status-right{display:flex;align-items:center;gap:14px}.dashboard .status-pill{display:inline-flex;align-items:center;gap:6px;padding:2px 8px;background:var(--vn-accent-soft);color:#0f6a3a;border:1px solid var(--vn-accent-border);border-radius:4px;font-size:11px;line-height:1.4;white-space:nowrap;letter-spacing:.02px}.dashboard .status-pill.offline{background:var(--vn-err-bg);color:var(--vn-err-fg);border-color:#f3c7c1}.dashboard .status-pill .status-dot{width:6px;height:6px;border-radius:999px;background:var(--vn-accent);display:inline-block}.dashboard .status-pill.offline .status-dot{background:var(--vn-err-fg);box-shadow:none}.dashboard .status-last-session{font-size:12px;color:var(--vn-muted)}.dashboard .session-progress{width:80px;height:4px;background:var(--vn-track);border-radius:2px;overflow:hidden}.dashboard .session-progress-bar{height:100%;background:var(--vn-ink);border-radius:2px;transition:width .3s ease}.dashboard .session-progress-bar.warning{background:#d49110}.dashboard .session-progress-bar.over{background:var(--vn-err-fg)}.dashboard .session-count{font-family:var(--vn-font-mono);font-size:11px;color:var(--vn-muted);white-space:nowrap;font-variant-numeric:tabular-nums}.dashboard .status-context{font-size:12px;color:var(--vn-muted)}.dashboard .status-context-warning{color:var(--vn-warn-fg);background:var(--vn-warn-bg);padding:2px 8px;border-radius:4px;font-weight:500}.dashboard .status-context-error{color:var(--vn-err-fg);background:var(--vn-err-bg);padding:2px 8px;border-radius:4px;font-weight:500}.dashboard .status-active-on{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--vn-muted)}.dashboard .status-active-on .store-name{color:var(--vn-ink);font-family:var(--vn-font-mono)}.dashboard .status-active-on svg{color:var(--vn-faint)}.dashboard .warning-banner{overflow:hidden}.dashboard .warning-content{display:flex;align-items:center;justify-content:space-between;padding:10px 28px;font-size:13px}.dashboard .warning-content.warning{background:var(--vn-warn-bg);border-bottom:1px solid #f1dcb5;color:var(--vn-warn-fg)}.dashboard .warning-content.error{background:var(--vn-err-bg);border-bottom:1px solid #f3c7c1;color:var(--vn-err-fg)}.dashboard .warning-link{font-weight:600;text-decoration:underline;color:inherit}.dashboard-head{display:flex;align-items:center;justify-content:space-between;padding:22px 28px 0}.dashboard-head h1{margin:0;font-size:22px;font-weight:600;letter-spacing:-.3px;color:var(--vn-ink)}.dashboard-period{font-size:12px;color:var(--vn-muted)}.dashboard-tabs{display:flex;gap:20px;padding:0 28px;margin:18px 0 0;border-bottom:1px solid var(--vn-line)}.dashboard-tab{background:transparent;border:none;border-bottom:2px solid transparent;padding:10px 2px;font-family:inherit;font-size:13px;font-weight:500;color:var(--vn-muted);cursor:pointer;margin-bottom:-1px;display:inline-flex;align-items:center;gap:6px;transition:color .15s}.dashboard-tab:hover{color:var(--vn-ink)}.dashboard-tab.active{color:var(--vn-ink);border-bottom-color:var(--vn-ink)}.tab-count{background:#ececea;color:var(--vn-muted);font-size:10px;padding:1px 5px;border-radius:10px;min-width:16px;text-align:center;font-weight:600;line-height:1.4}.dashboard-tab.active .tab-count{background:var(--vn-ink);color:#fff}.dashboard-panel{padding:18px 28px 28px;flex:1}.dashboard .vn-card{background:var(--vn-card);border:1px solid var(--vn-line);border-radius:12px;padding:20px}.dashboard .vn-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}.dashboard .vn-card-title{font-size:15px;font-weight:600;color:var(--vn-ink);line-height:1.3}.dashboard .vn-card-subtitle{font-size:12px;color:var(--vn-muted);margin-top:2px}.dashboard .section-empty{font-size:13px;color:var(--vn-muted);text-align:center;padding:24px 16px}.activity-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;padding:6px 4px}.activity-filter-group{display:inline-flex;align-items:center;gap:2px;background:#eeece8;border:1px solid var(--vn-line);border-radius:8px;padding:3px}.activity-filter-pill{background:transparent;border:none;padding:4px 10px;font-family:inherit;font-size:12px;font-weight:500;color:var(--vn-muted);border-radius:6px;cursor:pointer;transition:background .15s,color .15s}.activity-filter-pill:hover{color:var(--vn-ink)}.activity-filter-pill.active{background:var(--vn-card);color:var(--vn-ink);box-shadow:0 1px 2px #0000000f}.activity-live-hint{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--vn-muted)}.activity-live-hint:before{content:"";width:6px;height:6px;background:var(--vn-accent);border-radius:999px;display:inline-block}.feed-list{background:var(--vn-card);border:1px solid var(--vn-line);border-radius:12px;overflow:hidden}.feed-entry{display:grid;grid-template-columns:40px 1fr auto;align-items:center;gap:14px;padding:14px 18px;cursor:pointer;transition:background .15s;border-top:1px solid var(--vn-line)}.feed-entry:first-child{border-top:none}.feed-entry:hover{background:#faf9f6}.feed-entry-newest{animation:feed-pulse 2.4s ease-in-out}@keyframes feed-pulse{0%{background:#0f8a4a1a}to{background:transparent}}.feed-icon-chip{width:28px;height:28px;border-radius:6px;background:var(--vn-chip-bg);border:1px solid var(--vn-line);color:#4a4a4b;display:inline-flex;align-items:center;justify-content:center;overflow:hidden;flex-shrink:0}.feed-icon-chip img{width:100%;height:100%;object-fit:cover}.feed-icon-chip svg{color:#4a4a4b}.feed-entry-body{min-width:0;display:flex;flex-direction:column;gap:4px}.feed-entry-header{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.feed-product-name{font-size:13px;font-weight:600;color:var(--vn-ink)}.feed-sku{font-family:var(--vn-font-mono);font-size:10.5px;color:var(--vn-muted);background:#ececea;padding:1px 6px;border-radius:3px;letter-spacing:.02em}.feed-price{font-family:var(--vn-font-mono);font-size:12px;color:var(--vn-ink);font-variant-numeric:tabular-nums}.feed-sale-tag{font-size:10px;padding:1px 6px;background:#fff4d6;color:#8a6a12;border-radius:3px;font-weight:500}.feed-entry-meta{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--vn-muted)}.feed-tag{display:inline-flex;align-items:center;gap:5px;padding:1px 6px;border-radius:3px;background:#f3f2ef;color:var(--vn-muted);font-size:11px}.feed-tag svg{opacity:.8}.feed-meta-separator{color:var(--vn-faint)}.feed-time{font-size:12px;color:var(--vn-muted);text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.feed-entry-expanded{display:none;grid-column:2 / span 2;margin-top:8px;padding-top:10px;border-top:1px dashed var(--vn-line)}.feed-entry.expanded{background:#faf9f6}.feed-entry.expanded .feed-entry-expanded{display:block}.feed-replaced{font-size:12px;color:var(--vn-muted);margin-bottom:6px}.feed-replaced strong{color:var(--vn-ink);font-weight:600}.feed-expanded-tags{display:flex;flex-wrap:wrap;gap:6px}.feed-expanded-tag{display:inline-flex;gap:4px;padding:2px 8px;background:var(--vn-card);border:1px solid var(--vn-line);border-radius:3px;font-size:10.5px;color:var(--vn-ink)}.feed-expanded-tag>span{color:var(--vn-muted);font-weight:500}.feed-load-more{display:block;margin:18px auto 0;padding:8px 16px;background:transparent;border:none;font-family:inherit;font-size:13px;font-weight:500;color:var(--vn-ink);cursor:pointer}.feed-load-more:hover{text-decoration:underline}.usage-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:18px}.usage-stat{background:var(--vn-card);border:1px solid var(--vn-line);border-radius:12px;padding:14px 16px;display:flex;flex-direction:column;gap:4px}.usage-stat-label{font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:var(--vn-muted);font-weight:600}.usage-stat-value{display:inline-flex;align-items:center;gap:8px;font-size:20px;font-weight:600;color:var(--vn-ink);letter-spacing:-.2px;line-height:1.2;margin-top:2px}.usage-stat-value svg{color:var(--vn-muted);flex-shrink:0}.usage-stat-hint{font-size:12px;color:var(--vn-muted);margin-top:2px}.usage-chart-container{display:flex;flex-direction:column;background:var(--vn-card);border:1px solid var(--vn-line);border-radius:12px;padding:18px 20px;margin-bottom:16px}.usage-chart-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:10px}.usage-chart-eyebrow{font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:var(--vn-muted);font-weight:600;margin-bottom:2px}.usage-summary{font-size:14px;font-weight:600;color:var(--vn-ink)}.usage-range-toggle{display:inline-flex;gap:2px;background:#eeece8;border:1px solid var(--vn-line);border-radius:8px;padding:3px}.range-btn{padding:4px 10px;border:none;background:transparent;font-family:inherit;font-size:12px;font-weight:500;color:var(--vn-muted);border-radius:6px;cursor:pointer}.range-btn:hover{color:var(--vn-ink)}.range-btn.active{background:var(--vn-card);color:var(--vn-ink);box-shadow:0 1px 2px #0000000f}.usage-chart{width:100%}.usage-chart svg{width:100%;height:auto}.usage-chart .usage-grid{stroke:#eeece8;stroke-width:1;stroke-dasharray:2 4}.usage-chart .usage-axis{stroke:var(--vn-line);stroke-width:1}.usage-chart .usage-tick{stroke:var(--vn-faint);stroke-width:1}.usage-chart .usage-axis-label{font-size:11px;fill:var(--vn-muted);font-family:inherit}.usage-chart .usage-axis-title{font-size:10px;fill:var(--vn-muted);font-family:inherit;letter-spacing:.05em;text-transform:uppercase}.usage-chart-hint{font-size:11px;color:var(--vn-faint);margin-top:8px}.usage-hour-card{background:var(--vn-card);border:1px solid var(--vn-line);border-radius:12px;padding:18px 20px}.usage-hour-card .usage-chart-header{margin-bottom:14px}.usage-hour-tip{font-size:12px;color:var(--vn-muted);text-align:right;max-width:280px;line-height:1.45}.usage-hour-tip strong{color:var(--vn-ink);font-weight:600}.usage-hour-bars{display:grid;grid-template-columns:repeat(24,1fr);align-items:end;height:64px;gap:3px;margin-bottom:6px}.usage-hour-bar{background:#e5e3de;border-radius:2px 2px 0 0;min-height:2px;transition:background .15s}.usage-hour-bar.peak{background:var(--vn-ink)}.usage-hour-axis{display:grid;grid-template-columns:repeat(24,1fr);font-size:10px;color:var(--vn-faint);font-family:var(--vn-font-mono)}.usage-hour-axis span{text-align:left}.pa-card{background:var(--vn-card);border:1px solid var(--vn-line);border-radius:12px;padding:22px 24px}.pa-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:14px}.pa-title-block h3{margin:0;font-size:15px;font-weight:600;color:var(--vn-ink)}.pa-subtitle{font-size:12px;color:var(--vn-muted);margin-top:2px}.pa-toggle{display:inline-flex;gap:2px;background:#eeece8;border:1px solid var(--vn-line);border-radius:8px;padding:3px}.pa-toggle-btn{padding:4px 10px;border:none;background:transparent;font-family:inherit;font-size:12px;font-weight:500;color:var(--vn-muted);border-radius:6px;cursor:pointer}.pa-toggle-btn:hover{color:var(--vn-ink)}.pa-toggle-btn.active{background:var(--vn-card);color:var(--vn-ink);box-shadow:0 1px 2px #0000000f}.pa-columns{display:grid;grid-template-columns:32px minmax(220px,1.2fr) 1fr 60px;gap:14px;padding:10px 0 6px;font-size:10px;color:var(--vn-muted);text-transform:uppercase;letter-spacing:.06em;font-weight:600;border-bottom:1px solid var(--vn-line)}.pa-columns>span:nth-child(3){text-align:left}.pa-columns>span:last-child{text-align:right}.product-list{display:flex;flex-direction:column}.product-entry{display:grid;grid-template-columns:32px minmax(220px,1.2fr) 1fr 60px;align-items:center;gap:14px;padding:10px 0;border-top:1px solid var(--vn-line)}.product-entry:first-child{border-top:none}.product-icon-chip{width:28px;height:28px;border-radius:6px;background:var(--vn-chip-bg);border:1px solid var(--vn-line);color:#4a4a4b;display:inline-flex;align-items:center;justify-content:center;overflow:hidden}.product-icon-chip img{width:100%;height:100%;object-fit:cover}.product-entry-body{display:flex;flex-direction:column;gap:2px;min-width:0}.product-name{font-size:13px;font-weight:500;color:var(--vn-ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.product-meta{display:inline-flex;align-items:center;gap:8px;font-size:11px;color:var(--vn-muted)}.product-meta .feed-sku{font-size:10px}.product-bar-track{height:8px;background:var(--vn-track);border-radius:2px;overflow:hidden}.product-bar-fill{height:100%;background:var(--vn-ink)}.product-count{font-family:var(--vn-font-mono);font-size:12px;color:var(--vn-ink);text-align:right;font-variant-numeric:tabular-nums}.category-list{display:flex;flex-direction:column}.category-bar{display:flex;flex-direction:column;border-top:1px solid var(--vn-line);padding:10px 0;cursor:pointer}.category-bar:first-child{border-top:none}.category-bar-row{display:grid;grid-template-columns:32px minmax(180px,1.2fr) 1fr 60px 18px;align-items:center;gap:14px}.category-bar-fill-outer{height:8px;background:var(--vn-track);border-radius:2px;overflow:hidden}.category-bar-fill{height:100%;background:var(--vn-ink)}.category-bar-label{font-size:13px;font-weight:500;color:var(--vn-ink);display:inline-flex;align-items:center;gap:8px;white-space:nowrap}.category-bar-count{font-family:var(--vn-font-mono);font-size:12px;color:var(--vn-ink);text-align:right;font-variant-numeric:tabular-nums}.category-bar-expand{font-size:11px;color:var(--vn-faint);transition:transform .15s;text-align:center}.category-bar.expanded .category-bar-expand{transform:rotate(90deg)}.category-bar-drill{display:none;margin-top:8px;padding:10px 12px;background:#faf9f6;border:1px solid var(--vn-line);border-radius:8px}.category-bar.expanded .category-bar-drill{display:block}.category-drill-row{display:flex;justify-content:space-between;padding:4px 0;font-size:12px}.category-drill-row+.category-drill-row{border-top:1px solid var(--vn-line)}.category-drill-name{color:var(--vn-ink);font-weight:500}.category-drill-sessions{color:var(--vn-muted);font-family:var(--vn-font-mono);font-variant-numeric:tabular-nums}.category-drill-empty{font-size:12px;color:var(--vn-muted);font-style:italic;text-align:center}.insights-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}@media (max-width: 900px){.insights-grid{grid-template-columns:1fr}}.insights-card{background:var(--vn-card);border:1px solid var(--vn-line);border-radius:12px;padding:20px}.insights-card-head{margin-bottom:4px}.insights-card-title{font-size:15px;font-weight:600;color:var(--vn-ink)}.insights-card-subtitle{font-size:12px;color:var(--vn-muted);margin-top:2px}.per-room-list{display:flex;flex-direction:column;margin-top:14px}.per-room-row{display:grid;grid-template-columns:32px 1fr 60px;gap:12px;align-items:center;padding:9px 0;border-top:1px solid var(--vn-line)}.per-room-row:first-child{border-top:none}.per-room-icon{width:28px;height:28px;border-radius:6px;background:var(--vn-chip-bg);border:1px solid var(--vn-line);color:#4a4a4b;display:inline-flex;align-items:center;justify-content:center}.per-room-content{display:flex;align-items:center;gap:12px}.per-room-name{width:72px;font-size:13px;font-weight:500;color:var(--vn-ink);text-transform:capitalize}.per-room-bar-track{flex:1;height:8px;background:var(--vn-track);border-radius:2px;overflow:hidden}.per-room-bar-fill{height:100%;background:var(--vn-ink);border-radius:2px;transition:width .3s}.per-room-count{font-family:var(--vn-font-mono);font-size:12px;color:var(--vn-ink);text-align:right;font-variant-numeric:tabular-nums}.per-room-type{display:none}.nvr-bar{display:grid;grid-template-columns:var(--add-pct, 65fr) var(--replace-pct, 35fr);border-radius:8px;overflow:hidden;background:#1a1a1a;margin:14px 0 18px;font-size:12px;font-weight:500}.nvr-bar-seg{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 14px;color:#fff}.nvr-bar-seg.add{background:var(--vn-ink)}.nvr-bar-seg.replace{background:#c7c5c0;color:var(--vn-ink)}.nvr-bar-seg .pct{font-family:var(--vn-font-mono);font-variant-numeric:tabular-nums;opacity:.9}.nvr-stat-cols{display:grid;grid-template-columns:1fr 1fr;gap:20px}.nvr-stat{display:flex;flex-direction:column;gap:2px}.nvr-stat-label{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--vn-muted)}.nvr-stat-value{display:inline-flex;align-items:baseline;gap:6px;font-size:22px;font-weight:600;color:var(--vn-ink);letter-spacing:-.2px}.nvr-stat-value small{font-size:12px;font-weight:500;color:var(--vn-muted)}.nvr-stat-note{font-size:12px;color:var(--vn-muted);line-height:1.45;margin-top:2px}.dashboard #intelligence-section{margin:0 28px 32px;background:var(--vn-card);border:1px solid var(--vn-line);border-radius:12px;overflow:hidden}.dashboard #intelligence-section .section-header-bar{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;border-bottom:1px solid var(--vn-line)}.dashboard #intelligence-section .section-title{font-size:14px;font-weight:600;display:inline-flex;align-items:center;gap:8px;color:var(--vn-ink)}.dashboard #intelligence-section .section-content{padding:20px}.vn-intel-badge{font-size:10px;padding:2px 8px;border-radius:4px;background:#ececea;color:var(--vn-muted);font-weight:500;text-transform:uppercase;letter-spacing:.04em}.vn-intel-badge.badge-ready{background:var(--vn-accent-soft);color:#0f6a3a}.vn-intel-badge.badge-almost-there{background:var(--vn-warn-bg);color:var(--vn-warn-fg)}.vn-intel-badge.badge-accumulating{background:#dbeafe;color:#1e40af}.vn-intel-badge.badge-coming{background:#ececea;color:var(--vn-muted)}.vn-intel-badge:empty{display:none}.intelligence-layout{display:grid;grid-template-columns:1fr 1fr;gap:24px}@media (max-width: 900px){.intelligence-layout{grid-template-columns:1fr}}.intelligence-progress{display:flex;flex-direction:column;gap:14px}.report-card{padding:16px;border:1px solid var(--vn-line);border-radius:10px;background:var(--vn-card)}.report-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.report-name{font-weight:600;font-size:13px;color:var(--vn-ink)}.report-badge{font-size:10px;padding:2px 8px;border-radius:4px;background:#ececea;color:var(--vn-muted)}.report-badge.badge-ready{background:var(--vn-accent-soft);color:#0f6a3a}.report-badge.badge-almost-there{background:var(--vn-warn-bg);color:var(--vn-warn-fg)}.report-badge.badge-accumulating{background:#dbeafe;color:#1e40af}.report-price{font-size:18px;font-weight:700;margin-bottom:8px;color:var(--vn-ink)}.report-price-original{font-size:13px;color:var(--vn-muted);text-decoration:line-through;font-weight:400;margin-left:6px}.report-progress-bar{width:100%;height:6px;background:var(--vn-track);border-radius:3px;overflow:hidden;margin-bottom:6px}.report-progress-fill{height:100%;background:var(--vn-ink);border-radius:3px;transition:width .3s}.report-progress-fill.complete{background:var(--vn-accent)}.report-progress-label{font-size:12px;color:var(--vn-muted)}.btn-request-report{margin-top:10px;padding:8px 16px;background:var(--vn-ink);color:#fff;border:none;border-radius:6px;font-size:13px;font-weight:600;width:100%;cursor:pointer;font-family:inherit}.btn-request-report:hover{opacity:.9}.btn-request-report:disabled{cursor:default;opacity:.6}.btn-request-report.sent{background:var(--vn-accent);color:#fff;opacity:1}.intelligence-preview h4{font-size:13px;font-weight:600;color:var(--vn-ink);margin:0 0 10px}.intelligence-insights{list-style:none;display:flex;flex-direction:column;gap:8px;padding:0;margin:0}.intelligence-insights li{font-size:13px;color:var(--vn-muted);padding-left:18px;position:relative}.intelligence-insights li:before{content:"";width:5px;height:5px;background:var(--vn-faint);border-radius:50%;position:absolute;left:4px;top:8px}.educational-card{display:flex;min-height:220px;background:var(--vn-card);border:1px solid var(--vn-line);border-radius:12px;overflow:hidden}.educational-body{flex:1;padding:24px;display:flex;flex-direction:column;justify-content:center}.educational-eyebrow{font-size:10px;color:var(--vn-muted);text-transform:uppercase;letter-spacing:.08em;font-weight:600;margin-bottom:6px}.educational-title{font-size:16px;font-weight:600;color:var(--vn-ink);margin-bottom:8px}.educational-text{font-size:13px;color:var(--vn-muted);line-height:1.5;margin-bottom:14px;max-width:440px}.educational-actions{display:flex;gap:8px}.educational-dismiss{padding:8px 18px;background:var(--vn-ink);color:#fff;border:none;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;font-family:inherit}.educational-dismiss:hover{opacity:.9}.educational-preview{width:280px;background:#faf9f6;border-left:1px solid var(--vn-line);padding:18px;display:flex;flex-direction:column;gap:8px}.educational-preview-label{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--vn-muted);margin-bottom:4px}.preview-entry{display:flex;align-items:center;gap:8px;padding:8px;background:var(--vn-card);border:1px solid var(--vn-line);border-radius:8px}.preview-entry-thumb{width:32px;height:32px;background:var(--vn-chip-bg);border-radius:6px;flex-shrink:0}.preview-entry-body{flex:1;min-width:0}.preview-entry-name{font-size:12px;font-weight:600;color:var(--vn-ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.preview-entry-desc{font-size:10px;color:var(--vn-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.preview-entry-tag{font-size:10px;padding:1px 6px;background:#ececea;color:var(--vn-muted);border-radius:3px;flex-shrink:0}.waiting-message{position:relative;display:flex;align-items:center;justify-content:center;gap:12px;padding:40px 20px;min-height:120px;color:var(--vn-muted);font-size:13px;background:var(--vn-card);border:1px solid var(--vn-line);border-radius:12px}.help-icon{position:absolute;top:12px;right:12px;width:22px;height:22px;border-radius:50%;border:1px solid var(--vn-line);background:var(--vn-card);color:var(--vn-muted);font-size:12px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;padding:0}.help-icon:hover{color:var(--vn-ink);border-color:var(--vn-line-strong)}.load-more-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 4px 4px;margin-top:8px;border-top:1px solid var(--vn-line)}.load-more-count{font-size:12px;color:var(--vn-muted)}.load-more-actions{display:inline-flex;align-items:center;gap:8px}.load-more-btn{min-width:120px}.load-more-btn[disabled]{opacity:.7;cursor:default}.settings{--vn-bg: #f5f5f4;--vn-card: #ffffff;--vn-ink: #0e0e0f;--vn-ink-2: #1f1f20;--vn-muted: #6b6b6d;--vn-faint: #a3a3a6;--vn-line: #e8e7e4;--vn-line-strong: #d6d5d1;--vn-accent: #0f8a4a;--vn-accent-soft: #e6f5ec;--vn-accent-border: #c9ead8;--vn-chip-bg: #f3f2ef;--vn-err-bg: #fdecec;--vn-err-fg: #c0392b;--vn-font-mono: "Geist Mono", ui-monospace, "SF Mono", Menlo, monospace;display:flex;flex-direction:column;background:var(--vn-bg);color:var(--vn-ink);margin:calc(var(--spacing-lg) * -1);min-height:calc(100vh + -0px)}.settings .settings-bar{display:flex;align-items:center;justify-content:space-between;padding:14px 28px;background:var(--vn-card);border-bottom:1px solid var(--vn-line)}.settings .settings-bar h1{margin:0;font-size:18px;font-weight:600;letter-spacing:-.2px;color:var(--vn-ink)}.settings .status-active-on{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--vn-muted)}.settings .status-active-on .store-name{color:var(--vn-ink);font-family:var(--vn-font-mono)}.settings .status-active-on svg{color:var(--vn-faint)}.settings .settings-tabs{display:flex;gap:0;padding:14px 28px 0;background:var(--vn-bg);border-bottom:1px solid var(--vn-line)}.settings .settings-tab{padding:8px 16px 12px;margin-right:4px;background:none;border:none;font-family:inherit;font-size:13px;font-weight:500;color:var(--vn-muted);border-bottom:2px solid transparent;margin-bottom:-1px;cursor:pointer;transition:color .15s,border-color .15s}.settings .settings-tab:hover{color:var(--vn-ink-2)}.settings .settings-tab.active{color:var(--vn-ink);font-weight:600;border-bottom-color:var(--vn-ink)}.settings .settings-content{padding:24px 28px 40px;max-width:1040px;display:flex;flex-direction:column;gap:16px}.settings .vn-card{background:var(--vn-card);border:1px solid var(--vn-line);border-radius:12px;padding:20px}.settings .card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:14px}.settings .card-title{margin:0;font-size:15px;font-weight:600;color:var(--vn-ink);letter-spacing:-.1px}.settings .card-subtitle{margin:2px 0 0;font-size:12.5px;color:var(--vn-muted);line-height:1.45}.settings .btn-secondary{display:inline-flex;align-items:center;gap:6px;padding:7px 13px;font-family:inherit;font-size:13px;font-weight:500;border-radius:6px;cursor:pointer;border:1px solid var(--vn-line);background:var(--vn-card);color:var(--vn-ink);transition:background .12s,border-color .12s,color .12s;white-space:nowrap}.settings .btn-secondary:hover{background:#faf9f6;border-color:var(--vn-line-strong)}.settings .btn-secondary[disabled]{opacity:.45;cursor:not-allowed;background:#faf9f6}.settings .btn-secondary.is-loading{position:relative;cursor:progress;color:transparent}.settings .btn-secondary.is-loading:after{content:"";position:absolute;top:50%;left:50%;width:12px;height:12px;margin:-6px 0 0 -6px;border:1.5px solid var(--vn-line-strong);border-top-color:var(--vn-ink);border-radius:50%;animation:vn-spin .7s linear infinite}.settings .btn-secondary.is-saved{background:var(--vn-accent-soft);border-color:var(--vn-accent-border);color:#0f6a3a}.settings .btn-secondary.is-error{background:var(--vn-err-bg);border-color:#f3c7c1;color:var(--vn-err-fg)}.settings .settings-pill{display:inline-flex;align-items:center;gap:5px;padding:2px 8px;font-size:11px;line-height:1.4;font-family:inherit;border-radius:4px;white-space:nowrap;border:1px solid transparent;flex-shrink:0}.settings .settings-pill:before{content:"";width:6px;height:6px;border-radius:50%;flex-shrink:0}.settings .settings-pill-live{background:var(--vn-accent-soft);color:#0f6a3a;border-color:var(--vn-accent-border)}.settings .settings-pill-live:before{background:var(--vn-accent)}.settings .settings-pill-hidden{background:var(--vn-chip-bg);color:#3f3f40;border-color:var(--vn-line)}.settings .settings-pill-hidden:before{background:var(--vn-faint)}.settings .settings-code-block{position:relative;background:#0e0e0f;border:1px solid #1a1a1b;border-radius:8px;padding:14px 84px 14px 16px;overflow-x:auto}.settings .settings-code-block pre{margin:0;font-family:var(--vn-font-mono);font-size:12.5px;line-height:1.6;white-space:pre-wrap;word-break:break-all;color:#e8e7e4}.settings .settings-code-block code{color:inherit;background:transparent;padding:0}.settings .btn-copy{position:absolute;top:10px;right:10px;display:inline-flex;align-items:center;gap:5px;padding:5px 10px;font-family:inherit;font-size:12px;font-weight:500;color:#e8e7e4;background:#ffffff14;border:1px solid rgba(255,255,255,.16);border-radius:5px;cursor:pointer;transition:background .12s,color .12s}.settings .btn-copy:hover{background:#ffffff29;color:#fff}.settings .settings-subrow{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 16px;border:1px solid var(--vn-line);border-radius:8px;background:var(--vn-card);margin-bottom:14px}.settings .settings-subrow .subrow-title{font-size:13.5px;font-weight:600;color:var(--vn-ink);letter-spacing:-.05px}.settings .settings-subrow .subrow-desc{margin-top:3px;font-size:12.5px;color:var(--vn-muted);line-height:1.45}.settings .settings-info-card{padding:14px 16px;border:1px solid var(--vn-line);border-radius:8px;background:var(--vn-chip-bg)}.settings .settings-info-card .info-head{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:600;color:var(--vn-ink);margin-bottom:8px}.settings .settings-info-card .info-head .info-icon-svg{color:var(--vn-muted);flex-shrink:0}.settings .settings-info-card p{margin:0 0 10px;font-size:12.5px;line-height:1.55;color:var(--vn-muted)}.settings .settings-info-card p strong{color:var(--vn-ink);font-weight:600}.settings .settings-info-card .info-link{display:inline-block;font-size:12.5px;font-weight:500;color:var(--vn-ink);text-decoration:underline;text-underline-offset:3px}.settings .settings-info-card .info-link:hover{color:var(--vn-ink-2)}.settings .settings-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px 20px;margin-bottom:14px}.settings .form-row{display:flex;flex-direction:column;gap:6px}.settings .form-label{font-size:12.5px;font-weight:500;color:var(--vn-ink-2)}.settings .form-input,.settings .form-select{width:100%;padding:8px 10px;border:1px solid var(--vn-line);border-radius:6px;font-family:inherit;font-size:13px;background:var(--vn-card);color:var(--vn-ink);transition:border-color .12s,box-shadow .12s}.settings .form-input:focus,.settings .form-select:focus{outline:none;border-color:var(--vn-line-strong);box-shadow:0 0 0 3px #0e0e0f0f}.settings .form-input:disabled{background:var(--vn-chip-bg);color:var(--vn-muted);cursor:not-allowed}.settings .form-input-clickable{cursor:pointer;background:var(--vn-card)}.settings .form-input-clickable:hover{border-color:var(--vn-line-strong)}.settings .form-hint{margin:2px 0 0;font-size:11.5px;color:var(--vn-muted)}.settings .settings-save-row{display:flex;align-items:center;gap:12px;margin-top:4px}.settings .save-status{font-size:12px;color:var(--vn-muted)}.settings .settings-card-divider{height:1px;background:var(--vn-line);border:0;margin:22px 0}.settings .settings-error{padding:14px 16px;background:var(--vn-err-bg);border:1px solid #f3c7c1;border-radius:8px;color:var(--vn-err-fg);font-size:13px}@media (max-width: 720px){.settings .settings-form-grid{grid-template-columns:1fr}.settings .settings-subrow{flex-direction:column;align-items:flex-start;gap:12px}.settings .settings-content{padding:16px 16px 32px}.settings .settings-bar,.settings .settings-tabs{padding-left:16px;padding-right:16px}}.billing{--vn-bg: #f5f5f4;--vn-card: #ffffff;--vn-ink: #0e0e0f;--vn-ink-2: #1f1f20;--vn-muted: #6b6b6d;--vn-faint: #a3a3a6;--vn-line: #e8e7e4;--vn-line-strong: #d6d5d1;--vn-accent: #0f8a4a;--vn-accent-soft: #e6f5ec;--vn-accent-border: #c9ead8;--vn-chip-bg: #f3f2ef;--vn-track: #eeedE9;--vn-warn-bg: #fff4d6;--vn-warn-fg: #8a6a12;--vn-err-bg: #fdecec;--vn-err-fg: #c0392b;--vn-font-mono: "Geist Mono", ui-monospace, "SF Mono", Menlo, monospace;display:flex;flex-direction:column;background:var(--vn-bg);color:var(--vn-ink);margin:calc(var(--spacing-lg) * -1);min-height:calc(100vh + -0px)}.billing .billing-bar{display:flex;align-items:center;justify-content:space-between;padding:14px 28px;background:var(--vn-card);border-bottom:1px solid var(--vn-line)}.billing .billing-bar h1{margin:0;font-size:18px;font-weight:600;letter-spacing:-.2px;color:var(--vn-ink)}.billing .status-active-on{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--vn-muted)}.billing .status-active-on .store-name{color:var(--vn-ink);font-family:var(--vn-font-mono)}.billing .status-active-on svg{color:var(--vn-faint)}.billing .billing-content{padding:24px 28px 40px;max-width:1040px;display:flex;flex-direction:column;gap:16px}.billing .vn-card{background:var(--vn-card);border:1px solid var(--vn-line);border-radius:12px;padding:20px}.billing .vn-card.billing-plan-card,.billing .vn-card.billing-invoices-card{padding:0;overflow:hidden}.billing .card-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:14px}.billing .card-title{margin:0;font-size:15px;font-weight:600;color:var(--vn-ink);letter-spacing:-.1px}.billing .card-subtitle{margin:2px 0 0;font-size:12.5px;color:var(--vn-muted);line-height:1.45}.billing .btn-secondary{display:inline-flex;align-items:center;gap:6px;padding:7px 13px;font-family:inherit;font-size:13px;font-weight:500;border-radius:6px;cursor:pointer;border:1px solid var(--vn-line);background:var(--vn-card);color:var(--vn-ink);transition:background .12s,border-color .12s,color .12s;white-space:nowrap}.billing .btn-secondary:hover{background:#faf9f6;border-color:var(--vn-line-strong)}.billing .btn-secondary[disabled]{opacity:.45;cursor:not-allowed;background:#faf9f6}.billing .btn-secondary[aria-busy=true]{opacity:.7;cursor:progress}.billing .btn-secondary.is-loading{position:relative;cursor:progress;color:transparent}.billing .btn-secondary.is-loading:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;color:var(--vn-ink)}.billing .btn-secondary.is-loading:after{content:"";position:absolute;top:50%;left:50%;width:12px;height:12px;margin:-6px 0 0 -6px;border:1.5px solid var(--vn-line-strong);border-top-color:var(--vn-ink);border-radius:50%;animation:vn-spin .7s linear infinite}.billing .btn-secondary.is-saved{background:var(--vn-accent-soft);border-color:var(--vn-accent-border);color:#0f6a3a}.billing .btn-secondary.is-error{background:var(--vn-err-bg);border-color:#f3c7c1;color:var(--vn-err-fg)}@keyframes vn-spin{to{transform:rotate(360deg)}}.billing .btn-link-underline{display:inline-flex;align-items:center;gap:6px;padding:0;font-family:inherit;font-size:12px;font-weight:500;border:none;background:transparent;color:var(--vn-ink-2);cursor:pointer;text-decoration:underline;text-underline-offset:3px}.billing .btn-link-underline:hover{color:var(--vn-ink)}.billing .billing-pill{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;font-size:11px;line-height:1.4;font-family:inherit;letter-spacing:.02px;border-radius:4px;white-space:nowrap;border:1px solid transparent}.billing .billing-pill-active,.billing .billing-pill-credit{background:var(--vn-accent-soft);color:#0f6a3a;border-color:var(--vn-accent-border)}.billing .billing-pill-credit{padding:1px 6px;font-size:10px}.billing .billing-pill-founding{background:var(--vn-ink);color:#fff;border-color:var(--vn-ink)}.billing .billing-pill-inactive,.billing .billing-pill-neutral{background:var(--vn-chip-bg);color:#3f3f40;border-color:var(--vn-line)}.billing .billing-pill-warn{background:var(--vn-warn-bg);color:var(--vn-warn-fg);border-color:#f0dcae}.billing .plan-head{display:grid;grid-template-columns:1fr auto;gap:16px;padding:22px 24px;border-bottom:1px solid var(--vn-line)}.billing .plan-eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--vn-faint);font-weight:500;margin-bottom:4px}.billing .plan-title-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.billing .plan-title-row h2{margin:0;font-size:22px;font-weight:600;letter-spacing:-.3px;color:var(--vn-ink)}.billing .plan-price-line{font-size:13px;color:var(--vn-muted);margin-top:6px}.billing .plan-price-line strong{color:var(--vn-ink);font-weight:600}.billing .plan-actions{display:flex;flex-direction:column;gap:8px;align-items:flex-end}.billing .plan-stat-strip{display:grid;grid-template-columns:repeat(3,1fr);padding:16px 24px}.billing .plan-stat{padding:0 18px;border-right:1px solid var(--vn-line)}.billing .plan-stat:first-child{padding-left:0}.billing .plan-stat:last-child{padding-right:0;border-right:none}.billing .plan-stat-label{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--vn-faint);font-weight:500}.billing .plan-stat-value{font-size:17px;font-weight:600;margin-top:4px;color:var(--vn-ink);font-variant-numeric:tabular-nums}.billing .plan-stat-hint{font-size:12px;color:var(--vn-muted);margin-top:2px}.billing .plan-stat-tier{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.billing .plan-upgrade-link{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;font-family:inherit;font-size:11.5px;font-weight:500;border:1px solid var(--vn-line);background:var(--vn-card);color:var(--vn-ink);border-radius:999px;cursor:pointer;white-space:nowrap;transition:background .12s,border-color .12s;align-self:flex-start}.billing .plan-upgrade-link:hover{background:#faf9f6;border-color:var(--vn-line-strong)}.billing .plan-upgrade-link svg{color:var(--vn-muted)}.billing .billing-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:16px}@media (max-width: 860px){.billing .billing-grid{grid-template-columns:1fr}}.billing .usage-total{display:inline-flex;align-items:center;gap:4px;font-size:12px;color:var(--vn-muted)}.billing .mono{font-family:var(--vn-font-mono);font-variant-numeric:tabular-nums}.billing .usage-pool-bar{width:100%;height:8px;background:var(--vn-track);border-radius:999px;overflow:hidden;display:flex}.billing .usage-pool-seg{height:100%}.billing .usage-pool-seg.ink{background:var(--vn-ink)}.billing .usage-pool-seg.green{background:var(--vn-accent)}.billing .usage-pool-seg.amber{background:#b07f19}.billing .usage-pool-list{margin-top:16px;display:flex;flex-direction:column}.billing .usage-pool-row{display:grid;grid-template-columns:10px 1fr auto auto;gap:14px;align-items:center;padding:10px 0;border-top:1px solid var(--vn-line)}.billing .usage-pool-swatch{width:10px;height:10px;border-radius:2px;background:var(--vn-ink)}.billing .usage-pool-swatch.swatch-ink{background:var(--vn-ink)}.billing .usage-pool-swatch.swatch-green{background:var(--vn-accent)}.billing .usage-pool-swatch.swatch-amber{background:#b07f19}.billing .usage-pool-label{font-size:13px;font-weight:500;display:flex;gap:6px;align-items:center;color:var(--vn-ink)}.billing .usage-pool-meta{font-size:11.5px;color:var(--vn-muted);margin-top:2px}.billing .usage-pool-count{font-size:12.5px;color:var(--vn-ink)}.billing .usage-pool-pct{font-size:11px;color:var(--vn-faint);width:40px;text-align:right}.billing .overage-box{display:flex;gap:16px;align-items:center;padding:12px 16px;border:1px solid var(--vn-line-strong);border-radius:10px;background:#faf9f6}.billing .overage-label{font-size:13px;color:var(--vn-ink-2)}.billing .overage-input{width:110px;padding:6px 10px;font-size:13px;font-family:var(--vn-font-mono);font-variant-numeric:tabular-nums;border:1px solid var(--vn-line-strong);border-radius:6px;background:#fff;color:var(--vn-ink)}.billing .overage-input:focus{outline:none;border-color:var(--vn-ink)}.billing .overage-hint{flex:1;font-size:12px;color:var(--vn-muted)}.billing .overage-hint strong{color:var(--vn-ink);font-family:var(--vn-font-mono);font-weight:600}.billing .overage-zero-warning{margin-top:12px;padding:10px 14px;background:var(--vn-warn-bg);border:1px solid #f0dcae;border-radius:6px;font-size:12.5px;color:var(--vn-warn-fg)}.billing .overage-zero-warning.hidden{display:none}.billing .pm-body{display:flex;align-items:center;gap:14px;padding:14px 16px;border:1px solid var(--vn-line);border-radius:10px}.billing .pm-body-empty{flex-direction:column;align-items:flex-start;gap:4px}.billing .pm-empty-text{font-size:13px;font-weight:500;color:var(--vn-ink)}.billing .pm-brand-badge{width:40px;height:28px;border-radius:5px;background:linear-gradient(135deg,#2b2b2d,#1a1a1b);color:#fff;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:700;letter-spacing:.5px}.billing .pm-details{flex:1;min-width:0}.billing .pm-primary{font-size:13px;font-weight:500;color:var(--vn-ink)}.billing .pm-secondary{font-size:12px;color:var(--vn-muted);margin-top:2px}.billing .pm-hosted-pill{display:inline-flex;align-items:center;gap:4px;padding:1px 6px;font-size:10px;line-height:1.4;background:var(--vn-chip-bg);color:#3f3f40;border:1px solid var(--vn-line);border-radius:4px;white-space:nowrap}.billing .billing-invoices-card .invoices-head{padding:18px 20px;margin-bottom:0}.billing .invoice-columns{display:grid;grid-template-columns:1.2fr 1fr 1fr 1fr 100px;padding:8px 20px;border-top:1px solid var(--vn-line);font-size:10.5px;text-transform:uppercase;letter-spacing:.08em;color:var(--vn-faint);font-weight:500}.billing .invoice-columns>div:last-child{text-align:right}.billing .invoice-row{display:grid;grid-template-columns:1.2fr 1fr 1fr 1fr 100px;padding:14px 20px;align-items:center;border-top:1px solid var(--vn-line);font-size:13px;color:var(--vn-ink)}.billing .invoice-number{font-size:12px;color:var(--vn-ink)}.billing .invoice-date{font-size:13px;color:var(--vn-ink)}.billing .invoice-amount{font-size:13px}.billing .invoice-action{text-align:right}.billing .invoice-pdf-btn{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;font-size:12px;font-weight:500;border-radius:6px;cursor:pointer;background:transparent;color:var(--vn-ink);text-decoration:none;border:1px solid transparent;transition:background .12s,border-color .12s}.billing .invoice-pdf-btn:hover{background:#faf9f6;border-color:var(--vn-line)}.billing .invoices-empty{padding:30px 20px 34px;text-align:center;font-size:13px;color:var(--vn-muted);border-top:1px solid var(--vn-line)}.billing .billing-loading{padding:16px 0;font-size:13px;color:var(--vn-muted)}.billing .billing-inline-error{color:var(--vn-err-fg);font-size:12.5px;margin-top:8px}@media (max-width: 720px){.billing .plan-head{grid-template-columns:1fr}.billing .plan-actions{align-items:flex-start}.billing .plan-stat-strip{grid-template-columns:1fr;gap:12px}.billing .plan-stat{padding:0 0 10px;border-right:none;border-bottom:1px solid var(--vn-line)}.billing .plan-stat:last-child{border-bottom:none;padding-bottom:0}.billing .invoice-columns,.billing .invoice-row{grid-template-columns:1fr 1fr;gap:8px}.billing .invoice-columns>div:nth-child(3),.billing .invoice-columns>div:nth-child(4),.billing .invoice-columns>div:nth-child(5){display:none}.billing .invoice-row>.invoice-amount,.billing .invoice-row>.invoice-action,.billing .invoice-row>.invoice-status{grid-column:auto}}.vn-confirm-host{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;display:flex;align-items:center;justify-content:center}.vn-confirm-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#1118278c;animation:vn-confirm-fade .15s ease-out}.vn-confirm-modal{position:relative;width:min(440px,calc(100vw - 32px));background:var(--color-white);border-radius:12px;padding:24px;box-shadow:0 20px 60px #00000040;animation:vn-confirm-pop .18s ease-out}.vn-confirm-title{margin:0 0 8px;font-size:18px;font-weight:600;color:var(--color-dark)}.vn-confirm-body{margin:0 0 20px;font-size:14px;color:var(--color-gray);line-height:1.5}.vn-confirm-actions{display:flex;gap:8px;justify-content:flex-end}.vn-confirm-btn{border-radius:8px;padding:9px 16px;font-size:14px;font-weight:500;cursor:pointer;border:1px solid transparent;transition:background .12s,border-color .12s}.vn-confirm-btn-cancel{background:var(--color-white);border-color:var(--color-light);color:var(--color-dark)}.vn-confirm-btn-cancel:hover{background:var(--color-lighter)}.vn-confirm-btn:not(.vn-confirm-btn-cancel):not(.vn-confirm-btn-destructive){background:var(--color-dark, #111);color:var(--color-white)}.vn-confirm-btn-destructive{background:#dc2626;color:var(--color-white)}.vn-confirm-btn-destructive:hover{background:#b91c1c}.vn-confirm-modal-typed{width:min(480px,calc(100vw - 32px))}.vn-confirm-modal-typed .vn-confirm-body{margin-bottom:16px;color:#1f1f20}.vn-confirm-modal-typed .vn-confirm-body strong{color:#0e0e0f;font-weight:600}.vn-confirm-warn{display:flex;gap:10px;padding:12px 14px;margin:0 0 18px;background:#fff4d6;border:1px solid #f0dcae;border-radius:8px;font-size:13px;line-height:1.5;color:#8a6a12}.vn-confirm-warn strong{color:#5a4610;font-weight:600}.vn-confirm-warn .vn-confirm-warn-icon{flex-shrink:0;margin-top:1px;color:#b98c21}.vn-confirm-prompt{font-size:13px;color:#3f3f40;margin-bottom:8px}.vn-confirm-code{display:inline-block;padding:1px 6px;background:#f3f2ef;border:1px solid #e8e7e4;border-radius:4px;font-family:Geist Mono,ui-monospace,SF Mono,Menlo,monospace;font-size:12.5px;color:#0e0e0f}.vn-confirm-input{width:100%;padding:9px 12px;margin:0 0 18px;border:1px solid #d6d5d1;border-radius:6px;font-family:inherit;font-size:14px;color:#0e0e0f;background:var(--color-white);transition:border-color .12s,box-shadow .12s}.vn-confirm-input:focus{outline:none;border-color:#0e0e0f;box-shadow:0 0 0 3px #0e0e0f14}.vn-confirm-btn[disabled]{cursor:not-allowed;opacity:.5}.vn-confirm-btn-destructive[disabled]:hover{background:#dc2626}@keyframes vn-confirm-fade{0%{opacity:0}to{opacity:1}}@keyframes vn-confirm-pop{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}
