.v2-surface{color:var(--ink);background:var(--surface);padding:20px 0;border-top:1px solid var(--line);width:100%;min-width:0;letter-spacing:0}
.v2-surface[hidden],.v2-surface [hidden]{display:none!important}
.auto-reply-setting[hidden]{display:none!important}
.v2-surface h3{font-size:20px;margin:0 0 12px}.v2-surface p{font-size:14px;line-height:1.5;color:var(--muted)}
.v2-controls{border:0;padding:0;margin:0;display:grid;gap:18px;min-width:0}.v2-surface label{display:grid;gap:8px;font-size:14px;min-width:0}
.v2-master{grid-template-columns:1fr auto;align-items:center}.v2-surface input[type=checkbox]{width:24px;height:24px;accent-color:var(--teal)}
.v2-stars{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.v2-stars label{align-content:start;text-align:center;justify-items:center;border:1px solid var(--line);border-radius:6px;padding:12px 4px;min-height:92px}.v2-stars span{font-size:20px;color:var(--accent)}.v2-stars small{font-size:11px;overflow-wrap:anywhere}.v2-stars select{font-size:12px!important;max-width:100%}
.v2-surface select,.v2-surface input[type=number],.v2-dialog textarea{box-sizing:border-box;width:100%;background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:6px;padding:10px;font:inherit;min-height:44px}
.v2-surface details{margin-top:20px;border-top:1px solid var(--line);padding-top:16px}.v2-surface summary{cursor:pointer;margin-bottom:16px}
.v2-actions{display:flex;gap:10px;flex-wrap:wrap;border:0;padding:0;min-width:0}.v2-surface button,.v2-dialog button{min-height:44px;padding:8px 14px;border:1px solid var(--line);border-radius:6px;background:var(--surface);color:var(--ink);font:inherit;cursor:pointer;white-space:normal;overflow-wrap:anywhere}.v2-surface button:disabled{opacity:.5;cursor:wait}
.v2-error{color:var(--danger)!important;min-height:0}.v2-payload{white-space:pre-wrap;overflow-wrap:anywhere;color:var(--ink)!important}
.v2-dialog{box-sizing:border-box;background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:8px;width:min(520px,calc(100% - 24px));padding:24px}.v2-dialog::backdrop{background:#0008}.v2-dialog h3{font-size:20px}.v2-dialog label{display:grid;gap:8px}.v2-dialog .v2-actions{margin-top:20px}.v2-dialog textarea{resize:vertical}
/* StarRev360 presentation only; native controls and action contracts are unchanged. */
.v2-surface,.v2-dialog{--v2-text:var(--text-primary);--v2-muted:var(--text-muted);--v2-bg:var(--surface-primary);--v2-soft:var(--surface-secondary);--v2-border:var(--border-default);--v2-gold:var(--brand-yellow);--v2-active:color-mix(in srgb,var(--brand-yellow) 12%,var(--surface-primary));--v2-success:var(--state-success-text);color:var(--v2-text);background:var(--v2-bg);letter-spacing:0}
.v2-surface{padding:28px 0;border-color:var(--v2-border)}.v2-surface h3{font-size:24px;line-height:1.25;margin:0 0 12px;font-weight:750;color:var(--v2-text)}.v2-surface p{line-height:1.65;color:var(--v2-muted);margin:0 0 24px;max-width:650px}
.v2-controls{gap:20px}.v2-surface label{gap:10px;font-weight:600;color:var(--v2-text)}.v2-master{border-block:1px solid var(--v2-border);padding:18px 0;margin-bottom:4px}
.v2-surface input[data-master]{appearance:none;width:54px;height:30px;border:1px solid var(--v2-border);border-radius:20px;background:#7d8897;position:relative;cursor:pointer;margin:0}
.v2-surface input[data-master]::after{content:'';position:absolute;width:22px;height:22px;top:3px;left:3px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #0003;transition:transform .15s}
.v2-surface input[data-master]:checked{background:var(--v2-gold);border-color:var(--v2-gold)}.v2-surface input[data-master]:checked::after{transform:translateX(24px);background:#18283b}
.v2-stars{gap:12px;margin-bottom:10px}.v2-stars label{position:relative;align-content:center;border-color:var(--v2-border);border-radius:8px;padding:18px 8px;min-height:116px;background:var(--v2-soft);cursor:pointer;transition:background .15s,border-color .15s,box-shadow .15s}.v2-stars label>span{font-size:26px;line-height:1.2;font-weight:750;color:var(--v2-muted)}
/* Native checked/disabled states remain the only source of rating presentation. */
.v2-stars label:has(input:not(:checked):not(:disabled)){border-color:color-mix(in srgb,var(--state-danger-border) 65%,var(--control-border));background:var(--surface-secondary)}
.v2-stars label:has(input:not(:checked):not(:disabled))>span{color:var(--text-primary)}
.v2-stars label:has(input:checked){background:var(--state-success-background);border-color:var(--state-success-text);box-shadow:inset 0 0 0 1px var(--state-success-border)}
.v2-stars label:has(input:checked)>span{color:var(--state-success-text)}
.v2-stars label:hover:not(:has(:disabled)){box-shadow:var(--shadow-soft)}
.v2-stars label:has(input:not(:checked):not(:disabled)):hover{border-color:var(--state-danger-border);background:var(--surface-primary)}
.v2-stars input{appearance:none;margin:0;border:1px solid transparent;border-radius:50%;background:transparent;position:relative;cursor:pointer}
.v2-surface .v2-stars input[type=checkbox]{background:transparent;border-color:transparent}
.v2-surface .v2-stars input[type=checkbox]:checked{background:transparent;border-color:var(--state-success-text)}
.v2-stars input:checked::after{content:'';position:absolute;left:8px;top:4px;width:6px;height:11px;border:solid var(--state-success-text);border-width:0 2px 2px 0;transform:rotate(45deg)}
.v2-stars label:has(:disabled){cursor:not-allowed}
.v2-stars label:has(:disabled):not(:has(input:checked)),.v2-stars label:has(>small){background:var(--control-disabled-background);border-color:var(--control-border);border-style:dashed;box-shadow:none}
.v2-stars label:has(:disabled):not(:has(input:checked))>span,.v2-stars label:has(>small)>span{color:var(--text-muted)}
.v2-stars input:disabled{cursor:not-allowed}
.v2-stars small{font-weight:500;line-height:1.35;color:var(--v2-muted)}
.v2-surface select,.v2-surface input[type=number],.v2-dialog textarea{background:var(--v2-soft);color:var(--v2-text);border-color:var(--v2-border);border-radius:8px;padding:13px 14px;min-height:48px;line-height:1.5}.v2-surface select:hover{border-color:var(--v2-gold)}.v2-surface [data-custom]{display:flex;gap:12px;align-items:end}.v2-controls>p{margin:0;padding-left:14px;border-left:3px solid var(--v2-gold)}
.v2-summary{margin-top:28px;padding:20px 0;border-block:1px solid var(--v2-border)}.v2-summary h4{font-size:13px;font-weight:700;margin:0 0 16px;color:var(--v2-muted)}.v2-summary dl{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:0}.v2-summary dt{font-size:12px;color:var(--v2-muted);margin-bottom:6px}.v2-summary dd{font-size:14px;font-weight:650;margin:0;overflow-wrap:anywhere}.v2-summary .v2-on{color:var(--v2-success)}
.v2-surface details{margin-top:8px;border-top:0;border-bottom:1px solid var(--v2-border);padding:18px 0}.v2-surface summary{font-size:14px;font-weight:650;min-height:24px;margin:0}.v2-surface details[open]>summary{margin-bottom:20px}.v2-surface details .v2-surface{margin-top:20px}
.v2-surface button,.v2-dialog button{padding:11px 18px;border-color:var(--v2-border);border-radius:8px;background:var(--v2-bg);color:var(--v2-text);font-size:14px;font-weight:650;transition:box-shadow .15s,background .15s}.v2-surface button:hover,.v2-dialog button:hover{box-shadow:0 2px 8px #0001;border-color:var(--v2-gold)}
.v2-surface [data-command=publish_now],.v2-surface [data-command=delay],.v2-dialog [data-yes]{background:var(--v2-gold);color:#16263b;border-color:var(--v2-gold)}.v2-surface [data-command=cancel]{color:var(--v2-muted)}
.v2-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-top:20px}.v2-footer>span{font-size:12px;color:var(--v2-muted)}.v2-footer [data-command=refresh]{font-size:12px;background:transparent;padding:8px 12px}.v2-error:empty{display:none}
.v2-review-surface{margin-top:28px;padding:24px;border:1px solid var(--v2-border);border-top:3px solid var(--v2-gold);border-radius:8px;box-shadow:0 4px 18px #101d3008;box-sizing:border-box}.v2-review-surface h3{font-size:18px}.v2-review-surface time{display:inline-block;background:var(--v2-soft);border-radius:6px;padding:7px 12px;font-size:13px;font-weight:600}.v2-surface .v2-payload{color:var(--v2-text)!important;font-size:16px;line-height:1.75}
.v2-dialog{border:1px solid var(--v2-border);border-top:4px solid var(--v2-gold);width:min(480px,calc(100% - 32px));padding:28px;box-shadow:0 24px 80px #0005}.v2-dialog::backdrop{background:#0a1525b3;backdrop-filter:blur(4px)}.v2-dialog h3{font-size:22px;line-height:1.35;margin:0 0 16px}.v2-dialog p{font-size:15px;line-height:1.6;color:var(--v2-muted)}.v2-dialog .v2-actions{margin-top:24px;justify-content:flex-end}
.v2-surface :focus-visible,.v2-dialog :focus-visible{outline:3px solid var(--v2-gold);outline-offset:3px}.v2-stars label:focus-within{outline:3px solid var(--v2-gold);outline-offset:3px}
@media(max-width:540px){.v2-surface h3{font-size:22px}.v2-stars{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.v2-stars label{min-height:108px;padding:14px 6px}.v2-summary dl{grid-template-columns:repeat(2,minmax(0,1fr))}.v2-actions button{flex:1 1 120px}.v2-actions [data-command=publish_now]{flex-basis:100%}.v2-review-surface{padding:20px}.v2-review-surface h3{font-size:18px}.v2-dialog{padding:24px}.v2-surface [data-custom]{align-items:stretch;flex-direction:column}.v2-stars select{padding:5px!important}}
@media(prefers-reduced-motion:reduce){.v2-surface *{transition:none!important}}
.v2-review-meta{display:flex;align-items:center;flex-wrap:wrap;gap:8px 12px;margin:18px 0;font-size:14px}.v2-review-meta>span{color:var(--v2-muted)}.v2-review-meta small{flex-basis:100%;color:var(--v2-muted);font-size:13px}
.v2-surface :focus-visible,.v2-dialog :focus-visible,.v2-stars label:focus-within{outline-color:#976900}[data-theme=dark] .v2-surface :focus-visible,[data-theme=dark] .v2-dialog :focus-visible,[data-theme=dark] .v2-stars label:focus-within{outline-color:var(--v2-gold)}
.v2-review-surface .v2-publication-time{display:grid;gap:6px;padding:14px 16px;border-left:3px solid var(--v2-gold);background:var(--v2-soft);border-radius:0 6px 6px 0;color:var(--v2-text);margin:20px 0 24px;max-width:100%;box-sizing:border-box}.v2-publication-time>span{font-size:12px;font-weight:600;color:var(--v2-muted)}.v2-review-surface .v2-publication-time time{display:block;background:transparent;padding:0;font-size:17px;line-height:1.45;font-weight:700;overflow-wrap:anywhere}
/* Native PWA tokens apply equally to light and dark mode. */
.v2-surface{padding:24px 0}.v2-surface h3{font-size:20px;font-weight:800}.v2-review-surface h3{font-size:18px}
.v2-surface input[data-master]{background:var(--control-disabled-background);border-color:var(--control-border)}
.v2-surface input[data-master]::after{background:var(--text-muted)}.v2-surface input[data-master]:checked::after{background:var(--button-primary-text)}
.v2-surface select,.v2-surface input[type=number],.v2-dialog textarea{background:var(--control-background);color:var(--control-text);border-color:var(--control-border);border-radius:var(--radius);min-height:44px;padding:12px 14px}
.v2-summary h4{color:var(--text-primary);font-size:14px}.v2-summary dl>div{border-left:3px solid var(--teal);padding-left:12px;min-width:0}.v2-summary dl>div:nth-child(2){border-color:var(--brand-yellow)}.v2-summary dl>div:nth-child(3){border-color:var(--info)}
.v2-surface summary{min-height:44px;padding:12px 16px;border:1px solid var(--border-default);border-radius:var(--radius);background:var(--surface-primary);box-sizing:border-box;font-weight:800}
.v2-surface [data-command=publish_now],.v2-surface [data-command=delay],.v2-dialog [data-yes]{background:linear-gradient(135deg,var(--button-primary-background),var(--brand-yellow-hover));color:var(--button-primary-text)}
.v2-surface [data-command=cancel]{background:var(--state-danger-background);color:var(--state-danger-text);border-color:var(--state-danger-border)}
.v2-review-surface{padding:22px;box-shadow:var(--shadow-soft);border-radius:var(--radius)}.v2-review-surface .v2-publication-time{border-left-color:var(--info)}
.v2-dialog{width:min(520px,calc(100% - 32px));padding:22px;border:1px solid var(--border-default);border-radius:var(--radius);box-shadow:var(--shadow)}.v2-dialog h3{font-size:20px}.v2-dialog::backdrop{background:rgba(6,26,63,.38);backdrop-filter:none}
.v2-surface :focus-visible,.v2-dialog :focus-visible,.v2-stars label:focus-within,[data-theme=dark] .v2-surface :focus-visible,[data-theme=dark] .v2-dialog :focus-visible,[data-theme=dark] .v2-stars label:focus-within{outline-color:var(--brand-gold)}
