.admin-root,.admin-root body{height:100%}.admin-root{height:100vh;overflow:hidden}.shell{grid-template-columns:var(--sidebar-w) 1fr;background:var(--bg);width:100vw;height:100vh;display:grid}.app-sidebar{border-right:1px solid var(--border);background:var(--bg-subtle);flex-direction:column;height:100vh;display:flex;position:relative;overflow:hidden}.app-sidebar-brand{border-bottom:1px solid var(--border-muted);align-items:center;gap:10px;height:64px;padding:0 16px;display:flex}.app-sidebar-brand .mark{background:linear-gradient(180deg, var(--accent-500), var(--accent-700));border-radius:5px;flex-shrink:0;width:24px;height:24px;position:relative}.app-sidebar-brand .mark:after{content:"";border-radius:5px;position:absolute;inset:0;box-shadow:inset 0 1px #ffffff2e}.app-sidebar-brand .name{font-family:var(--font-mono);letter-spacing:-.01em;color:var(--fg);font-size:14px;font-weight:500}.app-sidebar-nav{flex-direction:column;flex:1;gap:1px;padding:12px 8px;display:flex;overflow-y:auto}.nav-section{letter-spacing:.04em;text-transform:uppercase;color:var(--fg-subtle);padding:14px 8px 6px;font-size:11px;font-weight:500}.nav-item{border-radius:var(--r-md);height:32px;color:var(--fg-muted);cursor:pointer;transition:background var(--motion-fast), color var(--motion-fast);align-items:center;gap:10px;padding:0 10px;font-size:13px;font-weight:400;text-decoration:none;display:flex;position:relative}.nav-item:hover{background:var(--bg-hover);color:var(--fg);text-decoration:none}.nav-item .nav-ico{color:var(--fg-subtle);transition:color var(--motion-fast);place-items:center;font-size:16px;display:inline-grid}.nav-item:hover .nav-ico{color:var(--fg-muted)}.nav-item .nav-count{font-variant-numeric:tabular-nums;color:var(--fg-subtle);background:var(--bg-muted);border-radius:var(--r-full);margin-left:auto;padding:1px 6px;font-size:11px}.nav-item.active{background:var(--bg-active);color:var(--fg);font-weight:500}.nav-item.active .nav-ico{color:var(--accent)}.nav-item.active:before{content:"";background:var(--accent);border-radius:0 2px 2px 0;width:2px;position:absolute;top:6px;bottom:6px;left:-6px}.app-sidebar-foot{border-top:1px solid var(--border-muted);padding:10px;position:relative}.user-trigger{border-radius:var(--r-md);cursor:pointer;width:100%;transition:background var(--motion-fast);color:var(--fg);text-align:left;background:0 0;border:0;align-items:center;gap:10px;padding:8px;font-family:inherit;display:flex}.user-trigger:hover{background:var(--bg-hover)}.user-trigger .avatar{border-radius:var(--r-full);background:linear-gradient(135deg, var(--accent-400), var(--accent-700));color:#fff;flex-shrink:0;place-items:center;width:32px;height:32px;font-size:12px;font-weight:600;display:grid}.user-trigger .info{flex:1;min-width:0;line-height:1.25}.user-trigger .info .nm{color:var(--fg);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:500;overflow:hidden}.user-trigger .info .em{color:var(--fg-subtle);white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.user-trigger>.caret{color:var(--fg-subtle);place-items:center;font-size:14px;display:inline-grid}.user-popover{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--shadow-popover);z-index:10;padding:4px;position:absolute;bottom:calc(100% + 4px);left:10px;right:10px}.user-popover .item{border-radius:var(--r-sm);cursor:pointer;width:100%;height:30px;color:var(--fg);text-align:left;background:0 0;border:0;align-items:center;gap:10px;padding:0 8px;font-family:inherit;font-size:13px;display:flex}.user-popover .item:hover{background:var(--bg-hover)}.user-popover .item .ico{color:var(--fg-subtle);place-items:center;width:14px;height:14px;font-size:14px;display:inline-grid}.user-popover .item.destructive{color:var(--danger-fg)}.user-popover .item.destructive .ico{color:var(--danger)}.user-popover .sep{background:var(--border-muted);height:1px;margin:4px 0}.user-popover .item .right-text{color:var(--fg-subtle);font-size:11px;font-family:var(--font-mono);margin-left:auto}.theme-quick{border-radius:var(--r-sm);width:22px;height:22px;color:var(--fg-subtle);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;display:inline-flex;position:absolute;top:14px;right:12px}.theme-quick:hover{background:var(--bg-hover);color:var(--fg)}.main-area{flex-direction:column;min-width:0;height:100vh;display:flex;overflow:hidden}.topbar{height:56px;padding:0 var(--content-px);border-bottom:1px solid var(--border);background:var(--bg);flex-shrink:0;align-items:center;gap:16px;display:flex}.topbar.empty{border-bottom:0;height:48px}.topbar-mobile-trigger{display:none}.breadcrumb{color:var(--fg-muted);align-items:center;gap:8px;min-width:0;font-size:13px;display:flex}.breadcrumb a,.breadcrumb span.crumb{color:var(--fg-muted);text-decoration:none}.breadcrumb a:hover{color:var(--fg);text-decoration:none}.breadcrumb .sep{color:var(--fg-subtle);place-items:center;font-size:11px;display:inline-grid}.breadcrumb .current{color:var(--fg);font-weight:500}.topbar-right{align-items:center;gap:8px;margin-left:auto;display:flex}.main-scroll{scroll-behavior:smooth;flex:1;overflow-y:auto}.page{max-width:var(--content-max);padding:32px var(--content-px) 80px;margin:0 auto}.page-h{align-items:flex-start;gap:16px;margin-bottom:28px;display:flex}.page-h .title-wrap{flex:1;min-width:0}.page-h .title-wrap h1{letter-spacing:-.02em;margin-bottom:4px;font-size:24px;line-height:30px}.page-h .title-wrap p{color:var(--fg-muted);margin:0;font-size:13px}.page-h .actions{align-items:center;gap:8px;margin-top:4px;display:flex}.kpi-grid{grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:24px;display:grid}.kpi-card{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--r-lg);min-width:0;transition:border-color var(--motion-fast);flex-direction:column;gap:8px;padding:16px;display:flex;position:relative}.kpi-card:hover{border-color:var(--border-strong)}.kpi-card .head{justify-content:space-between;align-items:center;gap:8px;display:flex}.kpi-card .label{color:var(--fg-muted);font-size:12px;font-weight:500;line-height:16px}.kpi-card .head .icon{color:var(--fg-subtle);place-items:center;font-size:14px;display:inline-grid}.kpi-card .body{justify-content:space-between;align-items:flex-end;gap:12px;min-height:44px;display:flex}.kpi-card .value{letter-spacing:-.025em;font-variant-numeric:tabular-nums;color:var(--fg);font-size:28px;font-weight:600;line-height:32px}.kpi-card .sparkline{opacity:.9;flex-shrink:0;width:70px;height:32px}.kpi-card .foot{color:var(--fg-subtle);align-items:center;gap:6px;min-height:16px;font-size:12px;line-height:16px;display:flex}.kpi-card .delta{font-variant-numeric:tabular-nums;align-items:center;gap:2px;font-weight:500;display:inline-flex}.kpi-card .delta.up{color:var(--success-600)}.kpi-card .delta.down{color:var(--danger-600)}.kpi-card .delta.flat{color:var(--fg-subtle)}[data-theme=dark] .kpi-card .delta.up{color:var(--success-500)}[data-theme=dark] .kpi-card .delta.down{color:var(--danger-500)}.panel{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--r-lg);overflow:hidden}.panel-head{border-bottom:1px solid var(--border-muted);justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;display:flex}.panel-head .title{color:var(--fg);font-size:14px;font-weight:600}.panel-head .desc{color:var(--fg-muted);margin-top:2px;font-size:12px}.panel-head .actions{align-items:center;gap:6px;display:flex}.panel-body{padding:16px}.panel-body.flush{padding:0}.period-pill{background:var(--bg);border:1px solid var(--border-strong);border-radius:var(--r-md);height:28px;color:var(--fg);cursor:pointer;align-items:center;gap:6px;padding:0 10px;font-size:12px;font-weight:500;display:inline-flex}.period-pill:hover{background:var(--bg-hover)}.period-pill .ico{color:var(--fg-subtle);place-items:center;font-size:12px;display:inline-grid}[data-theme=dark] .period-pill{background:var(--bg-elevated)}.seg-pill{background:var(--bg-muted);border-radius:var(--r-md);gap:1px;padding:2px;display:inline-flex}.seg-pill button{height:22px;color:var(--fg-muted);font:inherit;border-radius:var(--r-sm);cursor:pointer;white-space:nowrap;background:0 0;border:0;padding:0 10px;font-size:11px;font-weight:500}.seg-pill button:hover{color:var(--fg)}.seg-pill button.active{background:var(--bg-elevated);color:var(--fg);box-shadow:0 1px 2px #0000000f,0 0 0 1px #0000000a}[data-theme=dark] .seg-pill button.active{box-shadow:0 1px 2px #0006,0 0 0 1px #ffffff0a}.chart-wrap{width:100%;position:relative}.chart-svg{width:100%;height:auto;display:block}.chart-grid line{stroke:var(--border);stroke-width:1px;stroke-dasharray:2 3}.chart-axis text{fill:var(--fg-subtle);font-family:var(--font-sans);font-variant-numeric:tabular-nums;font-size:10px}.chart-line{fill:none;stroke:var(--accent);stroke-width:1.75px;stroke-linecap:round;stroke-linejoin:round}.chart-area{fill:var(--accent);opacity:.06}.chart-dot{fill:var(--bg-elevated);stroke:var(--accent);stroke-width:1.5px}.chart-bar{fill:var(--accent);transition:opacity var(--motion-fast)}.chart-bar.dim{fill:var(--accent);opacity:.4}.chart-bar:hover{opacity:.8}.chart-hover-line{stroke:var(--border-strong);stroke-width:1px;stroke-dasharray:2 3}.chart-tip{pointer-events:none;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--shadow-popover);white-space:nowrap;z-index:3;padding:8px 10px;font-size:11px;position:absolute;transform:translate(-50%,-110%)}.chart-tip .tip-date{color:var(--fg-subtle);margin-bottom:2px;font-size:10px}.chart-tip .tip-val{font-variant-numeric:tabular-nums;font-weight:600}.row-2{grid-template-columns:1.5fr 1fr;gap:16px;margin-top:16px;display:grid}.top-list{flex-direction:column;display:flex}.top-row{border-bottom:1px solid var(--border-muted);cursor:pointer;transition:background var(--motion-fast);color:inherit;grid-template-columns:22px 1fr auto;align-items:center;gap:10px;padding:10px 16px;text-decoration:none;display:grid}.top-row:last-child{border-bottom:0}.top-row:hover{background:var(--bg-hover);color:inherit;text-decoration:none}.top-row .rank{font-family:var(--font-mono);color:var(--fg-subtle);font-variant-numeric:tabular-nums;font-size:11px}.top-row .nm{flex-direction:column;min-width:0;display:flex}.top-row .nm .ttl{color:var(--fg);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:500;overflow:hidden}.top-row .nm .sub{color:var(--fg-subtle);white-space:nowrap;text-overflow:ellipsis;font-size:11px;font-family:var(--font-mono);margin-top:1px;overflow:hidden}.top-row .val{text-align:right;color:var(--fg);font-variant-numeric:tabular-nums;font-size:13px;font-weight:500}.top-row .val .o{color:var(--fg-subtle);margin-top:1px;font-size:11px;font-weight:400;display:block}.chart-empty{text-align:center;color:var(--fg-muted);flex-direction:column;justify-content:center;align-items:center;gap:10px;padding:48px 24px;display:flex}.chart-empty svg{color:var(--fg-subtle);width:64px;height:64px}.chart-empty .ttl{color:var(--fg);font-size:13px;font-weight:500}.chart-empty .msg{color:var(--fg-muted);font-size:12px}.placeholder-page{text-align:center;color:var(--fg-muted);flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:80px 24px;display:flex}.placeholder-page svg{color:var(--fg-subtle)}.placeholder-page h2{color:var(--fg);font-size:18px}.placeholder-page p{max-width:360px;margin:0;font-size:13px}@media (max-width:1024px){.kpi-grid{grid-template-columns:repeat(2,1fr)}.row-2{grid-template-columns:1fr}}.page-narrow{max-width:880px;padding:28px var(--content-px) 80px;margin:0 auto}.toolbar{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px;display:flex}.toolbar .grow{flex:1;min-width:200px}.toolbar .right{align-items:center;gap:8px;margin-left:auto;display:flex}.toolbar .sep-v{background:var(--border);width:1px;height:18px}.chip-row{flex-wrap:wrap;gap:4px;display:inline-flex}.chip{border:1px solid var(--border-strong);border-radius:var(--r-full);background:var(--bg);height:26px;color:var(--fg-muted);cursor:pointer;transition:all var(--motion-fast);white-space:nowrap;align-items:center;gap:6px;padding:0 10px;font-size:12px;font-weight:500;display:inline-flex}.chip:hover{color:var(--fg);background:var(--bg-hover)}.chip[data-on="1"]{background:var(--accent-soft);color:var(--accent-fg-on-soft);border-color:var(--accent-border)}[data-theme=dark] .chip{background:var(--bg-elevated)}.s-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px;display:inline-block}.s-dot.onboarding{background:var(--neutral-400)}.s-dot.validated{background:var(--warning-500)}.s-dot.active{background:var(--success-500)}.s-dot.paused{background:var(--neutral-600)}.s-dot.churned{background:var(--danger-500)}.app-stat{color:var(--fg-muted);font-variant-numeric:tabular-nums;align-items:center;gap:6px;font-size:12px;display:inline-flex}.app-stat .ico{flex-shrink:0;place-items:center;width:14px;height:14px;display:inline-grid}.app-stat .ico svg{width:14px;height:14px;display:block}.app-stat.published{color:var(--success-fg)}.app-stat.published .ico{color:var(--success)}.ops-page-h{align-items:flex-end;gap:16px;margin-bottom:20px;display:flex}.ops-page-h .title-wrap{flex:1;min-width:0}.ops-page-h h1{letter-spacing:-.02em;margin-bottom:4px;font-size:24px;line-height:30px}.ops-page-h .meta{color:var(--fg-muted);font-variant-numeric:tabular-nums;font-size:13px}.ops-page-h .meta .sep{color:var(--fg-subtle);margin:0 8px}.ops-page-h .actions{gap:8px;display:flex}.ops-table-wrap{border:1px solid var(--border);border-radius:var(--r-lg);background:var(--bg-elevated);overflow:visible}.ops-table-scroll{border-radius:var(--r-lg);overflow-x:auto}.ops-table{border-collapse:collapse;width:100%;font-size:var(--table-fs);font-variant-numeric:tabular-nums}.ops-table thead th{text-align:left;white-space:nowrap;padding:0 var(--cell-px);background:var(--bg-subtle);height:32px;color:var(--fg-subtle);font-size:calc(var(--table-fs) - 1px);border-bottom:1px solid var(--border);font-weight:500}.ops-table thead th.num{text-align:right}.ops-table tbody td{padding:0 var(--cell-px);height:var(--row-h);border-bottom:1px solid var(--border-muted);white-space:nowrap;vertical-align:middle}.ops-table tbody tr{cursor:pointer;transition:background var(--motion-fast)}.ops-table tbody tr:hover{background:var(--bg-hover)}.ops-table tbody tr:last-child td{border-bottom:0}.ops-table td.num{text-align:right}.ops-table .cell-shop{align-items:center;gap:8px;min-width:0;display:flex}.ops-table .cell-shop .nm{color:var(--fg);white-space:nowrap;text-overflow:ellipsis;max-width:220px;font-weight:500;overflow:hidden}.ops-table .num-big{color:var(--fg);font-variant-numeric:tabular-nums;font-size:13px;font-weight:500}.ops-table td.mono-cell{font-family:var(--font-mono);color:var(--fg-muted);font-size:12px}.ops-table .kebab{border-radius:var(--r-sm);width:24px;height:24px;color:var(--fg-subtle);cursor:pointer;background:0 0;border:0;place-items:center;display:inline-grid}.ops-table .kebab:hover{background:var(--bg-hover);color:var(--fg)}.ops-table td.actions{text-align:right;width:32px;position:relative}.ops-table .skel-row td{padding:0 var(--cell-px)}.skel-bar{background:var(--bg-muted);border-radius:4px;height:12px;position:relative;overflow:hidden}.skel-bar:after{content:"";background:linear-gradient(90deg, transparent 0%, color-mix(in oklab, var(--bg) 70%, transparent) 50%, transparent 100%);animation:1.4s ease-in-out infinite skel-shimmer;position:absolute;inset:0;transform:translate(-100%)}@keyframes skel-shimmer{to{transform:translate(100%)}}.table-foot{border-top:1px solid var(--border);background:var(--bg-subtle);color:var(--fg-muted);justify-content:space-between;align-items:center;padding:10px 14px;font-size:12px;display:flex}.table-foot .pagination{align-items:center;gap:2px;display:inline-flex}.kbd-end{font-family:var(--font-mono);color:var(--fg-subtle);background:var(--bg-muted);border:1px solid var(--border-muted);border-radius:var(--r-sm);pointer-events:none;padding:1px 4px;font-size:10px;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.wiz-stepper{align-items:center;gap:0;margin:4px 0 24px;padding:0;display:flex}.wiz-step{flex:0 auto;align-items:center;gap:10px;min-width:0;display:flex}.wiz-step .idx{border-radius:var(--r-full);font-variant-numeric:tabular-nums;background:var(--bg);border:1px solid var(--border-strong);width:26px;height:26px;color:var(--fg-muted);transition:all var(--motion-base);flex-shrink:0;place-items:center;font-size:12px;font-weight:600;display:grid}.wiz-step .lbl-wrap{min-width:0}.wiz-step .lbl-eyebrow{font-family:var(--font-mono);color:var(--fg-subtle);text-transform:lowercase;letter-spacing:.02em;font-size:10px;line-height:1}.wiz-step .lbl{color:var(--fg-muted);white-space:nowrap;text-overflow:ellipsis;margin-top:2px;font-size:13px;font-weight:500;line-height:1.1;overflow:hidden}.wiz-step.done .idx{background:var(--accent-soft);border-color:var(--accent-border);color:var(--accent-fg-on-soft)}.wiz-step.current .idx{background:var(--accent);border-color:var(--accent);color:var(--fg-on-accent);box-shadow:0 0 0 4px var(--accent-soft)}.wiz-step.current .lbl{color:var(--fg);font-weight:600}.wiz-step.done .lbl{color:var(--fg-muted)}.wiz-stepper .connector{background:var(--border);flex:1;align-self:center;min-width:16px;height:1px;margin:-8px 12px 0}.wiz-stepper .connector.done{background:var(--accent-border)}.wiz-card{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--r-lg);overflow:hidden}.wiz-card-head{border-bottom:1px solid var(--border-muted);padding:20px 24px 16px}.wiz-card-head h2{letter-spacing:-.015em;margin-bottom:4px;font-size:18px;font-weight:600;line-height:24px}.wiz-card-head p{color:var(--fg-muted);margin:0;font-size:13px;line-height:1.5}.wiz-card-body{padding:20px 24px}.wiz-card-foot{border-top:1px solid var(--border-muted);background:var(--bg-subtle);align-items:center;gap:12px;padding:12px 24px;display:flex}.wiz-card-foot .left{align-items:center;gap:10px;display:flex}.wiz-card-foot .right{align-items:center;gap:8px;margin-left:auto;display:flex}.wiz-card-foot .pager{color:var(--fg-subtle);font-size:12px;font-family:var(--font-mono)}.form-grid{grid-template-columns:1fr 1fr;gap:24px 32px;display:grid}.form-grid h3{text-transform:uppercase;letter-spacing:.04em;color:var(--fg-subtle);font-size:12px;font-weight:600;font-family:var(--font-mono);margin-bottom:12px}.form-col{flex-direction:column;gap:14px;display:flex}.plan-card{border:1px solid var(--accent-border);border-radius:var(--r-lg);background:var(--accent-soft);align-items:center;gap:14px;padding:14px 16px;display:flex}.plan-card .check{border:5px solid var(--accent);background:var(--bg-elevated);box-sizing:content-box;border-radius:50%;flex-shrink:0;width:18px;height:18px}[data-theme=dark] .plan-card .check{background:var(--bg)}.plan-card .body{flex:1}.plan-card .ttl{align-items:center;gap:8px;font-size:13px;font-weight:600;display:flex}.plan-card .ttl .pill{font-size:10px;font-family:var(--font-mono);background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--r-sm);color:var(--fg-muted);padding:1px 5px;font-weight:500}.plan-card .desc{color:var(--fg-muted);font-variant-numeric:tabular-nums;margin-top:2px;font-size:12px}.plan-card .edit{color:var(--accent);cursor:pointer;background:0 0;border:0;font-size:12px;font-weight:500}.plan-card .edit:hover{text-decoration:underline}.instr-list{flex-direction:column;gap:12px;display:flex}.instr-step{border:1px solid var(--border);border-radius:var(--r-lg);background:var(--bg-elevated);grid-template-columns:36px 1fr;gap:16px;padding:16px 16px 16px 8px;display:grid}.instr-step .num{background:var(--bg-subtle);border:1px solid var(--border);border-radius:var(--r-md);width:28px;height:28px;font-family:var(--font-mono);color:var(--fg-muted);font-variant-numeric:tabular-nums;place-items:center;font-size:13px;font-weight:600;display:grid}.instr-step .body{min-width:0}.instr-step .ttl{color:var(--fg);margin-bottom:8px;font-size:14px;font-weight:600}.instr-step .prose{color:var(--fg-muted);margin:0;font-size:13px;line-height:1.55}.instr-step .prose code{background:var(--bg-subtle);border:1px solid var(--border-muted);border-radius:var(--r-sm);color:var(--fg);font-size:12px;font-family:var(--font-mono);padding:1px 5px}.instr-step .prose strong{color:var(--fg);font-weight:600}.instr-step .prose ul{margin:6px 0 0;padding-left:18px}.instr-step .prose ul li{margin-top:3px}.shot-placeholder{border:1px dashed var(--border-strong);border-radius:var(--r-md);background:repeating-linear-gradient(135deg, transparent 0 8px, color-mix(in oklab, var(--border-muted) 70%, transparent) 8px 9px);background-color:var(--bg-subtle);height:120px;font-family:var(--font-mono);color:var(--fg-subtle);text-align:center;justify-content:center;align-items:center;margin-top:12px;padding:0 16px;font-size:11px;display:flex}.scope-block{border:1px solid var(--border);border-radius:var(--r-md);background:var(--bg-subtle);margin-top:12px;overflow:hidden}.scope-block .head{border-bottom:1px solid var(--border-muted);font-size:11px;font-family:var(--font-mono);color:var(--fg-subtle);background:var(--bg);justify-content:space-between;align-items:center;padding:6px 8px 6px 12px;display:flex}[data-theme=dark] .scope-block .head{background:var(--bg-elevated)}.scope-block .head .lbl{align-items:center;gap:6px;display:flex}.scope-block .body{font-family:var(--font-mono);color:var(--fg);white-space:pre;padding:10px 14px;font-size:12px;line-height:1.7;overflow-x:auto}.scope-block .body .write{color:var(--warning-fg)}.copy-btn{border:1px solid var(--border-strong);border-radius:var(--r-sm);background:var(--bg-elevated);height:22px;color:var(--fg);font-size:11px;font-family:var(--font-sans);cursor:pointer;transition:all var(--motion-fast);align-items:center;gap:4px;padding:0 8px;font-weight:500;display:inline-flex}.copy-btn:hover{background:var(--bg-hover)}.copy-btn[data-copied="1"]{background:var(--success-soft);border-color:var(--success-border);color:var(--success-fg)}.confirm-row{background:var(--bg-subtle);border:1px solid var(--border-muted);border-radius:var(--r-md);cursor:pointer;align-items:center;gap:12px;margin-top:16px;padding:12px 16px;display:flex}.token-fields{flex-direction:column;gap:16px;display:flex}.token-fields textarea{font-family:var(--font-mono);min-height:60px;font-size:12px;line-height:1.5}.validate-cta{justify-content:center;margin:20px 0 0;display:flex}.val-progress{border:1px solid var(--border);border-radius:var(--r-md);background:var(--bg-subtle);flex-direction:column;gap:8px;margin-top:16px;padding:14px 16px;display:flex}.val-progress .row{color:var(--fg-muted);align-items:center;gap:10px;font-size:13px;display:flex}.val-progress .row .ico{flex-shrink:0;place-items:center;width:16px;height:16px;display:grid}.val-progress .row.pending .ico{color:var(--fg-subtle)}.val-progress .row.running .ico{color:var(--accent)}.val-progress .row.done{color:var(--fg)}.val-progress .row.done .ico{color:var(--success)}.val-progress .row.error{color:var(--danger-fg)}.val-progress .row.error .ico{color:var(--danger)}@keyframes spin{to{transform:rotate(360deg)}}.spin{animation:.9s linear infinite spin}.val-result{border:1px solid var(--border);border-radius:var(--r-lg);margin-top:16px;overflow:hidden}.val-result.success{background:var(--success-soft);border-color:var(--success-border)}.val-result.warning{background:var(--warning-soft);border-color:var(--warning-border)}.val-result.danger{background:var(--danger-soft);border-color:var(--danger-border)}.val-result .head{border-bottom:1px solid color-mix(in oklab, currentColor 30%, transparent);align-items:center;gap:10px;padding:12px 16px;font-size:14px;font-weight:600;display:flex}.val-result.success .head{color:var(--success-fg)}.val-result.warning .head{color:var(--warning-fg)}.val-result.danger .head{color:var(--danger-fg)}.val-result .head .ico{place-items:center;font-size:18px;display:inline-grid}.val-result .body{background:var(--bg-elevated);color:var(--fg-muted);padding:14px 16px;font-size:13px}.val-result .body strong{color:var(--fg);font-weight:600}.shop-info-grid{grid-template-columns:auto 1fr;gap:6px 16px;font-size:13px;display:grid}.shop-info-grid dt{color:var(--fg-subtle);font-size:12px}.shop-info-grid dd{color:var(--fg);font-variant-numeric:tabular-nums;margin:0}.shop-info-grid dd.mono{font-family:var(--font-mono);font-size:12px}.scope-result-grid{grid-template-columns:repeat(2,1fr);gap:4px 16px;margin-top:12px;display:grid}.scope-result-grid .row{font-family:var(--font-mono);color:var(--fg);align-items:center;gap:8px;padding:3px 0;font-size:12px;display:flex}.scope-result-grid .row.ok i,.scope-result-grid .row.ok .ico{color:var(--success)}.scope-result-grid .row.miss{color:var(--danger-fg)}.scope-result-grid .row.miss i,.scope-result-grid .row.miss .ico{color:var(--danger)}.wh-group-label{text-transform:uppercase;letter-spacing:.04em;color:var(--fg-subtle);font-size:11px;font-weight:600;font-family:var(--font-mono);margin:16px 0 8px}.wh-group-label:first-child{margin-top:0}.wh-list{flex-direction:column;gap:4px;display:flex}.wh-row{border:1px solid var(--border);border-radius:var(--r-md);background:var(--bg-elevated);transition:all var(--motion-base);grid-template-columns:32px 1fr auto auto;align-items:center;gap:12px;padding:10px 14px;display:grid}.wh-row .ico-square{border-radius:var(--r-sm);flex-shrink:0;place-items:center;width:28px;height:28px;display:grid}.wh-row .ico-square i,.wh-row .ico-square svg{font-size:14px}.wh-row.business .ico-square{background:var(--accent-soft);color:var(--accent-fg-on-soft)}.wh-row.lgpd .ico-square{background:var(--info-soft);color:var(--info-fg)}.wh-row .info .topic{font-family:var(--font-mono);color:var(--fg);font-size:13px;font-weight:500}.wh-row .info .desc{color:var(--fg-muted);margin-top:1px;font-size:12px}.wh-row .id{font-family:var(--font-mono);color:var(--fg-subtle);font-variant-numeric:tabular-nums;font-size:11px}.wh-row .state{place-items:center;width:18px;height:18px;font-size:16px;display:grid}.wh-row.state-pending .state{color:var(--fg-subtle)}.wh-row.state-running .state{color:var(--accent)}.wh-row.state-done .state{color:var(--success)}.wh-row.state-error .state{color:var(--danger)}.wh-row.state-error{border-color:var(--danger-border);background:var(--danger-soft)}.wh-row.state-error .info .desc{color:var(--danger-fg)}.wh-row.state-done{border-color:color-mix(in oklab, var(--success) 30%, var(--border))}.retry-link{color:var(--accent);cursor:pointer;border-radius:var(--r-sm);background:0 0;border:0;padding:4px 8px;font-size:12px;font-weight:500}.retry-link:hover{background:var(--bg-hover);text-decoration:underline}.wh-done-card{background:var(--success-soft);border:1px solid var(--success-border);border-radius:var(--r-lg);justify-content:space-between;align-items:center;gap:16px;margin-top:16px;padding:16px 20px;display:flex}.wh-done-card .body{color:var(--success-fg);align-items:center;gap:12px;display:flex}.wh-done-card .body .check-ico{color:var(--success);place-items:center;font-size:22px;display:inline-grid}.wh-done-card .body .ttl{font-size:14px;font-weight:600}.wh-done-card .body .sub{opacity:.9;margin-top:2px;font-size:12px}.empty-cell{text-align:center;padding:64px 24px}.empty-cell .ico-wrap{border-radius:var(--r-lg);background:var(--bg-subtle);border:1px solid var(--border);place-items:center;width:56px;height:56px;margin-bottom:14px;display:inline-grid}.empty-cell .ico-wrap .ico{color:var(--fg-subtle);place-items:center;font-size:24px;display:inline-grid}.empty-cell h3{margin-bottom:6px;font-size:15px;font-weight:600}.empty-cell p{color:var(--fg-muted);max-width:360px;margin:0 auto 16px;font-size:13px;line-height:1.5}.empty-cell .row{justify-content:center;gap:8px;display:flex}@media (max-width:720px){.form-grid{grid-template-columns:1fr}.wiz-step .lbl-wrap{display:none}.scope-result-grid{grid-template-columns:1fr}.page-narrow{padding:20px 16px 64px}.wh-row{grid-template-columns:28px 1fr auto;gap:10px}.wh-row .id{display:none}}.inline-code{font-family:var(--font-mono);background:var(--bg-subtle);border:1px solid var(--border-muted);border-radius:var(--r-sm);color:var(--fg);padding:1px 6px;font-size:11px;font-weight:500}.connect-cards{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:stretch;gap:16px;display:grid}.connect-card{border:1px solid var(--border);border-radius:var(--r-lg);background:var(--bg-elevated);transition:border-color var(--motion-fast), box-shadow var(--motion-fast);flex-direction:column;padding:20px 20px 18px;display:flex;position:relative}.connect-card:hover{border-color:var(--border-strong)}.connect-card.primary{border-color:var(--accent-border);background:linear-gradient(180deg, var(--accent-soft) 0%, var(--bg-elevated) 90%);box-shadow:0 0 0 1px var(--accent-border), 0 1px 2px #0000000a}[data-theme=dark] .connect-card.primary{background:linear-gradient(180deg, var(--accent-soft) 0%, var(--bg-elevated) 70%)}.connect-card-mark{border-radius:var(--r-md);background:var(--bg-subtle);border:1px solid var(--border-muted);width:36px;height:36px;color:var(--fg);place-items:center;margin-bottom:14px;display:grid}.connect-card-mark svg{width:18px;height:18px}.connect-card.primary .connect-card-mark{background:var(--accent);border-color:var(--accent);color:var(--fg-on-accent,#fff)}.connect-card-tag{font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;border-radius:var(--r-full);background:var(--accent);color:var(--fg-on-accent,#fff);padding:3px 7px;font-size:10px;font-weight:600;position:absolute;top:16px;right:16px}.connect-card-ttl{letter-spacing:-.01em;color:var(--fg);margin:0 0 6px;font-size:17px;font-weight:600;line-height:22px}.connect-card-desc{color:var(--fg-muted);margin:0 0 14px;font-size:13px;line-height:1.55}.connect-card-steps{color:var(--fg-muted);flex-direction:column;gap:6px;margin:0 0 14px;padding:0;font-size:12.5px;list-style:none;display:flex}.connect-card-steps li{align-items:flex-start;gap:8px;line-height:1.5;display:flex}.connect-card-steps li .n{background:var(--bg-elevated);border:1px solid var(--border);width:18px;height:18px;font-family:var(--font-mono);color:var(--fg-muted);border-radius:50%;flex-shrink:0;place-items:center;font-size:10px;font-weight:600;display:grid}.connect-card.primary .connect-card-steps li .n{background:var(--bg);border-color:var(--accent-border);color:var(--accent-fg-on-soft)}.connect-card-steps li code{font-family:var(--font-mono);background:var(--bg-subtle);border-radius:3px;padding:0 4px;font-size:11px}.connect-leave-note{color:var(--fg-muted);background:var(--bg);border:1px dashed var(--border);border-radius:var(--r-md);gap:8px;margin-top:auto;margin-bottom:14px;padding:8px 10px;font-size:11.5px;line-height:1.5;display:flex}.connect-leave-note.quiet{border-style:solid;border-color:var(--border-muted);background:0 0}.connect-leave-note svg{color:var(--fg-subtle);flex-shrink:0;margin-top:1px}.connect-leave-note strong{color:var(--fg);font-weight:600}.connect-cta{justify-content:flex-start;width:100%}.connect-cta svg:first-child{width:16px;height:16px}.install-url-field{border:1px solid var(--border);border-radius:var(--r-md);background:var(--bg);transition:border-color var(--motion-base), background var(--motion-base);margin-bottom:12px;padding:10px 12px}.install-url-field[data-copied="1"]{border-color:var(--success-border);background:var(--success-soft)}.install-url-label{font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;color:var(--fg-subtle);align-items:center;gap:6px;margin-bottom:6px;font-size:10px;display:flex}.install-url-label svg{width:12px;height:12px}.install-url-row{align-items:center;gap:6px;display:flex}.install-url-input{font-family:var(--font-mono);color:var(--fg);text-overflow:ellipsis;background:0 0;border:0;outline:none;flex:1;min-width:0;padding:0;font-size:12px}.install-url-copy{border-radius:var(--r-sm);border:1px solid var(--border-strong);background:var(--bg-elevated);height:26px;color:var(--fg);cursor:pointer;transition:all var(--motion-fast);flex-shrink:0;align-items:center;gap:5px;padding:0 10px;font-size:12px;font-weight:500;display:inline-flex}.install-url-copy:hover{background:var(--bg-hover)}.install-url-copy svg{width:12px;height:12px}.install-url-field[data-copied="1"] .install-url-copy{border-color:var(--success-border);background:var(--bg-elevated);color:var(--success-fg)}.install-url-field[data-copied="1"] .install-url-copy svg{color:var(--success)}.install-send-row{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:14px;display:flex}.install-send-row .send-row-hint{color:var(--fg-subtle);font-size:11.5px;line-height:1.45}.install-send-row .send-row-hint code{font-family:var(--font-mono);color:var(--fg-muted);font-size:11px}.connect-curtain{z-index:5;background:color-mix(in oklch, var(--bg-elevated) 92%, transparent);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);border-radius:0 0 var(--r-lg) var(--r-lg);place-items:center;display:grid;position:absolute;inset:0}.wiz-card{position:relative}.connect-curtain-body{text-align:center;max-width:420px;padding:32px 24px}.connect-curtain-icon{background:var(--accent-soft);width:48px;height:48px;color:var(--accent);border-radius:50%;place-items:center;margin:0 auto 14px;display:grid}.connect-curtain-icon svg{width:22px;height:22px;animation:.9s linear infinite spin}.connect-curtain h3{margin-bottom:6px;font-size:16px;font-weight:600;line-height:22px}.connect-curtain p{color:var(--fg-muted);margin:0 0 12px;font-size:13px;line-height:1.55}.connect-curtain p code{font-family:var(--font-mono);color:var(--fg);font-size:12px}.connect-curtain-url{font-family:var(--font-mono);color:var(--fg-muted);background:var(--bg-subtle);border:1px solid var(--border-muted);border-radius:var(--r-sm);text-overflow:ellipsis;white-space:nowrap;max-width:100%;margin:0 auto 14px;padding:6px 10px;font-size:11px;display:inline-block;overflow:hidden}.back-blocked-wrap{display:inline-block;position:relative}.back-blocked-pop{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--r-md);width:280px;box-shadow:var(--shadow-popover);color:var(--fg-muted);z-index:10;gap:8px;padding:10px 12px;font-size:12px;line-height:1.5;display:flex;position:absolute;bottom:calc(100% + 8px);left:0}.back-blocked-pop svg{color:var(--fg-subtle);flex-shrink:0;margin-top:1px}.back-blocked-pop strong{color:var(--fg);font-weight:600}.back-blocked-pop code{font-family:var(--font-mono);background:var(--bg-subtle);color:var(--fg);border-radius:3px;padding:0 4px;font-size:11px}.oauth-toast{border:1px solid var(--border);border-radius:var(--r-lg);background:var(--bg-elevated);grid-template-columns:36px 1fr auto;align-items:flex-start;gap:12px;margin-bottom:16px;padding:14px 14px 14px 12px;animation:.22s cubic-bezier(.2,.7,.2,1) oauth-toast-in;display:grid}@keyframes oauth-toast-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.oauth-toast.success{background:var(--success-soft);border-color:var(--success-border)}.oauth-toast.danger{background:var(--danger-soft);border-color:var(--danger-border)}.oauth-toast-icon{border-radius:var(--r-md);background:var(--bg-elevated);place-items:center;width:36px;height:36px;display:grid}.oauth-toast-icon svg{width:22px;height:22px}.oauth-toast.success .oauth-toast-icon{color:var(--success)}.oauth-toast.danger .oauth-toast-icon{color:var(--danger)}.oauth-toast-body{min-width:0}.oauth-toast-body .ttl{color:var(--fg);flex-wrap:wrap;align-items:center;gap:8px;font-size:14px;font-weight:600;line-height:20px;display:flex}.oauth-toast.success .oauth-toast-body .ttl{color:var(--success-fg)}.oauth-toast.danger .oauth-toast-body .ttl{color:var(--danger-fg)}.oauth-toast-body .sub{color:var(--fg-muted);margin-top:2px;font-size:12.5px;line-height:1.5}.oauth-toast-body .sub code{font-family:var(--font-mono);background:var(--bg-elevated);border:1px solid var(--border-muted);color:var(--fg);border-radius:3px;padding:0 4px;font-size:11px}.oauth-toast-body .code-pill{font-family:var(--font-mono);background:var(--danger);color:#fff;border-radius:var(--r-sm);letter-spacing:.02em;padding:2px 6px;font-size:10px;font-weight:600}.oauth-toast-actions{gap:8px;margin-top:10px;display:flex}.oauth-toast-close{border-radius:var(--r-sm);width:26px;height:26px;color:var(--fg-subtle);cursor:pointer;background:0 0;border:0;align-self:flex-start;place-items:center;display:grid}.oauth-toast-close:hover{background:var(--bg-hover);color:var(--fg)}@media (max-width:720px){.connect-cards{grid-template-columns:1fr}.connect-card-tag{align-self:flex-start;margin-bottom:8px;position:static}.oauth-toast{grid-template-columns:28px 1fr}.oauth-toast-close{grid-column:2;justify-self:flex-end}.oauth-toast-icon{width:28px;height:28px}.oauth-toast-icon svg{width:18px;height:18px}}
