*{box-sizing:border-box}
body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,'Helvetica Neue',Arial,'Noto Sans',sans-serif;background:#f8fafc;color:#0f172a}
#app{max-width:900px;margin:0 auto;padding:16px}
.card{background:#fff;border-radius:16px;box-shadow:0 2px 8px rgba(0,0,0,.06);padding:16px;margin-bottom:12px}
.row{display:flex;gap:8px;align-items:center;justify-content:space-between}
.btn{padding:10px 14px;border-radius:12px;border:1px solid #cbd5e1;background:#fff;cursor:pointer}
.btn.primary{background:#0f172a;color:#fff;border-color:#0f172a}
.btn.green{background:#16a34a;color:#fff;border-color:#16a34a}
.btn.red{background:#dc2626;color:#fff;border-color:#dc2626}
.btn.yellow{background:#f59e0b;color:#111827;border-color:#f59e0b}
.btn.black{background:#000;color:#fff;border-color:#000}
.btn.blue{background:#2563eb;color:#fff;border-color:#2563eb}
.btn.co{background:#f59e0b;color:#111827;border-color:#f59e0b}
.btn.st{background:#2563eb;color:#fff;border-color:#2563eb}
.btn.fs{background:#7c3aed;color:#fff;border-color:#7c3aed}
.badge{padding:2px 8px;border-radius:999px;color:#fff;font-size:12px}
.badge.R{background:#dc2626}.badge.P{background:#2563eb}.badge.Y{background:#f59e0b;color:#111827}.badge.G{background:#16a34a}.badge.M{background:#000}
.tabs{display:flex;gap:8px;margin-bottom:8px;flex-wrap:wrap}
.tabs .btn.active{background:#0f172a;color:#fff}
input,select,textarea{width:100%;padding:10px;border:1px solid #cbd5e1;border-radius:12px}
label{font-size:12px;color:#334155}
h1{font-size:22px;margin:8px 0 12px}
h2{font-size:18px;margin:8px 0}
.small{font-size:12px;opacity:.7}
.grid{display:grid;grid-template-columns:1fr;gap:8px}
@media(min-width:700px){.grid.two{grid-template-columns:1fr 1fr;}}
.table{width:100%;border-collapse:collapse}
.table th,.table td{padding:8px;border-bottom:1px solid #e2e8f0;text-align:left}
.sticky{position:sticky;top:0;background:#fff}
footer.hint{position:fixed;left:0;right:0;bottom:0;margin:auto;max-width:900px;padding:8px}
