:root{--primary:#2f6f4f;--primary-dark:#4c9a6a;--primary-light:#e8dfc8;--secondary:#4c9a6a;--success:#4c9a6a;--danger:#4b2e2b;--warning:#a47148;--dark:#4b2e2b;--gray:#a47148;--gray-light:#f5f1e9;--white:#e8dfc8;--bg:#f5f1e9;--radius:8px;--shadow:0 1px 3px rgba(0,0,0,.1),0 1px 2px rgba(0,0,0,.06);--shadow-md:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06);--shadow-lg:0 10px 15px -3px rgba(0,0,0,.1);--font:"Segoe UI",system-ui,-apple-system,sans-serif}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg);color:var(--dark);font-family:var(--font);line-height:1.6;min-height:100vh}a{color:var(--primary);text-decoration:none}a:hover{text-decoration:underline}img{max-width:100%}.navbar{background:var(--white);border-bottom:1px solid var(--gray-light);box-shadow:var(--shadow);position:sticky;top:0;z-index:100}.navbar-inner{flex-wrap:nowrap;gap:1rem;justify-content:space-between;margin:0;max-width:none;min-height:64px;overflow:visible;padding:0;width:100%}.navbar-brand,.navbar-inner{align-items:center;display:flex;height:64px}.navbar-brand{color:var(--primary);font-size:1.25rem;font-weight:700;gap:0;padding-left:80px;white-space:nowrap}.navbar-brand,.navbar-brand:hover{text-decoration:none}.navbar-logo{display:block;height:80px;left:10px;-o-object-fit:contain;object-fit:contain;position:absolute;top:50%;transform:translateY(-50%);width:80px;z-index:120}.navbar-nav{align-items:center;display:flex;flex:initial;gap:.25rem;margin-left:auto}.nav-link{border-radius:var(--radius);color:var(--gray);font-size:.9rem;font-weight:500;letter-spacing:.04em;padding:.4rem .8rem;text-transform:uppercase;transition:background .15s,color .15s}.nav-link:hover{background:var(--primary-light);color:var(--primary);text-decoration:none}.nav-link.gradient{background-image:linear-gradient(90deg,var(--primary) 0,var(--primary) 100%);background-position:0;background-repeat:no-repeat;background-size:0 100%;transition:background-size .28s ease,color .28s ease,transform .18s ease}.nav-link.gradient:focus-visible,.nav-link.gradient:hover{background-size:100% 100%;color:var(--white)}.nav-link.active{background:var(--primary-light);color:var(--primary)}.nav-link.underline{position:relative}.nav-link.underline:after{background:var(--primary);border-radius:2px;bottom:6px;content:"";height:2px;left:50%;position:absolute;transform:translate(-50%) scaleX(0);transform-origin:center;transition:transform .22s ease;width:60%}.nav-link.underline:focus-visible:after,.nav-link.underline:hover:after{transform:translate(-50%) scaleX(1)}.navbar-right{gap:.75rem;margin-left:0;padding-right:10px}.credits-badge,.navbar-right{align-items:center;display:flex}.credits-badge{background:var(--primary-light);border-radius:20px;color:var(--primary);font-size:.85rem;font-weight:600;gap:.3rem;padding:.3rem .75rem}.user-menu{position:relative}.user-btn{align-items:center;background:var(--primary);border:none;border-radius:var(--radius);color:var(--white);cursor:pointer;display:flex;font-size:.9rem;font-weight:600;gap:.4rem;padding:.35rem .9rem;transition:background .15s}.user-btn:hover{background:var(--primary-dark)}.dropdown{background:var(--white);border:1px solid var(--gray-light);border-radius:var(--radius);box-shadow:var(--shadow-md);display:none;min-width:180px;overflow:hidden;position:absolute;right:0;top:calc(100% + .5rem)}.dropdown.open{display:block}.dropdown a,.dropdown button{background:none;border:none;border-bottom:1px solid var(--gray-light);color:var(--dark);cursor:pointer;display:block;font-size:.9rem;padding:.65rem 1rem;text-align:left;width:100%}.dropdown a:hover,.dropdown button:hover{background:var(--bg);text-decoration:none}.dropdown a:last-child,.dropdown button:last-child{border-bottom:none}.dropdown .danger{color:var(--danger)}.hero{background:linear-gradient(135deg,var(--primary) 0,var(--secondary) 100%);color:var(--white);text-align:center}.hero h1{font-size:2.5rem;font-weight:800;line-height:1.2;margin-bottom:1rem}.hero p{font-size:1.15rem;margin:0 auto 2rem;max-width:600px;opacity:.9}.hero-actions{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center}.btn{align-items:center;border:none;border-radius:var(--radius);box-shadow:0 4px 15px #0000001a;cursor:pointer;display:inline-flex;font-size:.9rem;font-weight:600;gap:.4rem;padding:.6rem 1.25rem;position:relative;transition:all .3s ease;white-space:nowrap}.btn,.btn:hover{text-decoration:none}.btn:hover{box-shadow:0 8px 25px #0003;transform:translateY(-3px)}.btn:active{box-shadow:0 6px 20px #00000026;transform:translateY(-1px)}.btn-primary{background:var(--primary);color:var(--white)}.btn-primary:hover{background:var(--primary-dark);color:var(--white)}.btn-secondary{background:var(--secondary);color:var(--white)}.btn-secondary:hover{background:var(--primary-dark);color:var(--white)}.btn-outline{background:transparent;border:2px solid var(--primary);color:var(--primary)}.btn-outline:hover{background:var(--primary);color:var(--white)}.btn-white{background:var(--white);color:var(--primary)}.btn-white:hover{background:#f0f0f0;color:var(--primary-dark)}.btn-danger{background:var(--danger);color:var(--white)}.btn-danger:hover{background:var(--dark);color:var(--white)}.btn-success{background:var(--success);color:var(--white)}.btn-success:hover{background:var(--primary-dark);color:var(--white)}.btn-sm{font-size:.8rem;padding:.35rem .75rem}.btn-register{padding-right:10px}.btn-lg{font-size:1rem;padding:.8rem 1.75rem}.btn-block{justify-content:center;width:100%}.btn[disabled]{box-shadow:none;cursor:not-allowed;opacity:.6;transform:none}.container{margin:0 auto;max-width:1200px;padding:0 1.5rem}.section{padding:3rem 0}.card{background:var(--white);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden;transition:box-shadow .2s,transform .2s}.card:hover{box-shadow:var(--shadow-md)}.card-body{padding:1.25rem}.card-footer{background:var(--bg);border-top:1px solid var(--gray-light);padding:.75rem 1.25rem}.courses-grid{display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.course-card{background:var(--white);border-radius:var(--radius);box-shadow:var(--shadow);display:flex;flex-direction:column;overflow:hidden;transition:box-shadow .2s,transform .2s}.course-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.course-card .thumbnail{align-items:center;background:var(--white);color:var(--primary);display:flex;font-size:2rem;height:160px;justify-content:center;-o-object-fit:cover;object-fit:cover;width:100%}.course-card .thumbnail img{height:100%;-o-object-fit:cover;object-fit:cover;width:100%}.course-card .card-body{flex:1;padding:1rem}.course-card h3{color:var(--dark);display:-webkit-box;font-size:1rem;font-weight:600;-webkit-line-clamp:2;margin-bottom:.4rem;-webkit-box-orient:vertical;overflow:hidden}.course-card .teacher-name{color:var(--gray);font-size:.8rem;margin-bottom:.6rem}.course-card .description{color:var(--gray);display:-webkit-box;font-size:.85rem;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-bottom:.75rem;overflow:hidden}.course-card .card-footer{align-items:center;background:transparent;border-top:1px solid rgba(0,0,0,.05);display:flex;justify-content:space-between;padding:.75rem 1rem}.price-badge{background:var(--primary-light);border-radius:20px;color:var(--primary);font-size:.85rem;font-weight:700;padding:.25rem .6rem}.meta-info{color:var(--gray);display:flex;font-size:.8rem;gap:.75rem}.form-group{margin-bottom:1.25rem}label{color:var(--dark);display:block;font-size:.875rem;font-weight:600;margin-bottom:.4rem}input,select,textarea{background:var(--white);border:1px solid var(--gray-light);border-radius:var(--radius);color:var(--dark);font-family:var(--font);font-size:.9rem;outline:none;padding:.65rem .9rem;transition:border-color .15s,box-shadow .15s;width:100%}input:focus,select:focus,textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px #2f6f4f1a}textarea{min-height:100px;resize:vertical}.form-hint{color:var(--gray)}.form-error,.form-hint{font-size:.8rem;margin-top:.3rem}.form-error{color:var(--danger)}.checkbox-group{align-items:center;display:flex;gap:.5rem}.checkbox-group input[type=checkbox]{cursor:pointer;width:auto}.auth-page{align-items:center;background:linear-gradient(135deg,var(--primary) 0,var(--secondary) 100%);display:flex;justify-content:center;min-height:100vh;padding:2rem 1rem}.auth-box{background:var(--white);border-radius:12px;box-shadow:var(--shadow-lg);max-width:420px;padding:2.5rem;width:100%}.auth-box h1{color:var(--dark);font-size:1.6rem;margin-bottom:.5rem;text-align:center}.auth-box .subtitle{color:var(--gray);font-size:.9rem;margin-bottom:2rem;text-align:center}.role-selector{display:grid;gap:.75rem;grid-template-columns:1fr 1fr;margin-bottom:1.5rem}.role-option{border:2px solid var(--gray-light);border-radius:var(--radius);cursor:pointer;padding:1rem;text-align:center;transition:all .15s}.role-option.selected,.role-option:hover{border-color:var(--primary)}.role-option.selected{background:var(--primary-light)}.role-option .icon{font-size:1.5rem;margin-bottom:.25rem}.role-option .name{font-size:.85rem;font-weight:600}.divider{align-items:center;color:var(--gray);display:flex;font-size:.8rem;gap:1rem;margin:1.25rem 0}.divider:after,.divider:before{background:var(--gray-light);content:"";flex:1;height:1px}.alert{border-radius:var(--radius);font-size:.875rem;margin-bottom:1rem;padding:.75rem 1rem}.alert-error{background:var(--bg);border:1px solid var(--danger);color:var(--danger)}.alert-success{background:var(--bg);border:1px solid var(--success);color:var(--success)}.alert-info{border:1px solid var(--primary-light);color:var(--primary)}.alert-warning{background:var(--bg);border:1px solid var(--warning);color:var(--warning)}.page-header{background:var(--white);border-bottom:1px solid var(--gray-light);padding:2rem 0}.page-header h1{font-size:1.75rem;font-weight:700}.page-header p{color:var(--gray);margin-top:.25rem}.dashboard-layout{display:grid;gap:0;grid-template-columns:240px 1fr;min-height:calc(100vh - 64px)}.sidebar{align-self:start;background:var(--white);border-right:1px solid var(--gray-light);height:calc(100vh - 64px);overflow-y:auto;padding:1.5rem 0;position:sticky;top:64px}.sidebar .sidebar-title{font-size:.75rem;font-weight:700;letter-spacing:.05em;padding:0 1rem .5rem}.sidebar .sidebar-title,.sidebar-link{color:var(--gray);text-transform:uppercase}.sidebar-link{align-items:center;border-left:3px solid transparent;display:flex;font-size:.9rem;font-weight:500;gap:.6rem;letter-spacing:.04em;padding:.65rem 1rem;transition:all .15s}.sidebar-link:hover{background:var(--bg);color:var(--dark);text-decoration:none}.sidebar-link.active{background:var(--primary-light);border-left-color:var(--primary);color:var(--primary)}.main-content{overflow-x:hidden;padding:2rem}.stats-grid{display:grid;gap:.75rem;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));margin-bottom:1.5rem}.stat-card{align-items:center;background:var(--white);border-radius:var(--radius);box-shadow:var(--shadow);display:flex;gap:.75rem;padding:.75rem 1rem}.stat-card .stat-value{color:var(--dark);font-size:1.25rem;font-weight:700;line-height:1}.stat-card .stat-label{color:var(--gray);font-size:.75rem;margin-top:.15rem}.stat-card .stat-icon{flex-shrink:0;font-size:1.4rem}.table-wrap{overflow-x:auto}table{border-collapse:collapse;font-size:.875rem;width:100%}th{background:var(--bg);border-bottom:2px solid var(--gray-light);color:var(--gray);font-size:.8rem;font-weight:600;letter-spacing:.04em;padding:.75rem 1rem;text-align:left;text-transform:uppercase;white-space:nowrap}td{border-bottom:1px solid var(--gray-light);color:var(--dark);padding:.85rem 1rem}tr:last-child td{border-bottom:none}tr:hover td{background:var(--bg)}.modal-overlay{align-items:center;background:#00000080;display:none;inset:0;justify-content:center;padding:10px;position:fixed;z-index:200}.modal,.modal-overlay.open{display:flex}.modal{background:var(--white);border-radius:12px;box-shadow:var(--shadow-lg);flex-direction:column;height:100%;max-width:1400px;overflow:hidden;width:100%}.modal-body{flex:1;overflow-y:auto;padding:2rem}.modal-header{align-items:center;border-bottom:1px solid var(--gray-light);display:flex;justify-content:space-between;padding:1.25rem 1.5rem}.modal-header h2{font-size:1.1rem;font-weight:700}.modal-close{background:none;border:none;border-radius:4px;color:var(--gray);cursor:pointer;font-size:1.25rem;padding:.25rem}.modal-close:hover{background:var(--bg)}.modal-body{padding:1.5rem}.modal-footer{border-top:1px solid var(--gray-light);display:flex;gap:.75rem;justify-content:flex-end;padding:1rem 1.5rem}.course-detail-layout{display:grid;gap:1rem;grid-template-columns:1fr 340px;margin:0 auto;max-width:1200px;padding:2rem 1.5rem}.course-detail-layout.enrolled-view{padding:3rem 1.5rem}.reviews-section{grid-column:1;min-width:0}.course-info h1{font-size:1.75rem;font-weight:700;margin-bottom:.75rem}.course-info .teacher-info{align-items:center;color:var(--gray);display:flex;font-size:.9rem;gap:.5rem;margin-bottom:1rem}.course-info .description{color:var(--gray);line-height:1.7;margin-bottom:1.5rem}.course-sidebar{align-self:start;max-height:calc(100vh - 100px);overflow-y:auto;position:sticky;top:80px}.course-sidebar-card{background:var(--white);border-radius:var(--radius);box-shadow:var(--shadow-md);overflow:hidden}.course-sidebar-card .price-section{border-bottom:1px solid var(--gray-light);padding:1.5rem;text-align:center}.course-sidebar-card .price{color:var(--primary);font-size:2rem;font-weight:800}.course-sidebar-card .price-label{color:var(--gray);font-size:.85rem}.course-sidebar-card .actions{padding:1.25rem}.content-list{list-style:none}.content-item{align-items:center;border-bottom:1px solid var(--gray-light);border-radius:0;cursor:pointer;display:flex;gap:.75rem;padding:.85rem 1rem;transition:background .15s}.content-item:last-child{border-bottom:none}.content-item:hover{background:var(--bg)}.content-item.active{background:var(--primary-light);border-left:3px solid var(--primary);padding-left:calc(1rem - 3px)}.content-item.active .content-title{color:var(--primary);font-weight:700}.content-item.locked{cursor:default;opacity:.6}.module-active{background:var(--primary-light)}.module-active strong{color:var(--primary)}.content-item .icon{flex-shrink:0;font-size:1.1rem}.content-item .content-title{flex:1;font-size:.9rem;font-weight:500}.content-item .free-tag{background:var(--bg);border-radius:4px;color:var(--success);font-size:.7rem;font-weight:600;padding:.15rem .4rem}.content-item .lock-icon{color:var(--gray);font-size:.9rem}.content-player{background:#fff;border-radius:var(--radius);margin-bottom:1.5rem;overflow:hidden}.content-player iframe{aspect-ratio:16/9;border:none;display:block;width:100%}.content-player .text-content{background:#fff;color:var(--dark);font-size:.95rem;line-height:1.8;padding-bottom:2rem;padding-top:1rem;white-space:pre-wrap}.tag{background:var(--bg);border:1px solid var(--gray-light);border-radius:20px;color:var(--gray);display:inline-block;font-size:.75rem;font-weight:600;padding:.2rem .6rem}.tag-primary{background:var(--primary-light);border-color:var(--primary-light);color:var(--primary)}.tag-success{background:var(--bg);border-color:var(--success);color:var(--success)}.empty-state{color:var(--gray);padding:4rem 2rem;text-align:center}.empty-state .icon{font-size:3rem;margin-bottom:1rem}.empty-state h3{color:var(--dark);font-size:1.1rem;margin-bottom:.5rem}.empty-state p{font-size:.9rem}.loading{align-items:center;display:flex;justify-content:center;padding:3rem}.spinner{animation:spin .7s linear infinite;border:3px solid var(--gray-light);border-radius:50%;border-top-color:var(--primary);height:32px;width:32px}@keyframes spin{to{transform:rotate(1turn)}}.toast-container{bottom:1.5rem;display:flex;flex-direction:column;gap:.5rem;position:fixed;right:1.5rem;z-index:300}.toast{animation:slideIn .25s ease;background:var(--dark);border-radius:var(--radius);box-shadow:var(--shadow-md);color:var(--white);font-size:.875rem;max-width:320px;padding:.75rem 1.25rem}.toast.success{background:var(--success)}.toast.error{background:var(--danger)}@keyframes slideIn{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}@media(max-width:900px){.dashboard-layout{grid-template-columns:1fr}.sidebar{background:var(--white);border-bottom:1px solid var(--gray-light);border-right:none;display:flex;gap:.25rem;height:3.5rem;overflow-x:auto;padding:0 .5rem;position:sticky;top:64px;z-index:90}.sidebar-link{align-items:center;border-bottom:3px solid transparent;border-left:none;display:flex;height:100%;padding:0 1rem;transition:all .15s;white-space:nowrap}.sidebar-link.active{border-bottom-color:var(--primary);border-left:none}.sidebar .sidebar-title{display:none}.course-detail-layout{grid-template-columns:1fr}.course-sidebar-card{position:static}.course-sidebar{max-height:none;overflow:visible;position:static}}.desktop-only{display:block}.mobile-only{display:none}@media(max-width:900px){.mobile-only{display:block}.desktop-only{display:none}}@media(max-width:600px){.hero h1{font-size:1.75rem}.navbar-nav{display:none}.courses-grid{grid-template-columns:1fr}.auth-box{padding:1.75rem}.main-content{padding:1rem}.role-selector{grid-template-columns:1fr}}.text-center{text-align:center}.text-right{text-align:right}.text-gray{color:var(--gray)}.text-primary{color:var(--primary)}.text-success{color:var(--success)}.text-danger{color:var(--danger)}.font-bold{font-weight:700}.mt-1{margin-top:.5rem}.mt-2{margin-top:1rem}.mt-3{margin-top:1.5rem}.mb-1{margin-bottom:.5rem}.mb-2{margin-bottom:1rem}.mb-3{margin-bottom:1.5rem}.flex{display:flex}.flex-center{align-items:center;display:flex;justify-content:center}.gap-1{gap:.5rem}.gap-2{gap:1rem}.hidden{display:none!important}.badge{border-radius:20px;display:inline-block;font-size:.75rem;font-weight:600;padding:.2rem .55rem}.badge-primary{background:var(--primary-light);color:var(--primary)}.badge-success{background:var(--bg);color:var(--success)}.badge-warning{background:var(--bg);color:var(--warning)}.badge-gray{background:var(--bg);color:var(--gray)}[data-tooltip]{cursor:pointer;position:relative}[data-tooltip]:before{background:var(--dark);border-radius:6px;bottom:125%;box-shadow:0 4px 12px #0003;color:#fff;content:attr(data-tooltip);font-size:.75rem;font-weight:400;letter-spacing:normal;padding:6px 10px;text-transform:none;white-space:nowrap}[data-tooltip]:after,[data-tooltip]:before{left:50%;opacity:0;pointer-events:none;position:absolute;transform:translate(-50%) translateY(10px);transition:all .1s ease;visibility:hidden;z-index:100}[data-tooltip]:after{border:6px solid transparent;border-top:6px solid var(--dark);bottom:110%;content:""}[data-tooltip]:hover:after,[data-tooltip]:hover:before{opacity:1;transform:translate(-50%) translateY(0);visibility:visible}.navbar[data-v-0730b82c]{-webkit-backdrop-filter:saturate(120%) blur(6px);backdrop-filter:saturate(120%) blur(6px);background:var(--bg);border-bottom:1px solid var(--gray-light);gap:1rem;height:61px;justify-content:space-between;padding:.4rem .75rem}.navbar[data-v-0730b82c],.navbar .brand[data-v-0730b82c]{align-items:center;display:flex}.navbar .brand[data-v-0730b82c]{gap:.75rem}.navbar .brand img[data-v-0730b82c]{height:28px}.navbar .nav-actions[data-v-0730b82c]{align-items:center;display:flex;gap:.5rem}.nav-link[data-v-0730b82c]{border-radius:.5rem;color:var(--dark);padding:.5rem .75rem;text-decoration:none}.nav-link[data-v-0730b82c]:hover{background:var(--bg)}.nav-cta[data-v-0730b82c]{background:var(--primary);border-radius:.6rem;color:#fff;padding:.55rem .9rem}.student-view-toggle[data-v-0730b82c]{align-items:center;border-radius:6px;cursor:pointer;display:flex;gap:.5rem;padding:.25rem .5rem;transition:background .2s;-webkit-user-select:none;-moz-user-select:none;user-select:none;white-space:nowrap}.student-view-toggle[data-v-0730b82c]:hover{background:var(--gray-light)}.student-view-toggle input[data-v-0730b82c]{display:none}.toggle-slider[data-v-0730b82c]{background:#9ca3af;border-radius:11px;flex-shrink:0;height:22px;position:relative;transition:background .2s;width:38px}.toggle-slider[data-v-0730b82c]:after{background:#fff;border-radius:50%;box-shadow:0 1px 3px #0003;content:"";height:18px;left:2px;position:absolute;top:2px;transition:transform .2s;width:18px}.student-view-toggle input:checked+.toggle-slider[data-v-0730b82c]{background:#d97706}.student-view-toggle input:checked+.toggle-slider[data-v-0730b82c]:after{transform:translate(16px)}.toggle-label[data-v-0730b82c]{color:var(--gray);font-size:.78rem;font-weight:700;transition:color .2s}.toggle-label.active[data-v-0730b82c]{color:#b45309}@media(max-width:760px){.navbar[data-v-0730b82c]{height:auto;padding:.5rem .6rem}.navbar .brand img[data-v-0730b82c]{height:26px}.nav-actions[data-v-0730b82c]{display:none}}.confirm-overlay[data-v-aea49520]{align-items:center;background:#00000073;display:none;inset:0;justify-content:center;position:fixed;z-index:9999}.confirm-overlay.open[data-v-aea49520]{display:flex}.confirm-card[data-v-aea49520]{background:#fff;border-radius:14px;box-shadow:0 8px 30px #02061733;max-width:540px;padding:1.25rem 1.5rem;width:100%}.confirm-actions[data-v-aea49520]{display:flex;gap:.75rem;justify-content:flex-end;margin-top:1rem}.confirm-title[data-v-aea49520]{font-weight:700;margin:0 0 .5rem}.confirm-desc[data-v-aea49520]{color:var(--gray);line-height:1.5;margin:0}
