/* RECATOOLS — Credit Utilization Calculator */
.cu-cards { display: flex; flex-direction: column; gap: .6rem; margin-bottom: .75rem; }
.cu-row { display: grid; grid-template-columns: 1.1fr 1fr 1fr auto auto; gap: .5rem; align-items: center; }
@media (max-width: 640px) { .cu-row { grid-template-columns: 1fr 1fr; } .cu-row .cu-name { grid-column: 1 / -1; } }
.cu-name { border: 1px solid #ebebeb; border-radius: 6px; padding: .5rem .6rem; font-size: .85rem; font-family: inherit; color: #1a1814; background: #fff; box-sizing: border-box; width: 100%; }
.cu-name:focus { outline: none; box-shadow: inset 0 0 0 2px #E8472F; }
.input-prefix-wrap { display: flex; align-items: stretch; border: 1px solid #ebebeb; border-radius: 6px; background: #fff; overflow: hidden; }
.ipx-label { padding: .5rem .55rem; background: #f0ede9; font-size: .72rem; font-weight: 600; color: #6b6760; border-right: 1px solid #ebebeb; white-space: nowrap; }
.cu-row input[type="number"] { flex: 1; border: none; padding: .5rem .55rem; font-size: .88rem; font-family: inherit; background: transparent; color: #1a1814; width: 100%; box-sizing: border-box; }
.cu-row input[type="number"]:focus { outline: none; box-shadow: inset 0 0 0 2px #E8472F; }
.cu-util { font-size: .85rem; font-weight: 700; text-align: center; padding: .25rem .35rem; border-radius: 6px; min-width: 3rem; color: #6b6760; }
.cu-util.cu-util-ok { background: #f0fdf4; color: #15803d; }
.cu-util.cu-util-mid { background: #fef9c3; color: #854d0e; }
.cu-util.cu-util-high { background: #fee2e2; color: #b91c1c; }
.cu-remove { border: 1px solid #ebebeb; background: #fff; color: #94a3b8; border-radius: 6px; width: 2rem; height: 2rem; font-size: 1.1rem; line-height: 1; cursor: pointer; font-family: inherit; }
.cu-remove:hover { background: #fee2e2; color: #b91c1c; border-color: #fecaca; }
.cu-add { width: 100%; margin-bottom: 1rem; padding: .6rem; background: #eff6ff; color: #1d4ed8; border: 1px dashed #bfdbfe; border-radius: 8px; font-size: .85rem; font-weight: 700; cursor: pointer; font-family: inherit; }
.cu-add:hover { background: #dbeafe; }

.cu-headline { padding: 1.25rem 1rem; background: #eff6ff; border: 1px solid #bfdbfe; border-radius: 12px; text-align: center; }
.cu-headline-label { font-size: .72rem; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; color: #1d4ed8; }
.cu-headline-value { font-size: 3rem; line-height: 1.05; font-weight: 800; font-family: 'IBM Plex Serif', serif; color: #1e3a8a; margin: .15rem 0; }
.cu-headline-sub { font-size: .8rem; color: #475569; max-width: 34rem; margin: 0 auto; line-height: 1.5; }

.verdict-bar { margin: 1rem 0; padding: .75rem 1rem; background: #eff6ff; border-left: 3px solid #2563eb; border-radius: 0 6px 6px 0; font-size: .875rem; line-height: 1.6; color: #1a1814; }
.verdict-bar:empty { display: none; }
.cu-flag { display: inline-block; margin-top: .25rem; color: #b91c1c; font-weight: 600; }

.cu-targets { margin-top: 1rem; padding: 1rem; background: #fafaf9; border: 1px solid #ebebeb; border-radius: 10px; }
.cu-target { display: flex; justify-content: space-between; padding: .35rem 0; border-bottom: 1px dashed #ebebeb; font-size: .875rem; }
.cu-target:last-child { border-bottom: none; }
.cu-target-val { font-weight: 700; font-family: 'IBM Plex Serif', serif; color: #1e3a8a; }

/* cache-buster: 2026-05-30T00:00:00Z */
