*{box-sizing:border-box}body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;background:var(--bg);color:var(--ink);line-height:1.5}
header{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;justify-content:space-between;padding:.8rem 1rem;background:var(--brand);color:#fff}
header h1{font-size:1.1rem;margin:0}header small{opacity:.8;display:block;font-weight:400}
.lang button,.btn{border:1px solid currentColor;background:transparent;color:inherit;padding:.35rem .7rem;border-radius:6px;cursor:pointer;font:inherit}
.lang button.on{background:#fff;color:var(--brand)}
.btn{background:var(--accent);border-color:var(--accent);color:#fff}.btn.ghost{background:transparent;color:var(--brand);border-color:var(--brand)}
main{max-width:960px;margin:0 auto;padding:1rem}.card{background:#fff;border:1px solid #e3e3e3;border-radius:10px;padding:1rem;margin:0 0 1rem}
.note{font-size:.85rem;background:#fff8e1;border:1px solid #f0e0a0;border-radius:8px;padding:.6rem .8rem;margin-bottom:1rem;display:flex;gap:.5rem;align-items:center;justify-content:space-between;flex-wrap:wrap}
label{display:block;font-size:.85rem;margin:.4rem 0 .15rem;font-weight:600}input,select,textarea{width:100%;padding:.45rem;border:1px solid #ccc;border-radius:6px;font:inherit}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.6rem}table{width:100%;border-collapse:collapse;font-size:.9rem}th,td{text-align:left;padding:.4rem;border-bottom:1px solid #eee;vertical-align:top}
.tablewrap{overflow-x:auto}.tabs{display:flex;gap:.3rem;flex-wrap:wrap;margin-bottom:1rem}.tabs button{border:1px solid var(--brand);background:#fff;color:var(--brand);padding:.4rem .8rem;border-radius:20px;cursor:pointer;font:inherit}
.tabs button.on{background:var(--brand);color:#fff}.pill{display:inline-block;padding:.1rem .5rem;border-radius:10px;font-size:.78rem;background:#eee}.red{background:#fde2e2;color:#9b1c1c}.amber{background:#fef3c7;color:#92400e}.green{background:#dcfce7;color:#166534}
.cta{display:block;text-align:center;margin:1.5rem auto;max-width:320px;text-decoration:none}footer{text-align:center;font-size:.8rem;color:#777;padding:1rem}
.msg{border-left:4px solid var(--accent);background:#fafafa;padding:.5rem .7rem;margin:.5rem 0;font-size:.9rem;white-space:pre-wrap}
@media print{header .lang,#resetBtn,.note,.cta,.tabs,.noprint,footer{display:none!important}body{background:#fff}.card{border:none;break-inside:avoid}}
