/* Tools: calculator, payday calendar, auth, pricing. Builds on app.css + pages.css tokens. */

/* calculator */
.calc-tabs{display:flex;gap:6px;margin-bottom:16px;border-bottom:1px solid var(--border)}
.calc-tab{background:none;border:0;border-bottom:2px solid transparent;padding:8px 14px;font:inherit;font-weight:600;color:var(--muted);cursor:pointer;margin-bottom:-1px}
.calc-tab.active{color:var(--primary);border-bottom-color:var(--primary)}
.reinvest-toggle{display:flex;align-items:center;gap:8px;font-weight:500;color:var(--text);margin-top:6px;cursor:pointer}
.reinvest-toggle input{width:auto;height:auto}
.calc-table-toggle summary{cursor:pointer;font-weight:600;color:var(--primary)}
[data-out]{font-variant-numeric:tabular-nums}

/* payday calendar */
.holding-inputs{display:grid;grid-template-columns:1fr 120px auto;gap:10px;align-items:end}
@media (max-width:520px){.holding-inputs{grid-template-columns:1fr}}
.holding-form .field{margin:0}
.inline-qty{display:inline}
.inline-qty input{width:90px;height:32px;text-align:right}
.qty-input{width:90px;height:32px;text-align:right}
.empty-holdings{padding:16px 0}
.bar-row{display:grid;grid-template-columns:70px 1fr 90px;gap:10px;align-items:center;margin-bottom:6px;font-size:.9rem}
.bar-label{font-weight:600}
.bar-track{background:var(--surface-2);border-radius:999px;height:14px;overflow:hidden}
.bar-fill{display:block;height:100%;background:var(--primary);border-radius:999px}
.bar-val{text-align:right;font-variant-numeric:tabular-nums;color:var(--muted)}
[data-ac]{top:64px}

/* auth */
.auth-card{max-width:460px;margin:30px auto}
.auth-card.center{text-align:center}
.big-check{font-size:3rem;margin-bottom:6px}

/* pricing */
.pricing-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px;max-width:820px;margin:20px auto 0;align-items:start}
.plan{position:relative}
.plan.featured{border-color:var(--primary);box-shadow:0 0 0 2px var(--primary-soft),var(--shadow)}
.plan .ribbon{position:absolute;top:-11px;right:16px;background:var(--primary);color:var(--on-primary);font-size:.72rem;font-weight:700;padding:3px 10px;border-radius:999px}
.plan h2{margin:0}
.price{font-size:2.4rem;font-weight:800;letter-spacing:-.02em;margin:6px 0}
.price span{font-size:.9rem;font-weight:500;color:var(--muted)}
.price-note{color:var(--muted);font-size:.85rem;margin-top:-4px}
.ticks{list-style:none;padding:0;margin:14px 0 18px}
.ticks li{padding:6px 0 6px 26px;position:relative;font-size:.94rem;border-bottom:1px solid var(--border)}
.ticks li:last-child{border-bottom:0}
.ticks li::before{content:"✓";position:absolute;left:0;color:var(--pos);font-weight:800}
details.danger summary{color:var(--neg);cursor:pointer;font-weight:600}
details.danger{border:1px solid var(--border);border-radius:var(--radius);padding:12px 16px}
