:root{font-family:IBM Plex Sans,Segoe UI,sans-serif;color:#111827;background:radial-gradient(circle at top,#f7f8fb,#eef2ff 45%,#f8fafc)}*{box-sizing:border-box}body{margin:0;min-height:100vh}#root{min-height:100vh}.app{width:min(960px,94vw);margin:0 auto;padding:1.5rem 0 3rem}.card{background:#fff;border:1px solid #dbe3f4;border-radius:14px;box-shadow:0 10px 30px #0f172a14;padding:1rem;margin-top:1rem}.row{display:flex;gap:.75rem;align-items:center;flex-wrap:wrap}.col{display:flex;flex-direction:column;gap:.5rem}input,select,textarea{border:1px solid #c8d2ea;border-radius:10px;padding:.6rem .8rem;font:inherit}textarea{min-height:120px;resize:vertical}button{border:none;border-radius:10px;padding:.6rem .9rem;font-weight:600;cursor:pointer;background:#1d4ed8;color:#fff}button.secondary{background:#475569}button.warn{background:#b91c1c}button.ghost{background:#e2e8f0;color:#0f172a}button:disabled{cursor:not-allowed;opacity:.6}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1rem}.alert{border-radius:10px;padding:.7rem .9rem;border:1px solid #fecaca;background:#fef2f2;color:#7f1d1d}.muted{color:#475569}.badge{display:inline-block;border-radius:999px;background:#e2e8f0;color:#0f172a;padding:.2rem .6rem;font-size:.78rem;font-weight:600}.tabs{display:flex;gap:.5rem;flex-wrap:wrap}.tabs button{background:#dbeafe;color:#1e3a8a}.tabs button.active{background:#1d4ed8;color:#fff}.spacer{flex:1}pre{margin:0;background:#0f172a;color:#e2e8f0;border-radius:10px;padding:.8rem;overflow:auto;max-height:360px}
