.container{max-width:1200px;margin:0 auto;padding:0 20px;width:100%}body{-webkit-font-smoothing:antialiased}.page-header{padding:36px 0 24px;border-bottom:1px solid var(--border)}.page-header-inner{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px}.page-title{font-size:1.5rem;font-weight:800;letter-spacing:-.03em}.page-sub{font-size:.875rem;color:var(--tx-2);margin-top:2px}.btn-primary{display:inline-flex;align-items:center;gap:6px;padding:9px 18px;background:var(--red);color:#fff;border-radius:999px;font-size:.8125rem;font-weight:700;text-decoration:none;border:none;cursor:pointer;transition:filter .15s}.btn-primary:hover{filter:brightness(1.1)}.type-tabs{display:flex;gap:0;border-bottom:1.5px solid var(--border);margin-top:24px}.ttab{padding:9px 22px;font-size:.9375rem;font-weight:700;color:var(--tx-3);border:none;background:none;cursor:pointer;border-bottom:2.5px solid transparent;margin-bottom:-1.5px;transition:color .15s,border-color .15s;letter-spacing:-.01em}.ttab.active{color:var(--red);border-bottom-color:var(--red)}.ttab-link{display:inline-block;padding:9px 22px;font-size:.9375rem;font-weight:700;color:var(--tx-3);border-bottom:2.5px solid transparent;margin-bottom:-1.5px;text-decoration:none;transition:color .15s,border-color .15s;letter-spacing:-.01em}.ttab-link:hover{color:var(--tx-1)}.search-wrap{padding:20px 0 0}.group-search{width:100%;border:2px solid var(--border);background:var(--surface);color:var(--tx-1);border-radius:12px;padding:12px 16px;font-size:1rem;font-family:inherit;outline:none;transition:border-color .15s}.group-search:focus{border-color:var(--red)}.group-search::placeholder{color:var(--tx-3)}.groups-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px;padding:20px 0 48px}.group-card{background:var(--surface);border:1px solid var(--border);border-radius:16px;overflow:hidden;display:flex;flex-direction:column;transition:border-color .15s,box-shadow .15s;text-decoration:none;color:inherit}.group-card:hover{border-color:var(--red);box-shadow:0 4px 20px #00000012}.gc-cover{height:80px;background:linear-gradient(135deg,var(--red),#ff6b6b);background-size:cover;background-position:center}.gc-body{padding:14px 18px 18px;display:flex;flex-direction:column;gap:10px;flex:1}.gc-head{display:flex;align-items:center;gap:12px;margin-top:-32px}.gc-avatar{width:48px;height:48px;border-radius:12px;background:var(--surface-2);display:flex;align-items:center;justify-content:center;font-size:1.125rem;font-weight:800;color:var(--red);flex-shrink:0;overflow:hidden;box-shadow:0 0 0 3px var(--surface)}.gc-avatar img{width:100%;height:100%;object-fit:cover}.gc-name{font-size:1rem;font-weight:700;letter-spacing:-.02em;margin-top:8px}.gc-desc{font-size:.8125rem;color:var(--tx-2);line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.gc-stats{display:flex;gap:16px;font-size:.75rem;color:var(--tx-3)}.gc-stat{display:flex;align-items:center;gap:4px}.gc-footer{display:flex;align-items:center;justify-content:flex-end;margin-top:auto}.btn-ver{display:inline-flex;align-items:center;gap:5px;padding:7px 14px;border:1.5px solid var(--border);color:var(--tx-2);border-radius:999px;font-size:.8125rem;font-weight:600;background:transparent;transition:border-color .15s,color .15s}.group-card:hover .btn-ver{border-color:var(--red);color:var(--red)}.empty-state{padding:64px 20px;text-align:center;color:var(--tx-3);grid-column:1/-1}.empty-state h2{font-size:1.125rem;font-weight:700;margin-bottom:8px;color:var(--tx-2)}.gc-shimmer{background:var(--surface);border:1px solid var(--border);border-radius:16px;overflow:hidden;min-height:180px}.shimmer-line{background:var(--surface-2);border-radius:6px;animation:shimmer 1.4s infinite linear}@keyframes shimmer{0%,to{opacity:.5}50%{opacity:1}}.modal-backdrop{position:fixed;inset:0;background:#00000080;z-index:100;display:flex;align-items:center;justify-content:center;padding:16px}.modal-backdrop[hidden]{display:none}.modal{background:var(--surface);border:1px solid var(--border);border-radius:20px;padding:28px;width:100%;max-width:480px;box-shadow:0 20px 60px #0003}.modal h2{font-size:1.25rem;font-weight:800;margin-bottom:4px}.modal p{font-size:.875rem;color:var(--tx-2);margin-bottom:20px}.form-group{margin-bottom:14px}.form-label{display:block;font-size:.8125rem;font-weight:600;color:var(--tx-1);margin-bottom:5px}.form-input{width:100%;border:1.5px solid var(--border);background:var(--surface);color:var(--tx-1);border-radius:10px;padding:10px 14px;font-size:.9375rem;font-family:inherit;outline:none;transition:border-color .15s;box-sizing:border-box}.form-input:focus{border-color:var(--red)}.form-input::placeholder{color:var(--tx-3)}textarea.form-input{resize:vertical;min-height:80px}.form-hint{font-size:.75rem;color:var(--tx-3);margin-top:4px}.modal-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:20px}.btn-cancel{padding:9px 18px;border:1.5px solid var(--border);background:transparent;color:var(--tx-2);border-radius:999px;font-size:.875rem;font-weight:600;cursor:pointer;transition:border-color .15s}.btn-cancel:hover{border-color:var(--red)}.form-error{font-size:.8125rem;color:#e53e3e;margin-top:8px}:focus-visible{outline:2px solid var(--red);outline-offset:2px}
