:root{--color-primary: #1c54b2;--color-secondary: #0d2b6b;--color-accent: #ffcc00;--color-whatsapp: #25d366;--bg-main: #f8fafc;--bg-surface: #ffffff;--bg-surface-hover: #f1f5f9;--bg-surface-active: #e2e8f0;--text-primary: #1e293b;--text-secondary: #64748b;--text-inverse: #ffffff;--border-color: #e2e8f0;--divider-color: #e5e7eb;--input-bg: #ffffff;--input-border: #cbd5e1;--radius: 12px;--shadow-sm: 0 1px 3px rgba(0,0,0,.12), 0 1px 2px rgba(0,0,0,.24);--shadow-md: 0 4px 6px -1px rgba(0,0,0,.15), 0 2px 4px -1px rgba(0,0,0,.1);--shadow-lg: 0 10px 15px -3px rgba(0,0,0,.15), 0 4px 6px -2px rgba(0,0,0,.1);--status-success-bg: #dcfce7;--status-success-text: #166534;--status-info-bg: #dbeafe;--status-info-text: #1e40af;--status-warning-bg: #fef9c3;--status-warning-text: #854d0e;--status-danger-bg: #fee2e2;--status-danger-text: #991b1b;--status-neutral-bg: #f3e8ff;--status-neutral-text: #6b21a8;--sat: env(safe-area-inset-top);--sar: env(safe-area-inset-right);--sab: env(safe-area-inset-bottom);--sal: env(safe-area-inset-left)}body{padding-top:var(--sat);padding-right:var(--sar);padding-bottom:var(--sab);padding-left:var(--sal);background-color:var(--bg-main);color:var(--text-primary);min-height:100vh;-webkit-user-select:none;user-select:none}:root.dark{--color-primary: #3b82f6;--color-secondary: #1e3a8a;--bg-main: #000000;--bg-surface: #000000;--bg-surface-hover: #111111;--bg-surface-active: #222222;--text-primary: #f8fafc;--text-secondary: #94a3b8;--text-inverse: #0f172a;--border-color: #333333;--divider-color: #222222;--input-bg: #000000;--input-border: #333333;--shadow-sm: 0 1px 2px rgba(255,255,255,.05);--shadow-md: 0 4px 6px -1px rgba(255,255,255,.1), 0 2px 4px -1px rgba(255,255,255,.05);--shadow-lg: 0 10px 15px -3px rgba(255,255,255,.1), 0 4px 6px -2px rgba(255,255,255,.05);--status-success-bg: #052e16;--status-success-text: #4ade80;--status-info-bg: #1e3a8a;--status-info-text: #60a5fa;--status-warning-bg: #422006;--status-warning-text: #facc15;--status-danger-bg: #450a0a;--status-danger-text: #f87171;--status-neutral-bg: #3b0764;--status-neutral-text: #c084fc }*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#root{height:100%;margin:0;padding:0}html{overflow-x:hidden;padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom);padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right);background-color:var(--bg-main)}body{margin:0;font-family:Inter,system-ui,-apple-system,sans-serif;background:var(--bg-main);color:var(--text-primary);-webkit-font-smoothing:antialiased;overflow-x:hidden;width:100%;transition:background-color .3s ease,color .3s ease}main{width:100%;margin:0;padding:0;display:block}.container{max-width:1200px;margin:0 auto;padding:0 24px}.header{position:fixed;top:0;left:0;right:0;z-index:999;background-color:var(--bg-surface);box-shadow:var(--shadow-sm);transition:all .3s ease;color:var(--text-primary);border-bottom:1px solid var(--border-color)}.header .logo{color:var(--color-primary)}.admin-header{min-height:80px;background:var(--bg-surface);border:1px solid var(--border-color);padding:1rem 2rem;display:flex;justify-content:space-between;align-items:center;position:sticky;top:calc(1rem + env(safe-area-inset-top,0px));margin:1rem 1.5rem 2rem;border-radius:16px;z-index:100;box-shadow:var(--shadow-md)}.header.scrolled{box-shadow:var(--shadow-md)}.nav{display:flex;justify-content:space-between;align-items:center;height:80px}.logo{display:flex;align-items:center;gap:12px;font-weight:700;font-size:1.25rem;color:var(--color-primary);text-decoration:none}.logo img{height:50px;width:auto}.desktop-nav{display:flex;gap:.5rem;align-items:center}.desktop-nav>a,.desktop-nav .dropdown>a{text-decoration:none;color:#ffffffe6!important;font-weight:500;padding:.4rem 1rem;border-radius:99px;background:transparent;border:1px solid transparent;transition:all .3s ease;display:inline-flex;align-items:center;justify-content:center;letter-spacing:.2px;font-size:.9rem}.desktop-nav>a:hover,.desktop-nav .dropdown>a:hover{color:#fff!important;background:#ffffff14}.desktop-nav>a.active,.desktop-nav .dropdown>a.active{background:#ffffff26;border-color:#ffffff40;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#fff!important;box-shadow:0 4px 15px #0000000d;font-weight:600}.desktop-nav>a.nav-portal-btn{background:#ffffffe6;border-color:#ffffff80;color:var(--color-secondary)!important;font-weight:600;box-shadow:0 2px 8px #0000001a;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.desktop-nav>a.nav-portal-btn:hover{background:#fff;transform:translateY(-2px);box-shadow:0 4px 12px #fff6}.cta{background:var(--color-accent);color:#0d2b6b;padding:.75rem 2rem;border-radius:999px;text-decoration:none;font-weight:700;transition:all .3s ease;border:2px solid var(--color-accent);cursor:pointer;box-shadow:0 4px 12px #ffcc004d;font-size:1rem;line-height:1.2;min-height:48px;display:inline-flex;align-items:center;justify-content:center}.cta:hover{background:#fbbf24;border-color:#fbbf24;transform:translateY(-2px);filter:brightness(1.1)}.mobile-menu-btn{display:none;background:none;border:none;font-size:1.5rem;color:var(--text-primary);cursor:pointer;padding:8px}.mobile-menu{position:fixed;top:80px;left:0;right:0;bottom:0;background:#00000073;display:none;z-index:998}.mobile-menu.open{display:block}.mobile-nav-content{background:var(--bg-surface);box-shadow:var(--shadow-lg);border-bottom-left-radius:16px;border-bottom-right-radius:16px;max-width:480px;margin:0 auto;padding:1.25rem 1.5rem 2rem;display:flex;flex-direction:column;gap:.25rem;max-height:calc(100vh - 80px);overflow-y:auto}.mobile-link{padding:1rem;text-decoration:none;color:var(--text-primary);font-weight:500;border-radius:8px;border-bottom:1px solid var(--divider-color);transition:color .2s}.mobile-link:active,.mobile-link:hover{color:var(--color-primary);background:var(--bg-surface-hover)}.mobile-link.highlight{color:var(--color-primary);font-weight:700;border-bottom:none}.mobile-dropdown{border-bottom:1px solid rgba(0,0,0,.05)}.mobile-link.dropdown-toggle{display:flex;justify-content:space-between;align-items:center;width:100%;background:none;border:none;border-bottom:none;cursor:pointer;text-align:left;font-family:inherit}.arrow{display:inline-block;transition:transform .3s ease;font-size:.9rem;color:var(--color-muted)}.arrow.open{transform:rotate(180deg);color:var(--color-primary)}.mobile-sub-menu{display:none;flex-direction:column;padding-left:1rem;padding-bottom:1rem;background:#00000005;margin-top:-.5rem;border-radius:8px}.mobile-sub-menu.open{display:flex;animation:slideDown .3s ease-out}.mobile-sub-menu a{padding:.8rem 0;color:var(--color-text);text-decoration:none;font-size:1rem;border-bottom:1px solid rgba(0,0,0,.03)}.mobile-sub-menu a:last-child{border-bottom:none}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.dropdown{position:relative}.dropdown-menu{position:absolute;top:100%;left:0;background:var(--bg-surface);border-radius:8px;box-shadow:var(--shadow-lg);padding:.5rem 0;min-width:220px;display:flex;flex-direction:column;opacity:0;visibility:hidden;transform:translateY(10px);transition:all .2s;z-index:1000}.dropdown:hover .dropdown-menu,.dropdown-menu:hover{opacity:1;visibility:visible;transform:translateY(0)}.header .desktop-nav .dropdown-menu a,.dropdown-menu a{color:var(--text-primary)!important;padding:.75rem 1.25rem;margin:0!important;border-radius:0;font-weight:500!important;text-shadow:none!important;border-bottom:1px solid transparent!important;transition:all .2s ease}.header .desktop-nav .dropdown-menu a:hover,.dropdown-menu a:hover{background:var(--bg-surface-active)!important;color:var(--color-primary)!important;padding-left:1.5rem;font-weight:600!important}.button{display:inline-flex;align-items:center;justify-content:center;padding:.75rem 2rem;border-radius:999px;font-weight:700;text-decoration:none;transition:all .3s ease;cursor:pointer;border:2px solid transparent;font-size:1rem;line-height:1.2;min-height:48px}.button.primary{background:var(--color-primary);color:#fff;border:2px solid var(--color-primary)}.button.primary:hover{background:var(--color-secondary);border-color:var(--color-secondary);transform:translateY(-2px)}.button.hero-primary{background:var(--color-accent)!important;color:#0d2b6b!important;box-shadow:0 4px 12px #ffcc004d;border:2px solid var(--color-accent);white-space:nowrap}.button.hero-primary:hover{background:#fbbf24!important;border-color:#fbbf24;transform:translateY(-2px);filter:brightness(1.1)}.button.hero-outline{background:transparent;color:#fff;border:2px solid rgba(255,255,255,.5);white-space:nowrap;transition:all .3s ease}.button.hero-outline:hover{background:#ffffff1a;border-color:#fff;transform:translateY(-2px)}.animate-on-scroll{opacity:0;transform:translateY(20px);transition:opacity .6s ease-out,transform .6s ease-out}.animate-on-scroll.visible{opacity:1;transform:translateY(0)}.text-center{text-align:center}.mb-2{margin-bottom:.5rem}.mb-4{margin-bottom:1rem}@media (max-width: 900px){.desktop-nav{display:none}.mobile-menu-btn{display:block}.header,.nav{height:64px}.cta{display:none}.logo img{height:40px}.logo{font-size:1.1rem}.mobile-menu{top:64px;padding-top:0}.mobile-nav-content{max-height:calc(100vh - 64px)}}.section{padding:4rem 0}.card{background:var(--bg-surface);border-radius:24px;box-shadow:var(--shadow-md);padding:2rem;border:1px solid var(--border-color);transition:transform .3s ease,box-shadow .3s ease}.card:hover{transform:translateY(-5px);box-shadow:var(--shadow-lg)}.feature-card{background:var(--bg-surface);border-radius:16px;box-shadow:var(--shadow-sm);padding:1.5rem;border:1px solid var(--border-color);transition:transform .3s ease,box-shadow .3s ease}.feature-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-md)}.grade-card{background:#ffffff0d;border-radius:16px;box-shadow:0 4px 6px #0000001a;padding:2rem;border:1px solid rgba(255,255,255,.1);color:#fff;height:100%;transition:transform .3s ease,box-shadow .3s ease,background .3s ease}.grade-card:hover{transform:translateY(-5px);box-shadow:0 8px 15px #0003;background:#ffffff1a;border-color:#fff3}.grade-card h4{margin:0 0 1.5rem;color:var(--color-accent);border-bottom:2px solid var(--color-accent);padding-bottom:.5rem;display:inline-block;font-size:1.2rem}.grade-card ul{padding:0;list-style:none;margin:0;line-height:1.8}.grade-card li{margin-bottom:.5rem}.news-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:2rem;max-width:100%;margin:0 auto;width:100%}.grid-2-cols{display:grid;grid-template-columns:1fr;gap:2rem;width:100%}@media (min-width: 768px){.grid-2-cols{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){.news-grid{grid-template-columns:1fr}}.ql-toolbar{background-color:var(--bg-surface)!important;border-color:var(--border-color)!important}.ql-container{background-color:var(--input-bg)!important;border-color:var(--border-color)!important;color:var(--text-primary)!important}.ql-stroke{stroke:var(--text-primary)!important}.ql-fill{fill:var(--text-primary)!important}.ql-picker{color:var(--text-primary)!important}.ql-picker-options{background-color:var(--bg-surface)!important;border-color:var(--border-color)!important}.recharts-default-tooltip{background-color:var(--bg-surface)!important;border-color:var(--border-color)!important;color:var(--text-primary)!important;box-shadow:var(--shadow-md)!important}.recharts-cartesian-grid-horizontal line,.recharts-cartesian-grid-vertical line{stroke:var(--divider-color)!important}.recharts-text{fill:var(--text-secondary)!important}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.animate-fade-in{animation:fadeIn .4s ease-out forwards}.animate-slide-up{animation:slideInUp .5s ease-out forwards}.animate-scale-in{animation:scaleIn .3s ease-out forwards}.delay-100{animation-delay:.1s}.delay-200{animation-delay:.2s}.delay-300{animation-delay:.3s}.delay-400{animation-delay:.4s}.delay-500{animation-delay:.5s}.modal-enter{animation:scaleIn .3s ease-out forwards}.page-transition{animation:fadeIn .5s ease-out forwards}.footer{background-color:#0d2b6b!important;color:#fff!important;padding:3rem 0;margin-top:auto;border-top:1px solid rgba(255,255,255,.1)}.admin-content-grid{display:grid;grid-template-columns:350px 1fr;gap:2rem;align-items:start;margin:0 1.5rem}.admin-content-grid.balanced{grid-template-columns:1fr}@media (min-width: 1200px){.admin-content-grid.balanced{grid-template-columns:1fr 1fr}}.card-grid-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem}.content-card-item,.admin-interactive-card{background:var(--bg-surface);border:1px solid var(--border-color);border-radius:8px;padding:1rem;transition:all .2s ease;display:flex;flex-direction:column;gap:.5rem;position:relative}.content-card-item:hover,.admin-interactive-card:hover,.admin-card:hover,.ticket-item:hover{border-color:var(--color-primary);box-shadow:0 4px 12px #1c54b226;transform:translateY(-2px)}.ticket-item{transition:all .2s;position:relative}.content-card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:.5rem;margin-bottom:.5rem}.content-card-title{font-weight:700;font-size:.95rem;color:var(--text-primary);word-break:break-word}.content-card-meta{font-size:.8rem;color:var(--text-secondary);display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.content-card-actions{margin-top:auto;padding-top:.75rem;border-top:1px solid var(--divider-color);display:flex;justify-content:flex-end;gap:.5rem}@media (max-width: 1000px){.admin-content-grid{grid-template-columns:1fr}}.admin-card{background:var(--bg-surface);border-radius:var(--radius);box-shadow:var(--shadow-sm);border:1px solid var(--border-color);padding:1.5rem;transition:transform .2s,box-shadow .2s}.admin-input{width:100%;padding:.75rem 1rem;border-radius:6px;border:1px solid var(--input-border);background:var(--input-bg);color:var(--text-primary);font-size:.95rem;transition:border-color .2s,box-shadow .2s}.admin-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--status-info-bg)}.admin-btn-primary{background:var(--color-primary);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:6px;font-weight:600;cursor:pointer;transition:background .2s,transform .1s;display:flex;align-items:center;justify-content:center;gap:.5rem}.admin-btn-primary:hover{background:var(--color-secondary);transform:translateY(-1px)}.admin-form{display:flex;flex-direction:column;gap:1rem}.form-section{background:var(--bg-surface-hover);padding:1.5rem;border-radius:8px;border:1px solid var(--border-color)}.student-id-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:fadeIn .2s ease-out}.admin-container{min-height:100vh;background-color:var(--bg-main);display:flex;flex-direction:column;padding-bottom:3rem;box-sizing:border-box}:root.dark .admin-container{--text-secondary: #ffffff}.admin-header{background:var(--bg-surface);border:1px solid var(--border-color);padding:1rem 2rem;display:flex;justify-content:space-between;align-items:center;position:sticky;top:1rem;margin:1rem 1.5rem;border-radius:16px;z-index:100;box-shadow:var(--shadow-md)}.portal-header{background:var(--bg-surface);border:1px solid var(--border-color);padding:1rem 2rem;display:flex;justify-content:space-between;align-items:center;position:sticky;top:1rem;margin:1rem 1.5rem 2rem;border-radius:16px;z-index:100;box-shadow:var(--shadow-md)}.admin-header-left,.admin-header-actions{display:flex;align-items:center;gap:1rem}.admin-tabs{display:flex;gap:.5rem;padding:1rem 2rem;background:var(--color-secondary);flex-wrap:wrap;justify-content:center;border:1px solid var(--border-color);border-radius:16px;box-shadow:var(--shadow-md);margin:0 1.5rem 2rem;align-items:center;min-height:70px}.admin-tabs button{padding:.75rem 1.25rem;background:#ffffff1a;border:none;border-radius:8px;color:#fff;font-weight:500;cursor:pointer;white-space:nowrap;transition:all .2s}.admin-tabs button.active{color:var(--color-secondary);background-color:#fff;font-weight:700;box-shadow:0 2px 4px #0000001a}.admin-tabs button:hover:not(.active):not(:disabled){color:#fff;background:#ffffff40}.btn-ver-portal{padding:.5rem 1rem;background:var(--color-primary);color:#fff!important;border:none;border-radius:6px;cursor:pointer;margin-right:1rem;text-decoration:none;display:inline-block;font-size:.9rem;font-weight:500;box-shadow:var(--shadow-sm);transition:all .2s}.btn-ver-portal:hover{background:var(--color-secondary);transform:translateY(-1px);box-shadow:var(--shadow-md)}.admin-table-container{width:100%;overflow-x:auto;background:var(--bg-surface);border-radius:var(--radius);border:1px solid var(--border-color)}.admin-table{width:100%;border-collapse:collapse;text-align:left}.admin-table th,.admin-table td{padding:1rem;border-bottom:1px solid var(--border-color)}.admin-table th{background:var(--bg-surface-hover);font-weight:600;color:var(--text-secondary);font-size:.85rem;text-transform:uppercase;letter-spacing:.5px}.admin-table tr:hover{background:var(--bg-surface-hover)}.admin-action-btn{padding:.4rem .8rem;border:none;border-radius:6px;font-size:.85rem;font-weight:500;cursor:pointer;transition:filter .2s}.admin-action-btn:hover{filter:brightness(.95)}@media (max-width: 768px){.admin-table th,.admin-table td{padding:.75rem;font-size:.9rem}}.player-wrapper{position:relative;background:#000;border-radius:12px;overflow:hidden;box-shadow:0 10px 15px -3px #0000001a;width:100%;aspect-ratio:16/9}@supports not (aspect-ratio: 16/9){.player-wrapper{height:0;padding-top:56.25%}}@media screen and (orientation: landscape) and (max-height: 600px){.player-wrapper{height:auto;max-height:85vh;width:auto;max-width:100%;margin:0 auto;aspect-ratio:16/9;border-radius:0;padding-top:0}.player-wrapper .custom-controls{position:absolute!important;bottom:0!important;left:0!important;right:0!important;width:100%!important;padding-bottom:max(10px,env(safe-area-inset-bottom))!important;z-index:40!important}}.player-wrapper:fullscreen,.player-wrapper:-webkit-full-screen,.player-wrapper:-moz-full-screen,.player-wrapper:-ms-fullscreen{width:100%!important;height:100%!important;max-height:none!important;padding-top:0!important;background:#000!important;display:flex!important;flex-direction:column!important;justify-content:center!important;align-items:center!important;border-radius:0!important}.player-wrapper:fullscreen .custom-controls,.player-wrapper:-webkit-full-screen .custom-controls,.player-wrapper:-moz-full-screen .custom-controls,.player-wrapper:-ms-fullscreen .custom-controls{position:fixed!important;bottom:0!important;left:0!important;right:0!important;width:100%!important;z-index:2147483647!important;padding-bottom:max(15px,env(safe-area-inset-bottom))!important;padding-left:max(15px,env(safe-area-inset-left))!important;padding-right:max(15px,env(safe-area-inset-right))!important;background:linear-gradient(to top,#000000f2,#0009 50%,#0000)!important}.player-container-fullscreen:fullscreen .youtube-player,.player-container-fullscreen:-webkit-full-screen .youtube-player,.player-container-fullscreen:-moz-full-screen .youtube-player,.player-container-fullscreen:-ms-fullscreen .youtube-player{position:absolute!important;top:0!important;left:0!important;width:100%!important;height:100%!important}.video-progress-bar::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:12px;height:12px;border-radius:50%;background:#fff;cursor:pointer;box-shadow:0 0 4px #00000080;transition:transform .1s;margin-top:0}.video-progress-bar::-webkit-slider-thumb:hover{transform:scale(1.2)}.video-progress-bar::-moz-range-thumb{width:12px;height:12px;border:none;border-radius:50%;background:#fff;cursor:pointer;box-shadow:0 0 4px #00000080;transition:transform .1s}.video-progress-bar::-moz-range-thumb:hover{transform:scale(1.2)}.card-destaque.animate-on-scroll{opacity:1}.card-destaque.animate-on-scroll.visible{transform:translateY(0)}.news-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem;width:100%;max-width:1200px;margin:0 auto}@media (max-width: 768px){.news-grid{grid-template-columns:1fr;gap:1rem;padding:0 .5rem}}@media (min-width: 769px) and (max-width: 1024px){.news-grid{grid-template-columns:repeat(2,1fr)}}.card{max-width:100%;box-sizing:border-box;word-wrap:break-word;overflow-wrap:break-word}.card-destaque{max-width:100%;box-sizing:border-box}.destaque-yt-shimmer{position:absolute;top:0;right:0;bottom:0;left:0;z-index:4;pointer-events:none;overflow:hidden;border-radius:inherit}.destaque-yt-shimmer:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse 80% 60% at 50% 50%,rgba(255,255,255,.16),transparent 70%);animation:destaqueYtPulse .9s ease-in-out infinite}.destaque-yt-shimmer:after{content:"";position:absolute;top:0;left:-40%;width:45%;height:100%;background:linear-gradient(100deg,transparent 0%,rgba(255,255,255,.12) 45%,rgba(255,255,255,.22) 50%,rgba(255,255,255,.12) 55%,transparent 100%);animation:destaqueYtSweep 1.35s ease-in-out infinite}@media (prefers-reduced-motion: reduce){.destaque-yt-shimmer:before,.destaque-yt-shimmer:after{animation:none}.destaque-yt-shimmer:before{opacity:.5}}@keyframes destaqueYtPulse{0%,to{opacity:.55}50%{opacity:1}}@keyframes destaqueYtSweep{0%{transform:translate(0)}to{transform:translate(380%)}}@keyframes pageReveal{0%{opacity:0}to{opacity:1}}@keyframes slideInUpSoft{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.page-transition{animation:pageReveal .4s cubic-bezier(.4,0,.2,1) forwards}.animate-slide-up{animation:slideInUpSoft .45s cubic-bezier(.4,0,.2,1) forwards}.admin-tabs button{transition:background .25s cubic-bezier(.4,0,.2,1),color .25s cubic-bezier(.4,0,.2,1),transform .2s cubic-bezier(.4,0,.2,1),box-shadow .25s ease}.admin-tabs button:hover:not(.active):not(:disabled){transform:translateY(-1px)}.admin-tabs button.active{transform:translateY(0);box-shadow:0 2px 8px #0000001f}.portal-header,.admin-header{transition:box-shadow .3s cubic-bezier(.4,0,.2,1),border-color .3s ease}.portal-gallery-grid .animate-slide-up{transition:transform .25s cubic-bezier(.4,0,.2,1),box-shadow .25s cubic-bezier(.4,0,.2,1),opacity .2s ease}.admin-content-scroll{transition:opacity .15s ease;min-height:0;background:var(--bg-main)}@media (prefers-reduced-motion: reduce){.page-transition,.animate-slide-up{animation:none}.admin-tabs button{transition:none}}@keyframes logs-spin{to{transform:rotate(360deg)}}@keyframes spin{to{transform:rotate(360deg)}}.logs-loading-spinner{animation:logs-spin .8s linear infinite}@media (max-width: 1024px){.logs-page{padding-left:.5rem!important;padding-right:.5rem!important}.logs-header h2{font-size:1.25rem!important}.logs-desc{font-size:.875rem!important}.logs-filters{flex-direction:column!important;align-items:stretch!important;padding:1rem!important;gap:.75rem!important}.logs-filters>div:first-child{text-align:center}.logs-filter-label{flex-direction:column!important;align-items:stretch!important}.logs-filter-label .admin-input{min-width:0!important;max-width:none!important;width:100%!important}.logs-refresh-btn{margin-left:0!important;width:100%}.logs-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.logs-table thead{display:none}.logs-table tbody tr{display:block;margin-bottom:1.25rem;padding:0;border:1px solid var(--border-color);border-radius:var(--radius);background:var(--bg-surface)!important;box-shadow:var(--shadow-sm);overflow:visible}.logs-table tbody tr:hover{background:var(--bg-surface-hover)!important}.logs-table tbody td{display:flex!important;align-items:flex-start;justify-content:space-between;gap:.75rem;padding:.6rem 1rem!important;border:none!important;border-bottom:1px solid var(--border-color);word-break:break-word;min-height:2.5rem;box-sizing:border-box}.logs-table tbody td .logs-cell-value{flex:1;min-width:0;text-align:right}.logs-table tbody td[data-label=Resumo] .logs-cell-value,.logs-table tbody td[data-label=Responsável] .logs-cell-value{text-align:left}.logs-table tbody td[data-label=Resumo]{align-items:flex-start}.logs-table tbody td:last-child{border-bottom:none!important;border-top:2px solid var(--border-color);padding:.75rem 1rem!important;background:var(--bg-surface-hover);min-height:auto}.logs-table tbody td:last-child .logs-cell-value{justify-content:flex-end;text-align:right}.logs-table tbody td:first-child{background:var(--bg-surface-hover);font-weight:600;padding:.75rem 1rem!important}.logs-table tbody td:before{content:attr(data-label);font-weight:600;font-size:.75rem;color:var(--text-secondary);flex-shrink:0;min-width:85px;text-transform:uppercase;letter-spacing:.02em}.logs-table .logs-cell-responsavel{justify-content:flex-start}.logs-table .logs-cell-actions:before{display:none}.logs-pagination{flex-direction:column;align-items:stretch;text-align:center}.logs-pagination>div{justify-content:center}}*::-webkit-scrollbar{width:8px;height:8px}*::-webkit-scrollbar-track{background:transparent}*::-webkit-scrollbar-thumb{background-color:var(--border-color);border-radius:4px;border:2px solid transparent;background-clip:content-box}*::-webkit-scrollbar-thumb:hover{background-color:var(--text-secondary)}.native-app *{scrollbar-width:none;-ms-overflow-style:none}.native-app *::-webkit-scrollbar{display:none;width:0;height:0}html.native-app,body.native-app{padding:0!important;background-color:var(--bg-main)!important}html.native-app.route-login,body.native-app.route-login,html.native-app.route-login #root{background-color:#2255b1!important}html.native-app.route-dark,body.native-app.route-dark,html.native-app.route-dark #root{background-color:#05070c!important}.admin-tabs{margin-bottom:.5rem!important}html:not(.native-app),body:not(.native-app){padding:0!important}.admin-container{padding-bottom:0!important;min-height:100dvh;max-height:100dvh;overflow:hidden;box-sizing:border-box}.portal-header-left{flex:1;min-width:0;display:flex;align-items:center}.portal-header-desk,.portal-header-nav-buttons{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.portal-header-profile-wrap{flex-shrink:0}.portal-header-title-wrap{min-width:0;overflow:hidden;text-overflow:ellipsis}.portal-header-hamburger{display:none;align-items:center;justify-content:center;width:44px;height:44px;padding:0;border:none;border-radius:8px;background:transparent;color:var(--text-primary);cursor:pointer;transition:background .2s cubic-bezier(.4,0,.2,1),color .2s ease,transform .2s cubic-bezier(.4,0,.2,1)}.portal-header-hamburger:hover{background:var(--bg-surface-hover);color:var(--color-primary)}.portal-header-hamburger:active{transform:scale(.92)}@media (min-width: 769px){.portal-mobile-menu-overlay,.portal-mobile-menu-panel,.admin-mobile-menu-overlay,.admin-mobile-menu-panel{display:none!important}}.admin-header-hamburger{display:none;align-items:center;justify-content:center;width:44px;height:44px;padding:0;border:none;border-radius:8px;background:transparent;color:var(--text-primary);cursor:pointer;transition:background .2s cubic-bezier(.4,0,.2,1),color .2s ease,transform .2s cubic-bezier(.4,0,.2,1)}.admin-header-hamburger:hover{background:var(--bg-surface-hover);color:var(--color-primary)}.admin-header-hamburger:active{transform:scale(.92)}.admin-btn-secondary.danger:hover{background-color:var(--status-danger-bg);border-color:var(--status-danger-text)!important}.admin-btn-secondary.success:hover{background-color:var(--status-success-bg);border-color:var(--status-success-text)!important}.admin-btn-secondary.warning:hover{background-color:var(--status-warning-bg);border-color:var(--status-warning-text)!important}.admin-btn-secondary.info:hover{background-color:var(--status-info-bg);border-color:var(--status-info-text)!important}.admin-btn-secondary.purple{color:var(--status-neutral-text);border:1px solid var(--status-neutral-text)!important}.admin-btn-secondary.purple:hover{background-color:var(--status-neutral-bg);border-color:var(--status-neutral-text)!important}.badge{display:inline-flex;align-items:center;padding:.25rem .6rem;border-radius:6px;font-size:.7rem;font-weight:600;line-height:1;text-transform:uppercase;letter-spacing:.05em;white-space:nowrap}.badge.neutral{background-color:var(--bg-surface-active);color:var(--text-secondary);border:1px solid var(--border-color)}.badge.primary{background-color:var(--color-primary);color:#fff}.badge.secondary{background-color:var(--color-secondary);color:#fff}.badge.success{background-color:var(--status-success-bg);color:var(--status-success-text);border:1px solid var(--status-success-bg)}.badge.warning{background-color:var(--status-warning-bg);color:var(--status-warning-text);border:1px solid var(--status-warning-bg)}.badge.danger{background-color:var(--status-danger-bg);color:var(--status-danger-text);border:1px solid var(--status-danger-bg)}.badge.info{background-color:var(--status-info-bg);color:var(--status-info-text);border:1px solid var(--status-info-bg)}.badge.purple{background-color:var(--status-neutral-bg);color:var(--status-neutral-text);border:1px solid var(--status-neutral-bg)}.content-course-cards-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem}@media (max-width: 1100px){.content-course-cards-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 640px){.content-course-cards-grid{grid-template-columns:1fr}}.content-course-card-empty{grid-column:1 / -1;padding:2rem;text-align:center;color:var(--text-secondary)}.content-course-card{border-left:4px solid var(--color-primary);overflow:hidden;display:flex;flex-direction:column;min-width:0}.content-course-header{display:flex;justify-content:space-between;align-items:flex-start;gap:.75rem;padding:1rem 1.25rem;background:var(--bg-surface-hover);border-bottom:1px solid var(--border-color);flex-wrap:wrap}.content-course-header-text{flex:1;min-width:0}.content-course-title{margin:0;font-size:1.05rem;font-weight:600;color:var(--text-primary);word-break:break-word;line-height:1.3}.content-course-badge{display:inline-block;font-size:.75rem;margin-top:.25rem;color:var(--text-secondary)}.content-course-desc{margin:.35rem 0 0;font-size:.85rem;color:var(--text-secondary);line-height:1.4;word-break:break-word;display:-webkit-box;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.content-course-actions{display:flex;gap:.5rem;flex-shrink:0;flex-wrap:wrap;align-items:center}.content-course-body{padding:.75rem 1rem;flex:1;min-height:0;overflow-y:auto}.content-course-empty{margin:0;font-size:.875rem;color:var(--text-secondary);padding:.5rem 0}.content-module-row{border:1px solid var(--border-color);border-radius:8px;margin-bottom:.5rem;overflow:hidden;background:var(--bg-surface)}.content-module-row-header{display:flex;justify-content:space-between;align-items:center;padding:.6rem 1rem;flex-wrap:wrap;gap:.5rem}.content-module-row-title{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;min-width:0;flex:1}.content-module-title{font-weight:600;color:var(--text-primary);font-size:.9rem;word-break:break-word}.content-module-row-actions{display:flex;gap:.35rem;align-items:center;flex-wrap:wrap}.content-btn-sm{padding:.35rem .65rem;font-size:.8rem}.content-btn-new-lesson{margin-top:.5rem}.content-module-lessons{padding:.75rem 1rem;background:var(--bg-main);border-top:1px solid var(--border-color)}.content-lessons-empty{margin:0;font-size:.85rem;color:var(--text-secondary)}.content-lessons-list{margin:0;padding-left:1.25rem;list-style:disc}.content-lesson-item{display:flex;justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.4rem;font-size:.875rem;word-break:break-word;min-width:0}.content-lesson-label{min-width:0;flex:1}.content-lesson-actions{display:flex;gap:.25rem;flex-shrink:0}.admin-subtabs{display:flex;gap:.5rem;margin-bottom:1rem;background:var(--bg-surface);padding:.5rem;border-radius:8px;border:1px solid var(--border-color);flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch}.admin-subtab-btn{flex:0 0 auto;min-width:140px;padding:.6rem 1rem;background:transparent;border:none;border-radius:6px;cursor:pointer;font-weight:500;color:var(--text-secondary);transition:all .2s ease;display:inline-flex;align-items:center;justify-content:center;gap:.5rem}.admin-subtab-btn:hover{background:var(--bg-surface-hover);color:var(--text-primary)}.admin-subtab-btn.active{background:var(--color-primary);color:#fff;font-weight:600}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2147483647;display:flex;align-items:center;justify-content:center;padding:1.5rem 1rem 1rem;overflow-y:auto;-webkit-overflow-scrolling:touch;background:#00000038;-webkit-backdrop-filter:blur(8px) saturate(100%);backdrop-filter:blur(8px) saturate(100%);animation:fadeIn .25s ease-out;isolation:isolate}.modal-content{position:relative;margin:0 auto;width:95%;max-height:calc(100vh - 3rem);overflow-y:auto;border-radius:32px;padding:2.5rem;will-change:transform,opacity;transform-origin:center;flex-shrink:0;isolation:isolate;background:transparent!important;-webkit-backdrop-filter:none;backdrop-filter:none;border:2px solid rgba(255,255,255,.28);box-shadow:0 0 0 1px #ffffff0f inset,0 28px 56px -12px #00000080,0 32px 64px -12px #0006,0 16px 32px -8px #00000040}.modal-content.login-reset-modal{padding:1.5rem;border-radius:18px}:root:not(.dark) .modal-content,:root.dark .modal-content{background:transparent!important;border:2px solid rgba(255,255,255,.2);box-shadow:0 0 0 1px #ffffff0a inset,0 28px 56px -12px #00000080,0 32px 64px -12px #00000080,0 16px 32px -8px #0000004d}.student-id-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;z-index:2147483647;display:flex;align-items:center;justify-content:center;padding:1.5rem 1rem;overflow-y:auto;-webkit-overflow-scrolling:touch;background:#00000038;-webkit-backdrop-filter:blur(8px) saturate(100%);backdrop-filter:blur(8px) saturate(100%);isolation:isolate}:root:not(.dark) .modal-overlay,:root:not(.dark) .student-id-modal-overlay,:root.dark .modal-overlay,:root.dark .student-id-modal-overlay{background:#000c!important}.student-id-modal-overlay>div.animate-scale-in{border-radius:32px;isolation:isolate;background:transparent!important;-webkit-backdrop-filter:none;backdrop-filter:none;border:2px solid rgba(255,255,255,.3);box-shadow:0 0 0 1px #ffffff14 inset,0 28px 56px -12px #00000080,0 32px 64px -12px #0006,0 16px 32px -8px #00000040}:root:not(.dark) .student-id-modal-overlay>div.animate-scale-in,:root.dark .student-id-modal-overlay>div.animate-scale-in{background:transparent!important;border-color:#ffffff38;box-shadow:0 0 0 1px #ffffff0d inset,0 28px 56px -12px #00000080,0 32px 64px -12px #00000080,0 16px 32px -8px #0000004d}.student-id-modal-overlay>.admin-card.animate-scale-in{border-radius:32px;isolation:isolate;background:transparent!important;-webkit-backdrop-filter:none;backdrop-filter:none;border:2px solid rgba(255,255,255,.3);box-shadow:0 0 0 1px #ffffff14 inset,0 28px 56px -12px #00000080,0 32px 64px -12px #0006,0 16px 32px -8px #00000040}.student-id-modal-overlay>.admin-card.animate-scale-in>*{background:transparent!important;-webkit-backdrop-filter:none;backdrop-filter:none}:root:not(.dark) .student-id-modal-overlay>.admin-card.animate-scale-in,:root.dark .student-id-modal-overlay>.admin-card.animate-scale-in{background:transparent!important;border-color:#ffffff38;box-shadow:0 0 0 1px #ffffff0d inset,0 28px 56px -12px #00000080,0 32px 64px -12px #00000080,0 16px 32px -8px #0000004d}.scaleIn,.animate-scale-in{animation:scaleIn .35s cubic-bezier(.22,1,.36,1) forwards}.modal-animate{animation:scaleIn .35s cubic-bezier(.22,1,.36,1) forwards,slideInUp .45s cubic-bezier(.22,1,.36,1) forwards}.modal-xl{max-width:1000px}.modal-lg{max-width:800px}.modal-content>.modal-header,.modal-content>.modal-body,.modal-content>.modal-footer,.modal-content>form{background:transparent!important;-webkit-backdrop-filter:none;backdrop-filter:none}.modal-header,.modal-footer{-webkit-backdrop-filter:blur(48px) saturate(220%);backdrop-filter:blur(48px) saturate(220%)}.modal-header{position:sticky;top:0;background:transparent!important;border-bottom:1px solid rgba(255,255,255,.12);padding:1rem 1.25rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;z-index:1}.modal-body{padding:1rem 1.25rem}.modal-footer{position:sticky;bottom:0;background:transparent!important;border-top:1px solid rgba(255,255,255,.12);padding:.75rem 1.25rem;display:flex;gap:.5rem}:root:not(.dark) .modal-header,:root:not(.dark) .modal-footer,:root.dark .modal-header,:root.dark .modal-footer{background:transparent!important;border-bottom-color:#ffffff1a;border-top-color:#ffffff1a}.modal-content>.modal-header,.modal-content>.modal-footer{background:transparent!important;border-bottom-color:#ffffff1f;border-top-color:#ffffff1f}.student-id-modal-overlay .modal-footer-glass,.student-id-modal-overlay .modal-footer.modal-footer-glass{background:transparent!important;-webkit-backdrop-filter:none;backdrop-filter:none;border-top-color:#ffffff1f}:root:not(.dark) .student-id-modal-overlay .modal-footer .modal-action-secondary,:root:not(.dark) .student-id-modal-overlay .modal-footer-glass .modal-action-secondary,:root.dark .student-id-modal-overlay .modal-footer .modal-action-secondary,:root.dark .student-id-modal-overlay .modal-footer-glass .modal-action-secondary{color:#e2e8f0!important;background:#ffffff1a!important;border:1px solid rgba(255,255,255,.2)!important}:root:not(.dark) .student-id-modal-overlay .modal-footer .admin-btn-primary,:root:not(.dark) .student-id-modal-overlay .modal-footer-glass .admin-btn-primary,:root.dark .student-id-modal-overlay .modal-footer .admin-btn-primary,:root.dark .student-id-modal-overlay .modal-footer-glass .admin-btn-primary{color:#fff!important;background:#3b82f6cc!important;border:1px solid rgba(255,255,255,.25)!important}:root:not(.dark) .modal-content,:root:not(.dark) .student-id-modal-overlay>div.animate-scale-in,:root:not(.dark) .student-id-modal-overlay>.admin-card.animate-scale-in,:root.dark .modal-content,:root.dark .student-id-modal-overlay>div.animate-scale-in,:root.dark .student-id-modal-overlay>.admin-card.animate-scale-in{color:#fff!important}:root:not(.dark) .modal-content .modal-title,:root:not(.dark) .modal-content h2,:root:not(.dark) .modal-content h3,:root:not(.dark) .modal-content h4,:root:not(.dark) .student-id-modal-overlay .modal-title,:root:not(.dark) .student-id-modal-overlay h2,:root:not(.dark) .student-id-modal-overlay h3,:root:not(.dark) .student-id-modal-overlay h4,:root:not(.dark) .modal-title-dark{color:#fff!important;font-weight:700;text-shadow:0 1px 2px rgba(0,0,0,.3)}:root.dark .modal-content .modal-title,:root.dark .modal-content h2,:root.dark .modal-content h3,:root.dark .modal-content h4,:root.dark .student-id-modal-overlay .modal-title,:root.dark .student-id-modal-overlay h2,:root.dark .student-id-modal-overlay h3,:root.dark .student-id-modal-overlay h4{color:#fff!important;font-weight:700;text-shadow:0 1px 2px rgba(0,0,0,.3)}:root:not(.dark) .modal-content .modal-subtitle,:root:not(.dark) .modal-content label,:root:not(.dark) .modal-content .admin-form-label,:root:not(.dark) .modal-content .admin-form label,:root:not(.dark) .modal-content .form-text,:root:not(.dark) .modal-content small,:root:not(.dark) .modal-content p,:root:not(.dark) .modal-content span,:root:not(.dark) .modal-content .modal-section,:root:not(.dark) .modal-content .modal-section p,:root:not(.dark) .modal-content .modal-section span,:root:not(.dark) .modal-content .modal-section label,:root:not(.dark) .student-id-modal-overlay label,:root:not(.dark) .student-id-modal-overlay .admin-form-label,:root:not(.dark) .student-id-modal-overlay .label-bold,:root:not(.dark) .student-id-modal-overlay p,:root:not(.dark) .student-id-modal-overlay span,:root:not(.dark) .student-id-modal-overlay .modal-section,:root:not(.dark) .student-id-modal-overlay .modal-section p,:root:not(.dark) .student-id-modal-overlay .modal-section span,:root:not(.dark) .student-id-modal-overlay .modal-section label,:root.dark .modal-content .modal-subtitle,:root.dark .modal-content label,:root.dark .modal-content .admin-form-label,:root.dark .student-id-modal-overlay label,:root.dark .student-id-modal-overlay .admin-form-label,:root.dark .student-id-modal-overlay .label-bold,:root.dark .student-id-modal-overlay p,:root.dark .student-id-modal-overlay span,:root.dark .student-id-modal-overlay .modal-section,:root.dark .student-id-modal-overlay .modal-section label{color:#fff!important;text-shadow:0 1px 2px rgba(0,0,0,.3)}:root:not(.dark) .modal-content label,:root:not(.dark) .modal-content .admin-form-label,:root:not(.dark) .student-id-modal-overlay label,:root:not(.dark) .student-id-modal-overlay .admin-form-label,:root:not(.dark) .student-id-modal-overlay .label-bold,:root:not(.dark) .modal-content .modal-section label,:root:not(.dark) .student-id-modal-overlay .modal-section label,:root.dark .modal-content label,:root.dark .modal-content .admin-form-label,:root.dark .student-id-modal-overlay label,:root.dark .student-id-modal-overlay .label-bold,:root.dark .modal-content .modal-section label,:root.dark .student-id-modal-overlay .modal-section label{font-weight:600}.modal-content input,.modal-content select,.modal-content textarea,.modal-content .admin-input,.student-id-modal-overlay input,.student-id-modal-overlay select,.student-id-modal-overlay textarea,.student-id-modal-overlay .admin-input{-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px)}:root:not(.dark) .modal-content input:not(:disabled):not([readonly]),:root:not(.dark) .modal-content textarea:not(:disabled):not([readonly]),:root:not(.dark) .modal-content .admin-input:not(:disabled):not([readonly]),:root:not(.dark) .student-id-modal-overlay input:not(:disabled):not([readonly]),:root:not(.dark) .student-id-modal-overlay textarea:not(:disabled):not([readonly]),:root:not(.dark) .student-id-modal-overlay .admin-input:not(:disabled):not([readonly]),:root.dark .modal-content input,:root.dark .modal-content textarea,:root.dark .modal-content .admin-input,:root.dark .student-id-modal-overlay input,:root.dark .student-id-modal-overlay textarea,:root.dark .student-id-modal-overlay .admin-input{color:#e2e8f0!important;background:#1e293b33!important;border-color:#ffffff26!important}:root:not(.dark) .modal-content select,:root:not(.dark) .student-id-modal-overlay select,:root.dark .modal-content select,:root.dark .student-id-modal-overlay select{color:#fff!important;background:#1e293b59!important;border-color:#ffffff2e!important;text-shadow:0 1px 2px rgba(0,0,0,.25)}:root:not(.dark) .modal-content input::placeholder,:root:not(.dark) .modal-content textarea::placeholder,:root:not(.dark) .student-id-modal-overlay input::placeholder,:root:not(.dark) .student-id-modal-overlay textarea::placeholder,:root.dark .modal-content input::placeholder,:root.dark .modal-content textarea::placeholder,:root.dark .student-id-modal-overlay input::placeholder,:root.dark .student-id-modal-overlay textarea::placeholder{color:#94a3b8!important;opacity:1}.modal-content select option,.student-id-modal-overlay select option{background:#0f172afa!important;color:#fff!important;padding:.5rem .75rem}.modal-content .admin-table tr:hover,.student-id-modal-overlay .admin-table tr:hover{background:transparent!important;-webkit-backdrop-filter:none;backdrop-filter:none}.modal-content input:disabled,.modal-content input[readonly],.student-id-modal-overlay input:disabled,.student-id-modal-overlay input[readonly]{color:#fff!important;background:#00000040!important;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-color:#ffffff26!important;opacity:1}.modal-content input:disabled::placeholder,.modal-content input[readonly]::placeholder,.student-id-modal-overlay input:disabled::placeholder,.student-id-modal-overlay input[readonly]::placeholder{color:#ffffffe6!important}:root:not(.dark) .modal-content input:disabled,:root:not(.dark) .modal-content input[readonly],:root:not(.dark) .student-id-modal-overlay input:disabled,:root:not(.dark) .student-id-modal-overlay input[readonly],:root.dark .modal-content input:disabled,:root.dark .modal-content input[readonly],:root.dark .student-id-modal-overlay input:disabled,:root.dark .student-id-modal-overlay input[readonly]{color:#fff!important;background:#00000040!important;border-color:#ffffff26!important}.modal-content select:disabled,.student-id-modal-overlay select:disabled{color:#fff!important;background:#0003!important;border-color:#ffffff26!important}.modal-content input[type=checkbox],.student-id-modal-overlay input[type=checkbox]{background:#1e293b99!important;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.modal-content .modal-action-secondary,.modal-content .admin-btn-secondary:not(.danger):not(.icon-only),.student-id-modal-overlay .modal-action-secondary,.student-id-modal-overlay .admin-btn-secondary:not(.danger):not(.icon-only){color:#fff!important;border-color:#ffffff40!important;background:#ffffff0f!important;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.modal-content .modal-action-secondary:hover,.modal-content .admin-btn-secondary:not(.danger):not(.icon-only):hover,.student-id-modal-overlay .modal-action-secondary:hover,.student-id-modal-overlay .admin-btn-secondary:not(.danger):not(.icon-only):hover{background:#ffffff1f!important;border-color:#ffffff59!important}.modal-content .admin-btn-primary,.modal-content .modal-action-primary,.student-id-modal-overlay .admin-btn-primary{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#3b82f68c!important;border:1px solid rgba(255,255,255,.25)}.student-form-summary-bar{background:#ffffff08;-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);border-color:#ffffff1a!important}.student-form-summary-label{color:#fff!important;text-shadow:0 1px 2px rgba(0,0,0,.3)}.student-form-summary-total{color:#93c5fd!important;font-weight:700}.modal-content [style*=color]:not(button):not(input):not(select):not(textarea):not(option),.student-id-modal-overlay [style*=color]:not(button):not(input):not(select):not(textarea):not(option){color:#fff!important;text-shadow:0 1px 2px rgba(0,0,0,.25)}.modal-content .cert-visual-name{color:var(--cert-visual-name-color)!important;-webkit-text-fill-color:var(--cert-visual-name-color)!important;text-shadow:none!important}.modal-content .cert-visual-seal-text{color:var(--cert-visual-seal-color)!important;-webkit-text-fill-color:var(--cert-visual-seal-color)!important;text-shadow:none!important}.modal-glass-panel,.student-id-modal-overlay .modal-glass-panel{-webkit-backdrop-filter:none;backdrop-filter:none;border-radius:20px;background:transparent!important;border:2px solid rgba(255,255,255,.12)!important;box-shadow:0 0 0 1px #ffffff0a inset}.modal-glass-panel,.modal-glass-panel span,.modal-glass-panel p,.student-id-modal-overlay .modal-glass-panel,.student-id-modal-overlay .modal-glass-panel span,.student-id-modal-overlay .modal-glass-panel p{color:#fff!important;text-shadow:0 1px 2px rgba(0,0,0,.3)}.student-id-modal-overlay .cards-wrapper{background:#f3f4f6!important;border-color:#e5e7eb!important}.student-id-modal-overlay .cards-wrapper .id-card{background:#fff!important;color:#000!important;border-color:#e5e7eb!important}.student-id-modal-overlay .cards-wrapper .card-body,.student-id-modal-overlay .cards-wrapper .verso-body{background:#fff!important;color:#000!important}.student-id-modal-overlay .cards-wrapper .card-body *,.student-id-modal-overlay .cards-wrapper .verso-body *,.student-id-modal-overlay .cards-wrapper .card-body p,.student-id-modal-overlay .cards-wrapper .card-body label,.student-id-modal-overlay .cards-wrapper .verso-body p,.student-id-modal-overlay .cards-wrapper .verso-body label{color:#000!important;text-shadow:none!important}.student-id-modal-overlay .cards-wrapper .info-label,.student-id-modal-overlay .cards-wrapper .card-body label.info-label,.student-id-modal-overlay .cards-wrapper .info-value{color:#000!important}.student-id-modal-overlay .cards-wrapper .verso-title,.student-id-modal-overlay .cards-wrapper h2.verso-title,.student-id-modal-overlay .student-id-container .cards-wrapper .verso-title,.student-id-modal-overlay .student-id-container .cards-wrapper h2{color:#1e3a8a!important;text-shadow:none!important}.student-id-modal-overlay .cards-wrapper .director-name,.student-id-modal-overlay .cards-wrapper .director-title{color:#000!important;text-shadow:none!important}.student-id-modal-overlay .cards-wrapper .card-footer,.student-id-modal-overlay .cards-wrapper .verso-top-bar,.student-id-modal-overlay .cards-wrapper .id-card-header .header-text,.student-id-modal-overlay .cards-wrapper .org-name,.student-id-modal-overlay .cards-wrapper .org-address,.student-id-modal-overlay .cards-wrapper .org-cnpj{color:#fff!important}.student-id-modal-overlay .student-id-container .cards-wrapper,.student-id-modal-overlay .student-id-container .cards-wrapper *{-webkit-backdrop-filter:none!important;backdrop-filter:none!important}.student-id-modal-overlay .cards-wrapper [style*=background]:not(button):not(input):not(select):not(textarea):not(option){background:inherit!important;color:inherit!important}.student-id-modal-overlay .cards-wrapper [style*=color]:not(button):not(input):not(select):not(textarea):not(option){color:inherit!important}.modal-content:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;border-top-left-radius:32px;border-top-right-radius:32px;background:linear-gradient(90deg,var(--color-primary),var(--color-secondary))}.modal-title{display:flex;align-items:center;gap:.5rem;font-weight:700;letter-spacing:.2px}.modal-subtitle{color:var(--text-secondary);font-size:.9rem;padding:.75rem 1.25rem 0}.modal-section{background:var(--bg-surface);border:1px solid var(--border-color);border-radius:8px;padding:1rem;margin:.5rem 0 1rem}.modal-content .modal-section,.student-id-modal-overlay .modal-section{background:transparent!important;border-color:#ffffff1f!important}:root.dark .modal-content .modal-section,:root.dark .student-id-modal-overlay .modal-section{background:transparent!important;border-color:#ffffff14!important}.modal-content .modal-body div,.modal-content .modal-section div,.modal-content .modal-section>div,.student-id-modal-overlay .modal-section div,.student-id-modal-overlay .modal-section>div{background:transparent!important;border-color:#ffffff24!important;color:#fff!important}.modal-content .modal-section label,.modal-content .modal-body label[style],.student-id-modal-overlay .modal-section label{background:transparent!important;border-color:#ffffff29!important;color:#fff!important}.modal-content .modal-body input,.modal-content .modal-body select,.modal-content .modal-body textarea,.modal-content .modal-section input,.modal-content .modal-section select,.modal-content .modal-section textarea{color:inherit}.modal-content .modal-section strong,.modal-content .modal-body strong,.student-id-modal-overlay .modal-section strong{color:#fff!important}:root.dark .modal-content .modal-body div,:root.dark .modal-content .modal-section div,:root.dark .modal-content .modal-section>div,:root.dark .student-id-modal-overlay .modal-section div,:root.dark .student-id-modal-overlay .modal-section>div{background:transparent!important;border-color:#ffffff14!important;color:#f1f5f9!important}.modal-content input[type=date],.student-id-modal-overlay input[type=date]{-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield;min-height:2.75rem;line-height:1.5;opacity:1!important;display:flex;align-items:center}.modal-content input[type=date]::-webkit-date-and-time-value,.student-id-modal-overlay input[type=date]::-webkit-date-and-time-value{color:#e2e8f0!important;text-align:left;margin-top:auto;margin-bottom:auto}:root:not(.dark) .modal-content input[type=date]::-webkit-date-and-time-value,:root:not(.dark) .student-id-modal-overlay input[type=date]::-webkit-date-and-time-value{color:#e2e8f0!important}:root.dark .modal-content .modal-section label,:root.dark .student-id-modal-overlay .modal-section label{background:#ffffff04!important;color:#fff!important}:root.dark .modal-content .modal-section strong,:root.dark .modal-content .modal-body strong,:root.dark .student-id-modal-overlay .modal-section strong{color:#fff!important}.student-id-modal-overlay .admin-card{background:transparent!important;border-color:#ffffff2e!important}:root.dark .student-id-modal-overlay .admin-card{background:transparent!important;border-color:#ffffff1a!important}.modal-content div:not(.cert-visual-seal-wrap):not(.cert-visual-seal-shape):not(.cert-visual-seal-text){background:transparent!important;border-color:#ffffff24!important;color:#fff!important}:root.dark .modal-content div:not(.cert-visual-seal-wrap):not(.cert-visual-seal-shape):not(.cert-visual-seal-text){background:transparent!important;border-color:#ffffff14!important;color:#f1f5f9!important}.modal-content .modal-header,.modal-content .modal-footer{color:#fff!important}.modal-content [style*=background]:not(button):not(input):not(select):not(textarea):not(option):not(.modal-alert):not(.modal-alert-error):not(.modal-alert-success):not(.cert-visual-seal-wrap):not(.cert-visual-seal-shape),.student-id-modal-overlay [style*=background]:not(button):not(input):not(select):not(textarea):not(option):not(.modal-alert):not(.modal-alert-error):not(.modal-alert-success):not(.cert-visual-seal-wrap):not(.cert-visual-seal-shape){background:transparent!important;color:#fff!important}:root.dark .modal-content [style*=background]:not(button):not(input):not(select):not(textarea):not(option):not(.modal-alert):not(.modal-alert-error):not(.modal-alert-success):not(.cert-visual-seal-wrap):not(.cert-visual-seal-shape),:root.dark .student-id-modal-overlay [style*=background]:not(button):not(input):not(select):not(textarea):not(option):not(.modal-alert):not(.modal-alert-error):not(.modal-alert-success):not(.cert-visual-seal-wrap):not(.cert-visual-seal-shape){background:transparent!important;color:#f1f5f9!important}.modal-content span[style*=background],.modal-content p[style*=background],.student-id-modal-overlay span[style*=background],.student-id-modal-overlay p[style*=background]{background:transparent!important;border-color:#fff3!important;color:#fff!important}:root.dark .modal-content span[style*=background],:root.dark .modal-content p[style*=background],:root.dark .student-id-modal-overlay span[style*=background],:root.dark .student-id-modal-overlay p[style*=background]{background:transparent!important;color:#f1f5f9!important}.student-id-modal-overlay .profile-modal-btn-glass,.modal-content .profile-modal-btn-glass{background:transparent!important;border:2px solid rgba(255,255,255,.32)!important;border-radius:14px;color:#fff!important;-webkit-backdrop-filter:none;backdrop-filter:none;transition:background .2s,border-color .2s;box-shadow:0 0 0 1px #ffffff0d inset}.student-id-modal-overlay .profile-modal-btn-glass:hover:not(:disabled),.modal-content .profile-modal-btn-glass:hover:not(:disabled){background:#ffffff26!important;border-color:#ffffff7a!important}.student-id-modal-overlay .profile-modal-btn-glass:disabled,.modal-content .profile-modal-btn-glass:disabled{opacity:.7}.student-id-modal-overlay .profile-modal-btn-danger-glass,.modal-content .profile-modal-btn-danger-glass{background:#dc262659!important;border:2px solid rgba(248,113,113,.5)!important;border-radius:14px;box-shadow:0 0 0 1px #ffffff0a inset;color:#fca5a5!important;-webkit-backdrop-filter:none;backdrop-filter:none;transition:background .2s,border-color .2s}.student-id-modal-overlay .profile-modal-btn-danger-glass:hover,.modal-content .profile-modal-btn-danger-glass:hover{background:#dc262680!important;border-color:#f87171b3!important;color:#fecaca!important}@media (prefers-reduced-motion: reduce){.modal-overlay,.scaleIn,.animate-scale-in{animation:none}}.modal-action-primary{background:var(--color-primary);color:#fff;border:none;border-radius:8px;padding:.8rem 1rem;font-weight:700;cursor:pointer;box-shadow:var(--shadow-sm);transition:transform .15s ease,box-shadow .2s ease,filter .2s ease}.modal-action-primary:hover{transform:translateY(-1px);box-shadow:var(--shadow-md);filter:brightness(1.02)}.modal-action-primary:active{transform:translateY(0)}.modal-action-secondary{background:var(--bg-surface-hover);color:var(--text-primary);border:1px solid var(--border-color);border-radius:8px;padding:.8rem 1rem;font-weight:600;cursor:pointer;transition:transform .15s ease,box-shadow .2s ease,background .2s ease}.modal-action-secondary:hover{transform:translateY(-1px);box-shadow:var(--shadow-sm);background:var(--bg-surface-active)}.card-grid-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(460px,1fr));gap:1.25rem;align-items:stretch}@media (max-width: 480px){.card-grid-list{grid-template-columns:1fr}}.admin-interactive-card{background:var(--bg-surface);border:1px solid var(--border-color);border-radius:10px;padding:1rem;box-shadow:var(--shadow-sm);height:100%;display:flex;flex-direction:column;min-width:0;overflow:hidden}.admin-interactive-card h4,.admin-interactive-card h3{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.admin-interactive-card p{overflow:hidden;text-overflow:ellipsis}.content-course-card{overflow:visible}.content-course-card p{white-space:normal;overflow:visible;text-overflow:clip;display:block}.admin-filters-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:1rem;margin-bottom:1rem}.admin-filters-grid label{font-size:.8rem;font-weight:600;display:block;margin-bottom:.3rem;color:var(--text-secondary)}.admin-empty-state{padding:1.5rem;text-align:center;border:1px dashed var(--border-color);border-radius:8px;background:var(--bg-surface-hover)}.admin-empty-state-icon{font-size:2rem;margin-bottom:.5rem}.admin-empty-state h4{margin:0 0 .35rem;color:var(--text-primary);font-size:1rem}.admin-empty-state p{margin:0;color:var(--text-secondary);font-size:.85rem}.truncate{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nowrap{white-space:nowrap}.scroll-x{overflow-x:auto;-webkit-overflow-scrolling:touch}@keyframes mobileOverlayFadeIn{0%{opacity:0}to{opacity:1}}@keyframes mobilePanelSlideIn{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes mobileContentReveal{0%{opacity:0;transform:translate(16px)}to{opacity:1;transform:translate(0)}}@keyframes mobileProfileReveal{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 768px){.portal-container .portal-header{position:fixed!important;top:0!important;left:0!important;right:0!important;z-index:1200!important}.portal-container .portal-main-wrapper{padding-top:calc(76px + min(var(--ibm-safe-top, env(safe-area-inset-top)),44px))}.portal-container{min-height:100vh;min-height:100dvh}.portal-header{padding:calc(.75rem + min(var(--ibm-safe-top, env(safe-area-inset-top)),44px)) 1rem .75rem!important;top:0!important;margin:0 0 1rem!important;flex-direction:row;align-items:center;gap:.5rem;border-radius:0!important;width:100%!important}.portal-header-left{flex:1 1 auto;min-width:0}.portal-header-title-wrap{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.portal-header-left .logo img,.portal-header img[alt="Logo IBM"]{height:32px!important;margin-right:.5rem!important}.portal-header-left h1{font-size:1rem!important}.portal-header-desk{display:none!important}.portal-header-hamburger{display:flex!important;flex-shrink:0}.portal-mobile-menu-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000073;z-index:1000;opacity:0;visibility:hidden;transition:opacity .3s cubic-bezier(.4,0,.2,1),visibility .3s step-end;-webkit-backdrop-filter:blur(0);backdrop-filter:blur(0)}.portal-mobile-menu-overlay.portal-mobile-menu-open{opacity:1;visibility:visible;transition:opacity .3s cubic-bezier(.4,0,.2,1),visibility 0s step-start;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.portal-mobile-menu-panel{position:fixed;top:0;right:0;width:min(300px,85vw);max-width:100%;height:100%;background:var(--bg-surface);box-shadow:-8px 0 32px #0000001f,-2px 0 8px #00000014;z-index:1001;display:flex;flex-direction:column;transform:translate(100%);transition:transform .35s cubic-bezier(.32,.72,0,1),box-shadow .35s ease;padding-top:env(safe-area-inset-top);will-change:transform}.portal-mobile-menu-panel.portal-mobile-menu-open{transform:translate(0);box-shadow:-12px 0 40px #00000026,-4px 0 12px #00000014}.portal-mobile-menu-open .portal-mobile-menu-header{animation:mobileContentReveal .35s cubic-bezier(.4,0,.2,1) backwards}.portal-mobile-menu-open .user-profile-menu-inline{animation:mobileProfileReveal .4s cubic-bezier(.4,0,.2,1) .05s backwards}.portal-mobile-menu-open .portal-mobile-menu-nav-label{animation:mobileContentReveal .35s cubic-bezier(.4,0,.2,1) .12s backwards}.portal-mobile-menu-open .portal-mobile-menu-item{animation:mobileContentReveal .35s cubic-bezier(.4,0,.2,1) backwards}.portal-mobile-menu-open .portal-mobile-menu-item:nth-child(2){animation-delay:.1s}.portal-mobile-menu-open .portal-mobile-menu-item:nth-child(3){animation-delay:.14s}.portal-mobile-menu-open .portal-mobile-menu-item:nth-child(4){animation-delay:.18s}.portal-mobile-menu-open .portal-mobile-menu-item:nth-child(5){animation-delay:.22s}.portal-mobile-menu-open .portal-mobile-menu-item:nth-child(6){animation-delay:.26s}.portal-mobile-menu-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;border-bottom:1px solid var(--border-color);font-weight:600;color:var(--text-primary)}.portal-mobile-menu-close{display:flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;border:none;border-radius:8px;background:transparent;color:var(--text-secondary);cursor:pointer;transition:background .2s cubic-bezier(.4,0,.2,1),color .2s ease,transform .15s ease}.portal-mobile-menu-close:hover{background:var(--bg-surface-hover);color:var(--text-primary)}.portal-mobile-menu-close:active{transform:scale(.95)}.portal-mobile-menu-body{flex:1;overflow-y:auto;display:flex;flex-direction:column}.portal-mobile-menu-profile-block{flex-shrink:0}.portal-mobile-menu-nav-label{display:block;padding:.5rem 1.25rem .25rem;font-size:.75rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em}.portal-mobile-menu-nav{flex:1;overflow-y:auto;padding:.25rem 0 .75rem;display:flex;flex-direction:column;gap:.25rem}.portal-mobile-menu-item{display:flex;align-items:center;width:100%;padding:1rem 1.25rem;border:none;border-radius:10px;margin:0 .5rem;width:calc(100% - 1rem);background:transparent;color:var(--text-primary);font-size:1rem;font-weight:500;text-align:left;cursor:pointer;transition:background .25s cubic-bezier(.4,0,.2,1),color .2s ease,transform .2s cubic-bezier(.4,0,.2,1);text-decoration:none;font-family:inherit}.portal-mobile-menu-item:hover,.portal-mobile-menu-item:active{background:var(--bg-surface-hover);color:var(--color-primary)}.portal-mobile-menu-item:active{transform:scale(.98)}.portal-mobile-menu-divider{height:1px;background:var(--border-color);margin:.5rem 1rem;border:none;padding:0}.portal-mobile-menu-logout{color:var(--status-danger-text)!important}.portal-mobile-menu-logout:hover{background:var(--status-danger-bg)!important;color:var(--status-danger-text)!important}.user-profile-menu-inline{padding:0 1rem .75rem;border-bottom:1px solid var(--border-color)}.user-profile-menu-inline-head{display:flex;align-items:center;gap:.75rem;padding:.5rem 0 .75rem}.user-profile-menu-inline-info{min-width:0;flex:1}.user-profile-menu-inline-name{margin:0;font-weight:600;font-size:1rem;color:var(--text-primary)}.user-profile-menu-inline-email{margin:.25rem 0 0;font-size:.8rem;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-profile-menu-inline-actions{display:flex;flex-direction:column;gap:.15rem}.user-profile-menu-inline-btn{display:flex;align-items:center;width:100%;padding:.75rem 1rem;border:none;border-radius:10px;background:transparent;color:var(--text-primary);font-size:.9rem;text-align:left;cursor:pointer;transition:background .25s cubic-bezier(.4,0,.2,1),color .2s ease,transform .2s cubic-bezier(.4,0,.2,1);font-family:inherit}.user-profile-menu-inline-btn:hover{background:var(--bg-surface-hover);color:var(--color-primary)}.user-profile-menu-inline-btn:active{transform:scale(.98)}.user-profile-menu-inline-logout{color:var(--status-danger-text)!important}.user-profile-menu-inline-logout:hover{background:var(--status-danger-bg)!important;color:var(--status-danger-text)!important}.portal-main-wrapper{padding:0 .5rem}.portal-content{padding:.75rem!important;overflow-x:hidden}.portal-content>*+*{margin-top:1rem}.portal-sidebar{max-height:45vh;min-height:220px;padding:.75rem 1rem!important;padding-bottom:max(.75rem,env(safe-area-inset-bottom))!important;border-top:1px solid var(--border-color);-webkit-overflow-scrolling:touch;overflow-x:hidden}.portal-sidebar>div:first-of-type{padding:1rem!important}.portal-sidebar h3,.portal-sidebar h4{font-size:.9rem;margin:.5rem 0 .35rem;color:var(--text-primary);font-weight:600}.portal-courses-header{flex-wrap:wrap!important;gap:.5rem .75rem!important;margin-bottom:1.25rem!important}.portal-courses-header h2{width:100%;margin-bottom:0!important}.portal-modality-filters{flex-wrap:wrap!important;gap:.35rem!important;min-width:0;width:100%}.portal-modality-filters button{padding:.35rem .6rem!important;font-size:.75rem!important;white-space:nowrap;flex-shrink:0}.portal-gallery-grid{grid-template-columns:1fr!important;gap:1rem!important}.portal-content .player-wrapper{border-radius:8px;min-height:0;flex-shrink:0}a[href*="wa.me"]{bottom:max(1rem,env(safe-area-inset-bottom))!important;right:max(1rem,env(safe-area-inset-right))!important}html.native-app .admin-container{padding-top:calc(64px + min(var(--ibm-safe-top, env(safe-area-inset-top)),44px));padding-bottom:0;max-height:none!important}.admin-content-scroll>*+*,.admin-content-grid>*+*{margin-top:1rem}.admin-header{position:fixed!important;left:0!important;right:0!important;z-index:1200!important;padding:calc(.75rem + min(var(--ibm-safe-top, env(safe-area-inset-top)),44px)) 1rem .75rem!important;margin:0 0 1rem!important;top:0!important;flex-wrap:nowrap;gap:.5rem;min-height:auto}.admin-header-left{flex:1;min-width:0}.admin-header-left h1{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.admin-header-actions{display:none!important}.admin-header-hamburger{display:flex!important;flex-shrink:0}.admin-mobile-menu-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000073;z-index:1000;opacity:0;visibility:hidden;transition:opacity .3s cubic-bezier(.4,0,.2,1),visibility .3s step-end;-webkit-backdrop-filter:blur(0);backdrop-filter:blur(0)}.admin-mobile-menu-overlay.admin-mobile-menu-open{opacity:1;visibility:visible;transition:opacity .3s cubic-bezier(.4,0,.2,1),visibility 0s step-start;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.admin-mobile-menu-panel{position:fixed;top:0;right:0;width:min(300px,85vw);max-width:100%;height:100%;background:var(--bg-surface);box-shadow:-8px 0 32px #0000001f,-2px 0 8px #00000014;z-index:1001;display:flex;flex-direction:column;transform:translate(100%);transition:transform .35s cubic-bezier(.32,.72,0,1),box-shadow .35s ease;padding-top:env(safe-area-inset-top);will-change:transform}.admin-mobile-menu-panel.admin-mobile-menu-open{transform:translate(0);box-shadow:-12px 0 40px #00000026,-4px 0 12px #00000014}.admin-mobile-menu-open .admin-mobile-menu-header{animation:mobileContentReveal .35s cubic-bezier(.4,0,.2,1) backwards}.admin-mobile-menu-open .user-profile-menu-inline{animation:mobileProfileReveal .4s cubic-bezier(.4,0,.2,1) .05s backwards}.admin-mobile-menu-open .admin-mobile-menu-item{animation:mobileContentReveal .35s cubic-bezier(.4,0,.2,1) .1s backwards}.admin-mobile-menu-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;border-bottom:1px solid var(--border-color);font-weight:600;color:var(--text-primary)}.admin-mobile-menu-close{display:flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;border:none;border-radius:8px;background:transparent;color:var(--text-secondary);cursor:pointer;transition:background .2s cubic-bezier(.4,0,.2,1),color .2s ease,transform .15s ease}.admin-mobile-menu-close:hover{background:var(--bg-surface-hover);color:var(--text-primary)}.admin-mobile-menu-close:active{transform:scale(.95)}.admin-mobile-menu-body{flex:1;overflow-y:auto;display:flex;flex-direction:column}.admin-mobile-menu-profile-block{flex-shrink:0}.admin-mobile-menu-divider{height:1px;background:var(--border-color);margin:.5rem 1rem;border:none;padding:0}.admin-mobile-menu-nav{padding:.75rem 0;display:flex;flex-direction:column;gap:.25rem}.admin-mobile-menu-item{display:flex;align-items:center;width:calc(100% - 1rem);margin:0 .5rem;padding:1rem 1.25rem;border:none;border-radius:10px;background:transparent;color:var(--color-primary);font-size:1rem;font-weight:500;text-align:left;cursor:pointer;transition:background .25s cubic-bezier(.4,0,.2,1),color .2s ease,transform .2s cubic-bezier(.4,0,.2,1);text-decoration:none;font-family:inherit}.admin-mobile-menu-item:hover,.admin-mobile-menu-item:active{background:var(--bg-surface-hover);color:var(--color-primary)}.admin-mobile-menu-item:active{transform:scale(.98)}.admin-tabs{padding:.5rem .75rem!important;margin:0 .5rem .75rem!important;min-height:auto;gap:.35rem;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;flex-wrap:nowrap;justify-content:flex-start;scroll-behavior:smooth}.admin-tabs::-webkit-scrollbar{display:none}.admin-tabs button{transition:background .25s cubic-bezier(.4,0,.2,1),color .2s ease,transform .2s cubic-bezier(.4,0,.2,1)}.admin-tabs button:active{transform:scale(.97)}.admin-tabs button{padding:.6rem .9rem!important;font-size:.8rem!important;white-space:nowrap;flex-shrink:0;min-height:44px}.admin-content-scroll{padding:.5rem .75rem 1rem!important}.admin-content-grid{margin:0 .5rem!important;gap:1rem}.validate-token-page{position:relative;min-height:100vh;display:flex;align-items:center;justify-content:center;padding:1.5rem;background:radial-gradient(circle at 0% 0%,rgba(59,130,246,.18),transparent 55%),radial-gradient(circle at 100% 100%,rgba(16,185,129,.18),transparent 55%),var(--bg-main);color:var(--text-primary);overflow:hidden}.validate-token-card{backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.validate-token-body{padding:20px}.validate-token-layout{display:grid;gap:24px;align-items:center}@media (min-width: 900px){.validate-token-layout{grid-template-columns:1fr}}.validate-token-details{align-self:center;justify-self:center;margin:0 auto;max-width:480px;text-align:center;width:100%;padding:0 8px;box-sizing:border-box}.validate-token-photo{justify-self:center}.validate-token-photo img,.validate-token-photo div{box-shadow:0 18px 45px #0f172a8c}.validate-token-info-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.validate-token-info-list{display:flex;flex-direction:column;gap:12px;background:var(--bg-surface-hover);padding:1.5rem;border-radius:12px;border:1px solid var(--divider-color)}.validate-token-info-row{display:grid;grid-template-columns:auto 1fr;gap:18px;align-items:center;border-bottom:1px solid var(--divider-color);padding-bottom:8px}.validate-token-info-label{justify-self:start;padding-right:8px}.validate-token-info-value{justify-self:end}.validate-token-info-label{font-size:.8rem;color:var(--text-secondary)}.validate-token-info-value{font-weight:600;text-align:right}.validate-token-hero{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;pointer-events:none;opacity:.18}.validate-token-hero-figure{width:140px;height:140px;border-radius:999px;background:radial-gradient(circle at 30% 20%,#e0f2fe,#0369a1);box-shadow:0 18px 40px #0f172a73,0 0 0 18px #0f172a66;transform:translate(-80px);animation:validatePersonFloat 9s ease-in-out infinite alternate}.validate-token-hero-card{position:absolute;width:220px;height:140px;border-radius:18px;background:linear-gradient(135deg,#0f172a,#1d4ed8);box-shadow:0 20px 50px #0f172a99,0 0 0 1px #94a3b873;transform-origin:center;animation:validateCardFloat 9s ease-in-out infinite alternate}.validate-token-hero-card:before{content:"";position:absolute;top:18px;right:18px;bottom:54px;left:18px;border-radius:12px;background:linear-gradient(120deg,rgba(248,250,252,.2),transparent),linear-gradient(135deg,#0f766ee6,#2563ebe6)}.validate-token-hero-card:after{content:"";position:absolute;left:20px;bottom:18px;width:80px;height:10px;border-radius:999px;background:#0f172a99}.validate-token-hero-check{position:absolute;right:26%;top:46%;width:64px;height:64px;border-radius:999px;background:radial-gradient(circle at 30% 20%,#bbf7d0,#16a34a);box-shadow:0 16px 40px #16a34a99,0 0 0 10px #22c55e59;display:flex;align-items:center;justify-content:center;color:#ecfdf5;font-size:1.4rem}.validate-token-hero-check:before{content:"✓";display:block;animation:validateCheckPulse 1.8s ease-in-out infinite}@keyframes validatePersonFloat{0%{transform:translate(-80px,8px) scale(1)}50%{transform:translate(-72px,-10px) scale(1.02)}to{transform:translate(-88px,6px) scale(.99)}}@keyframes validateCardFloat{0%{transform:translate(60px,-10px) rotate(-10deg)}50%{transform:translate(68px,4px) rotate(-4deg)}to{transform:translate(52px,-6px) rotate(-8deg)}}@keyframes validateCheckPulse{0%{transform:scale(.94);opacity:.8}50%{transform:scale(1.06);opacity:1}to{transform:scale(.94);opacity:.8}}.admin-table-container{margin:0 -.5rem;border-radius:0}.admin-table th,.admin-table td{padding:.6rem .5rem!important;font-size:.8rem!important}.admin-subtabs{padding:.4rem!important;margin-bottom:.75rem;gap:.35rem}.admin-subtab-btn{min-width:120px;padding:.5rem .75rem!important;font-size:.8rem!important}.admin-card,.admin-interactive-card,.content-course-card{padding:.75rem 1rem!important}.admin-btn-secondary,.admin-action-btn{min-height:44px;padding:.6rem .9rem!important}.btn-ver-portal{padding:.5rem .75rem!important;font-size:.8rem!important}.modal-overlay{padding:max(.75rem,env(safe-area-inset-top)) max(.75rem,env(safe-area-inset-right)) max(.75rem,env(safe-area-inset-bottom)) max(.75rem,env(safe-area-inset-left));align-items:flex-start;justify-content:center;overflow-y:auto}.modal-content,.modal-content.modal-xl,.modal-content.modal-lg{width:100%!important;max-width:100%!important;max-height:calc(100dvh - 2rem)!important;margin:0;border-radius:16px;display:flex!important;flex-direction:column!important;min-height:0;padding:0!important;overflow:hidden!important;box-sizing:border-box}.modal-content .modal-header{flex-shrink:0;padding:1rem 1rem 1rem 1.25rem}.modal-content .modal-body{flex:1;min-height:0;overflow-y:auto;padding:1rem 1.25rem!important;-webkit-overflow-scrolling:touch}.modal-content .modal-footer{flex-shrink:0;padding:.75rem 1.25rem!important;flex-wrap:wrap;gap:.5rem}.modal-action-primary,.modal-action-secondary{min-height:44px;flex:1 1 auto;min-width:120px}.student-id-modal-overlay{position:fixed!important;top:0!important;left:0!important;right:0!important;bottom:0!important;width:100%!important;height:100%!important;max-width:100vw!important;max-height:100dvh!important;padding:max(.75rem,env(safe-area-inset-top)) max(.75rem,env(safe-area-inset-right)) max(.75rem,env(safe-area-inset-bottom)) max(.75rem,env(safe-area-inset-left))!important;box-sizing:border-box!important;z-index:2147483647!important;display:flex!important;align-items:center!important;justify-content:center!important;overflow-y:auto!important;-webkit-overflow-scrolling:touch}.student-id-modal-overlay>div.animate-scale-in{width:100%!important;max-width:100%!important;max-height:calc(100dvh - 2rem)!important;min-height:0!important;overflow-y:auto!important;-webkit-overflow-scrolling:touch;box-sizing:border-box!important}.student-id-modal-overlay .student-id-container{max-width:100%!important;max-height:calc(100dvh - 2rem)!important;width:100%!important;box-sizing:border-box!important;padding:1rem!important}.student-id-modal-overlay .cards-wrapper{transform:scale(.68);transform-origin:top center;padding:.5rem 0 1rem!important;gap:1rem!important}.student-id-modal-overlay .modal-header{margin-bottom:.75rem!important}.student-id-modal-overlay .modal-title{font-size:1.2rem!important}.student-id-modal-overlay .modal-actions{margin-top:1rem!important;gap:.75rem!important}.student-id-modal-overlay .btn-close,.student-id-modal-overlay .btn-print{padding:.65rem 1.25rem!important;font-size:.9rem!important}.content-course-cards-grid,.card-grid-list{grid-template-columns:1fr!important;gap:1rem}.admin-filters-grid{grid-template-columns:1fr}@media (prefers-reduced-motion: reduce){.portal-mobile-menu-overlay,.admin-mobile-menu-overlay{transition-duration:.12s}.portal-mobile-menu-panel,.admin-mobile-menu-panel{transition-duration:.2s}.portal-mobile-menu-open .portal-mobile-menu-header,.portal-mobile-menu-open .user-profile-menu-inline,.portal-mobile-menu-open .portal-mobile-menu-nav-label,.portal-mobile-menu-open .portal-mobile-menu-item,.admin-mobile-menu-open .admin-mobile-menu-header,.admin-mobile-menu-open .user-profile-menu-inline,.admin-mobile-menu-open .admin-mobile-menu-item{animation-duration:.15s;animation-delay:0s}.portal-mobile-menu-item:active,.admin-mobile-menu-item:active,.user-profile-menu-inline-btn:active,.portal-mobile-menu-close:active,.admin-mobile-menu-close:active{transform:none}}}@media (max-width: 768px){.validate-token-page{align-items:stretch;padding:1rem}.validate-token-layout{grid-template-columns:1fr;gap:20px}.validate-token-photo{order:-1}.validate-token-hero{opacity:.12}.validate-token-header-logo{width:44px!important;height:44px!important}.validate-token-body{padding:16px!important}.validate-token-photo img{width:160px!important;height:160px!important}.validate-token-info-row{grid-template-columns:1fr 1fr!important;gap:10px!important}.validate-token-info-label{font-size:.8rem!important}.validate-token-info-value{font-size:.95rem!important;text-align:right!important}.validate-token-cargo-badge{padding:4px 8px!important;font-size:.75rem!important;border-radius:999px!important;letter-spacing:.03em!important;text-transform:uppercase!important}.validate-token-info-grid{grid-template-columns:1fr!important;gap:12px!important}}@media (max-width: 480px){.modal-overlay.custom-profile-overlay{align-items:center!important}.modal-content.custom-profile-modal{padding:1.5rem!important;overflow-y:auto!important;display:block!important;width:90%!important;max-height:90vh!important;border-radius:24px!important;margin:auto!important}}.glass-toggle-track-on{background:#22c55e26!important;backdrop-filter:blur(12px)!important;-webkit-backdrop-filter:blur(12px)!important;border:1px solid #22c55e!important;--toggle-knob-bg: rgba(34, 197, 94, .4);--toggle-knob-border: rgba(34, 197, 94, .9)}:root:not(.dark) .modal-alert{padding:.75rem;border-radius:10px;border:1px solid transparent}:root:not(.dark) .modal-alert-error{background:#ef44441f!important;border-color:#ef44448c!important;color:var(--status-danger-text)!important}:root:not(.dark) .modal-alert-success{background:#10b9811f!important;border-color:#10b9818c!important;color:var(--status-success-text)!important}:root.dark .modal-alert{padding:.75rem;border-radius:10px;border:1px solid transparent}:root.dark .modal-alert-error{background:#ef44441f!important;border-color:#ef44448c!important;color:var(--status-danger-text)!important}:root.dark .modal-alert-success{background:#10b9811f!important;border-color:#10b9818c!important;color:var(--status-success-text)!important}:root.dark .glass-toggle-track-on{background:#16a34a26!important;border-color:#4ade80!important;--toggle-knob-bg: rgba(34, 197, 94, .35);--toggle-knob-border: rgba(74, 222, 128, .95)}.glass-toggle-track-off{background:#ef444426!important;backdrop-filter:blur(12px)!important;-webkit-backdrop-filter:blur(12px)!important;border:1px solid #ef4444!important;--toggle-knob-bg: rgba(239, 68, 68, .4);--toggle-knob-border: rgba(239, 68, 68, .9)}:root.dark .glass-toggle-track-off{background:#dc262626!important;border-color:#f87171!important;--toggle-knob-bg: rgba(239, 68, 68, .35);--toggle-knob-border: rgba(248, 113, 113, .95)}.toggle-switch{position:relative;cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.toggle-switch.is-disabled{cursor:not-allowed;opacity:.6}.toggle-switch>input{position:absolute;opacity:0;width:1px;height:1px;margin:0}.toggle-switch .glass-toggle-track{position:relative;width:40px;height:22px;border-radius:20px;transition:all .3s ease;flex:0 0 auto}.toggle-switch .glass-toggle-knob{position:absolute;top:2px;left:2px;width:18px;height:18px;border-radius:50%;background:var(--toggle-knob-bg, rgba(148, 163, 184, .35));border:1px solid var(--toggle-knob-border, rgba(148, 163, 184, .8));backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);transition:transform .3s cubic-bezier(.4,0,.2,1),background .2s ease,border-color .2s ease;box-shadow:0 2px 4px #0000001a}.toggle-switch>input:checked+.glass-toggle-track .glass-toggle-knob{transform:translate(18px)}.toggle-switch>input:focus-visible+.glass-toggle-track{box-shadow:0 0 0 3px #3b82f659}.toggle-switch>input:disabled+.glass-toggle-track{opacity:.7;filter:saturate(.6)}.toggle-switch .toggle-label{font-size:.95rem;color:var(--text-primary)}.admin-action-btn{background:var(--color-primary);color:#fff;border:none;border-radius:8px;padding:.75rem 1.5rem;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:.5rem;transition:opacity .2s,transform .1s}.admin-action-btn:hover{opacity:.9;transform:translateY(-1px)}@keyframes ibmPulse{0%,to{transform:scale(1);opacity:.92}50%{transform:scale(1.06);opacity:1}}@keyframes ibmLoading{0%{transform:translate(-120%)}to{transform:translate(260%)}}@keyframes ibmSkeletonPulse{0%,to{opacity:1}50%{opacity:.42}}.ibm-skeleton-bar{height:10px;border-radius:6px;animation:ibmSkeletonPulse 1.45s ease-in-out infinite}html:not(.native-app){padding:0!important}.admin-btn-primary{background-color:var(--color-primary);color:#fff;border:none;padding:.5rem 1rem;border-radius:8px;font-weight:600;font-size:.875rem;cursor:pointer;transition:all .2s ease;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;box-shadow:var(--shadow-sm);min-height:2.25rem;line-height:1.25}.admin-btn-primary:hover{background-color:var(--color-secondary);transform:translateY(-1px);box-shadow:var(--shadow-md)}.admin-btn-primary:active{transform:translateY(0)}.admin-btn-secondary{background-color:transparent;color:var(--text-primary);border:1px solid var(--text-secondary);padding:.5rem 1rem;border-radius:8px;font-weight:500;font-size:.875rem;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);display:inline-flex;align-items:center;justify-content:center;gap:.5rem;box-shadow:none;min-height:2.25rem;line-height:1.25}.admin-btn-secondary:hover{background-color:var(--bg-surface-hover);border-color:var(--text-secondary);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.admin-btn-secondary:active{transform:translateY(0);background-color:var(--bg-surface-active);box-shadow:var(--shadow-sm)}.admin-btn-secondary:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:none}.admin-btn-secondary.danger{color:var(--status-danger-text);border:1px solid var(--status-danger-text)!important}.admin-btn-secondary.danger:hover{background-color:var(--status-danger-bg)}.admin-btn-secondary.success{color:var(--status-success-text);border:1px solid var(--status-success-text)!important}.admin-btn-secondary.success:hover{background-color:var(--status-success-bg)}.admin-btn-secondary.warning{color:var(--status-warning-text);border:1px solid var(--status-warning-text)!important}.admin-btn-secondary.warning:hover{background-color:var(--status-warning-bg)}.admin-btn-secondary.info{color:var(--status-info-text);border:1px solid var(--status-info-text)!important}.admin-btn-secondary.info:hover{background-color:var(--status-info-bg)}.admin-btn-secondary.icon-only{padding:0;width:2.25rem;height:2.25rem;justify-content:center}.glass-btn,.glass-btn-blue,.glass-btn-primary,.glass-btn-info,.glass-btn-green,.glass-btn-success,.glass-btn-yellow,.glass-btn-warning,.glass-btn-red,.glass-btn-danger,.glass-btn-cancel,.glass-btn-neutral{background:transparent!important;border:2px solid rgba(255,255,255,.32)!important;border-radius:14px;color:#fff!important;padding:.5rem 1rem;font-weight:600;font-size:.875rem;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;transition:all .2s ease;backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:0 0 0 1px #ffffff0d inset;min-height:2.5rem}.glass-btn:hover:not(:disabled),.glass-btn-blue:hover:not(:disabled),.glass-btn-primary:hover:not(:disabled),.glass-btn-info:hover:not(:disabled),.glass-btn-green:hover:not(:disabled),.glass-btn-success:hover:not(:disabled),.glass-btn-yellow:hover:not(:disabled),.glass-btn-warning:hover:not(:disabled),.glass-btn-red:hover:not(:disabled),.glass-btn-danger:hover:not(:disabled),.glass-btn-cancel:hover:not(:disabled),.glass-btn-neutral:hover:not(:disabled){background:#ffffff26!important;border-color:#fff9!important;transform:translateY(-1px)}.glass-btn:active,.glass-btn-blue:active,.glass-btn-primary:active,.glass-btn-info:active,.glass-btn-green:active,.glass-btn-success:active,.glass-btn-yellow:active,.glass-btn-warning:active,.glass-btn-red:active,.glass-btn-danger:active,.glass-btn-cancel:active,.glass-btn-neutral:active{transform:translateY(0)}.glass-btn:disabled,.glass-btn-blue:disabled,.glass-btn-primary:disabled,.glass-btn-info:disabled,.glass-btn-green:disabled,.glass-btn-success:disabled,.glass-btn-yellow:disabled,.glass-btn-warning:disabled,.glass-btn-red:disabled,.glass-btn-danger:disabled,.glass-btn-cancel:disabled,.glass-btn-neutral:disabled{opacity:.6;cursor:not-allowed}.glass-btn-blue,.glass-btn-primary,.glass-btn-info{background:#3b82f633!important;border-color:#60a5fa80!important;color:#fff!important}.glass-btn-blue:hover:not(:disabled),.glass-btn-primary:hover:not(:disabled),.glass-btn-info:hover:not(:disabled){background:#3b82f666!important;border-color:#93c5fdcc!important}.glass-btn-green,.glass-btn-success{background:#22c55e33!important;border-color:#4ade8080!important;color:#fff!important}.glass-btn-green:hover:not(:disabled),.glass-btn-success:hover:not(:disabled){background:#22c55e66!important;border-color:#86efaccc!important}.glass-btn-yellow,.glass-btn-warning{background:#eab30833!important;border-color:#facc1580!important;color:#fff!important}.glass-btn-yellow:hover:not(:disabled),.glass-btn-warning:hover:not(:disabled){background:#eab30866!important;border-color:#facc15cc!important}.glass-btn-red,.glass-btn-danger{background:#ef444433!important;border-color:#f8717180!important;color:#fff!important}.glass-btn-red:hover:not(:disabled),.glass-btn-danger:hover:not(:disabled){background:#ef444466!important;border-color:#fca5a5cc!important}.glass-btn-dark{color:#1f2937!important;border-color:#1f293752!important}.glass-btn-dark:hover:not(:disabled){background:#1f29371a!important;border-color:#1f293799!important}.glass-btn.icon-only,.glass-btn-blue.icon-only,.glass-btn-primary.icon-only,.glass-btn-info.icon-only,.glass-btn-green.icon-only,.glass-btn-success.icon-only,.glass-btn-yellow.icon-only,.glass-btn-warning.icon-only,.glass-btn-red.icon-only,.glass-btn-danger.icon-only,.glass-btn-cancel.icon-only,.glass-btn-neutral.icon-only{padding:0;width:2.25rem;height:2.25rem;justify-content:center}.student-id-modal-overlay>.admin-card.animate-scale-in button{border-radius:14px!important}.glass-btn-cancel,.glass-btn-neutral{background:#ffffff1a!important;border-color:#ffffff4d!important;color:#fff!important}.glass-btn-cancel:hover:not(:disabled),.glass-btn-neutral:hover:not(:disabled){background:#fff3!important;border-color:#ffffff80!important}
