/* Scoped surface grammar: existing Manager cards/forms; no global redesign. */
.wo { color:var(--text); font-size:13px; }
.wo [hidden] { display:none !important; }
.wo-head,.wo-tools,.wo-row,.wo-actions { display:flex;align-items:center;gap:10px; }
.wo-head { justify-content:space-between;flex-wrap:wrap;margin-bottom:12px; }
.wo-head h2,.wo h3 { font-size:15px;margin:0;font-weight:600; }
.wo-tools { flex-wrap:wrap; }
.wo-tools input { max-width:260px; }
.wo-tabs { display:flex;gap:4px;border-bottom:1px solid var(--border);margin:10px 0;overflow:auto; }
.wo-tabs button { border:0;background:none;color:var(--text-muted);padding:10px 12px;white-space:nowrap;cursor:pointer; }
.wo-tabs button[aria-selected=true] { color:var(--text);border-bottom:2px solid var(--accento); }
.wo-list { display:grid; }
.wo-row { padding:10px 0;border-bottom:1px solid var(--border);min-width:0; }
.wo-row:last-child { border:0; }
.wo-copy { min-width:0;flex:1; }
.wo-copy strong { display:block;overflow-wrap:anywhere; }
.wo-copy small { display:block;overflow-wrap:anywhere; }
.wo-copy small,.wo-note { color:var(--text-muted);font-size:12px;line-height:1.5; }
.wo-badge { display:inline-flex;align-items:center;border:1px solid var(--border);padding:3px 7px;border-radius:var(--r-segno);white-space:nowrap;font-size:12px; }
.wo-badge[data-state=review],.wo-badge[data-state=provisional],
.wo-badge[data-state=done],.wo-badge[data-state=approved] { color:var(--text);background:var(--bg-hover); }
.wo-badge[data-state=blocked],.wo-error { color:var(--err-text); }
.wo-empty { padding:24px 0;color:var(--text-muted); }
.wo-form { display:grid;gap:14px; }
.wo-form label { display:grid;gap:6px;font-size:12px;color:var(--text-muted); }
.wo-form input,.wo-form select,.wo-form textarea { width:100%;box-sizing:border-box;min-height:40px; }
.wo-form textarea { min-height:70px; }
.wo-pair { display:grid;grid-template-columns:1fr 1fr;gap:12px; }
.wo-checks { display:grid;gap:7px; }
.wo-checks label { display:flex;align-items:center;gap:8px; }
.wo-checks input { width:16px;min-height:16px; }
.wo-preview { padding:12px;border:1px solid var(--border);border-radius:var(--r-piano);overflow-wrap:anywhere; }
.wo-preview dl { display:grid;grid-template-columns:minmax(90px,1fr) 2fr;gap:8px;margin:0; }
.wo-preview dd { margin:0; }
.wo-dialog { width:min(680px,calc(100vw - 32px));max-height:90dvh;overflow:auto; }
.wo button:focus-visible,.wo input:focus-visible,.wo select:focus-visible { outline:2px solid var(--accento);outline-offset:2px; }
.wo-metrics { display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:12px;padding:14px 0; }
.wo-metrics small { display:block;color:var(--text-muted);margin-bottom:5px; }
.wo-metrics strong { font-size:18px;font-weight:500; }
.wo-details { margin:12px 0; }
.wo-review-media { display:block; max-width:100%; max-height:360px; margin:12px auto; object-fit:contain; }
video.wo-review-media { width:100%; }
.wo-review-text { white-space:pre-wrap; overflow-wrap:anywhere; }
.wo-feedback { border-bottom:1px solid var(--border); padding:12px 0; }
.wo-review textarea { width:100%; box-sizing:border-box; resize:vertical; }
.wo-review-overlay { padding:0;background:var(--velo); }
.wo-dialog.wo-review-dialog { width:100vw;max-width:none;height:100dvh;max-height:none;display:flex;flex-direction:column;overflow:hidden;border:0;border-radius:0;background:var(--piano); }
.wo-review-dialog [hidden] { display:none!important; }
.wo-review-dialog .modal-header { flex:none;min-height:64px;padding:8px 20px;gap:20px;border-bottom:1px solid var(--linea);z-index:6; }
.wo-review-heading { min-width:0; }
.wo-review-breadcrumb { display:flex;align-items:center;gap:8px;margin:0 0 6px;color:var(--ink-2);font-size:12px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis; }
.wo-review-client-dot { width:7px;height:7px;border-radius:50%;background:var(--review-client,var(--ink-2));flex:none; }
.wo-review-title { display:flex;align-items:center;gap:12px;min-width:0; }
.wo-review-title h2 { margin:0;font-size:15px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
.wo-review-version { color:var(--ink-2);font:12px var(--cifre);padding-left:12px;border-left:1px solid var(--linea);white-space:nowrap; }
.wo-review-header-actions { display:flex;align-items:center;gap:16px;flex:none; }
.wo-review-header-actions button { min-height:40px;display:inline-flex;align-items:center;gap:8px; }
.wo-review-header-actions [data-close] { width:40px;justify-content:center;padding:0;border-color:transparent; }
.wo-review-dialog svg { width:18px;height:18px;flex:none; }
.wo-review-dialog .modal-body { flex:1;min-height:0;padding:0;position:relative; }
.wo-review-layout { position:relative;height:100%;min-height:0; }
.wo-review-visual { position:relative;display:flex;flex-direction:column;height:100%;background:var(--fondo);min-width:0;min-height:0; }
.wo-review-visual>[data-review-media] { display:flex;flex:1;min-height:0;min-width:0; }
.wo-review-sidebar { position:absolute;right:12px;top:12px;max-height:calc(100% - 96px);width:320px;display:flex;flex-direction:column;border:1px solid var(--linea);border-radius:var(--r-piano);min-width:0;min-height:0;background:var(--piano);box-shadow:0 8px 32px var(--velo);z-index:5;overflow:auto; }
.wo-review-outcome { position:relative; }
.wo-review-outcome .wo-review-decision { position:absolute;right:0;top:calc(100% + 12px);width:296px;background:var(--piano);border:1px solid var(--linea);border-radius:var(--r-piano);box-shadow:0 8px 32px var(--velo); }
.wo-review-header-actions [aria-expanded=true] { background:var(--accento-tinta);border-color:var(--accento); }
.wo-review-sidehead { display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 20px 16px;flex:none; }
.wo-review-sidehead h3 { font-size:13px;margin:0; }
.wo-review-state { font-size:12px;color:var(--ink-2); }
.wo-review-thread { flex:1;min-height:80px;overflow:auto;padding:0 20px 20px; }
.wo-review-request { padding:12px 0 16px;border-bottom:1px solid var(--linea-2); }
.wo-review-request .wo-note { margin:0 0 8px; }
.wo-review-request .wo-review-text { margin:0;line-height:1.6;font-size:12px; }
.wo-review-empty { padding:32px 8px;text-align:center;color:var(--ink-2);font-size:12px;line-height:1.8; }
.wo-review-comment-head { display:flex;align-items:center;gap:8px; }
.wo-review-comment-head strong { font-size:12px;font-weight:500; }
.wo-review-comment-number { display:grid;place-items:center;flex:none;width:24px;height:24px;border-radius:50%;color:var(--accento);background:var(--accento-tinta);font:12px var(--cifre); }
.wo-review-thread .wo-feedback { padding:16px 0;border-color:var(--linea-2); }
.wo-review-thread .wo-feedback p { margin:8px 0 12px;line-height:1.6; }
.wo-review-thread .wo-feedback>button { border-color:transparent;color:var(--accento);padding:4px 0;min-height:28px; }
.wo-review-composer { padding:16px 20px;border-top:1px solid var(--linea-2);flex:none; }
.wo-review-composer textarea { resize:vertical;min-height:88px;max-height:160px;background:var(--campo);font:13px var(--testo);border-radius:var(--r-ctl); }
.wo-review-send { display:flex;justify-content:space-between;align-items:center;gap:12px; }
.wo-review-send button { margin-left:auto;min-height:36px; }
.wo-review-decision { padding:16px 20px;border-top:1px solid var(--linea);flex:none; }
.wo-review-decision .wo-actions { display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:0; }
.wo-review-decision button { padding:10px 6px;font-size:12px;min-height:40px;white-space:normal; }
.wo-review-decision p { margin:12px 0 0; }
.wo-review-tools { position:absolute;bottom:28px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:8px;padding:6px;background:var(--piano);border:1px solid var(--linea);border-radius:var(--r-piano);max-width:calc(100% - 32px);z-index:4; }
.wo-review-toolset { display:flex;align-items:center;gap:4px; }
.wo-review-toolset+.wo-review-toolset { border-left:1px solid var(--linea);padding-left:8px; }
.wo-review-tools button { display:flex;align-items:center;justify-content:center;gap:8px;padding:8px 10px;min-height:40px;min-width:36px;border:0;border-radius:var(--r-ctl);font:12px var(--testo);color:var(--ink-2);background:transparent;cursor:pointer;white-space:nowrap; }
.wo-review-tools button:hover { background:var(--piano-2);color:var(--ink); }
.wo-review-tools button[aria-pressed=true] { background:var(--accento-tinta);color:var(--accento); }
.wo-review-tools button:disabled { opacity:.35;cursor:default; }
.wo-review-tools .wo-review-direct-send { color:var(--primario-ink);background:var(--primario); }
.wo-review-tools .wo-review-direct-send:hover { background:var(--primario);color:var(--primario-ink);filter:brightness(.92); }
.wo-review-tools [data-image-fit] { min-width:52px;font-family:var(--cifre);padding:8px 4px; }
.wo-review-canvas-meta { position:absolute;bottom:8px;left:24px;right:24px;display:flex;justify-content:space-between;gap:12px;color:var(--ink-2);font-size:12px;pointer-events:none; }
.wo-review-canvas-meta [data-image-dimensions] { font-family:var(--cifre);margin-left:auto;white-space:nowrap; }
.wo-review-viewport { position:relative;width:100%;min-height:0;overflow:hidden;box-sizing:border-box;touch-action:none;overscroll-behavior:contain; }
.wo-review-surface { position:absolute; }
.wo-review-dialog img.wo-review-media { display:block;width:100%;height:100%;max-width:none;max-height:none;margin:0;user-select:none;pointer-events:none; }
.wo-review-dialog video.wo-review-media { width:100%;height:100%;max-height:none;margin:0;object-fit:contain; }
.wo-review-dialog .wo-review-svg,.wo-review-labels { position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible; }
.wo-review-hit { position:absolute;inset:0;width:100%;height:100%;border:0;background:transparent;cursor:crosshair;touch-action:none; }
.wo-review-hit[data-mode=move] { cursor:grab; }
.wo-review-hit[data-mode=move]:active { cursor:grabbing; }
.wo-review-hit[data-mode=text] { cursor:text; }
.wo-review-stroke,.wo-review-stroke-edge { fill:none;stroke:var(--accento);stroke-width:2.5px;stroke-linecap:round;stroke-linejoin:round; }
.wo-review-svg rect.wo-review-stroke { fill:color-mix(in srgb,var(--accento) 8%,transparent); }
.wo-review-stroke-edge { stroke:var(--fondo);stroke-width:5px; }
.wo-review-text-link { stroke:var(--accento);stroke-width:1;stroke-dasharray:4 4;opacity:.8; }
.wo-review-saved.is-active .wo-review-stroke { stroke-width:4px; }
.wo-review-label { position:absolute;display:block;max-width:min(240px,65%);max-height:132px;overflow:hidden;padding:8px 12px;background:var(--piano);color:var(--ink);border:1px solid var(--accento);border-radius:var(--r-segno);font:13px/1.5 var(--testo);white-space:pre-wrap;overflow-wrap:anywhere; }
.wo-review-label.is-editable { pointer-events:auto;cursor:text; }
.wo-review-label.is-movable { cursor:grab;touch-action:none;user-select:none; }
.wo-review-label.is-movable:active { cursor:grabbing; }
.wo-review-saved-labels .wo-review-label.is-editable { cursor:pointer; }
.wo-review-saved-labels .wo-review-label.is-movable { cursor:grab; }
.wo-review-viewport:not([data-mode=move]) .wo-review-saved-labels .wo-review-label,.wo-review-viewport:not([data-mode=move]) .wo-review-saved-labels .wo-review-pin { pointer-events:none; }
.wo-review-label[data-align=left] { translate:-100% 0; }
.wo-review-label[data-vertical=above] { transform:translateY(-100%); }
.wo-review-pin { position:absolute;transform:translate(-50%,-50%);width:28px;height:28px;border-radius:50%;border:2px solid var(--accento);background:var(--piano);color:var(--ink);font:12px var(--cifre);cursor:pointer;pointer-events:auto; }
.wo-review-pin.is-active { outline:2px solid var(--accento);outline-offset:3px; }
.wo-review-text-editor { position:absolute;z-index:4;width:240px;max-width:calc(100% - 16px);padding:0;background:var(--piano);border:1px solid var(--accento);border-radius:var(--r-segno); }
.wo-review-text-editor textarea { display:block;box-sizing:border-box;width:100%;min-height:36px;max-height:180px;resize:none;padding:8px 12px;border:0;border-radius:inherit;font:13px/1.5 var(--testo);background:transparent;color:var(--ink);outline:none; }
.wo-review-text-actions { display:flex;align-items:center;gap:4px;padding:2px 4px;border-top:1px solid var(--linea); }
.wo-review-text-actions span { flex:1;font:11px var(--testo);color:var(--ink-2); }
.wo-review-text-actions button { display:grid;place-items:center;width:32px;height:32px;padding:6px;border:0;border-radius:var(--r-ctl);color:var(--ink-2);background:transparent;cursor:pointer; }
.wo-review-text-actions button:hover { background:var(--piano-2);color:var(--ink); }
.wo-review-text-actions button:disabled { opacity:.4;cursor:default; }
.wo-review-text-actions [data-text-move] { cursor:grab;touch-action:none; }
.wo-review-text-actions [data-text-move]:active { cursor:grabbing; }
.wo-review-text-actions [data-text-apply] { background:var(--primario);color:var(--primario-ink);font-size:20px; }
.wo-review-dialog [data-review-draft] { margin:12px 0 0;padding:12px;background:var(--piano);border:1px solid var(--allerta);border-radius:var(--r-ctl);line-height:1.6; }
.wo-review-dialog [data-review-draft] button { margin:8px 8px 0 0; }
@media(max-width:1100px) and (min-width:761px){
  .wo-review-tools button { padding:8px 6px;gap:4px; }
  .wo-review-tools { gap:4px; }
}
@media(max-width:760px){
  .wo-review-overlay { padding:0; }
  .wo-dialog.wo-review-dialog { width:100vw;height:100dvh;max-height:100dvh;border:0;border-radius:0; }
  .wo-review-dialog .modal-header { min-height:100px;padding:8px 12px;gap:6px;flex-wrap:wrap; }
  .wo-review-heading { width:100%; }
  .wo-review-title { gap:8px; }
  .wo-review-title .wo-review-state { margin-left:auto; }
  .wo-review-breadcrumb { margin-bottom:4px; }
  .wo-review-header-actions { gap:4px; }
  .wo-review-header-actions { width:100%;justify-content:flex-end; }
  .wo-review-header-actions [data-review-board] { margin-right:auto; }
  .wo-review-header-actions [data-review-board] { width:40px;padding:0;justify-content:center;border-color:transparent; }
  .wo-review-header-actions [data-review-board] span { display:none; }
  .wo-review-header-actions [data-review-board]::after { content:none; }
  .wo-review-title h2 { font-size:13px; }
  .wo-review-breadcrumb { font-size:12px;max-width:calc(100vw - 24px); }
  .wo-review-dialog .modal-body { overflow:hidden; }
  .wo-review-sidebar { width:auto;left:8px;right:8px;top:8px;max-height:calc(100% - 98px); }
  .wo-review-thread { padding:0 16px 16px; }
  .wo-review-sidehead,.wo-review-composer,.wo-review-decision { padding:16px; }
  .wo-review-tools { left:8px;right:8px;bottom:28px;transform:none;max-width:none;justify-content:space-between; }
  .wo-review-tools button { padding:8px;gap:6px; }
  .wo-review-tools .wo-review-zoom { position:absolute;right:0;bottom:calc(100% + 12px);padding:4px;background:var(--piano);border:1px solid var(--linea);border-radius:var(--r-ctl); }
  .wo-review-tools .wo-review-direct-send { position:absolute;left:0;bottom:calc(100% + 12px);min-height:42px; }
  .wo-review-canvas-meta { left:16px;right:16px;bottom:8px; }
  .wo-review-canvas-meta [data-image-dimensions] { display:none; }
  .wo-review-empty { padding:16px 8px; }
  .wo-review-decision button,.wo-review-send button { min-height:40px; }
}
.wo-details summary { cursor:pointer;color:var(--text-muted); }
.wo-subject-usage { margin:10px 0; min-width:0; overflow-wrap:anywhere; font-size:12px; }
.wo-subject-usage summary { cursor:pointer; padding:8px 0; }
.wo-usage-person { border-top:1px solid var(--border); padding:8px 0; }
.wo-usage-person dl { display:grid; grid-template-columns:minmax(65px,1fr) minmax(0,2fr); gap:5px 10px; margin:8px 0 0; }
.wo-usage-person dt { color:var(--text-muted); }
.wo-usage-person dd { margin:0; white-space:pre-wrap; min-width:0; }
.wo-import-inputs { min-width:0; border:1px solid var(--border); padding:10px; }
.wo-import-input { display:grid; gap:8px; margin:8px 0 14px; overflow-wrap:anywhere; }
.wo-import-input>label:first-child { display:flex; align-items:center; gap:8px; }
.wo-import-input input[type=checkbox] { width:16px; min-height:16px; flex:none; }
.wo-import-replace { grid-template-columns:minmax(0,1fr) auto; }
.wo-import-replace>label:nth-child(2) { grid-column:1/-1;grid-row:2; }
.wo-import-replace>[data-replace-input] { grid-column:2;grid-row:1; }
.wo-input-compare { grid-template-columns:minmax(0,1fr) auto; align-items:end; }
.wo-input-change { border-top:1px solid var(--border); padding:12px 0; overflow-wrap:anywhere; }
.wo-input-change summary { cursor:pointer; font-weight:600; }
.wo-input-pair { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin-top:12px; }
.wo-input-original { margin:0; min-width:0; }
.wo-input-original figcaption { color:var(--text-muted); }
.wo-input-original p { white-space:pre-wrap; overflow-wrap:anywhere; margin:6px 0; }
.wo-input-original img,.wo-input-original video { display:block; width:100%; height:140px; object-fit:contain; background:var(--piano-2); border-radius:var(--r-piano); }
@media(max-width:600px) {
  .wo-row { flex-wrap:wrap;gap:8px; }
  .wo-copy { flex-basis:55%; }
  .wo-actions { margin-left:auto;flex-wrap:wrap; }
  .wo-pair { grid-template-columns:1fr; }
  .wo-tools { width:100%; }
  .wo-tools input { flex:1;min-width:100px; }
  .wo-dialog { width:calc(100vw - 20px); }
  .wo .btn { min-height:40px; }
}

.wo-notifications { margin-bottom:24px; }
.wo-notifications .wo-row { padding:16px 0; }
.wo-notifications .btn { min-height:40px; }
 .wo-form fieldset { border:0; padding:0; margin:0; display:grid; gap:12px; min-width:0; }
 .wo-form fieldset[hidden] { display:none; }
 .wo-phase-group + .wo-phase-group { margin-top:20px; }
 .wo-phase-group h3 { color:var(--text-secondary); font-size:13px; font-weight:600; margin:0 0 8px; }
