/* Gobrix 0.8.0: Groups */
.group-grid { display: grid; gap: 10px; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); list-style: none; margin: 0; padding: 0; }
.group-card { align-items: center; background: #fff; border: 1px solid var(--line); color: var(--ink); display: flex; gap: 10px; padding: 10px; text-decoration: none; }
.group-card:hover { border-color: #6c98cf; }
.group-card-icon { height: 56px; object-fit: cover; width: 56px; flex: none; }
.group-card-icon.placeholder { align-items: center; background: var(--thumb, #5e91cc); color: #fff; display: inline-flex; font: bold 26px Verdana, sans-serif; justify-content: center; }
.group-card-icon.placeholder.big { font-size: 56px; height: 128px; width: 128px; }
.group-card-body { display: flex; flex-direction: column; min-width: 0; }
.group-card-body strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.group-card-body small { color: var(--muted); }
.group-create { margin-bottom: 16px; }
.group-create fieldset label { display: block; font-weight: normal; }
.group-hero { align-items: flex-start; display: flex; gap: 18px; margin-bottom: 14px; }
.group-icon-wrap img { height: 128px; object-fit: cover; width: 128px; }
.group-hero-info { flex: 1; min-width: 0; }
.group-meta, .group-you { color: var(--muted); margin: 4px 0; }
.group-shout { margin-bottom: 14px; }
.shout-text { font-size: 15px; margin: 6px 0; white-space: pre-wrap; }
.shout-by { color: var(--muted); font-size: 12px; margin: 0; }
.shout-form, .inline-form { display: flex; flex-wrap: wrap; gap: 8px; margin: 8px 0 14px; }
.shout-form input, .inline-form input, .inline-form select { border: 1px solid var(--line-strong); font: 14px Arial, sans-serif; padding: 6px 8px; }
.shout-form input { flex: 1; min-width: 200px; }
.group-tabs { display: flex; gap: 2px; margin-bottom: 10px; }
.group-description { line-height: 1.5; white-space: normal; }
.role-list, .member-grid, .wall-list, .request-list, .role-edit-list { list-style: none; margin: 0; padding: 0; }
.role-list li { border-top: 1px solid var(--line); padding: 6px 0; }
.role-list li span { color: var(--muted); font-size: 12px; }
.member-grid { display: grid; gap: 8px; grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); margin: 10px 0; }
.member-grid li { display: flex; flex-direction: column; gap: 2px; }
.member-grid small { color: var(--muted); padding-left: 30px; }
.wall-form { display: grid; gap: 8px; margin-bottom: 12px; }
.wall-form textarea { border: 1px solid var(--line-strong); font: 14px Arial, sans-serif; padding: 8px; }
.wall-list li { border-top: 1px solid var(--line); padding: 10px 0; }
.wall-head { align-items: center; display: flex; gap: 10px; }
.wall-head small { color: var(--muted); }
.wall-list p { margin: 6px 0 0; white-space: normal; }
.request-list li, .role-edit-list li { align-items: center; display: flex; flex-wrap: wrap; gap: 8px; padding: 6px 0; }
.role-edit-list input { border: 1px solid var(--line-strong); padding: 4px 6px; }
.role-edit-list input.role-rank { width: 70px; }
.role-edit-list span.role-rank { color: var(--muted); font-size: 12px; }
#panel-admin .card-title { margin-top: 16px; }
