/* Service dashboard: shared theme tokens, no printer actions. */
.p2-service-filter { align-items: flex-end; margin-bottom: 20px; }
.p2-service-filter .p2-field { min-width: min(320px, 100%); }
.p2-service-filter select { width: 100%; }
.p2-service-editor > summary, .p2-service-record > summary { cursor: pointer; font-weight: 700; color: var(--p2-green); }
.p2-service-grid { align-items: start; }
.p2-service-card .p2-panel-head { align-items: flex-start; flex-wrap: wrap; }
.p2-service-meta { display: grid; grid-template-columns: repeat(auto-fit, minmax(130px, 1fr)); gap: 12px; padding: 14px 0; }
.p2-service-meta dt { color: var(--p2-text-muted); font-size: 12px; }
.p2-service-meta dd { margin: 5px 0 0; font-size: 14px; }
.p2-service-note { overflow-wrap: anywhere; max-width: 620px; }
.p2-service-record { border-top: 1px solid var(--p2-border); padding-top: 14px; }
.p2-service-actions, .p2-service-pages { margin-top: 16px; flex-wrap: wrap; }
.p2-service-actions details form { margin-top: 10px; max-width: 250px; }
.p2-service-empty { text-align: center; padding: 32px; }
.p2-service-overview { display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: 16px; margin-bottom: 22px; }
.p2-service-overview .p2-panel { margin-bottom: 0; }
.p2-service-checkpoint { padding: 8px 0; border-bottom: 1px solid var(--p2-border); }
.p2-service-checkpoint:last-child { border-bottom: 0; }
@media (max-width: 640px) { .p2-service-filter { flex-wrap: wrap; } .p2-service-filter .p2-field { width: 100%; } }

.p2-service-kpis { grid-template-columns: repeat(3, minmax(0, 1fr)); }
@media (max-width: 640px) { .p2-service-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); } .p2-service-kpis .p2-kpi-card { padding: 14px; } .p2-service-kpis .p2-kpi-val { font-size: 28px; } }

.p2-dashboard-kpis { grid-template-columns: repeat(5, minmax(0, 1fr)); }
@media (max-width: 1040px) { .p2-dashboard-kpis { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 860px) { .p2-dashboard-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
