/* Shared interaction polish. Preserve existing layouts, theme colors and branding. */
.cs-form-feedback { padding:12px 14px; border-radius:10px; background:var(--cs-surface-eff6ff,#eff6ff); color:var(--cs-ink-1e40af,#1e40af); border-left:4px solid #0a3d91; overflow-wrap:anywhere; }
.cs-form-feedback.error { background:var(--cs-surface-fee2e2,#fee2e2); color:var(--cs-ink-991b1b,#991b1b); border-left-color:#b91c1c; }
.cs-form-help { color:var(--cs-ink-475569,#475569); font-size:14px; line-height:1.6; overflow-wrap:anywhere; }
[aria-invalid="true"] { outline:2px solid #b91c1c; outline-offset:2px; }
button[aria-disabled="true"] { opacity:.65; cursor:wait; }
.doc-upload-btn[role="button"] { min-height:44px; display:inline-flex; align-items:center; cursor:pointer; }
.cs-booking-summary { display:flex; flex-wrap:wrap; gap:10px 18px; align-items:center; }
.cs-booking-status { padding:4px 12px; border-radius:20px; background:var(--cs-surface-dbeafe,#dbeafe); color:var(--cs-ink-1e40af,#1e40af); }
#applicationDecisionActions { margin-top:24px; border-top:1px solid var(--cs-line-dbe3f1,#dbe3f1); padding-top:18px; }
.cs-rejection { flex:1 1 100%; padding:16px; border:1px solid var(--cs-line-dbe3f1,#dbe3f1); border-radius:12px; }
.cs-rejection summary { cursor:pointer; font-weight:700; min-height:32px; }
.cs-rejection label { display:block; margin-bottom:8px; }
.cs-rejection textarea { box-sizing:border-box; width:100%; padding:12px; border:1px solid var(--cs-line-cbd5e1,#cbd5e1); border-radius:8px; font:inherit; resize:vertical; margin-bottom:12px; }
@media(max-width:768px) {
  .application-tracker-page .nav-right { display:flex; gap:4px !important; }
  .application-tracker-page .nav-right a { display:inline-flex !important; align-items:center; min-height:44px; padding:4px 8px; font-size:13px; }
}
@media(max-width:600px) {
  .apply-body .api, .register-body input, .tracker-body input, .tracker-body select { min-height:44px; }
  .request-actions { display:flex; flex-wrap:wrap; gap:8px; }
  .request-actions > form { flex:1 1 140px; min-width:0; }
  .request-actions :is(button,.request-chat-btn) { min-height:44px; box-sizing:border-box; }
  .request-actions > form > button { width:100%; }
  .request-actions > a { flex:1 1 120px; text-align:center; }
  #applicationDecisionActions :is(button,textarea) { max-width:100%; min-height:44px; }
  #applicationDecisionActions > div > form { width:100%; }
  #applicationDecisionActions .btn-approve { width:100%; margin:0; }
  .tracker-body, .tracker-card, .stage > div { min-width:0; }
  .tracker-body .stage-box { overflow-wrap:anywhere; }
  .application-tracker-page .tracker-wrap { padding:18px 12px 40px; }
  .application-tracker-page .tracker-head, .application-tracker-page .tracker-body { padding:18px 16px; }
  .application-tracker-page .stage { grid-template-columns:32px minmax(0,1fr); gap:10px; }
  .application-tracker-page .stage-num { width:32px; height:32px; box-sizing:border-box; }
  .application-tracker-page .stage:not(:last-child)::before { left:15px; top:32px; }
  .application-tracker-page .stage-box { padding:12px; }
  .application-tracker-page .nav-right { display:flex; gap:4px; }
  .application-tracker-page .nav-right a { display:inline-flex; align-items:center; min-height:44px; padding:4px 8px; font-size:13px; }
}
.bg-photo-page :is(.btn-mini, .filter-chip),
.admin-content :is(.action-link, .contact-filter-btn, .service-chip) {
  min-height: 40px;
  box-sizing: border-box;
  line-height: 1.4;
}
.bg-photo-page .btn-mini {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  white-space: normal;
  text-align: center;
}
.worker-card .actions { gap: 8px; }
.bg-photo-page .cs-action-primary {
  background: #0a3d91;
  border-color: #0a3d91;
  color: #fff;
  font-weight: 700;
}
.bg-photo-page .cs-action-primary:hover { background: #083477; border-color: #083477; color: #fff; }
.filter-chip { font: inherit; }
.cs-empty-state {
  padding: 28px 20px;
  background: var(--cs-surface-ffffff, #fff);
  border: 1px solid var(--cs-line-e2e8f0, #e2e8f0);
  border-radius: 14px;
  text-align: center;
}
.cs-empty-state h2 { margin: 0 0 8px; font-size: 18px; color: var(--cs-ink-0f172a, #0f172a); }
.cs-empty-state p { margin: 0 0 16px; line-height: 1.6; }
.cs-empty-state .btn-mini { margin: 4px; }
.settings-menu a.menu-item { text-decoration: none; }
.settings-menu .menu-item { min-height: 44px; box-sizing: border-box; }
.settings-card :is(input:not([type=checkbox]):not([type=radio]):not([type=hidden]), select) { min-height: 44px; }
@media (max-width: 768px) {
  .settings-menu { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; }
  .settings-menu h3 { grid-column: 1 / -1; font-size: 14px; margin-bottom: 2px; padding-bottom: 8px; }
  .settings-menu .menu-item { margin: 0; padding: 10px; justify-content: center; text-align: center !important; overflow-wrap: anywhere; }
  .settings-layout { margin-top: 16px; gap: 16px; }
  .settings-menu:not(:has(a.menu-item)):not(:has(.payment-settings-menu)) { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
  .bg-photo-page :is(.btn-mini, .filter-chip, .filter-toggle-btn),
  .admin-content :is(.action-link, .contact-filter-btn, .service-chip) { min-height: 44px; }
  .worker-card .actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); width: 100%; }
  .worker-card .actions .book-btn { grid-column: 1 / -1; }
  .worker-card .actions .btn-mini { width: 100%; min-width: 0; }
  .req-actions { gap: 8px; }
  .req-actions .btn-mini { flex: 1 1 0; }
}
