/* FinFlow PRIME Calculator Hub — page styles (uses the site's design tokens from css/style.css) */
.calc-hero{background:radial-gradient(900px 380px at 88% -10%,rgba(10,108,255,.28),transparent 62%),radial-gradient(700px 320px at -5% 120%,rgba(201,162,39,.22),transparent 60%),linear-gradient(135deg,var(--deep),var(--navy));color:#fff;padding:clamp(2.6rem,6vw,4.4rem) 0 clamp(2.2rem,5vw,3.4rem)}
.calc-hero h1{color:#fff;font-size:clamp(2rem,4.4vw,3rem);line-height:1.15;margin:.2rem 0 .7rem;letter-spacing:-.02em}
.calc-hero p{color:rgba(255,255,255,.8);max-width:44rem;margin:0 0 1.4rem}
.calc-search{display:flex;gap:.6rem;max-width:560px;background:#fff;border-radius:14px;padding:.4rem;box-shadow:var(--sh-2)}
.calc-search input{flex:1;border:0;font:500 1rem var(--sans);padding:.6rem .8rem;outline:none;color:var(--text);min-width:0;background:transparent}
.calc-rates{display:inline-block;margin-top:1rem;font-size:.85rem;color:rgba(255,255,255,.75)}
.calc-cats{display:flex;flex-wrap:wrap;gap:.5rem;margin:0 0 1.4rem}
.calc-chip{border:1px solid var(--line-2);background:#fff;border-radius:999px;padding:.45rem 1rem;font:600 .9rem var(--sans);color:var(--body);cursor:pointer}
.calc-chip.on{background:var(--navy);border-color:var(--navy);color:#fff}
.calc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1.1rem}
.calc-card{position:relative;display:flex;flex-direction:column;gap:.35rem;background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:1.4rem;text-decoration:none;color:var(--body);box-shadow:var(--sh-1);transition:transform .18s,box-shadow .18s,border-color .18s}
.calc-card:hover{transform:translateY(-3px);box-shadow:var(--sh-2);border-color:rgba(10,108,255,.35)}
.calc-card h3{margin:.4rem 0 0;color:var(--text);font-size:1.12rem}.calc-card p{margin:0;font-size:.93rem;flex:1}
.calc-ico{width:46px;height:46px;border-radius:13px;display:grid;place-items:center;font:800 1rem var(--sans);color:#fff;background:linear-gradient(135deg,var(--blue),var(--navy))}
.calc-ico.cat-tax{background:linear-gradient(135deg,#E4C766,#C9A227);color:#2a2000}.calc-ico.cat-convert{background:linear-gradient(135deg,#00B8F5,#0A6CFF)}
.calc-cat{font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-top:.6rem}
.calc-go{font-weight:700;color:var(--blue-d);font-size:.9rem;margin-top:.5rem}
.calc-empty{color:var(--muted)}
.calc-tool-head{margin-bottom:1.2rem}.calc-tool-head h2{margin:.4rem 0 .2rem;color:var(--text);font-size:clamp(1.5rem,3vw,2rem)}.calc-tool-head p{margin:0;max-width:52rem}
.calc-back{font-weight:700;text-decoration:none;color:var(--blue-d);font-size:.92rem}
.calc-body{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1.4rem;align-items:start}
.calc-form,.calc-result{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:1.4rem;box-shadow:var(--sh-1);min-width:0}
.calc-result:empty{display:none}
.cf-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem 1rem}
.cf{display:flex;flex-direction:column;gap:.3rem;min-width:0}
.cf-l{font-weight:700;font-size:.86rem;color:var(--text)}
.cf input,.cf select{width:100%;font:500 .98rem var(--sans);color:var(--text);padding:.62rem .75rem;border:1.5px solid var(--line-2);border-radius:10px;background:#fff;min-width:0}
.cf input:focus,.cf select:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 3px rgba(10,108,255,.15)}
.cf-h{font-size:.8rem;color:var(--muted);line-height:1.45}
.cf-pair{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}
.calc-actions{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1.1rem}
.calc-actions .btn{height:2.7rem}
.calc-note{background:#EEF5FF;border:1px solid #CFE1FF;color:var(--text);border-radius:12px;padding:.75rem .9rem;font-size:.88rem;margin-bottom:1rem}
.calc-note.warn{background:#FFF7E6;border-color:#F6DDA6;color:#7A5300}
.calc-flag{background:#FFF7E6;border-left:4px solid #E8A92A;padding:.55rem .8rem;border-radius:0 10px 10px 0;font-size:.86rem;color:#7A5300;margin:.6rem 0}
.calc-rowinfo{margin:1rem 0 .3rem;padding:.8rem .9rem;border:1px dashed var(--line-2);border-radius:12px;background:var(--paper)}.calc-rowinfo:empty{display:none}.calc-rowinfo p{margin:.15rem 0}
.calc-big{background:linear-gradient(135deg,var(--navy),var(--ink));color:#fff;border-radius:16px;padding:1.1rem 1.2rem;margin-bottom:1rem}
.calc-big span{display:block;font-size:.85rem;color:rgba(255,255,255,.75)}.calc-big b{display:block;font-size:clamp(1.6rem,4vw,2.2rem);letter-spacing:-.01em;line-height:1.25;word-break:break-word}.calc-big small{display:block;color:rgba(255,255,255,.75);font-size:.82rem}
.calc-big.two{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.calc-kv{display:grid;grid-template-columns:auto 1fr;gap:.45rem 1rem;margin:0;font-size:.92rem}
.calc-kv dt{color:var(--muted)}.calc-kv dd{margin:0;color:var(--text);font-weight:600;text-align:right;word-break:break-word}
.calc-how{margin-top:1rem;border-top:1px solid var(--line);padding-top:.7rem}.calc-how summary{cursor:pointer;font-weight:700;color:var(--navy);margin-bottom:.5rem}
.calc-sub{font-size:1rem;color:var(--text);margin:1.2rem 0 .5rem}
.calc-table{overflow-x:auto;border:1px solid var(--line);border-radius:12px;margin-top:.5rem}
.calc-table table{border-collapse:collapse;width:100%;font-size:.86rem;min-width:520px}
.calc-table th{background:var(--paper);text-align:left;padding:.55rem .7rem;font-size:.74rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);position:sticky;top:0}
.calc-table td{padding:.5rem .7rem;border-top:1px solid var(--line);vertical-align:top}.calc-table .n{text-align:right;white-space:nowrap}.calc-table tfoot td{font-weight:700;background:var(--paper)}
.calc-result .calc-table{max-height:520px}
.calc-disc{font-size:.78rem;color:var(--muted);margin:1rem 0 0;line-height:1.5}
.calc-picks{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.8rem}
.calc-picks fieldset{border:1px solid var(--line);border-radius:12px;padding:.6rem .8rem .8rem;margin:0}
.calc-picks legend{font-weight:800;color:var(--navy);padding:0 .3rem}
.calc-pick{display:flex;gap:.45rem;align-items:center;font-size:.9rem;padding:.15rem 0;cursor:pointer}
.linkbtn{border:0;background:none;color:var(--blue-d);font:600 .78rem var(--sans);cursor:pointer;padding:0}
.fx-row{margin-bottom:.7rem;padding-bottom:.7rem;border-bottom:1px dashed var(--line)}
.calc-legal{font-size:.82rem;color:var(--muted);max-width:60rem}
@media (max-width:900px){.calc-body{grid-template-columns:minmax(0,1fr)}}
@media (max-width:560px){.cf-grid{grid-template-columns:minmax(0,1fr)}.calc-form,.calc-result{padding:1rem;border-radius:16px}.calc-big.two{grid-template-columns:1fr}.calc-kv{grid-template-columns:minmax(0,1fr);gap:.1rem}.calc-kv dt{font-size:.8rem;margin-top:.45rem}.calc-kv dd{text-align:left}}
@media print{
  body.calc-printing>*:not(main),body.calc-printing main>*:not(#calc-section),body.calc-printing .calc-form,body.calc-printing .calc-tool-head,body.calc-printing .calc-actions{display:none!important}
  body.calc-printing .calc-body{display:block}body.calc-printing .calc-result{border:0;box-shadow:none;padding:0}
  body.calc-printing .calc-big{background:#fff;color:#000;border:1px solid #999}body.calc-printing .calc-big span,body.calc-printing .calc-big small{color:#333}
  body.calc-printing .calc-result .calc-table{max-height:none;overflow:visible}
}
