:root{--noche:#17223f;--noche-2:#24325a;--noche-texto:#e9ecf5;--noche-suave:#a9b3cf;--arlab:#8f2a86;--arlab-suave:#f4e6f2;--cian:#137f95;--papel:#f5f6f9;--superficie:#ffffff;--tinta:#1b2131;--tinta-suave:#5a6276;--linea:#d8dce6;--ok:#1d6b45;--ok-fondo:#e5f3ec;--error:#a3261c;--error-fondo:#fbe9e7;--radio:6px;color-scheme:light}@media (prefers-color-scheme:dark){:root{--noche:#0e1630;--noche-2:#1a2547;--arlab:#d77fcd;--arlab-suave:#3a2338;--cian:#5cc3d6;--papel:#121624;--superficie:#1a1f30;--tinta:#e6e9f2;--tinta-suave:#a3abc0;--linea:#333a51;--ok:#7fd3a6;--ok-fondo:#173326;--error:#f2a097;--error-fondo:#3b1c1a;color-scheme:dark}}*,:after,:before{box-sizing:border-box}body,html{height:100%}body{margin:0;background:var(--papel);color:var(--tinta);font:16px/1.5 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}h1{font-size:1.6rem;line-height:1.2;margin:.75rem 0 .5rem}h2{font-size:1.15rem;margin:0 0 .75rem}.muted{color:var(--tinta-suave)}.small{font-size:.85rem}.flex{display:flex;gap:.6rem;align-items:center;flex-wrap:wrap}.between{justify-content:space-between}.end{justify-content:flex-end;margin-top:1rem}.center-page{min-height:100vh;display:grid;place-items:center;padding:1rem}.card{background:var(--superficie);border:1px solid var(--linea);border-radius:10px;padding:1.75rem}.login{width:min(26rem,100%)}.brand{display:inline-flex;flex-direction:column;line-height:1.1}.brand strong{font-size:1.35rem;letter-spacing:-.01em}.brand span{font-size:.72rem;opacity:.75}.mini-symbol{width:2.4rem;height:2.4rem;border-radius:50%;display:grid;place-items:center;background:var(--arlab-suave);color:var(--arlab);margin-top:.75rem}form{gap:.9rem;margin-top:1rem}form,label{display:grid}label{gap:.3rem;font-size:.9rem;font-weight:600}label.check{display:flex;gap:.5rem;align-items:center;font-weight:400}input,select{font:inherit;padding:.55rem .65rem;border-radius:var(--radio);border:1px solid var(--linea);background:var(--superficie);color:var(--tinta)}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--cian);outline-offset:2px}fieldset{border:1px solid var(--linea);border-radius:var(--radio);padding:.6rem .9rem;margin:.75rem 0 0;display:grid;gap:.4rem}legend{font-weight:600;font-size:.9rem;padding:0 .3rem}.button{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;font:inherit;font-weight:600;background:var(--arlab);color:#fff;border:1px solid var(--arlab);border-radius:var(--radio);padding:.55rem 1rem;cursor:pointer}.button.full{width:100%}.button.secondary{background:transparent;color:var(--tinta);border-color:var(--linea)}.button.sm{padding:.3rem .6rem;font-size:.82rem}.button:disabled{opacity:.6;cursor:default}.text-button{font:inherit;color:var(--cian);text-decoration:underline;padding:0}.icon-button,.text-button{background:none;border:0;cursor:pointer}.icon-button{color:var(--tinta);padding:.25rem}.error{color:var(--error);background:var(--error-fondo)}.error,.ok{border-radius:var(--radio);padding:.5rem .7rem;margin:0}.ok{color:var(--ok);background:var(--ok-fondo)}.shell{display:flex;flex-direction:column;height:100vh}.topbar{display:flex;align-items:center;gap:1.25rem;background:var(--noche);color:var(--noche-texto);padding:.45rem 1rem;flex-wrap:wrap}.topbar nav{display:flex;gap:.25rem;flex:1}.topbar nav a{color:var(--noche-texto);text-decoration:none;padding:.35rem .7rem;border-radius:var(--radio)}.topbar nav a:hover{background:var(--noche-2)}.topbar nav a[aria-current=page]{background:var(--noche-2);box-shadow:inset 0 -3px 0 var(--arlab)}.who{display:flex;align-items:center;gap:.75rem;font-size:.9rem}.topbar .button.secondary{color:var(--noche-texto);border-color:var(--noche-suave)}.frame{flex:1;width:100%;border:0;background:var(--papel)}.page{flex:1;overflow:auto;padding:1.25rem clamp(1rem,3vw,2.5rem) 3rem;width:min(70rem,100%);margin:0 auto}.page-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:1rem;flex-wrap:wrap;margin-bottom:1rem}.page-heading h1{margin:0}.count{margin-left:.5rem;font-size:.9rem;background:var(--arlab-suave);color:var(--arlab);padding:.1rem .55rem;border-radius:99px;vertical-align:middle}.panel{background:var(--superficie);border:1px solid var(--linea);border-radius:10px;padding:1.1rem 1.25rem;margin-bottom:1rem}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:.92rem}td,th{text-align:left;padding:.6rem .5rem;border-bottom:1px solid var(--linea);vertical-align:top}th{font-size:.8rem;font-weight:600}td small,th{color:var(--tinta-suave)}td small{display:block;font-size:.78rem}.row-actions{display:flex;gap:.4rem;flex-wrap:wrap}.pill{display:inline-block;font-size:.75rem;font-weight:600;padding:.15rem .55rem;border-radius:99px;background:var(--linea);color:var(--tinta)}.pill.green{background:var(--ok-fondo);color:var(--ok)}.role-help{padding-left:1.1rem;gap:.5rem;font-size:.92rem}.audit,.role-help{margin:0;display:grid}.audit{list-style:none;padding:0;gap:.35rem;font-size:.88rem}.modal-backdrop{position:fixed;inset:0;background:rgba(10,15,30,.55);display:grid;place-items:center;padding:1rem;z-index:10}.modal{background:var(--superficie);border-radius:10px;padding:1.25rem 1.5rem;width:min(30rem,100%);max-height:90vh;overflow:auto}.secret-box{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:1.35rem;letter-spacing:.08em;text-align:center;background:var(--arlab-suave);color:var(--tinta);border:1px dashed var(--arlab);border-radius:var(--radio);padding:1rem;user-select:all}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}