/* Shared styling for tools.bingoboardtv.com utility pages (calculators, printables, generators).
   Loaded on top of style.css. Keeps individual tool pages lean. v1 */
.calc,.tool{max-width:820px;margin:0 auto;padding:0 20px}
.calc-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px;align-items:end;background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:18px}
.field>span{display:block;margin-bottom:6px;color:var(--muted);font-size:.9rem}
.calc input,.calc select,.calc textarea,.tool input,.tool select,.tool textarea{font:inherit;font-size:1.03rem;padding:11px;border-radius:9px;border:1px solid var(--line);background:var(--panel2);color:var(--ink);width:100%;resize:vertical}
.switch{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:.95rem}.switch input{width:auto}
.calc-out{display:grid;gap:12px;margin-top:16px}
.calc-out.two{grid-template-columns:repeat(2,1fr)}.calc-out.three{grid-template-columns:repeat(3,1fr)}.calc-out.four{grid-template-columns:repeat(4,1fr)}
.calc-stat{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:16px;text-align:center}
.calc-stat span{display:block;color:var(--muted);font-size:.82rem;margin-bottom:4px}
.calc-stat b{font-size:1.7rem;line-height:1.1;word-break:break-word}
.calc-stat.big{border-color:var(--accent2)}.calc-stat.big b{font-size:2.4rem;color:var(--accent2)}
.calc-stat.alt{border-color:var(--accent)}.calc-stat.alt b{color:var(--accent)}
.actions{display:flex;gap:12px;align-items:center;justify-content:center;flex-wrap:wrap;margin:18px 0}
.btn.lg{font-size:1.1rem;padding:13px 26px}
.err{color:#ff7a7a;font-size:.92rem}
.hint{color:var(--muted);font-size:.85rem;text-align:center}
.tool-faq{max-width:820px;margin:22px auto 40px;padding:0 20px}
.tool-faq h2{font-size:1.4rem;margin:0 0 14px}
.faq-item{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:12px 16px;margin-bottom:10px}
.faq-item h3{margin:0 0 4px;font-size:1.02rem}.faq-item p{margin:0;color:var(--muted);font-size:.95rem;line-height:1.5}
.faq-item code{background:var(--panel2);padding:1px 6px;border-radius:5px;font-size:.9em}
.foot{max-width:820px;margin:0 auto;padding:20px;color:var(--muted);font-size:.9rem;text-align:center}
/* printable sheet (white paper look) */
.paper-wrap{max-width:1000px;margin:8px auto 0;padding:0 20px;overflow-x:auto}
.paper{background:#fff;color:#111;border-radius:12px;padding:24px;border:1px solid var(--line)}
.paper h2{margin:0 0 2px;text-align:center;color:#111;font-size:1.55rem}
.paper .sub{text-align:center;color:#555;margin:0 0 16px;font-size:.95rem}
.paper table{width:100%;border-collapse:collapse}
.paper th,.paper td{border:1px solid #999;padding:9px 8px;text-align:center;font-size:.95rem;color:#111}
.paper th{background:#f2f4f8}
.paper td.lbl{text-align:left;font-weight:600;background:#fafbfc}
.box{display:inline-block;width:18px;height:18px;border:2px solid #888;border-radius:4px}
.grid{display:grid;gap:0;border:2px solid #222}
.cell{border:1px solid #999;padding:8px 6px;min-height:44px;color:#111}
.cell .n{font-weight:800;font-size:.85rem}
.cell .line{border-bottom:1px solid #bbb;margin-top:16px}
@media(max-width:600px){.calc-out.two,.calc-out.three,.calc-out.four{grid-template-columns:1fr}}
@media print{body *{visibility:hidden}.paper-wrap,.paper-wrap *{visibility:visible}.paper-wrap{position:absolute;left:0;top:0;width:100%;padding:0;overflow:visible}.paper{border:none;border-radius:0}}
