/* 2026 Federal Income Tax & Refund Estimator — builds on us-planners.css and the tabbed planner layout. */
.tx-hero{background:radial-gradient(circle at 92% 18%,#2fbf8f33,transparent 38%),linear-gradient(120deg,#392654,#211d38 75%)}
.tx .tx-ghost{background:none}
.tx-group{margin:0 0 6px}.tx-group h3{margin:16px 0 8px;font-size:.95rem;color:#d9c1ff}.tx-group h3:first-child{margin-top:0}
.tx-fields{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.tx-fields .wide{grid-column:1/-1}
.tx .usp-field{display:flex;flex-direction:column;gap:5px;font-size:.88rem}
.tx .usp-field small{color:var(--usp-muted);font-size:.76rem;line-height:1.35}
.tx-money{position:relative}.tx-money::before{content:'$';position:absolute;left:10px;top:50%;transform:translateY(-50%);color:var(--usp-muted);font-size:.9rem;pointer-events:none}.tx-money input{padding-left:22px!important;width:100%}
.tx-checks{display:grid;grid-template-columns:1fr 1fr;gap:6px 10px}
.tx-headline{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:18px 20px;border-radius:16px;margin-bottom:12px;background:linear-gradient(135deg,#1f5a3f,#24203a 70%);border:1px solid #3a8a63}
.tx-headline.owe{background:linear-gradient(135deg,#6a2a33,#24203a 70%);border-color:#a8505e}
.tx-headline span{font-size:.85rem;color:#d7f5e6;text-transform:uppercase;letter-spacing:.06em}.tx-headline.owe span{color:#ffd6dc}
.tx-headline strong{display:block;font-size:2.4rem;line-height:1.1;color:#fff}
.tx-headline small{color:#d9d3ea}
.tx-meter{flex:1;min-width:220px}
.tx-meter b{display:block;font-size:.8rem;color:#d9d3ea;margin-bottom:6px}
.tx-meter i{display:flex;height:12px;border-radius:6px;overflow:hidden;background:#151226}
.tx-meter i em{display:block;height:100%}
.tx-brackets{display:flex;flex-direction:column;gap:6px}
.tx-br{display:grid;grid-template-columns:52px minmax(0,1fr) 110px;align-items:center;gap:10px;font-size:.88rem}
.tx-br b{color:#fff}.tx-br span{text-align:right;font-variant-numeric:tabular-nums;color:var(--usp-muted)}
.tx-br i{display:block;height:22px;border-radius:6px;background:#2a2440;position:relative;overflow:hidden}
.tx-br i em{position:absolute;inset:0 auto 0 0;border-radius:6px}
.tx-br.on b{color:#ffd166}
.tx-lines table{width:100%;border-collapse:collapse;font-size:.92rem}
.tx-lines th{text-align:left;color:#d9c1ff;font-size:.78rem;letter-spacing:.06em;text-transform:uppercase;padding:14px 6px 6px;border-bottom:1px solid var(--usp-line)}
.tx-lines td{padding:7px 6px;border-bottom:1px solid #3a3352}.tx-lines td:last-child{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.tx-lines tr.res td{font-weight:800;color:#fff;background:#2d2645}
.tx-new{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}
.tx-card{padding:12px 14px;border:1px solid var(--usp-line);border-radius:12px;background:#1c182e}
.tx-card h3{margin:0 0 4px;font-size:.95rem;color:#fff}.tx-card p{margin:0;color:var(--usp-muted);font-size:.86rem;line-height:1.5}
.tx-card strong{color:#9ff0c9}.tx-card.zero strong{color:var(--usp-muted)}
.tx-cmp table{width:100%;border-collapse:collapse;font-size:.92rem}.tx-cmp th,.tx-cmp td{padding:7px 6px;border-bottom:1px solid #3a3352;text-align:right}.tx-cmp th:first-child,.tx-cmp td:first-child{text-align:left}
.tx-cmp .up{color:#ff9aa8}.tx-cmp .down{color:#9ff0c9}
.tx-src li{margin:6px 0;line-height:1.5}.tx-src a{color:#ffcf8a}
@media(max-width:560px){.tx-fields,.tx-checks{grid-template-columns:1fr}.tx-headline strong{font-size:2rem}.tx-br{grid-template-columns:44px minmax(0,1fr) 90px}}
.tx .tg-side .tg-tabs [role=tab]{flex:1 1 0;min-width:0;padding:9px 4px;font-size:.88rem;overflow:hidden;text-overflow:ellipsis}
/* compact aligned rows: label left, input right, hint below */
.tx-list{display:flex;flex-direction:column;gap:2px}
.tx .tx-row{display:grid;grid-template-columns:minmax(0,1fr) 128px;align-items:center;gap:2px 12px;padding:7px 0;border-bottom:1px solid #2e2843;font-size:.88rem}
.tx .tx-row:last-child{border-bottom:0}
.tx .tx-row .tx-l{color:#e9e3f7;line-height:1.3}
.tx .tx-row small{grid-column:1/-1;margin-top:1px}
.tx .tx-row input,.tx .tx-row select{width:100%;padding:6px 8px;font-size:.9rem;min-height:0;height:34px;text-align:right}
.tx .tx-row.tx-sel{grid-template-columns:minmax(0,1fr) 210px}.tx .tx-row.tx-sel select{text-align:left}
.tx .tx-money::before{left:8px;font-size:.85rem}.tx .tx-money input{padding-left:18px!important}
.tx .tx-row input[type=number]{-moz-appearance:textfield}.tx .tx-row input::-webkit-inner-spin-button{opacity:.35}
.tx-group h3{margin:14px 0 4px}
.tx .wide.usp-field:not(.tx-row){display:flex;flex-direction:column;gap:6px;margin-top:6px}
.tx .wide.usp-field:not(.tx-row) input{height:34px;padding:6px 8px}
@media(max-width:560px){.tx .tx-row{grid-template-columns:minmax(0,1fr) 112px}.tx .tx-row.tx-sel{grid-template-columns:1fr}}
.tx .usp-check{font-size:.9rem;padding:3px 0}.tx .tx-row.tx-date{grid-template-columns:minmax(0,1fr) 150px}.tx .tx-row.tx-date input{text-align:left}.tx .tx-list>button{margin-top:8px}
