:root{--g-blue-500: #4285F4;--g-red-500: #EA4335;--g-yellow-500: #FBBC04;--g-green-500: #34A853;--g-grey: #3C4043;--g-grey-500: #9AA0A6;--g-black: #000000;--g-white: #FFFFFF;--color-primary: #1A73E8;--color-primary-deep: #1557B0;--color-primary-soft: #E8F0FE;--color-primary-hairline:#D2E3FC;--color-success: #1E8E3E;--color-success-deep: #188038;--color-success-soft: #E6F4EA;--color-critical: #D93025;--color-critical-deep: #B31412;--color-critical-soft: #FCE8E6;--color-critical-strong:#C5221F;--color-attention: #B06000;--color-attention-soft: #FEF7E0;--color-primary-ink: #174EA6;--color-success-ink: #0D652D;--color-attention-ink: #6D4000;--color-critical-ink: #A50E0E;--color-canvas: #FFFFFF;--color-surface-soft: #F8F9FA;--color-surface-alt: #F1F3F4;--color-hairline: #DADCE0;--color-hairline-soft: #E8EAED;--color-ink-deep: #202124;--color-ink: #3C4043;--color-charcoal: #5F6368;--color-slate: #5F6368;--color-steel: #80868B;--color-stone: #9AA0A6;--color-on-primary: #FFFFFF;--color-on-ink: #FFFFFF;--color-disabled-bg: #F1F3F4;--color-disabled-text: #9AA0A6;--border-ghost: #DADCE0;--font-sans: "Google Sans", "Google Sans Text", Roboto, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;--font-mono: "Roboto Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--font-features: normal;--type-display-size: 28px;--type-display-weight: 400;--type-display-lh: 36px;--type-headline-size: 22px;--type-headline-weight: 400;--type-headline-lh: 28px;--type-title-size: 16px;--type-title-weight: 500;--type-title-lh: 24px;--type-subtitle-size: 14px;--type-subtitle-weight: 500;--type-subtitle-lh: 20px;--type-body-size: 14px;--type-body-weight: 400;--type-body-lh: 20px;--type-body-lg-size: 16px;--type-body-lg-weight: 400;--type-body-lg-lh: 24px;--type-caption-size: 12px;--type-caption-weight: 400;--type-caption-lh: 16px;--type-label-size: 14px;--type-label-weight: 500;--type-label-lh: 20px;--type-tracking: 0;--type-tracking-wide: .25px;--space-xxs: 4px;--space-xs: 8px;--space-sm: 12px;--space-md: 16px;--space-base: 16px;--space-lg: 24px;--space-xl: 32px;--space-xxl: 40px;--space-xxxl: 48px;--space-section: 64px;--space-section-lg: 80px;--radius-xs: 4px;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 8px;--radius-xl: 12px;--radius-xxl: 16px;--radius-xxxl: 28px;--radius-feature: 28px;--radius-full: 100px;--radius-circle: 50%;--shadow-none: none;--shadow-subtle: 0 1px 2px 0 rgba(60, 64, 67, .3), 0 1px 3px 1px rgba(60, 64, 67, .15);--shadow-panel: 0 1px 3px 0 rgba(60, 64, 67, .3), 0 4px 8px 3px rgba(60, 64, 67, .15);--motion-fast: .1s cubic-bezier(.4, 0, .2, 1);--motion-medium: .2s cubic-bezier(.4, 0, .2, 1);--motion-slow: .3s cubic-bezier(.4, 0, .2, 1);--container-max: 1280px;--rail-width: 400px;--topbar-height: 64px}@media (prefers-reduced-motion: reduce){:root{--motion-fast: 1ms linear;--motion-medium: 1ms linear;--motion-slow: 1ms linear}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%}*{scrollbar-width:thin;scrollbar-color:var(--color-hairline) transparent}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--color-hairline);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--color-stone)}::-webkit-scrollbar-corner{background:transparent}body{font-family:var(--font-sans);font-size:var(--type-body-size);font-weight:var(--type-body-weight);line-height:var(--type-body-lh);letter-spacing:var(--type-tracking);background:var(--color-canvas);color:var(--color-ink);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.t-display{font-size:var(--type-display-size);font-weight:var(--type-display-weight);line-height:var(--type-display-lh);color:var(--color-ink-deep)}.t-headline{font-size:var(--type-headline-size);font-weight:var(--type-headline-weight);line-height:var(--type-headline-lh);color:var(--color-ink-deep)}.t-title{font-size:var(--type-title-size);font-weight:var(--type-title-weight);line-height:var(--type-title-lh);color:var(--color-ink-deep)}.t-body-lg{font-size:var(--type-body-lg-size);line-height:var(--type-body-lg-lh)}.t-body-sm,.small{font-size:var(--type-body-size);line-height:var(--type-body-lh)}.t-caption{font-size:var(--type-caption-size);line-height:var(--type-caption-lh)}.section-label{font-size:var(--type-label-size);font-weight:var(--type-label-weight);line-height:var(--type-label-lh);color:var(--color-ink-deep);margin-bottom:var(--space-sm)}.section-label:not(:first-child){margin-top:var(--space-lg)}.muted{color:var(--color-charcoal)}.hint{font-size:var(--type-caption-size);line-height:var(--type-caption-lh);color:var(--color-steel)}.app{min-height:100vh;display:flex;flex-direction:column;background:var(--color-canvas)}.topbar{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);min-height:var(--topbar-height);padding:var(--space-sm) var(--space-lg);background:var(--color-canvas);border-bottom:1px solid var(--color-hairline-soft);position:sticky;top:0;z-index:20}.brand{display:flex;align-items:center;gap:var(--space-sm);background:none;border:0;padding:var(--space-xxs) var(--space-xs);cursor:pointer;font-family:inherit;font-size:var(--type-headline-size);font-weight:400;color:var(--color-ink-deep);border-radius:var(--radius-full)}.brand strong{font-weight:500}.brand-mark{width:22px;height:22px;flex:0 0 auto;border-radius:var(--radius-circle);background:conic-gradient(var(--g-red-500) 0 25%,var(--g-yellow-500) 0 50%,var(--g-green-500) 0 75%,var(--g-blue-500) 0)}.topbar-right{display:flex;align-items:center;gap:var(--space-lg)}.main{flex:1;width:100%;max-width:1040px;margin:0 auto;padding:var(--space-xl) var(--space-lg)}.main--flush{max-width:none;padding:0}.footer{padding:var(--space-lg);text-align:center;font-size:var(--type-caption-size);line-height:var(--type-caption-lh);color:var(--color-steel);border-top:1px solid var(--color-hairline-soft)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-xs);font-family:inherit;font-size:var(--type-label-size);font-weight:var(--type-label-weight);line-height:var(--type-label-lh);letter-spacing:var(--type-tracking-wide);height:40px;padding:0 24px;border-radius:var(--radius-full);border:1px solid transparent;cursor:pointer;white-space:nowrap;transition:background var(--motion-fast),border-color var(--motion-fast),box-shadow var(--motion-fast),color var(--motion-fast)}.btn:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.btn:disabled{cursor:not-allowed}.btn--cobalt{background:var(--color-primary);color:var(--color-on-primary)}.btn--cobalt:hover:not(:disabled){background:var(--color-primary-deep);box-shadow:var(--shadow-subtle)}.btn--cobalt:active:not(:disabled){background:var(--color-primary-deep)}.btn--success{background:var(--color-success);color:var(--color-on-primary)}.btn--success:hover:not(:disabled){background:var(--color-success-deep);box-shadow:var(--shadow-subtle)}.btn--success:active:not(:disabled){background:var(--color-success-deep)}.btn--cobalt:disabled,.btn--success:disabled{background:var(--color-disabled-bg);color:var(--color-disabled-text);box-shadow:none}.btn--secondary{background:transparent;color:var(--color-primary);border-color:var(--color-hairline)}.btn--secondary:hover:not(:disabled){background:var(--color-primary-soft);border-color:var(--color-primary-hairline)}.btn--ghost{background:transparent;color:var(--color-primary);border-color:transparent;padding:0 12px}.btn--ghost:hover:not(:disabled){background:var(--color-primary-soft)}.btn--danger{background:transparent;color:var(--color-critical);border-color:transparent;padding:0 12px}.btn--danger:hover:not(:disabled){background:var(--color-critical-soft)}.btn--danger-solid{background:var(--color-critical);color:var(--color-on-primary);border-color:transparent}.btn--danger-solid:hover:not(:disabled){background:var(--color-critical-deep)}.btn--danger-solid:disabled{background:var(--color-disabled-bg);color:var(--color-disabled-text)}.btn--secondary:disabled,.btn--ghost:disabled,.btn--danger:disabled{color:var(--color-disabled-text);border-color:var(--color-disabled-bg);background:transparent}.btn--sm{height:32px;padding:0 16px;font-size:var(--type-body-size)}.btn--ghost.btn--sm,.btn--danger.btn--sm{padding:0 12px}.card{background:var(--color-canvas);border:1px solid var(--color-hairline-soft);border-radius:var(--radius-xl);padding:var(--space-lg);box-shadow:var(--shadow-none)}.card--narrow{max-width:720px}.card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-md);flex-wrap:wrap;margin-bottom:var(--space-md)}.card-head .hint{display:block}.empty{text-align:center;padding:var(--space-section) var(--space-lg)}.empty p{margin:var(--space-xs) auto var(--space-lg);max-width:48ch}.stack{display:flex;flex-direction:column;gap:var(--space-md)}.stack-lg{display:flex;flex-direction:column;gap:var(--space-lg)}.row{display:flex;align-items:center;gap:var(--space-sm);flex-wrap:wrap}.field{display:flex;flex-direction:column;gap:var(--space-xs);margin-bottom:var(--space-md)}.field:last-child{margin-bottom:0}.label{font-size:var(--type-label-size);font-weight:var(--type-label-weight);line-height:var(--type-label-lh);color:var(--color-ink-deep)}.input{font-family:inherit;font-size:var(--type-body-lg-size);line-height:var(--type-body-lg-lh);height:48px;width:100%;padding:0 var(--space-md);background:var(--color-canvas);color:var(--color-ink);border:1px solid var(--color-hairline);border-radius:var(--radius-sm);transition:border-color var(--motion-fast),box-shadow var(--motion-fast)}.input::placeholder{color:var(--color-stone)}.input:hover{border-color:var(--color-charcoal)}.input:focus{outline:none;border-color:var(--color-primary);box-shadow:inset 0 0 0 1px var(--color-primary)}select.input{cursor:pointer}.control{margin-bottom:var(--space-md)}.control-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-sm);margin-bottom:var(--space-xxs)}.control-value{font-size:var(--type-caption-size);font-weight:var(--type-label-weight);color:var(--color-charcoal);font-variant-numeric:tabular-nums;flex:0 0 auto}.slider{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:28px;background:transparent;cursor:pointer;touch-action:pan-y}.slider::-webkit-slider-runnable-track{height:4px;border-radius:var(--radius-full);background:var(--color-hairline)}.slider::-webkit-slider-thumb{-webkit-appearance:none;width:14px;height:14px;margin-top:-5px;border-radius:var(--radius-circle);background:var(--color-primary);border:0}.slider::-moz-range-track{height:4px;border-radius:var(--radius-full);background:var(--color-hairline)}.slider::-moz-range-thumb{width:14px;height:14px;border-radius:var(--radius-circle);background:var(--color-primary);border:0}.slider:disabled::-webkit-slider-thumb{background:var(--color-stone)}.slider:focus-visible{outline:2px solid var(--color-primary);outline-offset:4px}.swatch{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:32px;height:32px;flex:0 0 auto;padding:0;border:none;border-radius:var(--radius-circle);background:none;cursor:pointer;box-shadow:0 0 0 1px var(--color-hairline)}.swatch::-webkit-color-swatch-wrapper{padding:0}.swatch::-webkit-color-swatch{border:2px solid var(--color-canvas);border-radius:var(--radius-circle)}.swatch::-moz-color-swatch{border:2px solid var(--color-canvas);border-radius:var(--radius-circle)}.swatch:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.switch-row{display:flex;align-items:center;gap:var(--space-sm);min-height:40px;font-size:var(--type-body-size);color:var(--color-ink);cursor:pointer}.switch{-webkit-appearance:none;-moz-appearance:none;appearance:none;position:relative;width:36px;height:20px;flex:0 0 auto;border-radius:var(--radius-full);background:var(--color-hairline);cursor:pointer;transition:background var(--motion-medium)}.switch:after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:var(--radius-circle);background:var(--color-canvas);transition:transform var(--motion-medium);box-shadow:0 1px 2px #3c40434d}.switch:checked{background:var(--color-primary)}.switch:checked:after{transform:translate(16px)}.switch:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.builder{display:flex;flex-direction:column;height:100%;min-height:0}.builder-bar{flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);flex-wrap:wrap;padding:var(--space-xs) var(--space-lg);border-bottom:1px solid var(--color-hairline-soft);background:var(--color-canvas)}.builder-bar-left{display:flex;align-items:center;gap:var(--space-sm);min-width:0}.builder-title{display:flex;flex-direction:column;min-width:0}.builder-name{font-size:var(--type-title-size);font-weight:var(--type-title-weight);line-height:var(--type-title-lh);color:var(--color-ink-deep);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.builder-body{flex:1;min-height:0;display:grid;grid-template-columns:1fr}.builder-canvas{min-width:0;min-height:0;overflow-y:auto;padding:var(--space-lg);background:var(--color-surface-soft);display:flex;flex-direction:column;gap:var(--space-md)}.builder-rail{display:grid;grid-template-columns:56px minmax(0,1fr);min-height:0;background:var(--color-canvas);border-right:1px solid var(--color-hairline-soft);overflow:hidden}.rail-icons{display:flex;flex-direction:column;gap:var(--space-xxs);padding:var(--space-sm) var(--space-xs);border-right:1px solid var(--color-hairline-soft)}.rail-icon{width:40px;height:40px;display:flex;align-items:center;justify-content:center;border:0;border-radius:var(--radius-circle);background:transparent;color:var(--color-charcoal);cursor:pointer;transition:background var(--motion-fast),color var(--motion-fast)}.rail-icon:hover{background:var(--color-surface-alt)}.rail-icon--active{background:var(--color-primary-soft);color:var(--color-primary)}.rail-icon--active:hover{background:var(--color-primary-soft)}.rail-icon:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.rail-panel{padding:var(--space-lg);min-width:0}.template-list{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-sm)}.template-card{display:block;width:100%;text-align:left;font-family:inherit;padding:var(--space-xxs);min-width:0;overflow:hidden;background:var(--color-canvas);border:1px solid var(--color-hairline);border-radius:var(--radius-xl);cursor:pointer;transition:border-color var(--motion-fast),background var(--motion-fast),box-shadow var(--motion-fast)}.template-card:hover{box-shadow:var(--shadow-subtle)}.template-card--active{border-color:var(--color-primary);background:var(--color-primary-soft)}.template-card:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.thumb{padding:6px;overflow:hidden;border-radius:var(--radius-md)}.template-name{display:block;padding:var(--space-xxs) var(--space-xxs) var(--space-xs);font-size:var(--type-body-size);font-weight:var(--type-label-weight);color:var(--color-ink-deep)}.template-card--active .template-name{color:var(--color-primary)}.skins{display:grid;grid-template-columns:repeat(auto-fill,minmax(46px,1fr));gap:var(--space-xs);margin-bottom:var(--space-xs)}.skin{display:flex;height:32px;padding:0;overflow:hidden;border:1px solid var(--color-hairline);border-radius:var(--radius-md);cursor:pointer;background:none;transition:border-color var(--motion-fast),box-shadow var(--motion-fast)}.skin span{flex:1}.skin:hover{box-shadow:var(--shadow-subtle)}.skin--active{border-color:var(--color-primary);box-shadow:0 0 0 1px var(--color-primary)}.skin:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.linkish{font:inherit;color:var(--color-primary);background:none;border:0;padding:0;cursor:pointer}.linkish:hover{text-decoration:underline}.disclosure{display:flex;align-items:center;gap:var(--space-sm);width:100%;text-align:left;font-family:inherit;font-size:var(--type-label-size);font-weight:var(--type-label-weight);color:var(--color-ink-deep);background:var(--color-surface-soft);border:1px solid var(--color-hairline);border-radius:var(--radius-md);padding:var(--space-sm) var(--space-md);margin-top:var(--space-md);cursor:pointer;transition:background var(--motion-fast),border-color var(--motion-fast)}.disclosure:hover{background:var(--color-primary-soft);border-color:var(--color-primary-hairline)}.disclosure[aria-expanded=true]{background:var(--color-primary-soft);border-color:var(--color-primary-hairline);color:var(--color-primary);border-bottom-left-radius:0;border-bottom-right-radius:0}.disclosure:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.disclosure-chevron{margin-left:auto;font-size:10px;color:var(--color-charcoal);transition:transform var(--motion-medium)}.disclosure-body{padding:var(--space-md);border:1px solid var(--color-primary-hairline);border-top:0;border-radius:0 0 var(--radius-md) var(--radius-md)}.colour-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-xs);margin:var(--space-md) 0 var(--space-xs)}.colour-list{display:flex;flex-direction:column;border:1px solid var(--color-hairline-soft);border-radius:var(--radius-lg);overflow:hidden}.colour-row{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-xs) var(--space-sm);cursor:pointer;transition:background var(--motion-fast)}.colour-row:hover{background:var(--color-surface-soft)}.colour-row+.colour-row{border-top:1px solid var(--color-hairline-soft)}.colour-text{display:flex;flex-direction:column;min-width:0;flex:1}.colour-label{font-size:var(--type-body-size);font-weight:var(--type-label-weight);color:var(--color-ink-deep)}.colour-desc{font-size:var(--type-caption-size);line-height:var(--type-caption-lh);color:var(--color-steel)}.colour-hex{width:86px;flex:0 0 auto;font-family:var(--font-mono);font-size:var(--type-caption-size);text-transform:lowercase;padding:6px var(--space-xs);border:1px solid var(--color-hairline);border-radius:var(--radius-sm);background:var(--color-canvas);color:var(--color-ink)}.colour-hex:focus{outline:none;border-color:var(--color-primary)}.colour-row .swatch{width:26px;height:26px}.badge{display:inline-flex;align-items:center;font-size:var(--type-caption-size);font-weight:var(--type-label-weight);line-height:var(--type-caption-lh);padding:4px 12px;border-radius:var(--radius-full);background:var(--color-surface-alt);color:var(--color-charcoal);white-space:nowrap}.badge--success{background:var(--color-success-soft);color:var(--color-success)}.badge--attention{background:var(--color-attention-soft);color:var(--color-attention)}.badge--critical{background:var(--color-critical-soft);color:var(--color-critical)}.usage{margin-top:var(--space-lg);padding:var(--space-md) var(--space-lg);background:var(--color-surface-soft);border:1px solid var(--color-hairline-soft);border-radius:var(--radius-xl)}.usage-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-sm);flex-wrap:wrap;margin-bottom:var(--space-xs)}.usage-label{font-size:var(--type-body-size);font-weight:var(--type-label-weight);color:var(--color-ink-deep)}.usage-value{font-size:var(--type-body-size);color:var(--color-charcoal)}.usage-value strong{color:var(--color-ink-deep);font-weight:500}.usage .hint{margin-top:var(--space-xs);display:block}.quota{min-width:200px}.quota-bar{height:4px;background:var(--color-hairline-soft);border-radius:var(--radius-full);overflow:hidden;margin-bottom:var(--space-xxs)}.quota-fill{height:100%;border-radius:var(--radius-full);background:var(--g-green-500);transition:width var(--motion-slow)}.quota--warn .quota-fill{background:var(--g-yellow-500)}.quota--danger .quota-fill{background:var(--g-red-500)}.quota-text{font-size:var(--type-caption-size);line-height:var(--type-caption-lh);color:var(--color-steel)}.quota-text strong{color:var(--color-ink-deep);font-weight:500}.page-head{margin-bottom:var(--space-md)}.page-head h1{margin-bottom:var(--space-xxs)}.summary{display:flex;align-items:center;gap:var(--space-lg);flex-wrap:wrap;margin-bottom:var(--space-lg)}.summary-stats{display:flex;align-items:center;gap:var(--space-lg);flex-wrap:wrap}.summary-stat{font-size:var(--type-body-size);color:var(--color-charcoal)}.summary-stat strong{font-size:var(--type-headline-size);font-weight:400;color:var(--color-ink-deep);margin-right:6px}.icon-btn{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border:0;border-radius:var(--radius-circle);background:transparent;color:var(--color-charcoal);cursor:pointer;transition:background var(--motion-fast)}.icon-btn:hover{background:var(--color-surface-alt)}.icon-btn:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.menu{position:relative}.menu-pop{position:absolute;top:calc(100% + 4px);right:0;z-index:30;min-width:208px;padding:var(--space-xs) 0;background:var(--color-canvas);border-radius:var(--radius-md);box-shadow:var(--shadow-panel)}.menu-item{display:block;width:100%;text-align:left;font-family:inherit;font-size:var(--type-body-size);color:var(--color-ink);background:none;border:0;padding:var(--space-sm) var(--space-md);cursor:pointer}.menu-item:hover{background:var(--color-surface-soft)}.menu-item--danger{color:var(--color-critical)}.menu-item--danger:hover{background:var(--color-critical-soft)}.business{padding:0;overflow:hidden}.business-head{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:var(--space-md);align-items:start;padding:var(--space-lg)}.business-avatar{width:40px;height:40px;flex:0 0 auto;border-radius:var(--radius-circle);display:flex;align-items:center;justify-content:center;color:var(--color-canvas);font-size:var(--type-title-size);font-weight:500;line-height:1}.business-meta{min-width:0}.business-meta h2{margin-bottom:2px}.business-address{display:block;margin-bottom:var(--space-xs);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.business-actions{display:flex;align-items:center;gap:var(--space-xs);flex:0 0 auto}.chips{display:flex;flex-wrap:wrap;gap:var(--space-xs)}.chip{display:inline-flex;align-items:center;gap:var(--space-xxs);font-size:var(--type-caption-size);line-height:var(--type-caption-lh);color:var(--color-charcoal);background:var(--color-surface-alt);border-radius:var(--radius-full);padding:4px 10px;white-space:nowrap}.chip--rating{background:var(--color-attention-soft)}.chip strong{color:var(--color-ink-deep);font-weight:500}.results,.widget-rows{list-style:none}.widget-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:var(--space-md);padding:var(--space-sm) var(--space-lg);border-top:1px solid var(--color-hairline-soft);transition:background var(--motion-fast)}.widget-row:hover{background:var(--color-surface-soft)}.widget-icon{width:36px;height:36px;border-radius:var(--radius-md);background:var(--color-primary-soft);color:var(--color-primary);display:flex;align-items:center;justify-content:center;flex:0 0 auto}.widget-text{display:flex;flex-direction:column;min-width:0}.widget-name{font-size:var(--type-body-size);font-weight:var(--type-label-weight);color:var(--color-ink-deep)}.widget-id{font-family:var(--font-mono);font-size:var(--type-caption-size);color:var(--color-stone)}.widget-actions{display:flex;align-items:center;gap:var(--space-xs)}.widget-empty{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);flex-wrap:wrap;padding:var(--space-md) var(--space-lg);border-top:1px solid var(--color-hairline-soft);background:var(--color-surface-soft)}.result{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);padding:var(--space-sm) 0;border-top:1px solid var(--color-hairline-soft);flex-wrap:wrap}.result-name{font-size:var(--type-title-size);font-weight:var(--type-title-weight);color:var(--color-ink-deep)}.empty-mark{width:56px;height:56px;margin:0 auto var(--space-md);border-radius:var(--radius-circle);background:conic-gradient(var(--g-red-500) 0 25%,var(--g-yellow-500) 0 50%,var(--g-green-500) 0 75%,var(--g-blue-500) 0);mask:radial-gradient(circle,transparent 52%,#000 53%);-webkit-mask:radial-gradient(circle,transparent 52%,#000 53%)}.preview-card{flex:0 0 auto;display:flex;flex-direction:column}.preview-viewport{min-height:320px;max-height:clamp(380px,calc(100vh - 330px),760px);overflow-y:auto;overflow-x:hidden;display:flex;justify-content:center;align-items:flex-start;background:var(--color-surface-soft);border:1px solid var(--color-hairline-soft);border-radius:var(--radius-md);padding:var(--space-md)}.preview-scaler{position:relative;flex:0 0 auto;transition:width var(--motion-medium),height var(--motion-medium)}.preview-frame{border:0;background:var(--color-canvas);display:block;transform-origin:top left;box-shadow:0 0 0 1px var(--color-hairline-soft);border-radius:var(--radius-sm)}.preview-scale-note{font-size:var(--type-caption-size);color:var(--color-steel);font-variant-numeric:tabular-nums}.mini-select{font-family:inherit;font-size:var(--type-caption-size);color:var(--color-charcoal);background:var(--color-canvas);border:1px solid var(--color-hairline);border-radius:var(--radius-full);padding:5px 10px;cursor:pointer}.mini-select:hover{background:var(--color-surface-soft)}.mini-select:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.seg{display:inline-flex;border:1px solid var(--color-hairline);border-radius:var(--radius-full);overflow:hidden}.seg-btn{display:inline-flex;align-items:center;gap:var(--space-xs);font-family:inherit;font-size:var(--type-caption-size);font-weight:var(--type-label-weight);color:var(--color-charcoal);background:var(--color-canvas);border:0;padding:6px 14px;cursor:pointer;transition:background var(--motion-fast),color var(--motion-fast)}.seg-btn+.seg-btn{border-left:1px solid var(--color-hairline)}.seg-btn:hover{background:var(--color-surface-soft)}.seg-btn--active{background:var(--color-primary-soft);color:var(--color-primary)}.seg-btn--active:hover{background:var(--color-primary-soft)}.seg-btn:focus-visible{outline:2px solid var(--color-primary);outline-offset:-2px}.code{background:var(--color-surface-alt);color:var(--color-ink-deep);border:0;padding:var(--space-sm) var(--space-md);border-radius:var(--radius-md);font-family:var(--font-mono);font-size:var(--type-caption-size);line-height:1.6;white-space:pre;overflow-x:auto}@media (min-width: 1024px){.app--fixed{height:100vh;overflow:hidden}.main--flush{flex:1;min-height:0;margin:0;overflow:hidden}.builder-body{grid-template-columns:var(--rail-width) minmax(0,1fr)}.rail-panel{overflow-y:auto;min-height:0}}@media (max-width: 1023px){.preview-frame{min-height:520px}}@media (max-width: 767px){.main{padding:var(--space-md)}.topbar{padding:var(--space-xs) var(--space-md)}.card{padding:var(--space-md)}.business{padding:0}.business-head{grid-template-columns:auto minmax(0,1fr);padding:var(--space-md)}.business-actions{grid-column:1 / -1}.business-actions .btn{flex:1}.widget-row{grid-template-columns:auto minmax(0,1fr);padding:var(--space-md)}.widget-row .status,.widget-actions{grid-column:2 / -1}.widget-actions .btn{flex:1}.widget-empty{padding:var(--space-md)}.t-display{font-size:var(--type-headline-size);line-height:var(--type-headline-lh)}.quota{min-width:0}.quota-text{display:none}.result,.widget-row{align-items:flex-start;flex-direction:column}.preview-frame{min-height:420px}.builder-bar{padding:var(--space-xs) var(--space-md)}.builder-canvas{padding:var(--space-md)}}@media (max-width: 479px){.card-head{flex-direction:column}.card-head .row{width:100%}.card-head .row .btn{flex:1}.template-list{grid-template-columns:1fr}}.auth{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:var(--space-lg);background:var(--color-surface-soft)}.auth-card{width:100%;max-width:420px;background:var(--color-canvas);border:1px solid var(--color-hairline-soft);border-radius:var(--radius-xxl);padding:var(--space-xl)}.auth-brand{display:flex;align-items:center;gap:var(--space-xs);font-size:var(--type-title-size);color:var(--color-ink-deep);margin-bottom:var(--space-lg)}.auth-brand strong{font-weight:500}.auth-card h1{margin-bottom:var(--space-xxs)}.auth-sub{margin-bottom:var(--space-lg)}.auth-submit{width:100%;margin-top:var(--space-xs)}.auth-links{display:flex;flex-direction:column;gap:var(--space-sm);align-items:flex-start;margin-top:var(--space-lg);padding-top:var(--space-md);border-top:1px solid var(--color-hairline-soft);font-size:var(--type-body-size)}.hint--warn{color:var(--color-attention)}.alert--success{background:var(--color-success-soft);color:var(--color-success-deep)}.account-btn{width:36px;height:36px;border:0;border-radius:var(--radius-circle);background:var(--color-primary);color:var(--color-on-primary);font-family:inherit;font-size:var(--type-body-size);font-weight:500;cursor:pointer;flex:0 0 auto}.account-btn:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.account-pop{min-width:260px}.account-head{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md) var(--space-md)}.account-avatar{width:40px;height:40px;flex:0 0 auto;border-radius:var(--radius-circle);background:var(--color-primary);color:var(--color-on-primary);display:flex;align-items:center;justify-content:center;font-size:var(--type-title-size);font-weight:500}.account-id{display:flex;flex-direction:column;min-width:0}.account-name{font-size:var(--type-body-size);font-weight:500;color:var(--color-ink-deep)}.account-email{font-size:var(--type-caption-size);color:var(--color-charcoal);overflow:hidden;text-overflow:ellipsis}.menu-sep{height:1px;background:var(--color-hairline-soft);margin:0 0 var(--space-xs)}.seg--full{width:100%}.seg--full .seg-btn{flex:1;text-align:center}.reviews-tally{font-size:var(--type-caption-size);line-height:var(--type-caption-lh);color:var(--color-charcoal);background:var(--color-surface-soft);border-radius:var(--radius-md);padding:var(--space-sm) var(--space-md);margin-bottom:var(--space-md)}.review-list{list-style:none;display:flex;flex-direction:column;gap:var(--space-xs)}.review-item{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-sm);padding:var(--space-sm);border:1px solid var(--color-hairline-soft);border-radius:var(--radius-md);transition:opacity var(--motion-fast),background var(--motion-fast)}.review-item--off{opacity:.55;background:var(--color-surface-soft)}.review-item-main{min-width:0;display:flex;flex-direction:column;gap:2px}.review-item-head{display:flex;align-items:center;gap:var(--space-xs);flex-wrap:wrap}.review-author{font-size:var(--type-body-size);font-weight:var(--type-label-weight);color:var(--color-ink-deep)}.review-snippet{font-size:var(--type-caption-size);line-height:var(--type-caption-lh);color:var(--color-charcoal);overflow-wrap:anywhere}.alert{display:flex;align-items:flex-start;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-md);font-size:var(--type-body-size);line-height:var(--type-body-lh);color:var(--color-ink-deep);margin-bottom:var(--space-md)}.alert-icon{flex:0 0 auto;margin-top:1px}.alert-body{min-width:0}.alert strong{font-weight:500}.alert--info{background:var(--color-primary-soft)}.alert--info .alert-icon{color:var(--color-primary)}.alert--success{background:var(--color-success-soft)}.alert--success .alert-icon{color:var(--color-success)}.alert--warn{background:var(--color-attention-soft)}.alert--warn .alert-icon{color:var(--color-attention)}.alert--error{background:var(--color-critical-soft)}.alert--error .alert-icon{color:var(--color-critical)}.status{display:inline-flex;align-items:center;gap:var(--space-xs);padding:5px 12px;border-radius:var(--radius-full);font-size:var(--type-caption-size);font-weight:var(--type-label-weight);line-height:var(--type-caption-lh);white-space:nowrap;background:var(--color-surface-alt);color:var(--color-charcoal)}.status-dot{width:8px;height:8px;border-radius:var(--radius-circle);flex:0 0 auto;background:var(--color-stone)}.status--pending{background:var(--color-attention-soft);color:var(--color-attention-ink)}.status--pending .status-dot{background:var(--color-attention)}.status--live{background:var(--color-success-soft);color:var(--color-success-ink)}.status--live .status-dot{background:var(--color-success)}.status--bare{background:transparent;padding:0}.reviews-tally-detail{margin-top:var(--space-xxs);color:var(--color-steel);font-size:var(--type-caption-size);line-height:var(--type-caption-lh)}.reviews-tally strong{color:var(--color-ink-deep);font-weight:500}.install-tabs{margin-bottom:var(--space-md);flex-wrap:wrap}.steps{list-style:none;display:flex;flex-direction:column;gap:var(--space-sm)}.step{display:flex;align-items:flex-start;gap:var(--space-sm)}.step-num{flex:0 0 auto;width:24px;height:24px;border-radius:var(--radius-circle);background:var(--color-primary-soft);color:var(--color-primary-ink);display:flex;align-items:center;justify-content:center;font-size:var(--type-caption-size);font-weight:var(--type-label-weight)}.step-text{font-size:var(--type-body-size);line-height:var(--type-body-lh);color:var(--color-ink);padding-top:2px}.install-tip{margin:var(--space-md) 0}.empty-steps{list-style:none;display:flex;width:fit-content;flex-direction:column;gap:var(--space-sm);text-align:left;margin:0 auto var(--space-lg)}.empty-steps li{display:flex;align-items:center;gap:var(--space-sm);font-size:var(--type-body-size);color:var(--color-ink)}.empty-note{margin-top:var(--space-md)}.business-notice{padding:var(--space-md) var(--space-lg) 0;border-top:1px solid var(--color-hairline-soft)}.business-notice .alert{margin-bottom:var(--space-md)}.seg-btn,.menu-item{display:inline-flex;align-items:center;gap:var(--space-xs)}.menu-item{display:flex;width:100%}.seg-btn svg,.menu-item svg,.btn svg{flex:0 0 auto}.btn:disabled svg{opacity:.6}.disclosure-chevron{margin-left:auto;color:var(--color-charcoal);transition:transform var(--motion-medium),color var(--motion-fast)}.disclosure[aria-expanded=true] .disclosure-chevron{transform:rotate(90deg);color:var(--color-primary)}.seg-btn{padding:6px 12px}.planpanel{margin-top:var(--space-lg);padding:var(--space-lg);background:var(--color-canvas);border:1px solid var(--color-hairline-soft);border-radius:var(--radius-xl)}.planpanel-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);flex-wrap:wrap}.planpanel-label{display:block;font-size:12px;color:var(--color-steel);letter-spacing:.03em;text-transform:uppercase}.planpanel-name{display:flex;align-items:center;gap:var(--space-xs);margin:2px 0 0;font-size:20px;font-weight:500;color:var(--color-ink-deep)}.chip--muted{background:var(--color-surface-alt);color:var(--color-charcoal)}.planpanel-meters{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,220px));gap:var(--space-md) var(--space-xxl);margin-top:var(--space-lg)}.meter-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:var(--space-xs)}.meter-label{font-size:14px;color:var(--color-charcoal)}.meter-value{font-size:14px;color:var(--color-ink-deep);font-weight:500}.meter-value--full{color:var(--color-critical)}.meter .quota{min-width:0}.planpanel-features{list-style:none;margin:var(--space-lg) 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:var(--space-sm) var(--space-lg)}.feat{display:flex;align-items:center;gap:var(--space-xs);font-size:15px;line-height:1.5}.feat svg{flex:0 0 auto}.feat--on{color:var(--color-ink)}.feat--on svg{color:var(--color-success)}.feat--off{color:var(--color-stone)}.locked{position:relative}.locked-body{opacity:.45;filter:saturate(.4);pointer-events:none;-webkit-user-select:none;user-select:none}.locked-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:transparent;border:0;cursor:pointer;padding:0}.locked-pill{display:inline-flex;align-items:center;gap:6px;white-space:nowrap;padding:5px 12px;font-size:12px;font-weight:500;color:var(--color-primary-ink);background:var(--color-primary-soft);border:1px solid var(--color-primary-hairline);border-radius:var(--radius-full);box-shadow:var(--shadow-subtle)}.locked-overlay:hover .locked-pill{background:var(--color-primary-hairline)}.locked-overlay:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.locked--panel{display:block}.lockbanner{position:sticky;top:0;z-index:2;display:flex;align-items:center;gap:var(--space-sm);width:100%;margin-bottom:var(--space-md);padding:var(--space-sm) var(--space-md);text-align:left;background:var(--color-primary-soft);border:1px solid var(--color-primary-hairline);border-radius:var(--radius-md);color:var(--color-primary-ink);cursor:pointer}.lockbanner:hover{background:var(--color-primary-hairline)}.lockbanner:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.lockbanner svg{flex:0 0 auto}.lockbanner-text{display:flex;flex-direction:column;flex:1;min-width:0}.lockbanner-text strong{font-size:14px;font-weight:500}.lockbanner-text span{font-size:12px;opacity:.85}.locked--panel .locked-body{opacity:.5}.template-card--locked{opacity:1}.template-lock{display:inline-flex;align-items:center;gap:4px;white-space:nowrap;margin-top:2px;font-size:11px;color:var(--color-primary-ink)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;display:flex;align-items:center;justify-content:center;padding:var(--space-lg);background:#20212480;overflow-y:auto}.modal{position:relative;width:100%;max-width:560px;max-height:calc(100vh - var(--space-xxl));overflow-y:auto;padding:var(--space-xl);background:var(--color-canvas);border-radius:var(--radius-xxl);box-shadow:var(--shadow-panel)}.modal--wide{max-width:940px}.modal-close{position:absolute;top:var(--space-md);right:var(--space-md);z-index:1;width:36px;height:36px;line-height:0;display:flex;align-items:center;justify-content:center;background:transparent;border:0;border-radius:var(--radius-circle);color:var(--color-charcoal);cursor:pointer}.modal-close:hover{background:var(--color-surface-alt)}.modal-close:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.modal-title,.modal-sub,.upgrade-reason{padding-right:var(--space-xxl)}.modal-title{margin:0;font-size:22px;font-weight:500;color:var(--color-ink-deep)}.modal-sub{margin:var(--space-xxs) 0 0;color:var(--color-charcoal);font-size:14px}.modal-foot{margin-top:var(--space-lg);text-align:center}.upgrade-reason{margin-bottom:var(--space-lg);padding:var(--space-sm) var(--space-md);background:var(--color-primary-soft);border:1px solid var(--color-primary-hairline);border-radius:var(--radius-md);color:var(--color-primary-ink);font-size:14px}.cycle-toggle{display:inline-flex;margin:var(--space-lg) 0;padding:3px;background:var(--color-surface-alt);border-radius:var(--radius-full)}.cycle{display:inline-flex;align-items:center;gap:6px;padding:7px 16px;font-size:13px;font-weight:500;color:var(--color-charcoal);background:transparent;border:0;border-radius:var(--radius-full);cursor:pointer}.cycle--on{background:var(--color-canvas);color:var(--color-ink-deep);box-shadow:var(--shadow-subtle)}.cycle-save{font-size:11px;font-weight:500;color:var(--color-success)}.plans{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:var(--space-md)}.plancard{position:relative;display:flex;flex-direction:column;padding:var(--space-lg);border:1px solid var(--color-hairline-soft);border-radius:var(--radius-xl)}.plancard--rec{border-color:var(--color-primary-hairline)}.plancard--current{background:var(--color-surface-soft)}.plancard-flag{position:absolute;top:-10px;left:var(--space-lg);padding:3px 10px;font-size:11px;font-weight:500;color:var(--color-on-primary);background:var(--color-primary);border-radius:var(--radius-full)}.plancard-name{margin:0;font-size:17px;font-weight:500;color:var(--color-ink-deep)}.plancard-tag{margin:2px 0 0;font-size:13px;color:var(--color-charcoal)}.plancard-price{margin:var(--space-md) 0;font-size:14px;color:var(--color-charcoal)}.plancard-price strong{font-size:28px;font-weight:500;color:var(--color-ink-deep);margin-right:4px}.plancard-list{list-style:none;margin:0 0 var(--space-lg);padding:0;flex:1;display:flex;flex-direction:column;gap:var(--space-xs);font-size:14px;line-height:1.45;color:var(--color-ink)}.plancard-list li{display:flex;align-items:flex-start;gap:var(--space-xs)}.plancard-list svg{flex:0 0 auto;margin-top:2px;color:var(--color-success)}.plancard-list .row--off{color:var(--color-stone)}.plancard-list .row--off svg{color:var(--color-stone)}.modal--confirm{max-width:460px;text-align:left}.modal--confirm .modal-title{padding-right:0;font-size:19px}.confirm-icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;margin-bottom:var(--space-md);border-radius:var(--radius-circle)}.confirm-icon--danger{background:var(--color-critical-soft);color:var(--color-critical)}.confirm-icon--warn{background:var(--color-attention-soft);color:var(--color-attention)}.confirm-body{margin:var(--space-xs) 0 0;font-size:14px;line-height:1.55;color:var(--color-ink)}.confirm-detail{margin:var(--space-sm) 0 0;padding:var(--space-sm) var(--space-md);font-size:13px;line-height:1.5;color:var(--color-charcoal);background:var(--color-surface-soft);border-radius:var(--radius-md)}.confirm-actions{display:flex;justify-content:flex-end;gap:var(--space-xs);margin-top:var(--space-lg)}.status--locked{display:inline-flex;align-items:center;gap:6px;color:var(--color-primary-ink);background:var(--color-primary-soft)}.chip--ok{background:var(--color-success-soft);color:var(--color-success-ink)}.chip--warn{background:var(--color-attention-soft);color:var(--color-attention-ink)}.chip--error{background:var(--color-critical-soft);color:var(--color-critical-ink)}.billing-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,220px));gap:var(--space-md) var(--space-xxl);margin:var(--space-lg) 0 0}.billing-facts dt{font-size:13px;color:var(--color-charcoal)}.billing-facts dd{margin:2px 0 0;font-size:15px;color:var(--color-ink-deep);text-transform:capitalize}.table-wrap{overflow-x:auto;margin-top:var(--space-md)}.table{width:100%;border-collapse:collapse;font-size:14px}.table th,.table td{padding:var(--space-sm) var(--space-md);text-align:left;white-space:nowrap;border-bottom:1px solid var(--color-hairline-soft)}.table th{font-size:12px;font-weight:500;color:var(--color-charcoal);text-transform:uppercase;letter-spacing:.03em}.table td{color:var(--color-ink);text-transform:capitalize}.table tr:last-child td{border-bottom:0}
