/* Groups shared visual layer. Scoped by the body class added in public headers. */
body.qn-groups-surface {
  background: var(--qn-color-canvas);
  color: var(--qn-color-text);
}
body.qn-groups-surface .container,
body.qn-groups-surface .container-fluid { color: var(--qn-color-text); }
body.qn-groups-surface .card,
body.qn-groups-surface .group-card,
body.qn-groups-surface .group-detail-page > .card,
body.qn-groups-surface .group-post-page > .card {
  background: var(--qn-color-surface);
  border: 1px solid var(--qn-color-border);
  border-radius: var(--qn-radius-md);
  box-shadow: var(--qn-shadow-sm);
}
body.qn-groups-surface .card-header,
body.qn-groups-surface .card-footer,
body.qn-groups-surface .list-group-item {
  color: var(--qn-color-text);
  background: var(--qn-color-surface);
  border-color: var(--qn-color-border);
}
body.qn-groups-surface .card-title,
body.qn-groups-surface h1,
body.qn-groups-surface h2,
body.qn-groups-surface h3,
body.qn-groups-surface h4,
body.qn-groups-surface h5 { color: var(--qn-color-text-strong); }
body.qn-groups-surface .text-muted,
body.qn-groups-surface small,
body.qn-groups-surface .reply-meta small { color: var(--qn-color-text-muted) !important; }
body.qn-groups-surface .form-control,
body.qn-groups-surface select,
body.qn-groups-surface textarea,
body.qn-groups-surface input[type="text"] {
  color: var(--qn-color-text);
  background: var(--qn-color-surface);
  border-color: var(--qn-color-border-strong);
  border-radius: var(--qn-radius-sm);
}
body.qn-groups-surface .form-control:focus,
body.qn-groups-surface select:focus,
body.qn-groups-surface textarea:focus,
body.qn-groups-surface input[type="text"]:focus {
  color: var(--qn-color-text);
  background: var(--qn-color-surface);
  border-color: var(--qn-color-brand);
  box-shadow: var(--qn-focus-ring);
}
body.qn-groups-surface .btn-primary,
body.qn-groups-surface .btn-outline-primary.active {
  color: #fff;
  background: var(--qn-color-brand);
  border-color: var(--qn-color-brand);
}
body.qn-groups-surface .btn-primary:hover,
body.qn-groups-surface .btn-outline-primary.active:hover {
  color: #fff;
  background: var(--qn-color-brand-hover);
  border-color: var(--qn-color-brand-hover);
}
body.qn-groups-surface .btn-outline-primary {
  color: var(--qn-color-brand);
  border-color: var(--qn-color-brand);
}
body.qn-groups-surface .btn-outline-primary:hover {
  color: #fff;
  background: var(--qn-color-brand);
  border-color: var(--qn-color-brand);
}
body.qn-groups-surface .table,
body.qn-groups-surface table { color: var(--qn-color-text); }
body.qn-groups-surface .table th,
body.qn-groups-surface table th { color: var(--qn-color-text-strong); background: var(--qn-color-surface-soft); border-color: var(--qn-color-border); }
body.qn-groups-surface .table td,
body.qn-groups-surface table td { border-color: var(--qn-color-border); }
body.qn-groups-surface .table-hover tbody tr:hover { color: var(--qn-color-text); background: var(--qn-color-surface-soft); }
body.qn-groups-surface .nav-tabs { border-color: var(--qn-color-border); }
body.qn-groups-surface .nav-tabs .nav-link { color: var(--qn-color-text-muted); }
body.qn-groups-surface .nav-tabs .nav-link.active { color: var(--qn-color-brand); background: var(--qn-color-surface); border-color: var(--qn-color-border) var(--qn-color-border) var(--qn-color-surface); }
body.qn-groups-surface .alert { border-radius: var(--qn-radius-sm); }
body.qn-groups-surface .reply-meta { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: .5rem; }
body.qn-groups-surface .reply-meta .btn-sm { margin: 0; }
body.qn-groups-surface a { text-underline-offset: 3px; }
body.qn-groups-surface .qn-groups-form-card { width: 100%; max-width: 700px; margin-right: auto; margin-left: auto; }
body.qn-groups-surface .qn-group-avatar { width: 40px; height: 40px; object-fit: cover; border-radius: 50%; }
body.qn-groups-surface .qn-group-avatar-sm { width: 30px; height: 30px; object-fit: cover; border-radius: 50%; }
body.qn-groups-surface .qn-group-avatar-lg { width: 60px; height: 60px; object-fit: cover; border-radius: 50%; }
body.qn-groups-surface .message { padding: 12px 20px; margin-bottom: 20px; border-radius: var(--qn-radius-sm); }
body.qn-groups-surface .message.error { color: var(--qn-color-danger); background: var(--qn-color-danger-soft); border: 1px solid var(--qn-color-danger); }
body.qn-groups-surface .message.success { color: var(--qn-color-success); background: var(--qn-color-success-soft); border: 1px solid var(--qn-color-success); }

@media (max-width: 768px) {
  body.qn-groups-surface .container,
  body.qn-groups-surface .container-fluid { padding-right: 12px; padding-left: 12px; }
  body.qn-groups-surface .table-responsive { border: 1px solid var(--qn-color-border); border-radius: var(--qn-radius-md); }
}


/* Frozen-home rollout 2026-09-21 */
body.qn-groups-surface{background:#f7f9fc;font-weight:400}
body.qn-groups-surface .container{max-width:1280px}
body.qn-groups-surface .card,
body.qn-groups-surface .group-card,
body.qn-groups-surface .group-detail-page > .card,
body.qn-groups-surface .group-post-page > .card{
  border:1px solid #e4edf6;border-radius:18px;background:#fff;
  box-shadow:0 8px 28px rgba(40,83,124,.05)
}
body.qn-groups-surface h1{font-weight:700;letter-spacing:-.02em}
body.qn-groups-surface h2{font-weight:650}
body.qn-groups-surface h3,
body.qn-groups-surface h4,
body.qn-groups-surface h5{font-weight:600}
body.qn-groups-surface .btn,
body.qn-groups-surface button{border-radius:11px;font-weight:600}
body.qn-groups-surface .btn-primary,
body.qn-groups-surface .btn-outline-primary.active{
  background:linear-gradient(135deg,#1788f6,#0879ee);border-color:#0879ee;
  box-shadow:0 5px 13px rgba(8,124,240,.12)
}
body.qn-groups-surface .form-control,
body.qn-groups-surface select,
body.qn-groups-surface textarea,
body.qn-groups-surface input[type="text"]{
  border-color:#dce6f0;border-radius:10px;background:#fbfdff
}
body.qn-groups-surface .table th,
body.qn-groups-surface table th{background:#f8fbff;color:#63748a;font-weight:600}
body.qn-groups-surface .table td,
body.qn-groups-surface table td{border-color:#edf2f6}
body.qn-groups-surface .table-hover tbody tr:hover{background:#fbfffc}
html[data-theme="dark"] body.qn-groups-surface .card,
html[data-theme="dark"] body.qn-groups-surface .group-card{background:#171e27;border-color:#303b48}

