/* ═══════════════════════════════════════════════════════
   shared.css — TODOS los estilos comunes de Mira Estudio
   Usado por index.html, dashboard.html y admin.html.
   Los colores y tipografías se cambian acá, en :root (una sola vez).
   Cada página puede tener un <style> chico con sus ajustes propios.
   ═══════════════════════════════════════════════════════ */


:root{
  --c1:#8C0026;--c1d:#620018;--c1l:#B0003A;
  --gold:#C9A84C;--goldl:#E8D5A0;--goldp:#FDF5DC;--goldd:#9A7A2A;
  --dark:#F0E6D3;--darkm:#D8CABC;
  --cr:#0D0005;--crd:#2A0818;--sw:#160008;
  --muted:#A07880;
  --fd:'Cormorant Garamond',serif;
  --fb:'DM Sans',sans-serif;
  --r1:6px;--r2:14px;--r3:22px;
  --s1:0 1px 4px rgba(26,0,8,.1);
  --s2:0 4px 24px rgba(26,0,8,.15);
  --s3:0 14px 60px rgba(26,0,8,.24);
  --hero-bg1:#1A0008;--hero-bg2:#620018;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{font-family:var(--fb);background:var(--cr);color:var(--dark);min-height:100vh;overflow-x:hidden;}
.view{display:none;min-height:100vh;}
.view.active{display:flex;flex-direction:column;}
#view-dashboard{flex-direction:row;}

/* ── NAV ── */
.lnav{position:fixed;top:0;left:0;right:0;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:0 5vw;height:70px;background:rgba(26,0,8,.95);backdrop-filter:blur(14px);border-bottom:1px solid rgba(201,168,76,.2);}
.brand-btn{background:none;border:none;cursor:pointer;display:flex;align-items:center;gap:11px;font-family:var(--fd);font-size:23px;font-weight:600;letter-spacing:.06em;color:var(--goldl);user-select:none;}
.logo-nav{height:38px;width:38px;object-fit:contain;mix-blend-mode:screen;border-radius:50%;}
.logo-hero{height:110px;object-fit:contain;mix-blend-mode:screen;filter:brightness(1.12);}
.logo-sb{height:32px;width:32px;object-fit:contain;mix-blend-mode:screen;}
.nav-links{display:flex;gap:30px;}
.nav-links a{font-size:14px;color:rgba(255,248,240,.65);text-decoration:none;transition:.2s;}
.nav-links a:hover{color:var(--goldl);}
.nav-acts{display:flex;gap:9px;}
.btn-g{background:none;border:1px solid rgba(201,168,76,.4);color:var(--goldl);padding:8px 20px;border-radius:50px;font-family:var(--fb);font-size:13px;font-weight:500;cursor:pointer;transition:.2s;}
.btn-g:hover{background:rgba(201,168,76,.15);}
.btn-p{background:var(--gold);color:var(--dark);border:none;padding:8px 20px;border-radius:50px;font-family:var(--fb);font-size:13px;font-weight:600;cursor:pointer;transition:.2s;}
.btn-p:hover{background:var(--goldd);color:#fff;}
.btn-gold{background:var(--gold);color:var(--dark);border:none;padding:13px 34px;border-radius:50px;font-family:var(--fb);font-size:15px;font-weight:600;cursor:pointer;transition:.2s;}
.btn-gold:hover{background:var(--goldd);color:#fff;}
.btn-crimson{background:var(--c1);color:#fff;border:none;padding:10px 22px;border-radius:50px;font-family:var(--fb);font-size:14px;font-weight:600;cursor:pointer;transition:.2s;}
.btn-crimson:hover{background:var(--c1d);}

/* ── HERO ── */
.hero{min-height:100vh;display:flex;align-items:center;justify-content:center;text-align:center;padding:120px 5vw 80px;position:relative;overflow:hidden;}
.hero-media{position:absolute;inset:0;z-index:0;}
.hero-media img,.hero-media video{width:100%;height:100%;object-fit:cover;}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(160deg,rgba(26,0,8,.9) 0%,rgba(98,0,24,.78) 50%,rgba(59,0,15,.85) 100%);z-index:1;}
.hero-ornament{position:absolute;border-radius:50%;border:1px solid rgba(201,168,76,.12);top:50%;left:50%;transform:translate(-50%,-50%);pointer-events:none;z-index:2;}
.h-o1{width:480px;height:480px;}.h-o2{width:720px;height:720px;border-color:rgba(201,168,76,.07);}.h-o3{width:960px;height:960px;border-color:rgba(201,168,76,.04);}
.hero-content{position:relative;z-index:3;max-width:760px;}
.hero-tag{display:inline-flex;align-items:center;gap:8px;background:rgba(201,168,76,.15);color:var(--goldl);padding:6px 17px;border-radius:50px;font-size:11.5px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;margin-bottom:22px;border:1px solid rgba(201,168,76,.3);}
.hero h1{font-family:var(--fd);font-size:clamp(44px,7vw,86px);font-weight:300;line-height:1.06;color:var(--cr);letter-spacing:-.01em;margin-bottom:20px;}
.hero h1 em{font-style:italic;color:var(--goldl);}
.hero p{font-size:16.5px;line-height:1.7;color:rgba(255,248,240,.6);max-width:500px;margin:0 auto 36px;font-weight:300;}
.hero-acts{display:flex;align-items:center;justify-content:center;gap:13px;flex-wrap:wrap;}
.hero-stats{display:flex;align-items:center;justify-content:center;gap:42px;margin-top:52px;padding-top:36px;border-top:1px solid rgba(201,168,76,.2);}
.stat-num{font-family:var(--fd);font-size:36px;font-weight:500;color:var(--goldl);display:block;}
.stat-lbl{font-size:11px;color:rgba(255,248,240,.5);letter-spacing:.06em;text-transform:uppercase;}

/* ── SECTION ── */
.sec{padding:80px 5vw;}
.sec-lbl{font-size:11.5px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--goldd);margin-bottom:13px;}
.sec-tit{font-family:var(--fd);font-size:clamp(32px,5vw,52px);font-weight:400;line-height:1.1;color:var(--dark);max-width:540px;margin-bottom:40px;}
.sec-tit em{font-style:italic;color:var(--c1);}

/* ── FEATURES ── */
.feat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px;}
.feat-card{background:var(--sw);border:1px solid var(--crd);border-radius:var(--r3);padding:30px 26px;transition:.25s;}
.feat-card:hover{box-shadow:var(--s2);transform:translateY(-2px);}
.feat-icon{width:44px;height:44px;border-radius:var(--r2);background:rgba(140,0,38,.08);display:flex;align-items:center;justify-content:center;margin-bottom:15px;font-size:20px;}
.feat-card h3{font-family:var(--fd);font-size:19px;font-weight:500;margin-bottom:7px;}
.feat-card p{font-size:13.5px;color:var(--muted);line-height:1.65;}

/* ── DARK SECTION ── */
.sec-dark{background:var(--dark);}
.sec-dark .sec-lbl{color:var(--gold);}
.cpc-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px;}
.cpc{background:rgba(255,255,255,.04);border:1px solid rgba(201,168,76,.15);border-radius:var(--r3);overflow:hidden;transition:.25s;cursor:pointer;}
.cpc:hover{background:rgba(201,168,76,.07);transform:translateY(-3px);border-color:rgba(201,168,76,.35);}
.cpc-thumb{height:170px;display:flex;align-items:center;justify-content:center;font-size:52px;}
.cpc-body{padding:19px;}
.cpc-tag{display:inline-block;background:rgba(201,168,76,.18);color:var(--gold);padding:3px 9px;border-radius:50px;font-size:11px;font-weight:500;letter-spacing:.05em;text-transform:uppercase;margin-bottom:7px;}
.cpc-title{font-family:var(--fd);font-size:19px;font-weight:500;color:var(--cr);margin-bottom:5px;}
.cpc-desc{font-size:13px;color:rgba(255,248,240,.5);line-height:1.6;margin-bottom:11px;}
.cpc-meta{font-size:12px;color:rgba(255,248,240,.35);}

/* ── CTA ── */
.sec-cta{background:var(--c1);text-align:center;padding:80px 5vw;}
.sec-cta .sec-tit{color:var(--cr);margin:0 auto 11px;text-align:center;}
.sec-cta .sec-tit em{color:var(--goldl);}
.sec-cta p{color:rgba(255,248,240,.65);font-size:15.5px;margin-bottom:32px;}

/* ── FOOTER ── */
.footer{background:var(--dark);color:rgba(255,248,240,.4);padding:40px 5vw;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:13px;}
.footer .brand-btn{color:var(--goldl);font-size:20px;}
.footer p{font-size:13px;}

