.income-panel { --income-ink:#173b36; --income-line:#d6e4de; box-sizing:border-box; background:#f8fbf9; border:1px solid var(--income-line); border-radius:16px; padding:24px; margin:0 0 20px; color:var(--g800,#253c36); overflow-wrap:anywhere }
.income-panel[hidden] { display:none }
.income-panel * { box-sizing:border-box }
.income-header { display:flex; justify-content:space-between; align-items:flex-start; gap:16px }
.income-header h3 { font-size:19px; line-height:1.5; margin:4px 0 12px; color:var(--income-ink) }
.income-eyebrow { font-size:11px; letter-spacing:.12em; font-weight:700; color:#496c60; margin:0 }
.income-scope { border:1px solid #b9d4c7; color:#315f4d; border-radius:20px; padding:5px 12px; font-size:12px; white-space:nowrap }
.income-note { font-size:13px; line-height:1.8; color:#52665f; margin:8px 0 16px }
.income-result { background:#fff; border:1px solid var(--income-line); border-radius:12px; padding:18px; margin:12px 0 }
.income-result p { line-height:1.75; font-size:13px }
.income-badges { display:flex; gap:8px; flex-wrap:wrap }
.income-badge { font-size:12px; border-radius:6px; padding:4px 8px; color:#4d625c; background:#edf3ef }
.income-badge-wait { background:#fff3d6; color:#7d5914 }
.income-metrics { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin:20px 0 10px; font-variant-numeric:tabular-nums }
.income-metrics>div:first-child { grid-column:1/-1; border-bottom:1px solid var(--income-line); padding-bottom:16px }
.income-metrics p { margin:0 0 6px; color:#52665f; font-size:12px }
.income-metrics strong { font-size:18px; color:var(--income-ink); font-weight:650 }
.income-metrics>div:first-child strong { font-size:32px; letter-spacing:-.03em }
.income-hours { font-size:20px!important; font-weight:650; color:var(--income-ink); font-variant-numeric:tabular-nums }
.income-panel details { margin-top:12px }
.income-panel summary { cursor:pointer; font-size:13px; font-weight:600; line-height:1.8; padding:8px 0; color:var(--income-ink) }
.income-panel summary:focus-visible,.income-panel a:focus-visible { outline:2px solid #28765d; outline-offset:4px }
.income-evidence { border-top:1px solid var(--income-line); padding-top:4px }
.income-evidence a { display:block; font-size:12px; margin:8px 0; color:#226b52; text-decoration:underline; word-break:break-all }
.income-evidence h5 { margin:16px 0 4px }
.income-gaps li { font-size:13px; line-height:1.8 }
.income-fields { display:flex; align-items:flex-end; flex-wrap:wrap; gap:12px; margin:20px 0 }
.income-field { display:flex; flex-direction:column; gap:7px; flex:1 1 150px; min-width:0; font-size:12px; font-weight:600; color:#496258 }
.income-field input,.income-field select { width:100%; min-height:44px; font-weight:400 }
.income-actions { display:flex; gap:10px; flex-wrap:wrap; margin:16px 0 }
.income-panel button { min-height:44px; white-space:normal }
.income-empty { padding:20px; background:#fff; border:1px dashed var(--income-line); border-radius:10px; font-size:13px; line-height:1.8 }
.income-list-row { border-top:1px solid var(--income-line); padding-top:16px; margin-top:20px }
.income-list-row h4 { margin:0; font-size:16px }
.income-input { border-top:1px solid var(--income-line); margin-top:20px; padding-top:16px }
.income-input:empty { display:none }
.income-history { border-top:1px solid var(--income-line); padding-top:8px }
@media(max-width:600px) { .income-panel { padding:16px; border-radius:12px }
.income-header { gap:8px }
.income-header h3 { font-size:17px }
.income-scope { padding:4px 8px }
.income-result { padding:14px }
.income-metrics { grid-template-columns:1fr; gap:14px }
.income-metrics>div { display:flex; justify-content:space-between; gap:12px; align-items:baseline }
.income-metrics>div:first-child { display:block }
.income-metrics>div:first-child strong { font-size:29px }
.income-field { flex-basis:calc(50% - 12px) }
.income-actions button { flex:1 1 140px }
 }
.income-list-value { font-size:20px; font-weight:650; color:var(--income-ink); font-variant-numeric:tabular-nums; margin:8px 0 }
.income-list-row>.income-note { margin:6px 0; font-size:12px }
