/* Field Staff KPI & Targets: follows existing SHWAPNO EXPRESS theme tokens. */
.kpi-toolbar{margin-bottom:16px}.kpi-toolbar .panel-body{padding:20px 22px}.kpi-period-label{margin:0 0 16px;font-size:11px;letter-spacing:.08em;color:var(--muted);font-weight:750}
.kpi-filter{display:grid;grid-template-columns:1fr 1fr 1.2fr;gap:14px}.kpi-filter label{font-size:12px;font-weight:750;display:flex;flex-direction:column;gap:7px;color:var(--text)}.kpi-filter input,.kpi-filter select{min-width:0;width:100%;border:1px solid var(--border);border-radius:10px;min-height:44px;padding:9px 11px;background:var(--canvas);color:var(--text);color-scheme:dark}
.kpi-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:16px}.kpi-team .data-table{min-width:900px}.kpi-team .data-table td{vertical-align:middle}.kpi-progress{min-width:110px;max-width:180px}.kpi-progress-track{height:7px;background:rgba(120,120,120,.18);border-radius:30px;overflow:hidden}.kpi-progress-track span{display:block;height:100%;background:linear-gradient(90deg,#e22436,#ffb21d);border-radius:30px}.kpi-progress small{display:block;margin-top:6px;font-size:11px;color:var(--muted)}.kpi-unset{font-size:11px;color:var(--muted)}.kpi-table-actions{display:flex;flex-wrap:wrap;gap:7px}.kpi-footer-note{border:1px solid var(--border);border-radius:12px;margin-top:16px;padding:15px 18px;font-size:12px;line-height:1.7;color:var(--muted);background:var(--canvas)}.kpi-target-help{font-size:12px;line-height:1.65;padding:12px;margin-bottom:14px;border:1px solid var(--border);border-radius:9px;color:var(--muted)}
@media(max-width:1100px){.kpi-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.kpi-filter{grid-template-columns:1fr}.kpi-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.kpi-summary-grid .stat-card{min-height:124px;padding:14px}.kpi-summary-grid .stat-value{font-size:25px}.kpi-filter select,.kpi-filter input{font-size:16px;min-height:46px}.kpi-team .table-scroll{overflow-x:hidden}.kpi-team .data-table{min-width:0!important}}
@media(max-width:365px){.kpi-summary-grid{grid-template-columns:1fr}}
