/* Staff redesign (Nov 2026): Settings > Recovery Tools. Spec: docs/STAFF_REDESIGN_PROTOTYPE_2026-11-04 (SettingsView). Desktop only. */
.settings-body:has(>.recovery){background:none;border:0;padding:0}
.recovery{display:flex;flex-direction:column;gap:16px;font-family:var(--font);color:var(--ink)}
.settings-body .recovery{max-width:none;margin:0;padding:0}
.recovery>div:empty{display:none}
.recovery .staff-top{margin:0}

/* Cards */
.recovery .recovery-card{background:#fff;border:1px solid var(--line);border-radius:8px;padding:20px 24px;margin:0;display:flex;flex-direction:column;gap:12px;min-width:0}
.recovery .recovery-card[hidden]{display:none}
.recovery .recovery-card h2{margin:0;font-family:var(--font-title);font-weight:400;font-size:24px;line-height:1.2}
.recovery .recovery-card h3{margin:0;font-family:var(--font);font-size:15px;font-weight:700;line-height:1.3}
.recovery .recovery-head{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.recovery .recovery-sub{margin-top:8px;padding-top:14px;border-top:1px solid var(--divider)}
.recovery .recovery-card p{margin:0}
.recovery .recovery-card p:empty{display:none}
.recovery .recovery-status,.recovery .recovery-note{font-size:14px;color:var(--muted);line-height:1.4}
.recovery .recovery-preview{font-size:15px;padding:10px 12px;background:var(--soft);border-radius:6px}
.recovery .recovery-context{margin:0;padding:12px 16px;background:var(--soft);border-radius:8px;font-size:14px;line-height:1.4}
.recovery .form-error{margin:0;font-size:15px}
.recovery .form-error:empty{display:none}

/* Status label/value list */
.recovery .recovery-state{font-size:17px}
.recovery .recovery-rows{display:grid;grid-template-columns:minmax(220px,420px) minmax(0,1fr);margin:0;font-size:15px}
.recovery .recovery-rows dt,.recovery .recovery-rows dd{margin:0;padding:9px 0;border-top:1px solid var(--divider)}
.recovery .recovery-rows dt{color:var(--muted);padding-right:16px}
.recovery .recovery-rows dd{overflow-wrap:anywhere}
.recovery .recovery-warn{color:var(--warm);font-weight:700}

/* Buttons */
.recovery button{min-height:42px;margin:0;padding:0 16px;border:1px solid var(--green);border-radius:6px;background:#fff;color:var(--green);font:600 15px var(--font);line-height:1.2;white-space:nowrap}
.recovery button:hover:not(:disabled){background:var(--soft)}
.recovery button.recovery-primary{background:var(--green);color:#fff}
.recovery button.recovery-primary:hover:not(:disabled){background:var(--green-pressed)}
.recovery button:disabled{opacity:1;color:#9aa19c;border-color:#c9cdc7;background:var(--paper);cursor:default}
.recovery .recovery-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.recovery .recovery-pages{display:flex;gap:8px;justify-content:flex-end}
.recovery .recovery-pages:has(button:disabled+button:disabled){display:none}

/* Fields: label sits inside the box */
.recovery .recovery-form{display:flex;flex-direction:column;gap:12px;margin:0}
.recovery .field{display:block;max-width:none;margin:0;min-width:0;border:1px solid var(--line);border-radius:10px;padding:6px 10px 5px;background:#fff;font-size:13px;font-weight:700;line-height:1.3;color:var(--ink)}
.recovery .field:focus-within{border-color:var(--green);box-shadow:0 0 0 2px var(--soft)}
.recovery .field input,.recovery .field textarea{display:block;width:100%;box-sizing:border-box;min-height:0;margin:0;padding:2px 0 1px;border:0;border-radius:0;background:transparent;font:16px var(--font);color:var(--ink);outline:none;box-shadow:none}
.recovery .field textarea{min-height:64px;resize:vertical}
.recovery .field input:disabled,.recovery .field textarea:disabled{color:#9aa19c;background:transparent}
.recovery .field .optional{margin-left:6px}
.recovery .recovery-line{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:end}
.recovery .recovery-range{display:grid;grid-template-columns:repeat(2,minmax(0,1fr)) auto;gap:10px;align-items:end;margin:0}
.recovery .recovery-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;align-items:start}
.recovery .recovery-wide{grid-column:1/-1}
.recovery .recovery-check{display:flex;gap:10px;align-items:flex-start;font-size:15px;line-height:1.4}
.recovery .recovery-check[hidden]{display:none}
.recovery .recovery-check input{width:20px;height:20px;margin:1px 0 0;flex:none;accent-color:var(--green)}

/* Lists: shared scans, inventory scans, investigation observations */
.recovery .recovery-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.recovery .recovery-item{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:14px;align-items:center;padding:10px 0;border-top:1px solid var(--divider);font-size:15px}
.recovery .recovery-item-main{overflow-wrap:anywhere}
.recovery .recovery-item-state{font-size:14px;font-weight:700;color:var(--ink)}
.recovery .recovery-scan{display:flex;flex-direction:column;gap:10px;padding:14px 0;border-top:1px solid var(--divider)}
.recovery .recovery-scan h3{overflow-wrap:anywhere}
.recovery .recovery-observation{display:flex;flex-direction:column;gap:4px;padding:10px 0;border-top:1px solid var(--divider);font-size:15px}
.recovery .recovery-observation-top{display:flex;flex-wrap:wrap;gap:6px 16px;align-items:baseline}
.recovery .recovery-observation small{font-size:13px;color:var(--muted);overflow-wrap:anywhere}
.recovery .recovery-page:empty{display:none}
.recovery .recovery-page{display:flex;flex-direction:column;gap:10px;font-size:15px}
.recovery .recovery-page ol:not(.recovery-list){margin:0;padding-left:20px}
.recovery .recovery-empty{color:var(--muted);font-size:15px}
