@import"https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700&display=swap";@import"https://fonts.googleapis.com/css2?family=Montserrat:wght@400;600;700;800&display=swap";.titlebar{position:fixed;top:0;left:0;right:0;z-index:9999;height:32px;min-height:32px;display:flex;align-items:center;justify-content:space-between;user-select:none;background:var(--brand-primary);border-radius:0;box-shadow:none;-webkit-app-region:drag;app-region:drag}.titlebar-drag{flex:1;min-width:0;height:100%;-webkit-app-region:drag;app-region:drag}.titlebar-controls{display:flex;align-items:center;gap:8px;padding-right:10px;-webkit-app-region:no-drag;app-region:no-drag}.titlebar-btn{appearance:none;padding:0;margin:0;border:none;width:26px;height:26px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:var(--brand-accent);color:var(--brand-primary);cursor:pointer;transition:transform .15s,filter .15s,color .15s}.titlebar-btn:hover{filter:brightness(1.08);transform:scale(1.06);color:var(--brand-primary)}.titlebar-btn:active{transform:scale(.98)}.titlebar-btn svg{flex-shrink:0;display:block;pointer-events:none;stroke:currentColor}.titlebar-close:hover{background:var(--brand-accent);color:var(--brand-danger);filter:brightness(1.05)}.titlebar-close:active{color:var(--brand-danger)}.loading{display:flex;align-items:center;justify-content:center;min-height:100vh;color:#4e4af2}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:0;background:#fff url(./SVG/fondo.svg) repeat;font-family:Montserrat,system-ui,-apple-system,Segoe UI,Roboto,sans-serif}.login-wrapper{width:100%;max-width:400px;text-align:center}.login-logo{width:110px;margin-bottom:6px}.login-title{font-size:16px;font-weight:700;color:#4e4af2;margin-bottom:18px}.login-card{background:#4e4af2;border-radius:22px;padding:30px 26px 32px;box-shadow:0 12px 30px #00000040;width:290px;margin:0 auto;color:#fff}.login-label{display:block;text-align:left;font-size:12px;color:#fff;margin-bottom:6px;font-weight:500}.login-input{width:100%;height:42px;border-radius:8px;border:none;outline:none;padding:0 14px;font-size:13px;margin-bottom:16px}.login-input:focus{outline:2px solid #ffd566;outline-offset:0}.login-btn{margin-top:6px}.login-btn button{all:unset;cursor:pointer}.login-btn img{width:160px;height:auto;display:block;margin:0 auto}.login-version{margin-top:14px;font-size:12px;font-weight:400;color:#4e4af2}.login-error{margin:4px 0 0;font-size:11px;color:#ffd1d1;text-align:left}.landing-page{position:fixed;inset:0;margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;background:var(--page-bg);box-sizing:border-box;z-index:0}.landing-card{position:absolute;inset:0;width:100%;height:100%;background:var(--card-bg);border-radius:0;box-shadow:none;overflow:hidden}.landing-card-bg{position:absolute;inset:0;width:100%;height:100%;display:block;object-fit:cover;object-position:center}.landing-overlay{position:absolute;inset:0;border-radius:0;overflow:hidden;z-index:2}.landing-card:before{content:"";position:absolute;left:0;bottom:0;width:70px;height:60px;background:var(--card-bg);z-index:1;pointer-events:none}.landing-version{position:absolute;top:4.5%;left:4.5%;height:3.3%;width:auto}.landing-icons{position:absolute;top:4.4%;right:4.2%;height:6%;width:auto}.landing-left{position:absolute;inset:0 50% 0 0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6.5%;padding-top:6%;padding-bottom:8%;box-sizing:border-box}.landing-logo{width:32%;max-width:180px;height:auto;display:block}.landing-btn{display:block;width:34%;max-width:220px;height:auto;padding:0;border:none;background:none;cursor:pointer;transition:transform .2s,opacity .2s}.landing-btn:hover{transform:scale(1.05);opacity:.95}.landing-btn img{width:100%;height:auto;display:block;vertical-align:middle}.landing-texto{width:40%;max-width:260px;height:auto;display:block}.landing-right{position:absolute;inset:0 0 -5% 50%;pointer-events:none;overflow:visible}.landing-chica{position:absolute;right:0;bottom:0;width:auto;max-width:100%;height:92%;max-height:100%;min-height:200px;object-fit:contain;object-position:right bottom;display:block}@media (max-width: 640px){.landing-left .landing-logo{width:42%}.landing-btn{width:46%}.landing-texto{width:55%}.landing-chica{height:86%;right:3%}.landing-icons{height:7%}.landing-version{height:4%}}:root{--selector-purple: #4e4af2;--selector-bg: #f7f8ff;--selector-text: #1e3a5f}.selector-page{min-height:calc(100vh - var(--titlebar-height, 32px));max-height:calc(100vh - var(--titlebar-height, 32px));height:100%;box-sizing:border-box;overflow-x:hidden;overflow-y:auto;font-family:Montserrat,system-ui,sans-serif;background:url(./insumos/fondo.svg) repeat,var(--selector-bg);color:var(--selector-text);display:flex;flex-direction:column}.selector-topbar{height:96px;min-height:96px;background:var(--selector-purple);display:flex;align-items:center;padding:0 18px;position:relative}.selector-topbar-left,.selector-topbar-right{display:flex;align-items:center;gap:10px;z-index:2}.selector-topbar-left{margin-right:auto}.selector-topbar-right{margin-left:auto}.selector-topbar-center{position:absolute;left:50%;transform:translate(-50%);display:flex;align-items:center;justify-content:center;z-index:1}.selector-btn-img-wrap{background:none;border:none;padding:0;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;text-decoration:none}.selector-btn-img-wrap--placeholder{width:30px;height:30px;cursor:default;visibility:hidden}.selector-btn-img{height:30px;width:auto;display:block;user-select:none;pointer-events:none}.selector-logo-top{height:68px;width:auto;display:block;user-select:none}.selector-container{flex:1;max-width:980px;width:100%;margin:0 auto;padding:0 18px 40px;display:flex;flex-direction:column;align-items:center;justify-content:center;box-sizing:border-box}.selector-title-card{background:#fff;color:#4e4af2;padding:1.25rem 2rem;border-radius:24px;margin-bottom:1.5rem;box-shadow:0 4px 20px #4e4af233;max-width:520px}.selector-title{margin:0 0 6px;color:#4e4af2;font-size:36px;font-weight:800;text-align:center;letter-spacing:-.2px}.selector-subtitle{color:#4e4af2;font-size:16px;font-weight:500;text-align:center;margin:0;opacity:.95}.selector-row{display:flex;gap:44px;align-items:center;justify-content:center;position:relative}.selector-row:before{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:min(520px,90vw);height:2px;background:#4e4af226;border-radius:999px;z-index:0}.selector-card{width:280px;height:260px;border-radius:48px;background:var(--selector-purple);display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:6px;box-shadow:0 18px 40px #0000002e;position:relative;z-index:1;border:none;cursor:pointer;padding:2px 0 0;font:inherit;color:inherit;transition:transform .15s ease,box-shadow .15s ease}.selector-card:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 22px 50px #00000038;outline:6px solid #ffd54a;outline-offset:-6px}.selector-card:disabled{cursor:not-allowed;opacity:.9}.selector-card img{width:220px;height:auto;display:block;user-select:none}.selector-card-label{color:#fff;font-weight:700;font-size:18px;margin:0}.selector-badge{position:absolute;bottom:12px;left:50%;transform:translate(-50%);font-size:10px;font-weight:600;color:#ffd54a;background:#0003;padding:2px 8px;border-radius:8px;white-space:nowrap}.selector-card--warn{outline:2px solid rgba(255,213,74,.8)}@media (max-width: 720px){.selector-container{padding:24px 16px 32px}.selector-title{font-size:22px;margin-top:16px}.selector-subtitle{margin-bottom:24px}.selector-row{flex-direction:column;gap:22px}.selector-row:before{width:2px;height:300px}.selector-card{width:280px;height:260px}}.repositorio-page{min-height:100vh;display:flex;flex-direction:column;background:var(--bg-color);color:var(--text-color)}.repositorio-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.5rem;border-bottom:1px solid var(--card-border);background:var(--card-bg);border-radius:12px 12px 0 0}.repositorio-header h1{margin:0;font-size:1.25rem;font-weight:600}.repositorio-user{margin:.25rem 0 0;font-size:.875rem;color:var(--muted-text)}.repositorio-user .rol{color:var(--brand-primary, #4e4af2)}.repositorio-header-actions{display:flex;gap:.75rem}.btn-link{padding:.5rem 1rem;background:transparent;border:1px solid var(--card-border);border-radius:8px;color:var(--btn-secondary-text);font-size:.875rem;text-decoration:none}.btn-link:hover{background:var(--btn-secondary);color:var(--btn-secondary-text)}.repositorio-main{flex:1;padding:1.5rem;max-width:960px;margin:0 auto;width:100%}.repositorio-filters{display:flex;flex-wrap:wrap;align-items:flex-end;gap:1rem;margin-bottom:1.5rem}.filter-group{display:flex;flex-direction:column;gap:.25rem}.filter-group span{font-size:.875rem;color:var(--muted-text)}.filter-group select{padding:.5rem .75rem;min-width:180px;background:var(--card-bg);border:1px solid var(--card-border);border-radius:8px;color:var(--text-color);font-size:.95rem}.btn-logout{padding:.5rem 1rem;background:transparent;border:2px solid rgba(255,255,255,.5);border-radius:10px;color:#fff;font-size:.875rem;font-weight:600}.btn-logout:hover{background:#fff3;border-color:#fff}.repositorio-error{padding:.75rem 1rem;margin-bottom:1rem;background:var(--danger-bg);border:1px solid var(--danger-border);border-radius:8px;color:var(--danger-text);font-size:.9rem}.repositorio-loading,.repositorio-empty{color:var(--muted-text);font-size:.95rem}.repositorio-table-wrap{overflow-x:auto;border:1px solid var(--card-border);border-radius:16px;background:var(--card-bg);box-shadow:0 2px 12px #4e4af214}.repositorio-table{width:100%;border-collapse:collapse}.repositorio-table th,.repositorio-table td{padding:.75rem 1rem;text-align:left;border-bottom:1px solid var(--card-border)}.repositorio-table th{font-size:.8rem;font-weight:600;color:var(--muted-text);text-transform:uppercase}.repositorio-table tbody tr:last-child td{border-bottom:none}.repositorio-table tbody tr:hover{background:var(--hover-bg)}.btn-sm{padding:.35rem .6rem;margin-right:.5rem;border:none;border-radius:6px;font-size:.8rem}.btn-download{background:#059669;color:#fff}.btn-download:hover{background:#047857}.btn-delete{background:var(--brand-danger, #ff6755);color:#fff}.btn-delete:hover{background:#e85545}.btn-secondary{padding:.5rem 1rem;background:transparent;border:1px solid var(--card-border);border-radius:8px;color:var(--btn-secondary-text);font-size:.875rem}.btn-secondary:hover{background:var(--btn-secondary);color:var(--btn-secondary-text)}.repositorio-modal{position:fixed;inset:0;background:var(--modal-overlay);display:flex;align-items:center;justify-content:center;z-index:100}.repositorio-modal-content{width:100%;max-width:420px;padding:1.5rem;background:var(--card-bg);border:1px solid var(--card-border);border-radius:16px;box-shadow:0 8px 32px #4e4af226}.repositorio-modal-content h2{margin:0 0 1.25rem;font-size:1.25rem}.repositorio-modal-content label{display:block;margin-bottom:1rem;font-size:.875rem;color:var(--muted-text)}.repositorio-modal-content label span{display:block;margin-bottom:.25rem}.repositorio-modal-content input[type=text],.repositorio-modal-content input[type=file],.repositorio-modal-content select,.repositorio-modal-content textarea{width:100%;padding:.5rem .75rem;background:var(--bg-color);border:1px solid var(--card-border);border-radius:8px;color:var(--text-color);font-size:.95rem}.repositorio-modal-content textarea{resize:vertical;min-height:60px}.empresas-acceso-list{margin-top:.5rem;max-height:140px;overflow-y:auto;padding:.5rem;background:var(--bg-color);border-radius:8px;border:1px solid var(--card-border)}.empresas-acceso-item{display:block;margin-bottom:.35rem;font-weight:400}.empresas-acceso-item:last-child{margin-bottom:0}.empresas-page{min-height:100vh;display:flex;flex-direction:column;background:var(--bg-color);color:var(--text-color)}.empresas-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.5rem;border-bottom:1px solid var(--card-border);background:var(--card-bg)}.empresas-header h1{margin:0;font-size:1.25rem}.empresas-header-actions{display:flex;gap:.75rem;align-items:center}.empresas-embedded-actions{display:flex;justify-content:flex-end;margin-bottom:1rem}.empresas-main{flex:1;padding:1.5rem;max-width:800px;margin:0 auto;width:100%}.empresas-error{padding:.75rem;margin-bottom:1rem;background:var(--danger-bg);border:1px solid var(--danger-border);border-radius:8px;color:var(--danger-text)}.empresas-loading,.empresas-empty{color:var(--muted-text)}.empresas-table-wrap{overflow-x:auto;border:1px solid var(--card-border);border-radius:16px;background:var(--card-bg);box-shadow:0 2px 12px #4e4af214}.empresas-table{width:100%;border-collapse:collapse}.empresas-table th,.empresas-table td{padding:.75rem 1rem;text-align:left;border-bottom:1px solid var(--card-border)}.empresas-table th{font-size:.8rem;color:var(--muted-text);text-transform:uppercase}.empresas-table tbody tr:hover{background:var(--hover-bg)}.btn-sm{padding:.35rem .6rem;border:none;border-radius:8px;font-size:.8rem;font-weight:600}.btn-edit{background:var(--brand-primary, #4e4af2);color:#fff}.btn-edit:hover{background:#433ce8}.empresas-modal{position:fixed;inset:0;background:var(--modal-overlay);display:flex;align-items:center;justify-content:center;z-index:100}.empresas-modal-content{width:100%;max-width:420px;padding:1.5rem;background:var(--card-bg);border:1px solid var(--card-border);border-radius:16px;box-shadow:0 8px 32px #4e4af226}.empresas-modal-content h2{margin:0 0 1.25rem;font-size:1.25rem}.empresas-modal-subtitle{margin:-.75rem 0 1rem;color:var(--muted-text);font-size:.9rem}.empresas-modal-content label{display:block;margin-bottom:1rem;font-size:.875rem;color:var(--muted-text)}.empresas-modal-content input[type=text],.empresas-modal-content select{width:100%;padding:.5rem .75rem;background:var(--bg-color);border:1px solid var(--card-border);border-radius:8px;color:var(--text-color)}.empresas-proveedores-list{display:flex;flex-direction:column;gap:.5rem;margin:.5rem 0 1rem}.empresas-proveedores-item{display:flex;align-items:center;gap:.5rem;color:var(--text-color)}.usuarios-page{min-height:100vh;display:flex;flex-direction:column;background:var(--bg-color);color:var(--text-color)}.usuarios-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.5rem;border-bottom:1px solid var(--card-border);background:var(--card-bg)}.usuarios-header h1{margin:0;font-size:1.25rem}.usuarios-header-actions{display:flex;gap:.75rem;align-items:center}.usuarios-embedded-actions{display:flex;justify-content:flex-end;margin-bottom:1rem}.usuarios-main{flex:1;padding:1.5rem;max-width:900px;margin:0 auto;width:100%}.usuarios-error{padding:.75rem;margin-bottom:1rem;background:var(--danger-bg);border:1px solid var(--danger-border);border-radius:8px;color:var(--danger-text)}.usuarios-loading{color:var(--muted-text)}.usuarios-table-wrap{overflow-x:auto;border:1px solid var(--card-border);border-radius:16px;background:var(--card-bg);box-shadow:0 2px 12px #4e4af214}.usuarios-table{width:100%;border-collapse:collapse}.usuarios-table th,.usuarios-table td{padding:.75rem 1rem;text-align:left;border-bottom:1px solid var(--card-border)}.usuarios-table th{font-size:.8rem;color:var(--muted-text);text-transform:uppercase}.usuarios-table tbody tr:hover{background:var(--hover-bg)}.usuarios-modal{position:fixed;inset:0;background:var(--modal-overlay);display:flex;align-items:center;justify-content:center;z-index:100}.usuarios-modal-content{width:100%;max-width:420px;padding:1.5rem;background:var(--card-bg);border:1px solid var(--card-border);border-radius:16px;box-shadow:0 8px 32px #4e4af226}.usuarios-modal-content h2{margin:0 0 1.25rem;font-size:1.25rem}.usuarios-modal-content label{display:block;margin-bottom:1rem;font-size:.875rem;color:var(--muted-text)}.usuarios-modal-content input,.usuarios-modal-content select{width:100%;padding:.5rem .75rem;background:var(--bg-color);border:1px solid var(--card-border);border-radius:8px;color:var(--text-color)}.form-actions{display:flex;justify-content:flex-end;gap:.75rem;margin-top:1.25rem;padding-top:1rem;border-top:1px solid var(--card-border)}.btn-primary{padding:.5rem 1rem;background:var(--brand-primary, #4e4af2);border:none;border-radius:10px;color:#fff;font-size:.875rem;font-weight:700;transition:background .2s}.btn-primary:hover{background:#433ce8}.btn-secondary{padding:.5rem 1rem;background:transparent;border:2px solid var(--card-border);border-radius:10px;color:var(--btn-secondary-text);font-size:.875rem;font-weight:600}.btn-secondary:hover{background:var(--btn-secondary)}.btn-link{padding:.5rem 1rem;border:2px solid var(--card-border);border-radius:10px;color:var(--btn-secondary-text);font-size:.875rem;text-decoration:none;font-weight:600}.btn-link:hover{background:var(--btn-secondary)}.btn-logout{padding:.5rem 1rem;background:transparent;border:2px solid var(--card-border);border-radius:10px;color:var(--btn-secondary-text);font-size:.875rem;font-weight:600}.btn-logout:hover{background:var(--btn-secondary)}.admin-page.selector-page .selector-container.admin-main{justify-content:flex-start;padding-top:24px;padding-bottom:32px;align-items:stretch}.admin-topbar-btn{padding:.5rem 1rem;border-radius:999px;font-size:.9rem;font-weight:700;text-decoration:none;color:#fff;background:transparent;border:2px solid rgba(255,255,255,.5);cursor:pointer;transition:background .2s,color .2s,border-color .2s}.admin-topbar-btn:hover{background:#fff3;border-color:#fff}.admin-topbar-btn--inicio{color:#fff}.admin-user-info{margin:0 auto 1rem;font-size:.9rem;color:#4e4af2;font-weight:700;text-align:center;background:#ffd54a;padding:.5rem 1.25rem;border-radius:999px;display:inline-block;box-shadow:0 2px 12px #4e4af226}.admin-rol{color:#4e4af2;font-weight:500;opacity:.85}.admin-tabs{display:flex;gap:.5rem;flex-wrap:wrap;padding:1rem;background:#fff;border-radius:20px;margin-bottom:1.5rem;box-shadow:0 4px 20px #4e4af21f;border:1px solid rgba(78,74,242,.15)}.admin-tab{padding:.75rem 1.25rem;border-radius:12px;border:2px solid transparent;background:transparent;color:#4e4af2;font-weight:700;font-size:.95rem;cursor:pointer;transition:background .2s,color .2s,border-color .2s}.admin-tab:hover{background:#4e4af214;color:var(--selector-purple, #4e4af2)}.admin-tab.active{background:var(--selector-purple, #4e4af2);color:#fff;border-color:var(--selector-purple, #4e4af2)}.admin-tab.active:hover{background:#433ce8;border-color:#433ce8}.admin-panel{flex:1;min-height:0;background:#fff;border-radius:20px;padding:1.5rem;box-shadow:0 4px 20px #4e4af21f;border:1px solid rgba(78,74,242,.15)}.admin-panel .repositorio-header,.admin-panel .empresas-header,.admin-panel .usuarios-header{display:none}.admin-panel .repositorio-page,.admin-panel .empresas-page,.admin-panel .usuarios-page{min-height:auto;background:transparent}.admin-panel .repositorio-main,.admin-panel .empresas-main,.admin-panel .usuarios-main{max-width:100%;margin:0;padding:0;background:transparent}.phone-page.selector-page .selector-container{justify-content:flex-start;padding-top:24px;padding-bottom:32px}.phone-card{width:100%;max-width:520px;margin:0 auto;background-color:#4e4af2;border-radius:24px;padding:28px 24px 52px;box-shadow:0 18px 40px #00000047;color:#fff;position:relative}.phone-card .selector-title{color:#fff;font-size:26px;margin-bottom:2px}.phone-card .selector-subtitle{color:#e0e7ff;font-size:14px;margin-bottom:14px}.phone-card .depuracion-method{margin-top:0;margin-bottom:0;padding-top:0}.phone-card .depuracion-method h2,.phone-card .depuracion-apk h2{font-size:16px;margin-bottom:6px;color:#fff}.phone-card .method-grid.phone-method-grid{margin-top:1rem;margin-bottom:1rem;max-width:280px;margin-left:auto;margin-right:auto;gap:1.5rem}.phone-card .phone-conn-btn-icon img{width:120px;height:120px;object-fit:contain}.phone-card .depuracion-wireless{background:#fff;color:#4e4af2;padding:1.25rem;margin-top:.35rem}.phone-card .depuracion-wireless .qr-instructions,.phone-card .depuracion-wireless .btn-submethod,.phone-card .depuracion-wireless .btn-submethod.active{color:#4e4af2}.phone-card .manual-input-field,.phone-card .apk-row input[type=text],.phone-card .apk-row select,.phone-card .depuracion-device-select .device-select{color:#4e4af2;background:#fff}.phone-card .manual-input-field::placeholder{color:#4e4af2;opacity:.7}.phone-card .depuracion-device-select h2,.phone-card .qr-instructions{color:#fff}.phone-card .depuracion-device-select .device-select{color:#4e4af2}.phone-card .btn-phone-ejecutar{position:absolute;left:50%;bottom:0;transform:translate(-50%,50%);width:auto!important;min-width:170px;padding:8px 22px;border-radius:999px;font-size:.95rem;font-weight:700;background-color:#ffd54a;color:#4e4af2;border:2px solid transparent;box-shadow:0 6px 14px #00000040;cursor:pointer;transition:background-color .2s,color .2s,box-shadow .2s,border-color .2s}.phone-card .btn-phone-ejecutar:hover:not(:disabled){background-color:#4e4af2;color:#fff;border-color:#ffd54a;box-shadow:0 8px 18px #4e4af273}.phone-card .btn-vincular-manual,.phone-card .btn-primary-qr{background:#4e4af2;color:#fff}.phone-card .btn-vincular-manual:hover,.phone-card .btn-primary-qr:hover:not(:disabled){background:#433ce8}.phone-card .btn-secondary{border-color:#ffffff80;color:#fff}.phone-card .auto-install-indicator,.phone-card .apk-loading-env,.phone-card .apk-loading-env p{color:#fff}.phone-card .qr-status{color:#e0e7ff}.phone-card .depuracion-wireless .qr-status,.phone-card .depuracion-wireless .qr-status.qr-status-waiting{color:#4e4af2;opacity:1}.phone-card .qr-status-error,.phone-card .depuracion-wireless .qr-status-error{color:var(--brand-danger)}.depuracion-page{width:min(980px,95vw);min-height:100vh;margin:0 auto;display:flex;flex-direction:column;background:var(--card-bg);color:var(--text-color);transition:all .3s ease;position:relative;box-shadow:var(--card-shadow, 0 20px 60px rgba(0, 0, 0, .35));border-radius:var(--card-radius, 28px);overflow:hidden}.depuracion-page:before{content:"";position:absolute;inset:0;background-image:url(./SVG/fondo.svg);background-size:cover;background-position:center;opacity:.04;pointer-events:none;z-index:0}.depuracion-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem;padding:.875rem 1.5rem;min-height:72px;background:var(--header-grad);color:#fff;position:relative;z-index:1;box-shadow:0 4px 20px #4f49f040}.depuracion-header-brand{display:flex;align-items:center;gap:1rem;min-width:0}.depuracion-logo{width:42px;height:41px;object-fit:contain;flex-shrink:0;filter:brightness(0) invert(1)}.depuracion-header h1{margin:0;font-size:1.25rem;font-weight:800;letter-spacing:-.02em;line-height:1.2}.depuracion-subtitle{margin:.15rem 0 0;font-size:.8125rem;color:#ffffffe0;line-height:1.3}.depuracion-header-actions{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.depuracion-header-actions .btn-refrescar,.depuracion-header-actions .btn-salir{padding:.35rem;border:none;background:transparent;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;border-radius:8px;min-width:44px;min-height:44px;transition:transform .2s,opacity .2s}.depuracion-header-actions .btn-refrescar:hover,.depuracion-header-actions .btn-salir:hover{transform:scale(1.05);opacity:.95}.depuracion-header-actions .btn-refrescar img,.depuracion-header-actions .btn-salir img{height:28px;width:auto;max-width:100px;object-fit:contain;display:block}.depuracion-header-actions .btn-inicio{padding:.5rem 1rem;min-height:44px;box-sizing:border-box;display:inline-flex;align-items:center;background:#fff3;border:1px solid rgba(255,255,255,.35);color:#fff;border-radius:8px;font-weight:600;font-size:.875rem;text-decoration:none;transition:background .2s,border-color .2s}.depuracion-header-actions .btn-inicio:hover{background:#ffffff4d;border-color:#ffffff80}.depuracion-main{flex:1;padding:clamp(1.25rem,4vw,2rem);max-width:560px;margin:0 auto;width:100%;position:relative;z-index:1}.depuracion-method h2{font-size:1.125rem;margin:0 0 1rem;font-weight:700}.depuracion-device-select h2{color:var(--text-color);font-weight:700;margin-bottom:.5rem;font-size:1.125rem}.depuracion-device-select .device-select{width:100%;padding:.75rem 1rem;font-size:.9375rem;border:1px solid var(--border-color, #e2e8f0);border-radius:10px;background:var(--card-bg, #fff);color:var(--text-color);margin-top:.5rem;min-height:44px;box-sizing:border-box}.depuracion-apk h2{color:var(--text-color);font-weight:700;margin-bottom:.75rem;font-size:1.125rem}.method-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem;margin-bottom:1.25rem}.method-card{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding:1.25rem 1rem;min-height:160px;background:var(--card-bg);border:2px solid var(--card-border);border-radius:14px;cursor:pointer;transition:all .25s ease;box-shadow:0 4px 6px -1px #00000014}.method-card:hover{transform:translateY(-4px);box-shadow:0 10px 20px -3px #4f49f033;border-color:var(--brand-primary)}.method-card.active{border-color:var(--brand-primary);background:linear-gradient(180deg,#4f49f014,#ffd5660f);box-shadow:0 0 0 2px #4f49f033}.method-card input{display:none}.method-icon{width:72px;height:72px;flex-shrink:0;margin-bottom:.75rem;display:flex;align-items:center;justify-content:center}.method-icon img{width:100%;height:100%;object-fit:contain;object-position:center}.method-label{font-weight:700;color:var(--text-color);font-size:.9375rem;line-height:1.3;text-align:center}.phone-method-grid{justify-items:center}.phone-conn-btn{background:transparent;border:none;padding:0;margin:0;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:0}.phone-conn-btn-icon{display:inline-flex;align-items:center;justify-content:center;margin:0;padding:0}.phone-conn-btn-icon img{width:120px;height:120px;object-fit:contain}.depuracion-wireless{background:var(--card-bg);padding:1.25rem;border-radius:14px;border:1px solid var(--card-border);margin-top:1rem}.wireless-submethods{display:flex;gap:1rem;margin-bottom:1.5rem;border-bottom:1px solid var(--card-border);padding-bottom:.5rem}.btn-submethod.active{opacity:1;border-bottom-color:var(--brand-primary);color:var(--brand-primary)}.wireless-manual-block{padding:1rem 0}.manual-inputs{display:flex;flex-direction:column;gap:1rem;max-width:320px;margin:0 auto 1.5rem}.manual-input-field{width:100%;padding:.75rem 1rem;min-height:44px;box-sizing:border-box;border-radius:10px;border:1px solid var(--card-border);background:var(--bg-color);color:var(--text-color);font-weight:600;font-size:.9375rem;text-align:center}.btn-vincular-manual{padding:.75rem 1rem;min-height:44px;box-sizing:border-box;background:var(--brand-primary);color:#fff;border:none;border-radius:10px;font-weight:700;font-size:.9375rem;cursor:pointer;transition:background .2s,box-shadow .2s;box-shadow:0 3px 10px #4f49f04d}.qr-actions{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1rem}.btn-primary-qr{padding:.75rem 1.25rem;min-height:44px;box-sizing:border-box;border-radius:12px;font-size:.9375rem;font-weight:700;background:var(--brand-primary);border:none;color:#fff;cursor:pointer;transition:background .2s,box-shadow .2s;box-shadow:0 4px 12px #4f49f059}.btn-primary-qr:hover:not(:disabled){background:#433ce8;box-shadow:0 6px 16px #4f49f066}.btn-primary-qr:disabled{background:#94a3b8;cursor:not-allowed;box-shadow:none}.qr-wrapper{margin-top:1rem;padding:1.25rem;background:#fff;border:2px dashed var(--card-border);border-radius:12px;display:flex;flex-direction:column;align-items:center;gap:.875rem;max-width:100%}.qr-instructions{margin:0;font-size:.9rem;color:#4e4af2;text-align:center;line-height:1.4}.qr-status{margin:1rem 0;font-weight:600;text-align:center}.qr-status-waiting{color:#4e5a7b}.qr-status-success{color:#059669}.qr-status-error{color:var(--brand-danger)}.qr-connecting{display:flex;align-items:center;justify-content:center;gap:.6rem;margin:1rem 0}.qr-spinner{width:16px;height:16px;border:2px solid rgba(79,73,240,.25);border-top-color:var(--brand-primary);border-radius:50%;animation:qr-spin .9s linear infinite}@keyframes qr-spin{to{transform:rotate(360deg)}}.btn-emparejar-codigo{margin-top:.5rem;padding:.6rem 1rem;font-size:.9rem;background:transparent;border:1px solid var(--card-border);color:var(--text-color);border-radius:8px;cursor:pointer;font-weight:600;transition:all .2s}.btn-emparejar-codigo:hover:not(:disabled){background:var(--btn-secondary)}.depuracion-apk{margin-top:2rem;margin-bottom:2rem}.apk-row{display:flex;gap:.75rem}.apk-row input,.apk-row select{flex:1;padding:.75rem 1rem;background:var(--card-bg);border:1px solid var(--card-border);border-radius:10px;color:var(--text-color);font-weight:500}.btn-secondary{padding:.75rem 1.25rem;background:var(--btn-secondary);border:1px solid var(--card-border);color:var(--btn-secondary-text);font-weight:700;border-radius:10px;cursor:pointer}.btn-ejecutar{width:100%;padding:1rem 1.25rem;min-height:52px;box-sizing:border-box;background:var(--brand-primary);border:none;border-radius:12px;color:#fff;font-size:1.125rem;font-weight:700;cursor:pointer;transition:all .2s;box-shadow:0 5px 15px #4f49f066}.btn-ejecutar:hover:not(:disabled){background:#433ce8;box-shadow:0 6px 20px #4f49f073}.btn-ejecutar:disabled{background:#94a3b8;cursor:not-allowed;box-shadow:none}.auto-install-indicator{width:100%;padding:1.25rem;display:flex;flex-direction:column;align-items:center;gap:1rem;background:#4f49f014;border:2px solid var(--brand-primary);border-radius:12px;color:var(--brand-primary)}.auto-install-indicator .spinner{width:40px;height:40px;border:4px solid rgba(79,73,240,.2);border-top-color:var(--brand-primary);border-radius:50%;animation:spin 1s linear infinite}.auto-install-indicator p{margin:0;font-size:1.1rem;font-weight:600;color:var(--brand-primary)}.swal-progress .swal-ok{color:#16a34a;font-weight:700;margin-right:.35em}.progress-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:9999;animation:progress-overlay-in .2s ease}@keyframes progress-overlay-in{0%{opacity:0}to{opacity:1}}.progress-modal{background:var(--card-bg, #fff);border-radius:16px;padding:clamp(1.5rem,5vw,2rem) clamp(1.75rem,5vw,2.5rem);min-width:260px;max-width:min(90vw,340px);text-align:center;box-shadow:0 25px 50px -12px #00000040}.progress-circle-wrap{position:relative;width:100px;height:100px;margin:0 auto 1.25rem;flex-shrink:0}.progress-circle-svg{width:100%;height:100%;transform:rotate(-90deg)}.progress-circle-bg{fill:none;stroke:#e2e8f0;stroke-width:8}.progress-circle-fill{fill:none;stroke:var(--brand-primary);stroke-width:8;stroke-linecap:round;transition:stroke-dashoffset .35s ease}.progress-circle-text{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:1.25rem;font-weight:800;color:var(--text-color, #1e3a5f)}.progress-message{margin:0 0 .625rem;font-size:.9375rem;font-weight:600;color:var(--text-color, #4e5a7b);line-height:1.4}.progress-error-text{margin:0 0 1rem;font-size:.95rem;color:var(--brand-danger);font-weight:600}.progress-success-text{margin:0;font-size:1.1rem;font-weight:700;color:#16a34a}.progress-close-btn{padding:.6rem 1.5rem;background:var(--brand-primary);color:#fff;border:none;border-radius:10px;font-weight:700;cursor:pointer;transition:background .2s,box-shadow .2s;box-shadow:0 3px 10px #4f49f04d}.progress-close-btn:hover{background:#433ce8}@media (max-width: 480px){.depuracion-header{padding:.75rem 1rem;min-height:64px}.depuracion-logo{width:36px;height:35px}.depuracion-header h1{font-size:1.1rem}.depuracion-subtitle{font-size:.75rem}.depuracion-header-actions .btn-refrescar img,.depuracion-header-actions .btn-salir img{height:26px;max-width:80px}.method-grid{grid-template-columns:1fr;gap:.75rem}.method-card{min-height:140px;padding:1rem}.method-icon{width:64px;height:64px;margin-bottom:.5rem}.depuracion-main{padding:1rem}}.tv-page{transition:all .3s ease}.tv-page.selector-page .selector-container{justify-content:flex-start;padding-top:24px;padding-bottom:32px}.depuracion-main{width:100%;max-width:980px;margin:0 auto;padding:24px 0 32px;box-sizing:border-box;display:flex;flex-direction:column;gap:20px}.tv-card{width:100%;max-width:520px;margin:0 auto;background-color:#4e4af2;border-radius:24px;padding:28px 24px 52px;box-shadow:0 18px 40px #00000047;color:#fff;position:relative}.tv-card .selector-title{color:#fff;font-size:26px;margin-bottom:2px}.tv-card .selector-subtitle{color:#e0e7ff;font-size:14px;margin-bottom:18px}.tv-card .depuracion-method{margin-top:0;margin-bottom:0;padding-top:0}.tv-card .depuracion-method h2,.tv-card .depuracion-apk h2{font-size:16px;margin-bottom:6px}.tv-card .method-label{font-size:.95rem}.tv-card .ip-input{max-width:260px;font-size:.95rem}.tv-card .btn-vincular-usb{font-size:.9rem}.tv-card .btn-tv-ejecutar{position:absolute;left:50%;bottom:0;transform:translate(-50%,50%);width:auto;min-width:170px;padding:8px 22px;border-radius:999px;font-size:.95rem;background-color:#ffd54a;color:#4e4af2;border:2px solid transparent;box-shadow:0 6px 14px #00000040;transition:background-color .2s,color .2s,box-shadow .2s,border-color .2s}.tv-card .btn-tv-ejecutar:hover:not(:disabled){background-color:#4e4af2;color:#fff;border-color:#ffd54a;box-shadow:0 6px 14px #4e4af273}.tv-card .method-icon{width:64px;height:64px;margin-bottom:.75rem}.tv-card .method-icon img{width:100%;height:100%;object-fit:contain}.tv-card .method-card.active{border-color:#ffd54a;box-shadow:0 0 0 2px #ffd54a99}.tv-topbar-btn{border:none;outline:none;cursor:pointer;padding:8px 14px;border-radius:999px;font-size:.85rem;font-weight:700;font-family:Montserrat,system-ui,sans-serif;display:inline-flex;align-items:center;gap:6px;text-decoration:none;white-space:nowrap}.tv-topbar-btn--refresh{background-color:#ffd54a;color:#4e4af2}.tv-topbar-btn--back{background-color:#fff;color:#4e4af2}.method-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem;margin-top:.25rem;margin-bottom:0}.tv-card .method-grid{margin-top:1rem;margin-bottom:1rem;max-width:280px;margin-left:auto;margin-right:auto;gap:1.5rem}.tv-method-grid{justify-items:center}.method-card{display:flex;flex-direction:column;align-items:center;padding:2rem 1.5rem;background:var(--card-bg);border:2px solid var(--card-border);border-radius:16px;cursor:pointer;transition:all .25s ease;box-shadow:0 4px 6px -1px #0000001a}.method-card:hover{transform:translateY(-4px);box-shadow:0 10px 15px -3px #0000001a;border-color:#3b82f6}.method-card.active{border-color:#2563eb;background-color:var(--btn-secondary);box-shadow:0 0 0 2px #2563eb1a}.method-icon{font-size:3rem;margin-bottom:.75rem}.method-label{font-weight:700;color:var(--text-color);font-size:1.1rem}.tv-conn-btn{background:transparent;border:none;padding:0;margin:0;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:0}.tv-conn-btn-icon{display:inline-flex;align-items:center;justify-content:center;margin:0;padding:0;border:2px solid transparent;border-radius:999px}.tv-conn-btn-icon img{width:120px;height:120px;object-fit:contain}.tv-wireless-actions,.tv-ip-action,.depuracion-wireless{margin-top:1.5rem;padding:2rem;background:var(--card-bg);border:1px solid var(--card-border);border-radius:16px;text-align:center}.tv-card .depuracion-wireless{background:#fff;color:#4e4af2;padding:1.25rem}.tv-card .depuracion-wireless .qr-instructions,.tv-card .depuracion-wireless .btn-submethod,.tv-card .depuracion-wireless .btn-submethod.active{color:#4e4af2}.tv-ip-action{margin-top:.35rem;padding:1rem 1.5rem}.tv-card .depuracion-wireless{margin-top:.35rem}.wireless-submethods{display:flex;gap:1rem;margin-bottom:.75rem;border-bottom:1px solid var(--card-border);padding-bottom:.5rem;justify-content:center}.btn-submethod{background:transparent;border:none;border-bottom:3px solid transparent;padding:.5rem 1rem;font-weight:700;color:var(--text-color);opacity:.6;cursor:pointer;transition:all .2s}.btn-submethod.active{opacity:1;border-bottom-color:#4e4af2;color:#4e4af2}.wireless-manual-block{padding:0}.wireless-manual-block .step-label{display:block;font-size:.9rem;font-weight:600;color:#fffffff2;margin-bottom:.5rem}.manual-inputs{display:flex;flex-direction:column;gap:.75rem;max-width:320px;margin:0 auto 1rem}.manual-input-field{width:100%;padding:.8rem 1rem;border-radius:10px;border:1px solid var(--card-border);background:var(--bg-color);color:var(--text-color);font-weight:600;font-size:1rem;text-align:center}.btn-vincular-manual{padding:.8rem;background:#4e4af2;color:#fff;border:none;border-radius:10px;font-weight:700;cursor:pointer;transition:background .2s}.btn-vincular-manual:hover{background:#433ce8}.qr-instructions{margin:0;font-size:.85rem;color:var(--text-color);opacity:.8;text-align:center;line-height:1.4}.tv-ip-action .ip-input{margin-bottom:.9rem}.depuracion-device-select{margin-bottom:1.5rem}.depuracion-device-select h2{color:var(--text-color);font-weight:700;margin-bottom:.5rem;font-size:1.25rem}.depuracion-device-select .device-select{width:100%;padding:.75rem;font-size:1rem;border:1px solid var(--card-border);border-radius:10px;background:var(--card-bg);color:var(--text-color);margin-top:.5rem}.apk-loading-env{display:flex;align-items:center;gap:.75rem;margin-top:.75rem;padding:.75rem;color:var(--text-color);font-weight:600}.apk-loading-env .spinner{width:24px;height:24px;border:3px solid rgba(79,73,240,.2);border-top-color:var(--brand-primary);border-radius:50%;animation:spin 1s linear infinite;flex-shrink:0}.apk-loading-env p{margin:0;font-size:1rem}@keyframes spin{to{transform:rotate(360deg)}}.ip-input{width:100%;max-width:300px;padding:.75rem 1rem;border-radius:8px;border:1px solid var(--card-border);background:var(--card-bg);font-size:1.1rem;text-align:center;font-weight:600;color:var(--text-color);margin-bottom:.5rem}.ip-hint{font-size:.85rem;color:var(--text-color);opacity:.7;margin:0}.btn-vincular-usb{padding:.8rem 1rem;background:#4e4af2;color:#fff;border:none;border-radius:10px;font-weight:700;cursor:pointer;transition:background .2s;margin-bottom:.4rem}.btn-vincular-usb:hover:not(:disabled){background:#433ce8}.status-success{color:#047857;font-weight:700;margin-top:1rem;font-size:1rem;background:#0596691a;padding:.5rem 1rem;border-radius:8px;display:inline-block}.depuracion-apk h2,.depuracion-method h2{color:var(--text-color);font-weight:700;margin-bottom:1rem}.apk-row input[type=text],.apk-row select{background:var(--card-bg);color:var(--text-color);border:1px solid var(--card-border);font-weight:500;padding:.75rem 1rem;border-radius:8px}.tv-card,.tv-card .selector-title,.tv-card .selector-subtitle,.tv-card .depuracion-method h2,.tv-card .depuracion-apk h2,.tv-card .ip-hint,.tv-card .qr-instructions{color:#fff}.tv-card .ip-input,.tv-card .manual-input-field,.tv-card .apk-row input[type=text],.tv-card .apk-row select{color:#4e4af2}.tv-card .ip-input::placeholder,.tv-card .manual-input-field::placeholder{color:#4e4af2;opacity:.7}.btn-tv-ejecutar{margin-top:2.5rem;padding:1.25rem;font-size:1.25rem;background-color:#ffd54a;color:#4e4af2;border:2px solid transparent;border-radius:12px;font-weight:700;cursor:pointer;width:100%;transition:background-color .2s,color .2s,box-shadow .2s,border-color .2s;box-shadow:0 4px 6px -1px #0003}.btn-tv-ejecutar:hover:not(:disabled){background-color:#4e4af2;color:#fff;border-color:#ffd54a;box-shadow:0 6px 10px -1px #4e4af266}.swal-progress{font-size:1.1rem;font-weight:600;color:var(--brand-primary);margin:1rem 0}@media (max-width: 720px){.depuracion-main{padding:20px 0 28px;gap:16px}.depuracion-header-actions{justify-content:center;flex-wrap:wrap}.method-grid{grid-template-columns:1fr}.tv-wireless-actions,.tv-ip-action,.depuracion-wireless{padding:1.2rem 1rem}}*{box-sizing:border-box}:root{--brand-primary: #4f49f0;--brand-accent: #ffd566;--brand-danger: #ff6755;--bg-color: #f5f4fc;--text-color: #1e3a5f;--card-bg: #ffffff;--card-border: rgba(79, 73, 240, .2);--header-grad: linear-gradient(135deg, #3d36d4 0%, #4f49f0 50%, #6b65f5 100%);--btn-secondary: #f1f0fc;--btn-secondary-text: #1e3a5f;--muted-text: #4e5a7b;--hover-bg: rgba(79, 73, 240, .08);--modal-overlay: rgba(0, 0, 0, .55);--danger-bg: #ffebe8;--danger-border: #ff6755;--danger-text: #c24130;--page-grid-h: linear-gradient(rgba(255, 255, 255, .06) 1px, transparent 1px);--page-grid-v: linear-gradient(90deg, rgba(255, 255, 255, .06) 1px, transparent 1px);--page-grid-size: 24px 24px;--page-bg: radial-gradient(900px 520px at 20% 75%, rgba(79, 73, 240, .2) 0%, transparent 55%), radial-gradient(900px 520px at 75% 25%, rgba(79, 73, 240, .35) 0%, transparent 55%), radial-gradient(1200px 700px at 70% 85%, rgba(50, 45, 180, .4) 0%, transparent 60%), linear-gradient(135deg, #4f49f0 0%, #3d36d4 50%, #2a2480 100%);--card-shadow: 0 20px 60px rgba(0, 0, 0, .35);--card-radius: 28px;--titlebar-height: 32px}[data-theme=dark]{--bg-color: #16142a;--text-color: #f1f5f9;--card-bg: #1e1b33;--card-border: rgba(79, 73, 240, .35);--header-grad: linear-gradient(135deg, #2d2880 0%, #4f49f0 100%);--page-bg: radial-gradient(900px 520px at 20% 75%, rgba(79, 73, 240, .25) 0%, transparent 55%), radial-gradient(900px 520px at 75% 25%, rgba(50, 45, 180, .4) 0%, transparent 55%), radial-gradient(1200px 700px at 70% 85%, rgba(30, 25, 120, .5) 0%, transparent 60%), linear-gradient(135deg, #1a1744 0%, #0f0d28 100%);--btn-secondary: #2a2744;--btn-secondary-text: #f1f5f9;--muted-text: #94a3b8;--hover-bg: rgba(79, 73, 240, .12);--modal-overlay: rgba(0, 0, 0, .6);--danger-bg: #3d1f1c;--danger-border: #ff6755;--danger-text: #ffa99e}html,body{height:100%;margin:0}html.landing-active,body.landing-active,html.login-active,body.login-active{overflow:hidden;height:100%}body{font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background-image:var(--page-grid-h),var(--page-grid-v),var(--page-bg);background-size:var(--page-grid-size),var(--page-grid-size),auto;background-repeat:repeat,repeat,no-repeat;background-position:0 0,0 0,0 0;color:var(--text-color);min-height:100vh;position:relative}.app-fondo-svg{position:fixed;inset:0;z-index:0;background-repeat:repeat;background-size:900px auto;background-position:0 0;pointer-events:none}body>#root{position:relative;z-index:1}#root{min-height:100vh;padding:clamp(24px,4vw,32px) clamp(12px,2vw,16px)}html.landing-active #root,body.landing-active #root,html.login-active #root,body.login-active #root,html.selector-active #root,body.selector-active #root{padding:0;height:100vh;min-height:100vh;max-height:100vh;overflow:hidden}html.selector-active,body.selector-active{overflow:hidden;height:100%}.app-content{min-height:100vh}.app-content--with-titlebar{padding-top:var(--titlebar-height, 32px)}.loading{display:grid;place-items:center;min-height:100vh;font-size:1rem;font-weight:600;color:#fff}input,button{font:inherit}button{cursor:pointer}a{color:var(--brand-primary)}.swal2-icon.swal2-error{border-color:var(--brand-danger)!important}.swal2-icon.swal2-error [class^=swal2-x-mark-line],.swal2-popup.swal2-error .swal2-confirm{background-color:var(--brand-danger)!important}.swal2-icon.swal2-warning{border-color:var(--brand-accent)!important;color:var(--brand-accent)!important}.swal2-popup.swal2-warning .swal2-confirm{background-color:var(--brand-accent)!important;color:var(--brand-primary)!important}.swal2-loader{border-color:#4f49f033!important;border-left-color:var(--brand-primary)!important}.swal2-popup.swal2-success .swal2-confirm{background-color:var(--brand-primary)!important}
