.z80-pricing{display:grid;gap:14px}
.z80-pricing>.card{margin:0}
.z80-service-list{display:grid;gap:10px;margin:16px 0}
.z80-service-row{display:grid;grid-template-columns:70px minmax(0,1fr) auto;gap:10px;align-items:end;border-bottom:1px solid var(--line);padding-bottom:12px}
.z80-service-row label{margin:0;min-width:0;font-size:13px}
.z80-service-row .z80-switch{display:flex;gap:6px;align-items:center;min-height:44px}
.z80-switch input{width:20px;min-height:20px;height:20px}
.z80-rate-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;border:1px solid var(--line);border-radius:12px;padding:14px;margin:16px 0}
.z80-rate-row label{min-width:0;margin:0;font-size:13px}
.z80-rate-row .z80-wide{grid-column:1/-1}
.z80-rate-row small{display:block;color:var(--muted);font-size:11px;margin-top:3px}
.z80-pricing input,.z80-pricing select{width:100%;box-sizing:border-box}
.z80-pricing .row{flex-wrap:wrap;gap:8px}
#z80BookingOptions{border:1px solid var(--line);border-radius:12px;padding:14px;margin:12px 0}
#z80BookingOptions label{display:block;margin-bottom:10px}
#z80BookingOptions[hidden]{display:none!important}
.z80-pricing .btn{min-height:44px}
@media(max-width:500px){.z80-service-row{grid-template-columns:56px minmax(0,1fr)}.z80-service-row .btn{grid-column:2;width:100%}.z80-pricing .card{padding:14px}.z80-rate-row{padding:12px}}
/* Deployment 82: one compact price line, with secondary controls folded away. */
.z80-rate-row{display:block;padding:12px;margin:10px 0}
.z82-price-line{display:grid;grid-template-columns:minmax(0,1fr) 110px;gap:12px;align-items:end}
.z82-more{margin:10px 0 14px;border:0;padding:0;background:transparent}
.z82-more>summary{font-size:13px;color:var(--accent,#69d7c5);cursor:pointer;padding:6px 0}
.z82-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:12px 0}
.z82-annual-prices{margin:12px 0}
.z82-annual-line{display:grid!important;grid-template-columns:minmax(0,1fr) 110px;gap:12px;align-items:center;border-bottom:1px solid var(--line);padding:9px 0;margin:0!important;font-size:14px}
.z82-money{display:flex;align-items:center;gap:6px;min-width:0}
.z82-money input{min-width:0}
.z82-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.z80-pricing input,.z80-pricing select{min-height:42px;margin-top:5px}
.z80-pricing>.card>summary{font-size:16px;font-weight:600;cursor:pointer}
@media(max-width:500px){.z82-price-line,.z82-annual-line{grid-template-columns:minmax(0,1fr) 90px;gap:8px}.z82-options{grid-template-columns:1fr}}

.z80-pricing .z80-service-row{grid-template-columns:minmax(0,1fr) auto 48px;align-items:center;gap:8px;padding-bottom:6px}
.z80-service-row .z80-service-name{grid-column:1;grid-row:1}
.z80-pricing .z80-service-row .z80-edit-service{grid-column:2;grid-row:1;width:auto;background:transparent;padding:6px 8px;font-size:13px}
.z80-pricing .z80-service-row .z80-switch{grid-column:3;grid-row:1;position:relative;justify-content:center;cursor:pointer}
.z80-switch input[role=switch]{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}
.z80-switch span{width:38px;height:22px;border:1px solid #65758b;border-radius:14px;background:#334155;pointer-events:none}
.z80-switch span::before{content:"";display:block;width:16px;height:16px;margin:2px;border-radius:50%;background:white;transition:transform .15s}
.z80-switch input:checked + span{background:#18796d}
.z80-switch input:checked + span::before{transform:translateX(16px)}
.z80-switch input:focus-visible + span{outline:2px solid white;outline-offset:2px}
.z80-pricing .z91-training-row{display:grid;grid-template-columns:minmax(0,1fr) 92px;align-items:center;gap:10px;padding:6px 10px;margin:0 0 6px;min-width:0}
.z91-training-row label{margin:0;font-size:13px}
.z91-rate-help summary,.z91-percent summary{cursor:pointer}
.z91-rate-help{margin:6px 0}

/* Compact service creation with clear separation between field and action. */
#z80NewService{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px 16px;align-items:center;margin-top:18px}
#z80NewService>label{grid-column:1/-1;margin:0}
#z80NewService>input{min-width:0;margin:0}
#z80NewService>.btn{margin:0;white-space:nowrap}
#z80NewStatus{grid-column:1/-1;margin:0}
#z80NewStatus:empty{display:none}
.z109-service-info{margin:10px 0 16px}
.z109-service-info>summary{color:var(--accent);cursor:pointer;width:fit-content}
@media(max-width:600px){#z80NewService{grid-template-columns:minmax(0,1fr);gap:12px}#z80NewService>.btn{width:100%}}
