/* AppGestor V34 · interfaz de red simplificada y responsive */
.jf-page-kicker{display:block;margin-bottom:5px;color:#5d7368;font-size:8px;font-weight:800;letter-spacing:.09em}.jf-devices-page-head{margin-bottom:9px}.jf-devices-page-head h1{margin-top:0}.jf-live-status-row{margin-bottom:12px}.jf-device-stats{margin-bottom:14px}.jf-device-stats article{position:relative;overflow:hidden}.jf-device-stats article:after{content:"";position:absolute;right:-18px;bottom:-22px;width:68px;height:68px;border-radius:50%;background:rgba(12,93,64,.035);pointer-events:none}.jf-stat-total{border-color:#cfe6da!important;background:linear-gradient(180deg,#fff,#f9fcfa)!important}.jf-device-filter{margin-bottom:14px}.jf-device-filter .jf-search-box{transition:border-color .16s ease,box-shadow .16s ease}.jf-device-filter .jf-search-box:focus-within{border-color:#7ab89c;box-shadow:0 0 0 3px rgba(11,111,76,.08)}.jf-connected-network{overflow:hidden}.jf-network-title-wrap{min-width:0}.jf-network-title-wrap h2{overflow-wrap:anywhere}.jf-network-title-wrap p{display:flex;align-items:center;gap:4px;flex-wrap:wrap}.jf-network-actions form{margin:0}.jf-ssid-head{border-radius:10px 10px 0 0}.jf-devices-wrap{border-radius:0 0 10px 10px;border-top:0}.jf-device-primary{display:flex;align-items:center;gap:8px;min-width:0}.jf-device-primary>div{min-width:0}.jf-device-type-icon{width:28px;height:28px;display:grid!important;place-items:center;flex:0 0 auto;border-radius:8px;background:#edf4f0;color:#4f675b;font-size:15px!important}.jf-device-row.row-blocked .jf-device-type-icon{background:#fff0f1;color:#b93e45}.jf-devices-table td,.jf-devices-table th{white-space:normal}.jf-devices-table td:nth-child(1){min-width:210px}.jf-devices-table td:nth-child(2){min-width:130px}.jf-devices-table td:nth-child(3){min-width:135px}.jf-devices-table td:nth-child(6){min-width:250px}.jf-empty-network-panel{text-align:center;padding:42px 18px!important}.jf-empty-network-panel>.material-icons{font-size:34px;color:#8ca097}.jf-empty-network-panel h2{margin:8px 0 4px;font-size:17px}.jf-empty-network-panel p{margin:0;color:var(--jf-muted);font-size:9.5px}.jf-network-user .jf-sidebar .jf-brand small{color:#7c9488}.jf-network-user .jf-nav a:first-of-type{font-weight:800}.jf-network-user .jf-content{background:linear-gradient(180deg,#f7f9f8 0,#f4f7f5 100%)}

/* El rol USER sigue siendo el mismo en la base; solo cambia su presentación. */
.jf-network-user .jf-profile-link small{color:#8fa39a}

@media(max-width:900px){
  .jf-devices-head-actions{display:grid;grid-template-columns:1fr 1fr;width:100%;gap:7px}.jf-devices-head-actions .jf-btn{width:100%;justify-content:center}.jf-device-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.jf-device-stats article{min-height:78px}.jf-device-filter{margin-top:4px}.jf-connected-network{margin-top:12px}
}

@media(max-width:760px){
  .jf-network-user .jf-content{padding:13px 9px 34px}.jf-network-user .jf-mobile-bar{height:52px;padding:0 9px;box-shadow:0 3px 14px rgba(14,38,28,.035)}.jf-network-user .jf-mobile-bar button{width:34px;height:34px}.jf-network-user .jf-mobile-bar a{position:absolute;left:50%;transform:translateX(-50%)}.jf-network-user .jf-mobile-bar img{width:27px;height:27px}.jf-network-user .jf-mobile-user{max-width:92px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.jf-devices-page-head{margin-bottom:8px}.jf-devices-page-head h1{font-size:25px;line-height:1.04}.jf-devices-page-head p{font-size:10px;line-height:1.5;max-width:540px}.jf-page-kicker{font-size:7.5px}.jf-live-status-row{gap:5px;margin:5px 0 10px}.jf-live-status-row span{font-size:7.8px;padding:5px 7px}.jf-device-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-bottom:10px}.jf-device-stats article{min-height:76px!important;padding:10px 11px!important;border-radius:11px}.jf-device-stats .jf-stat-label{font-size:7.5px}.jf-device-stats strong{font-size:22px!important}.jf-device-stats small{font-size:7.5px}.jf-device-filter{padding:9px!important;border-radius:12px}.jf-device-filter .jf-filter-form{display:grid;grid-template-columns:1fr!important;gap:7px}.jf-device-filter .jf-filter-form label,.jf-device-filter .jf-filter-form label.grow{width:100%;min-width:0}.jf-device-filter .jf-filter-form label>span{font-size:7.5px}.jf-device-filter .jf-search-box,.jf-device-filter .jf-filter-form select{height:42px}.jf-device-filter .jf-btn{height:40px!important;width:100%;justify-content:center}.jf-device-filter .jf-filter-summary{gap:5px;margin-top:7px}.jf-device-filter .jf-filter-summary span{font-size:7.5px;padding:4px 7px}.jf-connected-network{padding:9px!important;border-radius:13px!important}.jf-connected-network>.jf-network-head{display:grid;gap:10px;margin-bottom:5px}.jf-network-title-wrap h2{font-size:17px;line-height:1.18;margin:3px 0 4px}.jf-network-title-wrap p{font-size:7.8px;line-height:1.45;gap:3px}.jf-network-actions{display:grid!important;grid-template-columns:auto 1fr;align-items:center;gap:7px;margin-top:0!important;width:100%}.jf-network-actions form{width:100%}.jf-network-actions .jf-btn{width:100%;height:36px;justify-content:center}.jf-network-actions>.jf-pill{justify-self:start}.jf-network-section{margin-top:10px}.jf-ssid-head{padding:9px 8px!important;border:1px solid var(--jf-line)!important;border-bottom:0!important}.jf-ssid-head>div{min-width:0}.jf-ssid-head h3{font-size:10px;overflow-wrap:anywhere}.jf-ssid-head p{font-size:7.5px}.jf-ssid-head>.jf-pill{font-size:7px}.jf-devices-wrap{overflow:visible!important;border:0!important;border-radius:0!important;background:transparent!important}.jf-devices-table{display:block!important;width:100%!important;min-width:0!important;background:transparent!important}.jf-devices-table thead{display:none!important}.jf-devices-table tbody{display:grid!important;gap:8px!important}.jf-devices-table tbody>tr.jf-device-row{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:9px 10px!important;padding:11px!important;border:1px solid var(--jf-line)!important;border-radius:11px!important;background:#fff!important;box-shadow:0 5px 15px rgba(21,49,36,.035)!important}.jf-devices-table tbody>tr.jf-device-row.row-blocked{border-color:#ecc9cc!important;background:#fffafa!important}.jf-devices-table tbody>tr.jf-device-row:hover{background:#fff!important}.jf-devices-table tbody>tr.jf-device-row.row-blocked:hover{background:#fffafa!important}.jf-devices-table .jf-device-row>td{display:block!important;min-width:0!important;padding:0!important;border:0!important;background:transparent!important;font-size:9px!important}.jf-devices-table .jf-device-row>td[data-label]:not(.jf-device-name-cell)::before{content:attr(data-label);display:block;margin-bottom:4px;color:#85928b;font-size:6.8px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.jf-devices-table .jf-device-name-cell{grid-column:1/-1!important;padding-bottom:9px!important;border-bottom:1px solid #edf0ee!important}.jf-device-primary{gap:9px}.jf-device-type-icon{width:32px;height:32px;border-radius:9px;font-size:17px!important}.jf-devices-table .jf-device-name-cell strong{font-size:10.5px;overflow-wrap:anywhere}.jf-devices-table .jf-device-name-cell small{font-size:7.7px;line-height:1.4}.jf-devices-table .jf-device-address strong,.jf-devices-table .jf-device-ap strong{font-size:9.5px;overflow-wrap:anywhere}.jf-devices-table .jf-device-address small,.jf-devices-table .jf-device-ap small{font-size:7px;line-height:1.35;overflow-wrap:anywhere}.jf-devices-table .jf-device-state,.jf-devices-table .jf-device-access{padding:7px 8px!important;border-radius:8px!important;background:#f7f9f8!important}.jf-devices-table .jf-device-state::before,.jf-devices-table .jf-device-access::before{margin-bottom:5px!important}.jf-devices-table .jf-device-state .jf-pill,.jf-devices-table .jf-device-access .jf-pill{font-size:6.8px;padding:4px 6px}.jf-devices-table .jf-actions-cell{grid-column:1/-1!important;padding-top:9px!important;border-top:1px solid #edf0ee!important}.jf-row-actions{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:6px!important;justify-content:stretch!important}.jf-row-actions form{display:block!important;width:100%!important}.jf-row-actions .jf-action{width:100%!important;height:38px!important;padding:0 6px!important;justify-content:center!important;border-radius:9px!important;font-size:8.3px!important;gap:4px!important}.jf-row-actions .jf-action .material-icons{font-size:15px!important}.jf-row-actions .jf-action span:last-child{display:inline!important}.jf-empty-cell{display:block!important;width:100%!important;padding:20px 10px!important}.jf-confirm-card{width:min(92vw,390px)}
}

@media(max-width:430px){
  .jf-devices-page-head h1{font-size:23px}.jf-devices-head-actions{gap:6px}.jf-devices-head-actions .jf-btn{font-size:8px;padding:0 7px}.jf-live-status-row span:nth-child(2){max-width:100%}.jf-device-stats article{min-height:72px!important}.jf-connected-network{padding:8px!important}.jf-network-actions{grid-template-columns:1fr}.jf-network-actions>.jf-pill{justify-self:stretch;text-align:center;justify-content:center}.jf-row-actions{grid-template-columns:1fr 1fr!important}.jf-row-actions>form:last-child{grid-column:1/-1}.jf-row-actions .jf-action{font-size:9px!important}.jf-devices-table tbody>tr.jf-device-row{padding:10px!important;gap:8px}.jf-devices-table .jf-device-row>td[data-label]:not(.jf-device-name-cell)::before{font-size:6.5px}.jf-mobile-user{font-size:8px!important}}

@media(max-width:350px){.jf-device-stats{grid-template-columns:1fr}.jf-devices-table tbody>tr.jf-device-row{grid-template-columns:1fr!important}.jf-devices-table .jf-device-name-cell,.jf-devices-table .jf-actions-cell{grid-column:1!important}.jf-row-actions{grid-template-columns:1fr!important}.jf-row-actions>form:last-child{grid-column:auto}.jf-devices-head-actions{grid-template-columns:1fr}.jf-network-title-wrap p span:nth-child(2),.jf-network-title-wrap p span:nth-child(4){display:none}.jf-network-title-wrap p{display:grid;gap:2px}}

/* Administración de usuarios: el rol normal se entiende como gestor de red y la tabla también es usable en móvil. */
@media(max-width:760px){.jf-users-table{min-width:0!important;display:block}.jf-users-table thead{display:none}.jf-users-table tbody{display:grid;gap:8px}.jf-users-table tr{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:10px;border:1px solid var(--jf-line);border-radius:11px;background:#fff}.jf-users-table td{display:block!important;padding:0!important;border:0!important;min-width:0}.jf-users-table td:first-child,.jf-users-table td:last-child{grid-column:1/-1}.jf-users-table .jf-user-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;margin-top:3px}.jf-users-table .jf-user-actions .jf-action{width:100%;height:36px;justify-content:center}.jf-users-table .jf-user-actions .jf-action span:last-child{display:inline!important}.jf-users-table td.right{text-align:left}.jf-users-toolbar{display:block}.jf-users-search{display:grid!important;grid-template-columns:auto 1fr auto;gap:5px;width:100%}.jf-users-search .jf-link{grid-column:1/-1;text-align:center;padding:5px}}
