/* Free tools — shared preview panels (used on /tools/ and the homepage #freetools section).
   Builds on the tokens in /css/home.css. Panels are always dark, like the homepage handover panel. */
.pv{background:var(--panel);color:#E8EAE6;border-radius:20px;padding:22px;font-family:var(--body);font-size:14px;box-shadow:0 1px 0 rgba(255,255,255,.04) inset;min-width:0}
.pv small{display:block;font-family:var(--mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:#8B95A1}
.pv-head{display:flex;justify-content:space-between;gap:12px;font-family:var(--mono);font-size:12px;color:#9AA3AE;padding-bottom:14px;border-bottom:1px solid #222A33}
.pv-ok{color:var(--lime)}
.pv .in{color:#4ADE80}.pv .out{color:#F87171}
.pv b{font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}

/* money tracker */
.pv-big{padding:18px 0 14px}
.pv-big strong{display:block;font-family:var(--display);font-size:clamp(36px,5vw,46px);line-height:1.05;letter-spacing:-.02em;color:var(--lime);font-variant-numeric:tabular-nums;margin-top:4px}
.pv-split{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.pv-split>div{background:#161C23;border-radius:12px;padding:12px 14px}
.pv-split b{display:block;font-size:18px;margin-top:4px}
.pv-list{list-style:none;margin:14px 0 0;padding:0}
.pv-list li{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:9px 0;border-top:1px solid #1C232B}
.pv-list span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pv-list em{font-style:normal;color:#7D8794;margin-left:8px;font-size:13px}

/* invoice */
.pv-to{padding:14px 0;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}
.pv-to b{display:block;font-size:15px;margin-top:3px}
.pv-to em{font-style:normal;font-family:var(--mono);font-size:11px;color:#7D8794}
.pv-rows{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}
.pv-rows td{padding:8px 0;border-top:1px solid #1C232B;vertical-align:baseline}
.pv-rows td:last-child{text-align:right;white-space:nowrap;padding-left:12px}
.pv-rows .sub td{color:#9AA3AE;font-size:13px}
.pv-rows .tot td{border-top:1px solid #39424D;padding-top:12px;font-weight:600;font-size:16px}
.pv-rows .tot td:last-child{color:var(--lime);font-family:var(--display);font-size:20px}
.pv-btn{margin-top:14px;display:flex;justify-content:center;border:1px solid #39424D;border-radius:10px;padding:10px;font-family:var(--mono);font-size:12px;color:#C4CAD2}

/* homepage compact cards */
.ft-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));gap:20px;margin-top:40px}
.ft-card{display:flex;flex-direction:column;gap:18px;border:1px solid var(--line);border-radius:20px;padding:20px;background:var(--paper);text-decoration:none;color:var(--ink);transition:border-color .15s,transform .15s}
.ft-card:hover{border-color:var(--accent);color:var(--ink);transform:translateY(-2px)}
.ft-card .pv{padding:18px}
.ft-card .pv-list li:nth-child(n+3){display:none}
.ft-card .pv-rows tr.opt{display:none}
.ft-card h3{font-size:22px;margin:0}
.ft-card p{color:var(--text);margin:6px 0 0}
.ft-go{margin-top:auto;font-weight:600;color:var(--accent)}

.pv-head+.pv-rows tr:first-child td{border-top:0}
