:root{--bg:#f7f5f0;--surface:#fff;--text:#1f2a2c;--muted:#5d6b6d;--border:#d9d4c7;--primary:#2f5d62;--primary-text:#fff;--ok-bg:#e3f1e6;--ok-text:#1d5a2c;--warn-bg:#fff3d6;--warn-text:#6b4a00;--error-bg:#fde4e1;--error-text:#8a1f11;--info-bg:#e5eef8;--info-text:#1f4a78;color:var(--text);background:var(--bg);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Arial Hebrew,Arial,sans-serif;font-size:17px;line-height:1.5}*{box-sizing:border-box}body{background:var(--bg);margin:0}.app{max-width:1100px;margin:0 auto;padding:0 16px 48px}.topbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:16px 0;display:flex}.brand h1{margin:0;font-size:1.5rem}.stage-tag{color:var(--muted);font-size:.9rem}.status-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.chip{border:1px solid #0000;border-radius:999px;padding:4px 12px;font-size:.85rem}.chip-ok,.chip-save-saved{background:var(--ok-bg);color:var(--ok-text)}.chip-warn,.chip-save-saving{background:var(--warn-bg);color:var(--warn-text)}.chip-save-failed{background:var(--error-bg);color:var(--error-text);font-weight:600}.chip-info{background:var(--info-bg);color:var(--info-text)}.chip-neutral,.chip-save-idle{background:var(--surface);border-color:var(--border);color:var(--muted)}.banner{border-radius:8px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;padding:10px 14px;display:flex}.banner-demo{background:var(--warn-bg);color:var(--warn-text)}.banner-update{background:var(--info-bg);color:var(--info-text)}.grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:16px;display:grid}.full-row{grid-column:1/-1;margin:0}.card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:18px 20px}.card.narrow{max-width:520px;margin:24px auto}.card h2{margin-top:0;font-size:1.2rem}.field{margin-bottom:12px;display:block}.field-label{margin-bottom:4px;font-weight:600;display:block}input:not([type=checkbox]):not([type=radio]):not([type=file]),textarea{width:100%;font:inherit;border:1px solid var(--border);background:#fff;border-radius:8px;padding:8px 10px}input[dir=ltr]{text-align:left}button,.file-button{font:inherit;cursor:pointer;background:var(--primary);color:var(--primary-text);border:none;border-radius:8px;padding:8px 16px}button:disabled{opacity:.5;cursor:not-allowed}button.secondary,.file-button{background:var(--surface);color:var(--primary);border:1px solid var(--primary)}button.danger{background:var(--error-text)}button.link{color:var(--primary);background:0 0;padding:4px 0;text-decoration:underline}button.small{padding:4px 10px;font-size:.85rem}.file-button input{display:none}.button-row{flex-wrap:wrap;gap:8px;margin:8px 0;display:flex}.checkbox{align-items:flex-start;gap:8px;margin:12px 0;display:flex}.radio-group{border:none;margin:0 0 12px;padding:0}.radio-group label{display:block}.feedback{border-radius:8px;padding:8px 12px}.feedback-ok{background:var(--ok-bg);color:var(--ok-text)}.feedback-error{background:var(--error-bg);color:var(--error-text)}.feedback-info{background:var(--info-bg);color:var(--info-text)}.warning{color:var(--error-text);font-weight:600}.muted{color:var(--muted)}.list{margin:12px 0 0;padding:0;list-style:none}.list>li{border-top:1px solid var(--border);overflow-wrap:anywhere;padding:8px 0}.list.compact>li{padding:4px 0}.note-body{white-space:pre-wrap;margin:4px 0 0}.preview{border:1px solid var(--border);max-width:100%;max-height:320px;margin-top:8px;display:block}.recovery-code{letter-spacing:.05em;background:var(--bg);border:2px dashed var(--primary);text-align:center;overflow-wrap:anywhere;border-radius:8px;margin:12px 0;padding:12px;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:1.3rem;display:block}.restore-summary{margin-top:12px}.step{border-inline-start:4px solid var(--primary);padding-inline-start:10px}.modal-backdrop{z-index:10;background:#1f2a2c73;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.modal{background:var(--surface);border-radius:12px;width:100%;max-width:480px;padding:20px;box-shadow:0 8px 30px #00000040}.modal h2{margin-top:0;font-size:1.15rem}.print-only{display:none}@media print{body *{visibility:hidden}.print-area,.print-area *{visibility:visible}.print-area{position:absolute;inset:0 0 auto}.modal-backdrop{z-index:10;background:#1f2a2c73;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.modal{background:var(--surface);border-radius:12px;width:100%;max-width:480px;padding:20px;box-shadow:0 8px 30px #00000040}.modal h2{margin-top:0;font-size:1.15rem}.print-only{display:block}}
