:root {
      --bg: #fafafa;
      --surface: #ffffff;
      --surface2: #f0f0f0;
      --text: #1a1a2e;
      --text2: #555;
      
      --accent: #2563eb; 
      --accent2: #60a5fa; 
      --gradient-1: linear-gradient(135deg, #1e40af, #3b82f6);
      --particle-color: 59, 130, 246; 
      
      --accent3: #fd79a8;
      --glass-bg: rgba(255, 255, 255, 0.65);
      --glass-border: rgba(255, 255, 255, 0.5);
      --glass-shadow: 0 8px 32px rgba(0, 0, 0, 0.06);
      --card-bg: #ffffff;
      --card-shadow: 0 4px 20px rgba(0, 0, 0, 0.05);
      --nav-bg: rgba(255, 255, 255, 0.8);
      --gradient-2: linear-gradient(135deg, #fd79a8, #e84393);
      --gradient-3: linear-gradient(135deg, #00b894, #55efc4);
      --danger: #e74c3c;
      --info: #3498db;
      --toggle-bg: #e0e0e0;
      --toggle-dot: #fff;
      --modal-overlay: rgba(0, 0, 0, 0.4);

      /* VARIAVEIS DO BLOG (SEMPRE DARK/GOLD) */
      --blog-bg: #0b0c10;
      --blog-surface: #151821;
      --blog-surface2: #1e222d;
      --blog-text: #f8fafc;
      --blog-text2: #94a3b8;
      --blog-gold: #d4af37;
      --blog-gold-light: #fde047;
      --blog-border: rgba(255,255,255,0.08);
    }
    .dark-mode {
      --bg: #0f0f1a;
      --surface: #1a1a2e;
      --surface2: #222240;
      --text: #e8e8f0;
      --text2: #aaaac0;
      --accent: #60a5fa;
      --accent2: #2563eb;
      --particle-color: 96, 165, 250;
      --accent3: #fd79a8;
      --glass-bg: rgba(26, 26, 46, 0.7);
      --glass-border: rgba(255, 255, 255, 0.08);
      --glass-shadow: 0 8px 32px rgba(0, 0, 0, 0.3);
      --card-bg: #1e1e36;
      --card-shadow: 0 4px 20px rgba(0, 0, 0, 0.25);
      --nav-bg: rgba(15, 15, 26, 0.85);
      --toggle-bg: #3a3a55;
      --toggle-dot: #1a1a2e;
      --modal-overlay: rgba(0, 0, 0, 0.7);
    }
    * { margin:0; padding:0; box-sizing:border-box; scrollbar-width:thin; scrollbar-color: rgba(212,175,55,0.62) rgba(8,12,20,0.18); }
    *::-webkit-scrollbar { width:10px; height:10px; }
    *::-webkit-scrollbar-track { background:rgba(8,12,20,0.22); border-radius:999px; }
    *::-webkit-scrollbar-thumb { background:linear-gradient(180deg, rgba(253,224,71,0.82), rgba(212,175,55,0.56)); border:2px solid rgba(8,12,20,0.78); border-radius:999px; }
    *::-webkit-scrollbar-thumb:hover { background:linear-gradient(180deg, rgba(253,224,71,1), rgba(212,175,55,0.78)); }
    html { scroll-behavior:smooth; }
    html.paiva-route-loading body { visibility:hidden; }
    body { font-family: 'Segoe UI', 'Inter', system-ui, sans-serif; background: var(--bg); color: var(--text); transition: background 0.5s, color 0.5s; overflow-x: hidden; line-height: 1.6; }
    
    #particles-canvas { position:fixed; top:0; left:0; width:100%; height:100%; z-index:0; pointer-events:none; opacity:0.5; }
    
    /* Navbar */
    .navbar { position:fixed; top:16px; left:50%; transform:translateX(-50%); z-index:1000; background:var(--nav-bg); backdrop-filter:blur(20px); border:1px solid var(--glass-border); border-radius:50px; padding:10px 24px; display:flex; align-items:center; justify-content:space-between; box-shadow:var(--glass-shadow); transition:all 0.4s; width:95vw; max-width:1100px; gap:20px; }
    .navbar.scrolled { top:6px; padding:8px 24px; }
    .nav-logo { font-weight:800; font-size:1.3rem; background:var(--gradient-1); -webkit-background-clip:text; -webkit-text-fill-color:transparent; text-decoration:none; cursor:pointer;}
    .nav-right { display:flex; align-items:center; gap:16px; margin-left:auto; }
    .nav-links { display:flex; gap:20px; list-style:none; align-items:center; margin:0; padding:0; }
    .nav-links a { text-decoration:none; color:var(--text); font-weight:500; font-size:0.95rem; transition:0.3s; cursor:pointer; position: relative; padding-bottom: 4px; }
    .nav-links a::after { content: ''; position: absolute; bottom: 0; left: 0; width: 0%; height: 2px; background: var(--gradient-1); transition: width 0.3s ease; border-radius: 2px; }
    .nav-links a:hover::after, .nav-links a.active-link::after { width: 100%; color:var(--accent); }
    .nav-links .btn-login { background:var(--gradient-1); color:#fff!important; padding:8px 20px; border-radius:30px; font-weight:600; }
    .nav-links .btn-login::after { display:none; }
    .user-badge { display:none; align-items:center; gap:8px; font-weight:600; font-size:0.9rem; padding:6px 12px; background:var(--surface2); border-radius:20px;}
    .user-badge span { background:var(--gradient-2); -webkit-background-clip:text; -webkit-text-fill-color:transparent; }
    
    .menu-hamburger { display:none; background:none; border:none; cursor:pointer; flex-direction:column; gap:5px; padding:5px; }
    .menu-hamburger span { width:24px; height:2.5px; background:var(--text); border-radius:10px; display:block; transition:0.3s; }
    .menu-hamburger.active span:nth-child(1) { transform:rotate(45deg) translate(5px,5px); }
    .menu-hamburger.active span:nth-child(2) { opacity:0; }
    .menu-hamburger.active span:nth-child(3) { transform:rotate(-45deg) translate(5px,-5px); }

    .theme-toggle { width:46px; height:26px; background:var(--toggle-bg); border-radius:28px; cursor:pointer; border:none; position:relative; flex-shrink:0; }
    .theme-toggle::after { content:''; position:absolute; top:3px; left:3px; width:20px; height:20px; background:var(--toggle-dot); border-radius:50%; transition:0.4s; box-shadow:0 1px 4px rgba(0,0,0,0.15); }
    .dark-mode .theme-toggle::after { transform:translateX(20px); }

    .page-section { display: none; position:relative; z-index:1; min-height:100vh; padding-top: 100px; padding-bottom: 60px; }
    .page-section.active { display: block; animation: fadeIn 0.4s ease forwards; }
    @keyframes fadeIn { from{opacity:0; transform:translateY(10px);} to{opacity:1; transform:translateY(0);} }
    .container { max-width:1100px; margin:0 auto; padding:0 24px; }

    /* Estilos base das paginas do Paiva */
    .section-title { font-size:2.4rem; font-weight:800; letter-spacing:-1px; margin-bottom:12px; text-align:center;}
    .section-subtitle { color:var(--text2); margin-bottom:48px; text-align:center;}
    .btn { display:inline-block; padding:12px 24px; border-radius:50px; font-weight:700; font-size:0.95rem; text-decoration:none; cursor:pointer; border:none; transition:0.35s; text-align:center;}
    .btn-primary { background:var(--gradient-1); color:#fff; box-shadow:0 8px 28px rgba(37,99,235,0.35); }
    .btn-primary:hover { transform:translateY(-3px); box-shadow:0 14px 36px rgba(37,99,235,0.5); }
    .btn-outline { background:transparent; border:2px solid var(--accent); color:var(--accent); }
    .btn-outline:hover { background:var(--accent); color:#fff; }
    
    .section-hero { text-align:center; align-items:center; display:flex; flex-direction:column; justify-content:center; margin-bottom:60px;}
    .hero-badge { display:inline-block; background:var(--glass-bg); backdrop-filter:blur(10px); border:1px solid var(--glass-border); border-radius:50px; padding:8px 20px; font-weight:600; color:var(--accent); margin-bottom:24px; }
    .hero-title { font-size:clamp(2.8rem,7vw,5rem); font-weight:900; letter-spacing:-2px; line-height:1.05; margin-bottom:20px; }
    .gradient-text { background:var(--gradient-1); -webkit-background-clip:text; -webkit-text-fill-color:transparent; }
    
    .cards-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); gap:24px; }
    .glass-card { background:var(--card-bg); border-radius:24px; padding:24px; box-shadow:var(--card-shadow); border:1px solid var(--glass-border); transition:transform 0.4s, border-color 0.4s; position:relative; overflow:hidden; }
    .glass-card:hover { transform:translateY(-6px); border-color:var(--accent2); }

    .grid-2-4 { display: grid; grid-template-columns: repeat(2, 1fr); gap: 24px; }
    @media (min-width: 900px) { .grid-2-4 { grid-template-columns: repeat(4, 1fr); } }
    .premium-card { position:relative; z-index:1; }
    .premium-number { position:absolute; top:-5px; right:15px; font-size:4.5rem; font-weight:900; background:var(--gradient-1); -webkit-background-clip:text; -webkit-text-fill-color:transparent; opacity:0.1; z-index:-1; user-select:none; }
    
    /* Notificações */
    .notif-dropdown { position:absolute; right:0; top:45px; width:340px; max-height:400px; overflow-y:auto; background:var(--card-bg); border-radius:16px; box-shadow:0 15px 40px rgba(0,0,0,0.15); border:1px solid var(--glass-border); display:none; flex-direction:column; z-index:2000; padding:16px; cursor:default; }
    .notif-dropdown.active { display:flex; animation: fadeIn 0.2s ease forwards; }
    .notif-item { padding:12px; border-radius:12px; border-bottom:1px solid var(--surface2); cursor:pointer; transition:0.3s; position:relative; margin-bottom:4px; display:flex; justify-content:space-between; align-items:flex-start; gap:12px; }
    .notif-item.unread { background: rgba(37,99,235,0.06); font-weight:600; }
    .notif-item.unread::before { content:''; position:absolute; left:4px; top:18px; width:6px; height:6px; background:var(--accent); border-radius:50%; }
    .notif-item:hover { background:var(--surface2); }
    .notif-item:last-child { border-bottom: none; margin-bottom:0; }
    .notif-del { font-size:0.8rem; color:var(--text2); background:none; border:none; cursor:pointer; padding:4px; }
    .notif-del:hover { color:var(--danger); }
    
    /* Componentes Gerais / Fórum / Plataforma / Admin preservados */
    .plat-header-wrap { display:flex; justify-content:space-between; flex-wrap:wrap; gap:24px; margin-bottom:32px; align-items:center; }
    .plat-greeting-box { flex:1; min-width:260px; }
    .plat-stats-container { display:flex; gap:16px; flex-wrap:wrap; align-items:stretch; }
    .plat-stat-card { background:var(--card-bg); border-radius:20px; padding:16px 20px; display:flex; align-items:center; gap:16px; box-shadow:var(--card-shadow); border:1px solid var(--glass-border); min-width:160px; flex:1; transition:transform 0.3s; }
    .plat-stat-card:hover { transform:translateY(-4px); }
    .plat-stat-icon { width:48px; height:48px; border-radius:14px; display:flex; align-items:center; justify-content:center; font-size:1.4rem; flex-shrink:0; }
    .plat-level-card { background: var(--gradient-1); border-radius:20px; padding:18px 24px; display:flex; align-items:center; justify-content:space-between; box-shadow:0 12px 24px rgba(37,99,235,0.3); color:#fff; min-width:260px; position:relative; overflow:hidden; flex:1; }
    .plat-level-card::after { content:''; position:absolute; right:0; top:0; bottom:0; width:60%; background:radial-gradient(circle, rgba(255,255,255,0.15) 0%, transparent 70%); pointer-events:none; }
    .plat-banner { background: var(--surface2); border:1px solid var(--glass-border); border-radius: 20px; padding: 24px 32px; display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 16px; box-shadow: var(--card-shadow); margin-bottom: 40px; position: relative; overflow: hidden; background: linear-gradient(90deg, #2563eb, #1e40af); color:#fff; }
    .plat-cat-scroll { display:flex; gap:16px; overflow-x:auto; padding-bottom:12px; margin-bottom:32px; scrollbar-width:none; }
    .plat-cat-scroll::-webkit-scrollbar { display: none; }
    .plat-cat-item { background:var(--card-bg); border:1px solid var(--glass-border); border-radius:20px; padding:14px 20px; display:flex; align-items:center; gap:12px; min-width:max-content; cursor:pointer; box-shadow:var(--card-shadow); transition:0.3s; }
    .plat-cat-item:hover { transform:translateY(-3px); border-color:var(--accent2); }
    .plat-cat-item.active { background:rgba(37,99,235,0.06); border-color:var(--accent); }
    .plat-course-card { background:var(--card-bg); border-radius:24px; overflow:hidden; border:1px solid var(--glass-border); box-shadow:var(--card-shadow); transition:all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275); cursor:pointer; display:flex; flex-direction:column; }
    .plat-course-card:hover { transform:translateY(-8px) scale(1.02); box-shadow:0 20px 40px rgba(0,0,0,0.1); border-color:var(--accent2); }
    .plat-course-img { height:170px; background-size:cover; background-position:center; position:relative; }
    .plat-course-tag { position:absolute; top:16px; left:16px; background:var(--surface); color:var(--text); font-size:0.75rem; font-weight:800; padding:6px 14px; border-radius:20px; box-shadow:0 4px 12px rgba(0,0,0,0.15); }
    .plat-course-body { padding:24px; flex:1; display:flex; flex-direction:column; justify-content:space-between; }
    .progress-track { background: var(--surface2); border-radius: 10px; height: 6px; overflow: hidden; margin-top:8px; margin-bottom:8px; width:100%; }
    .progress-fill { background: var(--gradient-1); height: 100%; border-radius:10px; transition:width 1s ease; }
    
    .nexus-dashboard { display:grid; grid-template-columns: 1fr 2fr; gap:30px; margin-bottom: 40px; }
    @media (max-width:768px) { .nexus-dashboard { grid-template-columns: 1fr; } }
    .profile-card { text-align:center; }
    .profile-avatar { width:100px; height:100px; border-radius:50%; background:var(--gradient-2); margin:0 auto 16px; display:flex; align-items:center; justify-content:center; font-size:2.5rem; color:#fff; border:4px solid var(--surface); box-shadow:0 8px 24px rgba(253,121,168,0.4); }
    .nexus-level { font-size:2rem; font-weight:900; color:var(--accent); line-height:1; margin-bottom:4px; }
    .badge-grid { display:grid; grid-template-columns:repeat(auto-fit, minmax(80px, 1fr)); gap:16px; }
    .badge-item { text-align:center; filter:grayscale(100%); opacity:0.4; transition:0.4s; }
    .badge-item.unlocked { filter:grayscale(0%); opacity:1; transform:scale(1.05); }
    .badge-item img { width:60px; height:60px; margin-bottom:8px; }
    .ranking-list { margin-top: 24px; background:var(--surface2); border-radius:16px; padding:16px; }
    .rank-item { display:flex; align-items:center; justify-content:space-between; padding:12px 16px; background:var(--card-bg); border-radius:12px; margin-bottom:8px; box-shadow:var(--card-shadow); }
    .rank-item:first-child { background: linear-gradient(90deg, rgba(253,121,168,0.1), transparent); border-left: 4px solid var(--accent3); }

    .frm-header-wrap { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:20px; margin-bottom:30px; }
    .frm-header-title { font-size:2rem; font-weight:900; letter-spacing:-1px; line-height:1.1; margin-bottom:6px; color:var(--text); }
    .frm-header-sub { color:var(--text2); font-size:0.95rem; }
    .frm-stats-grid { display:grid; grid-template-columns:repeat(auto-fit, minmax(220px, 1fr)); gap:16px; margin-bottom:30px; }
    .frm-stat-card { background:var(--card-bg); border-radius:20px; padding:16px; display:flex; align-items:center; gap:16px; box-shadow:var(--card-shadow); border:1px solid var(--glass-border); transition:0.3s; }
    .frm-stat-card:hover { transform:translateY(-3px); border-color:var(--accent2); }
    .frm-stat-icon { width:48px; height:48px; border-radius:14px; display:flex; align-items:center; justify-content:center; font-size:1.4rem; flex-shrink:0; }
    .frm-stat-icon.green { color:#10b981; background:rgba(16,185,129,0.15); }
    .frm-stat-icon.purple { color:#8b5cf6; background:rgba(139,92,246,0.15); }
    .frm-stat-icon.blue { color:#3b82f6; background:rgba(59,130,246,0.15); }
    .frm-stat-icon.yellow { color:#f59e0b; background:rgba(245,158,11,0.15); }

    .frm-pinned-banner { background:linear-gradient(90deg, #1e3a8a, #312e81); border-radius:24px; padding:24px 30px; color:#fff; display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:20px; margin-bottom:40px; box-shadow:0 12px 30px rgba(30,58,138,0.3); position:relative; overflow:hidden; }
    .frm-pinned-banner::before { content:''; position:absolute; top:-50%; right:-10%; width:300px; height:300px; background:radial-gradient(circle, rgba(59,130,246,0.3) 0%, transparent 70%); }
    .frm-pinned-badge { background:rgba(255,255,255,0.1); padding:4px 12px; border-radius:20px; font-size:0.75rem; font-weight:700; color:#fbbf24; margin-bottom:12px; display:inline-flex; align-items:center; gap:6px; backdrop-filter:blur(5px); }
    .frm-pinned-icon { width:54px; height:54px; background:rgba(255,255,255,0.15); border-radius:16px; display:flex; align-items:center; justify-content:center; font-size:1.6rem; flex-shrink:0; backdrop-filter:blur(10px); }
    .frm-cat-grid { display:grid; grid-template-columns:repeat(2, 1fr); gap:16px; margin-bottom:40px; }
    @media (max-width: 768px) { .frm-cat-grid { grid-template-columns: 1fr; } }
    .frm-cat-card { background:var(--card-bg); border-radius:20px; padding:20px; display:flex; align-items:center; gap:16px; box-shadow:var(--card-shadow); border:1px solid var(--glass-border); transition:0.3s; cursor:pointer; }
    .frm-cat-card:hover { transform:translateY(-4px) scale(1.01); border-color:var(--accent2); box-shadow:0 12px 24px rgba(0,0,0,0.08); }
    .frm-cat-card.active-filter { border-color:var(--accent); background:rgba(37,99,235,0.03); }
    .frm-cat-icon { width:52px; height:52px; border-radius:16px; display:flex; align-items:center; justify-content:center; font-size:1.6rem; flex-shrink:0; }
    .frm-list-container { background:var(--card-bg); border-radius:24px; border:1px solid var(--glass-border); box-shadow:var(--card-shadow); padding:0 24px; }
    .frm-list-item { display:flex; align-items:center; padding:20px 0; border-bottom:1px solid var(--surface2); gap:16px; transition:0.3s; flex-wrap:wrap; cursor:pointer; }
    .frm-list-item:hover { background:rgba(37,99,235,0.02); }
    .frm-list-item:last-child { border-bottom:none; }
    .frm-badge { padding:4px 10px; border-radius:20px; font-size:0.7rem; font-weight:700; text-transform:uppercase; letter-spacing:0.5px; display:inline-flex; align-items:center; gap:4px; }
    .frm-badge.importante { background:rgba(231,76,60,0.15); color:var(--danger); }
    .frm-badge.resolvido { background:rgba(16,185,129,0.15); color:#10b981; }
    .frm-badge.analise { background:rgba(139,92,246,0.15); color:#8b5cf6; }
    .frm-badge.aberto { background:rgba(59,130,246,0.15); color:#3b82f6; }
    .role-tag { font-size:0.65rem; font-weight:800; padding:2px 8px; border-radius:12px; margin-left:6px; text-transform:uppercase; }
    .role-tag.ceo { background:#8b5cf6; color:#fff; }
    .role-tag.admin { background:#3b82f6; color:#fff; }
    .role-tag.mod { background:#10b981; color:#fff; }
    .role-tag.aluno { background:var(--surface2); color:var(--text2); border:1px solid var(--glass-border); }
    .frm-item-stat { display:flex; align-items:center; gap:6px; color:var(--text2); font-size:0.85rem; font-weight:600; min-width:90px; }
    .comment-box { background:var(--card-bg); border-radius:16px; padding:20px; margin-bottom:16px; border:1px solid var(--glass-border); position:relative;}
    .comment-header { display:flex; justify-content:space-between; font-size:0.85rem; color:var(--text2); margin-bottom:12px; border-bottom:1px solid var(--surface2); padding-bottom:8px; align-items:center; }
    .sub-comment-box { margin-left: 24px; padding-left: 16px; border-left: 2px solid var(--surface2); margin-top: 12px; }
    .btn-action-sm { background:none; border:none; cursor:pointer; font-size:0.85rem; color:var(--text2); display:flex; align-items:center; gap:4px; padding:4px 8px; border-radius:12px; transition:0.2s; font-weight:600; }
    .btn-action-sm:hover { color:var(--accent); background:var(--surface2); }
    .btn-action-sm.danger:hover { color:var(--danger); background:rgba(231,76,60,0.1); }
    .btn-like { background:var(--surface2); border:none; color:var(--text2); cursor:pointer; font-size:0.9rem; display:flex; align-items:center; gap:6px; transition:0.2s; padding:6px 12px; border-radius:20px; }
    .btn-like.liked { color:var(--accent3); background:rgba(253,121,168,0.15); font-weight:700; }
    .topic-mod-select { padding:4px 8px; border-radius:8px; border:1px solid var(--glass-border); background:var(--surface2); color:var(--text); font-size:0.8rem; font-weight:600; outline:none; cursor:pointer; }

    /* ========================================================
       BLOG PREMIUM (DARK & GOLD - FIEL À IMAGEM)
       ======================================================== */
    .blog-wrapper { background-color: var(--blog-bg); color: var(--blog-text); min-height: 100vh; padding-top: 100px; padding-bottom: 60px; font-family: 'Inter', sans-serif; }
    .blog-container { max-width: 1200px; margin: 0 auto; padding: 0 24px; }
    .blog-gold-text { color: var(--blog-gold); }
    .blog-bg-gold { background: var(--blog-gold); color: #000; }
    .blog-card { background: var(--blog-surface); border: 1px solid var(--blog-border); border-radius: 20px; transition: 0.3s; }
    
    .blog-hero-wrap { display: flex; flex-wrap: wrap; gap: 40px; margin-bottom: 40px; align-items: center; }
    .blog-hero-main { flex: 1; min-width: 300px; }
    .blog-hero-main h1 { font-size: 3.5rem; font-weight: 800; line-height: 1.1; margin-bottom: 16px; }
    .blog-hero-main p { color: var(--blog-text2); font-size: 1.1rem; max-width: 500px; margin-bottom: 30px; }
    .blog-search-bar { display: flex; background: var(--blog-surface2); border: 1px solid var(--blog-border); border-radius: 50px; padding: 8px 8px 8px 24px; max-width: 500px; margin-bottom: 24px; align-items: center; }
    .blog-search-bar input { flex: 1; background: transparent; border: none; color: var(--blog-text); outline: none; font-size: 0.95rem; }
    .blog-search-bar input::placeholder { color: var(--blog-text2); }
    .blog-search-btn { background: var(--blog-gold); color: #000; border: none; padding: 10px 24px; border-radius: 50px; font-weight: 700; cursor: pointer; transition: 0.2s; }
    .blog-search-btn:hover { background: var(--blog-gold-light); }
    .blog-tags { display: flex; gap: 12px; align-items: center; flex-wrap: wrap; }
    .blog-tags span { color: var(--blog-text2); font-size: 0.85rem; }
    .blog-tag { border: 1px solid var(--blog-border); padding: 4px 16px; border-radius: 50px; font-size: 0.8rem; color: var(--blog-text); cursor: pointer; transition: 0.2s; }
    .blog-tag:hover { border-color: var(--blog-gold); color: var(--blog-gold); }

    .blog-newsletter-card { background: var(--blog-surface); border: 1px solid var(--blog-border); border-radius: 20px; padding: 32px; width: 340px; box-shadow: 0 20px 40px rgba(0,0,0,0.5); }
    .blog-news-icon { width: 48px; height: 48px; background: rgba(212,175,55,0.15); color: var(--blog-gold); border-radius: 50%; display: flex; justify-content: center; align-items: center; font-size: 1.2rem; margin-bottom: 20px; }
    .blog-newsletter-card h3 { font-size: 1.4rem; font-weight: 700; margin-bottom: 12px; }
    .blog-newsletter-card p { color: var(--blog-text2); font-size: 0.9rem; margin-bottom: 24px; }
    .blog-newsletter-card input { width: 100%; background: var(--blog-surface2); border: 1px solid var(--blog-border); padding: 14px; border-radius: 12px; color: #fff; margin-bottom: 16px; outline:none; }
    .blog-newsletter-card button { width: 100%; background: var(--blog-gold); color: #000; border: none; padding: 14px; border-radius: 12px; font-weight: 700; cursor: pointer; transition: 0.2s; }
    .blog-newsletter-card button:hover { background: var(--blog-gold-light); }

    .blog-cat-bar { display: flex; gap: 16px; overflow-x: auto; padding-bottom: 16px; margin-bottom: 40px; border-bottom: 1px solid var(--blog-border); scrollbar-width: none; }
    .blog-cat-bar::-webkit-scrollbar { display: none; }
    .blog-cat-item { display: flex; align-items: center; gap: 12px; min-width: max-content; cursor: pointer; padding: 12px 20px; border-radius: 16px; transition: 0.3s; border: 1px solid transparent; }
    .blog-cat-item:hover { background: var(--blog-surface2); }
    .blog-cat-item.active { border-color: var(--blog-gold); background: rgba(212,175,55,0.05); }
    .blog-cat-item .cat-icon { font-size: 1.4rem; color: var(--blog-gold); }
    .blog-cat-item .cat-info h4 { font-size: 0.9rem; margin-bottom: 2px; color: var(--blog-text); }
    .blog-cat-item .cat-info span { font-size: 0.75rem; color: var(--blog-text2); }

    .blog-layout { display: grid; grid-template-columns: 1fr 340px; gap: 40px; }
    @media (max-width: 900px) { .blog-layout { grid-template-columns: 1fr; } .blog-newsletter-card { width: 100%; } }

    .blog-featured { position: relative; border-radius: 24px; overflow: hidden; height: 400px; display: flex; align-items: flex-end; padding: 40px; margin-bottom: 40px; text-decoration: none; color: #fff; border: 1px solid var(--blog-border); }
    .blog-featured::before { content: ''; position: absolute; inset: 0; background: linear-gradient(to top, rgba(11,12,16,1) 0%, rgba(11,12,16,0.3) 100%); z-index: 1; }
    .blog-featured-bg { position: absolute; inset: 0; background-size: cover; background-position: center; transition: 0.5s; }
    .blog-featured:hover .blog-featured-bg { transform: scale(1.05); }
    .blog-featured-content { position: relative; z-index: 2; max-width: 600px; }
    .blog-badge { background: var(--blog-gold); color: #000; font-size: 0.7rem; font-weight: 800; padding: 4px 12px; border-radius: 8px; text-transform: uppercase; margin-bottom: 16px; display: inline-block; }
    .blog-featured-content h2 { font-size: 2.2rem; font-weight: 800; line-height: 1.2; margin-bottom: 12px; }
    .blog-featured-content p { color: #cbd5e1; font-size: 1rem; margin-bottom: 20px; }
    .blog-meta { display: flex; align-items: center; gap: 12px; font-size: 0.85rem; color: #94a3b8; }
    .blog-meta-author { display: flex; align-items: center; gap: 8px; }
    .blog-meta-author img { width: 24px; height: 24px; border-radius: 50%; }

    .blog-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 24px; }
    .blog-post-card { background: var(--blog-surface); border: 1px solid var(--blog-border); border-radius: 20px; overflow: hidden; transition: 0.3s; cursor: pointer; display: flex; flex-direction: column; }
    .blog-post-card:hover { transform: translateY(-5px); border-color: rgba(212,175,55,0.3); box-shadow: 0 10px 30px rgba(0,0,0,0.5); }
    .blog-post-img { height: 180px; background-size: cover; background-position: center; position: relative; border-bottom: 1px solid var(--blog-border); }
    .blog-post-body { padding: 20px; flex: 1; display: flex; flex-direction: column; }
    .blog-post-cat { font-size: 0.65rem; font-weight: 700; color: var(--blog-gold); text-transform: uppercase; margin-bottom: 8px; letter-spacing: 0.5px; }
    .blog-post-title { font-size: 1.1rem; font-weight: 700; color: var(--blog-text); margin-bottom: 8px; line-height: 1.3; }
    .blog-post-desc { font-size: 0.85rem; color: var(--blog-text2); margin-bottom: 16px; flex: 1; }
    .blog-post-footer { display: flex; align-items: center; justify-content: space-between; padding-top: 16px; border-top: 1px solid var(--blog-border); font-size: 0.75rem; color: var(--blog-text2); }

    .blog-sidebar { display: flex; flex-direction: column; gap: 24px; }
    .blog-side-box { background: var(--blog-surface); border: 1px solid var(--blog-border); border-radius: 20px; padding: 24px; }
    .blog-side-box h3 { font-size: 1.2rem; font-weight: 700; margin-bottom: 20px; color: var(--blog-text); }
    .blog-popular-item { display: flex; gap: 16px; margin-bottom: 16px; cursor: pointer; align-items: center; transition: 0.2s; }
    .blog-popular-item:hover h4 { color: var(--blog-gold); }
    .blog-popular-item:last-child { margin-bottom: 0; }
    .blog-pop-num { width: 32px; height: 32px; border-radius: 50%; background: var(--blog-surface2); display: flex; align-items: center; justify-content: center; font-weight: 800; color: var(--blog-text); border: 1px solid var(--blog-border); flex-shrink: 0; }
    .blog-pop-content h4 { font-size: 0.9rem; font-weight: 600; line-height: 1.3; margin-bottom: 4px; color: var(--blog-text); }
    .blog-pop-content span { font-size: 0.75rem; color: var(--blog-text2); }

    .blog-cat-list-item { display: flex; align-items: center; gap: 12px; padding: 12px 0; border-bottom: 1px solid var(--blog-border); cursor: pointer; transition: 0.2s; }
    .blog-cat-list-item:hover { padding-left: 8px; color: var(--blog-gold); }
    .blog-cat-list-item:last-child { border-bottom: none; }
    .blog-cat-list-item i { font-size: 1.2rem; color: var(--blog-gold); width: 24px; text-align: center; }
    .blog-cat-list-item div h5 { font-size: 0.9rem; font-weight: 600; color: var(--blog-text); }
    .blog-cat-list-item div span { font-size: 0.75rem; color: var(--blog-text2); }

    /* Admin Botão no Blog */
    .btn-blog-admin { background: rgba(255,255,255,0.1); border: 1px solid var(--blog-border); color: #fff; padding: 8px 16px; border-radius: 8px; font-size: 0.8rem; font-weight: 600; cursor: pointer; transition: 0.2s; position: absolute; top: 100px; right: 24px; display: none; z-index: 10; backdrop-filter: blur(5px); }
    .btn-blog-admin:hover { background: var(--blog-gold); color: #000; }

    /* Painel premium do blog - integrado somente ao botão Gerenciar Blog */
    .blog-admin-shell { display:grid; grid-template-columns:220px minmax(0,1fr) 300px; gap:16px; min-height:620px; }
    .blog-admin-sidebar, .blog-admin-card, .blog-admin-side-card { background:linear-gradient(180deg, rgba(255,255,255,0.045), rgba(255,255,255,0.018)); border:1px solid var(--blog-border); border-radius:18px; box-shadow:0 18px 48px rgba(0,0,0,0.22); }
    .blog-admin-sidebar { padding:20px 12px; display:flex; flex-direction:column; gap:10px; }
    .blog-admin-brand { display:flex; align-items:center; gap:12px; padding:6px 10px 18px; }
    .blog-admin-mark, .blog-admin-stat-icon, .blog-admin-quick-icon { width:38px; height:38px; border-radius:14px; display:flex; align-items:center; justify-content:center; color:var(--blog-gold); background:rgba(212,175,55,0.12); border:1px solid rgba(212,175,55,0.25); }
    .blog-admin-nav { display:flex; flex-direction:column; gap:7px; }
    .blog-admin-nav button { display:flex; align-items:center; gap:10px; width:100%; padding:11px 12px; border-radius:12px; border:1px solid transparent; background:transparent; color:var(--blog-text2); cursor:pointer; text-align:left; font-weight:650; transition:0.22s; }
    .blog-admin-nav button:hover { color:var(--blog-gold-light); background:rgba(255,255,255,0.04); }
    .blog-admin-nav button.active { color:var(--blog-gold-light); border-color:rgba(212,175,55,0.65); background:rgba(212,175,55,0.08); box-shadow:inset 0 0 28px rgba(212,175,55,0.04); }
    .blog-admin-profile, .blog-admin-access { margin-top:auto; padding:14px; border-radius:14px; border:1px solid var(--blog-border); background:rgba(255,255,255,0.025); }
    .blog-admin-access { margin-top:10px; color:var(--blog-gold-light); background:rgba(212,175,55,0.07); font-size:0.82rem; }
    .blog-admin-progress { height:5px; border-radius:99px; background:rgba(255,255,255,0.12); overflow:hidden; margin:12px 0 8px; }
    .blog-admin-progress span { display:block; height:100%; width:72%; border-radius:99px; background:linear-gradient(90deg, var(--blog-gold), var(--blog-gold-light)); }
    .blog-admin-main { display:flex; flex-direction:column; gap:16px; min-width:0; }
    .blog-admin-card { padding:22px; }
    .blog-admin-head { display:flex; justify-content:space-between; align-items:flex-start; gap:16px; margin-bottom:20px; }
    .blog-admin-title { font-size:1.65rem; font-weight:850; line-height:1.1; color:var(--blog-text); }
    .blog-admin-muted { color:var(--blog-text2); }
    .blog-admin-stats { display:grid; grid-template-columns:repeat(4, minmax(0,1fr)); gap:14px; }
    .blog-admin-stat { min-height:98px; display:flex; align-items:center; gap:14px; padding:16px; border:1px solid var(--blog-border); border-radius:16px; background:linear-gradient(135deg, rgba(255,255,255,0.05), rgba(255,255,255,0.015)); }
    .blog-admin-stat strong { display:block; color:var(--blog-text); font-size:1.35rem; line-height:1; }
    .blog-admin-stat small { color:#4ade80; display:block; margin-top:6px; }
    .blog-admin-table-wrap { overflow-x:auto; }
    .blog-admin-table { width:100%; min-width:860px; border-collapse:collapse; }
    .blog-admin-table th { padding:11px 10px; text-align:left; font-size:0.72rem; color:#cbd5e1; text-transform:uppercase; background:rgba(255,255,255,0.03); }
    .blog-admin-table td { padding:12px 10px; border-bottom:1px solid var(--blog-border); color:var(--blog-text); font-size:0.86rem; vertical-align:middle; }
    .blog-admin-row-title { display:flex; align-items:center; gap:12px; min-width:250px; }
    .blog-admin-thumb { width:72px; height:52px; flex:0 0 auto; border-radius:10px; background-size:cover; background-position:center; border:1px solid var(--blog-border); }
    .blog-admin-pill { display:inline-flex; align-items:center; gap:5px; padding:4px 9px; border-radius:99px; border:1px solid var(--blog-border); font-size:0.72rem; font-weight:750; white-space:nowrap; }
    .blog-admin-pill.gold { color:var(--blog-gold-light); background:rgba(212,175,55,0.08); border-color:rgba(212,175,55,0.38); }
    .blog-admin-pill.green { color:#86efac; background:rgba(34,197,94,0.1); border-color:rgba(34,197,94,0.35); }
    .blog-admin-pill.gray { color:#cbd5e1; background:rgba(255,255,255,0.06); }
    .blog-admin-pill.red { color:#fca5a5; background:rgba(239,68,68,0.1); border-color:rgba(239,68,68,0.35); }
    .blog-admin-icon-btn { width:34px; height:34px; display:inline-flex; align-items:center; justify-content:center; margin-right:5px; border-radius:10px; border:1px solid var(--blog-border); color:var(--blog-text); background:rgba(255,255,255,0.025); cursor:pointer; transition:0.2s; }
    .blog-admin-icon-btn:hover { color:var(--blog-gold-light); border-color:rgba(212,175,55,0.45); background:rgba(212,175,55,0.08); }
    .blog-admin-grid { display:grid; grid-template-columns:repeat(auto-fit, minmax(190px,1fr)); gap:12px; }
    .blog-admin-entity { padding:14px; border-radius:14px; border:1px solid var(--blog-border); background:rgba(255,255,255,0.025); }
    .blog-admin-toolbar { display:flex; justify-content:space-between; align-items:center; gap:12px; margin-bottom:16px; }
    .blog-admin-side { display:flex; flex-direction:column; gap:16px; }
    .blog-admin-side-card { padding:20px; }
    .blog-admin-chart { width:100%; height:180px; margin-top:12px; }
    .blog-admin-quick { display:grid; grid-template-columns:repeat(4,1fr); gap:10px; margin-top:14px; }
    .blog-admin-quick button { border:0; background:transparent; color:var(--blog-text); font-size:0.72rem; cursor:pointer; display:flex; flex-direction:column; align-items:center; gap:8px; }
    .blog-admin-quick-icon { width:46px; height:46px; font-size:1.1rem; transition:0.2s; }
    .blog-admin-quick button:hover .blog-admin-quick-icon { transform:translateY(-2px); border-color:var(--blog-gold); }
    .blog-admin-form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
    .blog-admin-empty { padding:24px; text-align:center; color:var(--blog-text2); border:1px dashed rgba(255,255,255,0.14); border-radius:14px; }
    @media (max-width:1100px) { .blog-admin-shell { grid-template-columns:1fr; } .blog-admin-side { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); } .blog-admin-stats { grid-template-columns:repeat(2,minmax(0,1fr)); } }
    @media (max-width:700px) { .blog-admin-side, .blog-admin-stats, .blog-admin-form-grid { grid-template-columns:1fr; } .blog-admin-modal { padding:22px 14px!important; } }

    /* Artigo Aberto */
    .blog-article-header { text-align: center; max-width: 800px; margin: 0 auto 40px; padding-top: 40px; }
    .blog-article-header h1 { font-size: 2.8rem; font-weight: 800; line-height: 1.2; margin: 16px 0; }
    .blog-article-cover { width: 100%; height: 450px; background-size: cover; background-position: center; border-radius: 24px; margin-bottom: 40px; border: 1px solid var(--blog-border); }
    .blog-article-content { max-width: 760px; margin: 0 auto; font-size: 1.1rem; line-height: 1.8; color: #cbd5e1; }
    .blog-article-content p { margin-bottom: 24px; }
    .blog-article-content h2, .blog-article-content h3 { color: #fff; margin: 40px 0 16px; font-weight: 700; }
    
    .blog-interaction-bar { max-width: 760px; margin: 40px auto; padding: 20px 0; border-top: 1px solid var(--blog-border); border-bottom: 1px solid var(--blog-border); display: flex; justify-content: space-between; align-items: center; }
    .btn-blog-like { background: transparent; border: 1px solid var(--blog-border); padding: 8px 16px; border-radius: 20px; color: var(--blog-text); cursor: pointer; display: flex; align-items: center; gap: 8px; font-weight: 600; transition: 0.2s; }
    .btn-blog-like:hover { border-color: var(--blog-gold); color: var(--blog-gold); }
    .btn-blog-like.liked { background: rgba(212,175,55,0.1); border-color: var(--blog-gold); color: var(--blog-gold); }

    /* Modais & Forms (mantendo compatibilidade) */
    .locked-wrapper { position: relative; }
    .blurred-content { filter: blur(12px) grayscale(40%); pointer-events: none; user-select: none; opacity: 0.6; }
    .lock-overlay-panel { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); background: var(--glass-bg); backdrop-filter: blur(24px); border: 1px solid var(--glass-border); padding: 40px; border-radius: 24px; text-align: center; box-shadow: 0 30px 60px rgba(0,0,0,0.2); width: 90%; max-width: 420px; z-index: 10; animation: popIn 0.5s cubic-bezier(0.175, 0.885, 0.32, 1.275) forwards; }
    @keyframes popIn { from{opacity:0; transform:translate(-50%, -40%) scale(0.9);} to{opacity:1; transform:translate(-50%, -50%) scale(1);} }
    .lock-icon { font-size: 3rem; margin-bottom: 16px; background: var(--gradient-1); -webkit-background-clip: text; -webkit-text-fill-color: transparent; }
    
    .modal-overlay { position:fixed; inset:0; background:var(--modal-overlay); z-index:2000; display:flex; align-items:center; justify-content:center; backdrop-filter:blur(8px); opacity:0; pointer-events:none; transition:0.35s; }
    .modal-overlay.active { opacity:1; pointer-events:all; }
    .modal { background:var(--surface); border-radius:24px; padding:36px 28px; width:90%; max-width:480px; box-shadow:0 30px 60px rgba(0,0,0,0.3); position:relative; border:1px solid var(--glass-border); transform:translateY(20px); transition:0.35s; max-height:90vh; overflow-y:auto; color:var(--text); }
    .modal-overlay.active .modal { transform:translateY(0); }
    .modal-close { position:absolute; top:14px; right:18px; background:none; border:none; font-size:1.6rem; cursor:pointer; color:var(--text2); }
    .form-group { margin-bottom:16px; text-align:left; }
    .form-group label { display:block; font-weight:600; margin-bottom:6px; font-size:0.9rem; color:var(--text); }
    .form-group input, .form-group textarea, .form-group select { width:100%; padding:12px 16px; border-radius:12px; border:2px solid transparent; background:var(--surface2); color:var(--text); font-family:inherit; outline:none; transition:0.3s; resize:vertical; }
    .form-group input:focus, .form-group textarea:focus, .form-group select:focus { border-color:var(--accent); box-shadow:0 0 0 6px rgba(37,99,235,0.08); }
    
    .admin-stats { display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:16px; margin-bottom:32px; }
    .admin-table-wrap { overflow-x:auto; background:var(--card-bg); border-radius:16px; box-shadow:var(--card-shadow); border:1px solid var(--glass-border); }
    .admin-table { width:100%; border-collapse:collapse; min-width: 600px; }
    .admin-table th, .admin-table td { padding:14px 20px; text-align:left; border-bottom:1px solid var(--surface2); }
    .admin-table th { background:var(--surface2); font-weight:700; color:var(--text2); text-transform:uppercase; font-size:0.8rem; }

    @keyframes fadeInUp { from { opacity:0; transform:translateY(20px); } to { opacity:1; transform:translateY(0); } }
    @keyframes fadeOutDown { from { opacity:1; transform:translateY(0); } to { opacity:0; transform:translateY(20px); } }
    @media (max-width: 768px) {
      .navbar { padding:10px 16px; }
      .menu-hamburger { display:flex; }
      .nav-links { display:none; position:absolute; top:65px; left:50%; transform:translateX(-50%); background:var(--nav-bg); backdrop-filter:blur(20px); border-radius:20px; flex-direction:column; padding:20px; gap:16px; box-shadow:var(--glass-shadow); width:90vw; text-align:center; }
      .nav-links.open { display:flex; }
    }

    #navAdminLink { display:none!important; }
    #navUserBadge { position:relative; padding:0; background:transparent; }
    #navUserBadge > span,
    #navUserBadge > a { display:none!important; }
    .public-account-chip { min-height:34px; display:inline-flex; align-items:center; gap:8px; padding:4px 7px 4px 5px; border:1px solid var(--glass-border); border-radius:999px; background:rgba(255,255,255,0.52); color:var(--text); cursor:pointer; font:inherit; box-shadow:0 10px 26px rgba(0,0,0,0.08); transition:0.24s ease; }
    .dark-mode .public-account-chip { background:rgba(26,26,46,0.78); }
    .public-account-chip:hover,
    #navUserBadge.profile-open .public-account-chip { transform:translateY(-1px); border-color:rgba(139,92,246,0.45); box-shadow:0 14px 32px rgba(37,99,235,0.14); }
    .public-account-avatar,
    .public-profile-avatar { width:28px; height:28px; border-radius:50%; display:inline-flex; align-items:center; justify-content:center; background:linear-gradient(135deg,#1d4ed8,#d4af37); color:#fff; font-size:0.86rem; font-weight:900; overflow:hidden; }
    .public-account-name { max-width:100px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:0.86rem; font-weight:850; }
    .public-account-role { padding:2px 7px; border-radius:999px; background:rgba(139,92,246,0.16); color:#8b5cf6; font-size:0.64rem; font-weight:900; text-transform:uppercase; }
    .public-account-menu-icon { width:28px; height:28px; border-radius:50%; display:inline-flex; flex-direction:column; align-items:center; justify-content:center; gap:3px; background:rgba(15,23,42,0.08); }
    .public-account-menu-icon i { width:12px; height:2px; border-radius:99px; background:currentColor; display:block; }
    .public-profile-menu { position:absolute; top:calc(100% + 12px); right:0; width:min(360px, 92vw); padding:14px; border:1px solid rgba(139,92,246,0.32); border-radius:20px; background:linear-gradient(180deg, rgba(13,16,38,0.96), rgba(5,9,24,0.96)); color:#eef2ff; box-shadow:0 30px 90px rgba(0,0,0,0.46), 0 0 0 1px rgba(255,255,255,0.03) inset; backdrop-filter:blur(22px); opacity:0; pointer-events:none; transform:translateY(-8px) scale(0.98); transition:opacity 0.2s ease, transform 0.2s ease; z-index:3000; text-align:left; }
    #navUserBadge.profile-open .public-profile-menu { opacity:1; pointer-events:auto; transform:translateY(0) scale(1); }
    .public-profile-menu::before { content:''; position:absolute; top:-7px; right:28px; width:13px; height:13px; transform:rotate(45deg); border-left:1px solid rgba(139,92,246,0.32); border-top:1px solid rgba(139,92,246,0.32); background:rgba(13,16,38,0.96); }
    .public-profile-head { position:relative; z-index:1; display:grid; grid-template-columns:54px minmax(0,1fr); gap:12px; align-items:center; padding:10px; border-radius:16px; background:linear-gradient(135deg, rgba(139,92,246,0.18), rgba(37,99,235,0.06)); border:1px solid rgba(255,255,255,0.08); }
    .public-profile-head .public-profile-avatar { width:54px; height:54px; font-size:1.05rem; }
    .public-profile-head strong,
    .public-profile-head small { display:block; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
    .public-profile-head small { color:#aab3cb; font-size:0.76rem; }
    .public-profile-medals { display:flex; align-items:center; gap:8px; padding:12px 4px 8px; }
    .public-profile-medals span { width:30px; height:30px; display:grid; place-items:center; border-radius:50%; background:rgba(250,204,21,0.12); border:1px solid rgba(250,204,21,0.25); box-shadow:0 8px 20px rgba(250,204,21,0.08); }
    .public-profile-complete { width:100%; min-height:38px; padding:0 12px; display:flex; align-items:center; justify-content:space-between; border:1px solid rgba(255,255,255,0.08); border-radius:13px; color:#e5e7eb; background:rgba(255,255,255,0.035); font-weight:750; cursor:pointer; }
    .public-profile-group { display:grid; gap:4px; margin-top:10px; padding-top:10px; border-top:1px solid rgba(255,255,255,0.08); }
    .public-profile-section-title { margin:12px 4px 0; color:#a78bfa; font-size:0.68rem; font-weight:900; text-transform:uppercase; letter-spacing:0.08em; }
    .public-profile-menu-item { width:100%; min-height:36px; display:grid; grid-template-columns:24px minmax(0,1fr) 16px; align-items:center; gap:8px; padding:0 8px; border:0; border-radius:12px; background:transparent; color:#e5e7eb; font:inherit; cursor:pointer; text-align:left; transition:0.18s ease; }
    .public-profile-menu-item span { color:#c4b5fd; }
    .public-profile-menu-item strong { font-size:0.84rem; font-weight:760; }
    .public-profile-menu-item em { color:#7c86a3; font-style:normal; text-align:right; }
    .public-profile-menu-item:hover,
    .public-profile-complete:hover { background:rgba(139,92,246,0.13); color:#fff; transform:translateX(2px); }
    .public-profile-menu-item.danger { color:#f87171; margin-top:8px; }
    .public-profile-menu-item.danger:hover { background:rgba(239,68,68,0.12); color:#fecaca; }
    @media (max-width:768px) {
      .public-profile-menu { right:50%; transform:translate(50%, -8px) scale(0.98); }
      #navUserBadge.profile-open .public-profile-menu { transform:translate(50%, 0) scale(1); }
      .public-account-name { max-width:130px; }
    }

    /* Refinamento do menu de conta, perfil e notificações ao vivo */
    .public-account-avatar,
    .public-profile-avatar,
    .profile-area-avatar,
    .forum-inline-avatar {
      background-size:cover!important;
      background-position:center!important;
    }
    .public-profile-menu {
      max-height:min(720px, calc(100vh - 96px));
      overflow-y:auto;
      overscroll-behavior:contain;
      background:linear-gradient(180deg, rgba(255,255,255,0.96), rgba(244,247,255,0.94));
      color:#182033;
      border-color:rgba(37,99,235,0.16);
      box-shadow:0 30px 90px rgba(15,23,42,0.18), inset 0 1px 0 rgba(255,255,255,0.8);
    }
    .dark-mode .public-profile-menu {
      background:linear-gradient(180deg, rgba(13,16,38,0.96), rgba(5,9,24,0.96));
      color:#eef2ff;
      border-color:rgba(139,92,246,0.32);
      box-shadow:0 30px 90px rgba(0,0,0,0.46), 0 0 0 1px rgba(255,255,255,0.03) inset;
    }
    .public-profile-menu::before { background:rgba(255,255,255,0.96); border-color:rgba(37,99,235,0.16); }
    .dark-mode .public-profile-menu::before { background:rgba(13,16,38,0.96); border-color:rgba(139,92,246,0.32); }
    .public-profile-head {
      background:linear-gradient(135deg, rgba(37,99,235,0.11), rgba(212,175,55,0.08));
      border-color:rgba(37,99,235,0.12);
    }
    .dark-mode .public-profile-head { background:linear-gradient(135deg, rgba(139,92,246,0.18), rgba(37,99,235,0.06)); border-color:rgba(255,255,255,0.08); }
    .public-profile-head small { color:#667085; }
    .dark-mode .public-profile-head small { color:#aab3cb; }
    .public-profile-complete,
    .public-profile-menu-item {
      color:#253047;
      border-radius:14px;
    }
    .dark-mode .public-profile-complete,
    .dark-mode .public-profile-menu-item { color:#e5e7eb; }
    .public-profile-complete { border-color:rgba(37,99,235,0.12); background:rgba(37,99,235,0.04); }
    .dark-mode .public-profile-complete { border-color:rgba(255,255,255,0.08); background:rgba(255,255,255,0.035); }
    .public-profile-menu-item span {
      width:26px;
      height:26px;
      display:grid;
      place-items:center;
      border-radius:10px;
      background:rgba(37,99,235,0.08);
      color:#2563eb;
    }
    .dark-mode .public-profile-menu-item span { background:rgba(139,92,246,0.13); color:#c4b5fd; }
    .public-profile-menu-item svg {
      width:16px;
      height:16px;
      fill:none;
      stroke:currentColor;
      stroke-width:2;
      stroke-linecap:round;
      stroke-linejoin:round;
    }
    .public-profile-menu-item:hover,
    .public-profile-complete:hover {
      background:rgba(37,99,235,0.08);
      color:#0f172a;
    }
    .dark-mode .public-profile-menu-item:hover,
    .dark-mode .public-profile-complete:hover {
      background:rgba(139,92,246,0.13);
      color:#fff;
    }
    .public-profile-section-title { color:#2563eb; }
    .dark-mode .public-profile-section-title { color:#a78bfa; }

    .profile-area-overlay {
      position:fixed;
      inset:0;
      z-index:5000;
      display:flex;
      align-items:center;
      justify-content:center;
      padding:24px;
      background:rgba(15,23,42,0.34);
      backdrop-filter:blur(14px);
      opacity:0;
      pointer-events:none;
      transition:0.24s ease;
    }
    .profile-area-overlay.active { opacity:1; pointer-events:auto; }
    .profile-area-card {
      width:min(720px, 96vw);
      max-height:88vh;
      overflow:auto;
      border-radius:26px;
      padding:24px;
      border:1px solid rgba(37,99,235,0.14);
      background:linear-gradient(180deg, rgba(255,255,255,0.98), rgba(245,248,255,0.96));
      color:#172033;
      box-shadow:0 34px 110px rgba(15,23,42,0.24);
      position:relative;
      transform:translateY(12px) scale(0.98);
      transition:0.24s ease;
    }
    .dark-mode .profile-area-card {
      background:linear-gradient(180deg, rgba(16,20,42,0.98), rgba(6,10,25,0.98));
      color:#f8fafc;
      border-color:rgba(139,92,246,0.28);
    }
    .profile-area-overlay.active .profile-area-card { transform:translateY(0) scale(1); }
    .profile-area-close {
      position:absolute;
      top:14px;
      right:16px;
      border:0;
      background:transparent;
      color:inherit;
      font-size:1.8rem;
      cursor:pointer;
    }
    .profile-area-head {
      display:flex;
      gap:16px;
      align-items:center;
      margin-bottom:18px;
    }
    .profile-area-avatar {
      width:74px;
      height:74px;
      border-radius:50%;
      display:grid;
      place-items:center;
      background:linear-gradient(135deg,#2563eb,#d4af37);
      color:#fff;
      font-weight:900;
      font-size:1.25rem;
      box-shadow:0 18px 36px rgba(37,99,235,0.22);
    }
    .profile-area-head h2 { margin:0; line-height:1.1; }
    .profile-area-head p { color:var(--text2); margin:4px 0 0; }
    .profile-area-grid {
      display:grid;
      grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
      gap:14px;
      margin-bottom:14px;
    }
    .profile-area-panel {
      border:1px solid rgba(37,99,235,0.12);
      border-radius:18px;
      padding:16px;
      background:rgba(37,99,235,0.035);
    }
    .dark-mode .profile-area-panel { border-color:rgba(255,255,255,0.08); background:rgba(255,255,255,0.035); }
    .profile-online-chip {
      display:inline-flex;
      padding:2px 8px;
      border-radius:999px;
      color:#16a34a;
      background:rgba(34,197,94,0.12);
      font-weight:800;
    }
    .profile-area-loading { padding:40px; text-align:center; color:var(--text2); }

    .live-notification-host {
      position:fixed;
      right:22px;
      bottom:22px;
      z-index:5200;
      display:grid;
      gap:10px;
      width:min(360px, calc(100vw - 32px));
      pointer-events:none;
    }
    .live-notification-card {
      pointer-events:auto;
      text-align:left;
      border:1px solid rgba(37,99,235,0.18);
      border-radius:18px;
      padding:14px 16px;
      background:rgba(255,255,255,0.95);
      color:#172033;
      box-shadow:0 20px 50px rgba(15,23,42,0.18);
      backdrop-filter:blur(16px);
      opacity:0;
      transform:translateY(12px);
      transition:0.22s ease;
      cursor:pointer;
    }
    .dark-mode .live-notification-card { background:rgba(14,18,38,0.95); color:#f8fafc; border-color:rgba(139,92,246,0.24); }
    .live-notification-card.show { opacity:1; transform:translateY(0); }
    .live-notification-card strong,
    .live-notification-card span { display:block; }
    .live-notification-card span { color:var(--text2); font-size:0.88rem; margin-top:3px; }

    .forum-inline-avatar {
      width:34px;
      height:34px;
      flex:0 0 34px;
      display:grid;
      place-items:center;
      border-radius:50%;
      background:linear-gradient(135deg,#2563eb,#60a5fa);
      color:#fff;
      font-size:0.76rem;
      font-weight:900;
      cursor:pointer;
    }
    .blog-author-chip {
      display:inline-flex;
      align-items:center;
      gap:8px;
      cursor:pointer;
    }
    .blog-author-avatar {
      width:26px;
      height:26px;
      display:grid;
      place-items:center;
      border-radius:50%;
      background:linear-gradient(135deg, var(--blog-gold), #8b5cf6);
      background-size:cover;
      background-position:center;
      color:#111827;
      font-size:0.68rem;
      font-weight:900;
      border:1px solid rgba(255,255,255,0.12);
    }

    body:not(.dark-mode) #page-forum .container { max-width:1320px; }
    body:not(.dark-mode) #page-forum .frm-header-wrap {
      align-items:flex-start;
      margin-bottom:34px;
    }
    body:not(.dark-mode) #page-forum .frm-header-title {
      font-size:clamp(2.15rem, 4vw, 3rem);
      letter-spacing:-0.04em;
      color:#1a1a2e;
    }
    body:not(.dark-mode) #page-forum .frm-header-sub {
      font-size:1.12rem;
      color:#61616b;
    }
    body:not(.dark-mode) #page-forum .frm-header-wrap .btn-primary {
      min-width:210px;
      min-height:56px;
      border-radius:999px;
      font-size:1.08rem;
      box-shadow:0 18px 44px rgba(37,99,235,0.28);
    }
    body:not(.dark-mode) #page-forum .frm-stats-grid {
      grid-template-columns:repeat(4, minmax(190px, 1fr));
      gap:20px;
      margin-bottom:38px;
    }
    body:not(.dark-mode) #page-forum .frm-stat-card {
      min-height:108px;
      border:0;
      border-radius:22px;
      padding:22px;
      background:#fff;
      box-shadow:0 20px 54px rgba(15,23,42,0.08);
    }
    body:not(.dark-mode) #page-forum .frm-stat-icon {
      width:60px;
      height:60px;
      border-radius:18px;
    }
    body:not(.dark-mode) #page-forum .frm-pinned-banner {
      min-height:224px;
      border-radius:28px;
      padding:30px 38px;
      background:linear-gradient(135deg, #253f9e 0%, #33318f 100%);
      box-shadow:0 28px 70px rgba(37,99,235,0.24);
    }
    body:not(.dark-mode) #page-forum .frm-pinned-icon {
      width:68px;
      height:68px;
      border-radius:20px;
    }
    body:not(.dark-mode) #page-forum .frm-pinned-banner h3 {
      font-size:1.85rem!important;
      line-height:1.12;
    }
    body:not(.dark-mode) #page-forum .frm-cat-grid {
      gap:22px;
    }
    body:not(.dark-mode) #page-forum .frm-cat-card {
      min-height:132px;
      border:0;
      border-radius:26px;
      padding:26px;
      background:#fff;
      box-shadow:0 20px 54px rgba(15,23,42,0.07);
    }
    body:not(.dark-mode) #page-forum .frm-cat-icon {
      width:66px;
      height:66px;
      border-radius:20px;
    }
    body:not(.dark-mode) #page-forum .frm-cat-card h4 {
      font-size:1.22rem!important;
      line-height:1.15;
    }
    body:not(.dark-mode) #page-forum .frm-list-container {
      min-height:84px;
      display:grid;
      align-items:center;
      border:0;
      border-radius:26px;
      background:#fff;
      box-shadow:0 20px 54px rgba(15,23,42,0.06);
    }
    @media (max-width:980px) {
      body:not(.dark-mode) #page-forum .frm-stats-grid { grid-template-columns:repeat(2, minmax(0,1fr)); }
    }
    @media (max-width:640px) {
      body:not(.dark-mode) #page-forum .frm-stats-grid,
      body:not(.dark-mode) #page-forum .frm-cat-grid { grid-template-columns:1fr; }
    }

    /* Correções finais do fórum em modo claro: mantém o mesmo alinhamento do modo escuro. */
    body:not(.dark-mode) #page-forum .container {
      max-width:1100px;
      padding-inline:24px;
    }
    body:not(.dark-mode) #page-forum .frm-header-wrap {
      align-items:center;
      margin-bottom:30px;
    }
    body:not(.dark-mode) #page-forum .frm-header-title {
      font-size:2rem;
      letter-spacing:-1px;
    }
    body:not(.dark-mode) #page-forum .frm-header-sub {
      font-size:0.95rem;
    }
    body:not(.dark-mode) #page-forum .frm-header-wrap .btn-primary {
      min-width:auto;
      min-height:auto;
      padding:14px 32px;
      font-size:0.95rem;
    }
    body:not(.dark-mode) #page-forum .frm-stats-grid {
      grid-template-columns:repeat(auto-fit, minmax(220px, 1fr));
      gap:16px;
      margin-bottom:30px;
    }
    body:not(.dark-mode) #page-forum .frm-stat-card {
      min-height:0;
      border:1px solid rgba(37,99,235,0.08);
      border-radius:20px;
      padding:16px;
    }
    body:not(.dark-mode) #page-forum .frm-stat-icon {
      width:48px;
      height:48px;
      border-radius:14px;
      color:inherit;
    }
    body:not(.dark-mode) #page-forum .frm-stat-icon svg,
    body:not(.dark-mode) #page-forum .frm-cat-icon svg,
    body:not(.dark-mode) #page-forum .frm-pinned-icon svg,
    body:not(.dark-mode) #page-forum .frm-pinned-badge svg,
    body:not(.dark-mode) #page-forum .frm-item-stat svg {
      width:1em;
      height:1em;
      display:block;
    }
    body:not(.dark-mode) #page-forum .frm-pinned-banner {
      min-height:0;
      border-radius:24px;
      padding:24px 30px;
    }
    body:not(.dark-mode) #page-forum .frm-pinned-icon {
      width:54px;
      height:54px;
      border-radius:16px;
    }
    body:not(.dark-mode) #page-forum .frm-pinned-banner h3 {
      font-size:1.4rem!important;
      line-height:1.2;
    }
    body:not(.dark-mode) #page-forum .frm-cat-grid {
      gap:16px;
    }
    body:not(.dark-mode) #page-forum .frm-cat-card {
      min-height:0;
      border:1px solid rgba(37,99,235,0.08);
      border-radius:20px;
      padding:20px;
      align-items:center;
    }
    body:not(.dark-mode) #page-forum .frm-cat-icon {
      width:52px;
      height:52px;
      border-radius:16px;
    }
    body:not(.dark-mode) #page-forum .frm-cat-card h4 {
      font-size:1rem!important;
    }
    body:not(.dark-mode) #page-forum .frm-list-container {
      min-height:0;
      display:block;
      border:1px solid rgba(37,99,235,0.08);
      border-radius:24px;
    }

/* ========================================================
   PLATAFORMA DE CURSOS — REDESIGN PREMIUM CLEAN
   ======================================================== */
.platform-premium-page {
  background:
    radial-gradient(circle at top center, rgba(245, 188, 92, 0.08), transparent 28%),
    radial-gradient(circle at 80% 10%, rgba(37, 99, 235, 0.12), transparent 26%),
    linear-gradient(180deg, #040913 0%, #07111f 45%, #060b13 100%);
  color: #f5f7fb;
}
.platform-premium-page #particles-canvas { opacity: 0.18; }
.platform-premium-page .page-section { padding-top: 116px; }
.platform-premium-page .container { max-width: 1520px; padding: 0 28px; }
.platform-premium-page .navbar {
  width: calc(100vw - 40px);
  max-width: 1760px;
  top: 10px;
  padding: 14px 18px;
  border-radius: 22px;
  background: rgba(6, 12, 22, 0.86);
  border: 1px solid rgba(224, 190, 114, 0.10);
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.35);
}
.platform-premium-page .navbar.scrolled { top: 8px; }
.platform-premium-page .nav-logo {
  font-size: 1.2rem;
  font-weight: 800;
  background: linear-gradient(135deg, #f8e1a4, #d5a954 60%, #f4d58d);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
.platform-premium-page .nav-links { gap: 12px; }
.platform-premium-page .nav-links a {
  color: rgba(236, 240, 248, 0.92);
  font-size: 0.98rem;
  padding: 8px 10px 10px;
}
.platform-premium-page .nav-links a::after {
  background: linear-gradient(90deg, #e0b85f, #f7d88d);
  height: 2px;
}
.platform-premium-page .nav-links a.active-link,
.platform-premium-page .nav-links a:hover { color: #fff4d5; }
.platform-premium-page .theme-toggle {
  background: rgba(255,255,255,0.08);
  border: 1px solid rgba(255,255,255,0.06);
}
.platform-premium-page .menu-hamburger span { background: rgba(255,255,255,0.85); }
.platform-premium-page .user-badge,
.platform-premium-page .pcx-top-user-badge {
  display: inline-flex !important;
  align-items: center;
  gap: 10px;
  padding: 8px 14px;
  border-radius: 18px;
  background: linear-gradient(180deg, rgba(21, 31, 53, 0.95), rgba(11, 18, 34, 0.95));
  border: 1px solid rgba(232, 196, 109, 0.12);
}
.platform-premium-page .user-badge span,
.platform-premium-page #navUserName {
  background: none !important;
  -webkit-text-fill-color: initial !important;
  color: #ffffff !important;
  font-weight: 700;
}
.platform-premium-page .pcx-shell { display: flex; flex-direction: column; gap: 22px; }
.platform-premium-page .pcx-layout-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.9fr) 410px;
  gap: 24px;
  align-items: start;
}
.platform-premium-page .pcx-main-col,
.platform-premium-page .pcx-side-col { display: flex; flex-direction: column; gap: 22px; }
.platform-premium-page .pcx-category-row {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  margin-bottom: 4px;
}
.platform-premium-page .pcx-category-pill {
  border: 1px solid rgba(255,255,255,0.08);
  background: rgba(14, 22, 38, 0.82);
  color: rgba(239,242,248,0.82);
  height: 40px;
  padding: 0 18px;
  border-radius: 999px;
  font-weight: 600;
  cursor: pointer;
  transition: 0.28s ease;
}
.platform-premium-page .pcx-category-pill.active,
.platform-premium-page .pcx-category-pill:hover {
  color: #1b1302;
  background: linear-gradient(180deg, #f2d089 0%, #d8a84b 100%);
  border-color: rgba(255,255,255,0.14);
}
.platform-premium-page .pcx-spotlight,
.platform-premium-page .pcx-side-card,
.platform-premium-page .pcx-modules-card,
.platform-premium-page .pcx-courses-grid-card,
.platform-premium-page .pcx-detail-hero,
.platform-premium-page .pcx-player-card,
.platform-premium-page .pcx-content-card {
  background: linear-gradient(180deg, rgba(11, 18, 33, 0.96) 0%, rgba(8, 13, 24, 0.96) 100%);
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 24px;
  box-shadow: 0 24px 48px rgba(0,0,0,0.26);
}
.platform-premium-page .pcx-spotlight {
  min-height: 520px;
  display: grid;
  grid-template-columns: minmax(380px, 0.95fr) minmax(0, 1.15fr);
  overflow: hidden;
}
.platform-premium-page .pcx-spotlight__copy {
  padding: 56px 48px 34px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.platform-premium-page .pcx-eyebrow {
  letter-spacing: 0.22em;
  text-transform: uppercase;
  font-size: 0.95rem;
  color: rgba(255,255,255,0.62);
  margin-bottom: 16px;
}
.platform-premium-page .pcx-spotlight h1,
.platform-premium-page .pcx-detail-hero h1 {
  font-size: clamp(2.8rem, 4vw, 4.7rem);
  line-height: 0.95;
  margin-bottom: 18px;
  font-weight: 700;
  color: #e7be71;
  font-family: Georgia, 'Times New Roman', serif;
}
.platform-premium-page .pcx-spotlight p,
.platform-premium-page .pcx-detail-hero p {
  max-width: 560px;
  color: rgba(235, 239, 246, 0.86);
  font-size: 1.15rem;
  margin-bottom: 28px;
}
.platform-premium-page .pcx-spotlight__actions,
.platform-premium-page .pcx-player-actions { display: flex; gap: 14px; flex-wrap: wrap; align-items: center; }
.platform-premium-page .pcx-btn {
  border: none;
  border-radius: 18px;
  min-height: 56px;
  padding: 0 28px;
  font-size: 1rem;
  font-weight: 700;
  cursor: pointer;
  transition: transform 0.28s ease, box-shadow 0.28s ease, background 0.28s ease;
}
.platform-premium-page .pcx-btn:hover { transform: translateY(-2px); }
.platform-premium-page .pcx-btn--primary {
  background: linear-gradient(180deg, #f4cd82 0%, #d7a349 100%);
  color: #241607;
  box-shadow: 0 16px 34px rgba(215, 163, 73, 0.24);
}
.platform-premium-page .pcx-btn--ghost {
  background: rgba(255,255,255,0.03);
  color: #eef2fa;
  border: 1px solid rgba(255,255,255,0.12);
}
.platform-premium-page .pcx-progress-head,
.platform-premium-page .pcx-section-head,
.platform-premium-page .pcx-side-card__header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 14px;
}
.platform-premium-page .pcx-progress-head {
  margin-top: 28px;
  margin-bottom: 10px;
  color: rgba(255,255,255,0.82);
}
.platform-premium-page .pcx-progress-head strong { color: #f0cb79; }
.platform-premium-page .pcx-progress-bar {
  height: 7px;
  width: 100%;
  background: rgba(255,255,255,0.11);
  border-radius: 999px;
  overflow: hidden;
}
.platform-premium-page .pcx-progress-bar.small { height: 6px; }
.platform-premium-page .pcx-progress-bar span {
  display: block;
  height: 100%;
  background: linear-gradient(90deg, #f3d48f, #d5a752);
  border-radius: inherit;
}
.platform-premium-page .pcx-spotlight__meta {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
  margin-top: 30px;
}
.platform-premium-page .pcx-spotlight__meta div {
  padding: 14px 0 0;
  border-top: 1px solid rgba(255,255,255,0.08);
}
.platform-premium-page .pcx-spotlight__meta strong { display: block; font-size: 1.4rem; color: #fff; }
.platform-premium-page .pcx-spotlight__meta span { color: rgba(255,255,255,0.62); font-size: 0.95rem; }
.platform-premium-page .pcx-spotlight__media {
  position: relative;
  min-height: 100%;
  background-size: cover;
  background-position: center;
}
.platform-premium-page .pcx-spotlight__overlay {
  position: absolute; inset: 0;
  background:
    radial-gradient(circle at center, rgba(250, 204, 110, 0.08) 0%, rgba(0,0,0,0) 38%),
    linear-gradient(90deg, rgba(5, 8, 16, 0.03), rgba(5, 8, 16, 0.45));
}
.platform-premium-page .pcx-spotlight__dots {
  position: absolute;
  left: 50%;
  bottom: 18px;
  transform: translateX(-50%);
  display: flex; gap: 9px;
}
.platform-premium-page .pcx-dot {
  width: 9px; height: 9px; border-radius: 999px;
  background: rgba(255,255,255,0.35);
}
.platform-premium-page .pcx-dot.active { width: 28px; background: #fff; }
.platform-premium-page .pcx-side-card { padding: 28px; }
.platform-premium-page .pcx-side-card__header h3,
.platform-premium-page .pcx-section-head h2,
.platform-premium-page .pcx-content-card h2 {
  font-size: 1.12rem;
  color: #f8fbff;
}
.platform-premium-page .pcx-section-head p,
.platform-premium-page .pcx-content-card p,
.platform-premium-page .pcx-side-card__header a,
.platform-premium-page .pcx-section-actions span {
  color: rgba(236, 241, 249, 0.72);
}
.platform-premium-page .pcx-section-actions { display: flex; align-items: center; gap: 14px; }
.platform-premium-page .pcx-pill-button,
.platform-premium-page .pcx-chip-action,
.platform-premium-page .pcx-inline-action {
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  color: rgba(255,255,255,0.92);
  border-radius: 18px;
  padding: 11px 16px;
  text-decoration: none;
  font-weight: 600;
  cursor: pointer;
}
.platform-premium-page .pcx-inline-action {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  margin-top: 16px;
}
.platform-premium-page .pcx-progress-overview {
  display: grid;
  grid-template-columns: 160px 1fr;
  gap: 20px;
  align-items: center;
}
.platform-premium-page .pcx-progress-ring {
  --pct: 0;
  width: 142px;
  height: 142px;
  border-radius: 50%;
  background: conic-gradient(#e0b960 calc(var(--pct) * 1%), rgba(255,255,255,0.06) 0);
  display: grid;
  place-items: center;
  margin: 0 auto;
  box-shadow: inset 0 0 0 10px rgba(255,255,255,0.02);
}
.platform-premium-page .pcx-progress-ring__inner {
  width: 110px;
  height: 110px;
  border-radius: 50%;
  background: linear-gradient(180deg, #0b1221, #09101c);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 2px;
}
.platform-premium-page .pcx-progress-ring__inner strong { font-size: 2.1rem; color: #f3ca77; }
.platform-premium-page .pcx-progress-ring__inner span { color: rgba(255,255,255,0.64); font-size: 0.85rem; }
.platform-premium-page .pcx-progress-list { display: grid; gap: 16px; }
.platform-premium-page .pcx-progress-list div {
  display: flex; justify-content: space-between; gap: 14px;
  color: rgba(240,244,251,0.78); border-bottom: 1px solid rgba(255,255,255,0.06); padding-bottom: 10px;
}
.platform-premium-page .pcx-progress-list div:last-child { border-bottom: none; padding-bottom: 0; }
.platform-premium-page .pcx-progress-list strong { color: #fff; font-size: 1.1rem; }
.platform-premium-page .pcx-upcoming-list,
.platform-premium-page .pcx-achievement-list,
.platform-premium-page .pcx-outline-list,
.platform-premium-page .pcx-materials-list { display: flex; flex-direction: column; gap: 14px; margin-top: 18px; }
.platform-premium-page .pcx-upcoming-item,
.platform-premium-page .pcx-achievement-item,
.platform-premium-page .pcx-material-item {
  width: 100%;
  background: rgba(255,255,255,0.03);
  border: 1px solid rgba(255,255,255,0.06);
  border-radius: 18px;
}
.platform-premium-page .pcx-upcoming-item {
  display: grid;
  grid-template-columns: 84px minmax(0, 1fr) 72px;
  gap: 16px;
  align-items: center;
  padding: 12px;
  cursor: pointer;
  text-align: left;
}
.platform-premium-page .pcx-upcoming-thumb {
  height: 70px; border-radius: 14px; background-size: cover; background-position: center;
}
.platform-premium-page .pcx-upcoming-copy strong,
.platform-premium-page .pcx-achievement-copy strong,
.platform-premium-page .pcx-course-card h3,
.platform-premium-page .pcx-module-copy strong,
.platform-premium-page .pcx-lesson-copy strong,
.platform-premium-page .pcx-outline-module strong,
.platform-premium-page .pcx-material-item strong { display: block; color: #fff; }
.platform-premium-page .pcx-upcoming-copy span,
.platform-premium-page .pcx-upcoming-copy small,
.platform-premium-page .pcx-achievement-copy span,
.platform-premium-page .pcx-course-card p,
.platform-premium-page .pcx-module-copy span,
.platform-premium-page .pcx-lesson-copy span,
.platform-premium-page .pcx-outline-lesson small,
.platform-premium-page .pcx-material-item span,
.platform-premium-page .pcx-empty-copy {
  color: rgba(236,241,249,0.66);
}
.platform-premium-page .pcx-upcoming-time { text-align: right; color: #fff; }
.platform-premium-page .pcx-upcoming-time small { display: block; color: rgba(236,241,249,0.62); }
.platform-premium-page .pcx-achievement-item {
  display: grid; grid-template-columns: 56px minmax(0,1fr) auto; gap: 14px; align-items: center; padding: 12px;
}
.platform-premium-page .pcx-achievement-icon {
  width: 56px; height: 56px; border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  background: radial-gradient(circle at 30% 30%, #b273ff, #5b2fb3);
  color: #fff; font-size: 1.2rem; font-weight: 700;
}
.platform-premium-page .pcx-achievement-xp { color: #f0cb76; font-weight: 700; }
.platform-premium-page .pcx-modules-card,
.platform-premium-page .pcx-courses-grid-card,
.platform-premium-page .pcx-content-card { padding: 24px; }
.platform-premium-page .pcx-module-list { display: flex; flex-direction: column; gap: 12px; margin-top: 18px; }
.platform-premium-page .pcx-module-item {
  background: rgba(255,255,255,0.03);
  border: 1px solid rgba(255,255,255,0.06);
  border-radius: 18px;
  overflow: hidden;
}
.platform-premium-page .pcx-module-toggle {
  width: 100%; background: transparent; border: 0; color: #fff; padding: 16px 18px; cursor: pointer;
  display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 20px; align-items: center; text-align: left;
}
.platform-premium-page .pcx-module-leading { display: flex; align-items: center; gap: 16px; min-width: 0; }
.platform-premium-page .pcx-module-thumb {
  width: 58px; height: 58px; border-radius: 14px; background-size: cover; background-position: center;
  border: 1px solid rgba(255,255,255,0.08); flex-shrink: 0;
}
.platform-premium-page .pcx-module-index { font-size: 2rem; font-weight: 300; color: #efc66d; min-width: 38px; }
.platform-premium-page .pcx-module-copy { min-width: 0; }
.platform-premium-page .pcx-module-copy span,
.platform-premium-page .pcx-course-card p { margin-top: 4px; display: block; }
.platform-premium-page .pcx-module-trailing {
  display: grid; grid-template-columns: auto 1fr auto auto; gap: 14px; align-items: center;
}
.platform-premium-page .pcx-module-progress-copy,
.platform-premium-page .pcx-module-percent { color: rgba(255,255,255,0.82); font-weight: 600; }
.platform-premium-page .pcx-module-progress-bar {
  height: 5px; border-radius: 999px; background: rgba(255,255,255,0.12); overflow: hidden;
}
.platform-premium-page .pcx-module-progress-bar span { display: block; height: 100%; background: linear-gradient(90deg, #f2d48e, #d8a950); }
.platform-premium-page .pcx-module-chevron { font-size: 1.1rem; transition: transform 0.2s ease; }
.platform-premium-page .pcx-module-item.is-open .pcx-module-chevron { transform: rotate(180deg); }
.platform-premium-page .pcx-module-lessons { padding: 0 14px 14px; }
.platform-premium-page .pcx-lesson-row,
.platform-premium-page .pcx-outline-lesson {
  width: 100%;
  border: 0;
  border-radius: 14px;
  background: rgba(255,255,255,0.03);
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr) auto;
  gap: 14px;
  align-items: center;
  padding: 13px 14px;
  cursor: pointer;
  color: #fff;
  text-align: left;
}
.platform-premium-page .pcx-lesson-row + .pcx-lesson-row { margin-top: 10px; }
.platform-premium-page .pcx-lesson-row:hover,
.platform-premium-page .pcx-outline-lesson:hover,
.platform-premium-page .pcx-course-card:hover,
.platform-premium-page .pcx-upcoming-item:hover,
.platform-premium-page .pcx-achievement-item:hover,
.platform-premium-page .pcx-material-item:hover {
  border-color: rgba(224, 184, 95, 0.18);
  transform: translateY(-2px);
}
.platform-premium-page .pcx-lesson-state {
  width: 42px; height: 42px; border-radius: 12px;
  display: flex; align-items: center; justify-content: center;
  background: rgba(255,255,255,0.05); color: #f2ca75; font-weight: 800;
}
.platform-premium-page .pcx-lesson-row.is-completed .pcx-lesson-state,
.platform-premium-page .pcx-outline-lesson.is-completed span {
  background: rgba(79, 199, 130, 0.14);
  color: #6ef7a1;
}
.platform-premium-page .pcx-lesson-meta {
  text-align: right; display: flex; flex-direction: column; gap: 4px;
}
.platform-premium-page .pcx-lesson-meta small { color: #efc76f; }
.platform-premium-page .pcx-courses-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; margin-top: 18px; }
.platform-premium-page .pcx-course-card {
  background: rgba(255,255,255,0.03);
  border: 1px solid rgba(255,255,255,0.06);
  border-radius: 20px;
  overflow: hidden;
  transition: 0.28s ease;
}
.platform-premium-page .pcx-course-card.is-active { border-color: rgba(224, 184, 95, 0.28); }
.platform-premium-page .pcx-course-card__media {
  width: 100%; height: 190px; border: 0; cursor: pointer;
  background-size: cover; background-position: center;
  position: relative;
}
.platform-premium-page .pcx-course-pill {
  position: absolute; left: 14px; top: 14px;
  background: rgba(6, 12, 22, 0.84); color: #fff; border-radius: 999px; padding: 8px 12px; font-size: 0.78rem; font-weight: 700;
}
.platform-premium-page .pcx-course-card__body { padding: 18px; display: flex; flex-direction: column; gap: 16px; }
.platform-premium-page .pcx-course-card__foot {
  display: flex; align-items: center; justify-content: space-between; gap: 12px;
}
.platform-premium-page .pcx-course-card__progress { flex: 1; }
.platform-premium-page .pcx-course-card__progress small { margin-top: 6px; display: block; color: rgba(236,241,249,0.66); }
.platform-premium-page .pcx-detail-shell { display: flex; flex-direction: column; gap: 20px; }
.platform-premium-page .pcx-detail-breadcrumb { color: rgba(236,241,249,0.66); font-size: 0.95rem; }
.platform-premium-page .pcx-detail-breadcrumb span { margin: 0 8px; }
.platform-premium-page .pcx-detail-hero { padding: 28px; display: flex; justify-content: space-between; gap: 20px; align-items: flex-start; }
.platform-premium-page .pcx-back-link {
  background: rgba(255,255,255,0.04); border: 1px solid rgba(255,255,255,0.08); color: #fff; border-radius: 14px; padding: 10px 14px; margin-bottom: 18px; cursor: pointer;
}
.platform-premium-page .pcx-detail-stats {
  display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin-top: 22px;
}
.platform-premium-page .pcx-detail-stats div {
  padding: 16px; border-radius: 18px; background: rgba(255,255,255,0.03); border: 1px solid rgba(255,255,255,0.06);
}
.platform-premium-page .pcx-detail-stats strong { display: block; font-size: 1.35rem; color: #fff; }
.platform-premium-page .pcx-detail-stats span { color: rgba(236,241,249,0.66); }
.platform-premium-page .pcx-detail-hero__actions {
  min-width: 220px; display: flex; align-items: center; justify-content: flex-end; gap: 14px;
}
.platform-premium-page .pcx-mini-avatar {
  width: 58px; height: 58px; border-radius: 50%; object-fit: cover; flex-shrink: 0; border: 2px solid rgba(224, 184, 95, 0.38);
}
.platform-premium-page .pcx-mini-avatar--fallback {
  display: flex; align-items: center; justify-content: center; background: linear-gradient(180deg, #f2d086, #d8a850); color: #2b1a08; font-weight: 800;
}
.platform-premium-page .pcx-detail-user-copy strong { display: block; color: #fff; }
.platform-premium-page .pcx-detail-user-copy span { color: rgba(236,241,249,0.66); }
.platform-premium-page .pcx-detail-layout {
  display: grid; grid-template-columns: minmax(0, 1.75fr) 410px; gap: 22px;
}
.platform-premium-page .pcx-detail-main,
.platform-premium-page .pcx-detail-aside { display: flex; flex-direction: column; gap: 20px; }
.platform-premium-page .pcx-player-card { padding: 22px; }
.platform-premium-page .pcx-player-frame,
.platform-premium-page .pcx-player-empty {
  width: 100%; min-height: 500px; border-radius: 22px; overflow: hidden; background: #02050b; border: 1px solid rgba(255,255,255,0.05);
}
.platform-premium-page .pcx-player-empty {
  display: flex; align-items: center; justify-content: center; color: rgba(236,241,249,0.66); padding: 28px; text-align: center;
}
.platform-premium-page .pcx-player-frame iframe,
.platform-premium-page .pcx-player-frame img,
.platform-premium-page .pcx-player-frame video { width: 100%; height: 100%; border: 0; display: block; object-fit: cover; }
.platform-premium-page .pcx-player-toolbar {
  margin-top: 18px;
  display: flex; justify-content: space-between; gap: 20px; align-items: flex-start; flex-wrap: wrap;
}
.platform-premium-page .pcx-player-toolbar h2 { font-size: 1.5rem; color: #fff; margin-bottom: 6px; }
.platform-premium-page .pcx-player-toolbar p,
.platform-premium-page .pcx-player-toolbar small { color: rgba(236,241,249,0.7); }
.platform-premium-page .pcx-circle-btn {
  width: 48px; height: 48px; border-radius: 50%; border: 1px solid rgba(255,255,255,0.08); background: rgba(255,255,255,0.03); color: #fff; cursor: pointer;
}
.platform-premium-page .pcx-circle-btn:disabled { opacity: 0.45; cursor: not-allowed; }
.platform-premium-page .pcx-lesson-richtext,
.platform-premium-page .pcx-lesson-richtext p { color: rgba(240,244,251,0.82); line-height: 1.75; }
.platform-premium-page .pcx-lesson-richtext h1,
.platform-premium-page .pcx-lesson-richtext h2,
.platform-premium-page .pcx-lesson-richtext h3 { color: #fff; margin: 12px 0; }
.platform-premium-page .pcx-material-item {
  display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 16px; text-decoration: none;
}
.platform-premium-page .pcx-outline-module strong { margin-bottom: 8px; }
.platform-premium-page .pcx-outline-lesson {
  grid-template-columns: 24px minmax(0,1fr);
  margin-top: 8px;
}
.platform-premium-page .pcx-outline-lesson.is-current { border: 1px solid rgba(224, 184, 95, 0.28); background: rgba(224,184,95,0.08); }

@media (max-width: 1320px) {
  .platform-premium-page .pcx-layout-grid,
  .platform-premium-page .pcx-detail-layout { grid-template-columns: 1fr; }
  .platform-premium-page .pcx-side-col,
  .platform-premium-page .pcx-detail-aside { order: 2; }
  .platform-premium-page .pcx-main-col,
  .platform-premium-page .pcx-detail-main { order: 1; }
  .platform-premium-page .pcx-courses-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
}

@media (max-width: 1080px) {
  .platform-premium-page .pcx-spotlight { grid-template-columns: 1fr; min-height: auto; }
  .platform-premium-page .pcx-spotlight__media { min-height: 340px; }
  .platform-premium-page .pcx-spotlight__copy { padding: 34px 28px 20px; }
  .platform-premium-page .pcx-spotlight__meta,
  .platform-premium-page .pcx-detail-stats { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .platform-premium-page .pcx-module-toggle { grid-template-columns: 1fr; }
  .platform-premium-page .pcx-module-trailing { grid-template-columns: auto 1fr auto auto; }
  .platform-premium-page .pcx-detail-hero { flex-direction: column; }
  .platform-premium-page .pcx-detail-hero__actions { justify-content: flex-start; }
}

@media (max-width: 760px) {
  .platform-premium-page .container { padding: 0 16px; }
  .platform-premium-page .navbar { width: calc(100vw - 20px); padding: 12px 14px; }
  .platform-premium-page .pcx-spotlight h1,
  .platform-premium-page .pcx-detail-hero h1 { font-size: 2.3rem; }
  .platform-premium-page .pcx-spotlight p,
  .platform-premium-page .pcx-detail-hero p { font-size: 1rem; }
  .platform-premium-page .pcx-spotlight__meta,
  .platform-premium-page .pcx-detail-stats,
  .platform-premium-page .pcx-courses-grid { grid-template-columns: 1fr; }
  .platform-premium-page .pcx-progress-overview { grid-template-columns: 1fr; }
  .platform-premium-page .pcx-upcoming-item,
  .platform-premium-page .pcx-achievement-item,
  .platform-premium-page .pcx-module-leading,
  .platform-premium-page .pcx-player-toolbar { display: flex; }
  .platform-premium-page .pcx-upcoming-item { grid-template-columns: 72px minmax(0,1fr); }
  .platform-premium-page .pcx-upcoming-time { grid-column: 2; text-align: left; }
  .platform-premium-page .pcx-achievement-item { grid-template-columns: 48px minmax(0,1fr); }
  .platform-premium-page .pcx-achievement-xp { grid-column: 2; }
  .platform-premium-page .pcx-module-trailing { grid-template-columns: 1fr auto; }
  .platform-premium-page .pcx-module-progress-copy { grid-column: 1 / -1; }
  .platform-premium-page .pcx-lesson-row { grid-template-columns: 40px minmax(0,1fr); }
  .platform-premium-page .pcx-lesson-meta { grid-column: 2; text-align: left; flex-direction: row; gap: 10px; }
  .platform-premium-page .pcx-player-frame,
  .platform-premium-page .pcx-player-empty { min-height: 240px; }
}
