@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=Rajdhani:wght@500;600;700&display=swap');

:root{
    --bg:#070910;
    --panel:#0d111b;
    --panel-2:#101624;
    --panel-3:#141b2c;
    --line:rgba(135,163,210,.15);
    --line-strong:rgba(124,224,255,.32);
    --text:#eef6ff;
    --muted:#8d9bb0;
    --cyan:#6fe7ff;
    --cyan-2:#26bfe6;
    --violet:#9c78ff;
    --success:#63f2bd;
    --warning:#ffcf75;
    --danger:#ff7b92;
    --shadow:0 22px 70px rgba(0,0,0,.35);
    --sidebar:292px;
    --radius:18px;
}
*{box-sizing:border-box}
html{background:var(--bg)}
body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;background:
    radial-gradient(circle at 75% 5%,rgba(104,77,255,.10),transparent 26rem),
    radial-gradient(circle at 15% 25%,rgba(56,210,255,.06),transparent 30rem),
    var(--bg);color:var(--text);min-height:100vh}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
code{font-family:Consolas,monospace;color:#b9eaff}
.block{display:block}
.muted{color:var(--muted);line-height:1.75}
.eyebrow{display:block;font-family:Rajdhani,Inter,sans-serif;font-weight:700;font-size:.72rem;letter-spacing:.18em;color:var(--cyan);text-transform:uppercase}
.app-shell{min-height:100vh}
.sidebar{position:fixed;inset:0 auto 0 0;width:var(--sidebar);background:
    linear-gradient(180deg,rgba(16,22,36,.97),rgba(7,10,17,.98));
    border-right:1px solid var(--line);z-index:50;display:flex;flex-direction:column;box-shadow:16px 0 50px rgba(0,0,0,.2)}
.brand-panel{height:88px;padding:17px 20px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between}
.brand-link{display:flex;align-items:center;gap:12px}
.brand-mark{width:48px;height:48px;filter:drop-shadow(0 0 16px rgba(111,231,255,.25))}
.brand-link strong{font-family:Rajdhani,sans-serif;display:block;font-size:1.35rem;letter-spacing:.15em}
.brand-link small{display:block;color:var(--muted);font-size:.64rem;letter-spacing:.16em;margin-top:1px}
.sidebar-close{display:none;background:transparent;border:0;color:var(--muted);font-size:2rem}
.bot-status{margin:18px 16px 4px;padding:13px 14px;border:1px solid var(--line);border-radius:14px;background:rgba(111,231,255,.035);display:flex;gap:11px;align-items:center}
.status-orb{width:10px;height:10px;border-radius:50%;background:var(--success);box-shadow:0 0 18px var(--success)}
.bot-status strong,.bot-status small{display:block}
.bot-status strong{font-size:.76rem}
.bot-status small{font-size:.66rem;color:var(--muted);margin-top:3px}
.nav-blocks{padding:8px 12px 18px;overflow:auto;flex:1;scrollbar-width:thin;scrollbar-color:#273044 transparent}
.nav-block{margin-top:13px;border:1px solid var(--line);border-radius:14px;overflow:hidden;background:rgba(255,255,255,.015)}
.nav-block-title{padding:9px 12px;background:linear-gradient(90deg,rgba(111,231,255,.08),rgba(156,120,255,.025));border-bottom:1px solid var(--line);font-family:Rajdhani,sans-serif;font-size:.69rem;letter-spacing:.16em;color:#a9b8cc;font-weight:700}
.nav-block-body{padding:5px}
.nav-link{display:flex;align-items:center;gap:10px;padding:10px 10px;color:#c8d3df;border-radius:10px;font-size:.84rem;transition:.18s ease;position:relative}
.nav-link:hover{background:rgba(111,231,255,.06);color:white}
.nav-link.active{background:linear-gradient(90deg,rgba(111,231,255,.14),rgba(156,120,255,.07));color:white;box-shadow:inset 2px 0 0 var(--cyan)}
.nav-icon{width:22px;height:22px;display:grid;place-items:center;color:var(--cyan);font-size:.9rem}
.sidebar-user{border-top:1px solid var(--line);padding:15px 16px;display:flex;align-items:center;gap:10px;background:rgba(0,0,0,.14)}
.avatar-mini{width:34px;height:34px;border-radius:10px;background:linear-gradient(135deg,rgba(111,231,255,.22),rgba(156,120,255,.28));border:1px solid var(--line-strong);display:grid;place-items:center;font-family:Rajdhani,sans-serif;font-weight:700;color:white;flex:0 0 auto}
.sidebar-user-meta{min-width:0;flex:1}
.sidebar-user-meta strong,.sidebar-user-meta small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sidebar-user-meta strong{font-size:.78rem}
.sidebar-user-meta small{font-size:.66rem;color:var(--muted);margin-top:2px}
.logout-mini{color:var(--muted);font-size:1.1rem}
.workspace{margin-left:var(--sidebar);min-height:100vh}
.topbar{height:88px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 32px;background:rgba(7,9,16,.72);backdrop-filter:blur(14px);position:sticky;top:0;z-index:30}
.topbar h1{margin:2px 0 0;font-family:Rajdhani,sans-serif;font-size:1.42rem;letter-spacing:.02em}
.topbar-left{display:flex;align-items:center;gap:14px}
.topbar-right{display:flex;align-items:center;gap:22px}
.menu-toggle{display:none;background:transparent;border:1px solid var(--line);color:var(--text);border-radius:10px;padding:8px 11px}
.live-pill,.chip{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--line);background:rgba(255,255,255,.025);padding:6px 9px;border-radius:999px;font-size:.64rem;font-weight:800;letter-spacing:.08em;color:#b9c6d7}
.live-pill i{width:7px;height:7px;border-radius:50%;background:var(--success);box-shadow:0 0 13px var(--success)}
.chip.success{color:var(--success);border-color:rgba(99,242,189,.25);background:rgba(99,242,189,.06)}
.top-user span,.top-user small{display:block;text-align:right}
.top-user span{font-size:.78rem;font-weight:700}
.top-user small{font-size:.65rem;color:var(--muted);margin-top:2px}
.content-area{padding:30px;max-width:1540px;margin:0 auto}
.welcome-banner{min-height:225px;border:1px solid var(--line);border-radius:24px;padding:34px 38px;display:flex;align-items:center;justify-content:space-between;overflow:hidden;position:relative;background:
    linear-gradient(100deg,rgba(18,28,45,.96),rgba(12,14,25,.84)),
    radial-gradient(circle at 85% 50%,rgba(111,231,255,.16),transparent 24rem);box-shadow:var(--shadow)}
.welcome-banner:before{content:"";position:absolute;inset:auto -100px -180px auto;width:430px;height:430px;border:1px solid rgba(111,231,255,.08);border-radius:50%;box-shadow:0 0 0 45px rgba(111,231,255,.02),0 0 0 90px rgba(156,120,255,.02)}
.welcome-banner h2{font-family:Rajdhani,sans-serif;font-size:2.25rem;margin:6px 0 10px}
.welcome-banner p{max-width:760px;color:#a8b5c7;line-height:1.75;margin:0}
.welcome-core{position:relative;z-index:2;text-align:center;margin-left:25px}
.core-ring{width:116px;height:116px;border-radius:50%;display:grid;place-items:center;border:1px solid rgba(111,231,255,.35);box-shadow:0 0 45px rgba(111,231,255,.12),inset 0 0 40px rgba(156,120,255,.1);position:relative}
.core-ring:before,.core-ring:after{content:"";position:absolute;border-radius:50%;inset:10px;border:1px dashed rgba(111,231,255,.2)}
.core-ring:after{inset:24px;border-style:solid;border-color:rgba(156,120,255,.26)}
.core-ring span{font-family:Rajdhani,sans-serif;font-size:2.8rem;font-weight:700;color:var(--cyan);text-shadow:0 0 22px rgba(111,231,255,.5)}
.welcome-core small{display:block;margin-top:12px;color:var(--muted);letter-spacing:.14em;font-size:.62rem}
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:18px}
.stat-card,.content-card{background:linear-gradient(180deg,rgba(16,22,36,.93),rgba(11,15,25,.94));border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 16px 40px rgba(0,0,0,.16)}
.stat-card{padding:19px 20px;min-height:116px;position:relative;overflow:hidden}
.stat-card:after{content:"";position:absolute;width:70px;height:70px;border-radius:50%;right:-24px;top:-24px;background:rgba(111,231,255,.045);box-shadow:0 0 0 14px rgba(156,120,255,.02)}
.stat-label{display:block;font-family:Rajdhani,sans-serif;font-size:.68rem;letter-spacing:.14em;color:var(--muted);font-weight:700}
.stat-card strong{display:block;margin-top:14px;font-size:1.28rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.stat-card small{display:block;color:var(--muted);font-size:.68rem;margin-top:4px}
.content-grid{display:grid;gap:16px;margin-top:16px}
.two-columns{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.content-card{padding:24px}
.card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:18px}
.card-head h3,.content-card h3{font-family:Rajdhani,sans-serif;font-size:1.25rem;margin:3px 0 0}
.detail-list{display:grid;gap:0}
.detail-list>div{display:flex;justify-content:space-between;gap:20px;padding:13px 0;border-bottom:1px solid var(--line);font-size:.78rem}
.detail-list>div:last-child{border-bottom:0}
.detail-list span{color:var(--muted)}
.detail-list.wide>div{padding:17px 0}
.primary-btn,.secondary-btn{border-radius:12px;min-height:46px;padding:0 16px;display:flex;align-items:center;justify-content:center;gap:12px;font-weight:800;font-size:.72rem;letter-spacing:.06em;transition:.2s ease}
.primary-btn{border:1px solid rgba(111,231,255,.35);background:linear-gradient(100deg,rgba(42,181,219,.22),rgba(122,91,239,.22));color:white;box-shadow:inset 0 0 22px rgba(111,231,255,.04)}
.primary-btn:hover{transform:translateY(-1px);border-color:rgba(111,231,255,.62);box-shadow:0 10px 30px rgba(54,185,222,.12)}
.primary-btn b{color:var(--cyan);font-size:1rem}
.primary-btn.compact{display:inline-flex;min-height:40px;margin-top:12px}
.secondary-btn{border:1px solid var(--line);background:rgba(255,255,255,.025);color:#d9e5f2}
.secondary-btn:hover{border-color:var(--line-strong);background:rgba(111,231,255,.04)}
button:disabled{opacity:.5;cursor:not-allowed}
.notice{padding:12px 14px;border-radius:12px;background:rgba(111,231,255,.05);border:1px solid rgba(111,231,255,.13);color:#aebfd1;line-height:1.55;font-size:.75rem;margin-top:14px}
.notice.warning{background:rgba(255,207,117,.05);border-color:rgba(255,207,117,.18);color:#d7c8a5}
.danger-card{border-color:rgba(255,123,146,.28)}
.module-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:20px;padding:0 2px}
.module-heading h2{font-family:Rajdhani,sans-serif;font-size:2rem;margin:3px 0 5px}
.module-heading p{max-width:850px;color:var(--muted);line-height:1.6;margin:0;font-size:.82rem}
.form-stack{display:grid;gap:14px}
.form-stack label,.install-grid label{display:grid;gap:7px}
.form-stack label>span,.install-grid label>span{font-size:.69rem;color:#aeb9c8;font-weight:700}
input,select,textarea{width:100%;border:1px solid var(--line);background:rgba(4,8,14,.65);color:var(--text);border-radius:11px;min-height:45px;padding:0 13px;outline:none;transition:.18s ease}
input:focus,select:focus,textarea:focus{border-color:rgba(111,231,255,.45);box-shadow:0 0 0 3px rgba(111,231,255,.055)}
select option{background:#111826}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.form-grid.triple{grid-template-columns:repeat(3,1fr)}
/* V12.6.50 - Incidencias: alinear boton FILTRAR con el selector Estado */
.compact-grid .form-actions{display:flex;align-items:flex-end}
.compact-grid .form-actions .primary-btn.compact{margin-top:0;min-height:45px}

.password-wrap{position:relative}
.password-wrap input{padding-right:77px}
.password-toggle{position:absolute;right:7px;top:7px;height:31px;border:0;background:rgba(111,231,255,.06);color:var(--cyan);border-radius:8px;font-size:.64rem;padding:0 9px}
.form-feedback{min-height:19px;font-size:.72rem;color:var(--danger)}
.form-feedback.success{color:var(--success)}
.switch-row{display:flex!important;align-items:center;justify-content:space-between;gap:20px;border:1px solid var(--line);padding:13px 14px;border-radius:12px;background:rgba(255,255,255,.015)}
.switch-row span strong,.switch-row span small{display:block}
.switch-row span small{font-size:.66rem;color:var(--muted);margin-top:3px;font-weight:400}
.switch-row input{width:42px;height:22px;min-height:0;accent-color:var(--cyan)}
.accent-card{background:
    radial-gradient(circle at 90% 12%,rgba(156,120,255,.14),transparent 12rem),
    linear-gradient(180deg,rgba(16,22,36,.93),rgba(11,15,25,.94))}
.tech-stack{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}
.tech-stack span{border:1px solid var(--line);border-radius:999px;padding:7px 10px;font-size:.65rem;color:#b5c2d3;background:rgba(255,255,255,.02)}
.table-card{padding:0;overflow:hidden}
.table-responsive{overflow:auto}
.data-table{width:100%;border-collapse:collapse;min-width:820px}
.data-table th,.data-table td{text-align:left;padding:14px 18px;border-bottom:1px solid var(--line);font-size:.75rem}
.data-table th{font-family:Rajdhani,sans-serif;letter-spacing:.09em;color:#8999ae;font-size:.65rem;background:rgba(255,255,255,.02)}
.data-table td{color:#cbd5e1}
.data-table tr:hover td{background:rgba(111,231,255,.015)}
.user-cell{display:flex;align-items:center;gap:10px}
.user-cell strong,.user-cell small{display:block}
.user-cell small{color:var(--muted);font-size:.66rem;margin-top:3px}
.inline-select{min-height:36px;padding:0 9px;font-size:.7rem}
.status-toggle{border:1px solid rgba(255,123,146,.18);background:rgba(255,123,146,.05);color:#ff9aad;border-radius:999px;padding:7px 10px;font-size:.61rem;font-weight:800;letter-spacing:.05em}
.status-toggle.on{border-color:rgba(99,242,189,.22);background:rgba(99,242,189,.06);color:var(--success)}
.roles-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.permission-form{display:grid;gap:8px}
.permission-category{font-family:Rajdhani,sans-serif;font-size:.76rem;letter-spacing:.12em;color:var(--cyan);margin:15px 0 3px}
.permission-row{display:flex;align-items:flex-start;gap:10px;padding:10px;border:1px solid var(--line);border-radius:10px;background:rgba(255,255,255,.012)}
.permission-row input{width:16px;height:16px;min-height:0;margin-top:2px;accent-color:var(--cyan)}
.permission-row span strong,.permission-row span small{display:block}
.permission-row span strong{font-size:.72rem}
.permission-row span small{font-size:.65rem;color:var(--muted);margin-top:3px;line-height:1.45}
.module-list{display:grid;gap:9px}
.module-list-item{display:grid;grid-template-columns:36px minmax(0,1fr) auto;gap:10px;align-items:center;border:1px solid var(--line);border-radius:12px;padding:11px}
.module-symbol{width:34px;height:34px;border-radius:9px;display:grid;place-items:center;color:var(--cyan);background:rgba(111,231,255,.055);border:1px solid rgba(111,231,255,.11)}
.module-list-item strong,.module-list-item small,.module-list-item code{display:block}
.module-list-item strong{font-size:.74rem}
.module-list-item small{font-size:.63rem;color:var(--muted);margin-top:3px}
.module-list-item code{font-size:.61rem;margin-top:4px}
.slider-demo-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px 18px}
.range-row{display:grid;gap:8px;border:1px solid var(--line);padding:12px;border-radius:12px}
.range-row span{display:flex;justify-content:space-between;color:#cbd6e5;font-size:.72rem}
.range-row input{min-height:0;height:7px;padding:0;accent-color:var(--cyan)}
.auth-page{min-height:100vh;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(420px,.75fr)}
.auth-visual{position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;padding:70px;min-height:100vh;background:
    linear-gradient(120deg,rgba(12,20,33,.92),rgba(7,9,16,.75)),
    radial-gradient(circle at 50% 40%,rgba(111,231,255,.12),transparent 26rem)}
.auth-visual:after{content:"";position:absolute;width:640px;height:640px;border-radius:50%;border:1px solid rgba(111,231,255,.08);left:-220px;bottom:-330px;box-shadow:0 0 0 70px rgba(111,231,255,.015),0 0 0 140px rgba(156,120,255,.012)}
.grid-glow{position:absolute;inset:0;background-image:linear-gradient(rgba(111,231,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(111,231,255,.025) 1px,transparent 1px);background-size:42px 42px;mask-image:linear-gradient(to right,#000,transparent 90%)}
.hero-brand{display:flex;gap:24px;align-items:center;max-width:760px;position:relative;z-index:2}
.hero-brand img{width:100px;height:100px;filter:drop-shadow(0 0 30px rgba(111,231,255,.24))}
.hero-brand h1{font-family:Rajdhani,sans-serif;font-size:4.2rem;letter-spacing:.14em;margin:3px 0 2px;line-height:.95}
.hero-brand p{font-size:.92rem;line-height:1.75;color:#9baabc;max-width:650px}
.holo-console{position:relative;z-index:2;width:min(580px,100%);border:1px solid var(--line);background:rgba(8,13,22,.62);backdrop-filter:blur(12px);border-radius:18px;padding:18px;box-shadow:var(--shadow)}
.holo-head{display:flex;align-items:center;gap:6px;border-bottom:1px solid var(--line);padding-bottom:12px;margin-bottom:5px}
.holo-head span{width:6px;height:6px;border-radius:50%;background:#314156}
.holo-head span:first-child{background:var(--cyan)}
.holo-head b{font-family:Rajdhani,sans-serif;font-size:.64rem;letter-spacing:.14em;margin-left:auto;color:var(--muted)}
.holo-row{display:flex;justify-content:space-between;padding:10px 2px;border-bottom:1px solid rgba(255,255,255,.03);font-size:.7rem}
.holo-row span{color:var(--muted)}
.holo-row strong{color:var(--success);font-size:.65rem}
.signal-bars{display:flex;align-items:flex-end;gap:5px;height:32px;margin-top:13px}
.signal-bars i{display:block;width:9px;background:linear-gradient(var(--cyan),var(--violet));opacity:.65;border-radius:2px}
.signal-bars i:nth-child(1){height:10px}.signal-bars i:nth-child(2){height:22px}.signal-bars i:nth-child(3){height:15px}.signal-bars i:nth-child(4){height:29px}.signal-bars i:nth-child(5){height:18px}.signal-bars i:nth-child(6){height:25px}.signal-bars i:nth-child(7){height:12px}
.auth-panel{display:grid;place-items:center;padding:36px;background:rgba(7,9,16,.72);border-left:1px solid var(--line)}
.auth-card{width:min(430px,100%)}
.auth-card-head{margin-bottom:24px}
.auth-card-head h2{font-family:Rajdhani,sans-serif;font-size:2.2rem;margin:4px 0 5px}
.auth-card-head p{color:var(--muted);font-size:.78rem;line-height:1.6;margin:0}
.auth-separator{display:flex;align-items:center;gap:12px;color:var(--muted);font-size:.63rem;margin:18px 0}
.auth-separator:before,.auth-separator:after{content:"";height:1px;background:var(--line);flex:1}
.auth-foot{display:flex;align-items:center;justify-content:center;gap:7px;margin-top:20px;color:var(--muted)}
.auth-foot small{font-size:.62rem}
.status-dot{width:6px;height:6px;border-radius:50%;background:var(--success);box-shadow:0 0 10px var(--success)}
.compact-visual{justify-content:center}
.install-body{padding:38px 20px;background:
    radial-gradient(circle at 10% 0%,rgba(111,231,255,.09),transparent 28rem),
    radial-gradient(circle at 100% 20%,rgba(156,120,255,.08),transparent 24rem),
    var(--bg)}
.install-shell{width:min(1180px,100%);margin:0 auto}
.install-header{display:flex;align-items:center;gap:18px;margin-bottom:24px}
.install-header img{width:70px;height:70px}
.install-header h1{font-family:Rajdhani,sans-serif;font-size:2.4rem;margin:3px 0}
.install-header p{color:var(--muted);margin:0}
.install-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.install-grid>.content-card{display:grid;gap:13px;align-content:start}
.install-action-card{background:
    radial-gradient(circle at 90% 0%,rgba(111,231,255,.12),transparent 13rem),
    linear-gradient(180deg,rgba(16,22,36,.96),rgba(11,15,25,.96))!important}
.step-no{font-family:Rajdhani,sans-serif;color:rgba(111,231,255,.4);font-size:1.55rem;font-weight:700;float:right}
.install-checks{display:grid;gap:10px;margin:6px 0 4px}
.install-checks span{font-size:.72rem;color:#b6c3d4}
.install-checks i{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--success);box-shadow:0 0 10px rgba(99,242,189,.5);margin-right:7px}
.install-checks i.bad{background:var(--danger);box-shadow:none}
.system-stats{margin-top:0;margin-bottom:16px}
.toast-host{position:fixed;right:22px;bottom:22px;z-index:200;display:grid;gap:9px}
.toast{min-width:280px;max-width:420px;padding:12px 14px;border:1px solid rgba(99,242,189,.22);border-radius:12px;background:rgba(11,18,27,.96);box-shadow:var(--shadow);display:flex;align-items:flex-start;gap:10px;color:#dfe9f4;font-size:.72rem;transform:translateY(12px);opacity:0;transition:.2s ease}
.toast.show{transform:none;opacity:1}.toast>span{color:var(--success);font-weight:900}.toast.error{border-color:rgba(255,123,146,.25)}.toast.error>span{color:var(--danger)}
.sidebar-backdrop{display:none}

@media(max-width:1100px){
    .stats-grid{grid-template-columns:repeat(2,1fr)}
    .auth-page{grid-template-columns:1fr}
    .auth-visual{min-height:380px;padding:42px}
    .auth-panel{border-left:0;border-top:1px solid var(--line);padding:55px 24px}
    .holo-console{display:none}
}
@media(max-width:860px){
    .sidebar{transform:translateX(-101%);transition:.22s ease}
    body.sidebar-open .sidebar{transform:none}
    .sidebar-close,.menu-toggle{display:block}
    .workspace{margin-left:0}
    .sidebar-backdrop{display:block;position:fixed;inset:0;background:rgba(0,0,0,.58);z-index:40;opacity:0;pointer-events:none;transition:.2s}
    body.sidebar-open .sidebar-backdrop{opacity:1;pointer-events:auto}
    .two-columns,.roles-grid,.install-grid{grid-template-columns:1fr}
    .topbar{padding:0 18px}
    .content-area{padding:20px}
    .welcome-banner{padding:27px}
    .welcome-core{display:none}
}
@media(max-width:620px){
    .stats-grid{grid-template-columns:1fr}
    .topbar-right .live-pill{display:none}
    .top-user{display:none}
    .welcome-banner h2{font-size:1.75rem}
    .content-area{padding:14px}
    .content-card{padding:18px}
    .form-grid,.form-grid.triple,.slider-demo-grid{grid-template-columns:1fr}
    .auth-visual{padding:30px 22px;min-height:300px}
    .hero-brand{align-items:flex-start}
    .hero-brand img{width:64px;height:64px}
    .hero-brand h1{font-size:2.5rem}
    .hero-brand p{font-size:.8rem}
    .auth-panel{padding:38px 20px}
    .module-heading{display:block}
    .module-heading>.chip{margin-top:12px}
}

.field-help{display:block;color:var(--muted);font-size:.62rem;margin-top:-2px;line-height:1.35}

/* --- Módulo Canal de Twitch --- */
.twitch-setup-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.twitch-step-card{position:relative;overflow:hidden;min-height:320px}
.twitch-step-card.current{border-color:rgba(145,70,255,.38);box-shadow:0 18px 48px rgba(82,48,160,.10)}
.twitch-step-card.completed{border-color:rgba(99,242,189,.22)}
.twitch-step-card.locked{opacity:.72}
.twitch-step-number{position:absolute;right:18px;top:14px;font-family:Rajdhani,sans-serif;font-size:2.4rem;font-weight:800;color:rgba(111,231,255,.10)}
.twitch-channel-input{display:flex;align-items:center;border:1px solid var(--line);background:rgba(4,8,14,.65);border-radius:11px;overflow:hidden}
.twitch-channel-input:focus-within{border-color:rgba(111,231,255,.45);box-shadow:0 0 0 3px rgba(111,231,255,.055)}
.twitch-channel-input b{padding:0 0 0 13px;color:var(--muted);font-size:.75rem;font-weight:600}
.twitch-channel-input input{border:0!important;box-shadow:none!important;background:transparent}
.twitch-channel-registered{display:flex;align-items:center;gap:13px;padding:17px;border:1px solid rgba(99,242,189,.20);background:rgba(99,242,189,.045);border-radius:14px;margin-top:18px}
.twitch-channel-registered small,.twitch-channel-registered strong{display:block}
.twitch-channel-registered small{color:var(--muted);font-size:.65rem;margin-bottom:3px}
.twitch-channel-registered strong{font-size:1rem}
.twitch-check{width:38px;height:38px;display:grid;place-items:center;border-radius:50%;background:rgba(99,242,189,.11);border:1px solid rgba(99,242,189,.24);color:var(--success);font-size:1.1rem;font-weight:900}
.twitch-authorize-btn{display:flex;align-items:center;justify-content:center;gap:10px;min-height:49px;padding:0 16px;margin-top:19px;border-radius:12px;background:linear-gradient(100deg,rgba(145,70,255,.92),rgba(103,52,205,.95));border:1px solid rgba(190,159,255,.36);font-size:.74rem;font-weight:800;letter-spacing:.055em;box-shadow:0 12px 32px rgba(87,44,175,.18);transition:.2s ease}
.twitch-authorize-btn:hover{transform:translateY(-1px);box-shadow:0 16px 38px rgba(87,44,175,.26)}
.twitch-logo-mini{width:27px;height:27px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.25);border-radius:7px;background:rgba(255,255,255,.10);font-family:Rajdhani,sans-serif;font-size:1rem}
.twitch-reauthorize{margin-top:16px}
.twitch-info-card{margin-top:16px}
.twitch-progress{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.twitch-progress>div{display:flex;align-items:center;gap:8px;padding:11px;border:1px solid var(--line);border-radius:11px;color:var(--muted);font-size:.69rem}
.twitch-progress i{width:9px;height:9px;border-radius:50%;background:#38445a;flex:0 0 auto}
.twitch-progress .done{color:#d7e5ef;border-color:rgba(99,242,189,.15)}
.twitch-progress .done i{background:var(--success);box-shadow:0 0 12px rgba(99,242,189,.45)}
.twitch-flash{margin-bottom:16px}
@media(max-width:860px){.twitch-setup-grid{grid-template-columns:1fr}.twitch-progress{grid-template-columns:1fr}}

.twitch-admin-subhead{margin-top:12px;padding-top:18px;border-top:1px solid var(--line)}
textarea{min-height:120px;padding:12px 13px;resize:vertical;line-height:1.5}

/* --- Gestión destructiva: canales y cuentas --- */
.danger-zone-card{margin-top:16px;border-color:rgba(255,123,146,.25);background:linear-gradient(180deg,rgba(31,16,24,.84),rgba(15,13,21,.94))}
.danger-text{color:var(--danger)!important}
.danger-btn{border:1px solid rgba(255,123,146,.38);background:rgba(255,123,146,.09);color:#ff9fb0;border-radius:11px;min-height:42px;padding:0 15px;font-size:.68rem;font-weight:800;letter-spacing:.06em;transition:.18s ease}
.danger-btn:hover{background:rgba(255,123,146,.16);border-color:rgba(255,123,146,.58);transform:translateY(-1px)}
.danger-btn.small{min-height:33px;padding:0 10px;font-size:.59rem}
.inline-delete-form{display:inline-block;margin:0}
.mini-warning{display:inline-block;margin-top:5px;color:var(--warning);font-size:.56rem;font-weight:800;letter-spacing:.05em}

/* --- Administración de temáticas --- */
.tematica-category-summary{display:grid;gap:9px}
.tematica-summary-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 13px;border:1px solid var(--line);border-radius:11px;background:rgba(7,12,20,.34)}
.tematica-summary-row strong,.tematica-summary-row small{display:block}
.tematica-summary-row small{margin-top:3px;color:var(--muted);font-size:.63rem}
.tematicas-table-card{margin-top:16px}
@media(max-width:760px){.tematica-summary-row{align-items:flex-start;flex-direction:column}}

/* --- Configuración de transmisión del cliente --- */
.azuna-stream-config{gap:16px}
.azuna-stream-config .content-grid{margin-top:0}
.prompt-description-box,.voice-description-box{margin-top:14px;padding:16px 17px;border:1px solid var(--line);border-radius:14px;background:rgba(111,231,255,.035);min-height:112px}
.prompt-description-box p,.voice-description-box p{margin:8px 0 0;color:#c3cedd;line-height:1.7;white-space:pre-line}
.stream-config-save-card{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:0}
.stream-config-save-card h3{margin:4px 0}
.stream-config-save-card p{margin:5px 0 0}
.stream-config-save-card .primary-btn{flex:0 0 auto;min-width:240px}
.stream-config-save-card .form-feedback{width:100%}
.twitch-config-link{margin-top:16px;width:max-content;max-width:100%}
textarea:disabled,input:disabled,select:disabled{opacity:.58;cursor:not-allowed}
input[readonly]{background:rgba(255,255,255,.025);color:#aebdce}
@media(max-width:800px){
    .stream-config-save-card{align-items:stretch;flex-direction:column}
    .stream-config-save-card .primary-btn{width:100%;min-width:0}
}

/* --- OAuth central de la cuenta bot --- */
.bot-token-check-form{margin-top:12px}.bot-token-check-form .secondary-btn{width:100%}

/* --- Panel Twitch simplificado V10 --- */
.hidden-field{
    display:none !important;
}

.twitch-simple-flow{
    display:flex;
    align-items:center;
    gap:12px;
    flex-wrap:wrap;
    padding:13px 16px;
    margin-bottom:16px;
    border:1px solid var(--line);
    border-radius:14px;
    background:rgba(111,231,255,.025);
    color:#b9c7d8;
    font-size:.72rem;
}

.twitch-simple-flow .eyebrow{
    width:100%;
}

.twitch-simple-flow b{
    color:var(--cyan);
}

.twitch-simple-grid{
    align-items:start;
}

.twitch-status-big{
    display:flex;
    align-items:center;
    gap:13px;
    padding:15px;
    margin:12px 0 16px;
    border:1px solid rgba(255,190,90,.2);
    border-radius:14px;
    background:rgba(255,190,90,.04);
}

.twitch-status-big>span{
    width:38px;
    height:38px;
    display:grid;
    place-items:center;
    flex:0 0 38px;
    border-radius:50%;
    border:1px solid rgba(255,190,90,.28);
    color:#ffcc7b;
    font-weight:900;
}

.twitch-status-big.is-ready{
    border-color:rgba(99,242,189,.22);
    background:rgba(99,242,189,.045);
}

.twitch-status-big.is-ready>span{
    border-color:rgba(99,242,189,.3);
    color:var(--success);
}

.twitch-status-big strong,
.twitch-status-big small{
    display:block;
}

.twitch-status-big small{
    margin-top:4px;
    color:var(--muted);
    font-size:.68rem;
}

.twitch-actions{
    display:flex;
    gap:10px;
    flex-wrap:wrap;
    margin:15px 0 18px;
}

.inline-action-form{
    margin:0;
}

.twitch-secret-panel{
    margin-top:18px;
    padding:16px;
    border:1px solid var(--line);
    border-radius:14px;
    background:rgba(255,255,255,.015);
}

.twitch-secret-panel .card-head{
    margin-bottom:4px;
}

.secret-row{
    display:grid;
    grid-template-columns:180px minmax(0,1fr);
    gap:12px;
    align-items:center;
    padding:11px 0;
    border-bottom:1px solid var(--line);
}

.secret-row:last-of-type{
    border-bottom:0;
}

.secret-row span{
    color:#8fa0b5;
    font-size:.68rem;
}

.secret-row code{
    display:block;
    overflow:auto;
    white-space:nowrap;
    padding:8px 10px;
    border-radius:9px;
    background:#080d15;
    color:#bcecff;
    font-size:.69rem;
}

.twitch-advanced{
    margin-top:17px;
    border:1px solid var(--line);
    border-radius:12px;
    overflow:hidden;
}

.twitch-advanced summary{
    cursor:pointer;
    list-style:none;
    padding:13px 15px;
    color:#aebed1;
    font-size:.69rem;
    font-weight:800;
    letter-spacing:.04em;
    background:rgba(255,255,255,.015);
}

.twitch-advanced summary::-webkit-details-marker{
    display:none;
}

.twitch-advanced summary::after{
    content:'+';
    float:right;
    color:var(--cyan);
}

.twitch-advanced[open] summary::after{
    content:'–';
}

.twitch-advanced .advanced-body{
    padding:15px;
    border-top:1px solid var(--line);
}

@media(max-width:760px){
    .secret-row{
        grid-template-columns:1fr;
    }

    .twitch-actions{
        flex-direction:column;
    }

    .twitch-actions .primary-btn,
    .twitch-actions .secondary-btn{
        width:100%;
    }
}

/* --- Twitch V12: formulario central manual --- */
.twitch-token-form-card{
    max-width:980px;
    margin:0 auto;
}

.twitch-token-form-card label small{
    display:block;
    margin-top:6px;
    color:var(--muted);
    font-size:.66rem;
    line-height:1.5;
}

.token-divider{
    display:flex;
    align-items:center;
    gap:12px;
    margin:8px 0 2px;
}

.token-divider::before,
.token-divider::after{
    content:"";
    height:1px;
    flex:1;
    background:var(--line);
}

.token-divider span{
    color:var(--cyan);
    font-size:.64rem;
    font-weight:900;
    letter-spacing:.16em;
}

.twitch-form-actions{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
}

.twitch-token-status{
    margin-top:18px;
}

.twitch-activation-card{
    margin-top:16px;
}

@media(max-width:760px){
    .twitch-form-actions{
        flex-direction:column;
    }

    .twitch-form-actions button{
        width:100%;
    }
}

/* --- Twitch V12.3: refresh manual de canal --- */
.twitch-refresh-form{
    margin-top:14px;
}

.twitch-refresh-form .twitch-reauthorize{
    width:100%;
}

.twitch-refresh-help{
    margin:9px 0 5px;
    color:var(--muted);
    font-size:.66rem;
    line-height:1.5;
}

.twitch-reauthorize-link{
    display:inline-block;
    margin-top:3px;
    color:#84dfff;
    font-size:.66rem;
    text-decoration:none;
}

.twitch-reauthorize-link:hover{
    text-decoration:underline;
}

/* --- Azuna: feedback visual de acciones --- */
.azuna-action-avatar{
    position:fixed;
    right:8px;
    bottom:0;
    height:min(62vh,620px);
    aspect-ratio:5 / 6;
    z-index:28;
    pointer-events:none;
    opacity:0;
    visibility:hidden;
    transform:translateY(10px);
    transition:opacity .18s ease, transform .22s ease, visibility 0s linear .22s;
    overflow:visible;
}

.azuna-action-avatar.is-visible{
    opacity:.90;
    visibility:visible;
    transform:translateY(0);
    transition:opacity .18s ease, transform .22s ease, visibility 0s;
}

.azuna-action-avatar-video{
    display:block;
    width:100%;
    height:100%;
    object-fit:contain;
    object-position:right bottom;
    filter:drop-shadow(0 16px 22px rgba(0,0,0,.34));
}

@media(max-width:900px){
    .azuna-action-avatar{
        right:-8px;
        height:min(52vh,440px);
    }
}

@media(max-width:560px){
    .azuna-action-avatar{
        right:-22px;
        height:min(46vh,360px);
        opacity:0;
    }

    .azuna-action-avatar.is-visible{
        opacity:.90;
    }
}

/* --- Azuna Portal V12.6: noticias, cuenta y seguridad --- */
.section-title-row{display:flex;align-items:end;justify-content:space-between;gap:16px;margin:26px 0 14px}.section-title-row h2{margin:4px 0 0}.dashboard-news{margin-bottom:24px}.news-list{display:grid;gap:14px}.dashboard-news-list{grid-template-columns:repeat(2,minmax(0,1fr))}.news-card{position:relative}.news-card.news-featured{grid-column:1/-1;border-color:rgba(111,231,255,.28);box-shadow:0 0 34px rgba(111,231,255,.05)}.news-card h3{margin:8px 0 9px;font-size:1.08rem}.news-card p{margin:0 0 16px;color:var(--muted);line-height:1.65}.news-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px;color:#8fa1b6;font-size:.68rem;font-weight:800;letter-spacing:.035em}.older-news{padding:0;margin-top:14px;overflow:hidden}.older-news summary{cursor:pointer;padding:16px 18px;font-weight:900;color:#c7d8e8;list-style:none}.older-news summary::-webkit-details-marker{display:none}.older-news summary::after{content:'+';float:right;color:var(--cyan)}.older-news[open] summary::after{content:'–'}.older-news-list{display:grid;border-top:1px solid var(--line)}.older-news-list a{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 18px;border-bottom:1px solid rgba(255,255,255,.045);color:#c9d6e5;text-decoration:none}.older-news-list a:hover{background:rgba(111,231,255,.035);color:#fff}.older-news-list small{white-space:nowrap;color:var(--muted)}.older-news-list .older-news-all{color:var(--cyan);font-weight:900}.news-full{max-width:1000px;margin:0 auto}.news-full h2{font-size:clamp(1.55rem,3vw,2.35rem);margin:10px 0}.news-lead{font-size:1.03rem;color:#c4d2df;line-height:1.7;padding-bottom:18px;border-bottom:1px solid var(--line)}.news-content{padding-top:18px;color:#d2dce6;line-height:1.8;white-space:normal}.news-actions{margin-top:26px}.pagination{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:18px}.news-admin-grid{align-items:start}.table-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.account-security-card{margin-top:16px}.ua-cell{max-width:430px;white-space:normal;word-break:break-word;color:var(--muted);font-size:.72rem}.user-admin-summary{align-items:start}.portal-settings-form{margin-top:16px}.form-stack label small{display:block;color:var(--muted);font-size:.66rem;line-height:1.5}.security-mini{display:grid;gap:4px;min-width:130px}.security-mini small{color:var(--muted)}.ip-security-box{display:grid;gap:8px;min-width:260px;padding:10px;border:1px solid var(--line);border-radius:11px;background:rgba(255,255,255,.012)}.ip-security-box.is-locked{border-color:rgba(76,211,151,.32);background:rgba(76,211,151,.035)}.ip-security-state{display:flex;align-items:center;justify-content:space-between;gap:8px}.ip-security-state span{font-size:.62rem;font-weight:900;letter-spacing:.08em;color:var(--muted)}.ip-security-state strong{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.72rem}.ip-lock-form{display:grid;grid-template-columns:minmax(150px,1fr) auto;gap:7px;align-items:center}.ip-lock-form .form-feedback,.ip-unlock-form .form-feedback{display:none}.ip-lock-form select{min-height:38px;font-size:.7rem}.ip-lock-form .secondary-btn{min-height:38px;padding:0 11px}.ip-unlock-form{display:flex}.users-security-table td{vertical-align:top}

@media(max-width:980px){.dashboard-news-list{grid-template-columns:1fr}.news-card.news-featured{grid-column:auto}.section-title-row{align-items:flex-start}.ip-security-box{min-width:220px}}
@media(max-width:620px){.section-title-row{flex-direction:column;align-items:stretch}.pagination{flex-wrap:wrap}.older-news-list a{align-items:flex-start}.ip-lock-form{grid-template-columns:1fr}}

/* --- V12.6.6: acceso SFTP del cliente Windows --- */
.sftp-access-card{margin-top:16px;border-color:rgba(111,231,255,.20);background:linear-gradient(180deg,rgba(11,20,31,.93),rgba(8,14,24,.96))}
.sftp-access-state[hidden]{display:none!important}
.sftp-waiting{display:grid;grid-template-columns:auto 1fr;gap:15px;align-items:center;padding:17px;border:1px solid rgba(111,231,255,.18);border-radius:14px;background:rgba(111,231,255,.035)}
.sftp-waiting strong{display:block;margin-bottom:4px}
.sftp-waiting p{margin:0;line-height:1.6}
.sftp-wait-icon{width:46px;height:46px;display:grid;place-items:center;border:1px solid rgba(111,231,255,.26);border-radius:50%;font-size:1.35rem;color:var(--cyan);animation:sftp-spin 1.6s linear infinite}
.sftp-countdown{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:12px;padding-top:11px;border-top:1px solid var(--line);color:var(--muted);font-size:.65rem}
.sftp-countdown strong{margin:0;color:#e8f7ff;font-family:Rajdhani,sans-serif;font-size:1.15rem;letter-spacing:.08em}
.sftp-ready .twitch-channel-registered{margin-top:0}
.sftp-download-help{margin:14px 0}
.sftp-security-note{margin-top:10px;color:#f6c77e}
.sftp-access-feedback{margin-top:10px}
@keyframes sftp-spin{to{transform:rotate(360deg)}}
@media(max-width:640px){.sftp-waiting{grid-template-columns:1fr}.sftp-wait-icon{width:38px;height:38px}.sftp-countdown{align-items:flex-start;flex-direction:column}}

/* --- Azuna Portal V12.6.7: selector de idioma ES / EN --- */
.portal-language-switcher{display:inline-flex;align-items:center;gap:3px;padding:3px;border:1px solid var(--line);border-radius:999px;background:rgba(255,255,255,.025);box-shadow:0 8px 24px rgba(0,0,0,.16)}
.portal-language-switcher .lang-option{display:grid;place-items:center;min-width:34px;height:26px;padding:0 8px;border-radius:999px;color:#8092a8;text-decoration:none;font-family:Rajdhani,sans-serif;font-size:.68rem;font-weight:900;letter-spacing:.08em;transition:.18s ease}
.portal-language-switcher .lang-option:hover{color:#eaf8ff;background:rgba(111,231,255,.07)}
.portal-language-switcher .lang-option.active{color:#071019;background:var(--cyan);box-shadow:0 0 16px rgba(111,231,255,.22)}
.auth-language-switcher{position:fixed;right:20px;top:18px;z-index:90;background:rgba(7,9,16,.82);backdrop-filter:blur(12px)}
@media(max-width:760px){.topbar-right{gap:10px}.portal-language-switcher .lang-option{min-width:30px;padding:0 6px}.auth-language-switcher{right:14px;top:12px}}

/* V12.6.13 · Activación de clientes */
.activation-key-card{margin-bottom:16px;border-color:rgba(99,242,189,.28);box-shadow:0 0 34px rgba(99,242,189,.05)}
.activation-key-value{margin:14px 0;padding:18px;border:1px solid rgba(111,231,255,.28);border-radius:12px;background:rgba(0,0,0,.22);font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:clamp(1rem,2.2vw,1.35rem);font-weight:900;letter-spacing:.08em;color:#e9fbff;word-break:break-all;user-select:all}
.muted-line{color:var(--muted);line-height:1.65;font-size:.78rem}

/* V12.6.15 · Selector de vigencia de licencias. Evita que los radio hereden
   el width:100% y min-height de los inputs de formulario generales. */
.license-mode-fieldset{border:0;padding:0;margin:0;min-width:0}
.license-mode-fieldset legend{margin:0 0 9px;color:var(--text);font-weight:800;font-size:.78rem}
.license-mode-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.license-mode-option{display:flex!important;align-items:center;gap:11px;min-width:0;padding:12px 13px;border:1px solid var(--line);border-radius:11px;background:rgba(255,255,255,.012);cursor:pointer;transition:.18s ease}
.license-mode-option:hover{border-color:rgba(111,231,255,.28);background:rgba(111,231,255,.035)}
.license-mode-option:has(input:checked){border-color:rgba(111,231,255,.38);background:rgba(111,231,255,.055);box-shadow:inset 0 0 0 1px rgba(111,231,255,.05)}
.license-mode-option input[type="radio"]{appearance:auto!important;-webkit-appearance:radio!important;width:17px!important;height:17px!important;min-height:0!important;padding:0!important;margin:0!important;flex:0 0 17px;accent-color:var(--cyan);box-shadow:none!important}
.license-mode-option input[type="checkbox"]{appearance:auto!important;-webkit-appearance:checkbox!important;width:17px!important;height:17px!important;min-height:0!important;padding:0!important;margin:0!important;flex:0 0 17px;accent-color:var(--cyan);box-shadow:none!important}
.license-mode-option>span{display:grid;gap:2px;min-width:0}
.license-mode-option strong{font-size:.76rem;color:#dbe8f5}
.license-mode-option small{font-size:.64rem!important;color:var(--muted)}
@media(max-width:700px){.license-mode-options{grid-template-columns:1fr}}

/* V12.6.16 - Estado y cuenta atrás de licencia visible para Cliente */
.chip.warning{color:var(--warning);border-color:rgba(255,207,117,.28);background:rgba(255,207,117,.07)}
.chip.danger{color:var(--danger);border-color:rgba(255,123,146,.28);background:rgba(255,123,146,.07)}
.client-license-card{margin-top:18px;padding:24px;border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(180deg,rgba(16,22,36,.95),rgba(11,15,25,.95));box-shadow:0 16px 40px rgba(0,0,0,.16);position:relative;overflow:hidden}
.client-license-card:after{content:"";position:absolute;width:230px;height:230px;border-radius:50%;right:-105px;top:-125px;border:1px solid rgba(111,231,255,.10);box-shadow:0 0 0 34px rgba(111,231,255,.018),0 0 0 68px rgba(156,120,255,.014);pointer-events:none}
.client-license-card.success{border-color:rgba(99,242,189,.22)}
.client-license-card.warning{border-color:rgba(255,207,117,.26)}
.client-license-card.danger{border-color:rgba(255,123,146,.28)}
.client-license-main{display:flex;align-items:flex-start;justify-content:space-between;gap:22px;position:relative;z-index:1}
.client-license-main h2{font-family:Rajdhani,sans-serif;font-size:1.55rem;margin:4px 0 7px}
.client-license-main p{margin:0;color:var(--muted);font-size:.76rem;line-height:1.6;max-width:760px}
.client-license-body{display:grid;grid-template-columns:minmax(210px,.68fr) minmax(0,1.5fr);gap:18px;margin-top:18px;position:relative;z-index:1}
.license-countdown{min-height:145px;border:1px solid var(--line);border-radius:15px;background:rgba(4,8,14,.40);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:18px}
.license-countdown strong{font-family:Rajdhani,sans-serif;font-size:3.15rem;line-height:.9;color:var(--cyan);text-shadow:0 0 24px rgba(111,231,255,.22)}
.client-license-card.warning .license-countdown strong{color:var(--warning);text-shadow:0 0 24px rgba(255,207,117,.16)}
.client-license-card.danger .license-countdown strong{color:var(--danger);text-shadow:0 0 24px rgba(255,123,146,.16)}
.license-countdown span{margin-top:10px;font-family:Rajdhani,sans-serif;font-weight:800;font-size:.75rem;letter-spacing:.14em;color:#dbe8f5}
.license-countdown small{margin-top:5px;color:var(--muted);font-size:.65rem}
.license-details{border:1px solid var(--line);border-radius:15px;background:rgba(4,8,14,.28);padding:4px 16px;display:grid;align-content:center}
.license-details>div{display:flex;justify-content:space-between;gap:18px;padding:14px 0;border-bottom:1px solid var(--line);font-size:.76rem}
.license-details>div:last-child{border-bottom:0}
.license-details span{color:var(--muted)}
.license-details strong{text-align:right;color:#e7f0fa}
.license-expiry-warning{margin-top:14px;padding:11px 13px;border:1px solid rgba(255,123,146,.19);border-radius:11px;background:rgba(255,123,146,.055);color:#e2b5bf;font-size:.7rem;line-height:1.55;position:relative;z-index:1}
@media(max-width:760px){.client-license-main{display:grid}.client-license-main>.chip{justify-self:start}.client-license-body{grid-template-columns:1fr}.license-countdown{min-height:125px}}

/* V12.6.18 · Correo / SMTP */
.mail-stats{margin-bottom:18px}
.mail-current-card,.mail-settings-card,.mail-test-card{margin-top:18px}
.mail-form-grid{display:grid;gap:14px}
.mail-form-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}
.mail-form-grid.three{grid-template-columns:minmax(0,1.5fr) minmax(120px,.55fr) minmax(0,1fr)}
.mail-security-note{display:grid;gap:7px;align-content:center;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:rgba(111,231,255,.025)}
.mail-security-note strong{font-size:.7rem;color:#c8d7e6}
.mail-security-note small{font-size:.66rem;color:var(--muted);line-height:1.55}
.mail-last-test{margin-top:16px}
.mail-settings-form code,.mail-current-card code,.mail-security-note code{word-break:break-all}
@media(max-width:900px){.mail-form-grid.two,.mail-form-grid.three{grid-template-columns:1fr}}

/* V12.6.20 · Soporte / Tickets */
.support-stats,.support-admin-stats{margin-bottom:18px}
.support-list-card,.support-admin-list,.support-filter-card{margin-top:18px}
.support-table td{vertical-align:middle}
.support-table td:first-child{white-space:nowrap}
.support-cell-sub{display:block;margin-top:4px;color:var(--muted);font-size:.62rem;line-height:1.35}
.support-unread-row{background:rgba(111,231,255,.035)}
.support-new-dot{display:inline-block;width:7px;height:7px;margin-left:7px;border-radius:50%;background:var(--cyan);box-shadow:0 0 13px rgba(111,231,255,.7);vertical-align:middle}
.support-form-two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.support-ticket-heading{margin-bottom:12px}
.support-ticket-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0 0 16px}
.support-meta-text{margin-left:auto;color:var(--muted);font-size:.68rem}
.support-thread{display:grid;gap:12px;margin:16px 0 18px}
.support-message{max-width:min(860px,92%);padding:15px 17px;border:1px solid var(--line);border-radius:15px;background:rgba(8,13,22,.82);box-shadow:0 10px 28px rgba(0,0,0,.12)}
.support-message.from-user{justify-self:start;border-top-left-radius:5px}
.support-message.from-admin{justify-self:end;border-color:rgba(111,231,255,.24);border-top-right-radius:5px;background:linear-gradient(180deg,rgba(20,36,50,.88),rgba(10,19,29,.9))}
.support-message-head{display:flex;justify-content:space-between;gap:18px;padding-bottom:9px;margin-bottom:10px;border-bottom:1px solid var(--line)}
.support-message-head strong{font-size:.72rem;color:#e8f4ff}
.support-message-head span{color:var(--muted);font-size:.62rem;white-space:nowrap}
.support-message-body{font-size:.76rem;line-height:1.72;color:#d2deeb;overflow-wrap:anywhere}
.support-reply-card{margin-top:18px}
.support-filter-form{display:grid;grid-template-columns:minmax(220px,1.5fr) minmax(150px,.8fr) minmax(170px,.9fr) auto auto;gap:10px;align-items:end}
.support-filter-form label{margin:0}
.support-admin-view-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(280px,.65fr);gap:18px;align-items:start}
.support-management-card{position:sticky;top:92px}
.support-management-form{margin-top:16px}
.support-check{display:flex!important;align-items:center;gap:9px;cursor:pointer}
.support-check input[type="checkbox"]{appearance:auto!important;-webkit-appearance:checkbox!important;width:16px!important;height:16px!important;min-height:0!important;padding:0!important;margin:0!important;flex:0 0 16px;accent-color:var(--cyan);box-shadow:none!important}
.support-check span{font-size:.72rem;color:#d8e4ef}
@media(max-width:1050px){.support-filter-form{grid-template-columns:repeat(2,minmax(0,1fr))}.support-filter-form .primary-btn,.support-filter-form .secondary-btn{width:100%}.support-admin-view-grid{grid-template-columns:1fr}.support-management-card{position:static}}
@media(max-width:700px){.support-form-two,.support-filter-form{grid-template-columns:1fr}.support-message{max-width:100%}.support-message-head{align-items:flex-start;flex-direction:column;gap:3px}.support-meta-text{margin-left:0;width:100%}}


/* V12.6.21 · Selectores del formulario de soporte */
.support-select-field{align-content:start}
.support-select-wrap{position:relative;display:block;width:100%;min-width:0}
.support-select-wrap::after{content:'⌄';position:absolute;right:14px;top:50%;transform:translateY(-54%);color:#8fb4c9;font-size:1rem;font-weight:900;line-height:1;pointer-events:none;transition:.18s ease}
.support-select-wrap:focus-within::after{color:var(--cyan)}
.support-select-wrap select{appearance:none;-webkit-appearance:none;width:100%;min-height:48px;padding:0 42px 0 14px;border:1px solid rgba(126,154,184,.24);border-radius:12px;background:linear-gradient(180deg,rgba(10,16,27,.96),rgba(6,11,20,.96));color:#eef7ff;font-weight:650;box-shadow:inset 0 1px 0 rgba(255,255,255,.018);cursor:pointer}
.support-select-wrap select:hover{border-color:rgba(111,231,255,.27);background:linear-gradient(180deg,rgba(12,21,33,.98),rgba(7,13,23,.98))}
.support-select-wrap select:focus{border-color:rgba(111,231,255,.48);box-shadow:0 0 0 3px rgba(111,231,255,.06),inset 0 1px 0 rgba(255,255,255,.02)}
.support-select-wrap select option{background:#0b121e;color:#edf7ff}

/* V12.6.22 · Puntos del canal */
.points-config-layout{align-items:start}
.points-config-card,.points-info-card{min-height:100%}
.points-settings-form{margin-top:18px}
.points-setting-box{display:grid;grid-template-columns:minmax(0,1fr) 150px;gap:18px;align-items:center;padding:18px;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.018)}
.points-setting-box strong{display:block;margin:5px 0 3px;font-size:1rem}
.points-setting-box small{display:block;color:var(--muted);line-height:1.55}
.points-setting-box code{color:#9defff}
.points-number-field{margin:0}
.points-number-field span{font-size:.66rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.points-number-field input{margin-top:7px;text-align:center;font-family:Rajdhani,sans-serif;font-size:1.35rem;font-weight:800}
.points-safe-notice{margin-top:16px}
.points-ranking-card{margin-top:16px}
.points-ranking-head{align-items:flex-start}
.points-search-form{display:flex;gap:10px;align-items:flex-end;padding:0 18px 16px}
.points-search-form label{flex:1;max-width:420px;margin:0}
.points-search-form .secondary-btn{min-height:45px;display:inline-flex;align-items:center;justify-content:center}
.points-table .points-rank-number{display:inline-flex;width:30px;height:30px;align-items:center;justify-content:center;border-radius:9px;border:1px solid rgba(111,231,255,.16);background:rgba(111,231,255,.045);font-family:Rajdhani,sans-serif;font-weight:800;color:#b8f4ff}
.points-user-name{color:#eef6ff}
.points-total-value{font-family:Rajdhani,sans-serif;font-size:1rem;color:#8feaff}
.points-pagination{display:flex;justify-content:center;align-items:center;gap:12px;padding:18px}
@media (max-width:760px){
    .points-setting-box{grid-template-columns:1fr}
    .points-number-field{max-width:180px}
    .points-search-form{align-items:stretch;flex-direction:column}
    .points-search-form label{max-width:none}
    .points-pagination{flex-wrap:wrap}
}

/* --- V12.6.24 · Catálogo de avatares, tienda y OBS --- */
.avatar-admin-layout{grid-template-columns:minmax(0,1.7fr) minmax(300px,.7fr)}
.avatar-card-grid,.store-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.avatar-card-admin,.store-card,.collection-card{border:1px solid var(--line);border-radius:16px;overflow:hidden;background:linear-gradient(180deg,rgba(18,25,40,.95),rgba(10,14,23,.96));box-shadow:0 14px 35px rgba(0,0,0,.14)}
.avatar-card-cover,.store-card-image,.collection-cover{position:relative;aspect-ratio:16/10;background:rgba(255,255,255,.02);overflow:hidden}
.avatar-card-cover img,.store-card-image img,.collection-cover img,.avatar-cover-preview img{width:100%;height:100%;object-fit:cover;display:block}
.avatar-cover-empty{width:100%;height:100%;display:grid;place-items:center;min-height:150px;background:radial-gradient(circle at 50% 35%,rgba(111,231,255,.18),transparent 34%),linear-gradient(135deg,rgba(80,61,170,.35),rgba(15,24,39,.65));font:700 3rem Rajdhani;color:var(--cyan)}
.avatar-card-body,.store-card-body{padding:17px}.avatar-card-body h3,.store-card-body h3,.collection-card h3{margin:0;font-family:Rajdhani;font-size:1.35rem}.avatar-card-body p,.store-card-body p,.collection-card p{color:var(--muted);font-size:.73rem;line-height:1.55;min-height:2.3em}
.avatar-meta-line{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0}.avatar-meta-line span{padding:5px 8px;border:1px solid var(--line);border-radius:8px;color:#aebed1;font-size:.61rem;background:rgba(255,255,255,.025)}
.store-badge{position:absolute;left:10px;top:10px;z-index:2;padding:6px 9px;border-radius:8px;font-size:.58rem;font-weight:900;letter-spacing:.05em;background:rgba(24,29,42,.9);border:1px solid var(--line)}
.store-badge.new{background:#c52d73;border-color:#ef5aa1;color:white}.store-badge.owned{background:rgba(29,144,98,.9);border-color:rgba(99,242,189,.45);color:#dcfff1}.store-badge.active{background:rgba(33,135,91,.9);color:#d9fff0}.store-badge.draft{color:var(--warning)}
.avatar-admin-side{align-self:start;position:sticky;top:108px}.avatar-audio-root{margin-top:26px;padding-top:22px;border-top:1px solid var(--line)}
.avatar-editor-top{align-items:start}.avatar-cover-preview{aspect-ratio:16/10;border:1px dashed var(--line-strong);border-radius:14px;overflow:hidden;margin-bottom:14px;background:rgba(255,255,255,.02)}
.form-grid.two{display:grid;grid-template-columns:1fr 1fr;gap:12px}.check-row{display:flex!important;align-items:center;gap:10px}.check-row input{width:auto!important;min-height:0!important}.check-row span{margin:0!important}
.avatar-editor-functions{grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr)}.action-list-admin{display:grid;gap:9px}.action-admin-row{display:flex;justify-content:space-between;gap:14px;padding:13px 14px;border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.015)}.action-admin-row strong,.action-admin-row small{display:block}.action-admin-row small{color:var(--muted);font-size:.63rem;margin-top:3px;max-width:520px}.action-admin-tags{display:flex;gap:6px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.action-admin-tags span,.action-admin-tags b{font-size:.57rem;padding:5px 7px;border-radius:7px;border:1px solid var(--line);color:#aebed1;font-weight:700}
.admin-details{margin-top:14px;border:1px solid var(--line);border-radius:12px;overflow:hidden}.admin-details summary{cursor:pointer;padding:13px 14px;font-size:.7rem;font-weight:800;color:var(--cyan);background:rgba(111,231,255,.025)}.admin-details .details-body{padding:15px;border-top:1px solid var(--line)}
.avatar-video-table-card,.avatar-exclusive-card{margin-top:16px}.table-sub{display:block;color:var(--muted);font-size:.58rem;margin-top:4px}.secondary-btn.mini,.primary-btn.mini{display:inline-flex;min-height:31px;padding:0 9px;font-size:.58rem;margin:0}
.store-wallet{min-width:155px;padding:10px 13px;border:1px solid rgba(255,207,117,.22);border-radius:12px;background:rgba(255,207,117,.055);text-align:right}.store-wallet small,.store-wallet strong{display:block}.store-wallet small{font-size:.58rem;color:var(--muted)}.store-wallet strong{margin-top:4px;color:var(--warning);font-size:1.15rem}
.store-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:16px 0}.store-tabs{display:flex;gap:8px;flex-wrap:wrap}.store-tab{padding:9px 13px;border:1px solid var(--line);border-radius:9px;color:#aebed1;font-size:.68rem}.store-tab.active{background:linear-gradient(100deg,rgba(42,181,219,.18),rgba(122,91,239,.22));border-color:rgba(111,231,255,.35);color:white}
.store-card{position:relative}.store-card.owned{border-color:rgba(99,242,189,.28)}.store-card-body>small{color:var(--muted);font-size:.62rem}.store-price-row{display:flex;justify-content:space-between;gap:10px;margin:14px 0;padding-top:12px;border-top:1px solid var(--line)}.store-price-row small,.store-price-row strong{display:block}.store-price-row small{color:var(--muted);font-size:.58rem}.store-price-row strong{margin-top:3px;font-size:1.05rem}.store-buy-form{margin-top:8px}.store-buy-form .primary-btn{width:100%}.exclusive-btn{width:100%;min-height:42px;border:1px solid rgba(255,190,65,.5);border-radius:11px;background:rgba(255,190,65,.055);color:#ffd887;font-size:.66rem;font-weight:900;letter-spacing:.04em}.exclusive-unavailable{margin-top:8px;padding:10px;border:1px solid var(--line);border-radius:10px;color:var(--muted);font-size:.62rem;text-align:center}
.collection-layout{grid-template-columns:minmax(0,1.5fr) minmax(330px,.7fr)}.collection-grid{display:grid;gap:12px}.collection-card{display:grid;grid-template-columns:180px 1fr;gap:16px;padding:12px}.collection-card.selected{border-color:rgba(99,242,189,.34);box-shadow:inset 3px 0 0 var(--success)}.collection-cover{border-radius:11px}.obs-access-card{align-self:start;position:sticky;top:108px}.overlay-url-field>span{display:block;color:var(--muted);font-size:.64rem;margin-bottom:6px}.overlay-url-field>div{display:grid;grid-template-columns:1fr auto;gap:8px}.overlay-url-field input{font-family:Consolas,monospace;font-size:.68rem}.obs-steps{display:grid;gap:9px;margin:17px 0}.obs-steps>div{display:flex;gap:10px;align-items:flex-start;padding:10px;border:1px solid var(--line);border-radius:10px;background:rgba(255,255,255,.015);font-size:.67rem;line-height:1.5;color:#bdc9d7}.obs-steps b{width:23px;height:23px;display:grid;place-items:center;border-radius:50%;background:rgba(156,120,255,.22);color:#d9ccff;flex:0 0 auto}
@media(max-width:1180px){.avatar-card-grid,.store-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.avatar-admin-layout,.collection-layout{grid-template-columns:1fr}.avatar-admin-side,.obs-access-card{position:static}}
@media(max-width:820px){.avatar-card-grid,.store-grid{grid-template-columns:1fr}.avatar-editor-functions,.form-grid.two{grid-template-columns:1fr}.collection-card{grid-template-columns:1fr}.collection-cover{aspect-ratio:16/9}.action-admin-row{flex-direction:column}.action-admin-tags{justify-content:flex-start}.store-toolbar{align-items:stretch;flex-direction:column}}

/* V12.6.24 · Cartera propia de Créditos Azuna */
.store-wallet span{display:block;margin-top:2px;color:#8f9fb2;font-size:.55rem}
.store-wallet-info{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:16px}
.wallet-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:14px}
.wallet-stats>div{padding:12px;border:1px solid var(--line);border-radius:11px;background:rgba(255,255,255,.018)}
.wallet-stats small,.wallet-stats strong{display:block}.wallet-stats small{font-size:.58rem;color:var(--muted)}.wallet-stats strong{margin-top:4px;font:700 1.08rem Rajdhani;color:#e9f4ff}
.wallet-movements{display:grid;gap:8px}.wallet-movement{display:flex;align-items:center;gap:12px;padding:10px 11px;border:1px solid var(--line);border-radius:10px;background:rgba(255,255,255,.014)}
.wallet-movement>span{min-width:92px;font:800 .78rem Rajdhani}.wallet-movement>span.plus{color:#76e7b8}.wallet-movement>span.minus{color:#ffad9f}
.wallet-movement strong,.wallet-movement small{display:block}.wallet-movement strong{font-size:.68rem}.wallet-movement small{margin-top:2px;color:var(--muted);font-size:.56rem}
@media(max-width:900px){.store-wallet-info{grid-template-columns:1fr}.wallet-stats{grid-template-columns:1fr}}


/* --- V12.6.25 · Editor de avatar y tienda solo con Créditos Azuna --- */
.avatar-editor-heading{align-items:center}
.avatar-editor-heading-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap}
.avatar-editor-top{grid-template-columns:minmax(0,1.28fr) minmax(340px,.72fr);align-items:start}
.avatar-editor-meta-card,.avatar-editor-cover-card,.avatar-video-upload-card{min-width:0}
.avatar-meta-form select,.avatar-upload-form select,.avatar-grant-form select,.admin-details select{appearance:none;-webkit-appearance:none;background-image:linear-gradient(45deg,transparent 50%,#7f93aa 50%),linear-gradient(135deg,#7f93aa 50%,transparent 50%);background-position:calc(100% - 18px) 19px,calc(100% - 13px) 19px;background-size:5px 5px,5px 5px;background-repeat:no-repeat;padding-right:38px}
.avatar-meta-form input[type="date"]{color-scheme:dark}
.avatar-file-field input[type="file"]{height:auto;min-height:48px;padding:6px 7px;color:#aebdce;background:rgba(4,8,14,.65);cursor:pointer}
.avatar-file-field input[type="file"]::file-selector-button{min-height:34px;margin-right:10px;padding:0 13px;border:1px solid rgba(111,231,255,.24);border-radius:8px;background:linear-gradient(100deg,rgba(42,181,219,.14),rgba(122,91,239,.17));color:#eaf8ff;font-weight:800;cursor:pointer}
.avatar-file-field input[type="file"]::file-selector-button:hover{border-color:rgba(111,231,255,.45);background:linear-gradient(100deg,rgba(42,181,219,.22),rgba(122,91,239,.25))}
.store-visibility-control{position:relative;display:grid!important;grid-template-columns:auto auto minmax(0,1fr);gap:11px!important;align-items:center;padding:14px 15px;border:1px solid var(--line);border-radius:13px;background:rgba(255,255,255,.018);cursor:pointer;transition:.18s ease}
.store-visibility-control:hover{border-color:rgba(111,231,255,.28);background:rgba(111,231,255,.025)}
.store-visibility-control>input{position:absolute;opacity:0;pointer-events:none;width:1px!important;height:1px!important;min-height:0!important}
.store-visibility-switch{position:relative;width:44px;height:24px;border-radius:999px;background:#252d3a;border:1px solid rgba(255,255,255,.12);box-shadow:inset 0 0 0 1px rgba(0,0,0,.15);transition:.18s ease}
.store-visibility-switch::after{content:'';position:absolute;left:3px;top:3px;width:16px;height:16px;border-radius:50%;background:#8c99a9;box-shadow:0 2px 8px rgba(0,0,0,.35);transition:.18s ease}
.store-visibility-control>input:checked + .store-visibility-switch{background:rgba(36,190,132,.28);border-color:rgba(99,242,189,.48)}
.store-visibility-control>input:checked + .store-visibility-switch::after{left:23px;background:#70efbd}
.store-visibility-control>input:focus-visible + .store-visibility-switch{box-shadow:0 0 0 3px rgba(111,231,255,.1)}
.store-visibility-copy{display:block!important;margin:0!important}
.store-visibility-copy strong,.store-visibility-copy small{display:block}
.store-visibility-copy strong{font-size:.72rem;color:#eef7ff}
.store-visibility-copy small{margin-top:3px;color:var(--muted);font-size:.61rem;line-height:1.45}
.avatar-video-table-wrap{border:1px solid var(--line);border-radius:12px;overflow:auto}
.avatar-video-table-wrap table{min-width:760px}
.avatar-video-table-wrap th{white-space:nowrap;background:rgba(255,255,255,.018)}
.avatar-video-table-wrap td{vertical-align:middle}
.video-mode-chip{display:inline-flex;padding:5px 8px;border:1px solid rgba(111,231,255,.16);border-radius:8px;background:rgba(111,231,255,.04);color:#a9dce8;font-size:.59rem;font-weight:800}
.avatar-grant-form{align-items:end}
.avatar-grant-form .secondary-btn{min-height:45px;margin:0}
.catalog-visibility-badge{position:absolute;right:10px;top:10px;z-index:3;padding:6px 9px;border-radius:8px;font-size:.56rem;font-weight:900;letter-spacing:.06em;border:1px solid var(--line);backdrop-filter:blur(8px)}
.catalog-visibility-badge.visible{color:#dfffee;background:rgba(26,126,86,.88);border-color:rgba(99,242,189,.35)}
.catalog-visibility-badge.hidden{color:#c0cad5;background:rgba(18,25,38,.88)}
.store-exclusive-note{margin-top:16px;border-color:rgba(255,196,91,.22);background:rgba(255,196,91,.045)}
.store-empty-card{grid-column:1/-1}
.store-price-row>div:last-child{text-align:right}
@media(max-width:980px){.avatar-editor-top{grid-template-columns:1fr}.avatar-editor-heading{align-items:flex-start}.avatar-editor-heading-actions{justify-content:flex-start}}
@media(max-width:620px){.avatar-editor-heading-actions{width:100%}.avatar-editor-heading-actions .secondary-btn{width:100%;justify-content:center}.store-visibility-control{grid-template-columns:auto minmax(0,1fr)}.store-visibility-control>input{grid-column:1}.store-visibility-switch{grid-column:1}.store-visibility-copy{grid-column:2}}


/* --- V12.6.26 · Ajustes editor de avatar --- */
.avatar-meta-form .form-grid.two{align-items:start}
.avatar-meta-form .avatar-balanced-field{display:grid;grid-template-rows:auto 45px minmax(2.1em,auto);align-content:start;gap:7px}
.avatar-meta-form .avatar-balanced-field input{height:45px;min-height:45px;margin:0}
.avatar-meta-form .avatar-balanced-field input[type="date"]{padding-top:0;padding-bottom:0;line-height:43px;color-scheme:dark}
.avatar-meta-form .avatar-balanced-field input[type="date"]::-webkit-calendar-picker-indicator{opacity:.72;cursor:pointer}
.avatar-video-table-wrap table{min-width:890px}
.avatar-video-table-wrap td:last-child form{margin:0}

/* V12.6.34 - Mi colección: ajustes de voz OBS */
.collection-side-stack{display:grid;gap:16px;align-self:start;position:sticky;top:108px}.collection-side-stack .obs-access-card{position:static;top:auto}.voice-control-card{min-width:0}.voice-control-form{display:grid;gap:14px}.voice-slider{display:grid;gap:8px;padding:11px 12px;border:1px solid var(--line);border-radius:11px;background:rgba(255,255,255,.015)}.voice-slider>span{display:flex;justify-content:space-between;gap:12px;align-items:center}.voice-slider b{font-size:.72rem}.voice-slider output{font-size:.66rem;color:#9fdff2;font-variant-numeric:tabular-nums}.voice-slider input[type=range]{width:100%;min-height:unset;padding:0;accent-color:#55d8f1}.voice-control-note{display:block;color:var(--muted);font-size:.62rem;line-height:1.5}.voice-reset-form{margin-top:10px}.voice-reset-form .secondary-btn{width:100%;justify-content:center}@media(max-width:1180px){.collection-side-stack{position:static}.collection-side-stack .obs-access-card{position:static}}

/* V12.6.38 · Condiciones de Uso y aceptación al registrar canal */
.terms-acceptance{display:flex!important;align-items:flex-start;gap:11px;padding:13px 14px;border:1px solid rgba(111,231,255,.18);border-radius:12px;background:rgba(111,231,255,.025);cursor:pointer}
.terms-acceptance input[type="checkbox"]{appearance:auto!important;-webkit-appearance:checkbox!important;width:17px!important;height:17px!important;min-height:0!important;padding:0!important;margin:2px 0 0!important;flex:0 0 17px;accent-color:var(--cyan);box-shadow:none!important}
.terms-acceptance>span{display:block!important;margin:0!important;color:#dbe8f3;font-size:.7rem;line-height:1.5}
.terms-acceptance a{color:#8cecff;text-decoration:underline;text-underline-offset:3px;font-weight:800}
.terms-acceptance small{display:block;margin-top:4px;color:var(--muted);font-size:.59rem;line-height:1.45}
.terms-shell{max-width:1120px;margin:0 auto;padding:42px 20px 56px}.terms-heading{align-items:flex-start}.terms-intro{margin-bottom:16px}.terms-intro p{margin:0;color:#c8d6e4;line-height:1.7}
.terms-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.terms-card h3{margin:0 0 9px;font-family:Rajdhani,sans-serif;font-size:1.12rem;color:#edf8ff}.terms-card p{margin:0;color:var(--muted);font-size:.72rem;line-height:1.7}
.terms-footer-card{margin-top:16px;display:flex;align-items:center;justify-content:space-between;gap:16px}.terms-footer-card strong{font-size:.75rem;color:#dce9f5}
@media(max-width:760px){.terms-grid{grid-template-columns:1fr}.terms-footer-card{align-items:stretch;flex-direction:column}.terms-footer-card .primary-btn{justify-content:center}}
.terms-review-link{margin:11px 0 0}.terms-review-link a{color:#8cecff;font-size:.65rem;text-decoration:underline;text-underline-offset:3px}

/* V12.6.40 - Programa de invitaciones */
.referral-card{margin-top:18px;padding:24px;border:1px solid rgba(111,231,255,.22);border-radius:var(--radius);background:linear-gradient(145deg,rgba(12,22,36,.98),rgba(13,16,30,.98));box-shadow:0 16px 40px rgba(0,0,0,.16);position:relative;overflow:hidden}
.referral-card:after{content:"";position:absolute;width:260px;height:260px;border-radius:50%;right:-135px;top:-145px;border:1px solid rgba(99,242,189,.10);box-shadow:0 0 0 38px rgba(99,242,189,.018),0 0 0 78px rgba(111,231,255,.014);pointer-events:none}
.referral-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;position:relative;z-index:1}
.referral-card-head h2{font-family:Rajdhani,sans-serif;font-size:1.6rem;margin:5px 0 7px}
.referral-card-head p{max-width:900px;color:var(--muted);line-height:1.65;margin:0}
.referral-reward-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:18px 0}
.referral-reward-grid>div,.referral-admin-stats>div{border:1px solid var(--line);border-radius:13px;background:rgba(3,8,16,.28);padding:15px}
.referral-reward-grid small,.referral-admin-stats small{display:block;color:var(--cyan);font-size:.58rem;font-weight:900;letter-spacing:.12em;margin-bottom:6px}
.referral-reward-grid strong{display:block;font-size:1.12rem;margin-bottom:5px}.referral-reward-grid span{color:var(--muted);font-size:.67rem;line-height:1.5}
.referral-generated{border-top:1px solid var(--line);padding-top:16px;margin-top:16px}.referral-key-meta{display:flex;gap:18px;flex-wrap:wrap;color:var(--muted);font-size:.68rem;margin:-4px 0 4px}
.referral-pending{margin-top:16px;padding:14px 16px;border:1px solid rgba(255,207,117,.22);border-radius:12px;background:rgba(255,207,117,.035)}.referral-pending strong,.referral-pending small{display:block}.referral-pending strong{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;margin:5px 0}.referral-pending small{color:var(--muted)}
.referral-generate-form{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:14px}.referral-generate-form>small{color:var(--muted);font-size:.62rem}
.referral-admin-card{margin-bottom:16px;border-color:rgba(111,231,255,.22)}.referral-admin-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:14px 0}.referral-admin-stats strong{display:block;font-size:1rem}.referral-admin-form{margin-top:14px}
@media(max-width:900px){.referral-reward-grid,.referral-admin-stats{grid-template-columns:1fr 1fr}.referral-card-head{flex-direction:column}}
@media(max-width:620px){.referral-reward-grid,.referral-admin-stats{grid-template-columns:1fr}.referral-card{padding:18px}.referral-generate-form .primary-btn{width:100%}}

/* V12.6.47 · Catálogo de avatares: tarjetas compactas, uniformes y acciones alineadas */
.avatar-admin-layout{
    grid-template-columns:minmax(0,1fr) minmax(300px,340px);
    gap:18px;
    align-items:start;
}
.avatar-admin-layout>section,
.avatar-admin-layout>.avatar-admin-side{min-width:0}
.avatar-admin-layout .avatar-card-grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:14px;
    align-items:stretch;
}
.avatar-admin-layout .avatar-card-admin{
    display:flex;
    min-width:0;
    height:100%;
    flex-direction:column;
}
.avatar-admin-layout .avatar-card-cover{
    aspect-ratio:16/9;
    flex:0 0 auto;
}
.avatar-admin-layout .avatar-card-body{
    display:flex;
    flex:1 1 auto;
    min-width:0;
    flex-direction:column;
    padding:15px;
}
.avatar-admin-layout .avatar-card-body h3{
    overflow:hidden;
    margin:0;
    text-overflow:ellipsis;
    white-space:nowrap;
}
.avatar-admin-layout .avatar-card-body>p{
    display:-webkit-box;
    min-height:4.65em;
    max-height:4.65em;
    margin:9px 0 0;
    overflow:hidden;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:3;
    line-clamp:3;
}
.avatar-admin-layout .avatar-meta-line{
    margin:11px 0 13px;
}
.avatar-admin-layout .avatar-card-actions{
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    gap:8px;
    margin-top:auto;
    align-items:stretch;
}
.avatar-admin-layout .avatar-card-actions>.primary-btn,
.avatar-admin-layout .avatar-card-actions>form,
.avatar-admin-layout .avatar-card-actions>form>.danger-btn{
    width:100%;
    min-width:0;
    margin:0;
}
.avatar-admin-layout .avatar-card-actions>.primary-btn,
.avatar-admin-layout .avatar-card-actions>form>.danger-btn{
    display:flex;
    min-height:38px;
    align-items:center;
    justify-content:center;
    padding:0 10px;
    white-space:nowrap;
}
.avatar-admin-layout .avatar-card-actions>.primary-btn{
    justify-content:space-between;
}
.avatar-admin-layout .avatar-card-actions>form{
    display:flex;
}
.avatar-admin-layout .avatar-admin-side{
    width:100%;
}
@media(max-width:1320px){
    .avatar-admin-layout .avatar-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:1180px){
    .avatar-admin-layout{grid-template-columns:1fr}
    .avatar-admin-layout .avatar-admin-side{position:static;top:auto}
    .avatar-admin-layout .avatar-card-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:900px){
    .avatar-admin-layout .avatar-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:620px){
    .avatar-admin-layout .avatar-card-grid{grid-template-columns:1fr}
    .avatar-admin-layout .avatar-card-actions{grid-template-columns:1fr}
}

/* V12.6.59 · Consumo IA mensual */
.ai-usage-overview{align-items:stretch}.ai-usage-main-number{display:flex;align-items:baseline;gap:9px;flex-wrap:wrap;margin:18px 0}.ai-usage-main-number strong{font-family:Rajdhani,sans-serif;font-size:2.35rem;line-height:1;color:#eafaff}.ai-usage-main-number>b{font-family:Rajdhani,sans-serif;font-size:1.25rem}.ai-usage-main-number>span{color:var(--muted);font-size:1rem}.ai-usage-main-number>small{flex-basis:100%;color:var(--muted);font-size:.63rem}.ai-usage-stat-grid,.ai-usage-year-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:14px}.ai-usage-stat-grid>div,.ai-usage-year-summary>div{min-width:0;border:1px solid var(--line);border-radius:12px;background:rgba(3,8,16,.28);padding:14px}.ai-usage-stat-grid small,.ai-usage-year-summary small{display:block;color:var(--muted);font-size:.58rem;line-height:1.35;margin-bottom:6px}.ai-usage-stat-grid strong,.ai-usage-year-summary strong{display:block;font-family:Rajdhani,sans-serif;font-size:1.28rem;line-height:1.1}.ai-usage-stat-grid span,.ai-usage-year-summary span{display:block;color:#8eb0c5;font-size:.58rem;margin-top:4px}.ai-usage-year-summary{grid-template-columns:repeat(2,minmax(0,220px));margin:10px 0 16px}.ai-admin-table td{vertical-align:top}.ai-admin-table td small{display:block;margin-top:4px;color:var(--muted);font-size:.56rem;white-space:nowrap}.ai-inline-account-form{display:grid;grid-template-columns:minmax(110px,.8fr) minmax(130px,1fr) minmax(120px,1fr) auto;gap:7px;align-items:center;min-width:520px}.ai-inline-account-form select,.ai-inline-account-form input{min-height:36px;height:36px;padding:6px 9px;font-size:.62rem}.ai-inline-account-form .secondary-btn{min-height:36px;justify-content:center}.ai-source-key-field{grid-column:1/-1;display:grid;grid-template-columns:minmax(175px,.8fr) minmax(250px,2fr);gap:7px 10px;align-items:center;margin-top:2px;padding:9px 10px;border:1px solid rgba(78,218,255,.23);border-radius:10px;background:rgba(38,153,190,.07)}.ai-source-key-field[hidden]{display:none}.ai-source-key-field>span{font-size:.58rem;color:#bfeefa;font-weight:700}.ai-source-key-field>input{width:100%}.ai-source-key-field>small{grid-column:2;color:var(--muted);font-size:.54rem;line-height:1.35;margin:0;white-space:normal!important}.muted-line{color:var(--muted)}
@media(max-width:760px){.ai-usage-stat-grid,.ai-usage-year-summary{grid-template-columns:1fr}.ai-usage-year-summary{max-width:none}.ai-inline-account-form{grid-template-columns:1fr;min-width:250px}.ai-source-key-field{grid-column:1;grid-template-columns:1fr}.ai-source-key-field>small{grid-column:1}}

/* V12.6.60 · Pulido visual y alineación de Consumo IA */
.ai-usage-overview,
.ai-usage-admin-overview{
    align-items:stretch;
}
.ai-usage-overview>.content-card,
.ai-usage-admin-overview>.content-card{
    display:flex;
    min-width:0;
    height:100%;
    flex-direction:column;
}
.ai-usage-overview>.content-card>.card-head,
.ai-usage-admin-overview>.content-card>.card-head{
    min-height:46px;
    margin-bottom:14px;
}
.ai-usage-main-number{
    min-height:66px;
    margin:10px 0 14px;
}
.ai-usage-overview>.content-card>.notice,
.ai-usage-admin-overview>.content-card>.notice{
    margin-top:auto;
}
.ai-usage-stat-grid{
    flex:1 1 auto;
    margin-top:0;
    align-content:stretch;
}
.ai-usage-stat-grid>div{
    display:flex;
    min-height:82px;
    flex-direction:column;
    justify-content:center;
    padding:13px 15px;
}
.ai-usage-stat-grid small{
    min-height:1.35em;
    margin-bottom:5px;
}
.ai-usage-stat-grid strong{
    font-variant-numeric:tabular-nums;
}
.ai-usage-section-card,
.ai-usage-history-card{
    margin-top:16px;
}
.ai-usage-section-card .card-head{
    margin-bottom:14px;
}
.ai-usage-section-card .muted-line,
.ai-usage-history-head .muted-line{
    margin:6px 0 0;
    line-height:1.55;
}
.ai-usage-image-table{
    min-width:620px;
}
.ai-usage-image-table th:nth-child(2),
.ai-usage-image-table td:nth-child(2){
    text-align:center;
}
.ai-usage-image-table th:nth-child(3),
.ai-usage-image-table td:nth-child(3){
    text-align:right;
    font-variant-numeric:tabular-nums;
}
.ai-usage-history-card .ai-usage-history-head{
    align-items:flex-end;
    margin:0;
    padding:22px 24px 16px;
}
.ai-usage-history-card .ai-usage-year-summary{
    grid-template-columns:repeat(2,minmax(0,220px));
    margin:0;
    padding:0 24px 18px;
}
.ai-usage-history-card>.table-responsive{
    border-top:1px solid var(--line);
}
.ai-usage-year-filter{
    width:120px;
    min-width:120px;
    margin:0;
}
.ai-usage-year-filter label{
    display:grid;
    gap:6px;
}
.ai-usage-year-filter label>span{
    color:#aeb9c8;
    font-size:.64rem;
    font-weight:800;
    letter-spacing:.04em;
}
.ai-usage-year-filter select{
    height:42px;
    min-height:42px;
    padding:0 36px 0 12px;
    font-size:.72rem;
}
.ai-usage-history-table th:not(:first-child),
.ai-usage-history-table td:not(:first-child){
    text-align:right;
}
.ai-usage-history-table td{
    font-variant-numeric:tabular-nums;
}
.ai-usage-history-table td:first-child{
    white-space:nowrap;
}
.ai-admin-usage-table-card .ai-usage-history-head{
    align-items:center;
}
.ai-admin-table th:nth-child(n+3):nth-child(-n+8),
.ai-admin-table td:nth-child(n+3):nth-child(-n+8){
    text-align:right;
}
.ai-admin-table td:nth-child(3) small,
.ai-admin-table td:nth-child(7) small{
    text-align:right;
}
@media(max-width:860px){
    .ai-usage-overview>.content-card>.card-head,
    .ai-usage-admin-overview>.content-card>.card-head{
        min-height:0;
    }
    .ai-usage-history-card .ai-usage-history-head{
        align-items:flex-start;
    }
}
@media(max-width:620px){
    .ai-usage-history-card .ai-usage-history-head{
        display:grid;
        gap:14px;
        padding:18px 18px 14px;
    }
    .ai-usage-history-card .ai-usage-year-summary{
        grid-template-columns:1fr;
        padding:0 18px 16px;
    }
    .ai-usage-year-filter{
        width:100%;
        min-width:0;
    }
    .ai-usage-image-table{
        min-width:560px;
    }
}

/* V12.6.69 - relaciones administrables entre temáticas y prompts */
.module-heading-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap}
.module-heading-actions .secondary-btn{min-height:38px}
.secondary-btn.small{display:inline-flex;min-height:33px;padding:0 10px;font-size:.59rem}
.relation-admin-grid{align-items:start}
.relation-toolbar{display:flex;align-items:center;gap:10px;margin:14px 0 12px}
.relation-toolbar>input{min-width:0;flex:1}
.relation-toolbar-actions{display:flex;gap:7px;flex-wrap:wrap}
.relation-checklist{display:grid;gap:12px;max-height:660px;overflow:auto;padding-right:4px}
.relation-group{display:grid;gap:7px;padding:10px;border:1px solid var(--line);border-radius:12px;background:rgba(4,9,16,.24)}
.relation-group-title{position:sticky;top:-10px;z-index:1;margin:-10px -10px 2px;padding:10px 11px 8px;border-bottom:1px solid rgba(255,255,255,.05);background:rgba(8,14,23,.96);font-size:.61rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:#9fdff2}
.relation-item{display:grid!important;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:10px;padding:9px 10px;border:1px solid rgba(255,255,255,.055);border-radius:10px;background:rgba(255,255,255,.012);cursor:pointer}
.relation-item:hover{border-color:rgba(111,231,255,.22);background:rgba(111,231,255,.025)}
.relation-item[hidden]{display:none!important}
.relation-item>input{width:auto;min-height:0;margin-top:3px;padding:0}
.relation-item strong,.relation-item small{display:block}
.relation-item strong{font-size:.72rem;color:#e7f1f8}
.relation-item small{margin-top:3px;color:var(--muted);font-size:.58rem;line-height:1.4}
.relation-summary-card{margin-top:16px}
@media(max-width:760px){.module-heading-actions{justify-content:flex-start;margin-top:12px}.relation-toolbar{align-items:stretch;flex-direction:column}.relation-toolbar-actions{width:100%}.relation-toolbar-actions .secondary-btn{flex:1}.relation-checklist{max-height:none}}

/* V12.6.70 · Selector obligatorio del inicio de traducción del intérprete */
.interpreter-intro-fieldset{border:0;padding:0;margin:2px 0 0;min-width:0}
.interpreter-intro-fieldset legend{margin:0 0 6px;color:#aeb9c8;font-size:.69rem;font-weight:700}
.interpreter-intro-help{margin:0 0 10px;color:var(--muted);font-size:.66rem;line-height:1.5}
.interpreter-intro-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.interpreter-intro-option{position:relative;display:flex!important;align-items:flex-start;gap:11px;min-width:0;padding:13px 14px;border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.012);cursor:pointer;transition:.18s ease}
.interpreter-intro-option:hover{border-color:rgba(111,231,255,.28);background:rgba(111,231,255,.035)}
.interpreter-intro-option:has(input:checked){border-color:rgba(111,231,255,.42);background:rgba(111,231,255,.055);box-shadow:inset 0 0 0 1px rgba(111,231,255,.06)}
.interpreter-intro-option input[type="radio"]{position:absolute!important;opacity:0!important;width:1px!important;height:1px!important;min-height:0!important;margin:0!important;padding:0!important}
.interpreter-intro-check{display:grid!important;place-items:center;flex:0 0 20px;width:20px!important;height:20px!important;border:1px solid rgba(174,185,200,.55);border-radius:5px;background:rgba(4,8,14,.72);color:#071019!important;font-size:.78rem!important;font-weight:1000!important;line-height:1!important;transition:.18s ease}
.interpreter-intro-option input[type="radio"]:focus-visible + .interpreter-intro-check{outline:2px solid rgba(111,231,255,.58);outline-offset:2px}
.interpreter-intro-option input[type="radio"]:checked + .interpreter-intro-check{border-color:var(--cyan);background:var(--cyan);box-shadow:0 0 15px rgba(111,231,255,.18)}
.interpreter-intro-option input[type="radio"]:checked + .interpreter-intro-check::after{content:'✓'}
.interpreter-intro-copy{display:grid!important;gap:4px!important;min-width:0;color:inherit!important;font-size:inherit!important;font-weight:inherit!important}
.interpreter-intro-copy strong{font-size:.76rem;color:#dbe8f5;line-height:1.35}
.interpreter-intro-copy small{display:block;color:var(--muted)!important;font-size:.64rem!important;line-height:1.5!important;font-weight:400!important}
@media(max-width:700px){.interpreter-intro-options{grid-template-columns:1fr}}

/* V12.6.71 · Traducción compartida por tokens */
.avatar-assignment-chips{display:flex;gap:7px;flex-wrap:wrap;margin:11px 0 9px}
.avatar-assignment-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.avatar-assignment-actions form{margin:0}
.avatar-assignment-actions button[disabled]{opacity:.45;cursor:not-allowed;filter:saturate(.45)}
.shared-chip{border-color:rgba(156,120,255,.36)!important;background:rgba(156,120,255,.09)!important;color:#d8caff!important}
.shared-translation-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(330px,.95fr);gap:16px;align-items:start}
.shared-translation-grid>.content-card{height:100%}
.shared-avatar-summary{display:grid;grid-template-columns:86px minmax(0,1fr);align-items:center;gap:15px;margin:4px 0 14px;padding:13px;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.014)}
.shared-avatar-thumb{width:86px;height:86px;display:grid;place-items:center;overflow:hidden;border:1px solid rgba(111,231,255,.2);border-radius:13px;background:#0b1119;color:#78e9ff;font-size:1.5rem;font-weight:900}
.shared-avatar-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.shared-avatar-summary small,.shared-avatar-summary strong,.shared-avatar-summary span{display:block}
.shared-avatar-summary small{margin-bottom:4px;color:#85dff5;font-size:.59rem;font-weight:900;letter-spacing:.08em}
.shared-avatar-summary strong{margin-bottom:5px;color:#edf7ff;font-size:1rem}
.shared-avatar-summary span{color:var(--muted);font-size:.67rem;line-height:1.45}
.shared-separation-note{margin:0 0 14px;padding:10px 12px;border-left:2px solid rgba(156,120,255,.6);background:rgba(156,120,255,.045);color:var(--muted);font-size:.66rem;line-height:1.5}
.shared-voice-form{display:grid;gap:12px}
.shared-token-preview{display:grid;grid-template-columns:auto 1fr;gap:5px 12px;padding:11px 12px;border:1px solid var(--line);border-radius:11px;background:rgba(255,255,255,.014);font-size:.67rem}
.shared-token-preview span{color:var(--muted)}
.shared-token-preview strong{color:#e8f5ff;overflow-wrap:anywhere}
.shared-receiver-info{margin-top:16px;padding:12px 13px;border:1px solid rgba(111,231,255,.16);border-radius:12px;background:rgba(111,231,255,.025)}
.shared-receiver-info small{display:block;margin-bottom:6px;color:#85dff5;font-size:.59rem;font-weight:900;letter-spacing:.08em}
.shared-receiver-info code{display:block;overflow-wrap:anywhere;color:#e7faff;font-size:.68rem}
.shared-receiver-info p{margin:7px 0 0;color:var(--muted);font-size:.64rem;line-height:1.5}
.shared-token-list-card{margin-top:16px}
.shared-token-table-wrap{width:100%;overflow:auto;border:1px solid var(--line);border-radius:12px}
.shared-token-table{width:100%;min-width:1240px;border-collapse:collapse}
.shared-token-table th,.shared-token-table td{padding:11px 12px;border-bottom:1px solid rgba(255,255,255,.055);vertical-align:middle;text-align:left}
.shared-token-table th{background:rgba(255,255,255,.025);color:#aeb9c8;font-size:.59rem;letter-spacing:.05em;text-transform:uppercase}
.shared-token-table td{font-size:.67rem;color:#dce6f2}
.shared-token-table tbody tr:last-child td{border-bottom:0}
.shared-token-code{display:inline-block;max-width:245px;overflow:hidden;text-overflow:ellipsis;vertical-align:middle;color:#a9eeff;white-space:nowrap}
.shared-token-pair{display:grid;gap:5px;min-width:150px}.shared-token-pair>span{display:flex;align-items:center;gap:7px}.shared-token-pair b{min-width:52px;color:#8fa3b9;font-size:.52rem;letter-spacing:.045em}.shared-token-pair code{max-width:105px}.shared-mobile-copy{border-color:rgba(111,231,255,.48)!important;box-shadow:inset 0 0 0 1px rgba(111,231,255,.08)}
.shared-token-actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap;min-width:510px}
.shared-token-actions form{margin:0}
.shared-token-actions .secondary-btn,.shared-token-actions .danger-btn{min-height:31px;padding:0 9px;font-size:.55rem}
.shared-token-footnote{margin:13px 0 0;color:var(--muted);font-size:.64rem;line-height:1.5}
@media(max-width:900px){.shared-translation-grid{grid-template-columns:1fr}.shared-token-actions{min-width:0}}
@media(max-width:560px){.shared-avatar-summary{grid-template-columns:64px minmax(0,1fr)}.shared-avatar-thumb{width:64px;height:64px}.avatar-assignment-actions{align-items:stretch;flex-direction:column}.avatar-assignment-actions form,.avatar-assignment-actions button{width:100%}}

/* V12.6.73 · Mi colección: botones de asignación de avatar alineados */
.avatar-assignment-actions{
    display:flex;
    align-items:stretch;
    gap:8px;
    flex-wrap:wrap;
    margin-top:12px;
}
.avatar-assignment-actions form{
    display:flex;
    flex:0 0 188px;
    margin:0;
}
.avatar-assignment-actions .primary-btn.compact,
.avatar-assignment-actions .secondary-btn.compact{
    width:100%;
    min-width:0;
    min-height:40px;
    height:40px;
    margin:0;
    padding:0 14px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border-radius:12px;
    line-height:1;
    white-space:nowrap;
}
.avatar-assignment-actions button[disabled]{
    opacity:.45;
    cursor:not-allowed;
    filter:saturate(.45);
}
@media(max-width:560px){
    .avatar-assignment-actions{align-items:stretch;flex-direction:column}
    .avatar-assignment-actions form{width:100%;flex:1 1 auto}
    .avatar-assignment-actions button{width:100%}
}

/* V12.6.78 · Colaboradores Twitch: botones alineados y consistentes */
.twitch-collab-btn{
    box-sizing:border-box;
    min-height:42px;
    height:42px;
    margin:0!important;
    padding:0 16px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    line-height:1;
    white-space:nowrap;
}
.twitch-collab-config-form>.twitch-collab-btn{
    width:100%;
}
.twitch-collab-auth-actions{
    display:grid;
    grid-template-columns:1fr;
    gap:10px;
    margin-top:16px;
}
.twitch-collab-auth-actions>a,
.twitch-collab-auth-actions>form{
    width:100%;
    margin:0;
}
.twitch-collab-auth-actions .twitch-collab-btn{
    width:100%;
}
.twitch-collab-filter-actions{
    display:flex;
    align-items:stretch;
    gap:10px;
    flex-wrap:wrap;
}
.twitch-collab-filter-actions .twitch-collab-btn{
    min-width:175px;
}
.twitch-collab-pagination{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:12px;
    flex-wrap:wrap;
    margin-top:16px;
}
.twitch-collab-pagination-actions{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:8px;
    flex-wrap:wrap;
}
.twitch-collab-pagination-actions .twitch-collab-btn{
    min-width:132px;
    min-height:38px;
    height:38px;
    padding:0 13px;
    font-size:.62rem;
}
@media(max-width:700px){
    .twitch-collab-filter-actions{
        display:grid;
        grid-template-columns:1fr;
    }
    .twitch-collab-filter-actions .twitch-collab-btn{
        width:100%;
        min-width:0;
    }
    .twitch-collab-pagination{
        align-items:stretch;
        flex-direction:column;
    }
    .twitch-collab-pagination-actions{
        justify-content:flex-start;
    }
}
@media(max-width:520px){
    .twitch-collab-pagination-actions{
        display:grid;
        grid-template-columns:1fr;
        width:100%;
    }
    .twitch-collab-pagination-actions .twitch-collab-btn,
    .twitch-collab-pagination-actions .chip{
        width:100%;
        justify-content:center;
        text-align:center;
    }
}

/* V12.6.79 · Canal: cambio controlado a API propia de OpenAI */
.own-openai-channel-box{
    margin-top:18px;
    padding-top:18px;
    border-top:1px solid var(--line);
}
.own-openai-channel-head{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:14px;
    margin-bottom:10px;
}
.own-openai-channel-head h4{
    margin:4px 0 0;
    font-size:1rem;
}
.own-openai-channel-box>.muted{
    margin:0 0 14px;
    line-height:1.6;
}
.own-openai-toggle{
    margin-top:0!important;
}
.own-openai-form-wrap{
    margin-top:14px;
    padding:14px;
    border:1px solid rgba(111,231,255,.20);
    border-radius:12px;
    background:rgba(3,8,16,.30);
}
.own-openai-form-wrap[hidden]{display:none}
.own-openai-form-wrap .primary-btn{
    width:100%;
    margin-top:0;
}
.own-openai-form-wrap .form-feedback:empty{display:none}
@media(max-width:620px){
    .own-openai-channel-head{
        align-items:flex-start;
        flex-direction:column;
    }
    .own-openai-channel-box>.secondary-btn,
    .own-openai-form-wrap .primary-btn{
        width:100%;
        justify-content:center;
    }
}

/* V12.6.81 · Canal: resaltar acción disponible de API propia de OpenAI */
.own-openai-toggle:not(:disabled){
    border-color:rgba(111,231,255,.48);
    background:linear-gradient(100deg,rgba(42,181,219,.20),rgba(122,91,239,.18));
    color:#f3fdff;
    box-shadow:
        inset 0 0 22px rgba(111,231,255,.045),
        0 0 0 1px rgba(111,231,255,.035),
        0 0 22px rgba(54,185,222,.075);
}
.own-openai-toggle:not(:disabled):hover,
.own-openai-toggle:not(:disabled):focus-visible{
    transform:translateY(-1px);
    border-color:rgba(111,231,255,.78);
    background:linear-gradient(100deg,rgba(42,181,219,.30),rgba(122,91,239,.27));
    color:#fff;
    box-shadow:
        inset 0 0 24px rgba(111,231,255,.07),
        0 10px 28px rgba(54,185,222,.14),
        0 0 0 3px rgba(111,231,255,.045);
}
.own-openai-toggle:not(:disabled)::before{
    content:"";
    width:7px;
    height:7px;
    flex:0 0 7px;
    border-radius:50%;
    background:var(--success);
    box-shadow:0 0 11px rgba(99,242,189,.8);
}
.own-openai-toggle:disabled{
    opacity:.48;
    cursor:not-allowed;
    filter:saturate(.45);
    box-shadow:none;
}

/* V12.6.82 · Acceso automático de colaboradores Twitch */
.twitch-collab-access-cta{border-color:rgba(145,70,255,.55);background:linear-gradient(100deg,rgba(145,70,255,.24),rgba(42,181,219,.20));box-shadow:0 0 28px rgba(145,70,255,.10),inset 0 0 20px rgba(111,231,255,.04)}
.twitch-collab-access-cta:hover{border-color:rgba(174,122,255,.82);box-shadow:0 10px 30px rgba(145,70,255,.18)}
.twitch-collab-access-cta b{color:#b98cff}
.twitch-collab-access-help{display:block;max-width:760px;margin-top:8px;color:var(--muted);font-size:.64rem;line-height:1.55}
@media(max-width:760px){.twitch-collab-access-cta{width:100%}.welcome-banner .primary-btn.compact{width:100%;margin-right:0}}

/* V12.6.85 · Canje de puntos de participación por caracteres */
.points-exchange-client{
    margin-bottom:18px;
    border-color:rgba(111,231,255,.24);
    background:
        radial-gradient(circle at 90% 10%,rgba(111,231,255,.07),transparent 34%),
        var(--panel);
}
.points-exchange-client .ai-usage-year-summary{
    grid-template-columns:repeat(3,minmax(0,1fr));
    max-width:none;
}
.points-exchange-form{
    margin-top:16px;
    padding-top:16px;
    border-top:1px solid var(--line);
}
.points-exchange-form .notice{
    margin:0;
}
.points-exchange-form .primary-btn{
    width:max-content;
    min-width:220px;
}
.toggle-line{
    display:flex!important;
    align-items:flex-start;
    gap:12px;
    padding:13px 14px;
    border:1px solid var(--line);
    border-radius:12px;
    background:rgba(3,8,16,.26);
    cursor:pointer;
}
.toggle-line>input[type="checkbox"]{
    width:18px;
    height:18px;
    flex:0 0 18px;
    margin:2px 0 0;
    accent-color:var(--accent);
}
.toggle-line>span{
    display:flex;
    min-width:0;
    flex-direction:column;
    gap:4px;
}
.toggle-line>span strong{
    color:var(--text);
    font-size:.83rem;
}
.toggle-line>span small{
    color:var(--muted);
    font-size:.68rem;
    line-height:1.5;
}
@media(max-width:760px){
    .points-exchange-client .ai-usage-year-summary{
        grid-template-columns:1fr;
    }
    .points-exchange-form .primary-btn{
        width:100%;
        min-width:0;
        justify-content:center;
    }
}
