:root{--bg:#f5f1e8;--panel:#fffaf1;--line:#dccfb4;--text:#2b2418;--muted:#6f6658;--accent:#a04c2a;--accent-dark:#7b3417;--danger:#9b2226}*{box-sizing:border-box}body,html{margin:0;min-height:100%;font-family:Georgia,Times New Roman,serif;background:radial-gradient(circle at top left,rgba(160,76,42,.14),transparent 28%),linear-gradient(180deg,#f8f4ea,#efe7d7);color:var(--text)}body{padding:32px}a{color:inherit}.shell{max-width:1040px;margin:0 auto}.hero{display:grid;grid-gap:12px;gap:12px;margin-bottom:24px}.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:12px;color:var(--muted)}.hero h1{margin:0;font-size:clamp(2.2rem,4vw,4.2rem);line-height:.95}.hero p{margin:0;max-width:720px;color:var(--muted);font-size:18px}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));grid-gap:20px;gap:20px}.panel{background:rgba(255,250,241,.92);border:1px solid var(--line);border-radius:22px;padding:24px;box-shadow:0 18px 50px rgba(77,58,30,.08)}.panel h2,.panel h3{margin:0 0 12px}.muted{color:var(--muted)}.row{grid-gap:12px;gap:12px;margin-top:16px}.form,.row{display:grid}.form{grid-gap:14px;gap:14px}.form label{display:grid;grid-gap:6px;gap:6px;font-size:14px}.form input,.form select{width:100%;border:1px solid var(--line);border-radius:12px;padding:12px 14px;background:#fffdf8;color:var(--text);font-size:16px}.button-link,.form button{border:0;border-radius:999px;padding:12px 18px;font-size:15px;background:var(--accent);color:white;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center}.button-link.secondary,.form button.secondary{background:transparent;color:var(--accent-dark);border:1px solid var(--line)}.form button.danger{background:var(--danger)}.result{margin-top:14px;padding:14px;border-radius:16px;background:#fffdf8;border:1px solid var(--line);overflow:auto}.status-ok{color:#1d6b3b}.status-bad{color:var(--danger)}.toolbar{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between}table{width:100%;border-collapse:collapse;margin-top:16px}td,th{text-align:left;padding:12px 10px;border-bottom:1px solid var(--line)}th{font-size:13px;text-transform:uppercase;letter-spacing:.08em}.empty,th{color:var(--muted)}.empty{padding:28px 0 8px}@media (max-width:640px){.panel,body{padding:18px}}