
:root{
  --wine:#7b0826;
  --wine-dark:#4d0015;
  --wine-soft:#a6254a;
  --black:#0f0d0e;
  --purple:#7650c8;
  --purple-soft:#a37ae8;
  --gold:#ffdc4b;
  --paper:#fffaf6;
  --paper-2:#f7f0ec;
  --ink:#191416;
  --muted:#766d70;
  --line:#e5d8db;
  --shadow:0 18px 55px rgba(70,0,20,.10);
}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;font-family:"DM Sans",sans-serif;background:var(--paper-2);color:var(--ink)}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
a{color:inherit}
body{background:
  radial-gradient(circle at 90% -10%,rgba(118,80,200,.10),transparent 32rem),
  radial-gradient(circle at -5% 20%,rgba(123,8,38,.08),transparent 28rem),
  var(--paper-2);
}
.hidden{display:none!important}
.shell{min-height:100vh}

/* LOGIN */
.login-page{min-height:100vh;display:grid;grid-template-columns:1.05fr .95fr;background:#0c090a}
.login-brand{
  padding:58px;display:flex;flex-direction:column;justify-content:space-between;color:white;
  background:
    radial-gradient(circle at 18% 18%,rgba(255,255,255,.08),transparent 22rem),
    radial-gradient(circle at 85% 78%,rgba(163,122,232,.20),transparent 26rem),
    linear-gradient(135deg,#4d0015 0%,#7b0826 48%,#7650c8 100%);
  position:relative;overflow:hidden
}
.login-brand:after{
  content:"";position:absolute;width:380px;height:380px;border:34px solid rgba(255,255,255,.08);
  border-radius:50%;right:-180px;top:-180px
}
.login-logo{width:104px;max-height:116px;object-fit:contain;filter:drop-shadow(0 8px 24px rgba(0,0,0,.25))}
.brand-kicker{font-size:.73rem;letter-spacing:.17em;font-weight:800;text-transform:uppercase}
.login-brand h1{font:800 clamp(3.3rem,7vw,7.6rem)/.88 "Manrope";letter-spacing:-.07em;margin:24px 0}
.login-brand p{max-width:560px;color:#f2e9ef;font-size:1.08rem}
.login-panel{padding:42px;display:flex;align-items:center;justify-content:center;background:var(--paper-2)}
.login-card{width:min(460px,100%);background:#fff;border:1px solid var(--line);border-radius:28px;padding:34px;box-shadow:var(--shadow)}
.login-card h2{font:800 2rem/1 "Manrope";letter-spacing:-.04em;margin:0 0 8px}
.login-card>p{color:var(--muted);margin:0 0 24px}

/* FORMS */
.field{display:grid;gap:7px;margin:14px 0}
.field label{font-size:.8rem;font-weight:800;color:#493e41}
.field input,.field select,.field textarea{
  border:1px solid var(--line);border-radius:13px;background:white;padding:12px 13px;outline:none;
  transition:.18s border,.18s box-shadow
}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--purple);box-shadow:0 0 0 3px rgba(118,80,200,.10)}
.field textarea{min-height:110px;resize:vertical}
.primary{
  border:0;background:linear-gradient(135deg,var(--wine),#991337);color:white;padding:12px 16px;border-radius:12px;font-weight:800;
  box-shadow:0 8px 20px rgba(123,8,38,.16)
}
.primary:hover{filter:brightness(1.05)}
.secondary{border:1px solid var(--line);background:white;padding:10px 13px;border-radius:11px;font-weight:700}
.gold-button{border:0;background:var(--gold);color:var(--wine-dark);padding:11px 15px;border-radius:12px;font-weight:900}
.danger{background:#fff;border:1px solid #d9b9c1;color:#941c3c;border-radius:10px;padding:9px 12px;font-weight:800}
.mini{padding:7px 10px;font-size:.75rem}
.login-actions,.admin-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}

/* TOP */
.topbar{
  height:74px;border-bottom:1px solid rgba(123,8,38,.14);background:rgba(255,250,246,.94);backdrop-filter:blur(14px);
  display:flex;align-items:center;justify-content:space-between;padding:0 26px;position:sticky;top:0;z-index:30
}
.topbar-left{display:flex;align-items:center;gap:13px}
.top-logo{height:44px;width:48px;object-fit:contain;background:#0e0c0d;border-radius:11px;padding:5px}
.logo-word{font:800 1rem "Manrope";letter-spacing:-.03em}
.role-badge{font-size:.65rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase;padding:6px 9px;border-radius:999px;background:#f0e3e7;color:var(--wine)}
.userbox{display:flex;align-items:center;gap:12px}
.avatar{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(145deg,var(--wine),var(--purple));color:white;font-weight:800}
.mobile-menu{display:none;border:0;background:transparent;font-size:1.45rem}

/* LAYOUT */
.layout{display:grid;grid-template-columns:258px 1fr;min-height:calc(100vh - 74px)}
.sidebar{
  border-right:1px solid rgba(123,8,38,.12);padding:22px 14px;
  background:linear-gradient(180deg,#171214,#100d0e);color:#f5eef0;position:relative;z-index:25
}
.sidebar-logo{display:flex;align-items:center;gap:10px;padding:5px 10px 20px;margin-bottom:10px;border-bottom:1px solid rgba(255,255,255,.09)}
.sidebar-logo img{width:44px;height:48px;object-fit:contain}
.sidebar-logo strong{font-family:Manrope;font-size:.9rem}
.nav-section{margin-bottom:25px}
.nav-title{font-size:.64rem;text-transform:uppercase;letter-spacing:.14em;color:#a89ba0;font-weight:900;padding:0 10px 8px}
.nav-item{display:flex;align-items:center;gap:10px;width:100%;border:0;color:#e7dde0;background:transparent;padding:10px;border-radius:11px;text-align:left;margin:2px 0}
.nav-item:hover,.nav-item.active{background:rgba(255,255,255,.09);color:white}
.nav-item.active{box-shadow:inset 3px 0 0 var(--gold)}
.nav-item span:first-child{width:20px;color:var(--gold)}
.content{padding:34px;max-width:1500px;width:100%;margin:0 auto}
.hero{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:28px}
.hero h1{font:800 clamp(2.4rem,5vw,4.8rem)/.92 "Manrope";letter-spacing:-.06em;margin:0;color:var(--wine-dark)}
.hero p{color:var(--muted);margin:12px 0 0;max-width:760px}

/* COURSE CARDS */
.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.course-card{background:white;border:1px solid var(--line);border-radius:22px;overflow:hidden;box-shadow:var(--shadow);transition:.2s transform,.2s box-shadow}
.course-card:hover{transform:translateY(-3px);box-shadow:0 24px 65px rgba(76,0,21,.14)}
.course-cover{
  height:190px;padding:18px;color:white;display:flex;justify-content:space-between;align-items:flex-start;position:relative;overflow:hidden;
  background:linear-gradient(140deg,var(--wine),var(--purple))
}
.course-cover.has-image{background-size:cover;background-position:center 34%}
.course-cover:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,5,8,.08),rgba(20,0,8,.58))}
.course-code,.course-arrow{position:relative;z-index:2}
.course-code{font-size:.68rem;font-weight:900;letter-spacing:.11em;text-transform:uppercase;background:rgba(0,0,0,.48);padding:6px 9px;border-radius:999px;backdrop-filter:blur(6px)}
.course-arrow{font-size:1.15rem}
.course-body{padding:19px}
.course-body h3{font:800 1.3rem/1.06 "Manrope";margin:0 0 8px;letter-spacing:-.035em;color:var(--wine-dark)}
.course-body p{font-size:.84rem;color:var(--muted);min-height:42px}
.meta{display:flex;justify-content:space-between;color:var(--muted);font-size:.74rem}
.course-actions{display:flex;gap:8px;margin-top:15px}
.course-actions button{flex:1}

/* PANELS */
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:28px}
.stat{background:white;border:1px solid var(--line);border-radius:18px;padding:18px;box-shadow:0 8px 24px rgba(70,0,20,.05)}
.stat strong{display:block;font:800 1.8rem "Manrope";color:var(--wine)}
.stat span{font-size:.78rem;color:var(--muted)}
.panel{background:white;border:1px solid var(--line);border-radius:20px;padding:22px;margin-bottom:18px;box-shadow:0 8px 30px rgba(70,0,20,.045)}
.panel-head{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:14px}
.panel-head h2{font:800 1.35rem "Manrope";margin:0;letter-spacing:-.035em;color:var(--wine-dark)}
.module{border:1px solid var(--line);border-radius:17px;margin:11px 0;overflow:hidden;background:#fff}
.module-head{padding:16px;display:flex;justify-content:space-between;align-items:center;background:linear-gradient(90deg,#f6ecef,#f8f3ff)}
.module-title{display:flex;gap:12px;align-items:center}
.module-number{width:35px;height:35px;border-radius:10px;background:var(--wine);color:#fff;display:grid;place-items:center;font-weight:900;font-size:.82rem}
.lesson{display:grid;grid-template-columns:34px 1fr auto;gap:12px;align-items:center;padding:14px 16px;border-top:1px solid var(--line)}
.lesson-index{color:var(--muted);font-size:.75rem}
.lesson h4{margin:0 0 3px;font-size:.93rem}
.lesson p{margin:0;color:var(--muted);font-size:.76rem}
.lesson-type{font-size:.66rem;font-weight:900;text-transform:uppercase;letter-spacing:.07em;background:#f0e3e7;color:var(--wine);padding:5px 7px;border-radius:999px}
.lesson-view{border:0;background:transparent;font-weight:800;color:var(--wine)}
.breadcrumb{font-size:.78rem;color:var(--muted);margin-bottom:12px}
.video-frame{aspect-ratio:16/9;width:100%;border:0;border-radius:16px;background:#111}
.material-box{border:1px dashed #c7aab3;border-radius:16px;padding:24px;text-align:center;background:#fcf7f8}
.notice{padding:13px 15px;border-radius:12px;background:#f4e7eb;font-size:.82rem;color:#58343f}
.teacher-note{border-left:4px solid var(--purple)}
.tag{display:inline-block;padding:5px 8px;border-radius:999px;background:#f0e3e7;color:var(--wine);font-size:.68rem;font-weight:900}
.empty{padding:28px;text-align:center;color:var(--muted);border:1px dashed var(--line);border-radius:16px}
.admin-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:18px}

/* COURSE TABS */
.course-tabs{display:flex;gap:8px;margin:0 0 18px;overflow:auto;padding-bottom:2px}
.course-tab{border:1px solid var(--line);background:white;border-radius:999px;padding:9px 14px;font-weight:800;color:var(--muted);white-space:nowrap}
.course-tab.active{background:var(--wine);border-color:var(--wine);color:white}

/* FORUM */
.forum-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:18px;align-items:start}
.forum-thread{background:white;border:1px solid var(--line);border-radius:18px;padding:18px;margin-bottom:12px;box-shadow:0 7px 24px rgba(70,0,20,.04)}
.forum-thread h3{font:800 1.05rem "Manrope";color:var(--wine-dark);margin:4px 0 7px}
.forum-meta{display:flex;gap:8px;flex-wrap:wrap;color:var(--muted);font-size:.72rem}
.forum-body{margin:12px 0 0;white-space:pre-wrap;line-height:1.55}
.forum-link{display:inline-block;margin-top:10px;color:var(--purple);font-weight:800;font-size:.82rem}
.reply-list{margin:15px 0 0;padding-left:14px;border-left:3px solid #eadce0}
.forum-reply{padding:10px 0;border-bottom:1px solid #f0e5e8}
.forum-reply:last-child{border-bottom:0}
.forum-reply strong{font-size:.82rem;color:var(--wine)}
.forum-reply p{margin:5px 0 0;font-size:.86rem;white-space:pre-wrap}
.forum-side{position:sticky;top:96px}
.forum-composer{background:linear-gradient(145deg,#fff,#fbf4ff);border:1px solid var(--line);border-radius:18px;padding:18px}
.forum-composer h3{font:800 1.05rem "Manrope";margin:0 0 8px;color:var(--wine-dark)}
.reply-form{display:flex;gap:8px;margin-top:12px}
.reply-form textarea{flex:1;min-height:44px;max-height:110px;border:1px solid var(--line);border-radius:10px;padding:9px;resize:vertical}
.reply-form button{align-self:flex-end}

/* MODALS */
.modal-backdrop{position:fixed;inset:0;background:rgba(20,4,10,.65);display:grid;place-items:center;padding:20px;z-index:100}
.modal-card{width:min(650px,100%);max-height:90vh;overflow:auto;background:#fff;border-radius:22px;padding:24px;box-shadow:0 30px 80px rgba(0,0,0,.28)}
.modal-head{display:flex;justify-content:space-between;gap:15px;align-items:flex-start;margin-bottom:18px}
.modal-head h2{margin:0;font:800 1.5rem Manrope;color:var(--wine-dark)}
.modal-close{border:0;background:#f0e3e7;width:34px;height:34px;border-radius:50%;font-size:1.1rem;color:var(--wine)}
.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}
.lesson-admin-row{display:grid;grid-template-columns:34px 1fr auto;gap:12px;align-items:center;padding:12px 16px;border-top:1px solid var(--line)}
.toast{position:fixed;right:22px;bottom:22px;background:var(--wine-dark);color:#fff;padding:13px 16px;border-radius:12px;box-shadow:var(--shadow);z-index:150}

/* TABLE */
.table{width:100%;border-collapse:collapse}
.table th,.table td{padding:12px 10px;border-top:1px solid var(--line);text-align:left;font-size:.82rem}
.table th{font-size:.68rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}

/* MOBILE */
.mobile-drawer-backdrop{display:none}
@media(max-width:1000px){
  .grid{grid-template-columns:repeat(2,1fr)}
  .stats{grid-template-columns:repeat(2,1fr)}
  .admin-grid,.forum-layout{grid-template-columns:1fr}
  .forum-side{position:static}
}
@media(max-width:760px){
  .login-page{grid-template-columns:1fr}
  .login-brand{min-height:39vh;padding:28px}
  .login-brand h1{font-size:3.6rem}
  .login-logo{width:72px}
  .login-panel{padding:18px}
  .layout{grid-template-columns:1fr}
  .sidebar{
    position:fixed;left:-285px;top:74px;bottom:0;width:275px;transition:.22s left;box-shadow:20px 0 60px rgba(0,0,0,.22)
  }
  body.menu-open .sidebar{left:0}
  body.menu-open .mobile-drawer-backdrop{display:block;position:fixed;inset:74px 0 0;background:rgba(0,0,0,.45);z-index:20}
  .mobile-menu{display:block}
  .content{padding:22px 15px}
  .grid,.stats{grid-template-columns:1fr}
  .topbar{padding:0 12px}
  .role-badge,.userbox>div:first-child{display:none}
  .hero{align-items:flex-start;flex-direction:column;margin-bottom:20px}
  .hero h1{font-size:2.55rem}
  .course-cover{height:205px}
  .lesson,.lesson-admin-row{grid-template-columns:26px 1fr}
  .lesson>div:last-child,.lesson-admin-row>div:last-child{grid-column:2;justify-self:start;flex-wrap:wrap}
  .panel{padding:16px}
  .panel-head{align-items:flex-start;flex-direction:column}
  .module-head{align-items:flex-start;gap:12px}
  .admin-actions{width:100%}
  .forum-thread{padding:15px}
  .reply-form{flex-direction:column}
  .reply-form button{align-self:stretch}
}

/* PDF VIEWER */
.pdf-shell{background:#171214;border-radius:18px;overflow:hidden;border:1px solid #2a2225}
.pdf-toolbar{min-height:56px;padding:10px 14px;display:flex;justify-content:space-between;align-items:center;gap:12px;background:#171214;color:white}
.pdf-toolbar .secondary{background:white;color:var(--wine-dark);border:0;text-decoration:none}
.pdf-frame{display:block;width:100%;height:min(78vh,980px);min-height:650px;border:0;background:#4a4547}
@media(max-width:760px){
  .pdf-toolbar{align-items:flex-start;flex-direction:column}
  .pdf-frame{height:72vh;min-height:500px}
}

/* PROFES + AVATARES */
.avatar{object-fit:cover;border:2px solid rgba(123,8,38,.16);cursor:pointer}
.teacher-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.teacher-card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:18px;display:grid;grid-template-columns:92px 1fr;gap:18px;align-items:start;box-shadow:var(--shadow)}
.teacher-avatar{width:92px;height:112px;object-fit:cover;border-radius:16px;background:#eee}
.teacher-card h3{font:800 1.2rem Manrope;color:var(--wine-dark);margin:3px 0}
.teacher-role{font-size:.76rem;color:var(--purple);font-weight:800;margin-bottom:12px}
.teacher-course-list{display:flex;flex-wrap:wrap;gap:6px}
.teacher-course-list span{background:#f2e6e9;color:#6d1730;border-radius:999px;padding:6px 9px;font-size:.72rem;font-weight:700}
.avatar-picker-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.avatar-option{border:2px solid transparent;background:#f8f1f3;border-radius:15px;padding:8px;text-align:center}
.avatar-option.selected{border-color:var(--wine);box-shadow:0 0 0 3px rgba(123,8,38,.09)}
.avatar-option img{display:block;width:100%;aspect-ratio:1/1.12;object-fit:cover;border-radius:11px;margin-bottom:7px}
.avatar-option span{font-size:.72rem;font-weight:800;color:var(--wine-dark)}
.avatar-credit-note{font-size:.7rem;color:var(--muted);margin:16px 0 0}
@media(max-width:760px){
 .teacher-grid{grid-template-columns:1fr}
 .teacher-card{grid-template-columns:74px 1fr}
 .teacher-avatar{width:74px;height:88px}
 .avatar-picker-grid{grid-template-columns:repeat(2,1fr)}
}

/* V5 usuarios */
.user-admin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.user-admin-card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:17px;box-shadow:0 9px 30px rgba(70,0,20,.05)}.user-admin-head{display:grid;grid-template-columns:52px 1fr auto;gap:11px;align-items:center;padding-bottom:14px;border-bottom:1px solid var(--line)}.user-admin-avatar{width:52px;height:58px;object-fit:cover;border-radius:12px}.user-admin-name{display:grid}.user-admin-name strong{color:var(--wine-dark)}.user-admin-name span{font-size:.72rem;color:var(--purple);font-weight:800}.user-course-access{padding-top:13px}.user-course-label{font-size:.68rem;font-weight:900;text-transform:uppercase;color:var(--muted);margin-bottom:8px}.course-check-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.course-check{display:flex;align-items:center;gap:9px;border:1px solid var(--line);border-radius:12px;padding:9px;background:#fff;cursor:pointer}.course-check.compact{margin:6px 0}.course-check input{accent-color:var(--wine)}.course-check span{display:grid}.course-check strong{font-size:.78rem}.course-check small{font-size:.65rem;color:var(--muted)}.notice{padding:11px 13px;border-radius:12px;background:#f6edf0;color:#6b3444;font-size:.78rem}.credential{display:grid;gap:5px;border:1px solid var(--line);border-radius:13px;padding:12px;margin:9px 0}.credential span{font-size:.67rem;text-transform:uppercase;color:var(--muted);font-weight:900}.credential-password{font-family:monospace;word-break:break-all}.credential-help{font-size:.76rem;color:var(--muted)}@media(max-width:900px){.user-admin-grid{grid-template-columns:1fr}}@media(max-width:560px){.course-check-grid{grid-template-columns:1fr}}

/* V7 · DIRECTORIO DE USUARIOS */
.user-hero{margin-bottom:18px}
.user-search-wrap{
  position:sticky;top:86px;z-index:18;
  display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:9px;
  background:rgba(255,250,246,.96);backdrop-filter:blur(10px);
  border:1px solid var(--line);box-shadow:0 9px 28px rgba(70,0,20,.08);
  border-radius:16px;padding:9px 12px;margin-bottom:8px
}
.user-search-icon{font-size:1.25rem;color:var(--wine);font-weight:900}
.user-search-wrap input{
  width:100%;border:0;background:transparent;outline:none;
  padding:8px 2px;font-size:.94rem;color:var(--ink)
}
.user-search-clear{border:0;background:#f0e3e7;color:var(--wine);width:30px;height:30px;border-radius:50%;font-size:1rem}
.user-search-status{height:22px;color:var(--muted);font-size:.73rem;padding:4px 4px 0;margin-bottom:8px}
.user-role-section{margin:22px 0 32px}
.user-role-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:15px;margin-bottom:11px}
.user-role-heading h2{font:800 1.25rem Manrope;color:var(--wine-dark);margin:0}
.user-role-heading p{font-size:.76rem;color:var(--muted);margin:4px 0 0}
.user-count{display:grid;place-items:center;min-width:32px;height:28px;border-radius:999px;background:var(--wine);color:#fff;font-size:.72rem;font-weight:900;padding:0 9px}
.user-mini-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.user-mini-card{
  background:#fff;border:1px solid var(--line);border-radius:15px;overflow:hidden;
  box-shadow:0 6px 18px rgba(70,0,20,.035);min-width:0
}
.user-mini-main{
  width:100%;display:grid;grid-template-columns:38px minmax(0,1fr) 20px;gap:9px;align-items:center;
  border:0;background:#fff;text-align:left;padding:9px
}
.user-mini-main:hover{background:#fcf6f8}
.user-mini-avatar{width:38px;height:42px;object-fit:cover;border-radius:9px;background:#eee}
.user-mini-copy{display:grid;gap:2px;min-width:0}
.user-mini-copy strong{font-size:.78rem;color:var(--wine-dark);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.user-mini-copy small{font-size:.62rem;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.user-chevron{color:var(--wine);font-size:.9rem;transition:.2s transform}
.user-mini-card.open .user-chevron{transform:rotate(180deg)}
.user-access-panel{display:none;border-top:1px solid var(--line);padding:9px;background:#fdf9fa}
.user-access-panel.open{display:block}
.user-access-title{font-size:.62rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:900;margin-bottom:6px}
.user-access-panel .course-check.compact{padding:6px 7px;margin:4px 0;border-radius:9px}
.user-access-panel .course-check strong{font-size:.7rem}
.user-access-panel .course-check small{font-size:.58rem}
.compact-empty{padding:10px;font-size:.7rem}
.search-hidden{display:none!important}

/* Selector de avatares más compacto */
.avatar-picker-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}
.avatar-option{padding:5px;border-radius:11px}
.avatar-option img{aspect-ratio:1/1.05;border-radius:8px;margin-bottom:4px}
.avatar-option span{font-size:.58rem;line-height:1.1}
.avatar-credit-note{font-size:.62rem}

/* Mobile */
@media(max-width:1150px){.user-mini-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.avatar-picker-grid{grid-template-columns:repeat(4,1fr)}}
@media(max-width:820px){.user-mini-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.user-search-wrap{top:82px}.avatar-picker-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:520px){
  .user-mini-grid{grid-template-columns:1fr}
  .user-mini-main{grid-template-columns:42px minmax(0,1fr) 20px}
  .user-mini-avatar{width:42px;height:46px}
  .avatar-picker-grid{grid-template-columns:repeat(3,1fr)}
}

/* V8 PERFIL */
.profile-menu-trigger{position:relative;border:0;background:transparent;padding:5px 7px;border-radius:12px;cursor:pointer;display:flex;align-items:center;gap:10px;color:var(--ink)}
.profile-menu-trigger:hover{background:#f5e9ed}.profile-caret{color:var(--wine);font-size:.8rem}
.profile-dropdown{position:fixed;right:22px;top:66px;z-index:90;width:245px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:7px;box-shadow:0 18px 50px rgba(60,0,18,.18)}
.profile-dropdown button{width:100%;display:grid;grid-template-columns:24px 1fr;gap:8px;align-items:center;border:0;background:transparent;padding:10px;border-radius:10px;text-align:left;color:var(--ink)}
.profile-dropdown button:hover{background:#f8eef1}.profile-dropdown button>span{color:var(--wine);font-weight:900}.profile-dropdown button>div{display:grid;gap:2px}.profile-dropdown button strong{font-size:.78rem}.profile-dropdown button small{font-size:.64rem;color:var(--muted)}
.profile-dropdown-sep{height:1px;background:var(--line);margin:5px 3px}
.profile-modal{width:min(720px,calc(100vw - 28px))}
.profile-modal .modal-head p,.auth-modal .modal-head p{margin:5px 0 0;color:var(--muted);font-size:.8rem}
.profile-summary{display:flex;gap:12px;align-items:center;background:#f8eef1;border-radius:15px;padding:12px;margin-bottom:14px}
.profile-current-avatar{width:54px;height:62px;object-fit:cover;border-radius:12px}.profile-summary>div{display:grid;gap:3px}.profile-summary span{font-size:.72rem;color:var(--muted)}
.locked-field-note{font-size:.68rem;color:var(--muted);margin-top:4px}
.profile-section-title{margin:20px 0 6px;padding-top:16px;border-top:1px solid var(--line);font:800 .85rem Manrope;color:var(--wine-dark)}
.profile-section-title span{font:600 .68rem "DM Sans";color:var(--muted);margin-left:4px}
.auth-modal{width:min(480px,calc(100vw - 28px))}
.forgot-password{width:100%;border:0;background:transparent;color:var(--wine);font-weight:800;font-size:.76rem;margin-top:11px;padding:7px}
.forgot-password:hover{text-decoration:underline}
.profile-modal .avatar-picker-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:7px}.profile-modal .avatar-option{padding:4px}.profile-modal .avatar-option span{font-size:.55rem}
@media(max-width:760px){.profile-dropdown{right:10px;top:66px;width:min(250px,calc(100vw - 20px))}.profile-modal .avatar-picker-grid{grid-template-columns:repeat(4,1fr)}}
@media(max-width:500px){.profile-modal .avatar-picker-grid{grid-template-columns:repeat(3,1fr)}}

/* ==========================================================
   V9 · PROGRESO, ARCHIVO Y CUESTIONARIOS
   ========================================================== */
.course-progress{background:linear-gradient(135deg,#fff7f8,#f8f3ff);border:1px solid var(--line);border-radius:15px;padding:13px 14px;margin:0 0 18px}
.course-progress.compact-progress{padding:10px 11px;margin:12px 0}
.course-progress-top{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:8px}
.course-progress-top strong{font:900 1rem Manrope;color:var(--wine)}
.course-progress-top span{font-size:.69rem;color:var(--muted)}
.course-progress-track{height:9px;border-radius:999px;background:#eadfe3;overflow:hidden}
.course-progress-track i{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--wine),var(--purple));transition:.35s width}
.empty-progress{font-size:.72rem;color:var(--muted);padding:9px 11px}

.learning-row{transition:.18s background,.18s opacity}
.learning-row.is-complete{background:#fbf8f9}
.learning-row.is-complete h4{text-decoration:none}
.learning-status{width:29px;height:29px;border-radius:50%;display:grid;place-items:center;background:#f0e3e7;color:var(--wine);font-size:.68rem;font-weight:900}
.learning-row.is-complete .learning-status{background:#e2f0e7;color:#237144}
.learning-actions{display:flex;gap:8px;align-items:center}
.quiz-status{background:#eee7fb;color:var(--purple);font-size:.9rem}
.quiz-type{background:#eee7fb!important;color:#6842b2!important}
.quiz-last-score{margin-top:4px;font-size:.68rem;color:var(--purple)}
.completion-card{display:flex;justify-content:space-between;gap:18px;align-items:center;background:linear-gradient(135deg,#fff,#fbf4ff);border:1px solid var(--line);border-radius:18px;padding:14px 16px;margin-bottom:16px;box-shadow:0 7px 24px rgba(70,0,20,.04)}
.completion-card>div{display:flex;gap:11px;align-items:center}
.completion-card>div>div{display:grid;gap:2px}
.completion-card strong{font-size:.85rem;color:var(--wine-dark)}
.completion-card small{font-size:.7rem;color:var(--muted)}
.completion-icon{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:#f0e3e7;color:var(--wine);font-weight:900}
.completion-card.done .completion-icon{background:#dff0e5;color:#257144}

.quiz-hero{display:grid;grid-template-columns:70px 1fr auto;gap:17px;align-items:center;background:linear-gradient(135deg,#fff4f7,#f3edff);border:1px solid var(--line);border-radius:22px;padding:20px;margin-bottom:18px}
.quiz-hero h1{font:800 clamp(2rem,4vw,3.4rem)/.95 Manrope;color:var(--wine-dark);margin:5px 0}
.quiz-hero p{color:var(--muted);margin:0}
.quiz-hero-icon{width:66px;height:66px;border-radius:20px;display:grid;place-items:center;background:linear-gradient(145deg,var(--wine),var(--purple));color:white;font:900 2rem Manrope;box-shadow:0 12px 26px rgba(98,40,150,.18)}
.quiz-score-pill{background:white;border:1px solid var(--line);border-radius:999px;padding:9px 12px;font-size:.74rem;font-weight:900;color:var(--purple)}
.quiz-form{display:grid;gap:14px}
.quiz-question-card{position:relative;background:#fff;border:1px solid var(--line);border-radius:20px;padding:20px 20px 18px 68px;box-shadow:0 7px 25px rgba(70,0,20,.04)}
.quiz-question-card h3{font:800 1.02rem Manrope;color:var(--wine-dark);margin:0 0 14px}
.quiz-question-number{position:absolute;left:18px;top:18px;width:34px;height:34px;border-radius:11px;display:grid;place-items:center;background:#f0e3e7;color:var(--wine);font-weight:900}
.quiz-options{display:grid;gap:8px}
.quiz-option{display:grid;grid-template-columns:auto 30px 1fr;gap:9px;align-items:center;border:1px solid var(--line);border-radius:13px;padding:10px 12px;cursor:pointer;background:#fff;transition:.15s}
.quiz-option:hover{border-color:#caa7b3;background:#fff9fb}
.quiz-option:has(input:checked){border-color:var(--purple);background:#f6f1ff;box-shadow:0 0 0 2px rgba(118,80,200,.08)}
.quiz-option input{accent-color:var(--purple)}
.quiz-option-letter{width:28px;height:28px;border-radius:9px;background:#f0e3e7;display:grid;place-items:center;color:var(--wine);font-weight:900;font-size:.72rem}
.quiz-submit-bar{display:flex;justify-content:space-between;align-items:center;gap:16px;background:#171214;color:white;border-radius:18px;padding:15px 18px;position:sticky;bottom:14px;box-shadow:0 15px 35px rgba(0,0,0,.2)}
.quiz-submit-bar>div{display:grid}.quiz-submit-bar strong{font-size:.82rem}.quiz-submit-bar span{font-size:.68rem;color:#cbbfc3}
.quiz-result-modal{text-align:center;width:min(430px,100%)}
.quiz-result-ring{--score:0;width:150px;height:150px;border-radius:50%;margin:4px auto 18px;display:grid;place-items:center;background:conic-gradient(var(--purple) calc(var(--score)*1%),#eee4e8 0);position:relative}
.quiz-result-ring:after{content:"";position:absolute;inset:14px;background:white;border-radius:50%}
.quiz-result-ring>div{position:relative;z-index:2;display:grid}.quiz-result-ring strong{font:900 2rem Manrope;color:var(--wine)}.quiz-result-ring span{font-size:.7rem;color:var(--muted)}
.quiz-result-modal h2{font:900 1.6rem Manrope;color:var(--wine-dark);margin:0}.quiz-result-modal p{color:var(--muted);font-size:.84rem}

.quiz-builder-modal{width:min(800px,calc(100vw - 24px))}
.quiz-builder-title{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:18px 0 9px;padding-top:14px;border-top:1px solid var(--line)}
.quiz-builder-question{border:1px solid var(--line);border-radius:16px;padding:14px;margin:10px 0;background:#fcf9fa}
.quiz-builder-head{display:flex;justify-content:space-between;align-items:center}
.quiz-builder-options{display:grid;gap:7px}
.qb-option-row{display:grid;grid-template-columns:86px 1fr;gap:8px;align-items:center}
.qb-option-row>label{display:flex;align-items:center;gap:5px;font-size:.68rem;color:var(--muted)}
.qb-option-row>label input{accent-color:var(--purple)}
.qb-option-row>input{border:1px solid var(--line);border-radius:10px;padding:9px}
.quiz-publish-toggle{display:flex;gap:8px;align-items:center;background:#f6f0fb;border-radius:11px;padding:10px;font-size:.76rem;font-weight:800;color:var(--purple)}
.quiz-publish-toggle input{accent-color:var(--purple)}
.quiz-admin-row{background:#fbf8ff}

.archive-section{margin:34px 0 10px;padding:22px;border-radius:22px;background:linear-gradient(135deg,#171214,#271d2f);color:white}
.archive-heading{display:flex;justify-content:space-between;gap:20px;align-items:flex-end;margin-bottom:15px}
.archive-heading h2{font:900 1.55rem Manrope;margin:3px 0}.archive-heading p{font-size:.8rem;color:#c9bec4;margin:0;max-width:720px}.archive-heading>span{min-width:36px;height:36px;border-radius:50%;background:var(--gold);color:var(--wine-dark);display:grid;place-items:center;font-weight:900}
.archive-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.archive-card{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.1);border-radius:15px;padding:13px;display:flex;flex-direction:column;justify-content:space-between;gap:12px}
.archive-card h3{font:800 .95rem Manrope;margin:8px 0 3px}.archive-card p{font-size:.68rem;color:#c9bec4;margin:0}.archive-card .tag{background:rgba(255,255,255,.12);color:white}
.show-password-toggle{display:flex!important;align-items:center;gap:6px;margin-top:6px!important;font-size:.68rem!important;color:var(--muted)!important;font-weight:700!important;cursor:pointer}.show-password-toggle input{width:auto!important;accent-color:var(--wine)}

@media(max-width:900px){.archive-grid{grid-template-columns:repeat(2,1fr)}.quiz-hero{grid-template-columns:58px 1fr}.quiz-score-pill{grid-column:2;justify-self:start}.quiz-hero-icon{width:54px;height:54px}}
@media(max-width:650px){
 .archive-grid{grid-template-columns:1fr}.completion-card{align-items:flex-start;flex-direction:column}.completion-card button{width:100%}
 .quiz-question-card{padding:16px 13px 14px}.quiz-question-number{position:static;margin-bottom:8px}.quiz-submit-bar{align-items:stretch;flex-direction:column}.quiz-submit-bar button{width:100%}
 .qb-option-row{grid-template-columns:1fr}.quiz-hero{grid-template-columns:1fr}.quiz-score-pill{grid-column:1}.quiz-hero-icon{width:52px;height:52px}
}

/* V10 · TEXTO DE APOYO / EDITOR ENRIQUECIDO */
.support-editor-wrap{border:1px solid var(--line);border-radius:14px;background:#fff;overflow:hidden}
.support-toolbar{display:flex;align-items:center;gap:4px;flex-wrap:wrap;padding:7px;border-bottom:1px solid var(--line);background:linear-gradient(180deg,#fbf7f8,#f6eef1)}
.support-toolbar button{min-height:30px;border:1px solid transparent;background:transparent;border-radius:8px;padding:5px 8px;font-size:.7rem;font-weight:800;color:#493e41}
.support-toolbar button:hover{background:#fff;border-color:var(--line);color:var(--wine)}
.support-toolbar-sep{width:1px;height:22px;background:var(--line);margin:0 2px}
.support-editor{min-height:180px;max-height:430px;overflow:auto;padding:18px 20px;outline:none;font-size:.92rem;line-height:1.72;color:#2e2729}
.support-editor:empty:before{content:attr(data-placeholder);color:#a2969a;pointer-events:none}
.support-editor h2,.support-text-content h2{font:800 1.55rem/1.15 Manrope;color:var(--wine-dark);letter-spacing:-.035em;margin:1.4em 0 .55em}
.support-editor h3,.support-text-content h3{font:800 1.15rem/1.2 Manrope;color:#5f2140;margin:1.25em 0 .45em}
.support-editor p,.support-text-content p{margin:.72em 0}
.support-editor ul,.support-editor ol,.support-text-content ul,.support-text-content ol{padding-left:1.5em;margin:.8em 0}
.support-editor li,.support-text-content li{margin:.35em 0}
.support-editor blockquote,.support-text-content blockquote{margin:1.1em 0;padding:12px 16px;border-left:4px solid var(--purple);background:#f7f2ff;border-radius:0 12px 12px 0;color:#51435a}
.support-editor a,.support-text-content a{color:var(--purple);font-weight:800;text-decoration:underline;text-underline-offset:2px}
.support-editor-hint{padding:7px 10px;border-top:1px solid var(--line);font-size:.64rem;color:var(--muted);background:#fdfafb}
.support-text-card{max-width:900px;margin:0 auto 18px;background:#fff;border:1px solid var(--line);border-radius:20px;padding:24px clamp(20px,4vw,42px);box-shadow:0 10px 34px rgba(70,0,20,.055);position:relative;overflow:hidden}
.support-text-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;background:linear-gradient(180deg,var(--wine),var(--purple))}
.support-text-kicker{font-size:.65rem;letter-spacing:.14em;text-transform:uppercase;font-weight:900;color:var(--wine);margin-bottom:12px}
.support-text-content{font-family:"DM Sans",sans-serif;font-size:1rem;line-height:1.78;color:#30292b;max-width:760px}
.support-text-content strong{color:#21191c}.support-text-content u{text-decoration-thickness:1.5px;text-underline-offset:2px}
.support-text-content>:first-child{margin-top:0}.support-text-content>:last-child{margin-bottom:0}
@media(max-width:650px){.support-toolbar{gap:3px}.support-toolbar button{padding:5px 6px;font-size:.64rem}.support-toolbar-sep{display:none}.support-editor{min-height:155px;padding:14px;font-size:.88rem}.support-text-card{padding:20px 18px;margin-bottom:14px}.support-text-content{font-size:.94rem;line-height:1.7}}

/* V11 · EDICIÓN DE FORO + GESTIÓN DE ROLES */
.forum-thread-top,.forum-reply-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.forum-edit-actions{display:flex;align-items:center;gap:6px}.forum-mini-action{border:1px solid var(--line);background:#fff;color:var(--wine);border-radius:9px;padding:6px 8px;font-size:.64rem;font-weight:900;cursor:pointer;white-space:nowrap}.forum-mini-action:hover{background:#f9f1f4;border-color:#d7b6c1}.forum-reply-head strong{display:block;line-height:1.35}.forum-reply .forum-mini-action{padding:4px 7px;font-size:.61rem}.user-role-manager{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px;margin-bottom:12px;border:1px solid var(--line);border-radius:13px;background:linear-gradient(135deg,#fff8fa,#f7f2ff)}.user-role-manager>div{display:grid;gap:3px}.user-role-manager small{font-size:.66rem;color:var(--muted);line-height:1.4}.user-role-manager.admin-locked{background:#f5f2f3}.role-lock{border-radius:999px;padding:5px 8px;background:#ece6e8;color:#776a6f;font-size:.61rem;font-weight:900;text-transform:uppercase;letter-spacing:.05em}@media(max-width:650px){.forum-thread-top,.forum-reply-head{gap:8px}.forum-thread-top{flex-direction:column}.user-role-manager{align-items:stretch;flex-direction:column}.user-role-manager button{width:100%}}

/* ==========================================================
   V12 · ENTRENAMIENTO + DESAFÍOS
   ========================================================== */
.practice-hero{position:relative;overflow:hidden;display:flex;justify-content:space-between;align-items:center;gap:24px;padding:32px;border-radius:24px;background:radial-gradient(circle at 85% 15%,#7b4d86 0,#351224 34%,#171315 72%);color:#fff;margin-bottom:18px;box-shadow:0 18px 45px rgba(36,9,20,.16)}
.practice-hero h1{font-size:clamp(2rem,5vw,3.4rem);margin:4px 0 8px;line-height:1}.practice-hero p{max-width:660px;color:#e8dfe2;margin:0}.practice-hero .brand-kicker{color:#e1bd62}.practice-orbit{width:92px;height:92px;border-radius:50%;display:grid;place-items:center;border:1px solid rgba(255,255,255,.24);background:rgba(255,255,255,.08);font-size:2.2rem;box-shadow:inset 0 0 0 12px rgba(255,255,255,.025)}
.challenge-hero{background:radial-gradient(circle at 85% 15%,#b77a2b 0,#65142d 31%,#181315 72%)}
.practice-controls{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:17px 18px;background:#fff;border:1px solid var(--line);border-radius:16px;margin-bottom:18px}.practice-controls>div{display:grid;gap:8px}.practice-controls span{font-size:.78rem;color:var(--muted)}
.practice-chips{display:flex;flex-wrap:wrap;gap:6px}.practice-chip{border:1px solid var(--line);background:#f8f5f6;border-radius:999px;padding:6px 10px;font-size:.68rem;font-weight:800;cursor:pointer}.practice-chip.active{background:#4d0c22;color:#fff;border-color:#4d0c22}
.challenge-draw-card{max-width:820px;margin:0 auto 18px;padding:26px;border-radius:22px;background:#fff;border:1px solid #e5d8dd;box-shadow:0 16px 40px rgba(44,15,26,.1);position:relative;overflow:hidden}.challenge-draw-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;background:linear-gradient(#7b0826,#7650c8)}
.challenge-draw-top{display:flex;justify-content:space-between;text-transform:uppercase;font-size:.66rem;font-weight:900;letter-spacing:.08em;color:#755f67}.challenge-line-label{font-size:.62rem;font-weight:900;color:#a27b2b;letter-spacing:.12em;margin-top:22px}.challenge-line{font-family:Manrope,sans-serif;font-size:clamp(1.65rem,4vw,2.5rem);font-weight:800;line-height:1.1;color:#4d0c22;margin:6px 0 20px;border:0;padding:0}.challenge-prompt{font-size:1rem;line-height:1.65;color:#30292b}.challenge-rules{display:grid;gap:7px;margin:18px 0}.challenge-rules div{display:flex;gap:8px;font-size:.82rem;color:#62565a}.challenge-rules span{color:#7b0826;font-weight:900}.challenge-focus{display:flex;flex-direction:column;gap:3px;padding:12px 14px;background:#f6f0f7;border-radius:12px}.challenge-focus small{font-size:.6rem;font-weight:900;letter-spacing:.09em;color:#7650c8}.challenge-focus strong{font-size:.85rem}.challenge-card-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:18px}
.practice-note{max-width:820px;margin:0 auto;padding:14px 18px;border-radius:14px;background:#f6f0e5;display:grid;gap:3px}.practice-note span{font-size:.78rem;color:#6e6251}
.challenge-history{margin-top:24px}.attempt-row,.challenge-review-row{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:12px 0;border-top:1px solid var(--line)}.attempt-row>div,.challenge-review-row>div:first-child{display:grid;gap:3px}.attempt-row small,.challenge-review-row small{font-size:.68rem;color:var(--muted)}.attempt-row p{margin:0;max-width:500px}.attempt-row>span{font-size:.72rem;color:var(--muted)}
.submission-summary{padding:14px;background:#f8f3f5;border-radius:12px;margin-bottom:14px}.submission-summary span{font-size:.66rem;font-weight:900;text-transform:uppercase;color:#7650c8}.submission-summary blockquote{font-size:1.35rem;font-weight:800;color:#7b0826;margin:6px 0}
.challenge-admin-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:12px;margin-bottom:22px}.challenge-admin-card{display:flex;flex-direction:column;justify-content:space-between;gap:14px;padding:16px;border:1px solid var(--line);border-radius:16px;background:#fff}.challenge-admin-card.published{box-shadow:inset 4px 0 #7b0826}.challenge-admin-card span{font-size:.65rem;font-weight:900;color:#7650c8;text-transform:uppercase}.challenge-admin-card p{font-size:.82rem;line-height:1.45}.challenge-admin-card small{color:var(--muted)}.review-actions{display:flex;gap:6px;align-items:center}
@media(max-width:700px){.practice-hero{padding:23px}.practice-orbit{display:none}.practice-controls{align-items:stretch;flex-direction:column}.practice-controls>button{width:100%}.challenge-draw-card{padding:20px}.challenge-card-actions{flex-direction:column}.challenge-card-actions button{width:100%}.challenge-review-row,.attempt-row{align-items:flex-start;flex-direction:column}.review-actions{width:100%}.review-actions>*{flex:1;text-align:center}}

/* ==========================================================
   V13 · DESAFÍOS + NOTIFICACIONES
   ========================================================== */
.nav-item{position:relative}
.nav-badge{
  margin-left:auto;min-width:20px;height:20px;padding:0 6px;border-radius:999px;
  display:grid;place-items:center;background:#d7aa47;color:#24170a;
  font-size:.62rem;font-weight:1000;box-shadow:0 0 0 2px rgba(255,255,255,.08)
}
.notifications-hero{
  display:flex;align-items:center;justify-content:space-between;gap:24px;
  padding:30px;border-radius:24px;margin-bottom:18px;color:#fff;
  background:radial-gradient(circle at 84% 20%,#a3732c 0,#69162e 30%,#181315 72%);
  box-shadow:0 18px 45px rgba(36,9,20,.14)
}
.notifications-hero h1{font-size:clamp(2rem,5vw,3.35rem);line-height:1;margin:4px 0 8px}
.notifications-hero p{margin:0;max-width:650px;color:#ebdfe2}
.notification-bell{
  width:92px;height:92px;border-radius:50%;display:grid;place-items:center;
  background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.2);
  font-size:2.1rem
}
.notifications-list{display:grid;gap:10px}
.notification-card{
  display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:15px;
  padding:17px 18px;border:1px solid var(--line);border-radius:17px;background:#fff;
  transition:.2s ease
}
.notification-card.unread{
  border-color:#d9bd78;background:linear-gradient(135deg,#fffdf8,#fff8ed);
  box-shadow:0 10px 26px rgba(87,52,15,.08)
}
.notification-dot{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:#f1ecee;color:#7b0826;font-size:.65rem}
.notification-card.unread .notification-dot{background:#d7aa47;color:#281804}
.notification-copy{min-width:0}
.notification-meta{font-size:.61rem;font-weight:950;letter-spacing:.08em;color:#8b6d27}
.notification-copy h3{margin:3px 0 5px;font-size:1rem;color:#2b2225}
.notification-copy p{margin:0 0 5px;font-size:.8rem;line-height:1.45;color:#62565a}
.notification-copy small{font-size:.65rem;color:var(--muted)}
@media(max-width:700px){
  .notifications-hero{padding:22px}.notification-bell{display:none}
  .notification-card{grid-template-columns:auto 1fr}
  .notification-card button{grid-column:1/-1;width:100%}
}

/* ==========================================================
   V15 · DESAFÍOS EDITABLES + SORTEO VISUAL
   ========================================================== */
.forum-mini-action.danger{color:#981832;border-color:#e4b9c3;background:#fff5f7}
.hero-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.challenge-card-title{font-size:1.35rem;margin:10px 0 4px;color:#2f2227}
.challenge-no-line{display:grid;gap:4px;margin:18px 0;padding:17px;border:1px dashed #d9bd78;border-radius:14px;background:#fffaf0}
.challenge-no-line span{font-size:.62rem;font-weight:950;letter-spacing:.09em;color:#a27b2b}
.challenge-no-line strong{font-size:.95rem;color:#4c3c2d}
.challenge-admin-message{display:grid;gap:4px;padding:16px 18px;margin-bottom:16px;border-radius:15px;background:linear-gradient(135deg,#f7f0f3,#f4efe6);border:1px solid var(--line)}
.challenge-admin-message small{font-size:.6rem;font-weight:950;letter-spacing:.08em;color:#8a6a25}
.challenge-admin-message strong{font-size:1.05rem;color:#4d0c22}
.challenge-admin-message span{font-size:.78rem;color:#62565a}
.challenge-admin-card h3{font-size:1rem;margin:7px 0}
.challenge-admin-actions{display:flex;gap:6px;flex-wrap:wrap}
.danger-button{border:1px solid #ddb1bd;background:#fff4f6;color:#92152f;border-radius:9px;padding:8px 10px;font-weight:850;cursor:pointer}
.admin-lines-preview{display:grid;gap:4px;margin-top:12px;padding:10px;border-radius:10px;background:#f8f5f6}
.admin-lines-preview small{font-size:.58rem;font-weight:900;color:#7650c8;letter-spacing:.07em}
.admin-lines-preview em{font-size:.72rem;font-style:normal;color:#574a4e}
.admin-lines-preview b{font-size:.65rem;color:#8f7f84}
.challenge-editor-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.challenge-editor-grid .wide{grid-column:1/-1}
.challenge-lines-editor{min-height:155px}
.challenge-publish-check{display:flex;align-items:center;gap:8px;font-size:.8rem;font-weight:800}
.phrase-picker-overlay{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;padding:20px;background:rgba(17,10,13,.8);backdrop-filter:blur(8px);opacity:0;transition:.25s ease}
.phrase-picker-overlay.show{opacity:1}
.phrase-picker-box{position:relative;width:min(720px,94vw);min-height:520px;border-radius:30px;overflow:hidden;background:radial-gradient(circle at 50% 45%,#78223d 0,#351522 42%,#171315 78%);color:#fff;box-shadow:0 30px 90px rgba(0,0,0,.45)}
.phrase-picker-close{position:absolute;z-index:5;right:18px;top:14px;width:36px;height:36px;border-radius:50%;border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.08);color:#fff;font-size:1.3rem;cursor:pointer}
.phrase-picker-copy{position:absolute;z-index:3;left:50%;top:50%;transform:translate(-50%,-50%);width:min(370px,70%);text-align:center;pointer-events:none}
.phrase-picker-copy span{font-size:.65rem;letter-spacing:.15em;font-weight:950;color:#e0b855}
.phrase-picker-copy h2{font-size:2rem;line-height:1.12;margin:8px 0;color:#fff}
.phrase-picker-copy p{font-size:.8rem;color:#ded2d6;margin:0}
.phrase-orbit{position:absolute;inset:0;animation:orbitWhole 12s linear infinite}
.phrase-ball{--angle:calc(360deg / var(--n) * var(--i));position:absolute;left:50%;top:50%;width:72px;height:72px;margin:-36px;border-radius:50%;border:1px solid rgba(255,255,255,.28);background:linear-gradient(145deg,#a33f5e,#4e1429);box-shadow:0 10px 25px rgba(0,0,0,.3),inset 0 1px rgba(255,255,255,.18);cursor:pointer;transform:rotate(var(--angle)) translateX(230px) rotate(calc(-1 * var(--angle)));transition:.18s}
.phrase-ball:hover{scale:1.12;filter:brightness(1.16)}
.phrase-ball img{width:70%;height:70%;object-fit:contain;filter:brightness(0) invert(1);pointer-events:none}
.phrase-picker-overlay.picked .phrase-orbit{animation-duration:1s;filter:blur(2px);opacity:.5;transition:.5s}
@keyframes orbitWhole{to{transform:rotate(360deg)}}
@media(max-width:700px){
  .challenge-editor-grid{grid-template-columns:1fr}.challenge-editor-grid .wide{grid-column:auto}
  .phrase-picker-box{min-height:470px}
  .phrase-ball{width:58px;height:58px;margin:-29px;transform:rotate(var(--angle)) translateX(150px) rotate(calc(-1 * var(--angle)))}
  .phrase-picker-copy h2{font-size:1.55rem}
  .hero-actions{width:100%}.hero-actions button{flex:1}
}
