:root{--suite-bg:#07101d;--suite-card:#101c2d;--suite-border:#263a52;--suite-text:#edf5ff;--suite-muted:#96a9bf;--suite-purple:#7567ff;--suite-blue:#3689f6;--suite-green:#2fd097}
*{box-sizing:border-box}.auth-page{min-height:100vh;margin:0;display:grid;place-items:center;padding:24px;color:var(--suite-text);font-family:Inter,"Segoe UI",sans-serif;background:radial-gradient(circle at 20% 15%,#192861 0,transparent 34%),radial-gradient(circle at 85% 80%,#0d4b58 0,transparent 30%),#050a13}.auth-card{width:min(440px,100%);padding:38px;border:1px solid rgba(157,177,255,.18);border-radius:26px;background:rgba(10,20,35,.9);box-shadow:0 35px 90px rgba(0,0,0,.5);backdrop-filter:blur(18px)}.auth-brand{display:flex;align-items:center;gap:13px;margin-bottom:34px}.auth-brand strong,.auth-brand small{display:block}.auth-brand strong{font-size:21px;letter-spacing:.12em}.auth-brand small{font-size:9px;color:#8294aa;letter-spacing:.18em}.auth-radar{width:42px;height:42px;border:1px solid #7567ff;border-radius:50%;box-shadow:inset 0 0 0 8px rgba(117,103,255,.08),0 0 22px rgba(117,103,255,.3)}.eyebrow{margin:0 0 8px;color:#8e83ff;font-size:11px;font-weight:900;letter-spacing:.13em}.auth-card h1{margin:0 0 8px;font-size:38px}.auth-copy{margin:0 0 25px;color:var(--suite-muted)}.suite-form{display:grid;gap:16px}.suite-form label,.create-user-grid label{display:grid;gap:7px;color:#bac9da;font-size:12px;font-weight:800}.suite-form input,.create-user-grid input,.user-tools input{width:100%;padding:13px 14px;border:1px solid #344a65;border-radius:11px;background:#0d1929;color:#fff;outline:none}.suite-form input:focus,.create-user-grid input:focus{border-color:#7567ff;box-shadow:0 0 0 3px rgba(117,103,255,.14)}.suite-form button,.create-user-grid button,.user-tools button{padding:13px 16px;border:0;border-radius:11px;color:#fff;font-weight:850;cursor:pointer;background:linear-gradient(135deg,var(--suite-purple),var(--suite-blue))}.auth-security{text-align:center;margin:22px 0 0;color:#6f8196;font-size:11px}.suite-alert{margin:0 0 18px;padding:12px 15px;border:1px solid rgba(47,208,151,.3);border-radius:11px;color:#9af0cf;background:rgba(47,208,151,.1)}.suite-alert.error{border-color:rgba(255,93,111,.35);color:#ffb1bc;background:rgba(255,73,96,.1)}
.suite-admin,.suite-admin input,.suite-admin button,.suite-admin select,.suite-admin textarea{font-family:Inter,"Segoe UI",Arial,sans-serif}.suite-admin{max-width:1480px;margin:auto;padding:34px;color:var(--suite-text)}.admin-hero{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px;padding:30px 34px;border:1px solid #263a52;border-radius:24px;background:radial-gradient(circle at 85% 30%,rgba(117,103,255,.35),transparent 28%),linear-gradient(135deg,#0c1729,#172c4a)}.admin-hero h1{margin:0 0 6px;color:#fff;font-size:34px}.admin-hero p:last-child{margin:0;color:#aebed0}.admin-count{display:grid;place-items:center;width:100px;height:100px;border:1px solid rgba(255,255,255,.2);border-radius:50%}.admin-count strong{font-size:29px}.admin-count span{font-size:11px;color:#aebed0}.admin-panel{margin:18px 0;padding:24px;border:1px solid var(--suite-border);border-radius:19px;background:var(--suite-card)}.panel-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:19px}.panel-title h2{margin:0;color:#fff}.panel-title>span{color:var(--suite-muted);font-size:12px}.create-user-grid{display:grid;grid-template-columns:1.1fr .8fr 1.45fr 1fr .55fr auto;gap:12px;align-items:end}.create-membership-check{grid-column:1/-1;display:flex!important;align-items:center;gap:8px}.create-membership-check input{width:auto}.users-list{display:grid;gap:10px}.user-row{display:grid;grid-template-columns:minmax(220px,1.3fr) 130px minmax(200px,1fr) auto;gap:18px;align-items:center;padding:15px;border:1px solid #23364c;border-radius:14px;background:#0c1726}.user-identity{display:flex;align-items:center;gap:12px}.user-identity strong,.user-identity small{display:block}.user-identity small{margin-top:3px;color:var(--suite-muted)}.user-avatar{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;color:#fff;font-weight:900;background:linear-gradient(135deg,#7567ff,#258ccf)}.connection{display:flex;align-items:center;gap:7px;color:#889bb0;font-size:12px}.connection i{width:8px;height:8px;border-radius:50%;background:#65758a}.connection.online{color:#75ddb7}.connection.online i{background:#2fd097;box-shadow:0 0 10px #2fd097}.quota>div{display:flex;justify-content:space-between;font-size:11px;color:#9fb0c4}.quota progress{width:100%;height:7px;margin-top:7px;accent-color:#7567ff}.user-row summary{color:#aa9fff;cursor:pointer;font-size:12px}.user-tools{position:absolute;right:36px;z-index:5;width:min(720px,70vw);padding:15px;border:1px solid #354b66;border-radius:13px;background:#101e31;box-shadow:0 20px 55px #02060c}.user-tools form{display:grid;grid-template-columns:1fr 150px auto;gap:8px;margin:7px 0}.user-tools form:nth-child(n+2){grid-template-columns:1fr auto}.user-tools button.secondary{background:#263b55}.user-tools button.danger{background:#a83246}.inline-check{display:flex!important;align-items:center;gap:5px}.inline-check input{width:auto}.master-badge{color:#c6beff;font-size:11px}.sidebar-user{margin:8px;padding:10px;border:1px solid rgba(255,255,255,.1);border-radius:12px;color:#fff}.sidebar-user strong,.sidebar-user small{display:block}.sidebar-user small{color:#9aacbf}.sidebar-user form{margin-top:8px}.sidebar-user button{padding:0;border:0;background:none;color:#9c91ff;cursor:pointer}
.user-tools{width:min(860px,calc(100vw - 320px))}.user-tools .user-edit-form{grid-template-columns:minmax(120px,.55fr) minmax(360px,2fr) 112px;grid-template-areas:"name email quota" "active active save";gap:11px 10px;align-items:end;margin-bottom:14px}.user-edit-form label{display:grid;gap:6px;color:#9fb2c9;font-size:11px;font-weight:800}.user-edit-form .edit-name{grid-area:name}.user-edit-form .edit-email{grid-area:email}.user-edit-form .edit-quota{grid-area:quota}.user-edit-form .inline-check{grid-area:active;align-self:center}.user-edit-form>button{grid-area:save;min-width:112px}
.audit-row{grid-template-columns:minmax(0,1fr) auto}.audit-title{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.audit-title code{padding:3px 7px;border:1px solid #354b66;border-radius:6px;color:#9fb2c9;background:#132237;font:10px/1.2 ui-monospace,SFMono-Regular,Consolas,monospace}.audit-description{margin:5px 0 4px;color:#c8d6e6;font-size:12px;line-height:1.4}
.users-list>.user-row:not(.audit-row){grid-template-columns:minmax(240px,1.3fr) 150px minmax(220px,1fr) 110px}.users-list>.user-row:not(.audit-row)>.connection{justify-content:flex-start;padding-left:22px;text-align:left}.users-list>.user-row:not(.audit-row)>.master-badge,.users-list>.user-row:not(.audit-row)>details{justify-self:center}
.user-tools .user-tools-close{display:flex;align-items:center;justify-content:center;gap:7px;width:auto;margin:0 0 12px auto;padding:8px 12px;border:1px solid #405674;background:#17283d;color:#eaf2fb}.user-tools-close span{font-size:20px;line-height:1}
.membership-pill{display:inline-flex;margin-top:7px;padding:4px 8px;border:1px solid rgba(47,208,151,.32);border-radius:999px;color:#73dfb8;font-size:10px;font-weight:850;background:rgba(47,208,151,.09)}.membership-pill.warning{border-color:rgba(245,180,34,.42);color:#ffd070;background:rgba(245,180,34,.1)}.membership-pill.expired,.membership-pill.pending{border-color:rgba(255,93,111,.38);color:#ff9caa;background:rgba(255,93,111,.09)}.membership-control{display:grid;grid-template-columns:minmax(250px,1fr) minmax(280px,auto) auto;gap:12px;align-items:end;margin:0 0 14px;padding:14px;border:1px solid rgba(47,208,151,.25);border-radius:13px;background:linear-gradient(135deg,rgba(47,208,151,.09),rgba(37,140,207,.06))}.membership-control.warning{border-color:rgba(245,180,34,.35);background:rgba(245,180,34,.07)}.membership-control.expired,.membership-control.pending{border-color:rgba(255,93,111,.3);background:rgba(255,93,111,.06)}.membership-control-copy span,.membership-control-copy strong,.membership-control-copy small{display:block}.membership-control-copy span{margin-bottom:4px;color:#76ddba;font-size:9px;font-weight:900;letter-spacing:.13em}.membership-control-copy strong{color:#f7fbff;font-size:14px}.membership-control-copy small{margin-top:4px;color:#9fb2c9;font-size:10px;line-height:1.4}.user-tools .membership-control form{display:grid;grid-template-columns:1fr auto;gap:8px;margin:0}.user-tools .membership-control form:not(.membership-renew-form):not(.membership-special-form){display:block}.membership-renew-form label{display:grid;gap:5px;color:#9fb2c9;font-size:10px;font-weight:800}.membership-renew-form input{min-width:135px}.user-tools button.membership-expire{padding:10px 12px;border:1px solid rgba(255,93,111,.38);background:transparent;color:#ff9caa}
.user-tools .membership-control .membership-special-form{grid-column:1/-1;display:grid;grid-template-columns:minmax(190px,1fr) 145px 120px 100px auto;align-items:end;gap:10px;margin-top:2px;padding-top:12px;border-top:1px solid rgba(159,178,201,.18)}.membership-special-title strong,.membership-special-title small,.membership-special-end span,.membership-special-end strong{display:block}.membership-special-title strong{color:#f4f8ff;font-size:12px}.membership-special-title small{margin-top:3px;color:#8fa5bc;font-size:9px}.membership-special-form label{display:grid;gap:5px;color:#9fb2c9;font-size:10px;font-weight:800}.membership-special-end{padding:0 0 10px}.membership-special-end span{color:#8299b2;font-size:9px;font-weight:800;text-transform:uppercase}.membership-special-end strong{margin-top:3px;color:#c8c1ff;font-size:12px}
@media(max-width:1050px){.create-user-grid{grid-template-columns:1fr 1fr}.user-row{grid-template-columns:1fr 1fr}.quota{grid-column:1/-1}.user-tools{right:20px;width:80vw}.membership-control{grid-template-columns:1fr}.user-tools .membership-control form{grid-template-columns:1fr auto}}@media(max-width:760px){.user-tools .user-edit-form{grid-template-columns:1fr 110px;grid-template-areas:"name quota" "email email" "active save"}}@media(max-width:620px){.auth-card{padding:28px}.suite-admin{padding:16px}.admin-count{display:none}.create-user-grid,.user-row{grid-template-columns:1fr}.create-membership-check{grid-column:auto}.user-tools{position:fixed;inset:8% 12px auto;max-height:84vh;overflow:auto;width:auto}.user-tools .user-edit-form{grid-template-columns:1fr;grid-template-areas:"name" "email" "quota" "active" "save"}.user-tools .membership-control form{grid-template-columns:1fr}.admin-hero{padding:24px}}
@media(max-width:1050px){.user-tools .membership-control .membership-special-form{grid-template-columns:1fr 1fr}.membership-special-title{grid-column:1/-1}}@media(max-width:620px){.user-tools .membership-control .membership-special-form{grid-template-columns:1fr}.membership-special-title{grid-column:auto}}

/* 1.1.0 · superficies AURORA para administración */
.suite-admin .admin-hero{
  border-color:rgba(116,211,220,.22);
  background:
    radial-gradient(ellipse 65% 130% at 100% 10%,rgba(105,87,245,.38),transparent 62%),
    radial-gradient(ellipse 80% 120% at 62% 130%,rgba(22,184,188,.22),transparent 68%),
    linear-gradient(135deg,#0d1830 0%,#153552 58%,#116273 100%);
  box-shadow:0 18px 42px rgba(7,27,48,.15);
}
.suite-admin>.admin-panel{
  border-color:rgba(90,180,191,.24);
  background:
    radial-gradient(ellipse 85% 110% at 108% 0%,rgba(25,189,190,.2),transparent 64%),
    radial-gradient(ellipse 65% 100% at -8% 105%,rgba(101,83,245,.14),transparent 68%),
    linear-gradient(145deg,#0d192d 0%,#123149 58%,#115665 100%);
  box-shadow:0 15px 34px rgba(7,28,48,.12),inset 0 1px rgba(153,235,231,.04);
}
.suite-admin>.admin-panel:nth-of-type(2){
  background:
    radial-gradient(ellipse 72% 90% at 104% 15%,rgba(29,191,189,.18),transparent 66%),
    linear-gradient(155deg,#0c172a 0%,#102c43 54%,#124c5b 100%);
}
.suite-admin>.admin-panel:nth-of-type(3){
  background:
    radial-gradient(ellipse 70% 100% at 100% 0%,rgba(102,83,245,.16),transparent 66%),
    linear-gradient(145deg,#0d192c,#12364a 72%,#11515d);
}
.suite-admin .user-row{
  border-color:rgba(84,157,176,.28);
  background:linear-gradient(110deg,rgba(8,20,37,.92),rgba(13,43,58,.9) 66%,rgba(13,68,75,.78));
  box-shadow:inset 0 1px rgba(255,255,255,.025);
}
.suite-admin .user-row:hover{border-color:rgba(83,218,202,.38);background:linear-gradient(110deg,rgba(10,24,43,.94),rgba(15,53,68,.92) 66%,rgba(15,82,86,.82))}
.suite-admin .create-user-grid input{background:rgba(7,21,37,.72);border-color:rgba(95,158,182,.42)}
.suite-admin .admin-count{background:rgba(8,31,52,.2);border-color:rgba(159,234,229,.25);box-shadow:inset 0 0 30px rgba(31,184,185,.08)}

/* 1.0.8 · composición ordenada del control de membresía */
.user-tools .membership-control{display:block!important;padding:14px 16px!important}
.membership-main-row{display:grid;grid-template-columns:minmax(230px,1fr) minmax(300px,340px) auto;align-items:end;gap:14px}
.membership-main-row>.membership-control-copy{align-self:center}
.user-tools .membership-main-row>form{margin:0!important}
.user-tools .membership-main-row>.membership-renew-form{display:grid!important;grid-template-columns:minmax(135px,1fr) auto!important;gap:9px!important;align-items:end}
.user-tools .membership-main-row>form:not(.membership-renew-form){display:block!important}
.user-tools .membership-control .membership-special-form{display:grid!important;grid-template-columns:minmax(210px,1.35fr) 150px 125px 105px auto!important;align-items:end!important;gap:12px!important;margin:14px 0 0!important;padding:14px 0 0!important;border-top:1px solid rgba(159,178,201,.2)}
.membership-special-title{align-self:center}
.membership-special-end{padding:0 0 9px!important}
.membership-special-form>button{min-height:43px;white-space:nowrap}
@media(max-width:980px){
  .membership-main-row{grid-template-columns:1fr}
  .user-tools .membership-main-row>.membership-renew-form{grid-template-columns:1fr auto!important}
  .user-tools .membership-control .membership-special-form{grid-template-columns:1fr 1fr!important}
  .membership-special-title{grid-column:1/-1}
}
@media(max-width:620px){
  .user-tools .membership-main-row>.membership-renew-form,.user-tools .membership-control .membership-special-form{grid-template-columns:1fr!important}
  .membership-special-title{grid-column:auto}
}

/* 1.0.9 · gestión de cuota de la cuenta maestra */
.master-quota-tools>summary{white-space:nowrap}.master-quota-panel{width:min(520px,calc(100vw - 320px))}.master-quota-heading{padding:4px 2px 12px;border-bottom:1px solid rgba(159,178,201,.16)}.master-quota-heading span,.master-quota-heading strong,.master-quota-heading small{display:block}.master-quota-heading span{color:#72e3bd;font-size:9px;font-weight:900;letter-spacing:.12em}.master-quota-heading strong{margin-top:4px;color:#f7fbff;font-size:16px}.master-quota-heading small{margin-top:4px;color:#91a6bd;font-size:10px}.user-tools .master-quota-form{display:grid!important;grid-template-columns:1fr auto!important;align-items:end;gap:10px;margin:13px 0 0}.master-quota-form label{display:grid;gap:6px;color:#9fb2c9;font-size:10px;font-weight:850}.master-quota-form button{min-height:43px}@media(max-width:620px){.master-quota-panel{width:auto}.user-tools .master-quota-form{grid-template-columns:1fr!important}}

@media(min-width:621px){
  .users-list>.user-row:not(.audit-row):has(>details[open]){grid-template-rows:auto auto}
  .users-list>.user-row:not(.audit-row)>details[open]{grid-column:1/-1;grid-row:2;justify-self:stretch!important;width:100%}
  .users-list>.user-row:not(.audit-row)>details[open]>summary{display:none}
  .users-list>.user-row:not(.audit-row)>details[open]>.user-tools{position:relative;right:auto;z-index:1;width:100%;max-width:none;margin-top:4px;box-shadow:0 14px 34px rgba(2,6,12,.3)}
}
.pro-status-pill{display:inline-flex;align-items:center;width:max-content;margin-top:5px;padding:4px 8px;border-radius:999px;font-size:9px;font-weight:900;letter-spacing:.03em}.pro-status-pill.enabled{border:1px solid rgba(58,224,185,.35);background:rgba(36,203,165,.14);color:#64e4bf}.pro-status-pill.locked{border:1px solid rgba(148,163,184,.2);background:rgba(148,163,184,.08);color:#8292a6}
.ai-status-pill{display:inline-flex;align-items:center;gap:5px;width:max-content;margin-top:5px;padding:4px 9px;border:1px solid rgba(124,106,255,.42);border-radius:999px;background:linear-gradient(135deg,rgba(112,85,247,.2),rgba(24,199,190,.13));color:#bdb5ff;font-size:9px;font-weight:900;letter-spacing:.03em;box-shadow:0 0 15px rgba(86,210,210,.08)}.ai-status-pill b{display:grid;place-items:center;min-width:18px;height:18px;margin:-2px 0 -2px -3px;border-radius:7px;background:linear-gradient(135deg,#7661ff,#18c9be);color:#fff;font-size:8px}
.pro-access-control{display:grid;grid-template-columns:46px minmax(0,1fr) auto;align-items:center;gap:13px;padding:14px;border:1px solid rgba(94,234,211,.2);border-radius:16px;background:linear-gradient(125deg,rgba(99,78,242,.16),rgba(22,180,167,.12))}.pro-access-control.locked{border-color:rgba(148,163,184,.17);background:linear-gradient(125deg,rgba(67,79,101,.2),rgba(30,59,72,.18))}.pro-access-control-icon{display:grid;place-items:center;width:46px;height:46px;border-radius:14px;background:linear-gradient(135deg,#725fff,#22c9ad);color:#fff;font-size:20px;box-shadow:0 9px 25px rgba(57,87,213,.25)}.pro-access-control.locked .pro-access-control-icon{background:linear-gradient(135deg,#526177,#405d68);box-shadow:none;color:#aebaca}.pro-access-control span,.pro-access-control strong,.pro-access-control small{display:block}.pro-access-control span{color:#8cf2da;font-size:9px;font-weight:950;letter-spacing:.1em}.pro-access-control strong{margin:3px 0;color:#f7fbff;font-size:15px}.pro-access-control small{color:#9fb2c8;font-size:11px}.pro-access-control form{margin:0}.pro-access-control button{min-width:168px}.pro-access-control .pro-disable{border:1px solid rgba(255,111,127,.35)!important;background:rgba(223,72,91,.13)!important;color:#ff9cab!important}.pro-access-control .pro-enable{background:linear-gradient(135deg,#6f5cf8,#2f9ff2)!important;color:#fff!important}
@media(max-width:760px){.pro-access-control{grid-template-columns:42px 1fr}.pro-access-control form{grid-column:1/-1}.pro-access-control button{width:100%}}
