.disp-empresa{display:flex;align-items:center;gap:6px;margin-top:10px;padding:4px 8px;list-style:none;border-bottom:1px solid var(--border-primary);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.3px;color:var(--text-secondary)}.disp-empresa>i{color:var(--accent)}.disp-empresa span{font-weight:500;text-transform:none;letter-spacing:0;color:var(--text-tertiary)}.disp-empresa:first-child{margin-top:0}.header-left-titulo{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.listado-grupos{padding:16px 24px;width:100%;margin:0;background:var(--bg-page);min-height:100vh;box-sizing:border-box}.listado-grupos .header-card{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;background:var(--bg-card,var(--bg-primary));border:1px solid var(--border-primary);border-radius:12px;margin-bottom:24px;flex-wrap:wrap;gap:16px}.listado-grupos .header-card .header-left{display:flex;align-items:baseline;gap:12px}.listado-grupos .header-card .title{margin:0;font-size:20px;font-weight:700;color:var(--text-primary)}.listado-grupos .header-card .meta{margin:0;font-size:13px;color:var(--text-muted)}.listado-grupos .header-card .header-right{display:flex;align-items:center;gap:12px}.listado-grupos .search-box{display:flex;align-items:center;gap:8px;padding:8px 14px;background:var(--bg-input,var(--bg-secondary));border:1px solid var(--border-primary);border-radius:10px;min-width:220px}.listado-grupos .search-box:focus-within{border-color:var(--accent)}.listado-grupos .search-box .search-icon{color:var(--text-muted);font-size:13px}.listado-grupos .search-box .search-input{flex:1;border:none;background:transparent;font-size:14px;color:var(--text-primary);outline:none}.listado-grupos .search-box .search-input::-moz-placeholder{color:var(--text-muted)}.listado-grupos .search-box .search-input::placeholder{color:var(--text-muted)}.listado-grupos .search-box .search-clear{border:none;background:transparent;color:var(--text-muted);cursor:pointer;padding:4px;display:flex;align-items:center;font-size:11px;border-radius:50%}.listado-grupos .search-box .search-clear:hover{color:var(--text-primary);background:var(--bg-tertiary)}.listado-grupos .search-box--modal{width:100%;margin-bottom:12px}.listado-grupos .view-toggle{display:flex;border:1px solid var(--border-primary);border-radius:8px;overflow:hidden}.listado-grupos .view-toggle .view-toggle-btn{border:none;background:transparent;color:var(--text-muted);padding:8px 12px;cursor:pointer;font-size:14px}.listado-grupos .view-toggle .view-toggle-btn:hover{color:var(--text-primary);background:var(--bg-tertiary)}.listado-grupos .view-toggle .view-toggle-btn.active{color:var(--accent);background:var(--accent-light,rgba(102,126,234,.1))}.listado-grupos .view-toggle .view-toggle-btn+.view-toggle-btn{border-left:1px solid var(--border-primary)}.listado-grupos .crear-btn{display:flex;align-items:center;gap:8px;padding:10px 18px;background:var(--accent);color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer}.listado-grupos .crear-btn:hover{background:var(--accent-hover)}.listado-grupos .refresh-btn{display:flex;align-items:center;gap:8px;padding:10px 18px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;background:var(--bg-card);color:var(--accent);border:1px solid var(--accent);transition:all .2s ease}.listado-grupos .refresh-btn:hover:not(:disabled){background:var(--accent);color:#fff}.listado-grupos .refresh-btn:disabled{opacity:.6;cursor:not-allowed}.listado-grupos .estado{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:80px 24px;color:var(--text-muted)}.listado-grupos .estado i{font-size:36px;opacity:.4}.listado-grupos .estado p{margin:0;font-size:15px;text-align:center}.listado-grupos .estado--inline{grid-column:1/-1;padding:48px 24px}.listado-grupos .cards-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.listado-grupos .grupo-card{background:var(--bg-card,var(--bg-primary));border:1px solid var(--border-primary);border-radius:14px;padding:18px;display:flex;flex-direction:column;gap:14px;transition:all .2s ease}.listado-grupos .grupo-card:hover{border-color:var(--accent);box-shadow:0 4px 12px rgba(0,0,0,.08)}.listado-grupos .grupo-card .card-header{display:flex;align-items:center;gap:12px}.listado-grupos .grupo-card .card-avatar{width:44px;height:44px;border-radius:12px;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:var(--accent-light,rgba(102,126,234,.12));color:var(--accent);font-size:18px}.listado-grupos .grupo-card .card-header-info{flex:1;min-width:0}.listado-grupos .grupo-card .card-title{margin:0;font-size:15px;font-weight:700;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.listado-grupos .grupo-card .card-subtitle{margin:2px 0 0;font-size:12px;color:var(--text-muted);display:flex;align-items:center;gap:6px}.listado-grupos .grupo-card .card-subtitle i{font-size:11px}.listado-grupos .grupo-card .card-id{font-size:12px;color:var(--text-muted);font-weight:600;flex-shrink:0}.listado-grupos .grupo-card .card-footer{display:flex;flex-wrap:wrap;gap:8px;padding-top:12px;border-top:1px solid var(--border-primary)}.listado-grupos .grupo-card .card-action{flex:1 1 calc(50% - 4px);min-width:calc(50% - 4px);display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:7px 8px;border:1px solid var(--border-primary);border-radius:8px;background:var(--bg-card);color:var(--text-secondary);font-size:12px;font-weight:600;cursor:pointer;transition:all .15s ease}.listado-grupos .grupo-card .card-action i{font-size:11px}.listado-grupos .grupo-card .card-action:hover{border-color:var(--accent);color:var(--accent)}.listado-grupos .grupo-card .card-action--danger:hover{border-color:var(--danger);color:var(--danger)}.listado-grupos .tabla-wrapper{background:var(--bg-card,var(--bg-primary));border:1px solid var(--border-primary);border-radius:12px;overflow:hidden}.listado-grupos .tabla-grupos{width:100%;border-collapse:collapse}.listado-grupos .tabla-grupos td,.listado-grupos .tabla-grupos th{padding:12px 16px;text-align:left;font-size:13px;border-bottom:1px solid var(--border-primary)}.listado-grupos .tabla-grupos th{background:var(--bg-secondary);color:var(--text-secondary);font-weight:600;text-transform:uppercase;letter-spacing:.3px;font-size:12px}.listado-grupos .tabla-grupos td{color:var(--text-primary)}.listado-grupos .tabla-grupos tbody tr:hover{background:var(--bg-secondary)}.listado-grupos .tabla-grupos .tabla-grupo-nombre{display:inline-flex;align-items:center;gap:8px;font-weight:600}.listado-grupos .tabla-grupos .tabla-grupo-nombre i{color:var(--accent)}.listado-grupos .tabla-grupos .acciones-col{text-align:right;white-space:nowrap}.listado-grupos .tabla-grupos .tabla-empty{text-align:center;color:var(--text-muted);font-style:italic}.listado-grupos .icon-btn{width:32px;height:32px;border:1px solid var(--border-primary);border-radius:8px;background:var(--bg-card);color:var(--text-secondary);cursor:pointer;margin-left:6px;transition:all .15s ease}.listado-grupos .icon-btn:hover{border-color:var(--accent);color:var(--accent)}.listado-grupos .icon-btn--danger:hover{border-color:var(--danger);color:var(--danger)}.listado-grupos .modal-overlay{position:fixed;inset:0;width:100vw;height:100vh;background:rgba(0,0,0,.45);display:flex;align-items:center;justify-content:center;z-index:99999}.listado-grupos .modal-card{background:var(--bg-card);border-radius:16px;width:460px;max-width:calc(100vw - 32px);box-shadow:var(--shadow-lg);overflow:hidden;display:flex;flex-direction:column;max-height:calc(100vh - 48px)}.listado-grupos .modal-card--lg{width:560px}.listado-grupos .modal-header{display:flex;align-items:center;gap:12px;padding:18px 20px;background:var(--bg-secondary);border-bottom:1px solid var(--border-primary)}.listado-grupos .modal-header .modal-header-icon{width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;background:var(--accent);flex-shrink:0}.listado-grupos .modal-header .modal-header-icon i{color:#fff;font-size:16px}.listado-grupos .modal-header .modal-header-text{flex:1;min-width:0}.listado-grupos .modal-header .modal-title{margin:0;font-size:16px;font-weight:700;color:var(--text-primary);flex:1}.listado-grupos .modal-header .modal-subtitle{display:block;font-size:12px;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.listado-grupos .modal-header .modal-close{width:32px;height:32px;border:none;background:transparent;color:var(--text-muted);font-size:14px;cursor:pointer;border-radius:8px}.listado-grupos .modal-header .modal-close:hover{background:var(--border-primary);color:var(--text-secondary)}.listado-grupos .modal-body{padding:20px;overflow-y:auto}.listado-grupos .modal-body .form-label{display:block;font-size:12px;font-weight:600;color:var(--text-primary);text-transform:uppercase;letter-spacing:.3px;margin-bottom:8px}.listado-grupos .modal-body .form-input{width:100%;padding:10px 14px;border:1px solid var(--border-primary);border-radius:10px;font-size:14px;color:var(--text-primary);background:var(--bg-input);box-sizing:border-box}.listado-grupos .modal-body .form-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(102,126,234,.15)}.listado-grupos .modal-body .form-error{margin-top:12px;padding:10px 12px;background:rgba(239,68,68,.08);border:1px solid rgba(239,68,68,.25);border-radius:8px;color:var(--danger);font-size:13px}.listado-grupos .modal-body .form-error ul{margin:0;padding-left:18px}.listado-grupos .modal-body .disp-hint{margin:0 0 12px;font-size:12px;line-height:1.4;color:var(--text-secondary)}.listado-grupos .modal-body .disp-count{margin:0 0 10px;font-size:12px;color:var(--text-muted);font-weight:600}.listado-grupos .modal-body .disp-list{list-style:none;margin:0;padding:0;max-height:340px;overflow-y:auto;border:1px solid var(--border-primary);border-radius:10px}.listado-grupos .modal-body .disp-list--sm{max-height:200px}.listado-grupos .modal-body .form-group--usuarios{margin-top:18px;padding-top:16px;border-top:1px solid var(--border-primary)}.listado-grupos .modal-body .disp-item{display:flex;align-items:center;gap:10px;padding:10px 12px;cursor:pointer;border-bottom:1px solid var(--border-primary)}.listado-grupos .modal-body .disp-item:last-child{border-bottom:none}.listado-grupos .modal-body .disp-item:hover{background:var(--bg-secondary)}.listado-grupos .modal-body .disp-item.is-selected{background:var(--accent-light,rgba(102,126,234,.1))}.listado-grupos .modal-body .disp-item .disp-check{color:var(--accent);font-size:16px;flex-shrink:0}.listado-grupos .modal-body .disp-item .disp-info{display:flex;flex-direction:column;gap:2px;min-width:0}.listado-grupos .modal-body .disp-item .disp-name{font-size:14px;font-weight:600;color:var(--text-primary)}.listado-grupos .modal-body .disp-item .disp-sub{font-size:11px;color:var(--text-muted)}.listado-grupos .modal-body .disp-empty{padding:16px;text-align:center;color:var(--text-muted);font-size:13px}.listado-grupos .modal-footer{display:flex;justify-content:flex-end;gap:10px;padding:14px 20px;background:var(--bg-secondary);border-top:1px solid var(--border-primary)}.listado-grupos .modal-footer .btn-cancel,.listado-grupos .modal-footer .btn-create{padding:9px 18px;border-radius:10px;font-size:14px;font-weight:600;cursor:pointer;border:none;display:inline-flex;align-items:center;gap:8px}.listado-grupos .modal-footer .btn-cancel{background:var(--bg-card);color:var(--text-tertiary);border:1px solid var(--border-primary)}.listado-grupos .modal-footer .btn-cancel:hover:not(:disabled){background:var(--bg-tertiary);color:var(--text-primary)}.listado-grupos .modal-footer .btn-create{background:var(--accent);color:#fff}.listado-grupos .modal-footer .btn-create:hover:not(:disabled){background:var(--accent-hover)}.listado-grupos .modal-footer .btn-cancel:disabled,.listado-grupos .modal-footer .btn-create:disabled{opacity:.5;cursor:not-allowed}@media(max-width:1400px){.listado-grupos .cards-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:1024px){.listado-grupos .cards-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:640px){.listado-grupos .cards-grid{grid-template-columns:1fr}}