body{ background:#f5f7fb; }
.hms-card{ background:#fff; border:1px solid rgba(15,23,42,.08); border-radius:16px; padding:1rem; box-shadow: 0 8px 22px rgba(15,23,42,.06); }
.hms-card-title{ font-weight:800; letter-spacing:.01em; color:#0f172a; }
.hms-card-subtitle{ color:#64748b; font-size:.875rem; }
.page-title{ font-weight:900; letter-spacing:.01em; color:#0f172a; font-size:1.2rem; }
.page-subtitle{ color:#64748b; font-size:.9rem; }
.metric{ border:1px solid rgba(15,23,42,.08); border-radius:14px; padding:.9rem; background: linear-gradient(180deg, #ffffff, #fbfbff); }
.metric-label{ font-size:.72rem; text-transform:uppercase; letter-spacing:.09em; color:#64748b; }
.metric-value{ font-size:1.6rem; font-weight:900; color:#0f172a; line-height:1.1; margin-top:.2rem; }
.metric-note{ font-size:.82rem; color:#64748b; margin-top:.2rem; }
.metric.metric-sm .metric-value{ font-size:1.1rem; }

.metric.metric-glass{ background: rgba(255,255,255,.10); border: 1px solid rgba(255,255,255,.28); box-shadow: 0 18px 40px rgba(15,23,42,.10); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); }
.metric.metric-glass .metric-label{ color: rgba(255,255,255,.78); }
.metric.metric-glass .metric-value{ color: #ffffff; text-shadow: 0 10px 30px rgba(0,0,0,.18); }
.metric.metric-glass .metric-note{ color: rgba(255,255,255,.72); }

.metric.metric-indigo{ background: linear-gradient(135deg, rgba(99,102,241,.95), rgba(139,92,246,.85)); }
.metric.metric-emerald{ background: linear-gradient(135deg, rgba(16,185,129,.92), rgba(34,197,94,.80)); }
.metric.metric-sky{ background: linear-gradient(135deg, rgba(14,165,233,.92), rgba(59,130,246,.82)); }
.metric.metric-amber{ background: linear-gradient(135deg, rgba(245,158,11,.92), rgba(249,115,22,.82)); }
.btn-primary{ background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); border:0; }
.btn-primary:hover{ filter: brightness(.98); }

.table thead th{ font-size:.78rem; text-transform:uppercase; letter-spacing:.06em; color:#64748b; border-bottom-color: rgba(15,23,42,.08); }
.table tbody td{ vertical-align: middle; }
.badge{ font-weight:700; }

.help-panel{ background: linear-gradient(180deg, #ffffff, #f8fafc); border:1px solid rgba(15,23,42,.08); border-radius:14px; padding:.85rem; }
.code-block{ background:#0b1220; color:#e5e7eb; padding:12px; border-radius:12px; overflow:auto; font-size:.85rem; }

.choices__inner{ border-radius:12px !important; border-color: rgba(15,23,42,.14) !important; }
.choices__list--dropdown{ border-radius:12px !important; border-color: rgba(15,23,42,.14) !important; box-shadow: 0 16px 40px rgba(15,23,42,.12); }
.choices__item--selectable{ font-size:.92rem; }

@media (max-width: 575.98px) {
  .modal { padding: 0 !important; }
  .modal-dialog { margin: 0; width: 100%; }
  .modal-dialog.modal-dialog-scrollable { height: 100svh; }
  .modal-dialog-scrollable .modal-content { max-height: 100svh; height: 100%; border-radius: 0; }
  .modal-dialog-scrollable .modal-body {
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    padding-bottom: calc(1rem + 72px + env(safe-area-inset-bottom));
  }
  .modal-dialog-scrollable .modal-footer {
    position: sticky;
    bottom: 0;
    background: #ffffff;
    z-index: 5;
    border-top: 1px solid rgba(15,23,42,.08);
    padding-bottom: calc(.75rem + env(safe-area-inset-bottom));
  }
}
