:root{--bg-deep: #05070d;--bg-panel: #0b1224;--bg-panel-alt: #0e1730;--bg-panel-raised: #111b34;--border-subtle: rgba(148, 163, 184, .16);--text-primary: #f4f6fb;--text-secondary: #aab4c8;--text-muted: #7c869c;--accent: #3b82f6;--accent-bright: #60a5fa;--accent-cyan: #22d3ee;--accent-soft-bg: rgba(59, 130, 246, .14)}*{box-sizing:border-box}body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;background:var(--bg-deep);color:var(--text-primary)}.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 20% 20%,rgba(59,130,246,.16),transparent 45%),radial-gradient(circle at 80% 80%,rgba(34,211,238,.1),transparent 45%),var(--bg-deep);padding:1.5rem}.auth-card{background:var(--bg-panel);border:1px solid var(--border-subtle);padding:2.5rem;border-radius:16px;box-shadow:0 24px 60px #00000073;display:flex;flex-direction:column;gap:.5rem;width:100%;max-width:380px;color:var(--text-primary);font-family:Inter,system-ui,sans-serif}.auth-card h1{font-family:Sora,Inter,sans-serif;margin:.25rem 0 0;font-size:1.5rem}.auth-back{color:var(--text-muted);text-decoration:none;font-size:.85rem;margin-bottom:.75rem}.auth-back:hover{color:var(--text-secondary)}.login-form{display:flex;flex-direction:column;gap:.9rem;margin-top:1.25rem}.login-form label{display:flex;flex-direction:column;gap:.35rem;font-size:.85rem;color:var(--text-secondary)}.login-form input{background:var(--bg-panel-alt);border:1px solid var(--border-subtle);color:var(--text-primary);border-radius:8px;padding:.65rem .75rem;font-size:.95rem;font-family:inherit}.login-form input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft-bg)}.login-form .btn-primary{margin-top:.25rem;justify-content:center}input,select,button,textarea{padding:.55rem .75rem;border-radius:8px;border:1px solid var(--border-subtle);font-size:.9rem;font-family:inherit;background:var(--bg-panel-alt);color:var(--text-primary)}input::placeholder,textarea::placeholder{color:var(--text-muted)}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft-bg)}textarea{width:100%;resize:vertical;margin-bottom:1rem;font-family:inherit}select{cursor:pointer}select option{background:var(--bg-panel-alt);color:var(--text-primary)}select optgroup{background:var(--bg-panel-alt);color:var(--accent-bright);font-style:normal}button{background:linear-gradient(90deg,var(--accent),var(--accent-bright));color:#04070f;border:none;cursor:pointer;font-weight:600}button.secondary{background:var(--bg-panel-raised);color:var(--text-primary);border:1px solid var(--border-subtle)}button.danger{background:#f87171;color:#1a0505}button.warning{background:#fb923c;color:#1a0f05}button:hover{opacity:.9}button.secondary:hover{opacity:1;border-color:var(--accent)}button.danger:hover,button.warning:hover{opacity:.85}.link-button{background:none;border:none;color:var(--accent-bright);padding:0;font-size:.85rem;cursor:pointer;font-weight:600}.link-button:hover{opacity:.85}.link-button-danger{color:#f87171}.link-button-warning{color:#fb923c}.dashboard{min-height:100vh;padding:clamp(1.5rem,4vw,2.5rem) clamp(1.25rem,5vw,3rem);background:radial-gradient(circle at 15% 0%,rgba(59,130,246,.1),transparent 45%),var(--bg-deep);font-family:Inter,system-ui,sans-serif}.dashboard-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;padding-bottom:1.25rem;border-bottom:1px solid var(--border-subtle)}.dashboard-header h1{font-family:Sora,sans-serif;font-size:1.5rem;color:var(--text-primary);margin:0}.dashboard-header-actions{display:flex;gap:.75rem}.dashboard-grid{display:grid;grid-template-columns:1fr;gap:1.5rem}.section-tabs{display:flex;gap:.6rem;margin-bottom:1.5rem}.section-tab{background:var(--bg-panel-raised);border:1px solid var(--border-subtle);color:var(--text-secondary);border-radius:999px;padding:.6rem 1.3rem;font-size:.9rem;font-weight:600;cursor:pointer}.section-tab:hover{border-color:var(--accent);color:var(--text-primary)}.section-tab.active{background:linear-gradient(90deg,var(--accent),var(--accent-bright));color:#04070f;border-color:transparent}.dashboard-tab-panel{display:none}.dashboard-tab-panel.active{display:block}.card{background:var(--bg-panel);border:1px solid var(--border-subtle);padding:1.75rem;border-radius:16px;box-shadow:0 20px 50px #00000059}.card h2{font-family:Sora,sans-serif;font-size:1.15rem;margin:0 0 1.25rem;color:var(--text-primary)}.list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.85rem}.list li{border-bottom:1px solid var(--border-subtle);padding-bottom:.85rem;color:var(--text-secondary)}.list li strong{color:var(--text-primary)}.tag{background:var(--accent-soft-bg);color:var(--accent-bright);padding:.15rem .6rem;border-radius:999px;font-size:.72rem;font-weight:600}.muted{color:var(--text-muted);font-size:.85rem}.error{color:#f87171;font-size:.9rem}.info{color:#34d399;font-size:.9rem}.itens-table{width:100%;border-collapse:collapse;margin-bottom:1rem}.itens-table th,.itens-table td{border:1px solid var(--border-subtle);padding:.55rem .6rem;font-size:.85rem;text-align:left;color:var(--text-secondary)}.itens-table th{color:var(--text-muted);font-weight:600;font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;background:var(--bg-panel-raised)}.itens-table input,.itens-table select{width:100%;padding:.4rem .5rem;font-size:.85rem}.ficha-form{margin-bottom:2.5rem}.ficha-hint{margin:1rem 0 0}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;align-items:end;margin-bottom:1.25rem}.form-grid label{display:flex;flex-direction:column;gap:.35rem;font-size:.75rem;color:var(--text-muted)}.form-grid .span-all{grid-column:1 / -1}.field-label{display:block;font-size:.75rem;color:var(--text-muted);margin-bottom:.4rem}.form-actions{grid-column:1 / -1;display:flex;flex-wrap:wrap;gap:.75rem;margin-top:.25rem}.list-row-header{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.35rem}.list-row-header .link-button{flex-shrink:0}.list-row-actions{display:flex;gap:1rem;flex-shrink:0}.exercicio-link{display:inline-block;margin-top:.35rem;color:var(--accent-cyan);font-size:.82rem;text-decoration:none}.exercicio-link:hover{text-decoration:underline}button.exercicio-link,button.exercicio-link-inline{background:none;border:none;padding:0;font-family:inherit;font-weight:400;cursor:pointer}.exercicio-link-inline{color:var(--accent-cyan);font-size:.82rem;text-decoration:none;margin-left:.25rem}.exercicio-link-inline:hover{text-decoration:underline}.exercicio-busca{width:100%;margin-bottom:1rem}.exercicio-lista-scroll{max-height:460px;overflow-y:auto;padding-right:.5rem;margin-right:-.5rem}.exercicio-lista-scroll::-webkit-scrollbar{width:8px}.exercicio-lista-scroll::-webkit-scrollbar-track{background:transparent}.exercicio-lista-scroll::-webkit-scrollbar-thumb{background:var(--bg-panel-raised);border-radius:999px}.exercicio-lista-scroll::-webkit-scrollbar-thumb:hover{background:var(--border-subtle)}.exercicio-grupo{margin-bottom:1.5rem}.exercicio-grupo:last-child{margin-bottom:0}.exercicio-grupo h3{font-family:Sora,sans-serif;font-size:.78rem;text-transform:uppercase;letter-spacing:.06em;color:var(--accent-bright);margin:0 0 .6rem;padding-bottom:.4rem;border-bottom:1px solid var(--border-subtle)}.ficha-editando-aviso{margin:-.5rem 0 1rem}.ficha-tabs{display:flex;gap:.6rem;margin-bottom:1.25rem}.ficha-tab{background:var(--bg-panel-raised);border:1px solid var(--border-subtle);color:var(--text-secondary);border-radius:999px;padding:.5rem 1.1rem;font-size:.85rem;font-weight:600;cursor:pointer}.ficha-tab:hover{border-color:var(--accent);color:var(--text-primary)}.ficha-tab.active{background:linear-gradient(90deg,var(--accent),var(--accent-bright));color:#04070f;border-color:transparent}.ficha-meta{margin:.2rem 0 .6rem}.ficha-itens{list-style:none;margin:0 0 .75rem;padding:0;display:flex;flex-direction:column;gap:.3rem}.ficha-itens li{color:var(--text-muted);font-size:.85rem;border:none;padding:0}.autocomplete{position:relative;max-width:420px}.autocomplete input{width:100%}.autocomplete-list{position:absolute;top:calc(100% + .35rem);left:0;right:0;z-index:10;list-style:none;margin:0;padding:.4rem;max-height:260px;overflow-y:auto;background:var(--bg-panel-raised);border:1px solid var(--border-subtle);border-radius:10px;box-shadow:0 16px 40px #0006}.autocomplete-list li{padding:.5rem .6rem;border-radius:6px;cursor:pointer;font-size:.9rem;color:var(--text-secondary)}.autocomplete-list li:hover{background:var(--accent-soft-bg);color:var(--text-primary)}.autocomplete-empty{color:var(--text-muted);cursor:default}.autocomplete-empty:hover{background:none!important;color:var(--text-muted)!important}.fichas-aluno{display:flex;flex-direction:column;gap:1.5rem}.landing{background:var(--bg-deep);color:var(--text-primary);font-family:Inter,system-ui,sans-serif;min-height:100vh}.landing h1,.landing h2,.landing h3{font-family:Sora,Inter,sans-serif;margin:0;letter-spacing:-.01em}.landing a{color:inherit}.landing-eyebrow{display:inline-block;color:var(--accent-bright);font-size:.78rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;margin-bottom:.75rem}.landing-highlight{background:linear-gradient(90deg,var(--accent-bright),var(--accent-cyan));-webkit-background-clip:text;background-clip:text;color:transparent}.btn-primary,.btn-outline{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.4rem;border-radius:999px;font-weight:600;font-size:.95rem;text-decoration:none;cursor:pointer;border:1px solid transparent;font-family:inherit;transition:transform .15s ease,box-shadow .15s ease,background .15s ease,border-color .15s ease}.btn-primary{background:linear-gradient(90deg,var(--accent),var(--accent-bright));color:#04070f;box-shadow:0 8px 24px #3b82f659}.btn-primary:hover{transform:translateY(-1px);box-shadow:0 10px 30px #3b82f673}.btn-outline{background:transparent;color:var(--text-primary);border-color:var(--border-subtle)}.btn-outline:hover{border-color:var(--accent-bright);color:var(--accent-bright)}.btn-outline-warning{background:transparent;color:#fb923c;border-color:#fb923c}.btn-outline-warning:hover{background:#fb923c1f}.landing-nav{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding:1.1rem clamp(1.25rem,5vw,4rem);background:#05070dbf;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--border-subtle)}.landing-logo{display:flex;align-items:center;gap:.65rem;text-decoration:none;font-weight:700}.landing-logo-mark{width:38px;height:38px;border-radius:10px;display:grid;place-items:center;background:linear-gradient(135deg,var(--accent),var(--accent-cyan));color:#04070f;font-family:Sora,sans-serif;font-size:.85rem;font-weight:800}.landing-logo-text{display:flex;flex-direction:column;line-height:1.15;font-family:Sora,sans-serif;font-size:1rem}.landing-logo-text small{font-family:Inter,sans-serif;font-weight:400;font-size:.7rem;color:var(--text-muted)}.landing-nav-links{display:flex;gap:2rem;font-size:.9rem;font-weight:500}.landing-nav-links a{text-decoration:none;color:var(--text-secondary)}.landing-nav-links a:hover{color:var(--text-primary)}.landing-hero{position:relative;overflow:hidden;padding:clamp(3.5rem,10vw,7rem) clamp(1.25rem,5vw,4rem) clamp(3rem,8vw,5rem);scroll-margin-top:5rem}.landing-hero-glow{position:absolute;inset:-20% -10% auto -10%;height:700px;background:radial-gradient(closest-side,rgba(59,130,246,.28),transparent 70%),radial-gradient(closest-side at 80% 30%,rgba(34,211,238,.18),transparent 65%);filter:blur(10px);pointer-events:none;animation:landing-glow-shift 12s ease-in-out infinite alternate}@keyframes landing-glow-shift{0%{transform:translateY(0) scale(1)}to{transform:translateY(30px) scale(1.05)}}.landing-hero-content{position:relative;max-width:780px}.landing-hero h1{font-size:clamp(2.1rem,5vw,3.4rem);line-height:1.12;margin-bottom:1.25rem}.landing-hero-text{color:var(--text-secondary);font-size:1.05rem;line-height:1.6;max-width:560px;margin-bottom:2rem}.landing-hero-actions{display:flex;flex-wrap:wrap;gap:.9rem;margin-bottom:3rem}.landing-stats{display:flex;flex-wrap:wrap;gap:clamp(1.5rem,5vw,3.5rem);margin:0;padding-top:2rem;border-top:1px solid var(--border-subtle)}.landing-stats dt{font-family:Sora,sans-serif;font-size:1.6rem;font-weight:700;color:var(--text-primary)}.landing-stats dd{margin:.15rem 0 0;font-size:.85rem;color:var(--text-muted)}.landing-section{padding:clamp(3rem,8vw,5rem) clamp(1.25rem,5vw,4rem);scroll-margin-top:5rem}.landing-section-alt{background:var(--bg-panel);border-top:1px solid var(--border-subtle);border-bottom:1px solid var(--border-subtle)}.landing-section-heading{max-width:640px;margin:0 auto 2.5rem;text-align:center}.landing-section-heading h2{font-size:clamp(1.6rem,3.5vw,2.2rem)}.landing-sobre{max-width:1000px;margin:0 auto;display:grid;grid-template-columns:auto 1fr;gap:clamp(1.5rem,5vw,3rem);align-items:start}.landing-avatar{width:148px;height:148px;border-radius:50%;overflow:hidden;flex-shrink:0;background:linear-gradient(135deg,var(--accent),var(--accent-cyan));box-shadow:0 16px 40px #3b82f64d;border:3px solid var(--bg-panel-raised)}.landing-avatar img{width:100%;height:100%;object-fit:cover;display:block}.landing-sobre h2{font-size:clamp(1.5rem,3vw,2rem);margin-bottom:1rem}.landing-sobre p{color:var(--text-secondary);line-height:1.7;margin:0 0 1rem}.landing-tags{list-style:none;display:flex;flex-wrap:wrap;gap:.6rem;padding:0;margin:1.25rem 0 0}.landing-tags li{border:1px solid var(--border-subtle);background:var(--bg-panel-raised);padding:.4rem .85rem;border-radius:999px;font-size:.8rem;color:var(--text-secondary)}.landing-cards{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:1.25rem}.landing-card{background:var(--bg-panel-raised);border:1px solid var(--border-subtle);border-radius:16px;padding:1.75rem;transition:transform .15s ease,border-color .15s ease}.landing-card:hover{transform:translateY(-3px);border-color:var(--accent)}.landing-card-icon{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;background:var(--accent-soft-bg);color:var(--accent-bright);margin-bottom:1rem}.landing-card h3{font-size:1.05rem;margin-bottom:.5rem}.landing-card p{color:var(--text-muted);font-size:.88rem;line-height:1.6;margin:0}.landing-testimonial{background:var(--bg-panel-raised);border:1px solid var(--border-subtle);border-radius:16px;padding:1.75rem;display:flex;flex-direction:column;gap:1.25rem}.landing-testimonial-author{display:flex;align-items:center;gap:.9rem}.landing-testimonial-avatar{width:92px;height:92px;border-radius:50%;display:grid;place-items:center;overflow:hidden;background:linear-gradient(135deg,var(--accent),var(--accent-cyan));color:#04070f;font-family:Sora,sans-serif;font-weight:700;font-size:1.4rem;flex-shrink:0;border:2px solid var(--border-subtle)}.landing-testimonial-avatar img{width:100%;height:100%;object-fit:cover}.landing-testimonial-author div{display:flex;flex-direction:column;gap:.15rem}.landing-testimonial-author strong{color:var(--text-primary);font-size:1rem}.landing-testimonial-author span{color:var(--text-muted);font-size:.85rem}.landing-testimonial-quote{position:relative}.landing-testimonial-mark{position:absolute;top:-.6rem;left:-.35rem;font-family:Sora,sans-serif;font-size:2.75rem;line-height:1;color:var(--accent);opacity:.35}.landing-testimonial-quote p{color:var(--text-secondary);font-size:.92rem;line-height:1.65;margin:0 0 .85rem}.landing-testimonial-quote p:first-child{padding-left:1.6rem}.landing-testimonial-quote p:last-child{margin-bottom:0}.landing-contato{max-width:1000px;margin:0 auto;display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(2rem,5vw,4rem);align-items:center}.landing-contato h2{font-size:clamp(1.6rem,3vw,2.1rem);margin-bottom:1rem}.landing-contato p{color:var(--text-secondary);line-height:1.7;margin:0}.landing-contact-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.75rem}.landing-contact-list a{display:flex;align-items:center;gap:.75rem;background:var(--bg-panel-raised);border:1px solid var(--border-subtle);border-radius:12px;padding:.9rem 1.1rem;text-decoration:none;color:var(--text-secondary);font-size:.92rem;transition:border-color .15s ease,color .15s ease}.landing-contact-list a:hover{border-color:var(--accent);color:var(--text-primary)}.landing-contact-list svg{color:var(--accent-bright);flex-shrink:0}.landing-footer{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.75rem clamp(1.25rem,5vw,4rem);border-top:1px solid var(--border-subtle);color:var(--text-muted);font-size:.85rem}.landing-footer-login{color:var(--text-secondary);font-size:.85rem}.landing-footer-login:hover{color:var(--accent-bright)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#04060cb3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:grid;place-items:center;padding:1.5rem;z-index:50;animation:modal-fade-in .15s ease}@keyframes modal-fade-in{0%{opacity:0}to{opacity:1}}.modal-card{position:relative;width:100%;max-width:400px;background:var(--bg-panel);border:1px solid var(--border-subtle);border-radius:18px;padding:2.25rem;box-shadow:0 30px 80px #0000008c;color:var(--text-primary);font-family:Inter,system-ui,sans-serif}.modal-card h2{font-size:1.4rem;margin-bottom:.6rem}.modal-subtitle{color:var(--text-muted);font-size:.88rem;line-height:1.5;margin:0}.modal-close{position:absolute;top:1rem;right:1rem;width:32px;height:32px;border-radius:50%;border:1px solid var(--border-subtle);background:transparent;color:var(--text-secondary);font-size:1.1rem;line-height:1;display:grid;place-items:center;padding:0}.modal-close:hover{border-color:var(--accent);color:var(--text-primary)}.modal-card-video{padding:0;max-width:720px;width:min(720px,92vw);background:#000;overflow:hidden}.modal-card-video .modal-close{top:.6rem;right:.6rem;background:#04060ca6;z-index:5}.video-embed-wrapper{position:relative;width:100%;padding-top:56.25%}.video-embed-wrapper iframe{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;border:none}@media (max-width: 720px){.landing-nav-links{display:none}.landing-sobre{grid-template-columns:1fr}.landing-avatar{width:96px;height:96px;font-size:1.5rem}.landing-contato{grid-template-columns:1fr}}
