/* R42.6 - Pofka finance dashboard: presentational layer, no data writes */
.pfd{margin:16px 0 22px;max-width:100%;color:#234235}
.pfd-topline{display:flex;align-items:end;justify-content:space-between;flex-wrap:wrap;gap:8px;margin:6px 0 14px}
.pfd h3{font:500 clamp(20px,2.2vw,26px)/1.18 Georgia,serif;margin:4px 0 0;color:#234435}
.pfd-eyebrow{font-size:10px;letter-spacing:.17em;font-weight:800;color:#668877}
.pfd-hint{font-size:11px;color:#708075}
.pfd-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:12px}
.pfd-metric{padding:15px 15px 17px;border:1px solid #e0e8e1;background:#fff;border-radius:14px;min-width:0;box-shadow:0 3px 14px #203c3020}
.pfd-metric small{display:block;color:#5f7669;font-size:11px;font-weight:650}
.pfd-metric strong{display:block;color:#204232;font:650 clamp(16px,1.65vw,23px)/1.25 system-ui;margin-top:10px;overflow-wrap:anywhere}
.pfd-metric:nth-child(3){background:#eef5ef}.pfd-metric:nth-child(4){background:#fbf4ea}
.pfd-panels{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.pfd-card{background:#fff;border:1px solid #dce5dd;border-radius:15px;padding:17px 18px;min-width:0}
.pfd-card h4{font:700 14px/1.4 system-ui;color:#294b38;margin:0 0 17px}
.pfd-card:last-child{grid-column:1/-1}
.pfd-donut-wrap{display:flex;align-items:center;justify-content:center;gap:24px;flex-wrap:wrap}
.pfd-donut{width:158px;height:158px;flex:none;aspect-ratio:1;border-radius:50%;background:conic-gradient(#337c61 0 var(--pfd-paid),#e6ede5 var(--pfd-paid) 100%);display:grid;place-items:center}
.pfd-donut>div{width:118px;height:118px;background:#fff;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center}
.pfd-donut strong{font:700 26px/1.1 system-ui;color:#244838}.pfd-donut small{color:#779080;font-size:11px;margin-top:5px}
.pfd-legend{flex:1;min-width:150px}.pfd-legend p{display:grid;grid-template-columns:12px minmax(0,1fr);column-gap:8px;row-gap:2px;align-items:center;color:#5b7365;font-size:12px;margin:12px 0}
.pfd-legend strong{grid-column:2;font-size:14px;color:#2f4e3c;overflow-wrap:anywhere}
.pfd-dot{display:block;width:10px;height:10px;border-radius:50%}.pfd-dot.paid{background:#337c61}.pfd-dot.remaining{background:#e6ede5;border:1px solid #bacabf}
.pfd-note{font-size:11px;line-height:1.5;color:#6f8376;margin:15px 0 0}
.pfd-bar-row{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:12px;color:#607667;margin:10px 0 7px}
.pfd-bar-row strong{font-size:12px;color:#244a39;text-align:right;overflow-wrap:anywhere}
.pfd-track{height:10px;border-radius:100px;overflow:hidden;background:#e8eee8}
.pfd-track span{display:block;height:100%;background:#407b66;border-radius:100px;max-width:100%;transition:width .18s}
.pfd-budget span{background:#d3e2d8}.pfd-cost span{background:#4b876d}
.pfd-budget-status{padding:12px 13px;background:#eef5ef;border-radius:9px;color:#325b47;margin:18px 0 0;font-size:12px;font-weight:700}
.pfd-budget-status[data-budget-state=over]{background:#fff3e8;color:#994a2f}
.pfd-categories{padding:0;margin:0;list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px 20px}.pfd-category{min-width:0}
.pfd-category .pfd-track{height:7px}.pfd-category .pfd-bar-row span{overflow-wrap:anywhere}
.pfd-empty{font-size:12px;color:#698074}.pfd-footer{display:flex;align-items:center;flex-wrap:wrap;justify-content:space-between;gap:9px;margin-top:9px;font-size:12px;color:#5e7265;padding:12px 4px}.pfd-footer strong{color:#294d3b}.pfd-flag{color:#9f5b32}
@media(max-width:1000px){.pfd-panels{grid-template-columns:1fr}.pfd-card:last-child{grid-column:auto}}
@media(max-width:720px){.pfd-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.pfd-categories{grid-template-columns:1fr}.pfd-metric{padding:12px}.pfd-card{padding:14px}.pfd-donut{width:132px;height:132px}.pfd-donut>div{width:99px;height:99px}.pfd-donut strong{font-size:22px}}
@media print{.pfd{break-inside:avoid}.pfd-card{break-inside:avoid}.pfd-metric{box-shadow:none}}

/* Keep legacy finance inputs from widening the mobile viewport. */
.ops-settings label{min-width:0}.ops-settings input,.ops-settings select{min-width:0;max-width:100%;box-sizing:border-box}
