@font-face{font-family:Degular;src:url(/fonts/Degular-Thin.woff2) format("woff2"),url(/fonts/Degular-Thin.woff) format("woff");font-weight:100;font-style:normal;font-display:swap}@font-face{font-family:Degular;src:url(/fonts/Degular-Light.woff2) format("woff2"),url(/fonts/Degular-Light.woff) format("woff");font-weight:300;font-style:normal;font-display:swap}@font-face{font-family:Degular;src:url(/fonts/Degular-Regular.woff2) format("woff2"),url(/fonts/Degular-Regular.woff) format("woff");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Degular;src:url(/fonts/Degular-Semibold.woff2) format("woff2"),url(/fonts/Degular-Semibold.woff) format("woff");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:Degular;src:url(/fonts/Degular-Bold.woff2) format("woff2"),url(/fonts/Degular-Bold.woff) format("woff");font-weight:700;font-style:normal;font-display:swap}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--brand-petroleo: #0f5e78;--brand-turquesa: #3aa7af;--brand-cinza: #60686e;--brand-petroleo-escuro: #08323f;font-family:Degular,Mulish,system-ui,-apple-system,sans-serif;line-height:1.5;font-weight:400;color:#0f5e78;background-color:#f5f6fa;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;min-width:320px;min-height:100vh}h1,h2,h3,h4,p{margin:0}a{text-decoration:none;color:inherit}.loading-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;gap:1rem;color:#888}.spinner{width:40px;height:40px;border:4px solid #e0e0e0;border-top:4px solid #3aa7af;border-radius:50%;animation:spin .8s linear infinite}.layout{display:flex;min-height:100vh}.sidebar{width:68px;background:linear-gradient(180deg,#0f5e78,#0b4a5e);color:#fff;display:flex;flex-direction:column;position:fixed;top:0;left:0;bottom:0;z-index:100;transition:width .25s cubic-bezier(.4,0,.2,1);overflow:hidden}.sidebar.expanded{width:250px}.sidebar-header{padding:1rem;border-bottom:1px solid rgba(255,255,255,.1);display:flex;align-items:center;gap:.6rem;min-height:60px}.sidebar-logo{font-size:1.5rem;flex-shrink:0}.sidebar-title{font-size:1.15rem;margin:0;white-space:nowrap;opacity:0;width:0;overflow:hidden;transition:opacity .2s,width .25s}.sidebar.expanded .sidebar-title{opacity:1;width:auto}.sidebar-toggle{background:none;border:none;color:#fff9;cursor:pointer;padding:.35rem;border-radius:6px;display:flex;align-items:center;justify-content:center;font-size:1.1rem;margin-left:auto;flex-shrink:0;transition:background .2s,color .2s}.sidebar-toggle:hover{background:#ffffff1a;color:#fff}.sidebar-nav{flex:1;padding:.75rem 0;display:flex;flex-direction:column;gap:.15rem;overflow-y:auto;overflow-x:hidden}.nav-item{display:flex;align-items:center;gap:.75rem;padding:.7rem 1.25rem;color:#ffffffb3;text-decoration:none;font-size:.95rem;transition:all .2s;border-left:3px solid transparent;white-space:nowrap}.sidebar.collapsed .nav-item{justify-content:center;padding:.7rem}.nav-item svg{flex-shrink:0;font-size:1.15rem;width:1.15rem;height:1.15rem;color:inherit;stroke:currentColor}.nav-item span:not(.nav-icon-wrapper):not(.nav-badge){opacity:0;width:0;overflow:hidden;transition:opacity .2s}.sidebar.expanded .nav-item span:not(.nav-icon-wrapper):not(.nav-badge){opacity:1;width:auto}.nav-item:hover{background:#ffffff0d;color:#fff}.nav-item.active{background:#ffffff1a;color:#fff;border-left-color:#3aa7af}.nav-divider{height:1px;background:#ffffff1a;margin:.5rem 1rem}.nav-section-label{display:block;padding:.25rem 1.25rem;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:#ffffff59;white-space:nowrap;opacity:0;overflow:hidden;transition:opacity .2s}.sidebar.expanded .nav-section-label{opacity:1}.sidebar-footer{padding:.75rem;border-top:1px solid rgba(255,255,255,.1)}.user-info{display:flex;align-items:center;gap:.5rem;margin-bottom:.6rem;font-size:.85rem;color:#fffc;white-space:nowrap;overflow:hidden}.user-info svg{flex-shrink:0}.user-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;opacity:0;width:0;transition:opacity .2s}.sidebar.expanded .user-name{opacity:1;width:auto}.btn-logout{display:flex;align-items:center;gap:.5rem;background:#009b8f26;color:#3aa7af;border:1px solid rgba(0,155,143,.3);padding:.5rem 1rem;border-radius:8px;cursor:pointer;font-size:.85rem;width:100%;justify-content:center;transition:all .2s;white-space:nowrap;overflow:hidden}.btn-logout:hover{background:#009b8f40}.mobile-menu-btn{display:none}.nav-icon-wrapper{position:relative;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:1.15rem;height:1.15rem}.nav-badge{position:absolute;top:-8px;right:-10px;background:#3aa7af;color:#fff;font-size:.55rem;font-weight:700;min-width:16px;height:16px;border-radius:50%;display:flex;align-items:center;justify-content:center;padding:0 3px;line-height:1;box-shadow:0 0 0 2px #0f5e78;animation:badge-pulse 2s infinite;pointer-events:none;z-index:1}@keyframes badge-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.main-content{flex:1;margin-left:68px;padding:2rem;background:#f5f6fa;min-height:100vh;transition:margin-left .25s cubic-bezier(.4,0,.2,1)}.sidebar-expanded .main-content{margin-left:250px}.sidebar.collapsed .nav-item{position:relative}.sidebar.collapsed .nav-item:after{content:attr(data-tooltip);position:absolute;left:100%;top:50%;transform:translateY(-50%);background:#0f5e78;color:#fff;padding:.35rem .7rem;border-radius:6px;font-size:.8rem;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .15s;margin-left:8px;z-index:200}@media(max-width:768px){.sidebar{width:0}.sidebar.expanded{width:250px;box-shadow:4px 0 20px #0000004d}.main-content{margin-left:0!important}.mobile-menu-btn{display:flex;position:fixed;top:.75rem;left:.75rem;z-index:101;background:#0f5e78;color:#fff;border:none;padding:.5rem;border-radius:8px;font-size:1.3rem;cursor:pointer;align-items:center;justify-content:center}.sidebar-expanded .mobile-overlay{display:block;position:fixed;inset:0;background:#0006;z-index:99}}.login-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#0f5e78,#0b4a5e,#08323f);padding:1rem}.login-card{background:#fff;border-radius:10px;box-shadow:0 20px 60px #0000004d;width:100%;max-width:420px;overflow:hidden}.login-header{background:linear-gradient(135deg,#08323f,#3aa7af);color:#fff;padding:0;text-align:center;overflow:hidden}.login-logo{max-width:300px;width:100%;height:auto;display:block;margin:0 auto;padding:1.5rem 1rem}.login-form{padding:2rem}.login-form h2{margin-bottom:1.5rem;color:#0f5e78;text-align:center}.form-group{margin-bottom:1rem}.form-group label{display:block;margin-bottom:.35rem;font-weight:600;color:#333;font-size:.9rem}.form-group input{width:100%;padding:.7rem .9rem;border:2px solid #e0e0e0;border-radius:8px;font-size:1rem;transition:border-color .2s;box-sizing:border-box}.form-group input:focus{outline:none;border-color:#3aa7af}.form-success{background:#e0ffe0;color:#27ae60;padding:.6rem .8rem;border-radius:8px;margin-bottom:1rem;font-size:.9rem}.btn-primary{width:100%;padding:.75rem;background:linear-gradient(135deg,#08323f,#3aa7af);color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:opacity .2s}.btn-primary:hover{opacity:.9}.toggle-auth{text-align:center;margin-top:1rem;color:#666}.forgot-password{text-align:center;margin-top:.75rem;font-size:.9rem}.btn-link{background:none;border:none;color:#3aa7af;font-weight:600;cursor:pointer;font-size:inherit}.btn-link:hover{text-decoration:underline}.monitor-signup-toggle{margin-top:.5rem;border-top:1px solid #e2e8f0;padding-top:1rem}.btn-monitor-toggle{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;padding:.6rem 1rem;background:transparent;border:2px dashed #94a3b8;border-radius:.5rem;color:#64748b;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s}.btn-monitor-toggle:hover{border-color:#3aa7af;color:#3aa7af;background:#e0f7f5}.monitor-signup-toggle.active .btn-monitor-toggle{border-color:#3aa7af;color:#3aa7af;background:#e0f7f5;border-style:solid}.monitor-code-section{margin-top:1rem;padding:1rem;background:#f8fafc;border-radius:.5rem;border:1px solid #e2e8f0}.monitor-code-hint{font-size:.85rem;color:#64748b;margin-bottom:.75rem;text-align:center}.monitor-code-input{text-align:center;letter-spacing:.15em;font-weight:600;font-size:1.1rem!important;text-transform:uppercase}.badge-item{display:flex;flex-direction:column;align-items:center;gap:.4rem;padding:.75rem;border-radius:12px;background:#fff;border:2px solid #e0e0e0;transition:all .3s ease;cursor:default;position:relative;overflow:hidden}.badge-item:hover{transform:translateY(-3px);box-shadow:0 6px 20px #0000001f}.badge-sm{padding:.4rem;min-width:60px}.badge-md{padding:.75rem;min-width:90px}.badge-lg{padding:1rem;min-width:120px}.badge-sm .badge-icon{font-size:1.4rem}.badge-md .badge-icon{font-size:2rem}.badge-lg .badge-icon{font-size:2.8rem}.badge-icon-wrapper{position:relative;display:flex;align-items:center;justify-content:center}.badge-icon{position:relative;z-index:1;line-height:1}.badge-bronze{border-color:#cd7f32;background:linear-gradient(135deg,#fff9f0,#ffecd2)}.badge-bronze .badge-tier-tag{color:#cd7f32}.badge-silver{border-color:#a8a8a8;background:linear-gradient(135deg,#fafafa,#e8e8e8)}.badge-silver .badge-tier-tag{color:#888}.badge-silver:after{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:linear-gradient(45deg,transparent 40%,rgba(255,255,255,.5) 50%,transparent 60%);animation:semi-shimmer 4s ease-in-out infinite;pointer-events:none}.badge-gold{border-color:#ffc107;background:linear-gradient(135deg,#fffef5,#fff3cd);box-shadow:0 2px 12px #ffc10740}.badge-gold .badge-tier-tag{color:#d4a00a}.badge-shine{position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:linear-gradient(45deg,transparent 30%,rgba(255,215,0,.3) 45%,rgba(255,255,255,.6) 50%,rgba(255,215,0,.3) 55%,transparent 70%);animation:shine 3s ease-in-out infinite;pointer-events:none}.badge-diamond{border-color:#5fc4c9;background:linear-gradient(135deg,#e0f7f5,#b2dfdb,#80cbc4);box-shadow:0 2px 16px #4dd4c859}.badge-diamond .badge-tier-tag{color:#47b8bd;font-weight:700}.badge-sparkles{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none}.badge-sparkles:before,.badge-sparkles:after{content:"✦";position:absolute;font-size:.6rem;color:#4dd4c8cc;animation:sparkle 2s ease-in-out infinite}.badge-sparkles:before{top:2px;right:6px;animation-delay:0s}.badge-sparkles:after{bottom:8px;left:6px;animation-delay:1s}.badge-label{display:flex;flex-direction:column;align-items:center;gap:.1rem}.badge-name{font-size:.7rem;font-weight:600;color:#333;text-align:center;line-height:1.2}.badge-tier-tag{font-size:.6rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.badge-grid{display:flex;flex-wrap:wrap;gap:.75rem}.badge-grid-empty{text-align:center;padding:1.5rem;color:#999;font-size:.9rem;font-style:italic}.discipline-badge-section{background:#fff;border-radius:12px;padding:1.25rem;box-shadow:0 2px 8px #0000000f;margin-bottom:1rem}.discipline-badge-section.compact{padding:.75rem}.discipline-badge-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem}.discipline-badge-icon{font-size:1.4rem}.discipline-badge-title{font-weight:600;color:#0f5e78;font-size:.95rem;flex:1}.discipline-badge-count{font-size:.75rem;color:#888;background:#f0f0f0;padding:.2rem .5rem;border-radius:12px}.inline-badges{display:inline-flex;gap:.25rem;margin-left:.4rem;vertical-align:middle}.inline-badge{display:inline-flex;font-size:.85rem;border-radius:50%;width:1.4rem;height:1.4rem;align-items:center;justify-content:center;line-height:1;position:relative}.inline-badge.badge-gold{background:#fff3cd;box-shadow:0 0 4px #ffc10780}.inline-badge.badge-diamond{background:#e0f7f5;box-shadow:0 0 6px #4dd4c880}.badge-unlocked-overlay{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:9999;animation:fadeIn .3s ease}.badge-unlocked-modal{background:#fff;border-radius:20px;padding:2rem;max-width:340px;width:90%;text-align:center;animation:popIn .4s cubic-bezier(.175,.885,.32,1.275)}.badge-unlocked-header{font-size:1.3rem;font-weight:700;color:#0f5e78;margin-bottom:1.2rem}.badge-unlocked-icon-wrapper{position:relative;display:inline-flex;align-items:center;justify-content:center;width:80px;height:80px;border-radius:50%;margin-bottom:1rem;overflow:hidden}.badge-unlocked-icon{font-size:3rem;position:relative;z-index:1}.badge-shine-large{animation:shine 2s ease-in-out infinite}.badge-sparkles-large:before{font-size:.9rem}.badge-sparkles-large:after{font-size:.9rem}.badge-unlocked-name{font-size:1.2rem;font-weight:700;color:#0f5e78;margin-bottom:.25rem}.badge-unlocked-tier{font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:1px;color:#47b8bd;margin-bottom:.5rem}.badge-unlocked-desc{font-size:.9rem;color:#666;margin-bottom:1.25rem;line-height:1.4}.badge-unlocked-btn{background:linear-gradient(135deg,#3aa7af,#47b8bd);color:#fff;border:none;padding:.65rem 2rem;border-radius:8px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s}.badge-unlocked-btn:hover{transform:scale(1.05);box-shadow:0 4px 16px #009b8f4d}@keyframes shine{0%,to{transform:translate(-100%) rotate(45deg)}50%{transform:translate(100%) rotate(45deg)}}@keyframes semi-shimmer{0%,to{transform:translate(-100%) rotate(45deg);opacity:0}40%{opacity:0}50%{opacity:1;transform:translate(0) rotate(45deg)}60%{opacity:0}}@keyframes sparkle{0%,to{opacity:0;transform:scale(.5)}50%{opacity:1;transform:scale(1.3)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes popIn{0%{transform:scale(.5);opacity:0}to{transform:scale(1);opacity:1}}.conquistas-page{padding-bottom:2rem}.conquistas-header{margin-bottom:2rem}.conquistas-header h1{font-size:1.8rem;color:#0f5e78;margin-bottom:.5rem}.conquistas-header p{color:#666;font-size:1rem}.conquistas-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:1rem;margin-bottom:2rem}.conquista-stat-card{background:#fff;border-radius:12px;padding:1.25rem;text-align:center;box-shadow:0 2px 8px #0000000f}.conquista-stat-number{display:block;font-size:2rem;font-weight:700;color:#3aa7af}.conquista-stat-label{font-size:.85rem;color:#888}.conquistas-empty{text-align:center;padding:3rem;background:#fff;border-radius:12px;color:#888;box-shadow:0 2px 8px #0000000f}.conquistas-empty-icon{font-size:3rem;margin-bottom:1rem}.conquistas-empty p{margin-bottom:.5rem}.dashboard-badges-section{margin-bottom:2rem}.dashboard-badges-section .section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.dashboard-badges-preview{display:flex;flex-wrap:wrap;gap:.5rem;background:#fff;border-radius:12px;padding:1.25rem;box-shadow:0 2px 8px #0000000f}.dashboard-badges-empty{text-align:center;padding:1.5rem;color:#999;background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000000f;width:100%}.dashboard-badges-empty p{margin:.25rem 0}.dashboard-badge-see-all{margin-top:.75rem;text-align:center}.detail-badges-section{background:#fff;border-radius:12px;padding:1.25rem;margin-bottom:1.5rem;box-shadow:0 2px 8px #0000000f}.detail-badges-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem}.detail-badges-header h3{font-size:1rem;color:#0f5e78;margin:0;flex:1}.detail-badges-count{font-size:.75rem;color:#3aa7af;background:#e0f7f5;padding:.15rem .5rem;border-radius:10px;font-weight:600}.lesson-badges{display:flex;gap:.2rem;margin-top:.25rem}.lesson-badge-mini{font-size:.75rem;opacity:.9}.lesson-badge-mini.badge-gold{filter:drop-shadow(0 0 2px rgba(255,193,7,.6))}.lesson-badge-mini.badge-diamond{filter:drop-shadow(0 0 3px rgba(77,212,200,.6))}@media(max-width:768px){.badge-grid{gap:.5rem}.badge-md{min-width:75px;padding:.5rem}.badge-md .badge-icon{font-size:1.6rem}.badge-name{font-size:.6rem}.conquistas-stats{grid-template-columns:repeat(2,1fr)}.badge-unlocked-modal{padding:1.5rem}}.conquistas-global-badge{display:flex;align-items:center;gap:1.5rem;padding:1.5rem 2rem;margin-bottom:2rem;background:linear-gradient(135deg,#e0f7f5,#d6f0ee,#fff9e6);border:2px solid #5fc4c9;border-radius:16px;animation:globalBadgePulse 3s ease-in-out infinite}.conquistas-global-badge p{font-size:1.1rem;font-weight:600;color:#1f6469;margin:0}@keyframes globalBadgePulse{0%,to{box-shadow:0 0 10px #4dd4c833}50%{box-shadow:0 0 25px #4dd4c866}}.ranking-section{margin-top:3rem;padding-top:2rem;border-top:2px solid #f0f0f0}.ranking-header{margin-bottom:1.5rem}.ranking-header h2{font-size:1.5rem;color:#0f5e78;margin:0 0 .25rem}.ranking-header p{color:#666;margin:0;font-size:.95rem}.ranking-loading{display:flex;justify-content:center;padding:2rem}.ranking-empty{text-align:center;padding:2rem;color:#888;background:#fafafa;border-radius:12px}.ranking-table-wrapper{overflow-x:auto;border-radius:12px;border:1px solid #e8e8e8;box-shadow:0 2px 8px #0000000f}.ranking-table{width:100%;border-collapse:collapse;font-size:.95rem}.ranking-table thead{background:linear-gradient(135deg,#0f5e78,#0b4a5e)}.ranking-table thead th{padding:.85rem 1rem;text-align:left;color:#fff;font-weight:600;font-size:.85rem;text-transform:uppercase;letter-spacing:.5px}.ranking-table tbody tr{border-bottom:1px solid #f0f0f0;transition:background .2s}.ranking-table tbody tr:hover{background:#f5fbfa}.ranking-table tbody tr:last-child{border-bottom:none}.ranking-table td{padding:.75rem 1rem}.ranking-col-pos{width:60px;text-align:center!important}.ranking-col-badges{width:120px;text-align:center!important}.ranking-medal{font-size:1.2rem;font-weight:700}.ranking-medal-1{font-size:1.5rem}.ranking-medal-2{font-size:1.4rem}.ranking-medal-3{font-size:1.3rem}.ranking-name{font-weight:600;color:#0f5e78}.ranking-you-tag{display:inline-block;margin-left:.5rem;padding:.1rem .5rem;background:linear-gradient(135deg,#3aa7af,#2e8589);color:#fff;font-size:.7rem;font-weight:700;border-radius:10px;text-transform:uppercase;letter-spacing:.5px}.ranking-badge-count{font-weight:700;color:#333;font-size:1rem}.ranking-row-current{background:linear-gradient(90deg,#f0faf9,#d6f0ee)!important;border-left:3px solid #3aa7af}.ranking-row-top:nth-child(1){background:linear-gradient(90deg,#fff9e6,#fff3cc)}.ranking-row-top:nth-child(2){background:linear-gradient(90deg,#f5f5f5,#ececec)}.ranking-row-top:nth-child(3){background:linear-gradient(90deg,#fef3e8,#fde8d0)}@media(max-width:768px){.ranking-section{margin-top:2rem}.ranking-header h2{font-size:1.25rem}.ranking-table{font-size:.85rem}.ranking-medal-1,.ranking-medal-2,.ranking-medal-3{font-size:1.2rem}.conquistas-global-badge{flex-direction:column;text-align:center;padding:1.25rem}.conquistas-stats{grid-template-columns:repeat(2,1fr)}}.dashboard-welcome{margin-bottom:2rem}.dashboard-welcome h1{font-size:1.8rem;color:#0f5e78;margin-bottom:.5rem}.dashboard-welcome p{color:#666;font-size:1.05rem}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:2rem}.stat-card{background:#fff;border-radius:12px;padding:1.25rem;display:flex;align-items:center;gap:1rem;box-shadow:0 2px 8px #0000000f}.stat-icon{font-size:1.8rem;color:#3aa7af;flex-shrink:0;stroke:currentColor}.stat-number{display:block;font-size:1.8rem;font-weight:700;color:#0f5e78}.stat-label{font-size:.85rem;color:#888}.stat-card-badges{border:2px solid #ffc107;background:linear-gradient(135deg,#fffef5,#fff8e1)}.stat-icon-emoji{font-size:1.8rem;flex-shrink:0}.section{margin-bottom:2rem}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.section-header h2{font-size:1.3rem;color:#0f5e78}.btn-see-all{color:#3aa7af;text-decoration:none;font-weight:600;font-size:.9rem}.btn-see-all:hover{text-decoration:underline}.disciplines-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1rem}.discipline-card{background:#fff;border-radius:12px;padding:1.5rem;text-decoration:none;color:inherit;box-shadow:0 2px 8px #0000000f;transition:all .2s;border:2px solid transparent}.discipline-card:hover{border-color:#3aa7af;transform:translateY(-2px);box-shadow:0 4px 16px #0000001a}.discipline-card-locked{opacity:.55;cursor:not-allowed;background:#f5f5f5;border:2px solid transparent}.discipline-card-locked:hover{border-color:transparent;transform:none;box-shadow:0 2px 8px #0000000f}.discipline-card-completed{border-color:#27ae60;background:#f8fff8}.discipline-card-completed:hover{border-color:#1e8449}.card-locked-badge{display:inline-flex;align-items:center;gap:.3rem;font-size:.8rem;color:#bbb;margin-top:.5rem;font-weight:600}.card-completed-badge{display:inline-flex;align-items:center;gap:.3rem;font-size:.8rem;color:#27ae60;margin-top:.5rem;font-weight:600}.discipline-emoji{font-size:2.5rem;margin-bottom:.75rem}.discipline-card h3{color:#0f5e78;margin-bottom:.5rem;font-size:1.1rem}.discipline-card p{color:#666;font-size:.9rem;line-height:1.4}.empty-state{grid-column:1 / -1;text-align:center;padding:3rem;background:#fff;border-radius:12px;color:#888}.empty-hint{font-size:.85rem;margin-top:.5rem;color:#aaa}.disciplines-page h1{font-size:1.8rem;color:#0f5e78;margin-bottom:.25rem}.page-subtitle{color:#666;margin-bottom:2rem}.module-section{margin-bottom:2.5rem}.module-header{display:flex;align-items:center;gap:1rem;margin-bottom:1rem;padding-bottom:.75rem;border-bottom:2px solid #e3e8ee}.module-icon{font-size:2rem;flex-shrink:0}.module-title{flex:1}.module-title h2{color:#0f5e78;font-size:1.3rem;margin:0}.module-title p{color:#888;font-size:.9rem;margin:.2rem 0 0}.module-publico{flex-shrink:0;font-size:.75rem;font-weight:600;color:#256e73;background:#e6f5f3;border-radius:999px;padding:.3rem .75rem}.disciplines-list{display:flex;flex-direction:column;gap:.75rem}.discipline-item{display:flex;align-items:center;gap:1rem;background:#fff;border-radius:12px;padding:1.25rem;text-decoration:none;color:inherit;box-shadow:0 2px 8px #0000000f;transition:all .2s;border:2px solid transparent}.discipline-item:hover{border-color:#3aa7af;transform:translate(4px)}.discipline-locked{opacity:.55;cursor:not-allowed;background:#f5f5f5}.discipline-locked:hover{border-color:transparent;transform:none}.discipline-completed{border-color:#27ae60;background:#f8fff8}.discipline-completed:hover{border-color:#1e8449}.disc-icon{font-size:2rem;flex-shrink:0}.disc-info{flex:1}.disc-info h3{color:#0f5e78;margin-bottom:.25rem}.disc-info p{color:#888;font-size:.9rem}.disc-arrow{font-size:1.2rem;color:#3aa7af;font-weight:700}.disc-arrow-locked{color:#bbb}.disc-locked-msg{display:flex;align-items:center;gap:.3rem;font-size:.8rem;color:#bbb;margin-top:.3rem;font-weight:600}.disc-completed-badge{display:inline-flex;align-items:center;gap:.3rem;font-size:.8rem;color:#27ae60;margin-top:.3rem;font-weight:600}.discipline-detail{padding-bottom:2rem}.detail-header{margin-bottom:1.5rem}.back-link{display:inline-block;color:#3aa7af;text-decoration:none;font-weight:600;margin-bottom:1rem;font-size:.9rem}.back-link:hover{text-decoration:underline}.detail-title{display:flex;align-items:center;gap:1rem}.detail-icon{font-size:3rem}.detail-title h1{font-size:1.6rem;color:#0f5e78;margin-bottom:.25rem}.detail-title p{color:#666}.progress-section{background:#fff;border-radius:12px;padding:1.25rem;margin-bottom:1.5rem;box-shadow:0 2px 8px #0000000f}.progress-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.6rem}.progress-label{font-weight:600;color:#0f5e78;font-size:.9rem}.progress-value{font-size:.85rem;color:#3aa7af;font-weight:600}.progress-bar{width:100%;height:10px;background:#e8e8e8;border-radius:10px;overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,#3aa7af,#27ae60);border-radius:10px;transition:width .5s ease}.progress-complete-msg{margin-top:.6rem;font-size:.85rem;color:#27ae60;font-weight:600}.tabs{display:flex;gap:.5rem;margin-bottom:1.5rem;border-bottom:2px solid #e0e0e0;padding-bottom:0}.tab{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;background:none;border:none;color:#888;font-size:.95rem;cursor:pointer;border-bottom:3px solid transparent;margin-bottom:-2px;transition:all .2s;text-decoration:none}.tab:hover{color:#3aa7af}.tab.active{color:#3aa7af;border-bottom-color:#3aa7af;font-weight:600}.tab-quiz{margin-left:auto}.tab-quiz-unlocked{color:#27ae60;font-weight:600}.tab-quiz-unlocked:hover{color:#1e8449}.tab-quiz-locked{color:#bbb;cursor:not-allowed}.tab-quiz-locked:hover{color:#bbb}.lessons-list{display:flex;flex-direction:column;gap:.75rem}.lesson-card{display:flex;align-items:center;gap:1rem;background:#fff;border-radius:12px;padding:1.25rem;box-shadow:0 2px 8px #0000000f;transition:all .2s;border-left:4px solid transparent}.lesson-card.completed{border-left-color:#27ae60;background:#f8fff8}.lesson-card.locked{opacity:.6;background:#f5f5f5}.lesson-check{width:40px;height:40px;border-radius:50%;border:2px solid #d0d0d0;background:#f0f0f0;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .2s;color:#888;font-size:1rem}.lesson-check.checked{border-color:#27ae60;background:#27ae60;color:#fff}.lesson-check-locked{border-color:#ccc!important;background:#e8e8e8!important;color:#aaa!important}.lesson-number-text{font-weight:700;font-size:.9rem;color:#666}.lesson-info{flex:1}.lesson-info h3{color:#0f5e78;margin-bottom:.25rem}.lesson-info h3.lesson-done{color:#888}.lesson-info p{color:#888;font-size:.9rem}.lesson-locked-msg{display:block;font-size:.8rem;color:#bbb;margin-top:.25rem;font-weight:600}.lesson-completed-badge{display:inline-block;font-size:.8rem;color:#27ae60;margin-top:.25rem;font-weight:600}.btn-watch{display:flex;align-items:center;gap:.4rem;background:linear-gradient(135deg,#08323f,#3aa7af);color:#fff;padding:.5rem 1rem;border-radius:8px;text-decoration:none;font-size:.85rem;font-weight:600;transition:opacity .2s}.btn-watch:hover{opacity:.85}.btn-watch-active{background:linear-gradient(135deg,#e94560,#c0392b)!important}.lesson-wrapper{display:flex;flex-direction:column;gap:0}.lesson-card.playing{border-bottom-left-radius:0;border-bottom-right-radius:0;border-left-color:#3aa7af}.video-player-inline{background:#000;border-radius:0 0 12px 12px;overflow:hidden;animation:slideDown .3s ease}@keyframes slideDown{0%{opacity:0;max-height:0}to{opacity:1;max-height:600px}}.video-wrapper{position:relative;width:100%;padding-bottom:56.25%}.video-wrapper iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:none}.lesson-actions{padding:1rem 1.25rem;background:#0f5e78;display:flex;justify-content:center}.lesson-watch-notice{display:flex;align-items:center;gap:.75rem;color:#fff9;font-size:.9rem;padding:.5rem 0}.watch-notice-spinner{width:18px;height:18px;border:2px solid rgba(255,255,255,.2);border-top-color:#ffffffb3;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.btn-lesson-watched{display:flex;align-items:center;gap:.5rem;background:linear-gradient(135deg,#27ae60,#2ecc71);color:#fff;border:none;padding:.75rem 2rem;border-radius:10px;font-size:1rem;font-weight:700;cursor:pointer;transition:opacity .2s;animation:fadeInUp .3s ease}.btn-lesson-watched:hover{opacity:.85}@keyframes fadeInUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.btn-lesson-quiz{background:linear-gradient(135deg,#f5a623,#e94560);color:#fff;border:none;padding:.75rem 2rem;border-radius:10px;font-size:1rem;font-weight:700;cursor:pointer;transition:opacity .2s}.btn-lesson-quiz:hover:not(:disabled){opacity:.85}.btn-lesson-quiz:disabled{opacity:.6;cursor:wait}.lesson-quiz-inline{background:#fff;border:2px solid #3aa7af;border-top:none;border-radius:0 0 12px 12px;padding:1.5rem;animation:slideDown .3s ease}.lesson-quiz-header{margin-bottom:1.25rem}.lesson-quiz-header h4{font-size:1.1rem;color:#0f5e78;margin-bottom:.25rem}.lesson-quiz-header p{color:#888;font-size:.85rem}.lesson-quiz-empty{text-align:center;padding:1.5rem}.lesson-quiz-empty p{color:#888;margin-bottom:1rem}.btn-mark-complete{display:inline-flex;align-items:center;gap:.4rem;background:linear-gradient(135deg,#27ae60,#2ecc71);color:#fff;border:none;padding:.6rem 1.5rem;border-radius:8px;font-size:.95rem;font-weight:600;cursor:pointer;transition:opacity .2s}.btn-mark-complete:hover{opacity:.85}.lesson-quiz-questions{display:flex;flex-direction:column;gap:1.25rem;margin-bottom:1.25rem}.lq-question-card{background:#f8f9fa;border-radius:10px;padding:1.25rem}.lq-question-number{font-size:.75rem;font-weight:700;text-transform:uppercase;color:#3aa7af;letter-spacing:.5px}.lq-question-text{font-size:1rem;color:#0f5e78;margin:.5rem 0 .75rem;line-height:1.4}.lq-options{display:flex;flex-direction:column;gap:.4rem}.lq-option{display:flex;align-items:center;gap:.6rem;padding:.6rem .9rem;background:#fff;border:2px solid #e0e0e0;border-radius:8px;cursor:pointer;transition:all .2s;text-align:left;font-size:.9rem}.lq-option:hover:not(:disabled){border-color:#3aa7af;background:#f0faf9}.lq-option.selected{border-color:#3aa7af;background:#e0f7f5}.lq-option.correct{border-color:#27ae60;background:#e8f8ed}.lq-option.wrong{border-color:#e74c3c;background:#fde8e8}.lq-option:disabled{cursor:default}.lq-option-letter{width:26px;height:26px;border-radius:50%;background:#e0e0e0;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.75rem;flex-shrink:0;color:#555}.lq-option.selected .lq-option-letter{background:#3aa7af;color:#fff}.lq-option.correct .lq-option-letter{background:#27ae60;color:#fff}.lq-option.wrong .lq-option-letter{background:#e74c3c;color:#fff}.lesson-quiz-result{text-align:center;padding:1.25rem;border-radius:12px;margin-bottom:1.25rem}.lesson-quiz-result.passed{background:linear-gradient(135deg,#e0ffe0,#c8facc);border:2px solid #27ae60}.lesson-quiz-result.failed{background:linear-gradient(135deg,#ffe0e0,#fac8c8);border:2px solid #e74c3c}.lq-result-score{font-size:2rem;font-weight:700}.lesson-quiz-result.passed .lq-result-score{color:#27ae60}.lesson-quiz-result.failed .lq-result-score{color:#e74c3c}.lq-result-detail{font-size:.85rem;color:#666;margin-bottom:.4rem}.lq-result-text{font-size:.95rem;margin-bottom:.75rem}.btn-retry-lesson,.btn-next-lesson{border:none;padding:.5rem 1.5rem;border-radius:8px;font-size:.9rem;font-weight:600;cursor:pointer;transition:opacity .2s}.btn-retry-lesson{background:#e74c3c;color:#fff}.btn-next-lesson{background:linear-gradient(135deg,#08323f,#3aa7af);color:#fff}.btn-retry-lesson:hover,.btn-next-lesson:hover{opacity:.85}.btn-submit-lesson-quiz{width:100%;padding:.75rem;background:linear-gradient(135deg,#08323f,#3aa7af);color:#fff;border:none;border-radius:10px;font-size:1rem;font-weight:700;cursor:pointer;transition:opacity .2s}.btn-submit-lesson-quiz:hover{opacity:.9}.lesson-quiz-inline .correction-comment{display:flex;align-items:flex-start;gap:.6rem;margin-top:.75rem;padding:.75rem 1rem;background:#fef9e7;border:1px solid #f0d861;border-radius:8px;animation:fadeInComment .3s ease}.lesson-quiz-inline .correction-comment-icon{font-size:1.1rem;flex-shrink:0;margin-top:1px}.lesson-quiz-inline .correction-comment-text{font-size:.9rem;color:#5a4e00;line-height:1.5}.materials-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:.75rem}.material-card{display:flex;align-items:center;gap:1rem;background:#fff;border-radius:12px;padding:1.25rem;text-decoration:none;color:inherit;box-shadow:0 2px 8px #0000000f;transition:all .2s;border:2px solid transparent}.material-card:hover{border-color:#3aa7af}.material-type{font-size:2rem}.material-info h3{color:#0f5e78;margin-bottom:.25rem;font-size:.95rem}.material-badge{display:inline-block;background:#e0f7f5;color:#3aa7af;padding:.15rem .5rem;border-radius:4px;font-size:.75rem;font-weight:600;text-transform:uppercase}.material-meta{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;margin-top:.25rem}.material-download-hint{display:inline-flex;align-items:center;gap:.3rem;color:#3aa7af;font-size:.75rem;font-weight:600}.error-state{text-align:center;padding:3rem;color:#e94560;font-size:1.1rem}.doubt-cta-section{display:flex;align-items:center;justify-content:space-between;background:linear-gradient(135deg,#f0faf9,#d6f0ee);border:1px solid #b2dfdb;border-radius:12px;padding:1.25rem 1.5rem;margin-top:1.5rem;gap:1rem}.doubt-cta-content{display:flex;align-items:center;gap:1rem}.doubt-cta-icon{font-size:1.8rem;color:#3aa7af;flex-shrink:0}.doubt-cta-content h3{font-size:.95rem;color:#0f5e78;margin-bottom:.15rem}.doubt-cta-content p{font-size:.82rem;color:#666}.btn-doubt-cta{display:flex;align-items:center;gap:.4rem;padding:.6rem 1.25rem;background:#3aa7af;color:#fff;border:none;border-radius:8px;text-decoration:none;font-size:.85rem;font-weight:600;white-space:nowrap;transition:all .2s}.btn-doubt-cta:hover{background:#2e8589;transform:translateY(-1px)}@media(max-width:600px){.doubt-cta-section{flex-direction:column;text-align:center}.doubt-cta-content{flex-direction:column;gap:.5rem}}.discipline-ranking-section{margin-top:2.5rem;padding-top:2rem;border-top:2px solid #f0f0f0}.discipline-ranking-header{margin-bottom:1.25rem}.discipline-ranking-header h3{font-size:1.3rem;color:#0f5e78;margin:0 0 .2rem}.discipline-ranking-header p{color:#888;margin:0;font-size:.9rem}.discipline-ranking-loading{display:flex;justify-content:center;padding:2rem}.discipline-ranking-empty{text-align:center;padding:1.5rem;color:#888;background:#fafafa;border-radius:12px;font-size:.9rem}.discipline-ranking-table-wrapper{overflow-x:auto;border-radius:12px;border:1px solid #e8e8e8;box-shadow:0 2px 8px #0000000f}.discipline-ranking-table{width:100%;border-collapse:collapse;font-size:.95rem}.discipline-ranking-table thead{background:linear-gradient(135deg,#0f5e78,#0b4a5e)}.discipline-ranking-table thead th{padding:.8rem 1rem;text-align:left;color:#fff;font-weight:600;font-size:.8rem;text-transform:uppercase;letter-spacing:.5px}.discipline-ranking-table tbody tr{border-bottom:1px solid #f0f0f0;transition:background .2s}.discipline-ranking-table tbody tr:hover{background:#f5fbfa}.discipline-ranking-table tbody tr:last-child{border-bottom:none}.discipline-ranking-table td{padding:.7rem 1rem}.dr-col-pos{width:50px;text-align:center!important}.dr-col-badges{width:100px;text-align:center!important}.dr-medal{font-size:1.1rem;font-weight:700}.dr-medal-1{font-size:1.4rem}.dr-medal-2{font-size:1.3rem}.dr-medal-3{font-size:1.2rem}.dr-name{font-weight:600;color:#0f5e78}.dr-you-tag{display:inline-block;margin-left:.5rem;padding:.1rem .45rem;background:linear-gradient(135deg,#3aa7af,#2e8589);color:#fff;font-size:.65rem;font-weight:700;border-radius:10px;text-transform:uppercase;letter-spacing:.5px}.dr-badge-count{font-weight:700;color:#333;font-size:.95rem}.dr-row-current{background:linear-gradient(90deg,#f0faf9,#d6f0ee)!important;border-left:3px solid #3aa7af}.dr-row-top:nth-child(1){background:linear-gradient(90deg,#fff9e6,#fff3cc)}.dr-row-top:nth-child(2){background:linear-gradient(90deg,#f5f5f5,#ececec)}.dr-row-top:nth-child(3){background:linear-gradient(90deg,#fef3e8,#fde8d0)}@media(max-width:600px){.discipline-ranking-section{margin-top:1.5rem}.discipline-ranking-header h3{font-size:1.1rem}.discipline-ranking-table{font-size:.85rem}}.reflexao-panel,.artigo-panel{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:1.5rem;margin-top:1rem}.reflexao-panel .panel-header,.artigo-panel .panel-header{border-bottom:1px solid #f1f5f9;padding-bottom:.75rem;margin-bottom:1rem}.reflexao-panel .panel-header h2,.artigo-panel .panel-header h2{display:flex;align-items:center;gap:.5rem;color:#3aa7af;margin:0 0 .25rem;font-size:1.25rem}.reflexao-panel .panel-header p,.artigo-panel .panel-header p{margin:0;color:#6b7280;font-size:.9rem}.reflexao-panel .panel-body,.artigo-panel .panel-body{min-height:120px}.quiz-page{padding-bottom:2rem}.quiz-header{margin-bottom:2rem}.quiz-header h1{font-size:1.6rem;color:#0f5e78;margin-bottom:.5rem}.quiz-header p{color:#666;line-height:1.5}.quiz-info-bar{display:flex;gap:1.5rem;margin-top:1rem;padding:.75rem 1rem;background:#e0f7f5;border-radius:8px;font-size:.85rem;color:#3aa7af;font-weight:600}.quiz-locked{text-align:center;padding:3rem 2rem;background:#fff;border-radius:16px;box-shadow:0 2px 12px #00000014;margin-top:1rem}.locked-icon{font-size:3rem;color:#bbb;margin-bottom:1rem;display:flex;justify-content:center}.quiz-locked h2{font-size:1.5rem;color:#0f5e78;margin-bottom:.75rem}.quiz-locked p{color:#666;font-size:1rem;max-width:420px;margin:0 auto 1.5rem;line-height:1.5}.locked-progress{max-width:350px;margin:0 auto 1.5rem}.locked-progress-bar{width:100%;height:10px;background:#e8e8e8;border-radius:10px;overflow:hidden;margin-bottom:.5rem}.locked-progress-fill{height:100%;background:linear-gradient(90deg,#e94560,#f5a623);border-radius:10px;transition:width .5s ease}.locked-progress-text{font-size:.85rem;color:#888;font-weight:600}.btn-go-back{display:inline-block;background:linear-gradient(135deg,#08323f,#3aa7af);color:#fff;padding:.75rem 2rem;border-radius:10px;text-decoration:none;font-weight:600;font-size:1rem;transition:opacity .2s}.btn-go-back:hover{opacity:.85}.quiz-result{text-align:center;padding:2rem;border-radius:16px;margin-bottom:2rem}.quiz-result.passed{background:linear-gradient(135deg,#e0ffe0,#c8facc);border:2px solid #27ae60}.quiz-result.failed{background:linear-gradient(135deg,#ffe0e0,#fac8c8);border:2px solid #e74c3c}.result-score{font-size:3rem;font-weight:700;margin-bottom:.25rem}.result-detail{font-size:.9rem;color:#666;margin-bottom:.5rem}.passed .result-score{color:#27ae60}.failed .result-score{color:#e74c3c}.result-text{font-size:1.1rem;margin-bottom:1rem}.btn-retry{background:#3aa7af;color:#fff;border:none;padding:.6rem 1.5rem;border-radius:8px;font-size:.95rem;cursor:pointer;font-weight:600}.btn-retry:hover{opacity:.85}.questions-list{display:flex;flex-direction:column;gap:1.5rem}.question-card{background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 2px 8px #0000000f}.question-header{margin-bottom:.75rem}.question-number{font-size:.8rem;font-weight:700;text-transform:uppercase;color:#3aa7af;letter-spacing:.5px}.question-text{font-size:1.05rem;color:#0f5e78;margin-bottom:1rem;line-height:1.5}.options-list{display:flex;flex-direction:column;gap:.5rem}.option{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:#f8f9fa;border:2px solid #e8e8e8;border-radius:10px;cursor:pointer;transition:all .2s;text-align:left;font-size:.95rem}.option:hover:not(:disabled){border-color:#3aa7af;background:#f0faf9}.option.selected{border-color:#3aa7af;background:#e0f7f5}.option.correct{border-color:#27ae60;background:#e8f8ed}.option.wrong{border-color:#e74c3c;background:#fde8e8}.option:disabled{cursor:default}.option-letter{width:30px;height:30px;border-radius:50%;background:#e0e0e0;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.8rem;flex-shrink:0;color:#555}.option.selected .option-letter{background:#3aa7af;color:#fff}.option.correct .option-letter{background:#27ae60;color:#fff}.option.wrong .option-letter{background:#e74c3c;color:#fff}.option-text{flex:1}.btn-submit-quiz{width:100%;padding:1rem;background:linear-gradient(135deg,#08323f,#3aa7af);color:#fff;border:none;border-radius:12px;font-size:1.1rem;font-weight:700;cursor:pointer;transition:opacity .2s}.btn-submit-quiz:hover{opacity:.9}.correction-comment{display:flex;align-items:flex-start;gap:.6rem;margin-top:.75rem;padding:.75rem 1rem;background:#fef9e7;border:1px solid #f0d861;border-radius:8px;animation:fadeInComment .3s ease}.correction-comment-icon{font-size:1.1rem;flex-shrink:0;margin-top:1px}.correction-comment-text{font-size:.9rem;color:#5a4e00;line-height:1.5}@keyframes fadeInComment{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.admin-disciplines{max-width:1000px}.admin-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1.5rem;flex-wrap:wrap;gap:1rem}.admin-header h1{font-size:1.6rem;color:#0f5e78;margin-bottom:.25rem}.form-3{grid-column:span 1}@media(min-width:600px){.form-3{grid-column:span 1}}.admin-table{background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 2px 12px #0000000f}.table-header{display:grid;grid-template-columns:50px 1fr 64px 84px 56px 64px 120px;padding:.75rem 1rem;background:#f7f7fa;font-size:.78rem;font-weight:700;color:#888;text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid #eee}.table-row{display:grid;grid-template-columns:50px 1fr 64px 84px 56px 64px 120px;padding:.85rem 1rem;align-items:center;border-bottom:1px solid #f0f0f0;transition:background .15s}.table-row:hover{background:#fafafe}.table-row:last-child{border-bottom:none}.col-icon{text-align:center;min-width:0;overflow:hidden}.table-row .col-icon{font-size:1.4rem}.table-modules .table-header,.table-modules .table-row{grid-template-columns:50px 1fr 170px 110px 64px 110px}.col-name{min-width:0}.col-name strong{display:block;font-size:.95rem;color:#0f5e78}.col-name small{display:block;font-size:.8rem;color:#999;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.col-stats{text-align:center;font-size:.9rem;font-weight:600;color:#3aa7af;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.col-order{text-align:center;font-size:.85rem;color:#888}.col-actions{display:flex;gap:.4rem;justify-content:flex-end}.btn-icon{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;border-radius:6px;cursor:pointer;font-size:.9rem;transition:all .2s;text-decoration:none;color:inherit}.btn-edit-inline{background:#f0f0f0;font-size:.85rem}.btn-edit-inline:hover{background:#e0e0e0}.btn-manage{background:#d6f0ee;color:#3aa7af}.btn-manage:hover{background:#b2dfdb}.table-empty{padding:3rem 1rem;text-align:center;color:#999}.table-empty p{margin-bottom:.5rem}@media(max-width:768px){.admin-header{flex-direction:column}.table-header{display:none}.table-row{display:flex;flex-wrap:wrap;gap:.5rem;padding:1rem}.col-stats{font-size:.8rem}.form-grid{grid-template-columns:1fr}.form-half{grid-column:span 1}}.admin-disc-edit{max-width:1000px}.admin-edit-header{margin-bottom:1.5rem}.admin-edit-header .back-link{display:inline-flex;align-items:center;gap:.4rem;color:#3aa7af;text-decoration:none;font-size:.9rem;font-weight:600;margin-bottom:.75rem;transition:color .2s}.admin-edit-header .back-link:hover{color:#2e8589}.admin-edit-header h1{font-size:1.6rem;color:#0f5e78;margin-bottom:.25rem}.admin-tabs{display:flex;gap:.25rem;margin-bottom:1.5rem;border-bottom:2px solid #eee;overflow-x:auto}.admin-tab{padding:.7rem 1.2rem;border:none;background:none;font-size:.9rem;font-weight:600;color:#888;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-2px;transition:all .2s;white-space:nowrap}.admin-tab:hover{color:#3aa7af}.admin-tab.active{color:#3aa7af;border-bottom-color:#3aa7af;font-weight:600}.admin-section{margin-bottom:2rem}.section-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;flex-wrap:wrap;gap:.75rem}.section-toolbar h3{font-size:1.1rem;color:#0f5e78}.admin-list{background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 2px 12px #0000000f;margin-bottom:1.5rem}.admin-list-item{display:flex;align-items:flex-start;gap:.75rem;padding:1rem 1.25rem;border-bottom:1px solid #f0f0f0;transition:background .15s}.admin-list-item:last-child{border-bottom:none}.admin-list-item:hover{background:#fafafe}.item-order{display:flex;align-items:center;justify-content:center;min-width:32px;height:32px;background:#e8f5f4;color:#3aa7af;border-radius:8px;font-size:.8rem;font-weight:700;flex-shrink:0}.item-type-badge{display:inline-flex;align-items:center;padding:.25rem .6rem;background:#d6f0ee;color:#3aa7af;border-radius:6px;font-size:.75rem;font-weight:600;text-transform:uppercase;flex-shrink:0}.item-info{flex:1;min-width:0}.item-info strong{display:block;font-size:.95rem;color:#0f5e78;margin-bottom:.15rem}.item-info small{display:block;font-size:.8rem;color:#999;line-height:1.4}.item-url{word-break:break-all;color:#5a8a87!important}.item-actions{display:flex;gap:.35rem;flex-shrink:0}.btn-icon{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;border-radius:6px;cursor:pointer;font-size:.85rem;transition:all .2s}.btn-edit{background:#d6f0ee;color:#3aa7af}.btn-edit:hover{background:#b2dfdb}.btn-delete{background:#fee;color:#e94560}.btn-delete:hover{background:#fdd}.list-empty{padding:2rem 1rem;text-align:center;color:#aaa;font-size:.9rem}.lesson-quiz-badge-row{display:flex;align-items:center;gap:.75rem;margin-top:.4rem;flex-wrap:wrap}.lesson-quiz-count{font-size:.78rem;font-weight:600;padding:.15rem .5rem;border-radius:4px}.lesson-quiz-count.has-questions{background:#e6f7e6;color:#2d8a2d}.lesson-quiz-count.no-questions{background:#fff3e0;color:#b57900}.btn-add-quiz-shortcut{background:none;border:1px dashed #3aa7af;color:#3aa7af;padding:.15rem .6rem;border-radius:4px;font-size:.75rem;font-weight:600;cursor:pointer;transition:all .2s}.btn-add-quiz-shortcut:hover{background:#e0f7f5;border-style:solid}.admin-lesson-item{align-items:flex-start}.quiz-section-title{font-size:1rem;color:#0f5e78;margin:1.5rem 0 .75rem;padding-bottom:.5rem;border-bottom:1px solid #eee}.quiz-section-title:first-child,.admin-section>.quiz-section-title:first-of-type{margin-top:0}.quiz-item{align-items:flex-start}.quiz-options-preview{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.4rem}.option-preview{display:inline-flex;padding:.2rem .5rem;background:#f5f5f5;border-radius:4px;font-size:.75rem;color:#666}.option-preview.correct{background:#e6f7e6;color:#2d8a2d;font-weight:600}.quiz-comment-preview{margin-top:.4rem;font-size:.78rem;color:#8a7000;background:#fef9e7;padding:.25rem .5rem;border-radius:4px;border-left:3px solid #f0d861}.option-input-row{display:flex;gap:.4rem}.option-input-row input{flex:1;padding:.6rem .75rem;border:1.5px solid #ddd;border-radius:8px;font-size:.9rem;transition:border-color .2s;font-family:inherit}.option-input-row input:focus{outline:none;border-color:#3aa7af;box-shadow:0 0 0 3px #009b8f1a}.btn-correct{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:2px solid #ddd;border-radius:8px;background:#fff;color:#ccc;cursor:pointer;transition:all .2s;flex-shrink:0}.btn-correct:hover{border-color:#2d8a2d;color:#2d8a2d}.btn-correct.active{border-color:#2d8a2d;background:#e6f7e6;color:#2d8a2d}.btn-remove-option{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:2px solid #f3c2cb;border-radius:8px;background:#fee;color:#e94560;cursor:pointer;transition:all .2s;flex-shrink:0}.btn-remove-option:hover{border-color:#e94560;background:#fdd}.btn-add-option{display:inline-flex;align-items:center;gap:.4rem;align-self:flex-start;padding:.55rem 1rem;border:1.5px dashed #3aa7af;border-radius:8px;background:#f0fbfa;color:#3aa7af;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .2s}.btn-add-option:hover{background:#d6f0ee}.quiz-missing-notice{background:#fff8e6;border:1px solid #ffe0a0;border-radius:10px;padding:1rem 1.25rem;margin-top:1rem}.quiz-missing-notice h4{color:#b58a00;font-size:.9rem;margin-bottom:.5rem}.quiz-missing-notice ul{margin:.25rem 0 .5rem 1.5rem;font-size:.85rem;color:#666}.quiz-missing-notice p{font-size:.82rem;color:#888}.admin-form-card{background:#fff;border-radius:12px;padding:1.5rem;margin-bottom:1.5rem;box-shadow:0 2px 12px #00000014;border:2px solid #3aa7af}.admin-form-card h3{margin-bottom:1rem;color:#0f5e78;font-size:1.1rem}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.form-full{grid-column:1 / -1}.form-half{grid-column:span 1}.form-group{display:flex;flex-direction:column;gap:.35rem}.form-group label{font-size:.82rem;font-weight:600;color:#555;text-transform:uppercase;letter-spacing:.3px}.form-group input,.form-group textarea,.form-group select{padding:.6rem .75rem;border:1.5px solid #ddd;border-radius:8px;font-size:.9rem;transition:border-color .2s;font-family:inherit}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:#3aa7af;box-shadow:0 0 0 3px #009b8f1a}.form-actions{display:flex;gap:.75rem;justify-content:flex-end;margin-top:1rem;padding-top:1rem;border-top:1px solid #eee}.btn-primary{display:inline-flex;align-items:center;gap:.5rem;padding:.65rem 1.25rem;background:#3aa7af;color:#fff;border:none;border-radius:8px;font-size:.9rem;font-weight:600;cursor:pointer;transition:background .2s;text-decoration:none}.btn-primary:hover{background:#2e8589}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-secondary{display:inline-flex;align-items:center;gap:.5rem;padding:.65rem 1.25rem;background:#f0f0f0;color:#444;border:none;border-radius:8px;font-size:.9rem;font-weight:600;cursor:pointer;transition:background .2s}.btn-secondary:hover{background:#e0e0e0}.admin-subtitle{color:#666;font-size:.95rem}@media(max-width:768px){.section-toolbar{flex-direction:column;align-items:stretch}.form-grid{grid-template-columns:1fr}.form-half{grid-column:span 1}.admin-tabs{gap:0}.admin-tab{padding:.6rem .8rem;font-size:.82rem}.admin-list-item{flex-wrap:wrap}}.file-upload-area{display:flex;flex-direction:column;gap:.75rem}.file-input-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.file-upload-label{display:flex;align-items:center;justify-content:center;gap:.75rem;padding:1.5rem 1rem;border:2px dashed #cbd5e1;border-radius:10px;background:#f8fafc;color:#64748b;font-size:.9rem;cursor:pointer;transition:all .2s}.file-upload-label:hover{border-color:#3aa7af;background:#e0f7f5;color:#3aa7af}.file-upload-label svg{font-size:1.3rem}.file-selected-info{display:flex;align-items:center;gap:.5rem;padding:.6rem .75rem;background:#e0f7f5;border-radius:8px;color:#0f5e78;font-size:.85rem;font-weight:500}.file-selected-info svg{color:#3aa7af;flex-shrink:0}.file-size{color:#64748b;font-weight:400;margin-left:auto}.btn-remove-file{background:none;border:none;color:#e94560;cursor:pointer;padding:.25rem;display:flex;align-items:center;border-radius:4px;transition:background .2s}.btn-remove-file:hover{background:#fee2e2}.file-edit-hint{color:#94a3b8;font-size:.8rem;font-style:italic}.admin-reports{max-width:1200px}.report-stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;margin-bottom:2rem}.report-stat-card{background:#fff;border-radius:12px;padding:1.15rem;display:flex;align-items:center;gap:.85rem;box-shadow:0 2px 8px #0000000f;transition:transform .15s,box-shadow .15s}.report-stat-card:hover{transform:translateY(-2px);box-shadow:0 4px 16px #0000001a}.report-stat-icon{width:44px;height:44px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:1.25rem;flex-shrink:0}.report-stat-icon.users{background:#e0f7f5;color:#3aa7af}.report-stat-icon.disciplines{background:#d6f0ee;color:#1565c0}.report-stat-icon.completed{background:#e8f5e9;color:#2e7d32}.report-stat-icon.score{background:#fff3e0;color:#e65100}.report-stat-icon.quizzes{background:#e0f7f5;color:#c62828}.report-stat-icon.lessons{background:#d6f0ee;color:#256e73}.report-stat-info{display:flex;flex-direction:column}.report-stat-number{font-size:1.5rem;font-weight:700;color:#0f5e78;line-height:1.2}.report-stat-label{font-size:.78rem;color:#888;line-height:1.3}.report-tabs{display:flex;gap:.5rem;margin-bottom:1.5rem;border-bottom:2px solid #f0f0f0;padding-bottom:0}.report-tab{display:inline-flex;align-items:center;gap:.4rem;padding:.65rem 1.25rem;background:none;border:none;border-bottom:3px solid transparent;font-size:.92rem;font-weight:600;color:#888;cursor:pointer;transition:all .2s;margin-bottom:-2px}.report-tab:hover{color:#3aa7af}.report-tab.active{color:#3aa7af;border-bottom-color:#3aa7af;font-weight:600}.report-section{margin-bottom:2rem}.report-section h2{font-size:1.15rem;color:#0f5e78;margin-bottom:1rem}.report-section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;flex-wrap:wrap;gap:.75rem}.report-section-header h2{margin-bottom:0}.report-search input{padding:.55rem 1rem;border:1.5px solid #ddd;border-radius:8px;font-size:.9rem;width:280px;transition:border-color .2s}.report-search input:focus{outline:none;border-color:#3aa7af}.report-section-actions{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.report-export-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.55rem 1rem;background:#3aa7af;color:#fff;border:none;border-radius:8px;font-size:.9rem;font-weight:600;cursor:pointer;transition:background-color .2s,transform .1s}.report-export-btn:hover:not(:disabled){background:#2e8589}.report-export-btn:active:not(:disabled){transform:translateY(1px)}.report-export-btn:disabled{background:#9ec9c5;cursor:not-allowed}.report-table{background:#fff;border-radius:12px;box-shadow:0 2px 12px #0000000f;overflow:hidden}.report-table-header{display:grid;grid-template-columns:40px 2fr repeat(5,1fr);padding:.85rem 1.25rem;background:#f8f9fa;font-size:.78rem;font-weight:600;color:#888;text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid #eee}.report-table-row{display:grid;grid-template-columns:40px 2fr repeat(5,1fr);padding:.85rem 1.25rem;align-items:center;border-bottom:1px solid #f0f0f0;transition:background .15s}.report-table-row:last-child{border-bottom:none}.report-table-row:hover{background:#fafafa}.report-table-row-clickable{cursor:pointer}.report-table-row-clickable:hover{background:#f0faf9}.report-section:has(.col-user-name) .report-table-header,.report-user-block .report-table-row{grid-template-columns:2fr repeat(5,1fr) .5fr 36px}.report-section:has(.col-user-name) .report-table-header{grid-template-columns:2fr repeat(5,1fr) .5fr 36px}.col-disc-icon{font-size:1.3rem;text-align:center}.col-disc-name{display:flex;flex-direction:column;gap:.15rem}.col-disc-name strong{color:#0f5e78;font-size:.92rem}.col-disc-name small{color:#999;font-size:.78rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.col-user-name{display:flex;flex-direction:column;gap:.15rem}.col-user-name strong{color:#0f5e78;font-size:.9rem}.col-user-name small{color:#999;font-size:.78rem}.col-metric{display:flex;flex-direction:column;align-items:center;text-align:center;gap:.1rem}.col-expand{display:flex;align-items:center;justify-content:center;color:#999;font-size:1.1rem}.metric-value{font-size:1.1rem;font-weight:700;color:#0f5e78}.metric-value-sm{font-size:.82rem;color:#555}.metric-value.good{color:#2e7d32}.metric-value.warn{color:#e65100}.metric-label{font-size:.72rem;color:#aaa}.metric-empty{color:#ccc;font-size:1rem}.report-table-empty{padding:2rem;text-align:center;color:#888;font-size:.92rem}.report-user-block{border-bottom:1px solid #f0f0f0}.report-user-block:last-child{border-bottom:none}.report-user-block.expanded{background:#fafafe}.report-user-block.expanded .report-table-row{background:#f0faf9;border-bottom:1px solid #e0f7f5}.user-detail-panel{padding:1rem 1.25rem 1.25rem;border-bottom:2px solid #e0f7f5}.user-detail-panel h4{font-size:.88rem;color:#3aa7af;margin-bottom:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em}.user-detail-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:.75rem}.user-disc-card{background:#fff;border:1.5px solid #eee;border-radius:10px;padding:.85rem;transition:border-color .2s}.user-disc-card.completed{border-color:#a5d6a7;background:#f9fdf9}.user-disc-card.inactive{opacity:.55}.user-disc-header{display:flex;align-items:center;gap:.6rem;margin-bottom:.5rem}.user-disc-icon{font-size:1.4rem}.user-disc-title{display:flex;flex-direction:column;gap:.15rem}.user-disc-title strong{font-size:.88rem;color:#0f5e78}.badge-completed{font-size:.72rem;font-weight:600;color:#2e7d32;background:#e8f5e9;padding:.15rem .5rem;border-radius:20px;width:fit-content}.badge-progress{font-size:.72rem;font-weight:600;color:#e65100;background:#fff3e0;padding:.15rem .5rem;border-radius:20px;width:fit-content}.badge-inactive{font-size:.72rem;font-weight:600;color:#999;background:#f5f5f5;padding:.15rem .5rem;border-radius:20px;width:fit-content}.user-disc-metrics{display:flex;flex-direction:column;gap:.45rem;margin-top:.5rem}.user-disc-metric{display:flex;align-items:center;gap:.45rem;font-size:.82rem;color:#555}.user-disc-metric svg{color:#3aa7af;font-size:.85rem;flex-shrink:0}.mini-progress-bar{flex:1;max-width:80px;height:6px;background:#eee;border-radius:3px;overflow:hidden}.mini-progress-fill{height:100%;background:linear-gradient(90deg,#3aa7af,#47b8bd);border-radius:3px;transition:width .3s ease}.mini-progress-text{font-weight:600;font-size:.78rem;color:#3aa7af;min-width:30px}.score-badge{font-size:.72rem;font-weight:600;padding:.1rem .45rem;border-radius:4px}.score-badge.pass{background:#e8f5e9;color:#2e7d32}.score-badge.fail{background:#ffebee;color:#c62828}@media(max-width:900px){.report-stats-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.report-table-header,.report-table-row{grid-template-columns:36px 1.5fr repeat(5,.8fr)!important;font-size:.82rem;padding:.65rem .75rem}.report-section:has(.col-user-name) .report-table-header,.report-user-block .report-table-row{grid-template-columns:1.5fr repeat(5,.8fr) .4fr 30px!important}.metric-value{font-size:.95rem}.user-detail-grid{grid-template-columns:1fr}}@media(max-width:640px){.report-stats-grid{grid-template-columns:repeat(2,1fr)}.report-table-header{display:none}.report-table-row{display:flex!important;flex-wrap:wrap;gap:.5rem;padding:.85rem 1rem!important}.col-disc-icon{display:none}.col-disc-name,.col-user-name{flex:1 1 100%;margin-bottom:.25rem}.col-metric{flex:1 1 calc(33% - .5rem);min-width:70px;padding:.35rem 0;border-top:1px solid #f0f0f0}.col-expand{flex:0 0 30px}.report-search input{width:100%}.report-tabs{overflow-x:auto;-webkit-overflow-scrolling:touch}}.admin-users-page{max-width:900px;margin:0 auto}.admin-users-page .page-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1.5rem}.admin-users-page .page-header h1{display:flex;align-items:center;gap:.5rem;font-size:1.6rem;color:#0f5e78;margin-bottom:.25rem}.admin-users-page .page-header p{color:#888;font-size:.9rem}.admin-users-card{background:#fff;border-radius:12px;padding:1.75rem;margin-bottom:1.5rem;box-shadow:0 2px 12px #00000014;border:1px solid #e8f5f4}.admin-users-card h2{font-size:1.1rem;color:#0f5e78;margin-bottom:1.25rem}.admin-users-form .form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem}.admin-users-form .form-group{display:flex;flex-direction:column;gap:.35rem}.admin-users-form .form-group label{font-weight:600;color:#333;font-size:.88rem}.admin-users-form .form-group input,.admin-users-form .form-group select{padding:.65rem .85rem;border:2px solid #e0e0e0;border-radius:8px;font-size:.95rem;transition:border-color .2s;background:#fff}.admin-users-form .form-group input:focus,.admin-users-form .form-group select:focus{outline:none;border-color:#3aa7af}.form-error{background:#ffe0e0;color:#c0392b;padding:.6rem .8rem;border-radius:8px;margin-bottom:1rem;font-size:.9rem}.form-success{background:#e0f7f4;color:#256e73;padding:.6rem .8rem;border-radius:8px;margin-bottom:1rem;font-size:.9rem}.form-hint{font-size:.82rem;color:#888;margin-bottom:1.25rem;padding:.5rem .75rem;background:#f9f9f9;border-radius:6px;border-left:3px solid #3aa7af}.btn-submit{display:flex;align-items:center;gap:.45rem;padding:.7rem 1.5rem;background:#3aa7af;color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:.95rem;font-weight:600;transition:background .2s}.btn-submit:hover:not(:disabled){background:#2e8589}.btn-submit:disabled{opacity:.6;cursor:not-allowed}.admin-users-list-card{background:#fff;border-radius:12px;padding:1.75rem;box-shadow:0 2px 12px #00000014;border:1px solid #e8f5f4}.admin-users-list-card .list-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.25rem}.admin-users-list-card h2{display:flex;align-items:center;gap:.5rem;font-size:1.1rem;color:#0f5e78;margin:0}.btn-refresh{background:none;border:1px solid #e0e0e0;border-radius:6px;padding:.4rem .6rem;cursor:pointer;color:#666;transition:all .2s;display:flex;align-items:center}.btn-refresh:hover:not(:disabled){background:#f5fbfa;border-color:#3aa7af;color:#3aa7af}.btn-refresh:disabled{opacity:.5;cursor:not-allowed}.btn-refresh .spinning{animation:spin .8s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.loading-state,.empty-state{text-align:center;padding:2rem;color:#888;font-size:.95rem}.users-table-wrapper{overflow-x:auto}.users-table{width:100%;border-collapse:collapse;font-size:.9rem}.users-table th{text-align:left;padding:.65rem .85rem;color:#555;font-weight:600;font-size:.82rem;text-transform:uppercase;letter-spacing:.04em;border-bottom:2px solid #f0f0f0}.users-table td{padding:.7rem .85rem;border-bottom:1px solid #f5f5f5;color:#333}.users-table tr:last-child td{border-bottom:none}.users-table tr:hover td{background:#f9fdfd}.role-badge{display:inline-block;padding:.2rem .65rem;border-radius:999px;font-size:.78rem;font-weight:600}.role-badge.role-user{background:#e8f4fd;color:#1a6fa8}.role-badge.role-monitor{background:#e8f5f0;color:#1a7a5e}.role-badge.role-admin{background:#fef3e2;color:#b45309}@media(max-width:600px){.admin-users-form .form-row{grid-template-columns:1fr}}.forgot-description{text-align:center;color:#666;font-size:.9rem;margin-bottom:1.5rem;line-height:1.4}.forum-page{max-width:900px;margin:0 auto}.forum-page .page-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1.5rem;flex-wrap:wrap;gap:1rem}.forum-page .page-header h1{font-size:1.6rem;color:#0f5e78;margin-bottom:.25rem}.forum-page .page-header p{color:#888;font-size:.9rem}.btn-new-post{display:flex;align-items:center;gap:.4rem;padding:.6rem 1.25rem;background:#3aa7af;color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:.9rem;font-weight:600;transition:all .2s;white-space:nowrap}.btn-new-post:hover{background:#2e8589}.forum-filters{display:flex;gap:.75rem;margin-bottom:1.5rem;flex-wrap:wrap;align-items:center}.forum-filters select{padding:.5rem .75rem;border:1px solid #e0e0e0;border-radius:8px;font-size:.85rem;background:#fff;color:#333;cursor:pointer;min-width:140px}.forum-filters .search-input{flex:1;min-width:180px;padding:.5rem .75rem;border:1px solid #e0e0e0;border-radius:8px;font-size:.85rem;font-family:inherit}.forum-filters .search-input:focus{border-color:#3aa7af;outline:none}.category-tabs{display:flex;gap:.5rem;margin-bottom:1.5rem;flex-wrap:wrap}.category-tab{padding:.45rem 1rem;border:1px solid #e0e0e0;border-radius:20px;background:#fff;color:#666;cursor:pointer;font-size:.82rem;font-weight:600;transition:all .2s}.category-tab:hover{border-color:#3aa7af;color:#3aa7af}.category-tab.active{background:#3aa7af;border-color:#3aa7af;color:#fff}.post-form-card{background:#fff;border-radius:12px;padding:1.5rem;margin-bottom:1.5rem;box-shadow:0 2px 8px #0000000f}.post-form-card h3{font-size:1.1rem;color:#0f5e78;margin-bottom:1rem}.post-form-card .form-group{margin-bottom:1rem}.post-form-card .form-group label{display:block;font-size:.82rem;font-weight:600;color:#555;margin-bottom:.35rem}.post-form-card .form-group input,.post-form-card .form-group select,.post-form-card .form-group textarea{width:100%;padding:.6rem .75rem;border:1px solid #e0e0e0;border-radius:8px;font-size:.9rem;font-family:inherit;transition:border-color .2s}.post-form-card .form-group input:focus,.post-form-card .form-group select:focus,.post-form-card .form-group textarea:focus{border-color:#3aa7af;outline:none}.post-form-card .form-group textarea{resize:vertical;min-height:100px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.form-actions{display:flex;gap:.75rem;justify-content:flex-end;margin-top:.5rem}.btn-submit-post{padding:.6rem 1.5rem;background:#3aa7af;color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:.9rem;font-weight:600;transition:background .2s}.btn-submit-post:hover{background:#2e8589}.btn-submit-post:disabled{opacity:.6;cursor:not-allowed}.btn-cancel-post{padding:.6rem 1.5rem;background:#f0f0f0;color:#666;border:none;border-radius:8px;cursor:pointer;font-size:.9rem;font-weight:600;transition:background .2s}.btn-cancel-post:hover{background:#e0e0e0}.forum-posts-list{display:flex;flex-direction:column;gap:.75rem}.forum-post-card{background:#fff;border-radius:12px;padding:1.25rem;box-shadow:0 2px 8px #0000000f;transition:all .2s;cursor:pointer;text-decoration:none;color:inherit;display:block;border:2px solid transparent}.forum-post-card:hover{border-color:#3aa7af22;box-shadow:0 4px 12px #0000001a}.forum-post-card.pinned{border-left:3px solid #f59e0b}.post-card-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem;flex-wrap:wrap}.post-category-badge{display:inline-flex;align-items:center;gap:.25rem;padding:.2rem .6rem;border-radius:12px;font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.3px}.post-category-badge.pergunta{background:#e8f5e9;color:#2e7d32}.post-category-badge.discussao{background:#d6f0ee;color:#1565c0}.post-category-badge.insight{background:#fff3e0;color:#e65100}.post-pin-badge{display:inline-flex;align-items:center;gap:.2rem;font-size:.72rem;color:#f59e0b;font-weight:600}.post-discipline-tag{font-size:.75rem;color:#888;background:#f5f5f5;padding:.15rem .5rem;border-radius:8px}.post-card-title{font-size:1.05rem;font-weight:600;color:#0f5e78;margin-bottom:.35rem;line-height:1.3}.post-card-preview{font-size:.85rem;color:#777;line-height:1.4;margin-bottom:.75rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.post-card-footer{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.5rem}.post-card-author{display:flex;align-items:center;gap:.35rem;font-size:.8rem;color:#888}.post-author-avatar{width:22px;height:22px;border-radius:50%;background:#3aa7af;color:#fff;display:flex;align-items:center;justify-content:center;font-size:.65rem;font-weight:600}.post-author-avatar.monitor{background:#47b8bd}.post-author-role{font-size:.68rem;padding:.1rem .4rem;border-radius:6px;font-weight:600}.post-author-role.monitor{background:#e0f7f5;color:#47b8bd}.post-card-stats{display:flex;align-items:center;gap:.75rem;font-size:.8rem;color:#999}.post-card-stats span{display:flex;align-items:center;gap:.25rem}.forum-empty{text-align:center;padding:3rem 1rem;background:#fff;border-radius:12px;color:#888}.forum-empty svg{font-size:2.5rem;color:#ddd;margin-bottom:.75rem}.forum-empty h3{font-size:1.1rem;color:#555;margin-bottom:.5rem}.forum-empty p{font-size:.85rem}.forum-loading{text-align:center;padding:3rem;color:#888}@media(max-width:600px){.forum-page .page-header{flex-direction:column;align-items:stretch}.btn-new-post{justify-content:center}.forum-filters{flex-direction:column}.forum-filters select,.forum-filters .search-input{width:100%}.form-row{grid-template-columns:1fr}.post-card-footer{flex-direction:column;align-items:flex-start}}.forum-post-page{max-width:800px;margin:0 auto}.forum-post-page .back-link{display:inline-flex;align-items:center;gap:.35rem;color:#3aa7af;text-decoration:none;font-size:.85rem;margin-bottom:1.25rem;font-weight:600}.forum-post-page .back-link:hover{text-decoration:underline}.forum-post-main{background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 2px 8px #0000000f;margin-bottom:1.5rem}.forum-post-main .post-top-bar{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem;flex-wrap:wrap}.forum-post-main .post-title{font-size:1.4rem;font-weight:700;color:#0f5e78;margin-bottom:.5rem;line-height:1.3}.forum-post-main .post-meta{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem;flex-wrap:wrap;font-size:.82rem;color:#888}.forum-post-main .post-meta .author-info{display:flex;align-items:center;gap:.35rem}.post-author-name{font-weight:600;color:#333}.forum-post-main .post-content{font-size:.95rem;line-height:1.7;color:#333;white-space:pre-wrap;word-break:break-word}.forum-post-main .post-actions-bar{display:flex;align-items:center;gap:1rem;margin-top:1.25rem;padding-top:1rem;border-top:1px solid #f0f0f0}.btn-like{display:flex;align-items:center;gap:.35rem;padding:.4rem .75rem;border:1px solid #e0e0e0;border-radius:8px;background:#fff;color:#666;cursor:pointer;font-size:.82rem;transition:all .2s}.btn-like:hover{border-color:#3aa7af;color:#3aa7af}.btn-like.liked{background:#3aa7af;border-color:#3aa7af;color:#fff}.btn-delete-post{display:flex;align-items:center;gap:.35rem;padding:.4rem .75rem;border:1px solid #e0e0e0;border-radius:8px;background:#fff;color:#e53e3e;cursor:pointer;font-size:.82rem;margin-left:auto;transition:all .2s}.btn-delete-post:hover{background:#fee2e2;border-color:#e53e3e}.forum-replies-section{margin-top:0}.forum-replies-section h3{font-size:1.1rem;color:#0f5e78;margin-bottom:1rem;display:flex;align-items:center;gap:.5rem}.reply-form-card{background:#fff;border-radius:12px;padding:1.25rem;box-shadow:0 2px 8px #0000000f;margin-bottom:1rem}.reply-form-card textarea{width:100%;min-height:80px;padding:.6rem .75rem;border:1px solid #e0e0e0;border-radius:8px;font-size:.9rem;font-family:inherit;resize:vertical;transition:border-color .2s}.reply-form-card textarea:focus{border-color:#3aa7af;outline:none}.reply-form-card .reply-form-actions{display:flex;justify-content:flex-end;margin-top:.5rem}.btn-submit-reply{padding:.5rem 1.25rem;background:#3aa7af;color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:.85rem;font-weight:600;transition:background .2s}.btn-submit-reply:hover{background:#2e8589}.btn-submit-reply:disabled{opacity:.6;cursor:not-allowed}.reply-card{background:#fff;border-radius:12px;padding:1rem 1.25rem;box-shadow:0 2px 8px #0000000a;margin-bottom:.65rem;border-left:3px solid transparent}.reply-card.solution{border-left-color:#10b981;background:#f0fdf4}.reply-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem;flex-wrap:wrap;gap:.35rem}.reply-author{display:flex;align-items:center;gap:.35rem;font-size:.82rem;color:#888}.reply-solution-badge{display:inline-flex;align-items:center;gap:.2rem;font-size:.72rem;font-weight:600;color:#10b981;background:#d1fae5;padding:.15rem .5rem;border-radius:8px}.reply-content{font-size:.9rem;line-height:1.6;color:#333;white-space:pre-wrap;word-break:break-word}.reply-actions{display:flex;align-items:center;gap:.75rem;margin-top:.5rem}.btn-reply-like{display:flex;align-items:center;gap:.25rem;background:none;border:none;color:#999;cursor:pointer;font-size:.78rem;padding:.2rem 0;transition:color .2s}.btn-reply-like:hover{color:#3aa7af}.btn-reply-like.liked{color:#3aa7af;font-weight:600}.btn-mark-solution{display:flex;align-items:center;gap:.25rem;background:none;border:none;color:#10b981;cursor:pointer;font-size:.78rem;padding:.2rem 0;transition:opacity .2s}.btn-mark-solution:hover{opacity:.8}.btn-delete-reply{display:flex;align-items:center;gap:.25rem;background:none;border:none;color:#e53e3e;cursor:pointer;font-size:.78rem;padding:.2rem 0;margin-left:auto;transition:opacity .2s}.btn-delete-reply:hover{opacity:.7}.no-replies{text-align:center;padding:2rem;color:#aaa;font-size:.9rem}.forum-post-loading{text-align:center;padding:3rem;color:#888}@media(max-width:600px){.forum-post-main{padding:1rem}.forum-post-main .post-title{font-size:1.2rem}.forum-post-main .post-actions-bar{flex-wrap:wrap}}
