
:root{
  --bg:#07111f; --panel:#0d1b2b; --panel2:#102438; --text:#eef6ff; --muted:#8fa8bf;
  --accent:#2de2e6; --accent2:#7a5cff; --border:rgba(255,255,255,.09); --ok:#5be38d;
  --shadow:0 16px 40px rgba(0,0,0,.25);
}
html[data-theme="claro-profesional"]{
  --bg:#f2f5f8; --panel:#ffffff; --panel2:#eaf0f5; --text:#17212b; --muted:#667786;
  --accent:#0b73ce; --accent2:#3858e9; --border:#d9e1e8; --ok:#1b9a55; --shadow:0 12px 30px rgba(24,45,68,.10);
}
html[data-theme="azul-institucional"]{
  --bg:#061a33; --panel:#0b2a4a; --panel2:#0d365f; --text:#f2f8ff; --muted:#a7bfd6;
  --accent:#49a8ff; --accent2:#7fd3ff; --border:rgba(255,255,255,.12); --ok:#66e2ad;
}
html[data-theme="gris-tecnico"]{
  --bg:#17191d; --panel:#23262b; --panel2:#2c3036; --text:#f1f1f1; --muted:#a9adb4;
  --accent:#b8c0ca; --accent2:#7e8a98; --border:rgba(255,255,255,.10); --ok:#83d69c;
}
html[data-theme="alto-contraste"]{
  --bg:#000; --panel:#050505; --panel2:#0b0b0b; --text:#fff; --muted:#fff;
  --accent:#ffea00; --accent2:#00ffff; --border:#fff; --ok:#00ff6a; --shadow:none;
}
*{box-sizing:border-box}
body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;background:var(--bg);color:var(--text)}
button,input{font:inherit}
.app-shell{display:grid;grid-template-columns:260px 1fr;min-height:100vh}
.sidebar{padding:22px;background:color-mix(in srgb,var(--panel) 92%,transparent);border-right:1px solid var(--border);display:flex;flex-direction:column;gap:26px}
.brand{display:flex;gap:12px;align-items:center}.brand small,.user small{display:block;color:var(--muted);margin-top:3px}
.logo{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;font-weight:900;background:linear-gradient(135deg,var(--accent),var(--accent2));color:#001018;box-shadow:var(--shadow)}
nav{display:grid;gap:8px}.nav{border:0;background:transparent;color:var(--muted);text-align:left;padding:13px 14px;border-radius:12px;cursor:pointer}
.nav:hover,.nav.active{background:var(--panel2);color:var(--text)}
.status-card{margin-top:auto;background:var(--panel2);border:1px solid var(--border);padding:14px;border-radius:14px;display:flex;gap:10px;align-items:flex-start}.status-card small{display:block;color:var(--muted);margin-top:4px}.dot{width:10px;height:10px;background:var(--ok);border-radius:50%;margin-top:5px;box-shadow:0 0 0 5px color-mix(in srgb,var(--ok) 15%,transparent)}
main{padding:0 28px 35px}.topbar{height:92px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border);margin-bottom:24px}.topbar h1{margin:0;font-size:24px}.topbar p{margin:5px 0 0;color:var(--muted)}
.user{display:flex;align-items:center;gap:10px}.avatar{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:var(--panel2);border:1px solid var(--border);font-weight:800}
.section{display:none}.section.active{display:block}.card{background:var(--panel);border:1px solid var(--border);border-radius:20px;padding:22px;box-shadow:var(--shadow)}
.hero{display:grid;grid-template-columns:1.5fr .7fr;min-height:285px;align-items:center;overflow:hidden}.hero h2{font-size:42px;line-height:1.05;margin:10px 0}.hero p{max-width:650px;color:var(--muted);font-size:17px}.eyebrow{font-size:12px;letter-spacing:.18em;color:var(--accent);font-weight:800}
.hero-actions{display:flex;gap:10px;margin-top:22px}.primary,.secondary,.quick-grid button,.mode-card button{border:1px solid var(--border);border-radius:12px;padding:11px 16px;cursor:pointer}
.primary{background:linear-gradient(135deg,var(--accent),var(--accent2));color:#041017;border:0;font-weight:800}.secondary,.quick-grid button,.mode-card button{background:var(--panel2);color:var(--text)}
.small{padding:9px 12px}.orb{justify-self:center;width:185px;height:185px;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle at 35% 30%,var(--accent),var(--accent2) 45%,var(--bg) 78%);box-shadow:0 0 80px color-mix(in srgb,var(--accent) 34%,transparent)}.orb span{font-weight:900;letter-spacing:.12em}
.grid{display:grid;gap:16px;margin-top:16px}.stats{grid-template-columns:repeat(4,1fr)}.two{grid-template-columns:repeat(2,1fr)}.three{grid-template-columns:repeat(3,1fr)}
.stat small,.stat span{display:block;color:var(--muted)}.stat strong{font-size:30px;display:block;margin:7px 0}.card-head{display:flex;align-items:center;justify-content:space-between;gap:15px}.card-head h3{margin:0}.card-head p{margin:5px 0;color:var(--muted)}
.quick-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:18px}.system-list p{display:flex;justify-content:space-between;border-bottom:1px solid var(--border);padding:10px 0;margin:0}.system-list b,.ok{color:var(--ok)}
.devices{display:grid;gap:10px;margin-top:18px}.device{display:grid;grid-template-columns:1fr auto auto;gap:16px;align-items:center;padding:14px;background:var(--panel2);border:1px solid var(--border);border-radius:14px}.device small{display:block;color:var(--muted);margin-top:3px}.badge{font-size:12px;padding:6px 9px;border-radius:999px;background:color-mix(in srgb,var(--accent) 14%,transparent);color:var(--accent)}
.switch{position:relative;width:48px;height:26px}.switch input{display:none}.slider{position:absolute;inset:0;background:#59636d;border-radius:999px;cursor:pointer}.slider:after{content:"";position:absolute;width:20px;height:20px;left:3px;top:3px;background:white;border-radius:50%;transition:.2s}.switch input:checked + .slider{background:var(--accent)}.switch input:checked + .slider:after{transform:translateX(22px)}
.mode-card span{font-size:32px}.mode-card p,.muted{color:var(--muted)}.mode-card button{width:100%;margin-top:10px}.vision-box{display:grid;grid-template-columns:1fr;gap:22px;align-items:center;margin-top:18px}.camera-placeholder{height:140px;border-radius:16px;border:1px dashed var(--accent);display:grid;place-items:center;background:var(--panel2);color:var(--accent);font-weight:900;letter-spacing:.18em}
.themes{display:grid;gap:10px;margin:18px 0}.themes label{display:flex;align-items:center;gap:10px;padding:10px;border-radius:10px;background:var(--panel2);cursor:pointer}.swatch{width:22px;height:22px;border-radius:7px;border:1px solid var(--border)}.tech{background:#07111f}.light{background:#fff}.blue{background:#0b2a4a}.gray{background:#2c3036}.contrast{background:linear-gradient(135deg,#000 50%,#ffea00 50%)}
.setting-row{display:flex;justify-content:space-between;align-items:center;padding:14px 0;border-bottom:1px solid var(--border)}.setting-row small{display:block;color:var(--muted);margin-top:3px}.message{min-height:24px;margin-top:10px;color:var(--ok)}
table{width:100%;border-collapse:collapse;margin-top:15px}th,td{text-align:left;border-bottom:1px solid var(--border);padding:12px}th{color:var(--muted);font-size:12px;text-transform:uppercase}
@media(max-width:900px){.app-shell{grid-template-columns:1fr}.sidebar{position:sticky;top:0;z-index:9;display:block;padding:12px}.brand{margin-bottom:10px}.sidebar nav{display:flex;overflow:auto}.status-card{display:none}main{padding:0 14px 25px}.topbar{height:76px}.hero{grid-template-columns:1fr}.orb{display:none}.hero h2{font-size:34px}.stats,.two,.three{grid-template-columns:1fr 1fr}.vision-box{grid-template-columns:1fr}}
@media(max-width:580px){.stats,.two,.three{grid-template-columns:1fr}.user div:not(.avatar){display:none}.hero-actions{flex-direction:column}.device{grid-template-columns:1fr auto}.device .badge{display:none}}
.link-btn{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;background:var(--panel2);color:var(--text);border:1px solid var(--border);border-radius:10px;padding:9px 12px}.small-link{font-size:12px;padding:6px 9px}.device-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.caps{font-size:11px;text-transform:uppercase;letter-spacing:.04em}.health-box{margin-top:18px;padding:16px;border-radius:14px;background:var(--panel2);border:1px solid var(--border);white-space:pre-wrap;overflow:auto;color:var(--text)}.error{color:#ff7474}.table-wrap{overflow:auto}


/* ===== POLUX HOME V3.3 · Desktop + Mobile · Apartamentos + Cámaras + Vision ===== */
:root{
  --polux-cyan:#2de2e6;
  --polux-violet:#7a5cff;
  --polux-deep:#07111f;
}
.logo{
  position:relative;
  overflow:hidden;
  color:#03111a;
  background:
    radial-gradient(circle at 30% 25%,#55efff 0 12%,transparent 34%),
    linear-gradient(135deg,var(--polux-cyan),var(--polux-violet));
  box-shadow:0 10px 28px rgba(75,92,255,.25),0 0 26px rgba(45,226,230,.18);
}
.brand strong{font-size:16px;letter-spacing:-.01em}
.vision-nav{color:#a9ecff}
.vision-nav.active{box-shadow:inset 3px 0 0 var(--accent)}
.context-chip{display:inline-flex;align-items:center;gap:6px;margin-top:4px;padding:7px 10px;border-radius:999px;background:color-mix(in srgb,var(--accent) 10%,transparent);border:1px solid color-mix(in srgb,var(--accent) 24%,transparent);font-size:12px;color:var(--muted)}
.context-chip strong{color:var(--text)}
.apartments-grid{display:grid;gap:10px;margin-top:18px}
.apartment-card{width:100%;display:grid;grid-template-columns:46px 1fr auto;gap:12px;align-items:center;text-align:left;padding:14px;border:1px solid var(--border);border-radius:16px;background:var(--panel2);color:var(--text);cursor:pointer;transition:.18s ease}
.apartment-card:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--accent) 50%,var(--border))}
.apartment-card.active{border-color:var(--accent);box-shadow:0 0 0 1px color-mix(in srgb,var(--accent) 30%,transparent),0 12px 30px rgba(0,0,0,.12)}
.apt-icon{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 70%,transparent),color-mix(in srgb,var(--accent2) 70%,transparent));font-weight:900}
.apt-copy{display:grid;gap:3px}.apt-copy small{color:var(--muted)}.apt-state{font-size:11px;font-weight:800;color:var(--accent);text-transform:uppercase;letter-spacing:.06em}
.apartment-summary h2{font-size:32px;margin:10px 0 4px}
.mini-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:20px 0}
.mini-stats>div{padding:14px;border-radius:14px;background:var(--panel2);border:1px solid var(--border)}
.mini-stats strong{display:block;font-size:24px}.mini-stats span{display:block;color:var(--muted);font-size:12px;margin-top:3px}
.mini-badge{display:inline-flex;margin-top:7px;padding:4px 7px;border-radius:999px;font-size:10px;font-weight:800;background:color-mix(in srgb,var(--accent) 12%,transparent);color:var(--accent)}
.mini-badge.global{color:var(--muted);background:color-mix(in srgb,var(--muted) 10%,transparent)}
.camera-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:18px}
.camera-card{overflow:hidden;border:1px solid var(--border);border-radius:18px;background:var(--panel2)}
.camera-preview{min-height:150px;display:grid;place-items:center;align-content:center;gap:6px;background:radial-gradient(circle at 45% 30%,rgba(45,226,230,.18),transparent 32%),linear-gradient(145deg,#091827,#101d31);border-bottom:1px solid var(--border)}
.camera-preview>span{font-size:34px;color:var(--accent)}.camera-preview small{color:var(--muted)}
.camera-copy{padding:16px}.camera-copy>small{display:block;color:var(--muted);margin-top:4px}.camera-copy p{color:var(--muted);font-size:13px;line-height:1.45}
.camera-actions,.vision-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.empty-state{min-height:220px;display:grid;place-items:center;align-content:center;text-align:center;color:var(--muted);gap:7px}.empty-state>span{font-size:36px;color:var(--accent)}.empty-state p{margin:0}
.vision-card{background:
  radial-gradient(circle at 85% 15%,rgba(122,92,255,.15),transparent 26%),
  radial-gradient(circle at 10% 80%,rgba(45,226,230,.10),transparent 30%),
  var(--panel)}
.vision-orb{height:180px;border-radius:24px;display:grid;place-items:center;align-content:center;gap:8px;background:radial-gradient(circle at 35% 25%,rgba(45,226,230,.95),rgba(122,92,255,.78) 46%,#09111e 80%);box-shadow:0 18px 55px rgba(69,90,255,.22);border:1px solid rgba(255,255,255,.10)}
.vision-orb span{font-size:25px;font-weight:950;letter-spacing:.14em}.vision-orb small{font-size:11px;color:#d8f7ff}
.vision-actions{margin-top:16px}.link-primary{text-decoration:none;display:inline-flex;align-items:center;justify-content:center}
.vision-stats .card{box-shadow:none;background:color-mix(in srgb,var(--panel2) 88%,transparent)}
.badge.ok{color:var(--ok);background:color-mix(in srgb,var(--ok) 12%,transparent)}
.mobile-bottom-nav{display:none}
code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--accent)}

@media(max-width:900px){
  body{padding-bottom:74px}
  .sidebar{position:sticky;top:0;z-index:20;background:color-mix(in srgb,var(--bg) 92%,transparent);backdrop-filter:blur(14px)}
  .sidebar nav{scrollbar-width:none}.sidebar nav::-webkit-scrollbar{display:none}
  .nav{white-space:nowrap;flex:0 0 auto}
  .mobile-bottom-nav{
    position:fixed;z-index:40;display:grid;grid-template-columns:repeat(5,1fr);
    left:10px;right:10px;bottom:10px;padding:7px;border-radius:20px;
    background:color-mix(in srgb,var(--panel) 92%,transparent);
    border:1px solid var(--border);backdrop-filter:blur(18px);
    box-shadow:0 16px 40px rgba(0,0,0,.36)
  }
  .mobile-nav{border:0;background:transparent;color:var(--muted);border-radius:13px;padding:8px 4px;display:grid;gap:3px;place-items:center;font-size:18px}
  .mobile-nav span{font-size:10px;font-weight:800}
  .mobile-nav.active{background:var(--panel2);color:var(--text)}
  .vision-mobile.active{color:var(--accent)}
  .camera-grid{grid-template-columns:1fr}
}
@media(max-width:580px){
  main{padding-left:11px;padding-right:11px}
  .topbar{margin-bottom:14px}.topbar p{font-size:12px}
  .hero{padding:18px;min-height:auto}.hero h2{font-size:31px}.hero p{font-size:15px}
  .context-chip{width:100%;justify-content:center}
  .mini-stats{grid-template-columns:1fr 1fr 1fr}.mini-stats>div{padding:10px}.mini-stats strong{font-size:20px}
  .apartment-card{grid-template-columns:40px 1fr}.apt-state{grid-column:2}
  .vision-actions>*{width:100%}
  .camera-actions .link-btn,.camera-actions button{flex:1}
  .mobile-bottom-nav{left:6px;right:6px;bottom:6px}
}

/* ===== POLUX HOME V3.4 · PWA / PERFIL / NEGOCIOS / ORBE ===== */
.avatar-button{padding:0;overflow:hidden;cursor:pointer}.avatar-button img,.profile-photo-preview img{width:100%;height:100%;object-fit:cover;border-radius:inherit}.profile-photo-card{margin-top:16px}.profile-photo-row{display:flex;align-items:center;gap:18px}.profile-photo-preview{width:86px;height:86px;border-radius:24px;display:grid;place-items:center;overflow:hidden;background:linear-gradient(135deg,var(--accent),var(--accent2));font-weight:950;font-size:30px;color:#06111d;flex:0 0 auto}.button-row{display:flex;gap:8px;flex-wrap:wrap;margin-top:9px}.business-hero{display:flex;justify-content:space-between;align-items:center;gap:20px;background:radial-gradient(circle at 88% 18%,rgba(122,92,255,.20),transparent 25%),radial-gradient(circle at 10% 90%,rgba(45,226,230,.10),transparent 30%),var(--panel)}.business-hero h2{font-size:34px;margin:8px 0}.business-brand-orb{width:110px;height:110px;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle at 31% 27%,#62f6ff 0 8%,#2ddbe9 19%,#6a63ff 52%,#121a45 79%,#07111f 100%);box-shadow:0 0 35px rgba(45,226,230,.25),0 20px 45px rgba(80,60,255,.28);font-size:34px;font-weight:950}.business-stats{margin:16px 0}.quote-layout{display:grid;grid-template-columns:minmax(280px,.58fr) minmax(560px,1.42fr);gap:15px}.quote-list{display:grid;gap:9px}.quote-list-item{width:100%;text-align:left;padding:12px;border-radius:14px;border:1px solid var(--border);background:var(--panel2);color:var(--text);display:grid;gap:4px}.quote-list-item.active{border-color:var(--accent);box-shadow:0 0 0 1px color-mix(in srgb,var(--accent) 30%,transparent)}.quote-list-item small{color:var(--muted)}.quote-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;padding-bottom:12px;border-bottom:1px solid var(--border)}.quote-actions{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}.quote-items-wrap{overflow-x:auto;margin-top:16px}.quote-table{width:100%;min-width:800px;border-collapse:collapse}.quote-table th{padding:9px;background:linear-gradient(90deg,#12324b,#174b68);color:#dffcff;text-align:left;font-size:12px}.quote-table td{border-bottom:1px solid var(--border);padding:6px}.quote-table input,.quote-table textarea{width:100%;min-width:70px}.quote-table textarea{min-width:260px;resize:vertical}.quote-line-total{font-weight:900;color:var(--accent);white-space:nowrap}.quote-financial-grid{display:grid;grid-template-columns:1fr 340px;gap:16px;margin-top:16px}.quote-options{display:grid;grid-template-columns:repeat(2,1fr);gap:9px}.quote-totals{margin:0;padding:12px;border:1px solid var(--border);border-radius:14px;background:var(--panel2)}.quote-totals div{display:flex;justify-content:space-between;padding:7px}.quote-totals dd{margin:0;font-weight:900}.quote-totals .grand{border-top:1px solid var(--accent);border-bottom:1px solid var(--accent);font-size:18px;color:var(--text)}.quote-terms{margin-top:14px}.billing-panel{margin-top:18px;border-top:1px solid var(--border);padding-top:16px}.billing-row{display:grid;grid-template-columns:1fr auto;gap:10px;padding:11px;border:1px solid var(--border);border-radius:12px;margin-top:8px;background:var(--panel2)}.billing-row small{color:var(--muted)}.mobile-secondary-nav{display:none}.polux-navigator-orb{position:fixed;z-index:35;right:34px;top:112px;width:86px;height:86px;border-radius:50%;display:grid;place-items:center;pointer-events:none;transform:translate3d(0,var(--orb-y,0),0);transition:transform .68s cubic-bezier(.2,.85,.2,1),filter .35s ease;filter:drop-shadow(0 15px 26px rgba(45,226,230,.18)) drop-shadow(0 8px 20px rgba(122,92,255,.22));animation:poluxHover 3.6s ease-in-out infinite}.polux-navigator-orb::before{content:"";position:absolute;inset:8px;border-radius:50%;background:radial-gradient(circle at 31% 27%,#62f6ff 0 8%,#2ddbe9 19%,#6a63ff 52%,#121a45 79%,#07111f 100%);box-shadow:inset -10px -16px 26px rgba(1,8,22,.54),inset 9px 8px 20px rgba(255,255,255,.10),0 0 24px rgba(45,226,230,.23)}.polux-orb-core{position:relative;z-index:3;width:38px;height:38px;display:grid;place-items:center;border-radius:50%;background:rgba(5,16,31,.62);border:1px solid rgba(255,255,255,.18);color:#fff;font-size:18px;font-weight:950}.polux-navigator-orb small{position:absolute;z-index:4;left:50%;bottom:-15px;transform:translateX(-50%);color:var(--accent);font-size:9px;font-weight:950;letter-spacing:.18em}.polux-orb-ring{position:absolute;inset:1px;border-radius:50%;border:1px solid rgba(82,238,255,.30);z-index:2}.ring-a{animation:poluxRing 4.8s linear infinite}.ring-b{inset:-6px;border-color:rgba(122,92,255,.19);border-style:dashed;animation:poluxRingReverse 7s linear infinite}.polux-navigator-orb.travelling{filter:drop-shadow(0 0 28px rgba(45,226,230,.50)) drop-shadow(0 0 34px rgba(122,92,255,.40))}.polux-navigator-orb[data-section="inicio"]{--orb-y:0px}.polux-navigator-orb[data-section="apartamentos"]{--orb-y:64px}.polux-navigator-orb[data-section="dispositivos"]{--orb-y:128px}.polux-navigator-orb[data-section="modos"]{--orb-y:192px}.polux-navigator-orb[data-section="camaras"]{--orb-y:256px}.polux-navigator-orb[data-section="vision"]{--orb-y:320px}.polux-navigator-orb[data-section="negocios"]{--orb-y:384px}.polux-navigator-orb[data-section="ajustes"]{--orb-y:448px}.polux-navigator-orb[data-section="diagnostico"]{--orb-y:512px}@keyframes poluxHover{0%,100%{margin-top:0}50%{margin-top:-8px}}@keyframes poluxRing{to{transform:rotate(360deg)}}@keyframes poluxRingReverse{to{transform:rotate(-360deg)}}
@media(max-width:1100px){.quote-layout{grid-template-columns:1fr}.quote-financial-grid{grid-template-columns:1fr}}
@media(max-width:900px){body{padding-bottom:84px}.app-shell{display:block}.sidebar{display:none!important}main{padding:0 12px 24px}.topbar{height:auto;min-height:72px;padding:12px 2px;margin-bottom:8px;position:sticky;top:0;z-index:18;background:color-mix(in srgb,var(--bg) 92%,transparent);backdrop-filter:blur(16px)}.topbar h1{font-size:24px}.top-actions{gap:7px}.language-select{max-width:62px}.mobile-bottom-nav{grid-template-columns:repeat(6,1fr)}.mobile-secondary-nav{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:12px 0}.mobile-secondary-nav button{border:1px solid var(--border);background:var(--panel2);color:var(--muted);border-radius:12px;padding:10px 6px;font-size:11px}.polux-navigator-orb{top:auto;right:14px;bottom:94px;width:62px;height:62px;--orb-y:0px!important}.polux-navigator-orb small{display:none}.business-brand-orb{width:74px;height:74px}.business-hero h2{font-size:28px}}
@media(max-width:580px){.user>div{display:none}.topbar>div:first-child p{display:none}.mobile-nav{padding:7px 2px;font-size:16px}.mobile-nav span{font-size:8px}.quote-meta,.quote-terms,.quote-options{grid-template-columns:1fr!important}.quote-actions{display:grid;grid-template-columns:1fr 1fr;width:100%}.quote-head{display:grid}.profile-photo-row{align-items:flex-start}.business-hero{align-items:flex-start}.business-brand-orb{width:58px;height:58px;font-size:22px}.polux-navigator-orb{right:8px;bottom:82px;width:54px;height:54px}}
@media(prefers-reduced-motion:reduce){.polux-navigator-orb,.polux-orb-ring{animation:none!important;transition:none!important}}



/* ===== POLUX HOME V3.4.2 · LOGIN COMPACTO EN PANEL IZQUIERDO ===== */
body.login-mode .polux-navigator-orb{display:none}
#loginGate{min-height:100vh;padding:28px 24px 36px;background:
  radial-gradient(circle at 88% 12%,rgba(122,92,255,.12),transparent 20%),
  radial-gradient(circle at 12% 90%,rgba(45,226,230,.08),transparent 28%),
  var(--bg)}
.login-shell{
  width:min(1100px,100%);
  margin:0 auto;
  display:grid;
  grid-template-columns:320px minmax(0,560px);
  gap:28px;
  align-items:start;
  justify-content:center;
}
.login-brand{
  display:flex;align-items:center;gap:14px;
  padding:18px 18px 10px 18px;
}
.login-logo{
  width:52px;height:52px;border-radius:16px;display:grid;place-items:center;
  font-weight:950;font-size:22px;color:#06111d;
  background:linear-gradient(135deg,var(--accent),var(--accent2));
  box-shadow:var(--shadow)
}
.login-brand strong{display:block;font-size:28px;line-height:1.05}
.login-brand span{display:block;color:var(--muted);margin-top:4px;font-weight:600}
.login-copy{
  margin:0 18px;
  background:linear-gradient(180deg,color-mix(in srgb,var(--panel2) 94%,transparent),color-mix(in srgb,var(--panel) 96%,transparent));
  border:1px solid var(--border);
  border-left:4px solid var(--accent);
  border-radius:18px;
  padding:16px 18px;
  box-shadow:var(--shadow);
  position:relative;
}
.login-copy::after{
  content:"POLUX Vision";
  position:absolute;right:14px;top:14px;
  border:1px solid var(--border);
  background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 18%,var(--panel2)),color-mix(in srgb,var(--accent2) 16%,var(--panel2)));
  color:var(--text);
  border-radius:999px;
  padding:6px 10px;
  font-size:11px;
  font-weight:800;
  letter-spacing:.04em;
}
.login-copy .eyebrow{display:block;margin-bottom:8px}
.login-copy h1{
  margin:0;
  font-size:26px;
  line-height:1.08;
  max-width:280px;
}
.login-copy p{
  margin:8px 0 0;
  font-size:13px;
  line-height:1.45;
  color:var(--muted);
  max-width:270px;
}
.login-panel{
  margin-top:16px;
  padding:24px;
  background:linear-gradient(180deg,color-mix(in srgb,var(--panel) 96%,transparent),color-mix(in srgb,var(--panel2) 96%,transparent));
}
.login-lang-row{
  display:flex;align-items:center;gap:10px;justify-content:flex-end;
  margin-bottom:18px;
}
.login-lang-row label{color:var(--muted);font-weight:700}
.login-lang-row select{
  background:var(--panel2);color:var(--text);border:1px solid var(--border);
  border-radius:10px;padding:8px 10px
}
.form-stack{display:grid;gap:14px}
.form-stack label{display:grid;gap:6px}
.form-stack label span{font-size:13px;color:var(--muted);font-weight:700}
.form-stack input{
  width:100%;
  background:var(--panel2);color:var(--text);
  border:1px solid var(--border);border-radius:12px;
  padding:12px 13px;outline:none;
}
.form-stack input:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 18%,transparent)}
.form-stack button{justify-self:start}
.role-tabs{display:flex;gap:10px;margin-bottom:14px}
.role-tab{
  border:1px solid var(--border);background:var(--panel2);color:var(--muted);
  border-radius:12px;padding:10px 14px;cursor:pointer;font-weight:800
}
.role-tab.active{background:linear-gradient(135deg,var(--accent),var(--accent2));color:#041017;border-color:transparent}
.muted{color:var(--muted)}
.tiny{font-size:12px}
.message{margin-top:14px;font-size:13px}
.hidden{display:none !important}

@media(max-width:900px){
  #loginGate{padding:18px 12px 24px}
  .login-shell{grid-template-columns:1fr;gap:14px}
  .login-brand{padding:10px 8px 2px}
  .login-brand strong{font-size:24px}
  .login-copy{margin:0 8px;padding:14px 15px}
  .login-copy::after{position:static;display:inline-block;margin-bottom:10px}
  .login-copy h1{font-size:22px;max-width:none}
  .login-copy p{max-width:none}
  .login-panel{margin-top:0;padding:18px}
  .login-lang-row{justify-content:flex-start}
}


/* ===== POLUX HOME V3.4.3 · CONTROLES BAJO INICIO + ORBE RESTAURADO ===== */

/* Evita ver login y aplicación simultáneamente */
.app-locked{display:none !important}
#loginGate.hidden{display:none !important}

/* El orbe solo se oculta durante el login. Al entrar vuelve a quedar visible. */
body.login-mode .polux-navigator-orb{display:none !important}
body:not(.login-mode) .polux-navigator-orb{display:grid}

/* Controles superiores reubicados visual y funcionalmente debajo de Inicio */
.top-actions{
  display:flex;
  align-items:center;
  gap:8px;
}
.top-actions.sidebar-embedded{
  width:100%;
  display:grid;
  grid-template-columns:42px 1fr 34px;
  grid-template-areas:
    "avatar user logout"
    "lang voice voice";
  gap:7px 9px;
  align-items:center;
  margin:2px 0 6px;
  padding:10px;
  border:1px solid var(--border);
  border-radius:14px;
  background:
    linear-gradient(135deg,color-mix(in srgb,var(--accent) 8%,var(--panel2)),color-mix(in srgb,var(--accent2) 8%,var(--panel2)));
  box-shadow:0 10px 26px rgba(0,0,0,.12);
}
.sidebar-embedded .user{
  display:contents;
}
.sidebar-embedded .avatar{
  grid-area:avatar;
  width:40px;height:40px;
}
.sidebar-embedded .user>div:not(.avatar){
  grid-area:user;
  min-width:0;
}
.sidebar-embedded .user strong{
  display:block;
  max-width:110px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  font-size:13px;
}
.sidebar-embedded .user small{
  font-size:10px;
}
.sidebar-embedded .language-select{
  grid-area:lang;
  width:64px;
  min-width:0;
  background:var(--panel);
  color:var(--text);
  border:1px solid var(--border);
  border-radius:9px;
  padding:6px 7px;
  font-size:11px;
}
.sidebar-embedded .voice-quick{
  grid-area:voice;
  justify-self:stretch;
  min-height:31px;
  border:1px solid color-mix(in srgb,var(--accent) 40%,var(--border));
  background:color-mix(in srgb,var(--accent) 10%,var(--panel));
  color:var(--accent);
  border-radius:9px;
  cursor:pointer;
}
.sidebar-embedded .voice-quick::after{
  content:" Voz POLUX";
  font-size:10px;
  font-weight:800;
  margin-left:5px;
}
.sidebar-embedded .icon-btn{
  grid-area:logout;
  width:32px;height:32px;
  border:1px solid var(--border);
  background:var(--panel);
  color:var(--muted);
  border-radius:9px;
  cursor:pointer;
}

/* En escritorio la cabecera queda limpia: solo título y subtítulo */
@media(min-width:901px){
  .topbar{justify-content:flex-start}
  .sidebar nav{gap:7px}
}

/* En celular los controles regresan a la cabecera */
@media(max-width:900px){
  .top-actions{
    display:flex;
    margin-left:auto;
  }
  .top-actions.sidebar-embedded{
    display:flex;
    width:auto;
    margin:0;
    padding:0;
    border:0;
    background:none;
    box-shadow:none;
  }
  .top-actions .user>div:not(.avatar){display:none}
  .top-actions .language-select{max-width:58px}
  .top-actions .voice-quick,
  .top-actions .icon-btn{
    width:36px;height:36px;
    border-radius:10px;
    border:1px solid var(--border);
    background:var(--panel2);
    color:var(--text);
  }
  .top-actions .voice-quick::after{content:""}
}

/* Reafirma el movimiento del orbe en escritorio */
.polux-navigator-orb{
  opacity:1;
  visibility:visible;
}