/* ── AUTH ── */
.ov{display:none;position:fixed;inset:0;z-index:200;background:rgba(26,0,8,.76);backdrop-filter:blur(9px);align-items:center;justify-content:center;padding:18px;}
.ov.open{display:flex;}
.auth-card{background:var(--sw);border-radius:var(--r3);padding:40px 36px;width:100%;max-width:415px;box-shadow:var(--s3);position:relative;border:1px solid rgba(201,168,76,.2);animation:su .28s cubic-bezier(.4,0,.2,1);}
@keyframes su{from{opacity:0;transform:translateY(20px);}to{opacity:1;transform:translateY(0);}}
.auth-close{position:absolute;top:14px;right:14px;background:none;border:none;cursor:pointer;color:var(--muted);font-size:18px;width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:.2s;}
.auth-close:hover{background:var(--crd);}
.auth-brand{text-align:center;margin-bottom:22px;}
.auth-tabs{display:flex;gap:2px;background:var(--crd);border-radius:6px;padding:3px;margin-bottom:20px;}
.auth-tab{flex:1;text-align:center;padding:8px;border-radius:5px;font-size:13px;font-weight:500;cursor:pointer;transition:.2s;background:none;border:none;color:var(--muted);font-family:var(--fb);}
.auth-tab.active{background:var(--sw);color:var(--dark);}
.fg{margin-bottom:13px;}
.fg label{display:block;font-size:11.5px;font-weight:500;color:var(--dark);margin-bottom:5px;}
.fg input,.fg select,.fg textarea{width:100%;padding:10px 13px;border-radius:var(--r1);border:1px solid var(--crd);background:var(--cr);font-family:var(--fb);font-size:13.5px;color:var(--dark);outline:none;transition:.2s;resize:vertical;}
.fg input:focus,.fg select:focus,.fg textarea:focus{border-color:var(--gold);}
.fg input::placeholder{color:var(--muted);opacity:.5;}
.btn-auth{width:100%;padding:12px;border-radius:50px;border:none;background:var(--c1);color:#fff;font-family:var(--fb);font-size:14.5px;font-weight:600;cursor:pointer;transition:.2s;margin-top:3px;}
.btn-auth:hover{background:var(--c1d);}
.auth-divider{text-align:center;font-size:12px;color:var(--muted);margin:10px 0;}
.auth-demo{width:100%;padding:9px;border-radius:50px;border:1px solid rgba(201,168,76,.4);background:none;color:var(--dark);font-family:var(--fb);font-size:13.5px;cursor:pointer;transition:.2s;}
.auth-demo:hover{background:var(--goldp);}
.auth-error{background:#fde8e8;border:1px solid #fbb;color:#8B0000;padding:8px 12px;border-radius:var(--r1);font-size:13px;margin-bottom:11px;display:none;}

/* ── ADMIN KEY ── */
.admin-key-input{width:100%;padding:11px 14px;border-radius:var(--r1);border:1px solid rgba(201,168,76,.35);background:rgba(140,0,38,.05);font-family:var(--fb);font-size:14px;color:var(--dark);outline:none;margin-bottom:9px;text-align:center;letter-spacing:.1em;}
.admin-key-input:focus{border-color:var(--c1);}

/* ── MODALS ── */
.modal-ov{display:none;position:fixed;inset:0;z-index:400;background:rgba(26,0,8,.72);backdrop-filter:blur(7px);align-items:center;justify-content:center;padding:16px;}
.modal-ov.open{display:flex;}
.mcard{background:var(--sw);border-radius:var(--r3);padding:28px 24px;width:100%;max-width:640px;box-shadow:var(--s3);border:1px solid rgba(201,168,76,.2);position:relative;max-height:88vh;overflow-y:auto;animation:su .25s cubic-bezier(.4,0,.2,1);}
.mcard-sm{max-width:460px;}
.mtit{font-family:var(--fd);font-size:21px;font-weight:500;color:var(--dark);margin-bottom:16px;}
.mclose{position:absolute;top:12px;right:12px;background:none;border:none;font-size:18px;cursor:pointer;color:var(--muted);width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:.2s;}
.mclose:hover{background:var(--crd);}

/* ── FAB ── */
.fab-wrap{position:fixed;bottom:26px;right:26px;z-index:300;display:none;}
.fab-btn{width:50px;height:50px;border-radius:50%;background:var(--c1);border:2px solid var(--gold);color:var(--goldl);font-size:22px;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:var(--s2);transition:.25s;font-weight:700;letter-spacing:0;}
.fab-btn:hover{background:var(--c1d);transform:scale(1.07);}
.fab-menu{position:absolute;bottom:60px;right:0;background:var(--sw);border:1px solid rgba(201,168,76,.25);border-radius:var(--r3);box-shadow:var(--s3);overflow:hidden;min-width:210px;opacity:0;pointer-events:none;transform:translateY(10px) scale(.96);transition:.22s cubic-bezier(.4,0,.2,1);}
.fab-menu.open{opacity:1;pointer-events:auto;transform:translateY(0) scale(1);}
.fab-item{display:flex;align-items:center;gap:12px;padding:13px 17px;cursor:pointer;transition:.2s;border:none;border-bottom:1px solid rgba(201,168,76,.1);width:100%;text-align:left;font-family:var(--fb);font-size:14px;color:var(--dark);background:none;}
.fab-item:last-child{border-bottom:none;}
.fab-item:hover{background:var(--goldp);color:var(--c1);}
.fab-item-icon{font-size:18px;width:24px;text-align:center;}

/* ── SIDEBAR ── */
.sidebar{width:252px;min-height:100vh;flex-shrink:0;background:var(--dark);border-right:1px solid rgba(201,168,76,.15);display:flex;flex-direction:column;position:fixed;top:0;left:0;bottom:0;z-index:50;transition:transform .3s ease;}
.sb-logo{padding:18px 16px;border-bottom:1px solid rgba(201,168,76,.15);display:flex;align-items:center;gap:10px;}
.sb-brand{font-family:var(--fd);font-size:17px;font-weight:600;color:var(--goldl);letter-spacing:.05em;}
.sb-nav{flex:1;padding:14px 7px;overflow-y:auto;}
.sb-slbl{font-size:10px;font-weight:500;color:rgba(201,168,76,.45);text-transform:uppercase;letter-spacing:.12em;padding:0 11px;margin-bottom:4px;margin-top:14px;}
.sb-slbl:first-child{margin-top:0;}
.sb-item{display:flex;align-items:center;gap:10px;padding:10px 11px;border-radius:var(--r2);color:rgba(255,248,240,.5);font-size:13.5px;cursor:pointer;transition:.2s;border:none;background:none;width:100%;text-align:left;font-family:var(--fb);}
.sb-item:hover{background:rgba(201,168,76,.1);color:var(--goldl);}
.sb-item.active{background:rgba(140,0,38,.5);color:var(--goldl);font-weight:500;border:1px solid rgba(201,168,76,.2);}
.sb-icon{font-size:15px;width:19px;text-align:center;}
.sb-badge{margin-left:auto;background:var(--c1);color:#fff;font-size:10px;font-weight:600;padding:2px 7px;border-radius:50px;}
.sb-user{padding:12px 14px;border-top:1px solid rgba(201,168,76,.15);display:flex;align-items:center;gap:10px;}
.uav{width:33px;height:33px;border-radius:50%;background:linear-gradient(135deg,var(--c1l),var(--c1));display:flex;align-items:center;justify-content:center;font-family:var(--fd);font-size:13px;font-weight:600;color:var(--goldl);flex-shrink:0;border:1px solid rgba(201,168,76,.3);}
.uname{font-size:13px;font-weight:500;color:var(--goldl);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.urole{font-size:11px;color:rgba(255,248,240,.4);}
.btn-logout{background:none;border:none;cursor:pointer;color:rgba(255,248,240,.35);font-size:16px;transition:.2s;}
.btn-logout:hover{color:var(--gold);}

/* ── MAIN ── */
.main-content{margin-left:252px;flex:1;min-height:100vh;background:var(--cr);display:flex;flex-direction:column;}
.topbar{height:60px;background:var(--sw);border-bottom:1px solid var(--crd);display:flex;align-items:center;justify-content:space-between;padding:0 24px;flex-shrink:0;position:sticky;top:0;z-index:40;}
.tb-title{font-family:var(--fd);font-size:20px;font-weight:500;color:var(--dark);}
.btn-icon{width:32px;height:32px;border-radius:var(--r2);background:none;border:1px solid var(--crd);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:.2s;font-size:14px;}
.btn-icon:hover{background:var(--cr);}
.pc{padding:26px 24px;flex:1;}

/* ── WELCOME ── */
.welcome-banner{background:linear-gradient(130deg,var(--dark),var(--c1d));border-radius:var(--r3);padding:28px 32px;display:flex;align-items:center;justify-content:space-between;margin-bottom:22px;position:relative;overflow:hidden;border:1px solid rgba(201,168,76,.2);}
.welcome-banner::before{content:'';position:absolute;right:-40px;top:-60px;width:220px;height:220px;border-radius:50%;background:rgba(201,168,76,.1);}
.wb-text h2{font-family:var(--fd);font-size:27px;font-weight:400;color:var(--cr);margin-bottom:5px;position:relative;z-index:1;}
.wb-text h2 em{font-style:italic;color:var(--goldl);}
.wb-text p{font-size:13px;color:rgba(255,248,240,.5);position:relative;z-index:1;}
.wb-emoji{font-size:50px;position:relative;z-index:1;}

/* ── STATS ── */
.stats-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin-bottom:24px;}
.scard{background:var(--sw);border:1px solid var(--crd);border-radius:var(--r3);padding:19px;}
.scard-lbl{font-size:11px;color:var(--muted);letter-spacing:.04em;text-transform:uppercase;margin-bottom:7px;}
.scard-val{font-family:var(--fd);font-size:31px;font-weight:500;color:var(--dark);line-height:1;}
.scard-sub{font-size:11px;color:var(--muted);margin-top:4px;}
.sec-heading{font-family:var(--fd);font-size:22px;font-weight:500;color:var(--dark);margin-bottom:15px;}

/* ── CAROUSEL ── */
.carousel-section{margin-bottom:30px;}
.carousel-nav{display:flex;gap:0;background:var(--crd);border-radius:var(--r3);padding:4px;margin-bottom:18px;border:1px solid rgba(201,168,76,.15);}
.car-tab{flex:1;padding:11px 10px;border-radius:calc(var(--r3) - 4px);font-family:var(--fd);font-size:17px;font-weight:500;text-align:center;cursor:pointer;transition:.25s;border:none;background:none;color:var(--muted);display:flex;align-items:center;justify-content:center;gap:8px;}
.car-tab.active{background:var(--dark);color:var(--goldl);box-shadow:var(--s1);}
.car-tab:hover:not(.active){background:rgba(140,0,38,.07);color:var(--c1);}
.car-tab-icon{font-size:19px;}
.carousel-body{position:relative;overflow:hidden;border-radius:var(--r3);}
.car-panel{display:none;}
.car-panel.active{display:block;}

/* ── COURSE CARDS ── */
.courses-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:18px;}
.course-card{background:var(--sw);border:1px solid var(--crd);border-radius:var(--r3);overflow:hidden;cursor:pointer;transition:.25s;}
.course-card:hover{box-shadow:var(--s3);transform:translateY(-4px);}
.cct{height:180px;display:flex;align-items:center;justify-content:center;font-size:58px;position:relative;overflow:hidden;}
.cctbg{position:absolute;inset:0;}
.ccte{position:relative;z-index:1;}
.ccc{padding:19px;}
.cch{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:6px;}
.ccn{font-family:var(--fd);font-size:18.5px;font-weight:500;color:var(--dark);line-height:1.2;flex:1;}
.clvl{display:inline-block;padding:3px 8px;border-radius:50px;font-size:10px;font-weight:500;letter-spacing:.04em;text-transform:uppercase;flex-shrink:0;margin-left:7px;}
.lvl-b{background:#E8F5E9;color:#2E7D32;}.lvl-i{background:#FFF8E1;color:#F57F17;}.lvl-a{background:rgba(140,0,38,.08);color:var(--c1);}
.ccd{font-size:13px;color:var(--muted);line-height:1.6;margin-bottom:13px;}
.ccf{display:flex;align-items:center;justify-content:space-between;padding-top:12px;border-top:1px solid var(--crd);}
.cmi{font-size:12px;color:var(--muted);}
.clocked{opacity:.55;cursor:default;}
.lckbdg{display:flex;align-items:center;gap:4px;background:var(--crd);padding:5px 10px;border-radius:50px;font-size:11px;color:var(--muted);}

/* ── EBOOK CARDS ── */
.ebook-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:16px;}
.ebook-card{background:var(--sw);border:1px solid var(--crd);border-radius:var(--r3);padding:24px 20px;text-align:center;cursor:pointer;transition:.25s;}
.ebook-card:hover{box-shadow:var(--s2);transform:translateY(-3px);}
.ebook-cover{width:80px;height:110px;border-radius:8px;margin:0 auto 14px;display:flex;align-items:center;justify-content:center;font-size:36px;position:relative;}
.ebook-title{font-family:var(--fd);font-size:17px;font-weight:500;color:var(--dark);margin-bottom:5px;}
.ebook-desc{font-size:12.5px;color:var(--muted);line-height:1.55;margin-bottom:12px;}
.ebook-price{font-family:var(--fd);font-size:19px;font-weight:500;color:var(--c1);}
.ebook-free{color:#2E7D32;}

/* ── TURNO SECTION ── */
.turno-section{background:var(--sw);border:1px solid var(--crd);border-radius:var(--r3);padding:28px;}
.turno-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:start;}
.turno-info h3{font-family:var(--fd);font-size:24px;font-weight:500;color:var(--dark);margin-bottom:10px;}
.turno-info p{font-size:14px;color:var(--muted);line-height:1.7;margin-bottom:16px;}
.turno-service-list{display:flex;flex-direction:column;gap:8px;}
.tsv{display:flex;align-items:center;gap:10px;padding:10px 13px;background:var(--cr);border:1px solid var(--crd);border-radius:var(--r2);cursor:pointer;transition:.2s;}
.tsv:hover{background:var(--goldp);border-color:rgba(201,168,76,.4);}
.tsv-icon{font-size:19px;}
.tsv-name{font-size:13.5px;color:var(--dark);font-weight:500;}
.turno-form{background:var(--cr);border-radius:var(--r2);padding:20px;}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:12px;}

/* ── CONTINUE ── */
.cc-wrap{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px;margin-bottom:28px;}
.cc{background:var(--sw);border:1px solid var(--crd);border-radius:var(--r3);padding:16px;display:flex;gap:12px;align-items:flex-start;cursor:pointer;transition:.25s;}
.cc:hover{box-shadow:var(--s2);transform:translateY(-2px);}
.cc-thumb{width:48px;height:48px;border-radius:var(--r2);background:rgba(140,0,38,.08);display:flex;align-items:center;justify-content:center;font-size:21px;flex-shrink:0;border:1px solid rgba(201,168,76,.2);}
.cc-title{font-size:13.5px;font-weight:500;color:var(--dark);margin-bottom:3px;}
.cc-meta{font-size:12px;color:var(--muted);margin-bottom:7px;}
.pb{height:4px;background:var(--crd);border-radius:2px;overflow:hidden;}
.pf{height:100%;background:linear-gradient(90deg,var(--c1),var(--gold));border-radius:2px;transition:width .4s;}
.pl{font-size:10.5px;color:var(--muted);margin-top:3px;}

/* ── ACARD ── */
.acard{background:var(--sw);border:1px solid var(--crd);border-radius:var(--r3);padding:20px;margin-bottom:16px;}
.acard-title{font-family:var(--fd);font-size:18px;font-weight:500;color:var(--dark);margin-bottom:14px;display:flex;align-items:center;justify-content:space-between;}

/* ── RLIST ── */
.rlist{display:flex;flex-direction:column;gap:8px;}
.ritem{display:flex;align-items:center;gap:10px;padding:12px 14px;background:var(--sw);border:1px solid var(--crd);border-radius:var(--r2);cursor:pointer;transition:.2s;}
.ritem:hover{background:var(--goldp);border-color:rgba(201,168,76,.4);}
.rico{font-size:18px;}.rname{font-size:13.5px;color:var(--dark);font-weight:500;}.rtype{font-size:11.5px;color:var(--muted);}

/* ── VIEWER ── */
#view-course-viewer{flex-direction:column;}
.vtop{height:60px;background:var(--dark);border-bottom:1px solid rgba(201,168,76,.2);display:flex;align-items:center;gap:13px;padding:0 20px;flex-shrink:0;position:sticky;top:0;z-index:50;}
.vback{display:flex;align-items:center;gap:7px;background:none;border:none;cursor:pointer;color:rgba(255,248,240,.6);font-family:var(--fb);font-size:13.5px;transition:.2s;}
.vback:hover{color:var(--goldl);}
.vcname{font-family:var(--fd);font-size:18px;font-weight:500;color:var(--goldl);flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.vpw{display:flex;align-items:center;gap:8px;}
.vpbar{width:140px;height:5px;background:rgba(255,255,255,.15);border-radius:3px;overflow:hidden;}
.vpfill{height:100%;background:linear-gradient(90deg,var(--c1l),var(--gold));border-radius:3px;transition:width .4s;}
.vpt{font-size:12px;color:rgba(255,248,240,.5);white-space:nowrap;}
.vbody{display:flex;flex:1;min-height:0;}
.vs{width:290px;background:var(--sw);border-right:1px solid var(--crd);overflow-y:auto;flex-shrink:0;}
.vs-hdr{padding:17px 16px 12px;border-bottom:1px solid var(--crd);}
.vs-hdr h3{font-family:var(--fd);font-size:16px;font-weight:500;color:var(--dark);}
.vs-hdr p{font-size:12px;color:var(--muted);margin-top:2px;}
.mod-sec{border-bottom:1px solid var(--crd);}
.mod-hdr{padding:11px 15px;display:flex;align-items:center;justify-content:space-between;cursor:pointer;user-select:none;transition:.2s;}
.mod-hdr:hover{background:var(--cr);}
.mod-hdr.open{background:rgba(140,0,38,.05);}
.mod-num{font-size:10px;color:var(--muted);font-weight:500;text-transform:uppercase;letter-spacing:.06em;}
.mod-name{font-size:13px;font-weight:500;color:var(--dark);}
.mod-chev{font-size:10px;color:var(--muted);transition:transform .2s;}
.mod-chev.open{transform:rotate(180deg);}
.mod-lessons{display:none;}
.mod-lessons.open{display:block;}
.les-item{padding:9px 15px 9px 25px;display:flex;align-items:center;gap:10px;cursor:pointer;transition:.2s;border-left:3px solid transparent;}
.les-item:hover{background:var(--cr);}
.les-item.active{background:rgba(140,0,38,.05);border-left-color:var(--c1);}
.les-st{width:19px;height:19px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:9px;}
.les-st.done{background:var(--gold);color:var(--dark);}.les-st.current{background:var(--c1);color:#fff;}.les-st.locked{background:var(--crd);color:var(--muted);}
.les-name{font-size:13px;color:var(--dark);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.les-item.active .les-name{font-weight:500;}
.les-dur{font-size:11px;color:var(--muted);margin-top:2px;}
.vmain{flex:1;overflow-y:auto;}
.vid-area{background:var(--dark);position:relative;padding-bottom:42%;overflow:hidden;}
.vid-ph{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;}
.play-btn{width:64px;height:64px;border-radius:50%;background:rgba(201,168,76,.85);border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:.25s;font-size:22px;}
.play-btn:hover{background:var(--gold);transform:scale(1.08);}
.vlt{font-family:var(--fd);font-size:21px;color:var(--cr);font-weight:400;}
.vls{font-size:12px;color:rgba(255,248,240,.45);}
.lcwrap{padding:28px 32px;max-width:740px;}
.lctit{font-family:var(--fd);font-size:29px;font-weight:400;color:var(--dark);margin-bottom:6px;}
.lcmeta{display:flex;gap:12px;margin-bottom:20px;}
.lcmeta span{font-size:12.5px;color:var(--muted);}
.lcdesc{font-size:15px;color:var(--muted);line-height:1.8;margin-bottom:28px;}
.lcres h4{font-family:var(--fd);font-size:17px;font-weight:500;color:var(--dark);margin-bottom:10px;}
.lesson-nav{display:flex;justify-content:space-between;align-items:center;padding:20px 32px 28px;border-top:1px solid var(--crd);}

/* ── TOAST ── */
.toast{position:fixed;bottom:84px;right:24px;background:var(--dark);color:var(--goldl);padding:10px 16px;border-radius:var(--r2);font-size:14px;box-shadow:var(--s3);z-index:500;opacity:0;pointer-events:none;transform:translateY(10px);transition:.3s ease;border:1px solid rgba(201,168,76,.3);}
.toast.show{opacity:1;transform:translateY(0);}

.menu-toggle{display:none;background:none;border:none;font-size:20px;cursor:pointer;color:var(--dark);margin-right:6px;}
.divider{height:1px;background:var(--crd);margin:14px 0;}

@media(max-width:768px){
  .nav-links{display:none;}
  .sidebar{transform:translateX(-100%);}
  .sidebar.open{transform:translateX(0);box-shadow:var(--s3);}
  .main-content{margin-left:0;}
  .menu-toggle{display:block;}
  .vs{display:none;width:0;}
  .vs.open{display:block;width:270px;position:fixed;top:60px;left:0;bottom:0;z-index:40;box-shadow:var(--s3);}
  .vid-area{padding-bottom:58%;}
  .lcwrap,.lnav{padding:16px 13px;}
  .pc{padding:16px 12px;}
  .vpw{display:none;}
  .row2{grid-template-columns:1fr;}
  .welcome-banner{flex-direction:column;text-align:center;gap:12px;}
  .auth-card{padding:28px 16px;}
  .turno-grid{grid-template-columns:1fr;}
  .ebook-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));}
  .hero-stats{gap:20px;flex-wrap:wrap;}
}

/* ══════════ ADMIN PANEL ══════════ */
.adm-sb{width:230px;background:var(--dark);display:flex;flex-direction:column;position:sticky;top:0;height:100vh;overflow-y:auto;flex-shrink:0;}
.adm-sb-top{padding:20px 18px 14px;border-bottom:1px solid rgba(201,168,76,.12);}
.adm-sb-brand{font-family:var(--fd);font-size:14.5px;color:var(--goldl);margin-top:7px;letter-spacing:.04em;}
.adm-sb-sub{font-size:11px;color:rgba(255,248,240,.38);margin-top:2px;}
.adm-nav{flex:1;padding:10px 0;overflow-y:auto;}
.adm-group{font-size:10px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,248,240,.28);padding:13px 17px 5px;}
.adm-ni{display:flex;align-items:center;gap:9px;width:100%;padding:9px 17px;background:none;border:none;border-left:3px solid transparent;cursor:pointer;color:rgba(255,248,240,.58);font-family:var(--fb);font-size:13px;text-align:left;transition:.16s;}
.adm-ni:hover{background:rgba(201,168,76,.07);color:var(--goldl);}
.adm-ni.active{background:rgba(201,168,76,.11);color:var(--goldl);border-left-color:var(--gold);}
.adm-exit{padding:14px 17px;background:none;border:none;border-top:1px solid rgba(201,168,76,.1);cursor:pointer;color:rgba(255,248,240,.38);font-family:var(--fb);font-size:12.5px;text-align:left;width:100%;transition:.2s;}
.adm-exit:hover{color:var(--goldl);}
.adm-body{flex:1;background:#F5F0EB;overflow-y:auto;min-height:100vh;}
.adm-pg{display:none;padding:26px 30px;max-width:900px;}
.adm-pg.active{display:block;}
.adm-pghdr{margin-bottom:22px;}
.adm-pghdr h2{font-family:var(--fd);font-size:27px;font-weight:400;color:var(--dark);line-height:1.1;}
.adm-pghdr p{color:var(--muted);font-size:13.5px;margin-top:5px;}
.acard{background:var(--sw);border:1px solid var(--crd);border-radius:var(--r2);padding:20px;margin-bottom:16px;}
.acard h3{font-family:var(--fd);font-size:17px;font-weight:500;color:var(--dark);margin-bottom:14px;}
.adm-grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.adm-grid3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px;}
.abtn{background:var(--c1);color:#fff;border:none;padding:9px 22px;border-radius:50px;font-family:var(--fb);font-size:13.5px;font-weight:600;cursor:pointer;transition:.2s;}
.abtn:hover{background:var(--c1d);}
.abtn-g{background:none;border:1px solid var(--crd);color:var(--dark);padding:8px 17px;border-radius:50px;font-family:var(--fb);font-size:13px;cursor:pointer;transition:.2s;}
.abtn-g:hover{background:var(--crd);}
.abtn-del{background:none;border:1px solid #fbb;color:#c0392b;padding:5px 12px;border-radius:50px;font-family:var(--fb);font-size:12px;cursor:pointer;transition:.2s;}
.abtn-del:hover{background:#fde8e8;}
.abtn-add{background:rgba(140,0,38,.07);border:1.5px dashed var(--c1l);color:var(--c1);padding:8px 16px;border-radius:50px;font-family:var(--fb);font-size:13px;cursor:pointer;transition:.2s;display:inline-flex;align-items:center;gap:6px;}
.abtn-add:hover{background:rgba(140,0,38,.13);}
.abtn-gold{background:var(--gold);color:var(--dark);border:none;padding:7px 16px;border-radius:50px;font-family:var(--fb);font-size:13px;font-weight:600;cursor:pointer;transition:.2s;}
.abtn-gold:hover{background:var(--goldd);color:#fff;}
.atbl{width:100%;border-collapse:collapse;}
.atbl th{text-align:left;font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);padding:8px 10px;border-bottom:2px solid var(--crd);}
.atbl td{padding:9px 10px;border-bottom:1px solid var(--crd);font-size:13px;vertical-align:middle;}
.atbl tr:last-child td{border-bottom:none;}
.atbl tr:hover td{background:rgba(0,0,0,.015);}
.arow{display:flex;align-items:flex-start;gap:10px;padding:12px;border:1px solid var(--crd);border-radius:var(--r1);margin-bottom:8px;background:var(--cr);}
.arow-main{flex:1;min-width:0;}
.arow-acts{display:flex;gap:6px;flex-shrink:0;align-items:flex-start;padding-top:2px;}
.color-line{display:flex;align-items:center;gap:9px;margin-bottom:10px;}
.color-line label{flex:1;font-size:13px;color:var(--dark);font-weight:500;}
.color-line input[type=color]{width:40px;height:30px;border:1px solid var(--crd);border-radius:5px;padding:2px;cursor:pointer;background:var(--cr);}
.file-drop{border:2px dashed var(--crd);border-radius:var(--r2);padding:22px;text-align:center;cursor:pointer;transition:.2s;background:var(--cr);}
.file-drop:hover{border-color:var(--gold);background:var(--goldp);}
.file-drop p{font-size:13px;color:var(--muted);margin-top:7px;}
.adm-badge{display:inline-block;background:rgba(140,0,38,.1);color:var(--c1);padding:2px 8px;border-radius:50px;font-size:11px;font-weight:600;}
.mod-acc{border:1px solid rgba(201,168,76,.2);border-radius:var(--r1);margin-top:9px;overflow:hidden;}
.mod-acc-hdr{display:flex;align-items:center;gap:8px;padding:9px 13px;background:rgba(201,168,76,.05);cursor:pointer;user-select:none;}
.mod-acc-hdr:hover{background:rgba(201,168,76,.1);}
.mod-acc-body{padding:13px;border-top:1px solid rgba(201,168,76,.15);display:none;}
.mod-acc-body.open{display:block;}
.les-row{display:flex;align-items:center;gap:7px;padding:7px 0;border-bottom:1px solid var(--crd);}
.les-row:last-child{border-bottom:none;}
.les-num{width:24px;height:24px;background:var(--crd);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:600;flex-shrink:0;color:var(--muted);}




/* ── INSTAGRAM CAROUSEL ── */
.icar-section{background:linear-gradient(180deg,var(--c1d),#0D0005);padding:0 0 64px;position:relative;overflow:hidden;}
.icar-title{text-align:center;padding:40px 5vw 28px;position:relative;z-index:2;}
.icar-title h2{font-family:var(--fd);font-size:clamp(22px,3vw,32px);font-weight:300;color:var(--goldl);letter-spacing:.04em;}
.icar-title p{font-size:14px;color:rgba(255,248,240,.45);margin-top:6px;}

/* stage */
.icar-stage{position:relative;height:300px;display:flex;align-items:center;justify-content:center;perspective:1000px;margin:0 auto;max-width:900px;}
.icar-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:10;background:rgba(201,168,76,.15);border:1px solid rgba(201,168,76,.35);color:var(--goldl);width:44px;height:44px;border-radius:50%;font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:.25s;backdrop-filter:blur(4px);}
.icar-arrow:hover{background:rgba(201,168,76,.35);transform:translateY(-50%) scale(1.07);}
.icar-arrow-left{left:8px;}.icar-arrow-right{right:8px;}

/* cards */
.icar-card{position:absolute;width:220px;border-radius:22px;overflow:hidden;cursor:pointer;user-select:none;transition:all .45s cubic-bezier(.4,0,.2,1);transform-origin:center;}
/* CENTER */
.icar-card[data-pos="0"]{transform:translateX(0) scale(1);z-index:5;opacity:1;filter:none;}
/* LEFT */
.icar-card[data-pos="-1"]{transform:translateX(-210px) scale(.76) rotateY(14deg);z-index:3;opacity:.62;filter:brightness(.75);}
/* RIGHT */
.icar-card[data-pos="1"]{transform:translateX(210px) scale(.76) rotateY(-14deg);z-index:3;opacity:.62;filter:brightness(.75);}
/* FAR LEFT (hidden) */
.icar-card[data-pos="-2"]{transform:translateX(-380px) scale(.55) rotateY(22deg);z-index:1;opacity:.2;filter:brightness(.4);}
/* FAR RIGHT (hidden) */
.icar-card[data-pos="2"]{transform:translateX(380px) scale(.55) rotateY(-22deg);z-index:1;opacity:.2;filter:brightness(.4);}

.icar-card-inner{background:linear-gradient(160deg,rgba(60,2,20,.9),rgba(26,0,8,.98));border:1px solid rgba(201,168,76,.18);height:264px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:20px 16px;text-align:center;}
.icar-card[data-pos="0"] .icar-card-inner{border-color:rgba(201,168,76,.55);box-shadow:0 0 40px rgba(201,168,76,.18),0 18px 50px rgba(0,0,0,.7);}
.icar-card-emoji{font-size:52px;line-height:1;margin-bottom:2px;}
.icar-card-label{font-family:var(--fd);font-size:22px;font-weight:500;color:var(--goldl);letter-spacing:.04em;}
.icar-card-sub{font-size:12px;color:rgba(255,248,240,.45);letter-spacing:.03em;}
.icar-card-hint{font-size:11px;color:rgba(201,168,76,.7);margin-top:4px;opacity:0;transition:opacity .3s;}
.icar-card[data-pos="0"] .icar-card-hint{opacity:1;}

/* gold line indicator */
.icar-dots{display:flex;justify-content:center;gap:8px;margin-top:18px;}
.icar-dot{width:28px;height:3px;border-radius:2px;background:rgba(255,255,255,.18);transition:.35s;}
.icar-dot.active{background:var(--gold);width:44px;}

/* CONTENT PANEL */
.icar-content{max-width:960px;margin:24px auto 0;padding:0 5vw;}
.icar-panel{display:none;animation:fadeUp .38s ease both;}
.icar-panel.open{display:block;}
@keyframes fadeUp{from{opacity:0;transform:translateY(18px);}to{opacity:1;transform:translateY(0);}}

/* courses panel */
.icp-courses{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px;}
.icp-ccard{background:rgba(255,255,255,.05);border:1px solid rgba(201,168,76,.14);border-radius:18px;overflow:hidden;cursor:pointer;transition:.25s;}
.icp-ccard:hover{background:rgba(201,168,76,.09);transform:translateY(-3px);border-color:rgba(201,168,76,.38);}
.icp-thumb{height:120px;display:flex;align-items:center;justify-content:center;font-size:44px;}
.icp-body{padding:13px 15px;}
.icp-tag{display:inline-block;background:rgba(201,168,76,.18);color:var(--gold);padding:2px 8px;border-radius:50px;font-size:10px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;margin-bottom:5px;}
.icp-name{font-family:var(--fd);font-size:16px;font-weight:500;color:var(--cr);line-height:1.2;margin-bottom:4px;}
.icp-meta{font-size:11.5px;color:rgba(255,248,240,.38);}

/* ebooks panel */
.icp-ebooks{display:grid;grid-template-columns:repeat(auto-fill,minmax(175px,1fr));gap:14px;}
.icp-ebook{background:rgba(255,255,255,.05);border:1px solid rgba(201,168,76,.14);border-radius:18px;padding:18px 14px;text-align:center;cursor:pointer;transition:.25s;}
.icp-ebook:hover{background:rgba(201,168,76,.09);transform:translateY(-2px);}
.icp-ecov{width:58px;height:82px;border-radius:8px;margin:0 auto 11px;display:flex;align-items:center;justify-content:center;font-size:28px;}
.icp-etit{font-family:var(--fd);font-size:15px;font-weight:500;color:var(--cr);margin-bottom:4px;}
.icp-eprice{font-family:var(--fd);font-size:15px;font-weight:500;color:var(--gold);}
.icp-efree{color:#4ade80;}
.icp-ebtn{margin-top:9px;width:100%;padding:8px;background:rgba(201,168,76,.2);border:1px solid rgba(201,168,76,.3);border-radius:50px;font-family:var(--fb);font-size:12px;font-weight:500;color:var(--goldl);cursor:pointer;transition:.2s;}
.icp-ebtn:hover{background:rgba(201,168,76,.4);}

/* turno panel */
.icp-turno{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:start;}
.icp-tservs{display:flex;flex-direction:column;gap:8px;}
.icp-tserv{display:flex;align-items:center;gap:10px;padding:11px 14px;background:rgba(255,255,255,.05);border:1px solid rgba(201,168,76,.14);border-radius:14px;cursor:pointer;transition:.2s;}
.icp-tserv:hover,.icp-tserv.sel{background:rgba(201,168,76,.14);border-color:rgba(201,168,76,.45);}
.icp-tserv-icon{font-size:19px;}
.icp-tserv-name{font-size:13.5px;color:var(--cr);font-weight:500;}
.icp-tform{background:rgba(255,255,255,.05);border:1px solid rgba(201,168,76,.15);border-radius:18px;padding:20px;}
.icp-tform .fg label{color:rgba(255,248,240,.72);font-size:11px;}
.icp-tform .fg input,.icp-tform .fg select,.icp-tform .fg textarea{background:rgba(255,255,255,.07);border-color:rgba(201,168,76,.22);color:var(--cr);font-size:13px;}
.icp-tform .fg input:focus,.icp-tform .fg select:focus{border-color:var(--gold);background:rgba(255,255,255,.11);}
.icp-tform .fg input::placeholder,.icp-tform .fg textarea::placeholder{color:rgba(255,248,240,.28);}
.icp-tform select option{background:var(--dark);}
.icp-tform-title{font-family:var(--fd);font-size:18px;font-weight:500;color:var(--goldl);margin-bottom:13px;}
@media(max-width:700px){
  .icar-card[data-pos="-1"]{transform:translateX(-150px) scale(.72) rotateY(10deg);}
  .icar-card[data-pos="1"]{transform:translateX(150px) scale(.72) rotateY(-10deg);}
  .icar-card[data-pos="-2"]{transform:translateX(-280px) scale(.5) rotateY(18deg);}
  .icar-card[data-pos="2"]{transform:translateX(280px) scale(.5) rotateY(-18deg);}
  .icar-card{width:190px;}
  .icp-turno{grid-template-columns:1fr;}
  .icp-ebooks{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));}
  .icp-courses{grid-template-columns:1fr 1fr;}
}

/* ── VIDEO PLAYER ── */
.vid-area{background:#0a0005;position:relative;padding-bottom:0;overflow:hidden;aspect-ratio:16/9;min-height:220px;}
.vid-embed{position:absolute;inset:0;width:100%;height:100%;border:none;}
.vid-ph{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;background:radial-gradient(ellipse at center,rgba(140,0,38,.25) 0%,rgba(10,0,5,1) 70%);}
.vid-no-url{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;background:#0a0005;}
.vid-no-url-icon{font-size:48px;opacity:.3;}
.vid-no-url-txt{font-family:var(--fd);font-size:18px;color:rgba(255,248,240,.25);}
.vid-no-url-sub{font-size:12px;color:rgba(255,248,240,.15);}
.vid-type-badge{position:absolute;top:12px;right:12px;background:rgba(0,0,0,.6);color:var(--gold);font-size:11px;font-weight:600;padding:3px 10px;border-radius:50px;letter-spacing:.06em;backdrop-filter:blur(4px);border:1px solid rgba(201,168,76,.25);}
/* mark complete bar */
.vid-complete-bar{background:var(--sw);border-top:1px solid var(--crd);padding:12px 24px;display:flex;align-items:center;justify-content:space-between;gap:12px;}
.vcb-left{display:flex;align-items:center;gap:10px;}
.vcb-status{width:22px;height:22px;border-radius:50%;border:2px solid var(--crd);display:flex;align-items:center;justify-content:center;font-size:11px;color:var(--muted);transition:.25s;flex-shrink:0;}
.vcb-status.done{background:var(--gold);border-color:var(--gold);color:var(--dark);font-weight:700;}
.vcb-label{font-size:13.5px;color:var(--dark);font-weight:500;}
.vcb-label.done{text-decoration:line-through;color:var(--muted);}
.btn-mark-done{background:var(--c1);color:#fff;border:none;padding:8px 20px;border-radius:50px;font-family:var(--fb);font-size:13px;font-weight:600;cursor:pointer;transition:.25s;}
.btn-mark-done:hover{background:var(--c1d);}
.btn-mark-done.done{background:var(--crd);color:var(--muted);cursor:default;}
/* real progress bar in viewer sidebar */
.vs-prog-wrap{padding:11px 16px 8px;border-bottom:1px solid var(--crd);}
.vs-prog-bar{height:5px;background:var(--crd);border-radius:3px;overflow:hidden;margin-top:5px;}
.vs-prog-fill{height:100%;background:linear-gradient(90deg,var(--c1),var(--gold));border-radius:3px;transition:width .5s;}
.vs-prog-txt{font-size:11.5px;color:var(--muted);margin-top:4px;}
/* admin video input */
.lv-input{width:100%;padding:6px 10px;border:1px solid var(--crd);border-radius:var(--r1);font-family:var(--fb);font-size:12px;color:var(--dark);outline:none;margin-top:4px;background:var(--cr);}
.lv-input:focus{border-color:var(--gold);}
.lv-input::placeholder{color:var(--muted);opacity:.5;}
.lv-hint{font-size:10.5px;color:var(--muted);margin-top:3px;}

/* ── CERTIFICADO ── */
.cert-wrap{position:fixed;inset:0;z-index:600;background:rgba(26,0,8,.85);backdrop-filter:blur(10px);display:none;align-items:center;justify-content:center;padding:20px;}
.cert-wrap.open{display:flex;}
.cert-card{background:#fff;border-radius:4px;width:100%;max-width:700px;position:relative;box-shadow:0 20px 80px rgba(0,0,0,.5);}
.cert-close{position:absolute;top:-14px;right:-14px;width:32px;height:32px;border-radius:50%;background:var(--c1);color:#fff;border:none;font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:2;}
#cert-canvas{width:100%;display:block;border-radius:4px;}
.cert-actions{display:flex;gap:10px;justify-content:center;margin-top:14px;}

/* ── STATS ACTUALIZADAS ── */
.scard-trend{font-size:11px;margin-top:3px;}
.scard-trend.up{color:#16a34a;}.scard-trend.neutral{color:var(--muted);}

/* ── CERT BADGE en cursos ── */
.cert-badge{display:inline-flex;align-items:center;gap:5px;background:linear-gradient(135deg,#B8860B,#DAA520);color:#fff;padding:4px 11px;border-radius:50px;font-size:11px;font-weight:600;cursor:pointer;transition:.2s;border:none;font-family:var(--fb);}
.cert-badge:hover{filter:brightness(1.1);transform:scale(1.04);}

/* ── BUSCADOR ── */
.search-wrap{position:relative;margin-bottom:16px;}
.search-inp{width:100%;padding:11px 16px 11px 40px;border-radius:50px;border:1px solid var(--crd);background:var(--sw);font-family:var(--fb);font-size:14px;color:var(--dark);outline:none;transition:.2s;}
.search-inp:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(201,168,76,.12);}
.search-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);font-size:16px;pointer-events:none;color:var(--muted);}
.search-clear{position:absolute;right:13px;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;color:var(--muted);font-size:18px;display:none;line-height:1;}

/* ── PROGRESS PAGE ── */
.prog-course-row{background:var(--sw);border:1px solid var(--crd);border-radius:var(--r3);padding:18px 20px;margin-bottom:12px;display:flex;align-items:center;gap:16px;}
.pcr-emoji{font-size:32px;flex-shrink:0;}
.pcr-info{flex:1;min-width:0;}
.pcr-title{font-family:var(--fd);font-size:18px;font-weight:500;color:var(--dark);margin-bottom:5px;}
.pcr-bar{height:7px;background:var(--crd);border-radius:4px;overflow:hidden;margin-bottom:4px;}
.pcr-fill{height:100%;background:linear-gradient(90deg,var(--c1),var(--gold));border-radius:4px;transition:width .5s;}
.pcr-meta{font-size:12px;color:var(--muted);}
.pcr-pct{font-family:var(--fd);font-size:22px;font-weight:500;color:var(--dark);flex-shrink:0;min-width:46px;text-align:right;}

/* ── NOTAS POR CLASE ── */
.notes-section{padding:0 32px 28px;max-width:740px;}
.notes-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;}
.notes-title{font-family:var(--fd);font-size:20px;font-weight:500;color:var(--dark);display:flex;align-items:center;gap:8px;}
.notes-saved{font-size:11px;color:var(--gold-dk);opacity:0;transition:opacity .4s;}
.notes-saved.show{opacity:1;}
.notes-textarea{width:100%;min-height:120px;padding:14px 16px;border:1px solid var(--crd);border-radius:var(--r2);font-family:var(--fb);font-size:14px;color:var(--dark);background:var(--sw);resize:vertical;outline:none;transition:.2s;line-height:1.7;}
.notes-textarea:focus{border-color:var(--gold);background:#fff;}
.notes-textarea::placeholder{color:var(--muted);opacity:.5;}
.notes-hint{font-size:11.5px;color:var(--muted);margin-top:6px;}
@media(max-width:768px){.notes-section{padding:0 13px 20px;}}

/* ── ANALYTICS ── */
.analytics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px;margin-bottom:22px;}
.an-stat{background:linear-gradient(135deg,var(--dark),var(--darkm));border-radius:var(--r3);padding:20px;text-align:center;border:1px solid rgba(201,168,76,.2);}
.an-stat-num{font-family:var(--fd);font-size:36px;font-weight:500;color:var(--goldl);line-height:1;}
.an-stat-lbl{font-size:11.5px;color:rgba(255,248,240,.5);margin-top:5px;letter-spacing:.04em;text-transform:uppercase;}
.chart-wrap{background:var(--sw);border:1px solid var(--crd);border-radius:var(--r3);padding:20px;margin-bottom:18px;}
.chart-title{font-family:var(--fd);font-size:19px;font-weight:500;color:var(--dark);margin-bottom:16px;display:flex;align-items:center;gap:8px;}
.an-bar-row{display:flex;align-items:center;gap:10px;margin-bottom:10px;}
.an-bar-label{font-size:12.5px;color:var(--dark);width:160px;flex-shrink:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.an-bar-track{flex:1;height:18px;background:var(--crd);border-radius:9px;overflow:hidden;position:relative;}
.an-bar-fill{height:100%;border-radius:9px;transition:width .8s cubic-bezier(.4,0,.2,1);}
.an-bar-val{font-size:11.5px;color:var(--muted);width:36px;text-align:right;flex-shrink:0;}
.an-empty{text-align:center;padding:28px;color:var(--muted);font-size:14px;}
.an-legend{display:flex;gap:16px;flex-wrap:wrap;margin-top:14px;}
.an-leg-item{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--muted);}
.an-leg-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0;}

/* ── TURNOS ESTADOS ── */
.turno-status{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:50px;font-size:11px;font-weight:600;border:none;cursor:pointer;font-family:var(--fb);transition:.2s;}
.ts-pending{background:#FFF3E0;color:#E65100;}
.ts-confirmed{background:#E8F5E9;color:#2E7D32;}
.ts-cancelled{background:#FFEBEE;color:#C62828;}
.ts-pending:hover{background:#FFE0B2;}
.ts-confirmed:hover{background:#C8E6C9;}
.ts-cancelled:hover{background:#FFCDD2;}
.wa-btn{display:inline-flex;align-items:center;gap:5px;padding:5px 12px;border-radius:50px;background:#25D366;color:#fff;font-size:12px;font-weight:600;border:none;cursor:pointer;transition:.2s;font-family:var(--fb);}
.wa-btn:hover{background:#1ebe5d;}

/* ── COURSE COVER IMAGE ── */
.cct-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.cct-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(26,0,8,.72) 0%,rgba(26,0,8,.1) 60%);}
.cct-emoji-over{position:relative;z-index:2;font-size:52px;}
.cct-price-badge{position:absolute;top:10px;right:10px;z-index:3;background:linear-gradient(135deg,#B8860B,#DAA520);color:#fff;font-size:13px;font-weight:700;padding:5px 13px;border-radius:50px;font-family:var(--fb);box-shadow:0 2px 8px rgba(0,0,0,.35);}
.cct-free-badge{background:linear-gradient(135deg,#1a7a3a,#25a85a);}

/* ── BUY BUTTON ── */
.btn-buy{background:linear-gradient(135deg,var(--c1d),var(--c1));color:#fff;border:none;padding:8px 18px;border-radius:50px;font-family:var(--fb);font-size:13px;font-weight:700;cursor:pointer;transition:.25s;display:flex;align-items:center;gap:6px;white-space:nowrap;}
.btn-buy:hover{filter:brightness(1.12);transform:scale(1.04);}
.btn-buy-free{background:linear-gradient(135deg,#1a7a3a,#25a85a);}
.price-tag{font-family:var(--fd);font-size:17px;font-weight:500;color:var(--c1);}
.price-free{color:#1a7a3a;}
.price-strike{font-size:12px;color:var(--muted);text-decoration:line-through;margin-right:3px;}

/* ── ADMIN COVER UPLOADER ── */
.cover-upload-area{border:2px dashed var(--crd);border-radius:var(--r2);padding:20px;text-align:center;cursor:pointer;transition:.2s;position:relative;overflow:hidden;min-height:140px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;}
.cover-upload-area:hover{border-color:var(--gold);background:var(--goldp);}
.cover-upload-area.has-img{border-style:solid;padding:0;}
.cover-preview{width:100%;height:140px;object-fit:cover;border-radius:calc(var(--r2) - 2px);display:block;}
.cover-upload-lbl{font-size:13px;color:var(--muted);}
.cover-upload-hint{font-size:11px;color:var(--muted);opacity:.7;}
.cover-clear-btn{position:absolute;top:8px;right:8px;background:rgba(26,0,8,.7);color:#fff;border:none;border-radius:50%;width:26px;height:26px;font-size:14px;cursor:pointer;display:none;align-items:center;justify-content:center;}
.cover-upload-area.has-img .cover-clear-btn{display:flex;}
.cover-upload-input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%;}

/* ── ADMIN LESSON CARDS ── */
.les-card{background:var(--cr);border:1px solid var(--crd);border-radius:var(--r2);margin-bottom:10px;overflow:hidden;}
.les-card-hdr{display:flex;align-items:center;gap:8px;padding:10px 12px;cursor:pointer;user-select:none;}
.les-card-hdr:hover{background:rgba(201,168,76,.06);}
.les-card-num{width:22px;height:22px;border-radius:50%;background:var(--c1);color:#fff;font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.les-card-title-inp{flex:1;border:none;background:none;font-family:var(--fb);font-size:13.5px;color:var(--dark);font-weight:500;outline:none;min-width:0;}
.les-card-body{display:none;padding:12px 14px 14px;border-top:1px solid var(--crd);background:var(--sw);}
.les-card-body.open{display:block;}
.les-fields-row{display:grid;grid-template-columns:1fr 90px;gap:10px;margin-bottom:10px;}
.les-attach-list{display:flex;flex-direction:column;gap:6px;margin-top:6px;}
.les-attach-item{display:flex;align-items:center;gap:8px;padding:7px 10px;background:var(--cr);border:1px solid var(--crd);border-radius:var(--r1);font-size:12.5px;}
.les-attach-name{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--dark);}
.les-attach-size{font-size:11px;color:var(--muted);flex-shrink:0;}
.les-attach-del{background:none;border:none;cursor:pointer;color:var(--muted);font-size:15px;flex-shrink:0;}
.les-attach-del:hover{color:var(--c1);}

/* ── VIEWER ATTACHMENTS ── */
.attach-item{display:flex;align-items:center;gap:10px;padding:11px 14px;background:var(--sw);border:1px solid var(--crd);border-radius:var(--r2);cursor:pointer;transition:.2s;}
.attach-item:hover{background:var(--goldp);border-color:rgba(201,168,76,.4);}
.attach-icon{font-size:22px;flex-shrink:0;}
.attach-name{font-size:13.5px;color:var(--dark);font-weight:500;}
.attach-size{font-size:11.5px;color:var(--muted);}
.attach-dl{margin-left:auto;font-size:11.5px;color:var(--c1);font-weight:600;flex-shrink:0;}

/* ── PRICE MODAL ── */
.price-section{background:var(--goldp);border:1px solid rgba(201,168,76,.3);border-radius:var(--r2);padding:14px 16px;margin-top:10px;}
.price-section h4{font-size:13px;font-weight:700;color:var(--goldd);letter-spacing:.04em;text-transform:uppercase;margin-bottom:10px;}

/* ══ DRAG & DROP ══════════════════════════════════════ */
.dnd-handle{
  cursor:grab;padding:0 6px;color:rgba(0,0,0,.25);font-size:16px;
  flex-shrink:0;user-select:none;line-height:1;transition:color .15s;
  display:flex;align-items:center;
}
.dnd-handle:hover{color:var(--c1);}
.dnd-handle:active{cursor:grabbing;}

/* Curso card draggable */
.dnd-course-card{
  transition:transform .15s,box-shadow .15s,opacity .15s;
  cursor:default;
}
.dnd-course-card[draggable="true"]{touch-action:none;}
.dnd-course-card.is-dragging{
  opacity:.45;transform:scale(.98);
  box-shadow:0 2px 8px rgba(0,0,0,.08)!important;
}
.dnd-course-card.drag-over-top{
  border-top:3px solid var(--c1)!important;
  margin-top:-3px;
}
.dnd-course-card.drag-over-bottom{
  border-bottom:3px solid var(--c1)!important;
  margin-bottom:-3px;
}

/* Módulo draggable */
.mod-acc[draggable="true"]{touch-action:none;}
.mod-acc.is-dragging{opacity:.4;transform:scale(.98);}
.mod-acc.drag-over-top{border-top:3px solid var(--gold)!important;margin-top:-3px;}
.mod-acc.drag-over-bottom{border-bottom:3px solid var(--gold)!important;margin-bottom:-3px;}

/* Clase draggable */
.les-card[draggable="true"]{touch-action:none;}
.les-card.is-dragging{opacity:.4;transform:scale(.98);}
.les-card.drag-over-top{border-top:2px solid var(--c1l)!important;margin-top:-2px;}
.les-card.drag-over-bottom{border-bottom:2px solid var(--c1l)!important;margin-bottom:-2px;}

/* Ghost floating card while dragging */
.dnd-ghost{
  position:fixed;top:-200px;left:-200px;
  background:var(--sw);border:1.5px solid var(--crd);
  border-radius:var(--r1);padding:10px 14px;
  box-shadow:0 8px 32px rgba(26,0,8,.18);
  font-family:var(--fb);font-size:13px;color:var(--dark);
  pointer-events:none;z-index:9999;min-width:200px;max-width:280px;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
  opacity:.92;
}

/* Reorder hint badge */
.dnd-hint{
  display:inline-flex;align-items:center;gap:5px;
  font-size:11px;color:var(--muted);
  background:rgba(0,0,0,.04);border:1px solid var(--crd);
  padding:3px 9px;border-radius:50px;margin-left:10px;
}


/* ── NOTIFICATIONS ── */
.notif-btn{position:relative;width:32px;height:32px;border-radius:var(--r2);background:none;border:1px solid var(--crd);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:.2s;font-size:14px;}
.notif-btn:hover{background:var(--cr);}
.notif-badge{position:absolute;top:-4px;right:-4px;width:16px;height:16px;border-radius:50%;background:var(--c1);color:#fff;font-size:9px;font-weight:700;display:none;align-items:center;justify-content:center;border:2px solid var(--sw);}
.notif-badge.show{display:flex;}
.notif-panel{position:absolute;top:50px;right:0;width:300px;background:var(--sw);border:1px solid var(--crd);border-radius:var(--r3);box-shadow:var(--s3);z-index:200;display:none;overflow:hidden;}
.notif-panel.open{display:block;animation:fadeUp .2s ease;}
.notif-hdr{padding:12px 16px;border-bottom:1px solid var(--crd);display:flex;align-items:center;justify-content:space-between;}
.notif-hdr-title{font-family:var(--fd);font-size:16px;font-weight:500;color:var(--dark);}
.notif-clear{font-size:11px;color:var(--c1);cursor:pointer;border:none;background:none;font-family:var(--fb);}
.notif-list{max-height:320px;overflow-y:auto;}
.notif-item{padding:11px 16px;border-bottom:1px solid var(--crd);display:flex;gap:10px;align-items:flex-start;transition:.15s;}
.notif-item:hover{background:var(--cr);}
.notif-item.unread{background:rgba(140,0,38,.04);}
.notif-icon{font-size:18px;flex-shrink:0;margin-top:1px;}
.notif-text{flex:1;min-width:0;}
.notif-title{font-size:13px;font-weight:500;color:var(--dark);line-height:1.3;}
.notif-time{font-size:11px;color:var(--muted);margin-top:2px;}
.notif-empty{padding:28px;text-align:center;color:var(--muted);font-size:13.5px;}
.topbar-right{display:flex;align-items:center;gap:8px;position:relative;}

/* ── DARK MODE ── */
/* Default IS dark mode — light mode overrides below */
body.light-mode{
  --cr:#FFF8F0;--crd:#E8D8CC;--sw:#FFFFFF;--muted:#7A4A52;
  --dark:#1A0008;--darkm:#3B000F;
  background:var(--cr);color:var(--dark);
}
body.light-mode .topbar{background:#FFFFFF;border-color:#E8D8CC;}
body.light-mode .sidebar{background:#FFF0E8;border-color:#E8D8CC;}
body.light-mode .main-content{background:var(--cr);}
body.light-mode .scard{background:#FFFFFF;border:1px solid #E8D8CC;}
body.light-mode .scard-val{color:var(--c1) !important;}
body.light-mode .cc{background:#FFFFFF;border-color:#E8D8CC;}
body.light-mode .course-card{background:#FFFFFF;border-color:#E8D8CC;}
body.light-mode .car-tab.active{background:var(--c1);color:#fff;}
body.light-mode .ebook-card{background:#FFFFFF;border-color:#E8D8CC;}
body.light-mode .sb-item:hover{background:rgba(140,0,38,.07);}
body.light-mode .sb-item.active{background:var(--c1) !important;color:#fff !important;}
body.light-mode .mcard,.light-mode .auth-card{background:#FFFFFF;border-color:#E8D8CC;}
body.dark-mode{
  --cr:#0D0005;--crd:#2A0818;--sw:#160008;--muted:#A07880;
  --dark:#F0E6D3;--darkm:#D8CABC;
  background:var(--cr);color:var(--dark);
}
body.dark-mode .topbar{background:#1A0009;border-color:#2A0818;}
body.dark-mode .sidebar{background:#130006;border-color:#2A0818;}
body.dark-mode .main-content{background:var(--cr);}
body.dark-mode .scard{background:rgba(255,255,255,.07);border:1px solid rgba(201,168,76,.2);}
body.dark-mode .scard-val{color:var(--goldl) !important;}
body.dark-mode .scard-lbl,.dark-mode .scard-sub{color:var(--muted);}
body.dark-mode .cc{background:rgba(255,255,255,.05);border-color:rgba(201,168,76,.15);}
body.dark-mode .cc-title{color:var(--dark);}
body.dark-mode .course-card{background:rgba(255,255,255,.05);border-color:rgba(201,168,76,.12);}
body.dark-mode .car-tab{background:transparent;color:var(--muted);}
body.dark-mode .car-tab.active{background:rgba(201,168,76,.18);color:var(--goldl);}
body.dark-mode .ebook-card{background:rgba(255,255,255,.05);border-color:rgba(201,168,76,.12);}
body.dark-mode .ebook-title{color:var(--dark);}
body.dark-mode .acard{background:rgba(255,255,255,.04);border-color:#2A0818;}
body.dark-mode .arow{background:rgba(255,255,255,.03);border-color:#2A0818;}
body.dark-mode .fg input,body.dark-mode .fg select,body.dark-mode .fg textarea{background:#200010;border-color:#3A1020;color:var(--dark);}
body.dark-mode .sb-item:hover{background:rgba(255,255,255,.07);}
body.dark-mode .sb-item.active{background:var(--c1) !important;}
body.dark-mode .mcard,.dark-mode .auth-card{background:#1A0009;border-color:#2A0818;}
body.dark-mode .perfil-section{background:rgba(255,255,255,.04);border-color:#2A0818;}
body.dark-mode .topbar,body.dark-mode .sidebar,body.dark-mode .scard,body.dark-mode .cc{background:rgba(255,255,255,.04);border-color:rgba(201,168,76,.15);}
body.dark-mode .fg input,body.dark-mode .fg select,body.dark-mode .fg textarea{background:rgba(255,255,255,.06);border-color:rgba(201,168,76,.2);color:var(--cr);}
body.dark-mode .les-card,body.dark-mode .mod-acc{background:rgba(255,255,255,.04);border-color:rgba(201,168,76,.15);}
body.dark-mode .les-card-body{background:rgba(255,255,255,.03);}
body.dark-mode .search-inp{background:rgba(255,255,255,.06);border-color:rgba(201,168,76,.2);color:var(--goldl);}
body.dark-mode .notes-textarea{background:rgba(255,255,255,.05);border-color:rgba(201,168,76,.2);color:var(--goldl);}
body.dark-mode .course-card{background:rgba(255,255,255,.04);border-color:rgba(201,168,76,.12);}
body.dark-mode .ritem,.attach-item{background:rgba(255,255,255,.04);}
.dark-toggle{width:32px;height:32px;border-radius:var(--r2);background:none;border:1px solid var(--crd);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:.2s;font-size:15px;}
.dark-toggle:hover{background:var(--cr);}

/* ── ONBOARDING ── */
.onboard-overlay{display:none;position:fixed;inset:0;z-index:700;background:rgba(26,0,8,.82);backdrop-filter:blur(10px);align-items:center;justify-content:center;padding:20px;}
.onboard-overlay.open{display:flex;}
.onboard-card{background:var(--sw);border-radius:24px;width:100%;max-width:480px;overflow:hidden;box-shadow:var(--s3);border:1px solid rgba(201,168,76,.2);}
.onboard-step{display:none;padding:36px 32px;}
.onboard-step.active{display:block;animation:fadeUp .3s ease;}
.onboard-step-icon{font-size:52px;text-align:center;margin-bottom:14px;}
.onboard-step-title{font-family:var(--fd);font-size:26px;font-weight:500;color:var(--dark);text-align:center;margin-bottom:8px;}
.onboard-step-desc{font-size:14.5px;color:var(--muted);text-align:center;line-height:1.7;margin-bottom:24px;}
.onboard-highlight{background:rgba(140,0,38,.07);border:1px solid rgba(140,0,38,.15);border-radius:var(--r2);padding:12px 15px;margin-bottom:10px;display:flex;align-items:center;gap:10px;}
.onboard-highlight-icon{font-size:20px;}
.onboard-highlight-text{font-size:13.5px;color:var(--dark);line-height:1.4;}
.onboard-footer{padding:18px 32px;border-top:1px solid var(--crd);display:flex;align-items:center;justify-content:space-between;}
.onboard-dots{display:flex;gap:6px;}
.onboard-dot{width:8px;height:8px;border-radius:50%;background:var(--crd);transition:.25s;}
.onboard-dot.active{background:var(--c1);width:20px;border-radius:4px;}
.onboard-skip{font-size:13px;color:var(--muted);cursor:pointer;border:none;background:none;font-family:var(--fb);}

/* ══ CHAT COMUNIDAD ══════════════════════════════════ */
.chat-layout{display:grid;grid-template-columns:220px 1fr;gap:0;height:calc(100vh - 120px);min-height:500px;border-radius:var(--r2);overflow:hidden;border:1px solid var(--crd);background:var(--sw);}
.chat-sidebar{border-right:1px solid var(--crd);display:flex;flex-direction:column;background:var(--cr);}
.chat-sb-hdr{padding:14px 14px 10px;border-bottom:1px solid var(--crd);font-family:var(--fd);font-size:15px;font-weight:500;color:var(--dark);}
.chat-rooms{flex:1;overflow-y:auto;}
.chat-room-item{display:flex;align-items:center;gap:9px;padding:10px 13px;cursor:pointer;border-left:3px solid transparent;transition:.15s;border-bottom:1px solid rgba(0,0,0,.04);}
.chat-room-item:hover{background:rgba(140,0,38,.05);}
.chat-room-item.active{background:rgba(140,0,38,.08);border-left-color:var(--c1);}
.chat-room-emoji{font-size:18px;flex-shrink:0;}
.chat-room-name{font-size:13px;font-weight:500;color:var(--dark);line-height:1.2;}
.chat-room-last{font-size:11px;color:var(--muted);margin-top:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:150px;}
.chat-room-badge{margin-left:auto;background:var(--c1);color:#fff;border-radius:50px;font-size:10px;font-weight:700;padding:1px 6px;min-width:16px;text-align:center;flex-shrink:0;}
.chat-main{display:flex;flex-direction:column;height:100%;}
.chat-topbar{padding:12px 16px;border-bottom:1px solid var(--crd);display:flex;align-items:center;gap:10px;flex-shrink:0;background:var(--sw);}
.chat-topbar-emoji{font-size:22px;}
.chat-topbar-name{font-family:var(--fd);font-size:17px;font-weight:500;color:var(--dark);}
.chat-topbar-meta{font-size:11.5px;color:var(--muted);margin-top:1px;}
.chat-messages{flex:1;overflow-y:auto;padding:14px 16px;display:flex;flex-direction:column;gap:10px;}
.chat-msg{display:flex;gap:9px;align-items:flex-start;max-width:78%;}
.chat-msg.mine{flex-direction:row-reverse;align-self:flex-end;}
.chat-msg-av{width:30px;height:30px;border-radius:50%;background:var(--c1);color:#fff;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;flex-shrink:0;}
.chat-msg-av.mine-av{background:var(--goldd);}
.chat-msg-bubble{background:var(--crd);border-radius:12px 12px 12px 3px;padding:8px 12px;font-size:13.5px;line-height:1.5;color:var(--dark);word-break:break-word;}
.chat-msg.mine .chat-msg-bubble{background:var(--c1);color:#fff;border-radius:12px 12px 3px 12px;}
.chat-msg-meta{font-size:10.5px;color:var(--muted);margin-top:3px;}
.chat-msg.mine .chat-msg-meta{text-align:right;}
.chat-input-area{padding:12px 14px;border-top:1px solid var(--crd);display:flex;gap:9px;align-items:flex-end;flex-shrink:0;background:var(--sw);}
.chat-input{flex:1;border:1.5px solid var(--crd);border-radius:20px;padding:9px 14px;font-family:var(--fb);font-size:14px;color:var(--dark);background:var(--cr);resize:none;outline:none;transition:.2s;max-height:100px;line-height:1.4;}
.chat-input:focus{border-color:var(--gold);}
.chat-send-btn{width:38px;height:38px;border-radius:50%;background:var(--c1);border:none;color:#fff;font-size:17px;cursor:pointer;flex-shrink:0;display:flex;align-items:center;justify-content:center;transition:.2s;}
.chat-send-btn:hover{background:var(--c1d);}
.chat-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:var(--muted);text-align:center;padding:30px;}
.chat-empty-icon{font-size:44px;margin-bottom:12px;}
@media(max-width:600px){
  .chat-layout{grid-template-columns:1fr;grid-template-rows:auto 1fr;}
  .chat-sidebar{border-right:none;border-bottom:1px solid var(--crd);max-height:130px;}
  .chat-rooms{display:flex;flex-direction:row;overflow-x:auto;overflow-y:hidden;}
  .chat-room-item{min-width:120px;flex-direction:column;padding:8px 10px;text-align:center;border-left:none;border-bottom:3px solid transparent;}
  .chat-room-item.active{border-left:none;border-bottom-color:var(--c1);}
  .chat-room-last{display:none;}
  .chat-sb-hdr{padding:10px 12px;}
}

/* ══ PERFIL MEJORADO ════════════════════════════════ */
.profile-card{background:var(--sw);border:1px solid var(--crd);border-radius:var(--r2);padding:24px;max-width:520px;}
.profile-avatar-wrap{position:relative;display:inline-block;}
.profile-av{width:72px;height:72px;border-radius:50%;background:var(--c1);color:#fff;display:flex;align-items:center;justify-content:center;font-size:26px;font-weight:700;cursor:pointer;transition:.2s;}
.profile-av:hover{opacity:.85;}
.profile-av-change{position:absolute;bottom:0;right:0;width:22px;height:22px;background:var(--gold);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11px;cursor:pointer;border:2px solid var(--sw);}
.profile-stat-row{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:16px 0;}
.profile-stat{background:var(--crd);border-radius:var(--r1);padding:12px;text-align:center;}
.profile-stat-val{font-family:var(--fd);font-size:22px;font-weight:500;color:var(--dark);}
.profile-stat-lbl{font-size:11px;color:var(--muted);margin-top:2px;}
.profile-bio{width:100%;border:1.5px solid var(--crd);border-radius:var(--r1);padding:9px 12px;font-family:var(--fb);font-size:13.5px;resize:vertical;outline:none;transition:.2s;background:var(--cr);color:var(--dark);}
.profile-bio:focus{border-color:var(--gold);}

/* ══ FIXES DARK MODE ════════════════════════════════ */
body.dark-mode .chat-msg-bubble{background:#2a0a14;color:#f5e6d0;}
body.dark-mode .chat-msg.mine .chat-msg-bubble{background:var(--c1d);color:#fff;}
body.dark-mode .chat-input{background:#1e0a10;color:#f5e6d0;border-color:#3a1020;}
body.dark-mode .chat-layout{background:#150608;border-color:#2a0a14;}
body.dark-mode .chat-sidebar{background:#1a0008;}
body.dark-mode .profile-card{background:#150608;border-color:#2a0a14;}
body.dark-mode .profile-stat{background:#1a0008;}

/* ══ SOCIAL LINKS (footer/admin) ═══════════════════ */
.social-links{display:flex;gap:9px;align-items:center;flex-wrap:wrap;}
.social-link{display:inline-flex;align-items:center;gap:6px;background:rgba(201,168,76,.12);border:1px solid rgba(201,168,76,.25);color:var(--goldl);padding:5px 13px;border-radius:50px;font-size:12.5px;text-decoration:none;transition:.2s;cursor:pointer;}
.social-link:hover{background:rgba(201,168,76,.25);color:#fff;}
.wa-fab{position:fixed;bottom:22px;right:22px;width:52px;height:52px;border-radius:50%;background:#25D366;box-shadow:0 4px 18px rgba(37,211,102,.45);display:none;align-items:center;justify-content:center;font-size:26px;cursor:pointer;z-index:119;text-decoration:none;transition:.3s;border:none;}
.wa-fab:hover{transform:scale(1.1);}
@media(max-width:768px){.wa-fab{bottom:76px;right:14px;}}

/* ══ THEME PRESETS ══════════════════════════════════ */
.theme-preset-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin-bottom:14px;}
.tp-card{border:2px solid var(--crd);border-radius:var(--r1);padding:8px;cursor:pointer;text-align:center;transition:.2s;background:var(--cr);}
.tp-card:hover{border-color:var(--gold);}
.tp-card.selected{border-color:var(--c1);}
.tp-swatches{display:flex;gap:4px;justify-content:center;margin-bottom:5px;}
.tp-swatch{width:18px;height:18px;border-radius:50%;}
.tp-name{font-size:11px;color:var(--muted);}

/* ══ SAVE INDICATOR ═════════════════════════════════ */
.save-ind{position:fixed;bottom:18px;left:50%;transform:translateX(-50%);background:rgba(26,0,8,.92);color:var(--goldl);padding:8px 20px;border-radius:50px;font-size:13px;z-index:9999;opacity:0;transition:.3s;pointer-events:none;backdrop-filter:blur(8px);white-space:nowrap;}
.save-ind.show{opacity:1;}

/* ══ DND HANDLES (for drag reorder) ════════════════ */
.dnd-handle{cursor:grab;padding:0 5px;color:rgba(0,0,0,.2);font-size:15px;flex-shrink:0;user-select:none;display:flex;align-items:center;transition:color .15s;}
.dnd-handle:hover{color:var(--c1);}
.dnd-handle:active{cursor:grabbing;}
.dnd-hint{display:inline-flex;align-items:center;gap:5px;font-size:11px;color:var(--muted);background:rgba(0,0,0,.04);border:1px solid var(--crd);padding:3px 9px;border-radius:50px;margin-left:8px;}


.fg-error input,.fg-error textarea,.fg-error select{border-color:#e53e3e !important;background:#fff5f5;}
.fg-error .field-err-msg{display:block;}
.field-err-msg{display:none;font-size:11.5px;color:#c53030;margin-top:4px;font-weight:500;}

.ict-slots-wrap{margin-top:10px;}
.ict-slots-label{font-size:12px;font-weight:600;color:rgba(255,248,240,.65);margin-bottom:8px;letter-spacing:.04em;}
.ict-slots-grid{display:flex;flex-wrap:wrap;gap:6px;}
.ict-slot{padding:7px 13px;border-radius:50px;border:1px solid rgba(201,168,76,.3);background:rgba(255,255,255,.05);color:rgba(255,248,240,.75);font-size:12.5px;font-family:var(--fb);cursor:pointer;transition:.18s;white-space:nowrap;}
.ict-slot:hover{border-color:rgba(201,168,76,.6);background:rgba(201,168,76,.1);color:var(--goldl);}
.ict-slot.sel{border-color:var(--gold);background:rgba(201,168,76,.2);color:var(--goldl);font-weight:600;}
.ict-slot.taken{opacity:.4;cursor:not-allowed;text-decoration:line-through;}
.ict-no-slots{font-size:13px;color:rgba(255,248,240,.4);font-style:italic;padding:8px 0;}
.ict-step{display:none;}.ict-step.active{display:block;}
.ict-steps-nav{display:flex;gap:6px;margin-bottom:14px;}
.ict-step-dot{width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,.2);transition:.2s;}
.ict-step-dot.active{background:var(--gold);}
.adm-slots-wrap{display:flex;flex-direction:column;gap:8px;margin-top:8px;}
.adm-slot-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap;}
.adm-slot-day{font-size:12.5px;font-weight:600;color:var(--dark);min-width:90px;}
.adm-slot-times{display:flex;flex-wrap:wrap;gap:5px;flex:1;}
.adm-slot-pill{background:var(--goldp);border:1px solid rgba(201,168,76,.3);border-radius:50px;padding:4px 11px;font-size:12px;font-family:var(--fb);color:var(--goldd);display:flex;align-items:center;gap:5px;}
.adm-slot-del{background:none;border:none;color:var(--c1);cursor:pointer;font-size:13px;}


/* ── COURSE EDITOR PAGE ── */
.adm-pg.editor-pg{max-width:780px;margin:0 auto;}
.editor-pg-hdr{display:flex;align-items:center;gap:14px;padding:18px 24px;background:var(--sw);border-bottom:1px solid var(--crd);position:sticky;top:0;z-index:10;}
.editor-pg-back{background:var(--cr);border:1.5px solid var(--crd);border-radius:50px;padding:8px 16px;font-family:var(--fb);font-size:13px;color:var(--muted);cursor:pointer;transition:.15s;white-space:nowrap;}
.editor-pg-back:hover{border-color:var(--dark);color:var(--dark);}
.editor-pg-title{font-family:var(--fd);font-size:20px;color:var(--dark);flex:1;}
.editor-pg-save{background:linear-gradient(135deg,var(--c1d),var(--c1));color:#fff;border:none;padding:10px 24px;border-radius:50px;font-family:var(--fb);font-size:14px;font-weight:600;cursor:pointer;transition:.2s;}
.editor-pg-save:hover{filter:brightness(1.1);}
.editor-pg-body{padding:24px;}


@media(max-width:380px){
  .topbar{padding:0 10px;height:50px;}
  .tb-title{font-size:14px;}
  .sidebar{width:240px;}
  .stats-row{grid-template-columns:1fr 1fr;}
  .scard{padding:10px 8px;}
  .scard-val{font-size:20px;}
  .hero h1{font-size:28px;}
  .icar-card{min-width:140px;}
  .adm-pg{padding:14px 12px;}
  .editor-pg-hdr{flex-wrap:wrap;gap:8px;padding:12px 14px;}
  .editor-pg-title{font-size:16px;width:100%;}
  .cform-grid2{grid-template-columns:1fr;}
}


/* ── INTERACTIVE / LOADING STATES ── */
.btn-loading{position:relative;pointer-events:none;opacity:.75;}
.btn-loading::after{content:'';display:inline-block;width:12px;height:12px;border:2px solid rgba(255,255,255,.4);border-top-color:#fff;border-radius:50%;animation:spin .6s linear infinite;margin-left:8px;vertical-align:middle;}
@keyframes spin{to{transform:rotate(360deg);}}
.pulse{animation:pulse 2s ease-in-out infinite;}
@keyframes pulse{0%,100%{opacity:1;}50%{opacity:.6;}}
/* Touch feedback */
.sb-item:active,.btn-p:active,.btn-gold:active,.btn-crimson:active,.abtn:active{transform:scale(.97);transition:transform .1s;}
/* Dashboard card hover */
.scard{transition:transform .2s,box-shadow .2s;}
.scard:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(201,168,76,.15);}
.cc{transition:transform .2s;}
.cc:hover{transform:translateY(-2px);}
/* Better focus states for accessibility */
input:focus,textarea:focus,select:focus{outline:2px solid var(--gold);outline-offset:1px;}
/* Smooth page transitions */
.pc{animation:fadeIn .2s ease;}
@keyframes fadeIn{from{opacity:0;transform:translateY(6px);}to{opacity:1;transform:translateY(0);}}


.sidebar-overlay{display:none;position:fixed;inset:0;background:rgba(26,0,8,.6);z-index:149;backdrop-filter:blur(2px);}
.sidebar-overlay.active{display:block;}
@media(max-width:768px){
  .sidebar{position:fixed;left:-260px;top:0;height:100vh;z-index:150;transition:left .28s cubic-bezier(.4,0,.2,1);box-shadow:4px 0 24px rgba(0,0,0,.3);}
  .sidebar.open{left:0;}
  .main-content{margin-left:0 !important;}
}


/* Fix elements that use --dark as background */
body.dark-mode .sec-dark,
body.dark-mode .icar-section,
body.dark-mode .footer{
  background:var(--c1d) !important;
  color:var(--goldl);
}
body.dark-mode .sidebar{
  background:#130006 !important;
  border-color:#2A0818;
}
body.dark-mode .btn-p,
body.dark-mode .btn-gold{
  color:var(--dark) !important;
}



/* ═══════════════════════════════════════════════════════
   CAPA DE REFINAMIENTO ESTÉTICO (Fase 3 — jul 2026)
   Micro-animaciones, jerarquía y pulido. Todo lo de esta
   sección es visual: se puede borrar sin romper nada.
   ═══════════════════════════════════════════════════════ */

/* ── Selección de texto y scrollbar con identidad ── */
::selection{background:rgba(201,168,76,.35);color:#FFF8F0;}
*{scrollbar-width:thin;scrollbar-color:rgba(201,168,76,.35) transparent;}
*::-webkit-scrollbar{width:9px;height:9px;}
*::-webkit-scrollbar-track{background:transparent;}
*::-webkit-scrollbar-thumb{background:rgba(201,168,76,.3);border-radius:8px;}
*::-webkit-scrollbar-thumb:hover{background:rgba(201,168,76,.5);}

/* ── Accesibilidad: anillo de foco al navegar con teclado ── */
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{
  outline:2px solid var(--gold);outline-offset:2px;border-radius:4px;
}

/* ── Tipografía: títulos balanceados (evita palabras sueltas) ── */
.hero h1,.sec-tit,.sec-heading{text-wrap:balance;}
.hero p,.cpc-desc,.feat-card p{text-wrap:pretty;}

/* ── Botones: relieve sutil al pasar y hundido al hacer clic ── */
.btn-gold,.btn-p,.btn-crimson,.btn-g{transition:transform .18s ease,box-shadow .25s ease,background .2s ease,color .2s ease;}
.btn-gold:hover,.btn-p:hover{transform:translateY(-1px);box-shadow:0 8px 22px rgba(201,168,76,.32);}
.btn-crimson:hover{transform:translateY(-1px);box-shadow:0 8px 22px rgba(140,0,38,.4);}
.btn-gold:active,.btn-p:active,.btn-crimson:active,.btn-g:active{transform:translateY(0) scale(.975);box-shadow:none;}

/* ── Nav: subrayado dorado animado en los links ── */
.nav-links a{position:relative;padding-bottom:3px;}
.nav-links a::after{content:'';position:absolute;left:0;bottom:0;width:100%;height:1px;background:var(--gold);transform:scaleX(0);transform-origin:right;transition:transform .3s cubic-bezier(.16,1,.3,1);}
.nav-links a:hover::after{transform:scaleX(1);transform-origin:left;}

/* ── Hero: entrada escalonada al cargar la landing ── */
@keyframes heroIn{from{opacity:0;transform:translateY(26px);}to{opacity:1;transform:none;}}
.hero-content>*{animation:heroIn .8s cubic-bezier(.16,1,.3,1) backwards;}
.hero-content>*:nth-child(1){animation-delay:.05s;}
.hero-content>*:nth-child(2){animation-delay:.15s;}
.hero-content>*:nth-child(3){animation-delay:.25s;}
.hero-content>*:nth-child(4){animation-delay:.35s;}
.hero-content>*:nth-child(5){animation-delay:.45s;}
.hero-content>*:nth-child(6){animation-delay:.55s;}
/* Anillos ornamentales: respiración lenta y elegante */
@keyframes ringBreathe{0%,100%{opacity:1;transform:translate(-50%,-50%) scale(1);}50%{opacity:.55;transform:translate(-50%,-50%) scale(1.03);}}
.hero-ornament{animation:ringBreathe 7s ease-in-out infinite;}
.h-o2{animation-delay:1.2s;}.h-o3{animation-delay:2.4s;}

/* ── Aparición suave al scrollear (clase .rvl la pone shared.js) ── */
.rvl{opacity:0;transform:translateY(22px);transition:opacity .65s ease,transform .65s cubic-bezier(.16,1,.3,1);}
.rvl.in{opacity:1;transform:none;}

/* ── Tarjetas: hover más vivo, borde dorado y zoom de portada ── */
.feat-card:hover{transform:translateY(-4px);border-color:rgba(201,168,76,.45);box-shadow:0 14px 40px rgba(26,0,8,.14);}
.feat-icon{transition:transform .3s cubic-bezier(.34,1.56,.64,1);}
.feat-card:hover .feat-icon{transform:scale(1.12);}
.cpc-thumb{overflow:hidden;position:relative;}
.cpc-thumb img{transition:transform .6s cubic-bezier(.16,1,.3,1);}
.cpc:hover .cpc-thumb img{transform:scale(1.06);}
.cpc:hover{box-shadow:0 16px 44px rgba(0,0,0,.3);}
.course-card:hover,.ebook-card:hover{border-color:rgba(201,168,76,.5);}
.cc:hover{border-color:rgba(201,168,76,.5);}

/* ── Barras de progreso: brillo que recorre el dorado ── */
@keyframes shine{0%{background-position:200% 0;}100%{background-position:-200% 0;}}
.vpfill{background:linear-gradient(90deg,var(--c1l),var(--gold),var(--c1l));background-size:200% 100%;animation:shine 3.5s linear infinite;}

/* ── Viewer: lección activa con acento dorado ── */
.les-item{border-left:3px solid transparent;}
.les-item:hover{border-left-color:rgba(201,168,76,.4);}
.les-item.active{border-left-color:var(--gold);}

/* ── Inputs: foco con halo suave ── */
.fg input:focus,.fg select:focus,.fg textarea:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(201,168,76,.15);}

/* ── Móvil: respiración y jerarquía ── */
@media(max-width:768px){
  .sec{padding:56px 5vw;}
  .hero{padding:100px 6vw 56px;}
  .stat-num{font-size:28px;}
  .sec-tit{margin-bottom:28px;}
}
@media(max-width:480px){
  .hero-acts{flex-direction:column;align-items:stretch;}
  .hero-acts .btn-gold,.hero-acts .btn-g{width:100%;max-width:320px;margin:0 auto;text-align:center;}
  .footer{flex-direction:column;text-align:center;gap:10px;}
}

/* ── Respeto por "reducir movimiento" del sistema ── */
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important;}
  .rvl{opacity:1;transform:none;}
}

/* ═══ RONDA 2: TESTIMONIOS ═══ */
.reviews-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:18px;max-width:1100px;}
.review-card{background:rgba(255,255,255,.04);border:1px solid rgba(201,168,76,.18);border-radius:var(--r3);padding:26px 24px;display:flex;flex-direction:column;gap:14px;transition:.25s;}
.review-card:hover{border-color:rgba(201,168,76,.4);background:rgba(201,168,76,.06);transform:translateY(-3px);}
.review-stars{color:var(--gold);font-size:15px;letter-spacing:3px;}
.review-text{font-family:var(--fd);font-size:17px;line-height:1.55;color:rgba(255,248,240,.85);font-style:italic;flex:1;}
.review-who{display:flex;align-items:center;gap:11px;}
.review-av{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,var(--c1),var(--c1l));color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:16px;flex-shrink:0;border:1px solid rgba(201,168,76,.4);}
.review-name{font-size:13.5px;font-weight:500;color:var(--dark);}
.review-role{font-size:12px;color:rgba(255,248,240,.45);}

/* ═══ RONDA 2: FAQ ACORDEÓN EN LA LANDING ═══ */
.faq-land{max-width:720px;}
.faq-item{border-bottom:1px solid rgba(26,0,8,.12);}
.faq-q{width:100%;background:none;border:none;text-align:left;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:18px 2px;font-family:var(--fd);font-size:18.5px;font-weight:500;color:var(--cr);cursor:pointer;transition:color .2s;}
.faq-q:hover{color:var(--c1);}
.faq-chev{font-size:14px;color:var(--goldd);transition:transform .3s ease;flex-shrink:0;}
.faq-item.open .faq-chev{transform:rotate(180deg);}
.faq-a{max-height:0;overflow:hidden;transition:max-height .35s ease,padding .35s ease;}
.faq-item.open .faq-a{max-height:320px;padding-bottom:18px;}
.faq-a p{font-size:14.5px;line-height:1.7;color:rgba(26,0,8,.65);max-width:640px;}

/* ═══ RONDA 2: MENÚ MÓVIL DE LA LANDING ═══ */
.lnav-burger{display:none;background:none;border:1px solid rgba(201,168,76,.4);color:var(--goldl);width:38px;height:38px;border-radius:10px;font-size:17px;cursor:pointer;align-items:center;justify-content:center;transition:.2s;}
.lnav-burger:hover{background:rgba(201,168,76,.15);}
@media(max-width:768px){
  .lnav-burger{display:flex;}
  .lnav .nav-links{display:none;}
  .lnav.menu-open .nav-links{display:flex;flex-direction:column;position:absolute;top:70px;left:0;right:0;background:rgba(26,0,8,.97);backdrop-filter:blur(14px);border-bottom:1px solid rgba(201,168,76,.25);padding:20px 6vw 24px;gap:4px;}
  .lnav.menu-open .nav-links a{padding:12px 4px;font-size:16px;border-bottom:1px solid rgba(201,168,76,.1);}
}
@media(max-width:480px){
  .nav-acts .btn-g,.nav-acts .btn-p{padding:7px 13px;font-size:12px;}
  .reviews-grid{grid-template-columns:1fr;}
}

/* ═══ VIEWER: toggle de clases en móvil ═══ */
@media(max-width:768px){
  #vs-toggle{display:flex !important;}
  .vs.open{background:var(--sw);z-index:60;}
}

/* ═══ CARRUSEL: íconos profesionales (reemplazan emojis) ═══ */
.icar-card-icon{width:52px;height:52px;margin:0 auto 14px;color:var(--goldl);opacity:.9;}
.icar-card-icon svg{width:100%;height:100%;}
.icar-card[data-pos="0"] .icar-card-icon{opacity:1;}

/* ═══ CATÁLOGO DE SERVICIOS ESTILO REVISTA (landing) ═══ */
.services-catalog-head{text-align:center;margin-bottom:26px;}
.services-catalog-tit{font-family:var(--fd);font-size:clamp(26px,4vw,36px);font-style:italic;color:var(--goldl);}
.services-catalog-sub{font-size:13.5px;color:rgba(255,248,240,.5);margin-top:6px;}
.services-catalog{display:flex;flex-direction:column;gap:30px;}
.svc-mag{display:grid;grid-template-columns:1.05fr 1fr;gap:28px;align-items:center;background:rgba(255,255,255,.03);border:1px solid rgba(201,168,76,.16);border-radius:var(--r3);padding:24px;transition:.25s;}
.svc-mag:hover{border-color:rgba(201,168,76,.35);}
.svc-mag.rev{direction:rtl;}
.svc-mag.rev>*{direction:ltr;}
.svc-media-main{aspect-ratio:4/3;border-radius:var(--r2);overflow:hidden;background:#1A0009;border:1px solid rgba(201,168,76,.15);}
.svc-media-main img{width:100%;height:100%;object-fit:cover;display:block;}
.svc-media-main video,.svc-media-main iframe{width:100%;height:100%;display:block;border:none;}
.svc-ph{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#2A0818,#4a0a20);}
.svc-ph span{font-family:var(--fd);font-size:64px;font-style:italic;color:rgba(201,168,76,.45);}
.svc-thumbs{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap;}
.svc-thumb{width:58px;height:44px;border-radius:8px;background-size:cover;background-position:center;background-color:#2A0818;border:1px solid rgba(201,168,76,.25);cursor:pointer;position:relative;padding:0;transition:.2s;}
.svc-thumb:hover{border-color:rgba(201,168,76,.6);}
.svc-thumb.active{border-color:var(--gold);box-shadow:0 0 0 1px var(--gold);}
.svc-play{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#fff;font-size:13px;background:rgba(13,0,5,.45);border-radius:7px;}
.svc-info{display:flex;flex-direction:column;align-items:flex-start;}
.svc-num{font-family:var(--fd);font-size:15px;font-style:italic;color:rgba(201,168,76,.55);letter-spacing:.2em;margin-bottom:4px;}
.svc-title{font-family:var(--fd);font-size:clamp(22px,3vw,30px);font-weight:500;color:var(--goldl);line-height:1.15;margin-bottom:10px;}
.svc-mag-desc{font-size:14px;line-height:1.7;color:rgba(255,248,240,.6);margin-bottom:14px;}
.svc-meta{display:flex;align-items:center;gap:14px;margin-bottom:18px;padding-bottom:14px;border-bottom:1px solid rgba(201,168,76,.18);align-self:stretch;}
.svc-dur2{font-size:12px;color:rgba(255,248,240,.45);letter-spacing:.05em;text-transform:uppercase;}
.svc-price2{font-size:15px;font-weight:600;color:var(--gold);margin-left:auto;}
.svc-book{padding:11px 30px;font-size:14px;}
@media(max-width:760px){
  .svc-mag,.svc-mag.rev{grid-template-columns:1fr;direction:ltr;padding:16px;gap:16px;}
}
/* Formulario de reserva dentro del modal */
#turno-modal .icp-tform{background:none;border:none;padding:0;box-shadow:none;}
#turno-modal .mcard{max-width:430px;}
/* Panel admin: galería de fotos por servicio */
.svc-adm-imgs{display:flex;gap:8px;flex-wrap:wrap;align-items:center;}
.svc-adm-img{width:64px;height:50px;border-radius:8px;background-size:cover;background-position:center;position:relative;border:1px solid var(--crd);}
.svc-adm-img-del{position:absolute;top:-6px;right:-6px;width:18px;height:18px;border-radius:50%;background:var(--c1);color:#fff;border:none;font-size:10px;cursor:pointer;line-height:1;}
.svc-adm-add{width:64px;height:50px;border-radius:8px;border:1.5px dashed rgba(201,168,76,.5);color:var(--gold);display:flex;align-items:center;justify-content:center;font-size:22px;cursor:pointer;transition:.2s;}
.svc-adm-add:hover{background:rgba(201,168,76,.1);}

/* Dashboard: fila de servicio generada */
.tsv-dur{margin-left:auto;font-size:11px;color:var(--muted);white-space:nowrap;}

/* ═══ MODO CLARO: textos legibles en sidebar y topbar (fix jul 2026) ═══ */
body.light-mode .sidebar{background:#FFF0E8;border-color:#E8D8CC;}
body.light-mode .sb-brand{color:var(--c1d);}
body.light-mode .sb-item{color:#6A464E;}
body.light-mode .sb-item:hover{color:var(--c1);background:rgba(140,0,38,.06);}
body.light-mode .sb-item.active{background:var(--c1) !important;color:#fff !important;}
body.light-mode .sb-group{color:#A8848C;}
body.light-mode .uname{color:var(--c1d);}
body.light-mode .urole{color:#A8848C;}
body.light-mode .topbar{background:#FFFFFF;border-color:#E8D8CC;}
body.light-mode .tb-title{color:var(--c1d);}
body.light-mode .dark-toggle{border-color:#E8D8CC;color:var(--c1d);}

/* ═══ SERVICIOS FORMATO DESTACADO + LISTA (estilo YouTube, jul 2026) ═══ */
.services-catalog{display:block;} /* anula el layout de la versión revista anterior */
.svc-yt{display:grid;grid-template-columns:1.55fr 1fr;gap:22px;align-items:start;}
.svc-feat{background:rgba(255,255,255,.03);border:1px solid rgba(201,168,76,.16);border-radius:var(--r3);padding:18px;min-height:200px;}
@keyframes svcFade{from{opacity:0;transform:translateY(10px);}to{opacity:1;transform:none;}}
.svc-feat-inner{animation:svcFade .35s ease both;}
.svc-feat-body{padding:16px 4px 2px;display:flex;flex-direction:column;align-items:flex-start;}
.svc-side{display:flex;flex-direction:column;gap:10px;max-height:600px;overflow-y:auto;padding-right:4px;}
.svc-row{display:flex;gap:12px;align-items:center;background:rgba(255,255,255,.03);border:1px solid rgba(201,168,76,.15);border-radius:var(--r2);padding:10px;cursor:pointer;text-align:left;transition:.2s;font-family:var(--fb);width:100%;}
.svc-row:hover{border-color:rgba(201,168,76,.45);background:rgba(201,168,76,.06);}
.svc-row.active{border-color:var(--gold);background:rgba(201,168,76,.1);box-shadow:0 0 0 1px var(--gold) inset;}
.svc-row-th{width:76px;height:54px;border-radius:9px;flex-shrink:0;background:linear-gradient(135deg,#2A0818,#4a0a20);background-size:cover;background-position:center;display:flex;align-items:center;justify-content:center;font-family:var(--fd);font-style:italic;font-size:20px;color:rgba(201,168,76,.55);border:1px solid rgba(201,168,76,.15);}
.svc-row-txt{min-width:0;}
.svc-row-name{display:block;font-size:13.5px;font-weight:500;color:var(--goldl);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.svc-row-meta{display:block;font-size:11.5px;color:rgba(255,248,240,.45);margin-top:3px;}
@media(max-width:760px){
  .svc-yt{grid-template-columns:1fr;gap:16px;}
  .svc-side{max-height:none;overflow:visible;padding-right:0;}
  .svc-feat{padding:13px;}
}
/* ═══ VIEWER: barra superior legible en ambos temas (fix jul 2026) ═══ */
.vtop{background:#160008;border-bottom:1px solid rgba(201,168,76,.25);}
.vtop .vcname{color:var(--goldl);}
body.light-mode .vtop{background:#FFF0E8;border-color:#E8D8CC;}
body.light-mode .vtop .vcname{color:var(--c1d);}
body.light-mode .vback{color:#6A464E;}
body.light-mode .vback:hover{color:var(--c1);}
body.light-mode .vpt{color:#8A6A72;}
body.light-mode .vpbar{background:rgba(140,0,38,.12);}
body.light-mode .vs{background:#FFF7F0;border-color:#E8D8CC;}
body.light-mode .vmain{background:#FFF8F0;}
/* ═══ MODO CLARO: refuerzo de textos del sidebar (prioridad máxima) ═══ */
body.light-mode .sb-item{color:#6A464E !important;}
body.light-mode .sb-item:hover{color:var(--c1) !important;}
body.light-mode .sb-item.active{background:var(--c1) !important;color:#fff !important;}
body.light-mode .sb-slbl{color:#A8848C !important;}
body.light-mode .sb-brand{color:var(--c1d) !important;}
body.light-mode .uname{color:var(--c1d) !important;}
body.light-mode .urole{color:#A8848C !important;}
body.light-mode .btn-logout{color:#8A6A72 !important;}
/* ═══ OJITO DE CONTRASEÑA ═══ */
.pw-wrap{position:relative;}
.pw-wrap input{padding-right:42px !important;width:100%;}
.pw-eye{position:absolute;right:6px;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;color:var(--muted);padding:6px;display:flex;align-items:center;justify-content:center;border-radius:8px;transition:.2s;}
.pw-eye:hover{color:var(--gold);}

/* ═══ BANNER PERSISTENTE DEL ADMIN SIN SESIÓN ═══ */
.adm-nocloud{position:sticky;top:0;z-index:200;background:linear-gradient(135deg,#8C0026,#B0003A);color:#fff;padding:11px 18px;font-size:13.5px;line-height:1.5;display:flex;align-items:center;gap:12px;box-shadow:0 4px 16px rgba(0,0,0,.35);}
.adm-nocloud a{color:#FFD98A;font-weight:600;text-decoration:underline;cursor:pointer;}
