/* Tire Shop Simulator Tycoon - Money apps (finance, bank, insurance, taxes, reports). Classes are prefixed fn-. */
.fn-verdict { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 10px; margin-bottom: 12px; }
.fn-v { background: var(--os-card); border: 1px solid var(--os-line); border-left: 6px solid #9aa7b4; border-radius: 12px; padding: 10px 14px; display: flex; flex-direction: column; gap: 3px; }
.fn-v small { font-family: var(--hd); font-size: 12.5px; letter-spacing: .1em; text-transform: uppercase; color: var(--os-muted); }
.fn-v b { font-family: var(--hd); font-size: 22px; font-weight: 700; line-height: 1.1; }
.fn-v span { font-size: 13.5px; color: var(--os-text); line-height: 1.35; }
.fn-v.good { border-left-color: #1f9556; } .fn-v.good b { color: #167544; }
.fn-v.bad { border-left-color: #e5484d; } .fn-v.bad b { color: #c4353a; }
.fn-v.warn { border-left-color: #e0a800; } .fn-v.warn b { color: #8a6a00; }
.fn-v ul { margin: 2px 0 0; padding-left: 18px; font-size: 13.5px; line-height: 1.35; } .fn-v li { margin: 2px 0; }
.fn-tip { font-size: 13.5px; background: #eef5fb; border: 1px solid #cfe2f3; color: #1e4f78; border-radius: 8px; padding: 7px 10px; margin: 0 0 12px; line-height: 1.4; }
.fn-alarm { font-size: 14px; background: #fdecec; border: 1px solid #f2b8ba; color: #8f2a2e; border-radius: 10px; padding: 10px 12px; margin: 0 0 12px; line-height: 1.4; }
.fn-alarm b { font-family: var(--hd); font-size: 17px; letter-spacing: .02em; display: block; margin-bottom: 2px; }
.fn-stmt { width: 100%; border-collapse: collapse; font-size: 14.5px; }
.fn-stmt td { padding: 6px 8px; border-bottom: 1px solid #edf1f5; vertical-align: top; }
.fn-stmt td.amt { text-align: right; font-family: var(--mono); font-size: 13.5px; white-space: nowrap; width: 1%; }
.fn-stmt td small { display: block; color: var(--os-muted); font-size: 12.5px; line-height: 1.3; margin-top: 1px; }
.fn-stmt tr.sum td { font-weight: 700; border-top: 2px solid var(--os-line); background: #f7f9fb; } .fn-stmt tr td small { font-weight: 400; }
.fn-stmt tr.big td { font-size: 16px; font-weight: 700; background: #f1f6f2; }
.fn-stmt tr.big.neg td { background: #fbf0f0; }
.fn-stmt tr.head td { font-family: var(--hd); font-size: 12.5px; letter-spacing: .1em; text-transform: uppercase; color: var(--os-muted); background: #f7f9fb; padding-top: 9px; }
.fn-stmt tr.sub td:first-child { padding-left: 22px; }
.fn-neg { color: #c4353a; } .fn-pos { color: #167544; }
.fn-seg { display: inline-flex; flex-wrap: wrap; border: 1px solid var(--os-line); border-radius: 9px; overflow: hidden; background: #fff; vertical-align: middle; }
.fn-seg button { min-height: 40px; padding: 5px 12px; border: 0; border-right: 1px solid var(--os-line); background: transparent; font-family: var(--bd); font-size: 14px; color: var(--os-text); line-height: 1.15; }
.fn-seg button:last-child { border-right: 0; } .fn-seg button.on { background: var(--os-acc); color: #fff; font-weight: 600; }
.fn-seg button small { display: block; font-size: 12px; opacity: .8; font-family: var(--mono); }
.fn-bar { position: relative; display: block; height: 12px; border-radius: 6px; background: #e3e9ef; overflow: hidden; min-width: 90px; }
.fn-bar i { position: absolute; left: 0; top: 0; bottom: 0; background: #2471a3; border-radius: 6px; }
.fn-bar i.over { background: #e5484d; } .fn-bar i.ok { background: #1f9556; } .fn-bar em { position: absolute; top: -2px; bottom: -2px; width: 2px; background: #18222d; }
.fn-offer { border: 2px solid #1f9556; border-radius: 12px; padding: 10px 14px; background: #f3fbf6; margin: 10px 0; }
.fn-offer.no { border-color: #e0a800; background: #fffaeb; }
.fn-offer dl { display: grid; grid-template-columns: repeat(auto-fit, minmax(120px, 1fr)); gap: 6px 14px; margin: 6px 0 8px; }
.fn-offer dt { font-family: var(--hd); font-size: 12px; letter-spacing: .1em; text-transform: uppercase; color: var(--os-muted); }
.fn-offer dd { margin: 0; font-family: var(--hd); font-size: 21px; font-weight: 700; }
.fn-score { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; }
.fn-score .dial { position: relative; width: 100%; max-width: 360px; height: 16px; border-radius: 8px; background: linear-gradient(90deg, #c4353a 0%, #e0a800 45%, #8fbf3a 70%, #1f9556 100%); }
.fn-score .dial i { position: absolute; top: -5px; width: 6px; height: 26px; border-radius: 3px; background: #18222d; box-shadow: 0 0 0 2px #fff; transform: translateX(-3px); }
.fn-score b { font-family: var(--hd); font-size: 40px; font-weight: 800; line-height: 1; }
.fn-moves { list-style: none; margin: 6px 0 0; padding: 0; font-size: 14px; } .fn-moves li { display: flex; justify-content: space-between; gap: 10px; padding: 4px 0; border-bottom: 1px dashed #e3e9ef; }
.fn-moves b { font-family: var(--mono); font-weight: 500; } .fn-moves b.up { color: #167544; } .fn-moves b.dn { color: #c4353a; }
.fn-cov { border: 1px solid var(--os-line); border-radius: 12px; padding: 10px 12px; margin-bottom: 10px; background: var(--os-card); }
.fn-cov header { display: flex; justify-content: space-between; align-items: baseline; gap: 10px; flex-wrap: wrap; }
.fn-cov header b { font-size: 16.5px; } .fn-cov p { margin: 3px 0 8px; font-size: 13.5px; color: var(--os-muted); }
.fn-in { min-height: 40px; padding: 6px 10px; border-radius: 8px; border: 1px solid var(--os-line); background: #fff; color: var(--os-text); font-size: 15px; font-family: var(--mono); width: 130px; text-align: right; }
.fn-in.sm { width: 96px; min-height: 36px; }
.fn-act { display: flex; gap: 6px; flex-wrap: wrap; } .fn-act .os-btn.small { min-height: 36px; }
.fn-due { list-style: none; margin: 0; padding: 0; font-size: 14px; } .fn-due li { display: grid; grid-template-columns: 92px 1fr auto; gap: 10px; padding: 5px 0; border-bottom: 1px solid #edf1f5; align-items: baseline; }
.fn-due li span:first-child { color: var(--os-muted); font-size: 13px; } .fn-due li b { font-family: var(--mono); font-weight: 500; font-size: 13.5px; }
.fn-kpis { display: grid; grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); gap: 10px; margin-bottom: 12px; }
.fn-kpi { background: var(--os-card); border: 1px solid var(--os-line); border-radius: 12px; padding: 9px 12px; display: flex; flex-direction: column; gap: 2px; border-top: 3px solid var(--os-line); }
.fn-kpi small { font-family: var(--hd); font-size: 12px; letter-spacing: .1em; text-transform: uppercase; color: var(--os-muted); }
.fn-kpi b { font-family: var(--hd); font-size: 25px; font-weight: 700; line-height: 1.05; } .fn-kpi span { font-size: 12.5px; color: var(--os-muted); line-height: 1.3; }
.fn-kpi.good { border-top-color: #1f9556; } .fn-kpi.bad { border-top-color: #e5484d; } .fn-kpi.warn { border-top-color: #e0a800; }
.fn-head { display: flex; justify-content: space-between; align-items: center; gap: 10px; flex-wrap: wrap; margin-bottom: 10px; }
.fn-head h3 { margin: 0 !important; }
.fn-split { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); gap: 12px; align-items: start; }
@media (max-width: 1000px) { .fn-split { grid-template-columns: 1fr; } }
@media (max-height: 480px) { .fn-v b { font-size: 19px; } .fn-score b { font-size: 32px; } .fn-kpi b { font-size: 21px; } .fn-offer dd { font-size: 18px; } }
