:root{--primary:#f60;--primary-hover:#e65c00;--bg-dark:#0f172a;--bg-card:#1e293b;--text-main:#f8fafc;--text-muted:#94a3b8;--error:#ef4444;--success:#10b981}body{background-color:var(--bg-dark);color:var(--text-main);margin:0;font-family:Inter,sans-serif}.layout-wrapper{min-height:100vh;display:flex}.main-content{flex:1;margin-left:240px;padding:2rem;transition:margin .28s}.mobile-topbar{background:var(--bg-card);z-index:98;border-bottom:1px solid #ffffff0d;align-items:center;gap:12px;height:56px;padding:0 1rem;display:none;position:fixed;top:0;left:0;right:0}.topbar-brand{letter-spacing:1.5px;color:var(--text-main);font-size:.95rem;font-weight:700}.topbar-brand span{color:var(--primary)}.hamburger{color:var(--text-main);cursor:pointer;background:#ffffff0f;border:1px solid #ffffff14;border-radius:8px;justify-content:center;align-items:center;width:36px;height:36px;font-size:16px;transition:background .2s;display:flex}.hamburger:hover{background:#ffffff1a}@media (width<=768px){.mobile-topbar{display:flex}.main-content{padding-top:calc(56px + 1.25rem);margin-left:0!important}}.view-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:2rem;display:flex}.header-info h1{color:var(--text-main);margin:0;font-size:1.6rem;font-weight:700}.header-info p{color:var(--text-muted);margin-top:4px;font-size:.875rem}.header-actions{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.view-toggles{background:var(--bg-card);border-radius:8px;gap:2px;padding:4px;display:flex}.view-toggles button{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:7px 11px;transition:all .2s}.view-toggles button.active{background:var(--primary);color:#fff}.btn-primary{background:var(--primary);color:#fff;cursor:pointer;white-space:nowrap;border:none;border-radius:8px;align-items:center;gap:6px;padding:10px 20px;font-size:.875rem;font-weight:600;transition:background .2s;display:flex}.btn-primary:hover{background:var(--primary-hover)}.table-container{background:var(--bg-card);border:1px solid #ffffff0f;border-radius:12px;overflow-x:auto}.custom-table{border-collapse:collapse;width:100%;min-width:520px}.custom-table th{color:var(--text-muted);text-transform:uppercase;letter-spacing:1.5px;text-align:left;white-space:nowrap;background:#0003;padding:.9rem 1.2rem;font-size:.7rem;font-weight:600}.custom-table td{color:#cbd5e1;border-bottom:1px solid #ffffff0d;padding:1rem 1.2rem;font-size:.875rem}.custom-table tbody tr:last-child td{border-bottom:none}.custom-table tbody tr:hover td{background:#ffffff05}.custom-table strong{color:var(--text-main);font-weight:600}.text-right{text-align:right}.badge{color:var(--primary);white-space:nowrap;background:#ff66001f;border-radius:20px;padding:3px 10px;font-size:.7rem;font-weight:600}.status-dot{vertical-align:middle;border-radius:50%;width:7px;height:7px;margin-right:6px;display:inline-block}.status-dot.active{background:var(--success)}.status-dot.inactive{background:var(--error)}.btn-icon{color:var(--text-muted);cursor:pointer;background:#ffffff0d;border:1px solid #ffffff14;border-radius:7px;padding:6px 10px;font-size:13px;transition:all .2s}.btn-icon:hover{color:var(--primary);background:#ff66001f;border-color:#ff66004d}.cards-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1rem;display:grid}.user-card{background:var(--bg-card);text-align:center;border:1px solid #ffffff0f;border-radius:14px;padding:1.5rem;transition:border-color .2s}.user-card:hover{border-color:#ff66004d}.card-avatar{width:48px;height:48px;color:var(--primary);background:#ff66001f;border:2px solid #ff660040;border-radius:50%;justify-content:center;align-items:center;margin:0 auto 1rem;font-size:1.1rem;font-weight:700;display:flex}.card-info h4{color:var(--text-main);margin-bottom:4px;font-size:.9rem;font-weight:600}.card-info p{color:var(--text-muted);margin-bottom:10px;font-size:.8rem}.btn-edit{color:var(--primary);cursor:pointer;background:#ff66001a;border:1px solid #ff660040;border-radius:8px;width:100%;margin-top:.5rem;padding:8px 16px;font-size:.8rem;font-weight:600;transition:all .2s}.btn-edit:hover{background:var(--primary);color:#fff}.loading-state{text-align:center;color:var(--text-muted);padding:5rem}.spinner{border:3px solid #ffffff14;border-top-color:var(--primary);border-radius:50%;width:36px;height:36px;margin:0 auto 1rem;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.selector-modal .modal-search{background:#0003;border:1px solid #ffffff14;border-radius:8px;align-items:center;gap:8px;margin-bottom:1rem;padding:0 12px;display:flex}.selector-modal .search-icon{color:var(--text-muted);font-size:.9rem}.selector-modal .modal-search input{color:var(--text-main);background:0 0;border:none;outline:none;flex:1;padding:10px 0;font-size:.875rem}.selector-modal .modal-search input::placeholder{color:var(--text-muted)}.selector-modal .lista-mensajes{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.selector-modal .item-mensaje{cursor:pointer;background:#0003;border:1px solid #ffffff0f;border-radius:10px;padding:10px 12px;transition:border-color .2s;position:relative}.selector-modal .item-mensaje:hover{border-color:#ff66004d}.selector-modal .item-activo{background:#ff66000f;border-color:#f606}.selector-modal .item-meta{align-items:center;gap:8px;margin-bottom:4px;display:flex}.selector-modal .item-id{color:var(--primary);background:#ff66001f;border-radius:20px;padding:2px 8px;font-size:.7rem;font-weight:700}.selector-modal .item-grupo{color:var(--text-muted);font-size:.75rem}.selector-modal .item-horas{color:var(--text-muted);background:#ffffff0d;border-radius:20px;margin-left:auto;padding:2px 7px;font-size:.7rem}.selector-modal .item-texto{color:var(--text-muted);margin:0;font-size:.82rem;line-height:1.4}.selector-modal .item-check{color:var(--primary);font-weight:700;position:absolute;top:50%;right:12px;transform:translateY(-50%)}.selector-modal .estado-carga,.selector-modal .estado-vacio{color:var(--text-muted);flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:2rem;font-size:.85rem;display:flex}.selector-modal .estado-vacio span{font-size:1.8rem}.selector-modal .selector-spinner{border:2px solid #ffffff14;border-top-color:var(--primary);border-radius:50%;width:20px;height:20px;animation:.7s linear infinite spin}@media (width<=768px){.view-header{flex-direction:column;align-items:flex-start}.header-actions{justify-content:space-between;width:100%}.header-info h1{font-size:1.3rem}}
