@font-face{font-family:Bebas Neue;src:url(/fonts/BebasNeue-Regular.ttf)format("truetype");font-display:swap}@font-face{font-family:Outfit;src:url(/fonts/Outfit-Variable.ttf)format("truetype");font-weight:100 900;font-display:swap}@font-face{font-family:JetBrains Mono;src:url(/fonts/JetBrainsMono-Variable.ttf)format("truetype");font-weight:100 800;font-display:swap}:root{--lx-black:#070707;--lx-paper:#f0f0eb;--lx-accent:#7dd3fc;--f-mono:"JetBrains Mono", Consolas, monospace;--f-disp:"Bebas Neue", sans-serif;--f-sans:"Outfit", system-ui, sans-serif;--ease:cubic-bezier(.2, .8, .2, 1)}*{box-sizing:border-box}html,body{background:var(--lx-black);min-height:100%;color:var(--lx-paper);font-family:var(--f-sans);-webkit-font-smoothing:antialiased;margin:0}button,input,select{font:inherit;color:inherit}@keyframes lx-up{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}.mono{font-family:var(--f-mono);text-transform:uppercase;letter-spacing:.3em;font-size:10px}.glass{-webkit-backdrop-filter:blur(18px)saturate(1.2);backdrop-filter:blur(18px)saturate(1.2);background:#090a0cd9;border:1px solid #ffffff1a;box-shadow:0 24px 64px #0008,inset 0 1px #ffffff12}.brackets{position:relative}.brackets:before,.brackets:after{content:"";border:2px solid var(--lx-accent);pointer-events:none;width:14px;height:14px;position:absolute}.brackets:before{border-bottom:0;border-right:0;top:-1px;left:-1px}.brackets:after{border-top:0;border-left:0;bottom:-1px;right:-1px}.field{gap:7px;margin-bottom:14px;display:grid}.field>span{font:500 9.5px var(--f-mono);letter-spacing:.3em;text-transform:uppercase;color:#f0f0eb85}.field input,.pc-input{width:100%;color:var(--lx-paper);background:#ffffff08;border:1px solid #f0f0eb24;border-radius:0;outline:none;padding:12px 14px}.field input:focus,.pc-input:focus{border-color:var(--lx-accent);box-shadow:0 0 0 3px #7dd3fc22}.primary{background:var(--lx-accent);color:var(--lx-black);font:600 11px var(--f-mono);letter-spacing:.24em;text-transform:uppercase;cursor:pointer;border:0;padding:12px 18px}.check{color:#f0f0ebb3;align-items:center;gap:9px;margin:4px 0;font-size:13px;display:flex}.hint{color:#f5d67a;min-height:1em;margin:8px 0 0;font-size:12.5px}body.auth-page{background:radial-gradient(60% 50% at 50% 0%, #0f2530 0%, transparent 70%), radial-gradient(40% 40% at 80% 100%, #1d1638 0%, transparent 70%), linear-gradient(#f0f0eb06 1px, transparent 1px) 0 0 / 64px 64px, linear-gradient(90deg, #f0f0eb06 1px, transparent 1px) 0 0 / 64px 64px, var(--lx-black);place-items:center;min-height:100vh;display:grid}.auth-wrap{animation:lx-up .7s var(--ease) both;justify-items:center;gap:22px;display:grid}.auth-card{width:min(440px,92vw);padding:34px 34px 28px}.auth-brand{align-items:center;gap:16px;display:flex}.auth-brand svg{filter:drop-shadow(0 0 16px #7dd3fc55);width:52px;height:52px}.auth-brand b{font:400 40px/.9 var(--f-disp);letter-spacing:.06em;display:block}.auth-brand .mono{color:#f0f0eb73;font-size:9px}.auth-body{border-top:1px solid #f0f0eb14;margin-top:26px;padding-top:22px;display:grid}.auth-kicker,.pc-kicker{font:500 9.5px var(--f-mono);letter-spacing:.36em;text-transform:uppercase;color:#7dd3fcb3;align-items:center;gap:12px;margin:0 0 18px;display:flex}.auth-kicker:before,.pc-kicker:before{content:"";background:var(--lx-accent);flex:none;width:20px;height:1px}.auth-submit{background:var(--lx-accent);color:var(--lx-black);cursor:pointer;font:600 12px var(--f-mono);letter-spacing:.3em;text-transform:uppercase;border:0;margin-top:6px;padding:16px;transition:background .2s,box-shadow .2s}.auth-submit:hover{background:#a5e1fd;box-shadow:0 0 28px #7dd3fc59}.auth-submit:after{content:"  →"}.auth-submit:disabled{opacity:.6;cursor:wait}.auth-error{color:#ff8a8a;min-height:1.2em;margin:12px 0 0;font-size:13px}.auth-note{font:300 12.5px var(--f-sans);color:#f0f0eb73;margin:6px 0 0}.auth-foot{color:#f0f0eb40}body.panel-page{height:auto;min-height:100%;overflow:auto}html:has(body.panel-page){height:auto;min-height:100%;overflow:auto}body.panel-page{background:radial-gradient(60% 40% at 50% 0%, #0d1a20 0%, transparent 70%), linear-gradient(#f0f0eb05 1px, transparent 1px) 0 0 / 80px 80px, linear-gradient(90deg, #f0f0eb05 1px, transparent 1px) 0 0 / 80px 80px, var(--lx-black);color:var(--lx-paper);font-family:var(--f-sans)}@keyframes lx-ndot{0%,to{opacity:.4;transform:scale(1)}50%{opacity:1;transform:scale(1.3)}}.pc-top{z-index:5;height:56px;padding:0 24px;position:sticky;top:0}.pc-crumb{font:500 10px var(--f-mono);letter-spacing:.36em;color:#7dd3fcb3}.pc-top-right{align-items:center;gap:18px;display:flex}.pc-me{font:500 10px var(--f-mono);letter-spacing:.24em;text-transform:uppercase;color:#f0f0eb73}.pc-link{cursor:pointer;color:#f0f0ebcc;font:500 10.5px var(--f-mono);letter-spacing:.2em;text-transform:uppercase;background:0 0;border:0;border-bottom:1px solid #f0f0eb33;padding:0 0 2px;text-decoration:none}.pc-link:hover{color:var(--lx-accent);border-color:var(--lx-accent)}@media (max-width:720px){.pc-top-mid,.pc-me{display:none}.pc-top{padding:0 14px}}.pc-main{width:min(1180px,94vw);animation:lx-up .6s var(--ease) both;gap:22px;margin:0 auto;padding:44px 0 80px;display:grid}.pc-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:24px;display:flex}.pc-title{font:400 clamp(44px, 6vw, 72px)/.9 var(--f-disp);letter-spacing:.04em;text-transform:uppercase;margin:0}.pc-title em{background:linear-gradient(125deg,#7dd3fc 0%,#f0f0ebf2 65%);color:#0000;-webkit-background-clip:text;background-clip:text;font-style:normal}.pc-sub{max-width:620px;font:300 14px/1.55 var(--f-sans);color:#f0f0eb85;margin:12px 0 0}.pc-new{cursor:pointer;background:var(--lx-accent)!important;padding:15px 22px!important}.pc-new:hover{box-shadow:0 0 28px #7dd3fc59;background:#a5e1fd!important}.pc-roles{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px;display:grid}.pc-role{border:1px solid #ffffff14;border-top:2px solid var(--c,#f0f0eb);background:#080808bf;padding:16px 18px 14px;position:relative}.pc-role b{font:400 22px/1 var(--f-disp);letter-spacing:.08em;text-transform:uppercase;display:block}.pc-role p{font:300 12.5px/1.45 var(--f-sans);color:#f0f0eb85;margin:8px 0 0}.pc-role-n{font:400 30px/1 var(--f-disp);color:var(--c,#f0f0eb);opacity:.9;position:absolute;top:12px;right:16px}.r-owner{--c:#f0f0eb}.r-socio{--c:#7dd3fc}.r-invitado{--c:#f5d67a}.r-admin{--c:#a78bfa}.pc-card{-webkit-backdrop-filter:blur(24px);background:#080808bf;border:1px solid #ffffff1a;padding:22px 24px;position:relative;box-shadow:0 24px 64px #0007,inset 0 1px #ffffff0f}.pc-card:before{content:"";pointer-events:none;border-top:1px solid var(--lx-accent);border-left:1px solid var(--lx-accent);width:14px;height:14px;position:absolute;top:-1px;left:-1px}.pc-card-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:14px;display:flex}@media (max-width:560px){.pc-card{padding:18px 14px}}.topbar{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#070707e6;border-bottom:1px solid #f0f0eb14;justify-content:space-between;align-items:center;gap:16px;display:flex}.brand.small{align-items:center;gap:10px;display:flex}.brand.small .logo{background:var(--lx-accent);width:30px;height:30px;color:var(--lx-black);font:400 18px var(--f-disp);place-items:center;display:grid}.brand.small strong{font:400 22px var(--f-disp);letter-spacing:.08em}.pc-h{font:500 10px var(--f-mono);letter-spacing:.4em;text-transform:uppercase;color:var(--lx-accent);align-items:baseline;gap:12px;margin:0 0 14px;display:flex}.pc-card-head .pc-h{margin:0}.pc-h b{letter-spacing:.2em;color:#f0f0eb66;font-weight:500}.pc-input{width:100%;font:400 14px var(--f-sans);color:var(--lx-paper);background:#ffffff08;border:1px solid #f0f0eb1a;border-radius:0;outline:none;padding:10px 12px;transition:border-color .25s,box-shadow .25s,background .25s}.pc-input:focus{border-color:var(--lx-accent);background:#7dd3fc0a;box-shadow:0 0 0 3px #7dd3fc1a}select.pc-input option{background:#0b0b0b}.pc-filter{width:min(320px,100%)}.pc-table-wrap{overflow-x:auto}.pc-table{border-collapse:collapse;width:100%;font-size:14px}.pc-table th{text-align:left;font:500 9px var(--f-mono);letter-spacing:.3em;text-transform:uppercase;color:#f0f0eb57;white-space:nowrap;border-bottom:1px solid #f0f0eb14;padding:10px 12px}.pc-table td{vertical-align:middle;border-bottom:1px solid #f0f0eb0d;padding:12px}.pc-table tr:hover td{background:#ffffff05}.pc-table tr.off td{opacity:.5}.pc-table tr.off td.pc-row-actions{opacity:1}.pc-who{align-items:center;gap:12px;min-width:200px;display:flex}.pc-who b{font-weight:500}.pc-who small{font:400 11px var(--f-mono);letter-spacing:.06em;color:#f0f0eb66;margin-top:2px;display:block}.pc-you{color:#7dd3fcb3;font-style:normal;font-weight:300}.pc-av{width:34px;height:34px;font:400 18px var(--f-disp);color:var(--lx-paper);background:radial-gradient(circle at 35% 30%,#7dd3fc33,#0b0b0b 70%);border:1px solid #7dd3fc4d;border-radius:50%;flex:none;place-items:center;display:grid}.pc-chip{font:500 9.5px var(--f-mono);letter-spacing:.2em;text-transform:uppercase;color:var(--c);border:1px solid color-mix(in srgb, var(--c) 45%, transparent);background:color-mix(in srgb, var(--c) 8%, transparent);margin:0 6px 2px 0;padding:4px 8px;display:inline-block}.pc-state{font:500 10px var(--f-mono);letter-spacing:.16em;text-transform:uppercase;white-space:nowrap;align-items:center;gap:8px;display:inline-flex}.pc-state:before{content:"";background:currentColor;border-radius:50%;width:7px;height:7px}.pc-state.ok{color:#a6f097}.pc-state.on{color:var(--lx-accent)}.pc-state.on:before{animation:2.2s ease-in-out infinite lx-ndot;box-shadow:0 0 10px #7dd3fcb3}.pc-state.warn{color:#f5d67a}.pc-state.off{color:#f0f0eb66}.pc-dim{color:#f0f0eb99;white-space:nowrap;font-size:13px}.pc-row-actions{text-align:right;white-space:nowrap}.pc-empty{color:#f0f0eb66;padding:18px 12px;font-size:13px}.pc-btn{color:#f0f0ebcc;cursor:pointer;font:500 10px var(--f-mono);letter-spacing:.18em;text-transform:uppercase;background:0 0;border:1px solid #f0f0eb2e;border-radius:0;padding:10px 14px;transition:border-color .2s,color .2s,box-shadow .2s}.pc-btn:hover{color:var(--lx-paper);border-color:#7dd3fc66;box-shadow:0 0 20px #7dd3fc1f}.pc-btn.sm{margin-left:4px;padding:6px 9px;font-size:9px}.pc-btn.warn:hover{color:#f5d67a;border-color:#f5d67a99}.pc-btn.danger:hover{color:#ff6b6b;border-color:#ff303099;box-shadow:0 0 20px #ff30301f}.pc-btn.ghost{text-underline-offset:4px;border-color:#0000;text-decoration:underline}.pc-grid{grid-template-columns:1fr 1.4fr;gap:22px;display:grid}@media (max-width:900px){.pc-grid{grid-template-columns:1fr}}.pc-form.pc-form-inline{padding:0}.pc-form-inline{grid-template-columns:1fr 1fr auto;align-items:end;gap:12px;display:grid}.pc-form-inline .field{margin:0}.pc-form-inline .pc-btn{height:41px}.pc-audit{max-height:260px;margin:0;padding:0;list-style:none;overflow:auto}.pc-ev{color:#f0f0ebb3;border-bottom:1px solid #f0f0eb0a;gap:14px;padding:7px 0;font-size:13px;display:flex}.pc-ev time{font:400 11px var(--f-mono);color:#f0f0eb57;flex:none;padding-top:1px}.pc-ev.bad span{color:#f9a8d4}.pc-dialog{width:min(640px,94vw);color:var(--lx-paper);background:#080808f2;border:1px solid #ffffff1f;border-radius:0;padding:0;box-shadow:0 30px 90px #000c,inset 0 1px #ffffff14}.pc-dialog.small{width:min(460px,94vw)}.pc-dialog[open]{animation:lx-up .45s var(--ease) both}.pc-dialog::backdrop{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#070707b3}.pc-form{gap:4px;padding:28px 30px 24px;display:grid}.pc-form .field{margin-bottom:12px}.pc-dtitle{font:400 34px/.95 var(--f-disp);letter-spacing:.05em;text-transform:uppercase;margin:0 0 16px}.pc-cols{grid-template-columns:1fr 1fr;gap:14px;display:grid}@media (max-width:560px){.pc-cols,.pc-form-inline{grid-template-columns:1fr}}.pc-passrow{letter-spacing:0;text-transform:none;gap:8px;display:flex}.pc-passrow .pc-input{font-family:var(--f-mono);font-size:13px}.pc-rolepick{letter-spacing:0;text-transform:none;grid-template-columns:repeat(3,1fr);gap:8px;display:grid}@media (max-width:560px){.pc-rolepick{grid-template-columns:1fr}}.pc-rolecard{cursor:pointer;background:#ffffff05;border:1px solid #f0f0eb1a;gap:6px;padding:12px;transition:border-color .2s,background .2s;display:grid;position:relative}.pc-rolecard input{opacity:0;pointer-events:none;position:absolute}.pc-rolecard b{font:400 19px/1 var(--f-disp);letter-spacing:.08em;text-transform:uppercase;color:var(--c)}.pc-rolecard small{font:300 11.5px/1.4 var(--f-sans);color:#f0f0eb85}.pc-rolecard:hover{border-color:color-mix(in srgb, var(--c) 40%, transparent)}.pc-rolecard:has(input:checked){border-color:var(--c);background:color-mix(in srgb, var(--c) 8%, transparent);box-shadow:0 0 20px color-mix(in srgb, var(--c) 15%, transparent)}.pc-rolecard:has(input:focus-visible){outline:2px solid var(--lx-accent);outline-offset:2px}.pc-checks{flex-wrap:wrap;gap:22px;margin:4px 0 6px;display:flex}.pc-checks .check{cursor:pointer;align-items:center;gap:8px;display:flex}.pc-actions{justify-content:flex-end;gap:10px;margin-top:12px;display:flex}.pc-actions .primary{cursor:pointer;padding:13px 20px}.primary.danger{color:#fff!important;background:#ff3030!important}.primary.danger:hover{box-shadow:0 0 24px #ff303055;background:#ff5a5a!important}.pc-secret{background:#7dd3fc0a;border:1px solid #7dd3fc33;justify-content:space-between;align-items:center;gap:12px;margin-top:8px;padding:12px 14px;display:flex}.pc-secret span{font:500 9.5px var(--f-mono);letter-spacing:.3em;text-transform:uppercase;color:#f0f0eb73}.pc-secret code{font:500 15px var(--f-mono);color:var(--lx-accent);-webkit-user-select:all;user-select:all;word-break:break-all}.pc-toast{z-index:50;font:400 13.5px var(--f-sans);animation:lx-up .35s var(--ease) both;background:#0b0b0bf2;border:1px solid #7dd3fc4d;padding:12px 18px;position:fixed;bottom:28px;left:50%;transform:translate(-50%);box-shadow:0 0 24px #7dd3fc26}.d-sync{--c:#7dd3fc}.d-engine{--c:#a78bfa}.d-direccion{--c:#f5d67a}.d-none{--c:#f0f0eb}.pc-doors-tools{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.pc-doors-tools .pc-filter{width:min(280px,100%)}.pc-doors-stats{margin-bottom:18px}.pc-doors-stats:empty{display:none}.pc-doors td{vertical-align:top}.pc-doors .pc-input{padding:7px 9px;font-size:13px}.pc-doors-group td{border-bottom:1px solid color-mix(in srgb, var(--c) 35%, transparent);padding:22px 12px 8px}.pc-table tr.pc-doors-group:hover td{background:0 0}.pc-doors-group b{font:400 21px/1 var(--f-disp);letter-spacing:.08em;text-transform:uppercase;color:var(--c)}.pc-doors-group span{font:500 9.5px var(--f-mono);letter-spacing:.2em;text-transform:uppercase;color:#f0f0eb66;margin-left:12px}.pc-door{min-width:170px}.pc-door .pc-chip{margin:0}.pc-door small{font:400 11px var(--f-mono);letter-spacing:.04em;color:#f0f0eb66;margin-top:6px;display:block}.pc-doors tr.free .pc-door small:after{content:" · libre";color:#a6f097}.pc-owner{gap:6px;min-width:190px;display:grid}.pc-ro{color:#f0f0ebcc;font-size:13.5px}.pc-ro small{font:400 11px var(--f-mono);color:#f0f0eb66;margin-top:3px;display:block}.pc-lock{font:500 10px var(--f-mono);letter-spacing:.14em;text-transform:uppercase;white-space:nowrap;display:block}.pc-lock.on{color:#f5d67a}.pc-lock.off{color:#f0f0eb80}.pc-lock-note{font:400 11px var(--f-mono);color:#f0f0eb66;white-space:nowrap;margin:4px 0 9px;display:block}.pc-lock-note.warn{color:#ff8a8a}.pc-switch{cursor:pointer;font:500 9.5px var(--f-mono);letter-spacing:.18em;text-transform:uppercase;color:#f0f0ebb3;white-space:nowrap;align-items:center;gap:8px;display:inline-flex;position:relative}.pc-switch input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.pc-switch i{background:#ffffff08;border:1px solid #f0f0eb40;flex:none;width:30px;height:16px;transition:border-color .2s,background .2s;position:relative}.pc-switch i:after{content:"";width:10px;height:10px;transition:transform .2s var(--ease), background .2s;background:#f0f0eb80;position:absolute;top:2px;left:2px}.pc-switch input:checked+i{background:#f5d67a1f;border-color:#f5d67a}.pc-switch input:checked+i:after{background:#f5d67a;transform:translate(14px)}.pc-switch input:focus-visible+i{outline:2px solid var(--lx-accent);outline-offset:2px}.pc-switch:has(input:disabled){cursor:not-allowed;opacity:.45}.pc-pinform{gap:6px;min-width:210px;display:flex}.pc-pinform .pc-input{width:128px;font-family:var(--f-mono);letter-spacing:.25em;flex:auto}.pc-pinform .pc-btn.sm{white-space:nowrap;margin:0}.pc-allow{min-width:180px}.pc-allow summary{cursor:pointer;flex-wrap:wrap;align-items:center;gap:4px;list-style:none;display:flex}.pc-allow summary::-webkit-details-marker{display:none}.pc-allow summary:after{content:"▾";color:#f0f0eb66;margin-left:4px;font-size:11px}.pc-allow[open] summary:after{content:"▴"}.pc-allow summary:focus-visible{outline:2px solid var(--lx-accent);outline-offset:2px}.pc-allow .pc-chip{--c:#a6f097;letter-spacing:.08em;text-transform:none;margin:0;padding:3px 7px;font-size:10.5px}.pc-allow-none{font:400 12.5px var(--f-sans);color:#f0f0eb66}.pc-allow-list{background:#0b0b0bf2;border:1px solid #f0f0eb1a;gap:2px;max-height:210px;margin-top:8px;padding:8px 10px;display:grid;overflow:auto}.pc-allow-list .check{cursor:pointer;margin:0;padding:3px 0;font-size:12.5px}.pc-allow-list .check small{color:#f0f0eb57;font-size:11px}.pc-doors tr.busy td{opacity:.5;pointer-events:none;transition:opacity .2s}#pc-assign-dept .pc-rolecard small{font-family:var(--f-mono);font-size:10.5px}@media (max-width:860px){.pc-doors thead{display:none}.pc-doors,.pc-doors tbody{display:block}.pc-doors tr{border-bottom:1px solid #f0f0eb14;grid-template-columns:1fr 1fr;gap:12px 16px;padding:14px 4px;display:grid}.pc-doors tr.pc-doors-group,.pc-doors tr.pc-doors-msg{border:0;padding:0;display:block}.pc-doors td{border:0;padding:0;display:block;min-width:0!important}.pc-doors tr.pc-doors-group td{border-bottom:1px solid color-mix(in srgb, var(--c) 35%, transparent);padding:22px 0 8px}.pc-doors tr.pc-doors-msg td{padding:18px 0}.pc-doors td[data-l]:before{content:attr(data-l);font:500 8.5px var(--f-mono);letter-spacing:.3em;text-transform:uppercase;color:#f0f0eb57;margin-bottom:6px;display:block}}@media (max-width:520px){.pc-doors tr{grid-template-columns:1fr}.pc-doors-tools,.pc-doors-tools .pc-filter{width:100%}}body.auth-page{padding:env(safe-area-inset-top,0px) env(safe-area-inset-right,0px) env(safe-area-inset-bottom,0px) env(safe-area-inset-left,0px);-webkit-tap-highlight-color:transparent}@media (pointer:coarse){.auth-page .field input{font-size:16px}.auth-submit{min-height:52px}}@media (max-height:560px){body.auth-page{padding-top:max(12px, env(safe-area-inset-top,0px));place-items:start center}.auth-card{width:min(560px,94vw);padding:16px 22px 14px}.auth-brand svg{width:34px;height:34px}.auth-brand b{font-size:28px}.auth-body{grid-template-columns:1fr 1fr;column-gap:14px;margin-top:10px;padding-top:10px}.auth-kicker,.auth-submit,.auth-error,.auth-note{grid-column:1/-1}.auth-kicker{margin-bottom:10px}.field{margin-bottom:8px}.auth-note,.auth-foot{display:none}}
