.service-modal{width:min(760px,calc(100% - 24px));max-height:90dvh;overflow:auto}
.modal-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:14px;border-bottom:1px solid var(--line)}
#serviceBody{padding-top:16px}.service-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}
.service-card{border:1px solid var(--line);border-radius:12px;padding:16px;margin-bottom:12px;background:#fff}
.service-card h3{margin:0 0 8px;font-size:16px}.service-card p{margin:6px 0}.service-card small,.muted{color:var(--ink-muted)}
.service-actions{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}.service-actions .btn-pill{min-height:38px;padding:8px 14px;font-size:13px}
.service-form{display:grid;gap:12px}.service-form label{display:grid;gap:4px;font-size:13px;font-weight:600}
.service-form input[type=checkbox]{width:20px;height:20px;accent-color:var(--brand)}.service-error{color:var(--danger);margin:8px 0;white-space:pre-wrap}
.service-error:empty{margin:0}
.service-table{width:100%;border-collapse:collapse;font-size:13px}.service-table td,.service-table th{text-align:left;padding:8px;border-bottom:1px solid var(--line)}
.table-wrap{overflow:auto}.service-status{padding:3px 10px;border-radius:20px;background:var(--brand-soft);color:var(--brand-dark);font-size:12px;font-weight:700}
.chat-log{display:grid;gap:10px;max-height:48dvh;overflow:auto;margin-bottom:16px}
.chat-message{padding:12px;border-radius:12px;background:var(--wash);white-space:pre-wrap;overflow-wrap:anywhere}.chat-message.user{background:var(--brand-soft);margin-left:20px}
#productExtras{display:grid;gap:6px}#productExtras small{color:var(--ink-muted)}#productExtras .service-actions{margin:0}
.review-text{white-space:pre-wrap;overflow-wrap:anywhere}
.app-banner{display:flex;align-items:center;gap:10px;padding:8px 12px;background:var(--brand-dark);color:#fff;font-size:13px;font-weight:600}
.app-banner.hidden{display:none}.app-banner span{flex:1;min-width:0}
.app-banner-open{background:#fff;color:var(--brand-dark);border-radius:20px;padding:6px 14px;font-weight:700;text-decoration:none;white-space:nowrap}
.app-banner-close{background:none;border:0;color:#fff;font-size:20px;line-height:1;padding:4px 6px;cursor:pointer}
.link-filter{display:inline-flex;align-items:center;gap:6px;margin-left:8px;padding:3px 10px;border:0;border-radius:20px;background:var(--brand-soft);color:var(--brand-dark);font-size:12px;font-weight:700;cursor:pointer;vertical-align:middle}
@media(max-width:768px){.service-modal{padding:18px;width:100%}.service-table td,.service-table th{padding:6px}}
