/* Scoped to the explicit review deployment; application navigation is unchanged. */
.review-mode { --review-surface:#fff; --review-ink:#153a3d; --review-muted:#546d70; --review-line:#d7e4e2; --review-background:#f3f7f6; }
.review-mode [data-review-environment] { position:relative; z-index:48; font-family:var(--brand-font,system-ui,sans-serif); color:var(--review-ink); }
.review-banner { position:fixed; inset:0 0 auto; z-index:48; display:flex; align-items:center; justify-content:space-between; gap:12px; padding:calc(8px + env(safe-area-inset-top,0px)) max(clamp(12px,2vw,24px),env(safe-area-inset-right,0px)) 8px max(clamp(12px,2vw,24px),env(safe-area-inset-left,0px)); border-bottom:1px solid #ccdcd7; background:#edf5ef; color:#254d43; box-shadow:0 1px 7px #163b3210; }
body.review-mode { padding-top:var(--review-banner-height,80px); }
.review-banner-copy { min-width:0; display:grid; gap:4px; }
.review-banner-copy strong { font-size:.66rem; line-height:1.4; letter-spacing:.08em; overflow-wrap:anywhere; }
.review-banner-copy span { font-size:.72rem; line-height:1.5; overflow-wrap:anywhere; }
.review-banner-actions { display:flex; flex:none; align-items:center; gap:8px; }
.review-mode [data-review-environment] button { font:inherit; font-size:.8rem; font-weight:650; min-height:44px; border-radius:9px; border:1px solid var(--review-line); padding:10px 14px; background:var(--review-surface); color:var(--review-ink); cursor:pointer; }
.review-mode [data-review-environment] [hidden] { display:none !important; }
.review-mode [data-review-environment] button:hover { border-color:#277e72; }
.review-mode [data-review-environment] button:disabled { cursor:wait; opacity:.6; }
.review-mode [data-review-environment] :focus-visible { outline:3px solid #a77724; outline-offset:3px; }
.review-mode .layout.gv-workspace .rail.gv-workspace-rail { top:var(--review-banner-height,80px); height:calc(100dvh - var(--review-banner-height,80px)); }
.review-mode .layout.gv-workspace { min-height:calc(100dvh - var(--review-banner-height,80px)); }
.review-mode .detail-sheet { top:var(--review-banner-height,80px); max-height:calc(100dvh - var(--review-banner-height,80px)); }
.review-mode .sheet-shade { top:var(--review-banner-height,80px); }
.review-mode .settings-nav { top:var(--review-banner-height,80px); }
@media (min-width:761px) { .review-mode .customer-nav { top:calc(var(--review-banner-height,80px) + 20px); } }
.review-dialog { width:min(620px,calc(100vw - 28px)); max-width:calc(100vw - 28px); max-height:calc(100dvh - 32px); box-sizing:border-box; overflow:auto; padding:24px; margin:auto; border:1px solid var(--review-line); border-radius:20px; background:var(--review-surface); color:var(--review-ink); box-shadow:0 20px 90px #052d3040; overscroll-behavior:contain; }
.review-dialog::backdrop { background:#062c3975; backdrop-filter:blur(3px); }
.review-dialog:not([open]) { display:none; }
.review-dialog-head { display:flex; gap:12px; align-items:flex-start; justify-content:space-between; }
.review-dialog h2 { margin:5px 0 4px; font-size:1.55rem; line-height:1.2; letter-spacing:-.02em; }
.review-dialog-head .review-close { padding:4px; width:44px; flex:none; line-height:1; font-size:1.6rem !important; }
.review-eyebrow { font-size:.66rem; font-weight:750; letter-spacing:.08em; text-transform:uppercase; color:var(--review-muted); }
.review-muted,.review-privacy { line-height:1.6; font-size:.82rem; color:var(--review-muted); }
.review-privacy { margin:0; padding:12px; border-radius:10px; background:var(--review-background); font-size:.74rem; }
.review-form { display:grid; gap:16px; margin:20px 0 0; }
.review-form-row { display:grid; grid-template-columns:1fr 1fr; gap:12px; min-width:0; }
.review-dialog label { display:grid; min-width:0; gap:7px; font-size:.8rem; font-weight:650; }
.review-dialog input,.review-dialog select,.review-dialog textarea { width:100%; max-width:100%; box-sizing:border-box; min-width:0; min-height:46px; border:1px solid var(--review-line); border-radius:9px; padding:10px 12px; background:var(--review-surface); color:var(--review-ink); font:inherit; font-size:1rem; }
.review-dialog textarea { resize:vertical; line-height:1.5; }
.review-form-actions { display:flex; gap:10px; flex-wrap:wrap; }
.review-mode [data-review-environment] .review-primary { background:#17685d; color:#fff; border-color:#17685d; }
.review-message { margin:0; line-height:1.5; color:var(--review-muted); font-size:.8rem; overflow-wrap:anywhere; }
.review-message.review-error { color:#a23f35; }
.review-message:empty { display:none; }
.review-dashboard { width:min(800px,calc(100vw - 28px)); }
.review-summary { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:9px; margin:18px 0; }
.review-summary>div { min-width:0; display:grid; gap:4px; padding:13px; border:1px solid var(--review-line); border-radius:12px; background:var(--review-background); }
.review-summary strong { font-size:1.5rem; line-height:1.2; }
.review-summary span { font-size:.72rem; color:var(--review-muted); overflow-wrap:anywhere; }
.review-board-controls { display:flex; align-items:end; gap:12px; margin:16px 0; }
.review-board-controls label { flex:1; }
.review-feedback-list { display:grid; gap:15px; margin-top:16px; }
.review-feedback-item { min-width:0; padding:17px; border:1px solid var(--review-line); border-radius:13px; }
.review-feedback-item header { display:flex; align-items:flex-start; justify-content:space-between; gap:10px; }
.review-feedback-item h3 { margin:0; font-size:1.05rem; overflow-wrap:anywhere; }
.review-feedback-item header p { margin:5px 0; font-size:.75rem; color:var(--review-muted); line-height:1.5; }
.review-state { font-size:.7rem; border:1px solid var(--review-line); border-radius:7px; padding:6px 9px; background:var(--review-background); }
.review-feedback-item dl { margin:14px 0; font-size:.83rem; line-height:1.6; }
.review-feedback-item dt { margin-top:10px; color:var(--review-muted); font-size:.72rem; font-weight:700; }
.review-feedback-item dd { margin:2px 0 0; white-space:pre-wrap; overflow-wrap:anywhere; }
.review-feedback-item small { color:var(--review-muted); font-size:.7rem; }
.review-feedback-item form { display:flex; flex-wrap:wrap; align-items:end; gap:10px; margin-top:14px; }
.review-feedback-item form label { flex:1; min-width:140px; }
.review-feedback-item form .review-message { flex-basis:100%; }
.review-empty { border:1px dashed var(--review-line); padding:24px 16px; border-radius:12px; text-align:center; color:var(--review-muted); font-size:.85rem; line-height:1.6; }
@media (max-width:720px) {
  body.review-mode .layout.gv-workspace > .main > .topbar { top:var(--review-banner-height,80px); }
  .review-mode .detail-sheet .sheet-close { top:calc(var(--review-banner-height,80px) + 16px); }
  .review-mode .settings-nav { top:calc(var(--review-banner-height,80px) + 68px); }
  .review-banner { padding:calc(7px + env(safe-area-inset-top,0px)) max(12px,env(safe-area-inset-right,0px)) 7px max(12px,env(safe-area-inset-left,0px)); gap:8px; align-items:flex-start; }
  .review-banner-copy { gap:3px; }
  .review-banner-copy strong { font-size:.58rem; letter-spacing:.04em; }
  .review-banner-copy span { font-size:.64rem; }
  .review-banner-actions { flex-direction:column; align-items:stretch; gap:5px; }
  .review-mode [data-review-environment] .review-banner-actions button { padding:7px 9px; font-size:.67rem; max-width:112px; }
  .review-dialog { padding:19px 16px; max-height:calc(100dvh - 20px); border-radius:17px; }
  .review-dialog h2 { font-size:1.3rem; }
  .review-form-row { grid-template-columns:1fr; }
  .review-summary { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .review-feedback-item { padding:14px; }
  .review-feedback-item header { flex-wrap:wrap; }
}
@media (prefers-color-scheme:dark) {
  .review-mode { --review-surface:#173037; --review-ink:#eef6f4; --review-muted:#b0c9c6; --review-line:#385a60; --review-background:#10262c; }
  .review-banner { background:#15372d; color:#e7f3e9; border-color:#3a5c4d; }
  .review-message.review-error { color:#ffb3a7; }
}
@media (prefers-reduced-motion:reduce) { .review-dialog::backdrop { backdrop-filter:none; } }
