*,:before,:after{box-sizing:border-box}*{margin:0}html{-webkit-text-size-adjust:100%}body{color:#1f2937;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f9fafb;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:16px;line-height:1.5}img,svg{max-width:100%;display:block}button,input,select,textarea{font:inherit}a{color:#3b82f6;text-decoration:none}a:hover{text-decoration:underline}.loading-container{justify-content:center;align-items:center;min-height:200px;display:flex}@keyframes spin{to{transform:rotate(360deg)}}:focus-visible{outline-offset:2px;outline:2px solid #3b82f6}:root{--accessibility-font-size:16px}body{font-size:var(--accessibility-font-size)}html.high-contrast body{color:#fff;background-color:#000}html.high-contrast a{color:#66b3ff}html.high-contrast a:hover{color:#9cf}html.high-contrast input,html.high-contrast select,html.high-contrast textarea{color:#fff;background-color:#1a1a1a;border-color:#fff}html.high-contrast button{border-color:#fff}html.high-contrast .app-header{background-color:#000;border-bottom-color:#fff}html.high-contrast :focus-visible{outline-color:#ff0}html.reduced-motion *,html.reduced-motion :before,html.reduced-motion :after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.notifications-dropdown,.notifications-btn{position:relative}.notification-badge{color:#fff;text-align:center;pointer-events:none;background-color:#ef4444;border-radius:8px;min-width:16px;height:16px;padding:0 4px;font-size:.625rem;font-weight:600;line-height:16px;position:absolute;top:2px;right:2px}.notifications-panel{z-index:200;background-color:#fff;border:1px solid #e5e7eb;border-radius:8px;flex-direction:column;width:320px;max-height:400px;display:flex;position:absolute;top:calc(100% + 8px);right:0;overflow:hidden;box-shadow:0 4px 12px #0000001a}.notifications-header{border-bottom:1px solid #e5e7eb;justify-content:space-between;align-items:center;padding:.75rem 1rem;display:flex}.notifications-header h3{color:#1f2937;margin:0;font-size:.875rem;font-weight:600}.unread-indicator{color:#3b82f6;font-size:.75rem;font-weight:500}.notifications-list{flex:1;overflow-y:auto}.notifications-empty{text-align:center;color:#6b7280;padding:2rem 1rem;font-size:.875rem}.notification-item{cursor:pointer;text-align:left;background:0 0;border:none;border-bottom:1px solid #f3f4f6;align-items:flex-start;gap:.75rem;width:100%;padding:.75rem 1rem;transition:background-color .15s;display:flex}.notification-item:hover{background-color:#f9fafb}.notification-item:focus-visible{outline-offset:-2px;outline:2px solid #3b82f6}.notification-item.unread{background-color:#eff6ff}.notification-item.unread:hover{background-color:#dbeafe}.notification-icon{flex-shrink:0;font-size:1rem;line-height:1.5}.notification-content{flex-direction:column;flex:1;gap:.125rem;min-width:0;display:flex}.notification-type-label{color:#374151;font-size:.75rem;font-weight:600}.notification-message{color:#4b5563;text-overflow:ellipsis;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.8125rem;line-height:1.4;display:-webkit-box;overflow:hidden}.notification-time{color:#9ca3af;margin-top:.125rem;font-size:.6875rem}.notification-unread-dot{background-color:#3b82f6;border-radius:50%;flex-shrink:0;width:8px;height:8px;margin-top:.375rem}.app-layout{flex-direction:column;min-height:100vh;display:flex}.app-header{z-index:100;background-color:#fff;border-bottom:1px solid #e5e7eb;position:sticky;top:0}.app-nav{justify-content:space-between;align-items:center;max-width:1440px;height:56px;margin:0 auto;padding:0 1.5rem;display:flex}.app-logo{color:#1f2937;text-decoration:none}.logo-text{letter-spacing:-.025em;font-size:1.125rem;font-weight:600}.nav-actions{align-items:center;gap:.5rem;display:flex}.nav-link{color:#374151;border-radius:6px;padding:.375rem .75rem;font-size:.875rem;font-weight:500;text-decoration:none;transition:background-color .15s,color .15s}.nav-link:hover{color:#1f2937;background-color:#f3f4f6}.nav-link:focus-visible{outline-offset:2px;outline:2px solid #3b82f6}.nav-btn{color:#6b7280;cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;width:36px;height:36px;transition:background-color .15s,color .15s;display:flex}.nav-btn:hover{color:#1f2937;background-color:#f3f4f6}.nav-btn:focus-visible{outline-offset:2px;outline:2px solid #3b82f6}.app-main{flex:1;width:100%;max-width:1440px;margin:0 auto;padding:2rem 1.5rem}.accessibility-link{text-decoration:none}.login-page{background-color:#f9fafb;justify-content:center;align-items:center;min-height:100vh;padding:1rem;display:flex}.login-card{text-align:center;background:#fff;border:1px solid #e5e7eb;border-radius:12px;width:100%;max-width:380px;padding:2.5rem}.login-header{margin-bottom:2rem}.login-title{color:#1f2937;margin:0 0 .5rem;font-size:1.5rem;font-weight:700}.login-subtitle{color:#6b7280;margin:0;font-size:.875rem}.google-signin-btn{color:#1f2937;cursor:pointer;background:#fff;border:1px solid #e5e7eb;border-radius:8px;justify-content:center;align-items:center;gap:.75rem;width:100%;padding:.75rem 1.5rem;font-size:.9375rem;font-weight:500;transition:background-color .15s,border-color .15s,box-shadow .15s;display:inline-flex}.google-signin-btn:hover{background-color:#f9fafb;border-color:#d1d5db;box-shadow:0 1px 3px #00000014}.google-signin-btn:focus-visible{outline-offset:2px;outline:2px solid #3b82f6}.my-orgs-section{flex-direction:column;display:flex}.my-orgs-error{color:#dc2626;background-color:#fef2f2;border:1px solid #fecaca;border-radius:8px;padding:.75rem 1rem;font-size:.875rem}.org-card-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1rem;display:grid}.org-card{color:inherit;background-color:#fff;border:1px solid #e5e7eb;border-radius:8px;flex-direction:column;gap:.75rem;padding:1.25rem;text-decoration:none;transition:border-color .15s,box-shadow .15s;display:flex}.org-card:hover{border-color:#d1d5db;text-decoration:none;box-shadow:0 1px 3px #0000000d}.org-card-name{color:#1f2937;font-size:1rem;font-weight:600;line-height:1.4}.role-badge{border-radius:4px;align-self:flex-start;align-items:center;padding:.25rem .5rem;font-size:.75rem;font-weight:500;display:inline-flex}.role-badge--admin{color:#6d28d9;background-color:#ede9fe}.home-content{flex-direction:column;gap:2rem;display:flex}.home-content-loading{justify-content:center;padding:2rem;display:flex}.home-banners{flex-direction:column;gap:.75rem;display:flex}.home-banner{background:linear-gradient(135deg,#eff6ff 0%,#f0f9ff 100%);border:1px solid #bfdbfe;border-radius:8px;flex-direction:column;gap:.5rem;padding:1.25rem;display:flex}.home-banner-title{color:#1e40af;margin:0;font-size:1rem;font-weight:600}.home-banner-body{color:#374151;margin:0;font-size:.875rem;line-height:1.5}.home-banner-cta{color:#2563eb;border:1px solid #93c5fd;border-radius:6px;align-self:flex-start;padding:.375rem .75rem;font-size:.8125rem;font-weight:500;text-decoration:none;transition:background-color .15s,border-color .15s}.home-banner-cta:hover{background-color:#dbeafe;border-color:#60a5fa}.home-section{flex-direction:column;display:flex}.home-section-description{color:#6b7280;margin-bottom:.75rem;font-size:.875rem}.home-section-empty{color:#9ca3af;font-size:.875rem;font-style:italic}.dashboard{flex-direction:column;gap:2rem;display:flex}.dashboard-header{justify-content:space-between;align-items:center;display:flex}.dashboard-header h1{color:#1f2937;font-size:1.5rem;font-weight:600}.search-section{flex-direction:column;gap:1rem;display:flex}.search-input-wrapper{align-items:center;display:flex;position:relative}.search-icon{color:#9ca3af;pointer-events:none;position:absolute;left:.75rem}.search-input{color:#1f2937;background-color:#fff;border:1px solid #d1d5db;border-radius:8px;width:100%;padding:.625rem .75rem .625rem 2.5rem;font-size:.9375rem;transition:border-color .15s,box-shadow .15s}.search-input::placeholder{color:#9ca3af}.search-input:focus{border-color:#3b82f6;outline:none;box-shadow:0 0 0 3px #3b82f61a}.search-suggestions{z-index:50;background-color:#fff;border:1px solid #e5e7eb;border-radius:8px;max-height:320px;margin-top:4px;padding:.25rem 0;list-style:none;position:absolute;top:100%;left:0;right:0;overflow-y:auto;box-shadow:0 4px 12px #0000001a}.search-suggestion-item{justify-content:space-between;align-items:center;gap:.75rem;padding:.5rem .75rem;display:flex}.search-suggestion-item:not(:last-child){border-bottom:1px solid #f3f4f6}.search-suggestion-title{color:#1f2937;white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-size:.875rem;font-weight:500;overflow:hidden}.search-suggestion-view-link{color:#3b82f6;flex-shrink:0;font-size:.8125rem;text-decoration:none}.search-suggestion-view-link:hover{color:#2563eb;text-decoration:underline}.search-suggestion-loading,.search-suggestion-empty{color:#6b7280;justify-content:center;padding:.75rem;font-size:.8125rem}.search-message{color:#6b7280;padding:.25rem 0;font-size:.875rem}.section-title{color:#374151;margin-bottom:.75rem;font-size:1.125rem;font-weight:600}.course-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1rem;display:grid}.course-card{background-color:#fff;border:1px solid #e5e7eb;border-radius:8px;flex-direction:column;gap:.5rem;padding:1.25rem;transition:border-color .15s,box-shadow .15s;display:flex}.course-card:hover{border-color:#d1d5db;box-shadow:0 1px 3px #0000000d}.course-card-link{color:inherit;text-decoration:none}.course-card-title{color:#1f2937;font-size:1rem;font-weight:600;line-height:1.4}.course-card-description{color:#6b7280;-webkit-line-clamp:3;-webkit-box-orient:vertical;font-size:.875rem;line-height:1.5;display:-webkit-box;overflow:hidden}.course-card-dates{color:#9ca3af;align-items:center;gap:.375rem;margin-top:.25rem;font-size:.8125rem;display:flex}.request-enrollment-btn{align-self:flex-start;margin-top:.5rem}.request-message{color:#6b7280;background-color:#f3f4f6;border-radius:4px;margin-top:.5rem;padding:.375rem .5rem;font-size:.8125rem}.empty-state{color:#6b7280;text-align:center;background-color:#fff;border:1px dashed #d1d5db;border-radius:8px;padding:2rem 1rem;font-size:.9375rem}.enrolled-section{flex-direction:column;display:flex}.course-creation{max-width:640px;margin:0 auto}.course-creation-title{color:#1f2937;margin-bottom:1.5rem;font-size:1.5rem;font-weight:600}.course-form{flex-direction:column;gap:1.25rem;display:flex}.form-field{flex-direction:column;gap:.375rem;display:flex}.form-label{color:#374151;font-size:.875rem;font-weight:500}.form-input{color:#1f2937;background-color:#fff;border:1px solid #d1d5db;border-radius:6px;padding:.5rem .75rem;font-size:.9375rem;transition:border-color .15s,box-shadow .15s}.form-input::placeholder{color:#9ca3af}.form-input-error{border-color:#ef4444}.form-input-error:focus{border-color:#ef4444;box-shadow:0 0 0 3px #ef44441a}.form-textarea{resize:vertical;min-height:100px}.form-row{grid-template-columns:1fr 1fr;gap:1rem;display:grid}@media (width<=480px){.form-row{grid-template-columns:1fr}}.field-error{color:#ef4444;margin:0;font-size:.8125rem}.server-error{color:#991b1b;background-color:#fef2f2;border:1px solid #fecaca;border-radius:6px;margin-bottom:1rem;padding:.75rem 1rem;font-size:.875rem}.form-actions .btn{padding:.625rem 1.25rem}.course-creation-no-org{text-align:center;color:#6b7280;padding:2rem 1rem}.course-creation-no-org p{margin:.5rem 0 0;font-size:.9375rem;line-height:1.5}.course-creation-org-context{color:#6b7280;margin:-1rem 0 1rem;font-size:.875rem}.vimeo-embed-player{border-radius:8px;width:100%;max-width:640px;overflow:hidden}.vimeo-embed-container{aspect-ratio:16/9;background-color:#000;width:100%;position:relative}.vimeo-embed-iframe{border:none;width:100%;height:100%;position:absolute;top:0;left:0}.vimeo-embed-player--loading{background-color:#f8fafc;border:1px solid #e2e8f0;flex-direction:column;justify-content:center;align-items:center;gap:.75rem;min-height:120px;padding:2rem;display:flex}.vimeo-embed-spinner{border:3px solid #e2e8f0;border-top-color:#4a90d9;border-radius:50%;width:2rem;height:2rem;animation:.8s linear infinite vimeo-spin}@keyframes vimeo-spin{to{transform:rotate(360deg)}}.vimeo-embed-loading-text{color:#718096;font-size:.9rem}.vimeo-embed-player--error,.vimeo-embed-player--auth-error{text-align:center;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;gap:.5rem;padding:1.5rem;display:flex}.vimeo-embed-player--error{background-color:#fff5f5;border:1px solid #fed7d7}.vimeo-embed-player--auth-error{background-color:#fffbeb;border:1px solid #fef3c7}.vimeo-embed-error-icon{font-size:1.5rem;line-height:1}.vimeo-embed-error-message{color:#4a5568;max-width:320px;margin:0;font-size:.9rem}.vimeo-embed-player--auth-error .vimeo-embed-error-message{color:#92400e}.vimeo-embed-retry-btn{color:#fff;cursor:pointer;background-color:#4a90d9;border:none;border-radius:6px;margin-top:.25rem;padding:.375rem 1rem;font-size:.875rem;font-weight:500;transition:background-color .15s}.vimeo-embed-retry-btn:hover{background-color:#357abd}.vimeo-embed-retry-btn:focus-visible{outline-offset:2px;outline:2px solid #4a90d9}@font-face{font-display:block;font-family:KaTeX_AMS;font-style:normal;font-weight:400;src:url(/assets/KaTeX_AMS-Regular-BQhdFMY1.woff2)format("woff2"),url(/assets/KaTeX_AMS-Regular-DMm9YOAa.woff)format("woff"),url(/assets/KaTeX_AMS-Regular-DRggAlZN.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Caligraphic;font-style:normal;font-weight:700;src:url(/assets/KaTeX_Caligraphic-Bold-Dq_IR9rO.woff2)format("woff2"),url(/assets/KaTeX_Caligraphic-Bold-BEiXGLvX.woff)format("woff"),url(/assets/KaTeX_Caligraphic-Bold-ATXxdsX0.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Caligraphic;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Caligraphic-Regular-Di6jR-x-.woff2)format("woff2"),url(/assets/KaTeX_Caligraphic-Regular-CTRA-rTL.woff)format("woff"),url(/assets/KaTeX_Caligraphic-Regular-wX97UBjC.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Fraktur;font-style:normal;font-weight:700;src:url(/assets/KaTeX_Fraktur-Bold-CL6g_b3V.woff2)format("woff2"),url(/assets/KaTeX_Fraktur-Bold-BsDP51OF.woff)format("woff"),url(/assets/KaTeX_Fraktur-Bold-BdnERNNW.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Fraktur;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Fraktur-Regular-CTYiF6lA.woff2)format("woff2"),url(/assets/KaTeX_Fraktur-Regular-Dxdc4cR9.woff)format("woff"),url(/assets/KaTeX_Fraktur-Regular-CB_wures.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:normal;font-weight:700;src:url(/assets/KaTeX_Main-Bold-Cx986IdX.woff2)format("woff2"),url(/assets/KaTeX_Main-Bold-Jm3AIy58.woff)format("woff"),url(/assets/KaTeX_Main-Bold-waoOVXN0.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:italic;font-weight:700;src:url(/assets/KaTeX_Main-BoldItalic-DxDJ3AOS.woff2)format("woff2"),url(/assets/KaTeX_Main-BoldItalic-SpSLRI95.woff)format("woff"),url(/assets/KaTeX_Main-BoldItalic-DzxPMmG6.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:italic;font-weight:400;src:url(/assets/KaTeX_Main-Italic-NWA7e6Wa.woff2)format("woff2"),url(/assets/KaTeX_Main-Italic-BMLOBm91.woff)format("woff"),url(/assets/KaTeX_Main-Italic-3WenGoN9.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Main-Regular-B22Nviop.woff2)format("woff2"),url(/assets/KaTeX_Main-Regular-Dr94JaBh.woff)format("woff"),url(/assets/KaTeX_Main-Regular-ypZvNtVU.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Math;font-style:italic;font-weight:700;src:url(/assets/KaTeX_Math-BoldItalic-CZnvNsCZ.woff2)format("woff2"),url(/assets/KaTeX_Math-BoldItalic-iY-2wyZ7.woff)format("woff"),url(/assets/KaTeX_Math-BoldItalic-B3XSjfu4.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Math;font-style:italic;font-weight:400;src:url(/assets/KaTeX_Math-Italic-t53AETM-.woff2)format("woff2"),url(/assets/KaTeX_Math-Italic-DA0__PXp.woff)format("woff"),url(/assets/KaTeX_Math-Italic-flOr_0UB.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:normal;font-weight:700;src:url(/assets/KaTeX_SansSerif-Bold-D1sUS0GD.woff2)format("woff2"),url(/assets/KaTeX_SansSerif-Bold-DbIhKOiC.woff)format("woff"),url(/assets/KaTeX_SansSerif-Bold-CFMepnvq.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:italic;font-weight:400;src:url(/assets/KaTeX_SansSerif-Italic-C3H0VqGB.woff2)format("woff2"),url(/assets/KaTeX_SansSerif-Italic-DN2j7dab.woff)format("woff"),url(/assets/KaTeX_SansSerif-Italic-YYjJ1zSn.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:normal;font-weight:400;src:url(/assets/KaTeX_SansSerif-Regular-DDBCnlJ7.woff2)format("woff2"),url(/assets/KaTeX_SansSerif-Regular-CS6fqUqJ.woff)format("woff"),url(/assets/KaTeX_SansSerif-Regular-BNo7hRIc.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Script;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Script-Regular-D3wIWfF6.woff2)format("woff2"),url(/assets/KaTeX_Script-Regular-D5yQViql.woff)format("woff"),url(/assets/KaTeX_Script-Regular-C5JkGWo-.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size1;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Size1-Regular-mCD8mA8B.woff2)format("woff2"),url(/assets/KaTeX_Size1-Regular-C195tn64.woff)format("woff"),url(/assets/KaTeX_Size1-Regular-Dbsnue_I.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size2;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Size2-Regular-Dy4dx90m.woff2)format("woff2"),url(/assets/KaTeX_Size2-Regular-oD1tc_U0.woff)format("woff"),url(/assets/KaTeX_Size2-Regular-B7gKUWhC.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size3;font-style:normal;font-weight:400;src:url(data:font/woff2;base64,d09GMgABAAAAAA4oAA4AAAAAHbQAAA3TAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAABmAAgRQIDgmcDBEICo1oijYBNgIkA14LMgAEIAWJAAeBHAyBHBvbGiMRdnO0IkRRkiYDgr9KsJ1NUAf2kILNxgUmgqIgq1P89vcbIcmsQbRps3vCcXdYOKSWEPEKgZgQkprQQsxIXUgq0DqpGKmIvrgkeVGtEQD9DzAO29fM9jYhxZEsL2FeURH2JN4MIcTdO049NCVdxQ/w9NrSYFEBKTDKpLKfNkCGDc1RwjZLQcm3vqJ2UW9Xfa3tgAHz6ivp6vgC2yD4/6352ndnN0X0TL7seypkjZlMsjmZnf0Mm5Q+JykRWQBKCVCVPbARPXWyQtb5VgLB6Biq7/Uixcj2WGqdI8tGSgkuRG+t910GKP2D7AQH0DB9FMDW/obJZ8giFI3Wg8Cvevz0M+5m0rTh7XDBlvo9Y4vm13EXmfttwI4mBo1EG15fxJhUiCLbiiyCf/ZA6MFAhg3pGIZGdGIVjtPn6UcMk9A/UUr9PhoNsCENw1APAq0gpH73e+M+0ueyHbabc3vkbcdtzcf/fiy+NxQEjf9ud/ELBHAXJ0nk4z+MXH2Ev/kWyV4k7SkvpPc9Qr38F6RPWnM9cN6DJ0AdD1BhtgABtmoRoFCvPsBAumNm6soZG2Gk5GyVTo2sJncSyp0jQTYoR6WDvTwaaEcHsxHfvuWhHA3a6bN7twRKtcGok6NsCi7jYRrM2jExsUFMxMQYuJbMhuWNOumEJy9hi29Dmg5zMp/A5+hhPG19j1vBrq8JTLr8ki5VLPmG/PynJHVul440bxg5xuymHUFPBshC+nA9I1FmwbRBTNHAcik3Oae0cxKoI3MOriM42UrPe51nsaGxJ+WfXubAsP84aabUlQSJ1IiE0iPETLUU4CATgfXSCSpuRFRmCGbO+wSpAnzaeaCYW1VNEysRtuXCEL1kUFUbbtMv3Tilt/1c11jt3Q5bbMa84cpWipp8Elw3MZhOHsOlwwVUQM3lAR35JiFQbaYCRnMF2lxAWoOg2gyoIV4PouX8HytNIfLhqpJtXB4vjiViUI8IJ7bkC4ikkQvKksnOTKICwnqWSZ9YS5f0WCxmpgjbIq7EJcM4aI2nmhLNY2JIUgOjXZFWBHb+x5oh6cwb0Tv1ackHdKi0I9OO2wE9aogIOn540CCCziyhN+IaejtgAONKznHlHyutPrHGwCx9S6B8kfS4Mfi4Eyv7OU730bT1SCBjt834cXsf43zVjPUqqJjgrjeGnBxSG4aYAKFuVbeCfkDIjAqMb6yLNIbCuvXhMH2/+k2vkNpkORhR59N1CkzoOENvneIosjYmuTxlhUzaGEJQ/iWqx4dmwpmKjrwTiTGTCVozNAYqk/zXOndWxuWSmJkQpJw3pK5KX6QrLt5LATMqpmPAQhkhK6PUjzHUn7E0gHE0kPE0iKkolgkUx9SZmVAdDgpffdyJKg3k7VmzYGCwVXGz/tXmkOIp+vcWs+EMuhhvN0h9uhfzWJziBQmCREGSIFmQIkgVpAnSBRmC//6hkLZwaVhwxlrJSOdqlFtOYxlau9F2QN5Y98xmIAsiM1HVp2VFX+DHHGg6Ecjh3vmqtidX3qHI2qycTk/iwxSt5UzTmEP92ZBnEWTk4Mx8Mpl78ZDokxg/KWb+Q0QkvdKVmq3TMW+RXEgrsziSAfNXFMhDc60N5N9jQzjfO0kBKpUZl0ZmwJ41j/B9Hz6wmRaJB84niNmQrzp9eSlQCDDzazGDdVi3P36VZQ+Jy4f9UBNp+3zTjqI4abaFAm+GShVaXlsGdF3FYzZcDI6cori4kMxUECl9IjJZpzkvitAoxKue+90pDMvcKRxLl53TmOKCmV/xRolNKSqqUxc6LStOETmFOiLZZptlZepcKiAzteG8PEdpnQpbOMNcMsR4RR2Bs0cKFEvSmIjAFcnarqwUL4lDhHmnVkwu1IwshbiCcgvOheZuYyOteufZZwlcTlLgnZ3o/WcYdzZHW/WGaqaVfmTZ1aWCceJjkbZqsfbkOtcFlUZM/jy+hXHDbaUobWqqXaeWobbLO99yG5N3U4wxco0rQGGcOLASFMXeJoham8M+/x6O2WywK2l4HGbq1CoUyC/IZikQhdq3SiuNrvAEj0AVu9x2x3lp/xWzahaxidezFVtdcb5uEnzyl0ZmYiuKI0exvCd4Xc9CV1KB0db00z92wDPde0kukbvZIWN6jUWFTmPIC/Y4UPCm8UfDTFZpZNon1qLFTkBhxzB+FjQRA2Q/YRJT8pQigslMaUpFyAG8TMlXigiqmAZX4xgijKjRlGpLE0GdplRfCaJo0JQaSxNBk6ZmMzcya0FmrcisDdn0Q3HI2sWSppYigmlM1XT/kLQZSNpMJG0WkjYbSZuDpM1F0uYhFc1HxU4m1QJjDK6iL0S5uSj5rgXc3RejEigtcRBtqYPQsiTskmO5vosV+q4VGIKbOkDg0jtRrq+Em1YloaTFar3EGr1EUC8R0kus1Uus00usL97ABr2BjXoDm/QGNhuWtMVBKOwg/i78lT7hBsAvDmwHc/ao3vmUbBmhjeYySZNWvGkfZAgISDSaDo1SVpzGDsAEkF8B+gEapViUoZgUWXcRIGFZNm6gWbAKk0bp0k1MHG9fLYtV4iS2SmLEQFARzRcnf9PUS0LVn05/J9MiRRBU3v2IrvW974v4N00L7ZMk0wXP1409CHo/an8zTRHD3eSJ6m8D4YMkZNl3M79sqeuAsr/m3f+8/yl7A50aiAEJgeBeMWzu7ui9UfUBCe2TIqZIoOd/3/udRBOQidQZUERzb2/VwZN1H/Sju82ew2H2Wfr6qvfVf3hqwDvAIpkQVFy4B9Pe9e4/XvPeceu7h3dvO56iJPf0+A6cqA2ip18ER+iFgggiuOkvj24bby0N9j2UHIkgqIt+sVgfodC4YghLSMjSZbH0VR/6dMDrYJeKHilKTemt6v6kvzvn3/RrdWtr0GoN/xL+Sex/cPYLUpepx9cz/D46UPU5KXgAQa+NDps1v6J3xP1i2HtaDB0M9aX2deA7SYff//+gUCovMmIK/qfsFcOk+4Y5ZN97XlG6zebqtMbKgeRFi51vnxTQYBUik2rS/Cn6PC8ADR8FGxsRPB82dzfND90gIcshOcYUkfjherBz53odpm6TP8txlwOZ71xmfHHOvq053qFF/MRlS3jP0ELudrf2OeN8DHvp6ZceLe8qKYvWz/7yp0u4dKPfli3CYq0O13Ih71mylJ80tOi10On8wi+F4+LWgDPeJ30msSQt9/vkmHq9/Lvo2b461mP801v3W4xTcs6CbvF9UDdrSt+A8OUbpSh55qAUFXWznBBfdeJ8a4d7ugT5tvxUza3h9m4H7ptTqiG4z0g5dc0X29OcGlhpGFMpQo9ytTS+NViZpNdvU4kWx+LKxNY10kQ1yqGXrhe4/1nvP7E+nd5A92TtaRplbHSqoIdOqtRWti+fkB5/n1+/VvCmz12pG1kpQWsfi1ftlBobm0bpngs16CHkbIwdLnParxtTV3QYRlfJ0KFskH7pdN/YDn+yRuSd7sNH3aO0DYPggk6uWuXrfOc+fa3VTxFVvKaNxHsiHmsXyCLIE5yuOeN3/Jdf8HBL/5M6shjyhxHx9BjB1O0+4NLOnjLLSxwO7ukN4jMbOIcD879KLSi6Pk61Oqm2377n8079PXEEQ7cy7OKEC9nbpet118fxweTafpt69x/Bt8UqGzNQt7aelpc44dn5cqhwf71+qKp/Zf/+a0zcizOUWpl/iBcSXip0pplkatCchoH5c5aUM8I7/dWxAej8WicPL1URFZ9BDJelUwEwTkGqUhgSlydVes95YdXvhh9Gfz/aeFWvgVb4tuLbcv4+wLdutVZv/cUonwBD/6eDlE0aSiKK/uoH3+J1wDE/jMVqY2ysGufN84oIXB0sPzy8ollX/LegY74DgJXJR57sn+VGza0x3DnuIgABFM15LmajjjsNlYj+JEZGbuRYcAMOWxFkPN2w6Wd46xo4gVWQR/X4lyI/R6K/YK0110GzudPRW7Y+UOBGTfNNzHeYT0fiH0taunBpq9HEW8OKSaBGj21L0MqenEmNRWBAWDWAk4CpNoEZJ2tTaPFgbQYj8HxtFilErs3BTRwT8uO1NXQaWfIotchmPkAF5mMBAliEmZiOGVgCG9LgRzpscMAOOwowlT3JhusdazXGSC/hxR3UlmWVwWHpOIKheqONvjyhSiTHIkVUco5bnji8m//zL7PKaT1Vl5I6UE609f+gkr6MZKVyKc7zJRmCahLsdlyA5fdQkRSan9LgnnLEyGSkaKJCJog0wAgvepWBt80+1yKln1bMVtCljfNWDueKLsWwaEbBSfSPTEmVRsUcYYMnEjcjeyCZzBXK9E9BYBXLKjOSpUDR+nEV3TFSUdQaz+ot98QxgXwx0GQ+EEUAKB2qZPkQQ0GqFD8UPFMqyaCHM24BZmSGic9EYMagKizOw9Hz50DMrDLrqqLkTAhplMictiCAx5S3BIUQdeJeLnBy2CNtMfz6cV4u8XKoFZQesbf9YZiIERiHjaNodDW6LgcirX/mPnJIkBGDUpTBhSa0EIr38D5hCIszhCM8URGBqImoWjpvpt1ebu/v3Gl3qJfMnNM+9V+kiRFyROTPHQWOcs1dNW94/ukKMPZBvDi55i5CttdeJz84DLngLqjcdwEZ87bFFR8CIG35OAkDVN6VRDZ7aq67NteYqZ2lpT8oYB2CytoBd6VuAx4WgiAsnuj3WohG+LugzXiQRDeM3XYXlULv4dp5VFYC)format("woff2"),url(/assets/KaTeX_Size3-Regular-CTq5MqoE.woff)format("woff"),url(/assets/KaTeX_Size3-Regular-DgpXs0kz.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size4;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Size4-Regular-Dl5lxZxV.woff2)format("woff2"),url(/assets/KaTeX_Size4-Regular-BF-4gkZK.woff)format("woff"),url(/assets/KaTeX_Size4-Regular-DWFBv043.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Typewriter;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Typewriter-Regular-CO6r4hn1.woff2)format("woff2"),url(/assets/KaTeX_Typewriter-Regular-C0xS9mPB.woff)format("woff"),url(/assets/KaTeX_Typewriter-Regular-D3Ib7_Hf.ttf)format("truetype")}.katex{text-indent:0;text-rendering:auto;font:1.21em/1.2 KaTeX_Main,Times New Roman,serif;position:relative}.katex *{border-color:currentColor;-ms-high-contrast-adjust:none!important}.katex .katex-version:after{content:"0.17.0"}.katex .katex-mathml{clip-path:inset(50%);border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.katex .katex-html>.newline{display:block}.katex .base{white-space:nowrap;width:min-content;position:relative}.katex .base,.katex .strut{display:inline-block}.katex .textbf{font-weight:700}.katex .textit{font-style:italic}.katex .textrm{font-family:KaTeX_Main}.katex .textsf{font-family:KaTeX_SansSerif}.katex .texttt{font-family:KaTeX_Typewriter}.katex .mathnormal{font-family:KaTeX_Math;font-style:italic}.katex .mathit{font-family:KaTeX_Main;font-style:italic}.katex .mathrm{font-style:normal}.katex .mathbf{font-family:KaTeX_Main;font-weight:700}.katex .boldsymbol{font-family:KaTeX_Math;font-style:italic;font-weight:700}.katex .amsrm,.katex .mathbb,.katex .textbb{font-family:KaTeX_AMS}.katex .mathcal{font-family:KaTeX_Caligraphic}.katex .mathfrak,.katex .textfrak{font-family:KaTeX_Fraktur}.katex .mathboldfrak,.katex .textboldfrak{font-family:KaTeX_Fraktur;font-weight:700}.katex .mathtt{font-family:KaTeX_Typewriter}.katex .mathscr,.katex .textscr{font-family:KaTeX_Script}.katex .mathsf,.katex .textsf{font-family:KaTeX_SansSerif}.katex .mathboldsf,.katex .textboldsf{font-family:KaTeX_SansSerif;font-weight:700}.katex .mathitsf,.katex .mathsfit,.katex .textitsf{font-family:KaTeX_SansSerif;font-style:italic}.katex .mainrm{font-family:KaTeX_Main;font-style:normal}.katex .vlist-t{border-collapse:collapse;table-layout:fixed;display:inline-table}.katex .vlist-r{display:table-row}.katex .vlist{vertical-align:bottom;display:table-cell;position:relative}.katex .vlist>span{height:0;display:block;position:relative}.katex .vlist>span>span{display:inline-block}.katex .vlist>span>.pstrut{width:0;overflow:hidden}.katex .vlist-t2{margin-right:-2px}.katex .vlist-s{vertical-align:bottom;width:2px;min-width:2px;font-size:1px;display:table-cell}.katex .vbox{flex-direction:column;align-items:baseline;display:inline-flex}.katex .hbox{width:100%}.katex .hbox,.katex .thinbox{flex-direction:row;display:inline-flex}.katex .thinbox{width:0;max-width:0}.katex .msupsub{text-align:left}.katex .mfrac>span>span{text-align:center}.katex .mfrac .frac-line{border-bottom-style:solid;width:100%;display:inline-block}.katex .hdashline,.katex .hline,.katex .mfrac .frac-line,.katex .overline .overline-line,.katex .rule,.katex .underline .underline-line{min-height:1px}.katex .mspace{display:inline-block}.katex .smash{line-height:0;display:inline}.katex .clap,.katex .llap,.katex .rlap{width:0;position:relative}.katex .clap>.inner,.katex .llap>.inner,.katex .rlap>.inner{position:absolute}.katex .clap>.fix,.katex .llap>.fix,.katex .rlap>.fix{display:inline-block}.katex .llap>.inner{right:0}.katex .clap>.inner,.katex .rlap>.inner{left:0}.katex .clap>.inner>span{margin-left:-50%;margin-right:50%}.katex .rule{border:0 solid;display:inline-block;position:relative}.katex .hline,.katex .overline .overline-line,.katex .underline .underline-line{border-bottom-style:solid;width:100%;display:inline-block}.katex .hdashline{border-bottom-style:dashed;width:100%;display:inline-block}.katex .sqrt>.root{margin-left:.277778em;margin-right:-.555556em}.katex .fontsize-ensurer.reset-size1.size1,.katex .sizing.reset-size1.size1{font-size:1em}.katex .fontsize-ensurer.reset-size1.size2,.katex .sizing.reset-size1.size2{font-size:1.2em}.katex .fontsize-ensurer.reset-size1.size3,.katex .sizing.reset-size1.size3{font-size:1.4em}.katex .fontsize-ensurer.reset-size1.size4,.katex .sizing.reset-size1.size4{font-size:1.6em}.katex .fontsize-ensurer.reset-size1.size5,.katex .sizing.reset-size1.size5{font-size:1.8em}.katex .fontsize-ensurer.reset-size1.size6,.katex .sizing.reset-size1.size6{font-size:2em}.katex .fontsize-ensurer.reset-size1.size7,.katex .sizing.reset-size1.size7{font-size:2.4em}.katex .fontsize-ensurer.reset-size1.size8,.katex .sizing.reset-size1.size8{font-size:2.88em}.katex .fontsize-ensurer.reset-size1.size9,.katex .sizing.reset-size1.size9{font-size:3.456em}.katex .fontsize-ensurer.reset-size1.size10,.katex .sizing.reset-size1.size10{font-size:4.148em}.katex .fontsize-ensurer.reset-size1.size11,.katex .sizing.reset-size1.size11{font-size:4.976em}.katex .fontsize-ensurer.reset-size2.size1,.katex .sizing.reset-size2.size1{font-size:.833333em}.katex .fontsize-ensurer.reset-size2.size2,.katex .sizing.reset-size2.size2{font-size:1em}.katex .fontsize-ensurer.reset-size2.size3,.katex .sizing.reset-size2.size3{font-size:1.16667em}.katex .fontsize-ensurer.reset-size2.size4,.katex .sizing.reset-size2.size4{font-size:1.33333em}.katex .fontsize-ensurer.reset-size2.size5,.katex .sizing.reset-size2.size5{font-size:1.5em}.katex .fontsize-ensurer.reset-size2.size6,.katex .sizing.reset-size2.size6{font-size:1.66667em}.katex .fontsize-ensurer.reset-size2.size7,.katex .sizing.reset-size2.size7{font-size:2em}.katex .fontsize-ensurer.reset-size2.size8,.katex .sizing.reset-size2.size8{font-size:2.4em}.katex .fontsize-ensurer.reset-size2.size9,.katex .sizing.reset-size2.size9{font-size:2.88em}.katex .fontsize-ensurer.reset-size2.size10,.katex .sizing.reset-size2.size10{font-size:3.45667em}.katex .fontsize-ensurer.reset-size2.size11,.katex .sizing.reset-size2.size11{font-size:4.14667em}.katex .fontsize-ensurer.reset-size3.size1,.katex .sizing.reset-size3.size1{font-size:.714286em}.katex .fontsize-ensurer.reset-size3.size2,.katex .sizing.reset-size3.size2{font-size:.857143em}.katex .fontsize-ensurer.reset-size3.size3,.katex .sizing.reset-size3.size3{font-size:1em}.katex .fontsize-ensurer.reset-size3.size4,.katex .sizing.reset-size3.size4{font-size:1.14286em}.katex .fontsize-ensurer.reset-size3.size5,.katex .sizing.reset-size3.size5{font-size:1.28571em}.katex .fontsize-ensurer.reset-size3.size6,.katex .sizing.reset-size3.size6{font-size:1.42857em}.katex .fontsize-ensurer.reset-size3.size7,.katex .sizing.reset-size3.size7{font-size:1.71429em}.katex .fontsize-ensurer.reset-size3.size8,.katex .sizing.reset-size3.size8{font-size:2.05714em}.katex .fontsize-ensurer.reset-size3.size9,.katex .sizing.reset-size3.size9{font-size:2.46857em}.katex .fontsize-ensurer.reset-size3.size10,.katex .sizing.reset-size3.size10{font-size:2.96286em}.katex .fontsize-ensurer.reset-size3.size11,.katex .sizing.reset-size3.size11{font-size:3.55429em}.katex .fontsize-ensurer.reset-size4.size1,.katex .sizing.reset-size4.size1{font-size:.625em}.katex .fontsize-ensurer.reset-size4.size2,.katex .sizing.reset-size4.size2{font-size:.75em}.katex .fontsize-ensurer.reset-size4.size3,.katex .sizing.reset-size4.size3{font-size:.875em}.katex .fontsize-ensurer.reset-size4.size4,.katex .sizing.reset-size4.size4{font-size:1em}.katex .fontsize-ensurer.reset-size4.size5,.katex .sizing.reset-size4.size5{font-size:1.125em}.katex .fontsize-ensurer.reset-size4.size6,.katex .sizing.reset-size4.size6{font-size:1.25em}.katex .fontsize-ensurer.reset-size4.size7,.katex .sizing.reset-size4.size7{font-size:1.5em}.katex .fontsize-ensurer.reset-size4.size8,.katex .sizing.reset-size4.size8{font-size:1.8em}.katex .fontsize-ensurer.reset-size4.size9,.katex .sizing.reset-size4.size9{font-size:2.16em}.katex .fontsize-ensurer.reset-size4.size10,.katex .sizing.reset-size4.size10{font-size:2.5925em}.katex .fontsize-ensurer.reset-size4.size11,.katex .sizing.reset-size4.size11{font-size:3.11em}.katex .fontsize-ensurer.reset-size5.size1,.katex .sizing.reset-size5.size1{font-size:.555556em}.katex .fontsize-ensurer.reset-size5.size2,.katex .sizing.reset-size5.size2{font-size:.666667em}.katex .fontsize-ensurer.reset-size5.size3,.katex .sizing.reset-size5.size3{font-size:.777778em}.katex .fontsize-ensurer.reset-size5.size4,.katex .sizing.reset-size5.size4{font-size:.888889em}.katex .fontsize-ensurer.reset-size5.size5,.katex .sizing.reset-size5.size5{font-size:1em}.katex .fontsize-ensurer.reset-size5.size6,.katex .sizing.reset-size5.size6{font-size:1.11111em}.katex .fontsize-ensurer.reset-size5.size7,.katex .sizing.reset-size5.size7{font-size:1.33333em}.katex .fontsize-ensurer.reset-size5.size8,.katex .sizing.reset-size5.size8{font-size:1.6em}.katex .fontsize-ensurer.reset-size5.size9,.katex .sizing.reset-size5.size9{font-size:1.92em}.katex .fontsize-ensurer.reset-size5.size10,.katex .sizing.reset-size5.size10{font-size:2.30444em}.katex .fontsize-ensurer.reset-size5.size11,.katex .sizing.reset-size5.size11{font-size:2.76444em}.katex .fontsize-ensurer.reset-size6.size1,.katex .sizing.reset-size6.size1{font-size:.5em}.katex .fontsize-ensurer.reset-size6.size2,.katex .sizing.reset-size6.size2{font-size:.6em}.katex .fontsize-ensurer.reset-size6.size3,.katex .sizing.reset-size6.size3{font-size:.7em}.katex .fontsize-ensurer.reset-size6.size4,.katex .sizing.reset-size6.size4{font-size:.8em}.katex .fontsize-ensurer.reset-size6.size5,.katex .sizing.reset-size6.size5{font-size:.9em}.katex .fontsize-ensurer.reset-size6.size6,.katex .sizing.reset-size6.size6{font-size:1em}.katex .fontsize-ensurer.reset-size6.size7,.katex .sizing.reset-size6.size7{font-size:1.2em}.katex .fontsize-ensurer.reset-size6.size8,.katex .sizing.reset-size6.size8{font-size:1.44em}.katex .fontsize-ensurer.reset-size6.size9,.katex .sizing.reset-size6.size9{font-size:1.728em}.katex .fontsize-ensurer.reset-size6.size10,.katex .sizing.reset-size6.size10{font-size:2.074em}.katex .fontsize-ensurer.reset-size6.size11,.katex .sizing.reset-size6.size11{font-size:2.488em}.katex .fontsize-ensurer.reset-size7.size1,.katex .sizing.reset-size7.size1{font-size:.416667em}.katex .fontsize-ensurer.reset-size7.size2,.katex .sizing.reset-size7.size2{font-size:.5em}.katex .fontsize-ensurer.reset-size7.size3,.katex .sizing.reset-size7.size3{font-size:.583333em}.katex .fontsize-ensurer.reset-size7.size4,.katex .sizing.reset-size7.size4{font-size:.666667em}.katex .fontsize-ensurer.reset-size7.size5,.katex .sizing.reset-size7.size5{font-size:.75em}.katex .fontsize-ensurer.reset-size7.size6,.katex .sizing.reset-size7.size6{font-size:.833333em}.katex .fontsize-ensurer.reset-size7.size7,.katex .sizing.reset-size7.size7{font-size:1em}.katex .fontsize-ensurer.reset-size7.size8,.katex .sizing.reset-size7.size8{font-size:1.2em}.katex .fontsize-ensurer.reset-size7.size9,.katex .sizing.reset-size7.size9{font-size:1.44em}.katex .fontsize-ensurer.reset-size7.size10,.katex .sizing.reset-size7.size10{font-size:1.72833em}.katex .fontsize-ensurer.reset-size7.size11,.katex .sizing.reset-size7.size11{font-size:2.07333em}.katex .fontsize-ensurer.reset-size8.size1,.katex .sizing.reset-size8.size1{font-size:.347222em}.katex .fontsize-ensurer.reset-size8.size2,.katex .sizing.reset-size8.size2{font-size:.416667em}.katex .fontsize-ensurer.reset-size8.size3,.katex .sizing.reset-size8.size3{font-size:.486111em}.katex .fontsize-ensurer.reset-size8.size4,.katex .sizing.reset-size8.size4{font-size:.555556em}.katex .fontsize-ensurer.reset-size8.size5,.katex .sizing.reset-size8.size5{font-size:.625em}.katex .fontsize-ensurer.reset-size8.size6,.katex .sizing.reset-size8.size6{font-size:.694444em}.katex .fontsize-ensurer.reset-size8.size7,.katex .sizing.reset-size8.size7{font-size:.833333em}.katex .fontsize-ensurer.reset-size8.size8,.katex .sizing.reset-size8.size8{font-size:1em}.katex .fontsize-ensurer.reset-size8.size9,.katex .sizing.reset-size8.size9{font-size:1.2em}.katex .fontsize-ensurer.reset-size8.size10,.katex .sizing.reset-size8.size10{font-size:1.44028em}.katex .fontsize-ensurer.reset-size8.size11,.katex .sizing.reset-size8.size11{font-size:1.72778em}.katex .fontsize-ensurer.reset-size9.size1,.katex .sizing.reset-size9.size1{font-size:.289352em}.katex .fontsize-ensurer.reset-size9.size2,.katex .sizing.reset-size9.size2{font-size:.347222em}.katex .fontsize-ensurer.reset-size9.size3,.katex .sizing.reset-size9.size3{font-size:.405093em}.katex .fontsize-ensurer.reset-size9.size4,.katex .sizing.reset-size9.size4{font-size:.462963em}.katex .fontsize-ensurer.reset-size9.size5,.katex .sizing.reset-size9.size5{font-size:.520833em}.katex .fontsize-ensurer.reset-size9.size6,.katex .sizing.reset-size9.size6{font-size:.578704em}.katex .fontsize-ensurer.reset-size9.size7,.katex .sizing.reset-size9.size7{font-size:.694444em}.katex .fontsize-ensurer.reset-size9.size8,.katex .sizing.reset-size9.size8{font-size:.833333em}.katex .fontsize-ensurer.reset-size9.size9,.katex .sizing.reset-size9.size9{font-size:1em}.katex .fontsize-ensurer.reset-size9.size10,.katex .sizing.reset-size9.size10{font-size:1.20023em}.katex .fontsize-ensurer.reset-size9.size11,.katex .sizing.reset-size9.size11{font-size:1.43981em}.katex .fontsize-ensurer.reset-size10.size1,.katex .sizing.reset-size10.size1{font-size:.24108em}.katex .fontsize-ensurer.reset-size10.size2,.katex .sizing.reset-size10.size2{font-size:.289296em}.katex .fontsize-ensurer.reset-size10.size3,.katex .sizing.reset-size10.size3{font-size:.337512em}.katex .fontsize-ensurer.reset-size10.size4,.katex .sizing.reset-size10.size4{font-size:.385728em}.katex .fontsize-ensurer.reset-size10.size5,.katex .sizing.reset-size10.size5{font-size:.433944em}.katex .fontsize-ensurer.reset-size10.size6,.katex .sizing.reset-size10.size6{font-size:.48216em}.katex .fontsize-ensurer.reset-size10.size7,.katex .sizing.reset-size10.size7{font-size:.578592em}.katex .fontsize-ensurer.reset-size10.size8,.katex .sizing.reset-size10.size8{font-size:.694311em}.katex .fontsize-ensurer.reset-size10.size9,.katex .sizing.reset-size10.size9{font-size:.833173em}.katex .fontsize-ensurer.reset-size10.size10,.katex .sizing.reset-size10.size10{font-size:1em}.katex .fontsize-ensurer.reset-size10.size11,.katex .sizing.reset-size10.size11{font-size:1.19961em}.katex .fontsize-ensurer.reset-size11.size1,.katex .sizing.reset-size11.size1{font-size:.200965em}.katex .fontsize-ensurer.reset-size11.size2,.katex .sizing.reset-size11.size2{font-size:.241158em}.katex .fontsize-ensurer.reset-size11.size3,.katex .sizing.reset-size11.size3{font-size:.281351em}.katex .fontsize-ensurer.reset-size11.size4,.katex .sizing.reset-size11.size4{font-size:.321543em}.katex .fontsize-ensurer.reset-size11.size5,.katex .sizing.reset-size11.size5{font-size:.361736em}.katex .fontsize-ensurer.reset-size11.size6,.katex .sizing.reset-size11.size6{font-size:.401929em}.katex .fontsize-ensurer.reset-size11.size7,.katex .sizing.reset-size11.size7{font-size:.482315em}.katex .fontsize-ensurer.reset-size11.size8,.katex .sizing.reset-size11.size8{font-size:.578778em}.katex .fontsize-ensurer.reset-size11.size9,.katex .sizing.reset-size11.size9{font-size:.694534em}.katex .fontsize-ensurer.reset-size11.size10,.katex .sizing.reset-size11.size10{font-size:.833601em}.katex .fontsize-ensurer.reset-size11.size11,.katex .sizing.reset-size11.size11{font-size:1em}.katex .delimsizing.size1{font-family:KaTeX_Size1}.katex .delimsizing.size2{font-family:KaTeX_Size2}.katex .delimsizing.size3{font-family:KaTeX_Size3}.katex .delimsizing.size4{font-family:KaTeX_Size4}.katex .delimsizing.mult .delim-size1>span{font-family:KaTeX_Size1}.katex .delimsizing.mult .delim-size4>span{font-family:KaTeX_Size4}.katex .nulldelimiter{width:.12em;display:inline-block}.katex .delimcenter,.katex .op-symbol{position:relative}.katex .op-symbol.small-op{font-family:KaTeX_Size1}.katex .op-symbol.large-op{font-family:KaTeX_Size2}.katex .accent>.vlist-t,.katex .op-limits>.vlist-t{text-align:center}.katex .accent .accent-body{position:relative}.katex .accent .accent-body:not(.accent-full){width:0}.katex .overlay{display:block}.katex .mtable .vertical-separator{min-width:1px;display:inline-block}.katex .mtable .arraycolsep{display:inline-block}.katex .mtable .col-align-c>.vlist-t{text-align:center}.katex .mtable .col-align-l>.vlist-t{text-align:left}.katex .mtable .col-align-r>.vlist-t{text-align:right}.katex .svg-align{text-align:left}.katex svg{fill:currentColor;stroke:currentColor;height:inherit;width:100%;display:block;position:absolute}.katex svg path{stroke:none}.katex svg{fill-rule:nonzero;fill-opacity:1;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1}.katex img{border-style:none;min-width:0;max-width:none;min-height:0;max-height:none}.katex .stretchy{width:100%;display:block;position:relative;overflow:hidden}.katex .stretchy:after,.katex .stretchy:before{content:""}.katex .hide-tail{width:100%;position:relative;overflow:hidden}.katex .halfarrow-left{width:50.2%;position:absolute;left:0;overflow:hidden}.katex .halfarrow-right{width:50.2%;position:absolute;right:0;overflow:hidden}.katex .brace-left{width:25.1%;position:absolute;left:0;overflow:hidden}.katex .brace-center{width:50%;position:absolute;left:25%;overflow:hidden}.katex .brace-right{width:25.1%;position:absolute;right:0;overflow:hidden}.katex .x-arrow-pad{padding:0 .5em}.katex .cd-arrow-pad{padding:0 .55556em 0 .27778em}.katex .mover,.katex .munder,.katex .x-arrow{text-align:center}.katex .boxpad{padding:0 .3em}.katex .fbox,.katex .fcolorbox{box-sizing:border-box;border:.04em solid}.katex .cancel-pad{padding:0 .2em}.katex .cancel-lap{margin-left:-.2em;margin-right:-.2em}.katex .sout{border-bottom-style:solid;border-bottom-width:.08em}.katex .angl{box-sizing:border-box;border-top:.049em solid;border-right:.049em solid;margin-right:.03889em}.katex .anglpad{padding:0 .03889em}.katex .eqn-num:before{content:"(" counter(katexEqnNo) ")";counter-increment:katexEqnNo}.katex .mml-eqn-num:before{content:"(" counter(mmlEqnNo) ")";counter-increment:mmlEqnNo}.katex .mtr-glue{width:50%}.katex .cd-vert-arrow{display:inline-block;position:relative}.katex .cd-label-left{text-align:left;display:inline-block;position:absolute;right:calc(50% + .3em)}.katex .cd-label-right{text-align:right;display:inline-block;position:absolute;left:calc(50% + .3em)}.katex-display{text-align:center;margin:1em 0;display:block}.katex-display>.katex{text-align:center;white-space:nowrap;display:block}.katex-display>.katex>.katex-html{display:block;position:relative}.katex-display>.katex>.katex-html>.tag{position:absolute;right:0}.katex-display.leqno>.katex>.katex-html>.tag{left:0;right:auto}.katex-display.fleqn>.katex{text-align:left;padding-left:2em}body{counter-reset:katexEqnNo mmlEqnNo}.rtdv-loading{color:#4a5568;align-items:center;gap:.75rem;padding:2rem 1.5rem;font-size:.9375rem;display:flex}.rtdv-spinner{border:2px solid #e2e8f0;border-top-color:#3182ce;border-radius:50%;flex-shrink:0;width:1.25rem;height:1.25rem;animation:.75s linear infinite rtdv-spin}@keyframes rtdv-spin{to{transform:rotate(360deg)}}.rtdv-loading-text{color:#718096}.rtdv-error{background:#fff5f5;border:1px solid #fed7d7;border-radius:8px;flex-direction:column;gap:.75rem;padding:1.5rem;display:flex}.rtdv-error-message{color:#c53030;margin:0;font-size:.9375rem;line-height:1.5}.rtdv-retry-btn{color:#fff;cursor:pointer;background:#3182ce;border:none;border-radius:5px;align-self:flex-start;padding:.375rem 1rem;font-size:.875rem;transition:background .15s}.rtdv-retry-btn:hover{background:#2b6cb0}.rtdv-retry-btn:focus-visible{outline-offset:2px;outline:2px solid #3182ce}.rtdv-document{background:#fff}.rtdv-content{color:#1a202c;padding:1.25rem 1.5rem;font-size:1rem;line-height:1.75}.rtdv-content .tiptap{outline:none}.rtdv-content .tiptap h1{color:#1a202c;margin:1.5rem 0 .75rem;font-size:1.75rem;font-weight:700}.rtdv-content .tiptap h2{color:#2d3748;margin:1.25rem 0 .5rem;font-size:1.375rem;font-weight:600}.rtdv-content .tiptap h3{color:#2d3748;margin:1rem 0 .5rem;font-size:1.125rem;font-weight:600}.rtdv-content .tiptap h4{color:#4a5568;margin:.75rem 0 .5rem;font-size:1rem;font-weight:600}.rtdv-content .tiptap p{margin:.5rem 0}.rtdv-content .tiptap ul,.rtdv-content .tiptap ol{margin:.5rem 0;padding-left:1.5rem}.rtdv-content .tiptap blockquote{color:#4a5568;border-left:3px solid #e2e8f0;margin:.75rem 0;padding-left:1rem}.rtdv-content .tiptap pre{color:#e2e8f0;background:#1a202c;border-radius:6px;margin:.75rem 0;padding:1rem;font-family:Fira Code,Consolas,monospace;font-size:.875rem;overflow-x:auto}.rtdv-content .tiptap code{background:#edf2f7;border-radius:3px;padding:.125rem .375rem;font-family:Fira Code,Consolas,monospace;font-size:.875rem}.rtdv-content .tiptap pre code{background:0 0;padding:0}.rtdv-content .tiptap img,.rtdv-content .tiptap .rtdv-image{border-radius:4px;max-width:100%;height:auto;margin:.75rem 0}.rtdv-content .tiptap a{color:#3182ce;text-decoration:underline}.rtdv-content .tiptap hr{border:none;border-top:1px solid #e2e8f0;margin:1.5rem 0}.rtdv-content .tiptap table{border-collapse:collapse;table-layout:fixed;width:100%;margin:.75rem 0}.rtdv-content .tiptap table td,.rtdv-content .tiptap table th{vertical-align:top;border:1px solid #e2e8f0;min-width:80px;padding:.5rem .75rem}.rtdv-content .tiptap table th{text-align:left;background-color:#f7fafc;font-weight:600}.rtdv-content .tiptap .math-inline-node{padding:0 2px;display:inline}.rtdv-content .tiptap .math-display-node{text-align:center;margin:.75rem 0;padding:1rem 0;display:block}.rtdv-content .tiptap .math-error{color:#e53e3e;background:#fff5f5;border-radius:3px;padding:.125rem .375rem;font-family:monospace;font-size:.875rem}.rtdv-content .tiptap pre .hljs-keyword{color:#c792ea}.rtdv-content .tiptap pre .hljs-string{color:#c3e88d}.rtdv-content .tiptap pre .hljs-comment{color:#676e95}.rtdv-content .tiptap pre .hljs-number{color:#f78c6c}.rtdv-content .tiptap pre .hljs-function,.rtdv-content .tiptap pre .hljs-title{color:#82aaff}.rtdv-content .tiptap pre .hljs-built_in,.rtdv-content .tiptap pre .hljs-type{color:#ffcb6b}.rtdv-content .tiptap pre .hljs-attr{color:#f78c6c}.rtdv-content .tiptap pre .hljs-tag,.rtdv-content .tiptap pre .hljs-name{color:#f07178}.rtdv-content .tiptap pre .hljs-selector-class{color:#ffcb6b}.rtdv-content .tiptap pre .hljs-selector-id{color:#82aaff}.slide-viewer{background:#1a202c;border-radius:8px;outline:none;flex-direction:column;display:flex;overflow:hidden}.slide-viewer:focus-visible{outline-offset:2px;outline:2px solid #63b3ed}.slide-viewer-fullscreen{z-index:9999;background:#000;border-radius:0;position:fixed;inset:0}.slide-viewer-empty{background:#2d3748;justify-content:center;align-items:center;min-height:200px;display:flex}.sv-empty-message{color:#a0aec0;margin:0;font-size:.95rem}.sv-stage{flex:1;justify-content:center;align-items:center;min-height:300px;padding:1.5rem;display:flex}.slide-viewer-fullscreen .sv-stage{flex:1;padding:2rem}.sv-canvas{background:#fff;border-radius:2px;position:relative;overflow:hidden;box-shadow:0 4px 16px #0006}.sv-page-image-wrapper{justify-content:center;align-items:center;max-width:100%;max-height:100%;display:flex}.sv-page-image{object-fit:contain;border-radius:2px;max-width:100%;max-height:60vh;box-shadow:0 4px 16px #0006}.slide-viewer-fullscreen .sv-page-image{max-height:calc(100vh - 80px)}.sv-element{position:absolute;overflow:hidden}.sv-text-content,.sv-list-content{width:100%;height:100%;overflow:hidden}.sv-nav-bar{background:#2d3748;border-top:1px solid #4a5568;flex-shrink:0;justify-content:center;align-items:center;gap:1rem;padding:.625rem 1rem;display:flex}.sv-nav-btn{color:#e2e8f0;cursor:pointer;background:0 0;border:1px solid #4a5568;border-radius:4px;min-width:2.5rem;padding:.25rem .875rem;font-size:1.125rem;line-height:1.4;transition:background-color .15s,border-color .15s}.sv-nav-btn:hover:not(:disabled){background:#4a5568;border-color:#718096}.sv-nav-btn:focus-visible{outline-offset:2px;outline:2px solid #63b3ed}.sv-nav-btn:disabled{opacity:.3;cursor:not-allowed}.sv-slide-counter{color:#e2e8f0;text-align:center;-webkit-user-select:none;user-select:none;min-width:5rem;font-size:.875rem}.sv-fullscreen-btn{color:#a0aec0;cursor:pointer;background:0 0;border:1px solid #4a5568;border-radius:4px;margin-left:.5rem;padding:.25rem .625rem;font-size:1rem;line-height:1.4;transition:background-color .15s,border-color .15s,color .15s}.sv-fullscreen-btn:hover{color:#e2e8f0;background:#4a5568;border-color:#718096}.sv-fullscreen-btn:focus-visible{outline-offset:2px;outline:2px solid #63b3ed}.cv-loading{color:#718096;flex-direction:column;justify-content:center;align-items:center;gap:.75rem;min-height:120px;padding:2rem;display:flex}.cv-spinner{border:3px solid #e2e8f0;border-top-color:#4299e1;border-radius:50%;width:32px;height:32px;animation:.8s linear infinite cv-spin}@keyframes cv-spin{to{transform:rotate(360deg)}}.cv-loading-text{color:#718096;font-size:.875rem}.cv-error{border:1px solid;border-radius:6px;flex-direction:column;align-items:flex-start;gap:.5rem;padding:1rem 1.25rem;display:flex}.cv-error--temporary{color:#7b341e;background:#fffbeb;border-color:#f6ad55}.cv-error--permanent{color:#742a2a;background:#fff5f5;border-color:#fc8181}.cv-error--unsupported{color:#4a5568;background:#f7fafc;border-color:#cbd5e0}.cv-error-icon{font-size:1.25rem}.cv-error-message{margin:0;font-size:.9rem;line-height:1.5}.cv-retry-btn{color:#fff;cursor:pointer;background:#ed8936;border:none;border-radius:4px;margin-top:.25rem;padding:.375rem .875rem;font-size:.875rem;transition:background-color .15s}.cv-retry-btn:hover{background:#dd6b20}.cv-retry-btn:focus-visible{outline-offset:2px;outline:2px solid #ed8936}.cv-youtube,.cv-vimeo{width:100%}.cv-video-container{background:#000;border-radius:6px;width:100%;height:0;padding-bottom:56.25%;position:relative;overflow:hidden}.cv-video-iframe{border:none;width:100%;height:100%;position:absolute;top:0;left:0}.cv-legacy-google{padding:.75rem 0}.cv-open-external-btn{color:#2b6cb0;cursor:pointer;background:#ebf8ff;border:1px solid #bee3f8;border-radius:4px;align-items:center;gap:.375rem;padding:.5rem 1rem;font-size:.875rem;text-decoration:none;transition:background-color .15s,border-color .15s;display:inline-flex}.cv-open-external-btn:hover{background:#bee3f8;border-color:#90cdf4}.cv-open-external-btn:focus-visible{outline-offset:2px;outline:2px solid #4299e1}.cv-rich-text,.cv-slide-viewer{width:100%}.cv-slide-toggle-btn{color:#2b6cb0;cursor:pointer;background:#ebf8ff;border:1px solid #bee3f8;border-radius:4px;align-items:center;gap:.375rem;margin-bottom:.5rem;padding:.5rem 1rem;font-size:.875rem;transition:background-color .15s,border-color .15s;display:inline-flex}.cv-slide-toggle-btn:hover{background:#bee3f8;border-color:#90cdf4}.cv-slide-toggle-btn:focus-visible{outline-offset:2px;outline:2px solid #4299e1}.cv-slide-viewer-container{border-radius:6px;width:100%;overflow:hidden}.ai-tutor-panel{background:#fff;border:1px solid #e2e8f0;border-radius:8px;flex-direction:column;height:500px;display:flex;overflow:hidden}.ai-tutor-loading{color:#718096;flex-direction:column;justify-content:center;align-items:center;height:100%;display:flex}.ai-tutor-header{background:#f7fafc;border-bottom:1px solid #e2e8f0;flex-shrink:0;justify-content:space-between;align-items:center;padding:.75rem 1rem;display:flex}.ai-tutor-header-info{align-items:center;gap:.75rem;display:flex}.ai-tutor-title{color:#1a202c;margin:0;font-size:1rem;font-weight:600}.ai-tutor-course-scope{color:#718096;background:#edf2f7;border-radius:4px;padding:.15rem .5rem;font-size:.8rem}.ai-tutor-header-actions{align-items:center;gap:.75rem;display:flex}.ai-tutor-message-count{color:#718096;font-size:.8rem}.ai-tutor-message-count.warning{color:#d69e2e;font-weight:500}.ai-tutor-message-count.at-limit{color:#e53e3e;font-weight:600}.ai-tutor-end-session-btn{color:#4a5568;cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:4px;padding:.35rem .75rem;font-size:.8rem;transition:all .15s}.ai-tutor-end-session-btn:hover{background:#f7fafc;border-color:#cbd5e0}.ai-tutor-limit-warning{color:#744210;background:ivory;border-bottom:1px solid #fefcbf;flex-shrink:0;padding:.5rem 1rem;font-size:.8rem}.ai-tutor-limit-reached{color:#742a2a;background:#fff5f5;border-bottom:1px solid #fed7d7;flex-shrink:0;padding:.5rem 1rem;font-size:.8rem}.ai-tutor-messages{flex-direction:column;flex:1;gap:.75rem;padding:1rem;display:flex;overflow-y:auto}.ai-tutor-empty{text-align:center;color:#4a5568;flex-direction:column;justify-content:center;align-items:center;height:100%;display:flex}.ai-tutor-empty p{margin:.25rem 0}.ai-tutor-empty-hint{color:#718096;font-size:.85rem}.ai-tutor-message{gap:.5rem;max-width:85%;display:flex}.ai-tutor-message.student-message{flex-direction:row-reverse;align-self:flex-end}.ai-tutor-message.ai-message{align-self:flex-start}.message-avatar{flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:1rem;display:flex}.message-content{border-radius:12px;padding:.6rem .9rem;font-size:.9rem;line-height:1.5}.student-message .message-content{color:#fff;background:#3182ce;border-bottom-right-radius:4px}.ai-message .message-content{color:#1a202c;background:#f7fafc;border:1px solid #e2e8f0;border-bottom-left-radius:4px}.message-text{white-space:pre-wrap;word-break:break-word;margin:0}.message-sources{border-top:1px solid #e2e8f0;margin-top:.5rem;padding-top:.5rem}.sources-label{color:#718096;font-size:.75rem;font-weight:500}.sources-list{flex-wrap:wrap;gap:.35rem;margin:.25rem 0 0;padding:0;list-style:none;display:flex}.source-link{color:#2b6cb0;cursor:pointer;background:#ebf8ff;border:1px solid #bee3f8;border-radius:4px;padding:.2rem .5rem;font-size:.75rem;transition:all .15s}.source-link:hover{color:#2c5282;background:#bee3f8}.typing-indicator{gap:4px;padding:.25rem 0;display:flex}.typing-indicator span{background:#a0aec0;border-radius:50%;width:6px;height:6px;animation:1.4s ease-in-out infinite typing-bounce}.typing-indicator span:first-child{animation-delay:0s}.typing-indicator span:nth-child(2){animation-delay:.2s}.typing-indicator span:nth-child(3){animation-delay:.4s}@keyframes typing-bounce{0%,80%,to{opacity:.5;transform:scale(.8)}40%{opacity:1;transform:scale(1.2)}}.ai-tutor-error{background:#fff5f5;border-top:1px solid #fed7d7;flex-shrink:0;justify-content:space-between;align-items:center;padding:.5rem 1rem;display:flex}.ai-tutor-error p{color:#c53030;margin:0;font-size:.85rem}.ai-tutor-retry-btn{color:#c53030;cursor:pointer;background:#fff;border:1px solid #fed7d7;border-radius:4px;padding:.3rem .6rem;font-size:.8rem;transition:all .15s}.ai-tutor-retry-btn:hover{background:#fff5f5}.ai-tutor-scope-notice{background:ivory;border-top:1px solid #fefcbf;flex-shrink:0;padding:.5rem 1rem}.ai-tutor-scope-notice p{color:#744210;margin:0;font-size:.85rem}.ai-tutor-input-form{background:#f7fafc;border-top:1px solid #e2e8f0;flex-shrink:0;gap:.5rem;padding:.75rem 1rem;display:flex}.ai-tutor-textarea-wrapper{flex-direction:column;flex:1;display:flex}.ai-tutor-textarea{resize:none;border:1px solid #e2e8f0;border-radius:6px;outline:none;width:100%;padding:.5rem .75rem;font-family:inherit;font-size:.9rem;transition:border-color .15s}.ai-tutor-textarea:focus{border-color:#3182ce}.ai-tutor-textarea:disabled{cursor:not-allowed;background:#edf2f7}.ai-tutor-input-footer{align-items:center;gap:.5rem;margin-top:.25rem;display:flex}.ai-tutor-char-count{color:#a0aec0;font-size:.7rem}.ai-tutor-char-count.over-limit{color:#e53e3e;font-weight:500}.ai-tutor-char-count.empty{color:#a0aec0}.ai-tutor-validation{color:#e53e3e;font-size:.7rem}.ai-tutor-send-btn{color:#fff;cursor:pointer;background:#3182ce;border:none;border-radius:6px;align-self:flex-end;padding:.5rem 1rem;font-size:.9rem;font-weight:500;transition:background .15s}.ai-tutor-send-btn:hover:not(:disabled){background:#2c5282}.ai-tutor-send-btn:disabled{cursor:not-allowed;background:#a0aec0}.gamification-profile{background-color:#fff;border:1px solid #e5e7eb;border-radius:8px;flex-direction:column;gap:1rem;padding:1.25rem;display:flex}.gamification-profile-title{color:#1f2937;margin:0;font-size:1rem;font-weight:600}.gamification-stats{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.75rem;display:grid}.stat-card{background-color:#f9fafb;border-radius:6px;align-items:center;gap:.625rem;padding:.75rem;display:flex}.stat-icon{font-size:1.25rem}.stat-content{flex-direction:column;display:flex}.stat-label{color:#6b7280;text-transform:uppercase;letter-spacing:.03em;font-size:.6875rem}.gamification-progress-section{flex-direction:column;gap:.375rem;display:flex}.progress-header{justify-content:space-between;align-items:center;display:flex}.progress-label{color:#374151;font-size:.8125rem;font-weight:500}.progress-percent{color:#6b7280;font-size:.8125rem;font-weight:500}.progress-bar-wrapper{background-color:#e5e7eb;border-radius:4px;height:8px;overflow:hidden}.gamification-badges-preview{flex-direction:column;gap:.5rem;display:flex}.badges-preview-title{color:#374151;margin:0;font-size:.8125rem;font-weight:600}.badges-preview-list{align-items:center;gap:.5rem;display:flex}.badge-preview-item{background-color:#f0fdf4;border:1px solid #d1fae5;border-radius:6px;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.badge-preview-icon{object-fit:contain;width:24px;height:24px}.badge-preview-placeholder{font-size:1.125rem}.badges-more{color:#6b7280;background-color:#f3f4f6;border-radius:4px;padding:.25rem .5rem;font-size:.75rem;font-weight:500}.gamification-links{border-top:1px solid #f3f4f6;gap:1rem;padding-top:.5rem;display:flex}.gamification-link{color:#3b82f6;font-size:.8125rem;font-weight:500;text-decoration:none}.gamification-link:hover{text-decoration:underline}.gamification-error{color:#dc2626;margin:0;font-size:.875rem}.achievement-notifications{z-index:1000;flex-direction:column;gap:.75rem;max-width:360px;display:flex;position:fixed;top:1rem;right:1rem}.achievement-toast{background-color:#fff;border:1px solid #d1fae5;border-left:4px solid #10b981;border-radius:8px;align-items:flex-start;gap:.75rem;padding:1rem;animation:.3s ease-out slideIn;display:flex;box-shadow:0 4px 12px #0000001a}@keyframes slideIn{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}.achievement-toast-icon{background-color:#f0fdf4;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;font-size:1.25rem;display:flex}.achievement-toast-badge-img{object-fit:contain;width:28px;height:28px}.achievement-toast-content{flex:1;min-width:0}.achievement-toast-title{color:#059669;text-transform:uppercase;letter-spacing:.05em;margin:0 0 .125rem;font-size:.6875rem;font-weight:600}.achievement-toast-name{color:#1f2937;margin:0 0 .125rem;font-size:.9375rem;font-weight:600}.achievement-toast-xp{color:#059669;margin:0;font-size:.8125rem;font-weight:500}.achievement-toast-dismiss{color:#9ca3af;cursor:pointer;background:0 0;border:none;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;font-size:1.25rem;line-height:1;display:flex}.achievement-toast-dismiss:hover{color:#6b7280;background-color:#f3f4f6}.course-admin-layout{gap:0;min-height:calc(100vh - 64px);display:flex}.course-admin-nav{background-color:#f9fafb;border-right:1px solid #e5e7eb;flex-direction:column;width:240px;min-width:240px;padding:0;display:flex}.course-admin-nav-header{border-bottom:1px solid #e5e7eb;padding:1.25rem 1.5rem}.course-admin-nav-course-name{color:#1f2937;white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:.9375rem;font-weight:600;overflow:hidden}.course-admin-nav-subtitle{color:#6b7280;text-transform:uppercase;letter-spacing:.05em;font-size:.75rem;font-weight:600}.course-admin-nav-list{flex-direction:column;gap:.125rem;margin:0;padding:.75rem 0;list-style:none;display:flex}.course-admin-nav-item{margin:0;padding:0}.course-admin-nav-link{color:#4b5563;border-left:3px solid #0000;padding:.625rem 1.5rem;font-size:.875rem;font-weight:500;text-decoration:none;transition:background-color .15s,color .15s,border-color .15s;display:block}.course-admin-nav-link:hover{color:#1f2937;background-color:#f3f4f6}.course-admin-nav-link--active{color:#1d4ed8;background-color:#eff6ff;border-left-color:#3b82f6;font-weight:600}.course-admin-loading{color:#6b7280;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:1rem;font-size:.875rem;display:flex}.course-admin-error{color:#dc2626;flex:1;padding:2rem;font-size:.875rem}.course-admin-access-denied{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:1rem;padding:2rem;display:flex}.course-admin-access-denied h2{color:#dc2626;margin:0;font-size:1.25rem;font-weight:600}.course-admin-access-denied p{color:#6b7280;margin:0;font-size:.875rem}.course-admin-content{flex:1;padding:2rem;overflow-y:auto}.course-admin-content-section{max-width:1200px}.course-admin-content-section h2{color:#1f2937;margin:0 0 1.5rem;font-size:1.25rem;font-weight:600}.course-admin-content-actions{margin-bottom:1rem}.course-admin-add-section-form{align-items:center;gap:.5rem;display:flex}.course-admin-add-section-input{border:1px solid #d1d5db;border-radius:.375rem;flex:1;max-width:300px;padding:.5rem .75rem;font-size:.875rem}.course-admin-add-section-input:focus{border-color:#3b82f6;outline:none;box-shadow:0 0 0 2px #3b82f626}.course-admin-toc-empty{color:#6b7280;padding:1rem 0;font-size:.875rem}.course-admin-enrollments-section{max-width:1200px}.course-admin-enrollments-section h2{color:#1f2937;margin:0 0 1.5rem;font-size:1.25rem;font-weight:600}.course-admin-section-heading{color:#374151;margin:1.5rem 0 .75rem;font-size:1rem;font-weight:600}.course-admin-section-heading:first-child{margin-top:0}.course-admin-requests-list{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.course-admin-request-item{background:#f9fafb;border:1px solid #e5e7eb;border-radius:.375rem;justify-content:space-between;align-items:center;padding:.75rem 1rem;display:flex}.course-admin-request-user-info{flex-direction:column;gap:.125rem;display:flex}.course-admin-request-email{color:#1f2937;font-size:.875rem;font-weight:500}.course-admin-request-name{color:#6b7280;font-size:.75rem}.course-admin-request-actions{gap:.5rem;display:flex}.course-admin-users-table{border-collapse:collapse;width:100%;font-size:.875rem}.course-admin-users-table th,.course-admin-users-table td{text-align:left;border-bottom:1px solid #e5e7eb;padding:.625rem .75rem}.course-admin-users-table th{color:#374151;background:#f9fafb;font-weight:600}.course-admin-users-table td{color:#1f2937}.course-admin-role-badge{border-radius:9999px;padding:.125rem .5rem;font-size:.75rem;font-weight:500;display:inline-block}.course-admin-role-instructor{color:#1d4ed8;background:#dbeafe}.course-admin-role-ta{color:#92400e;background:#fef3c7}.course-admin-role-student{color:#374151;background:#f3f4f6}.course-admin-invite-form{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.course-admin-invite-email-input{border:1px solid #d1d5db;border-radius:.375rem;min-width:220px;padding:.5rem .75rem;font-size:.875rem}.course-admin-invite-email-input:focus{border-color:#3b82f6;outline:none;box-shadow:0 0 0 2px #3b82f626}.course-admin-invite-role-select{background:#fff;border:1px solid #d1d5db;border-radius:.375rem;padding:.5rem .75rem;font-size:.875rem}.course-admin-invite-message{border-radius:.375rem;margin-top:.5rem;padding:.5rem .75rem;font-size:.8125rem}.course-admin-invite-success{color:#065f46;background:#ecfdf5}.course-admin-invite-error{color:#991b1b;background:#fef2f2}.course-admin-role-select{background:#fff;border:1px solid #d1d5db;border-radius:.375rem;padding:.25rem .5rem;font-size:.8125rem}.course-admin-empty-state{color:#6b7280;padding:1rem 0;font-size:.875rem}.course-admin-content-section .content-item{justify-content:space-between;align-items:center;gap:.5rem;margin-left:1.5rem;padding:.25rem 0;display:flex}.course-admin-content-section .content-item .content-item-link{flex:1;align-items:center;gap:.5rem;min-width:0;display:flex}.course-admin-content-section .content-item .toc-section-actions{opacity:1;flex-shrink:0;gap:.25rem;display:flex}.course-admin-content-section .toc-section-actions{opacity:1}.content-item-type-badge--legacy{color:#92400e;background-color:#fef3c7}.content-item-legacy{cursor:pointer;color:#4a5568;text-align:left;background:0 0;border:1px solid #0000;border-radius:4px;flex:1;align-items:center;gap:.5rem;width:100%;min-width:0;padding:.4rem .5rem;font-size:.9rem;transition:background-color .15s,border-color .15s;display:flex}.content-item-legacy:hover{background-color:#fffbeb;border-color:#fef3c7}.accessibility-prompts{background-color:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;margin-top:.75rem;overflow:hidden}.accessibility-prompts-header{align-items:center;display:flex}.accessibility-prompts-toggle{cursor:pointer;color:#2d3748;text-align:left;background:0 0;border:none;align-items:center;gap:.5rem;width:100%;padding:.625rem .75rem;font-size:.85rem;transition:background-color .15s;display:flex}.accessibility-prompts-toggle:hover{background-color:#edf2f7}.accessibility-prompts-icon{flex-shrink:0;font-size:1rem}.accessibility-prompts-title{flex:1;font-weight:500}.accessibility-score{border-radius:9999px;padding:.125rem .5rem;font-size:.75rem;font-weight:600}.score-complete{color:#065f46;background-color:#d1fae5}.score-incomplete{color:#92400e;background-color:#fef3c7}.accessibility-toggle-icon{color:#718096;flex-shrink:0;font-size:.65rem}.accessibility-prompts-body{border-top:1px solid #e2e8f0;padding:.75rem}.accessibility-checklist{flex-direction:column;gap:.375rem;margin:0 0 .75rem;padding:0;list-style:none;display:flex}.accessibility-check-item{align-items:center;gap:.5rem;padding:.25rem 0;font-size:.8125rem;display:flex}.check-icon{text-align:center;flex-shrink:0;width:1.25rem;font-size:.875rem}.check-complete .check-icon{color:#059669}.check-incomplete .check-icon{color:#9ca3af}.check-label{color:#374151}.check-complete .check-label{color:#065f46}.accessibility-field{border-top:1px solid #e2e8f0;margin-top:.75rem;padding-top:.75rem;position:relative}.accessibility-field-label{color:#374151;margin-bottom:.375rem;font-size:.8125rem;font-weight:500;display:block}.accessibility-field-hint{color:#6b7280;margin-left:.25rem;font-weight:400}.accessibility-field-input{resize:vertical;border:1px solid #e2e8f0;border-radius:4px;width:100%;padding:.4rem .6rem;font-family:inherit;font-size:.8125rem;transition:border-color .15s}.accessibility-field-input:focus{border-color:#3b82f6;outline:none;box-shadow:0 0 0 2px #3b82f61a}.accessibility-field-help{color:#6b7280;margin:.25rem 0 0;font-size:.75rem;line-height:1.4}.accessibility-char-count{color:#9ca3af;font-size:.7rem;position:absolute;bottom:0;right:0}.accessibility-warning{background-color:#fffbeb;border:1px solid #fef3c7;border-radius:6px;align-items:flex-start;gap:.5rem;margin-top:.75rem;padding:.625rem .75rem;display:flex}.accessibility-warning-content{flex:1;align-items:flex-start;gap:.375rem;display:flex}.accessibility-warning-icon{flex-shrink:0;font-size:.875rem}.accessibility-warning-text{color:#92400e;margin:0;font-size:.8rem;line-height:1.4}.accessibility-warning-dismiss{cursor:pointer;color:#92400e;background:0 0;border:none;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;width:1.5rem;height:1.5rem;font-size:1rem;transition:background-color .15s;display:flex}.accessibility-warning-dismiss:hover{background-color:#fef3c7}.visibility-selector{align-items:center;display:inline-flex;position:relative}.visibility-badge{cursor:pointer;white-space:nowrap;border:1px solid #0000;border-radius:9999px;align-items:center;gap:.25rem;padding:.2rem .55rem;font-size:.75rem;font-weight:500;line-height:1.4;transition:opacity .15s,box-shadow .15s;display:inline-flex}.visibility-badge:disabled{opacity:.6;cursor:not-allowed}.visibility-badge:focus-visible{outline-offset:2px;outline:2px solid}.visibility-badge--draft{color:#6b7280;background-color:#f3f4f6;border-color:#d1d5db}.visibility-badge--published{color:#065f46;background-color:#d1fae5;border-color:#6ee7b7}.visibility-badge--scheduled{color:#92400e;background-color:#fef3c7;border-color:#fcd34d}.visibility-badge--hidden{color:#9d174d;background-color:#fce7f3;border-color:#f9a8d4}.visibility-badge__icon{font-size:.8rem}.visibility-badge__caret{opacity:.7;font-size:.6rem}.visibility-panel{z-index:100;background:#fff;border:1px solid #e5e7eb;border-radius:8px;flex-direction:column;gap:.6rem;min-width:220px;padding:.75rem;display:flex;position:absolute;top:calc(100% + 4px);left:0;box-shadow:0 4px 12px #0000001f}.visibility-panel__field{flex-direction:column;gap:.2rem;display:flex}.visibility-panel__label{color:#374151;text-transform:uppercase;letter-spacing:.03em;font-size:.75rem;font-weight:600}.visibility-panel__select{color:#1f2937;cursor:pointer;background:#fff;border:1px solid #d1d5db;border-radius:6px;padding:.4rem .6rem;font-size:.875rem;transition:border-color .15s}.visibility-panel__select:focus{border-color:#3b82f6;outline:none;box-shadow:0 0 0 2px #3b82f633}.visibility-panel__select:disabled{cursor:not-allowed;background:#f9fafb}.visibility-panel__date-input{color:#1f2937;border:1px solid #d1d5db;border-radius:6px;padding:.4rem .6rem;font-size:.875rem;transition:border-color .15s}.visibility-panel__date-input:focus{border-color:#3b82f6;outline:none;box-shadow:0 0 0 2px #3b82f633}.visibility-panel__date-input:disabled{cursor:not-allowed;background:#f9fafb}.visibility-panel__error{color:#991b1b;background:#fef2f2;border:1px solid #fca5a5;border-radius:4px;margin:0;padding:.35rem .6rem;font-size:.8125rem;line-height:1.4}.visibility-panel__actions{border-top:1px solid #f3f4f6;justify-content:flex-end;gap:.5rem;padding-top:.25rem;display:flex}.visibility-panel__save-btn,.visibility-panel__cancel-btn{cursor:pointer;border:1px solid #0000;border-radius:5px;padding:.3rem .75rem;font-size:.8125rem;font-weight:500;transition:background-color .15s,color .15s}.visibility-panel__save-btn{color:#fff;background-color:#3b82f6;border-color:#3b82f6}.visibility-panel__save-btn:hover:not(:disabled){background-color:#2563eb;border-color:#2563eb}.visibility-panel__save-btn:disabled{opacity:.6;cursor:not-allowed}.visibility-panel__cancel-btn{color:#374151;background-color:#fff;border-color:#d1d5db}.visibility-panel__cancel-btn:hover:not(:disabled){background-color:#f3f4f6}.visibility-panel__cancel-btn:disabled{opacity:.6;cursor:not-allowed}.visibility-panel__save-btn:focus-visible,.visibility-panel__cancel-btn:focus-visible{outline-offset:2px;outline:2px solid #3b82f6}.rte-toolbar{background:#f7fafc;border-bottom:1px solid #e2e8f0;flex-wrap:wrap;align-items:center;gap:.25rem;padding:.5rem;display:flex}.rte-toolbar-group{border-right:1px solid #e2e8f0;align-items:center;gap:2px;padding-right:.5rem;display:flex}.rte-toolbar-group:last-of-type{border-right:none}.rte-btn{color:#4a5568;cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;min-width:32px;height:32px;padding:0 4px;font-size:.8125rem;font-weight:600;transition:background-color .15s,color .15s;display:flex}.rte-btn:hover{color:#1a202c;background-color:#edf2f7}.rte-btn-active{color:#2b6cb0;background-color:#e2e8f0}.rte-btn-danger{color:#e53e3e}.rte-btn-danger:hover{color:#c53030;background-color:#fed7d7}.rte-btn-save{color:#fff;background-color:#3182ce;border-radius:4px;width:auto;padding:.25rem .75rem;font-size:.75rem}.rte-btn-save:hover{background-color:#2b6cb0}.rte-btn-save:disabled{opacity:.5;cursor:not-allowed}.rte-toolbar-status{align-items:center;gap:.5rem;margin-left:auto;font-size:.75rem;display:flex}.rte-status-saving{color:#718096}.rte-status-unsaved{color:#d69e2e}.rte-status-saved{color:#38a169}.rich-text-editor{background:#fff;border:1px solid #e2e8f0;border-radius:8px;overflow:hidden}.rte-upload-indicator{color:#2b6cb0;background:#ebf8ff;border-bottom:1px solid #bee3f8;padding:.5rem 1rem;font-size:.8125rem}.rte-content{color:#1a202c;min-height:300px;padding:1rem 1.5rem;font-size:1rem;line-height:1.7}.rte-content .tiptap{outline:none;min-height:280px}.rte-content .tiptap p.is-editor-empty:first-child:before{content:attr(data-placeholder);float:left;color:#a0aec0;pointer-events:none;height:0}.rte-content .tiptap h1{color:#1a202c;margin:1.5rem 0 .75rem;font-size:1.75rem;font-weight:700}.rte-content .tiptap h2{color:#2d3748;margin:1.25rem 0 .5rem;font-size:1.375rem;font-weight:600}.rte-content .tiptap h3{color:#2d3748;margin:1rem 0 .5rem;font-size:1.125rem;font-weight:600}.rte-content .tiptap h4{color:#4a5568;margin:.75rem 0 .5rem;font-size:1rem;font-weight:600}.rte-content .tiptap p{margin:.5rem 0}.rte-content .tiptap ul,.rte-content .tiptap ol{margin:.5rem 0;padding-left:1.5rem}.rte-content .tiptap blockquote{color:#4a5568;border-left:3px solid #e2e8f0;margin:.75rem 0;padding-left:1rem}.rte-content .tiptap pre{color:#e2e8f0;background:#1a202c;border-radius:6px;margin:.75rem 0;padding:1rem;font-family:Fira Code,Consolas,monospace;font-size:.875rem;overflow-x:auto}.rte-content .tiptap code{background:#edf2f7;border-radius:3px;padding:.125rem .375rem;font-family:Fira Code,Consolas,monospace;font-size:.875rem}.rte-content .tiptap pre code{background:0 0;padding:0}.rte-content .tiptap img,.rte-content .tiptap .rte-image{border-radius:4px;max-width:100%;height:auto;margin:.75rem 0}.rte-content .tiptap a{color:#3182ce;text-decoration:underline}.rte-content .tiptap hr{border:none;border-top:1px solid #e2e8f0;margin:1.5rem 0}.rte-content .tiptap table{border-collapse:collapse;table-layout:fixed;width:100%;margin:.75rem 0;overflow:hidden}.rte-content .tiptap table td,.rte-content .tiptap table th{vertical-align:top;border:1px solid #e2e8f0;min-width:80px;padding:.5rem .75rem;position:relative}.rte-content .tiptap table th{text-align:left;background-color:#f7fafc;font-weight:600}.rte-content .tiptap table .selectedCell:after{content:"";pointer-events:none;background:#3182ce1a;position:absolute;inset:0}.rte-content .tiptap .math-inline-node{cursor:default;padding:0 2px;display:inline}.rte-content .tiptap .math-display-node{text-align:center;cursor:default;margin:.75rem 0;padding:1rem 0;display:block}.rte-content .tiptap .math-error{color:#e53e3e;background:#fff5f5;border-radius:3px;padding:.125rem .375rem;font-family:monospace;font-size:.875rem}.rte-content .tiptap pre .hljs-keyword{color:#c792ea}.rte-content .tiptap pre .hljs-string{color:#c3e88d}.rte-content .tiptap pre .hljs-comment{color:#676e95}.rte-content .tiptap pre .hljs-number{color:#f78c6c}.rte-content .tiptap pre .hljs-function,.rte-content .tiptap pre .hljs-title{color:#82aaff}.rte-content .tiptap pre .hljs-built_in,.rte-content .tiptap pre .hljs-type{color:#ffcb6b}.rte-content .tiptap pre .hljs-attr{color:#f78c6c}.rte-content .tiptap pre .hljs-tag,.rte-content .tiptap pre .hljs-name{color:#f07178}.rte-content .tiptap pre .hljs-selector-class{color:#ffcb6b}.rte-content .tiptap pre .hljs-selector-id{color:#82aaff}.slide-builder{background:#fff;border:1px solid #e2e8f0;border-radius:8px;overflow:hidden}.slide-readonly{border:none}.slide-toolbar{background:#f7fafc;border-bottom:1px solid #e2e8f0;flex-wrap:wrap;align-items:center;gap:.5rem;padding:.5rem;display:flex}.slide-toolbar-group{border-right:1px solid #e2e8f0;align-items:center;gap:.25rem;padding-right:.5rem;display:flex}.slide-toolbar-group:last-of-type{border-right:none}.slide-tool-btn{color:#4a5568;cursor:pointer;background:0 0;border:none;border-radius:4px;padding:.375rem .625rem;font-size:.8125rem;transition:background-color .15s}.slide-tool-btn:hover:not(:disabled){background-color:#edf2f7}.slide-tool-btn:disabled{opacity:.4;cursor:not-allowed}.slide-bg-label{color:#4a5568;align-items:center;gap:.375rem;font-size:.8125rem;display:flex}.slide-bg-label input[type=color]{cursor:pointer;border:1px solid #e2e8f0;border-radius:4px;width:28px;height:28px;padding:0}.slide-toolbar-status{align-items:center;gap:.5rem;margin-left:auto;font-size:.75rem;display:flex}.slide-status-saving{color:#d69e2e}.slide-status-saved{color:#38a169}.slide-autosave-warning{color:#744210;background:#fffbeb;border-bottom:1px solid #f6e05e;align-items:center;gap:.375rem;padding:.375rem .75rem;font-size:.8125rem;display:flex}.slide-save-btn{color:#fff;cursor:pointer;background:#3182ce;border:none;border-radius:4px;padding:.25rem .75rem;font-size:.75rem}.slide-save-btn:hover{background:#2b6cb0}.slide-canvas-wrapper{background:#2d3748;justify-content:center;align-items:center;min-height:400px;padding:1.5rem;display:flex}.slide-canvas{background:#fff;border-radius:2px;position:relative;overflow:hidden;box-shadow:0 4px 12px #0000004d}.slide-element{cursor:pointer;border:1px solid #0000;border-radius:2px;transition:border-color .15s;position:absolute;overflow:hidden}.slide-element:hover{border-color:#90cdf4}.slide-element-selected{border-color:#3182ce;box-shadow:0 0 0 2px #3182ce4d}.slide-element-text,.slide-element-image,.slide-element-list{overflow:hidden}.slide-tiptap-editor{flex-direction:column;width:100%;height:100%;display:flex}.slide-tiptap-toolbar{background:#f7fafc;border-bottom:1px solid #e2e8f0;flex-shrink:0;gap:2px;padding:2px 4px;display:flex}.slide-tiptap-toolbar button{cursor:pointer;color:#4a5568;background:0 0;border:none;border-radius:3px;padding:1px 5px;font-size:.6875rem}.slide-tiptap-toolbar button:hover{background:#edf2f7}.slide-tiptap-toolbar button.active{color:#fff;background:#3182ce}.slide-tiptap-content{flex:1;padding:.375rem;font-size:.875rem;line-height:1.4;overflow-y:auto}.slide-tiptap-content .tiptap{outline:none;height:100%}.slide-tiptap-content .tiptap p{margin:0 0 .25rem}.slide-tiptap-content .tiptap h1{margin:0 0 .25rem;font-size:1.25rem}.slide-tiptap-content .tiptap h2{margin:0 0 .25rem;font-size:1.1rem}.slide-list-editor{flex-direction:column;width:100%;height:100%;padding:.375rem;display:flex;overflow-y:auto}.slide-list-content{margin:0;padding-left:1.25rem;font-size:.875rem;line-height:1.5}.slide-list-content li{align-items:center;gap:.25rem;margin-bottom:.125rem;display:flex}.slide-list-item-input{background:0 0;border:none;border-bottom:1px solid #e2e8f0;outline:none;flex:1;padding:.125rem .25rem;font-family:inherit;font-size:.875rem}.slide-list-item-input:focus{border-color:#3182ce}.slide-list-remove-btn{color:#e53e3e;cursor:pointer;background:0 0;border:none;padding:0 .25rem;font-size:.75rem;line-height:1}.slide-list-add-btn{color:#3182ce;cursor:pointer;text-align:left;background:0 0;border:none;margin-top:.25rem;padding:.25rem 0;font-size:.75rem}.slide-list-add-btn:hover{text-decoration:underline}.slide-element-delete{color:#fff;cursor:pointer;z-index:10;background:#e53e3e;border:none;border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;font-size:.75rem;line-height:1;display:flex;position:absolute;top:-8px;right:-8px}.slide-sorter{background:#f7fafc;border-top:1px solid #e2e8f0;gap:.375rem;padding:.75rem;display:flex;overflow-x:auto}.slide-thumb{cursor:pointer;background:#fff;border:2px solid #e2e8f0;border-radius:3px;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:28px;transition:border-color .15s;display:flex}.slide-thumb:hover{border-color:#90cdf4}.slide-thumb-active{background:#ebf8ff;border-color:#3182ce}.slide-thumb-dragging{opacity:.5}.slide-thumb-dragover{background:#f0fff4;border-color:#38a169}.slide-thumb-number{color:#4a5568;font-size:.6875rem;font-weight:600}.slide-nav-bar{color:#4a5568;border-top:1px solid #e2e8f0;justify-content:center;align-items:center;gap:1rem;padding:.75rem;font-size:.875rem;display:flex}.slide-nav-bar button{cursor:pointer;color:#4a5568;background:0 0;border:1px solid #e2e8f0;border-radius:4px;padding:.25rem .75rem}.slide-nav-bar button:hover:not(:disabled){background:#edf2f7}.slide-nav-bar button:disabled{opacity:.3;cursor:not-allowed}.slide-empty-state{color:#718096;flex-direction:column;justify-content:center;align-items:center;gap:1rem;width:100%;min-height:300px;display:flex}.slide-empty-state-message{margin:0;font-size:1rem}.slide-empty-state-add-btn{color:#fff;cursor:pointer;background:#3182ce;border:none;border-radius:6px;padding:.5rem 1.25rem;font-size:.875rem;transition:background-color .15s}.slide-empty-state-add-btn:hover{background:#2b6cb0}.file-upload-panel{flex-direction:column;gap:1rem;max-width:600px;padding:1rem;display:flex}.file-upload-existing{background:#f8f9fa;border:1px solid #dee2e6;border-radius:8px;padding:.75rem 1rem}.file-upload-existing-label{color:#6c757d;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.25rem;font-size:.75rem}.file-upload-existing-name{color:#212529;margin-bottom:.25rem;font-weight:600}.file-upload-existing-meta{color:#6c757d;font-size:.85rem}.file-upload-dropzone{text-align:center;cursor:pointer;background:#fafbfc;border:2px dashed #ced4da;border-radius:12px;padding:2.5rem 1.5rem;transition:border-color .2s,background-color .2s}.file-upload-dropzone:hover,.file-upload-dropzone:focus-visible{background:#f0f7ff;border-color:#0d6efd;outline:none}.file-upload-dropzone--active{background:#e7f1ff;border-style:solid;border-color:#0d6efd}.file-upload-dropzone-icon{margin-bottom:.75rem;font-size:2.5rem}.file-upload-dropzone-text{color:#212529;margin-bottom:.5rem;font-size:1rem}.file-upload-dropzone-hint{color:#6c757d;font-size:.8rem}.file-upload-progress{background:#f8f9fa;border:1px solid #dee2e6;border-radius:8px;flex-direction:column;gap:.5rem;padding:1rem;display:flex}.file-upload-progress-filename{color:#495057;white-space:nowrap;text-overflow:ellipsis;font-size:.9rem;font-weight:500;overflow:hidden}.file-upload-progress-bar-container{background:#e9ecef;border-radius:4px;width:100%;height:8px;overflow:hidden}.file-upload-progress-bar{background:#0d6efd;border-radius:4px;height:100%;transition:width .3s}.file-upload-progress-text{color:#495057;text-align:right;font-size:.85rem;font-weight:600}.file-upload-cancel-btn{color:#dc3545;cursor:pointer;background:0 0;border:1px solid #dc3545;border-radius:4px;align-self:flex-end;padding:.375rem .75rem;font-size:.85rem;transition:background .2s,color .2s}.file-upload-cancel-btn:hover{color:#fff;background:#dc3545}.file-upload-errors{background:#fff5f5;border:1px solid #f8d7da;border-radius:8px;flex-direction:column;gap:.5rem;padding:1rem;display:flex}.file-upload-error{color:#842029;align-items:flex-start;gap:.5rem;font-size:.9rem;display:flex}.file-upload-error-icon{flex-shrink:0}.file-upload-error-message{line-height:1.4}.file-upload-retry-btn{color:#0d6efd;cursor:pointer;background:0 0;border:1px solid #0d6efd;border-radius:4px;align-self:flex-start;margin-top:.5rem;padding:.375rem .75rem;font-size:.85rem;transition:background .2s,color .2s}.file-upload-retry-btn:hover{color:#fff;background:#0d6efd}.file-upload-success{color:#0f5132;background:#d1e7dd;border:1px solid #badbcc;border-radius:8px;align-items:center;gap:.5rem;padding:1rem;font-weight:500;display:flex}.exam-editor{background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:1.5rem}.exam-readonly{padding:1rem}.exam-header-info h3{color:#1a202c;margin:0 0 .5rem;font-size:1.125rem}.exam-description{color:#4a5568;margin:0 0 .75rem;font-size:.9rem}.exam-meta{color:#718096;gap:1rem;font-size:.8125rem;display:flex}.exam-settings{border-bottom:1px solid #e2e8f0;margin-bottom:1.5rem;padding-bottom:1rem}.exam-settings-row{flex-wrap:wrap;align-items:flex-end;gap:1rem;margin-bottom:.75rem;display:flex}.exam-label{color:#4a5568;flex-direction:column;gap:.25rem;font-size:.8125rem;font-weight:500;display:flex}.exam-label-inline{flex-direction:row;align-items:center;gap:.5rem}.exam-input{color:#1a202c;border:1px solid #e2e8f0;border-radius:4px;width:100%;padding:.375rem .5rem;font-size:.875rem}.exam-input:focus{border-color:#3182ce;outline:none;box-shadow:0 0 0 2px #3182ce1a}.exam-input-sm{width:100px}.exam-input-xs{width:60px}.exam-stats{color:#718096;align-items:center;gap:1rem;font-size:.8125rem;display:flex}.exam-status-saving{color:#d69e2e}.exam-save-btn{color:#fff;cursor:pointer;background:#3182ce;border:none;border-radius:4px;padding:.25rem .75rem;font-size:.75rem}.exam-save-btn:hover{background:#2b6cb0}.exam-questions{flex-direction:column;gap:.75rem;margin-bottom:1rem;display:flex}.exam-question-card{border:1px solid #e2e8f0;border-radius:6px;padding:.75rem}.exam-question-header{align-items:center;gap:.5rem;margin-bottom:.5rem;display:flex}.exam-question-number{color:#2d3748;font-size:.875rem;font-weight:600}.exam-question-type-badge{text-transform:capitalize;color:#4a5568;background:#edf2f7;border-radius:9999px;padding:.125rem .5rem;font-size:.6875rem}.exam-question-points{color:#718096;font-size:.75rem}.exam-question-actions{gap:.25rem;margin-left:auto;display:flex}.exam-question-actions button{cursor:pointer;background:0 0;border:none;border-radius:3px;padding:.25rem;font-size:.8rem}.exam-question-actions button:hover:not(:disabled){background:#edf2f7}.exam-question-actions button:disabled{opacity:.3;cursor:not-allowed}.exam-question-preview{color:#4a5568;margin:0;font-size:.875rem}.exam-question-edit{flex-direction:column;gap:.5rem;display:flex}.exam-question-text{resize:vertical;min-height:50px}.exam-options{flex-direction:column;gap:.375rem;padding-left:.25rem;display:flex}.exam-option{align-items:center;gap:.5rem;font-size:.875rem;display:flex}.exam-option input[type=text]{flex:1}.exam-add-option-btn{color:#718096;cursor:pointer;background:0 0;border:1px dashed #cbd5e0;border-radius:4px;align-self:flex-start;padding:.25rem .5rem;font-size:.8125rem}.exam-add-option-btn:hover{color:#4a5568;border-color:#a0aec0}.exam-question-footer{border-top:1px solid #f7fafc;align-items:center;gap:1rem;padding-top:.5rem;display:flex}.exam-question-footer .exam-input{flex:1}.exam-add-question{flex-wrap:wrap;gap:.5rem;display:flex}.exam-add-btn{color:#4a5568;cursor:pointer;background:#f7fafc;border:1px dashed #cbd5e0;border-radius:6px;padding:.5rem 1rem;font-size:.8125rem;transition:background-color .15s,border-color .15s}.exam-add-btn:hover{background:#edf2f7;border-color:#a0aec0}.course-detail{max-width:900px;margin:0 auto;padding:2rem 1rem}.confirmation-banner{color:#155724;background-color:#d4edda;border:1px solid #c3e6cb;border-radius:6px;margin-bottom:1.5rem;padding:.75rem 1rem;font-size:.9rem}.course-detail-header{border-bottom:1px solid #e2e8f0;margin-bottom:2rem;padding-bottom:1.5rem}.course-detail-title{color:#1a202c;margin:0 0 .75rem;font-size:1.75rem;font-weight:600}.course-detail-description{color:#4a5568;margin:0 0 1rem;line-height:1.6}.course-detail-dates{color:#718096;align-items:center;gap:.5rem;font-size:.9rem;display:flex}.date-separator{color:#a0aec0}.auth-error{text-align:center;background-color:#fff5f5;border:1px solid #fed7d7;border-radius:8px;padding:3rem 1rem}.auth-error h2{color:#c53030;margin:0 0 .75rem;font-size:1.25rem}.auth-error p{color:#742a2a;margin:0}.course-error{text-align:center;background-color:#fffbeb;border:1px solid #fef3c7;border-radius:8px;padding:2rem 1rem}.course-error p{color:#92400e;margin:0}.course-toc{margin-top:1.5rem}.toc-heading{color:#2d3748;margin:0 0 1rem;font-size:1.25rem;font-weight:600}.toc-empty{color:#718096;padding:1rem 0;font-style:italic}.toc-root-list,.toc-children-list{margin:0;padding:0;list-style:none}.toc-children-list{border-left:2px solid #e2e8f0;margin-top:.25rem;padding-left:1.25rem}.toc-section{margin-bottom:.25rem}.toc-section-header{align-items:center;display:flex}.toc-section-toggle{cursor:pointer;color:#2d3748;text-align:left;background:0 0;border:none;border-radius:4px;align-items:center;gap:.5rem;width:100%;padding:.5rem .25rem;font-size:.95rem;transition:background-color .15s;display:flex}.toc-section-toggle:hover{background-color:#f7fafc}.toc-toggle-icon{text-align:center;flex-shrink:0;width:1rem;font-size:.7rem}.toc-section-title{color:#2d3748;font-weight:500}.toc-section-title-leaf{padding:.5rem .25rem;display:block}.toc-section-content{padding-left:.5rem}.toc-items-list{margin:.25rem 0;padding:0;list-style:none}.toc-item-entry{margin-bottom:.125rem}.content-item{margin-left:1.5rem}.content-item-link{cursor:pointer;color:#4a5568;text-align:left;background:0 0;border:1px solid #0000;border-radius:4px;align-items:center;gap:.5rem;width:100%;padding:.4rem .5rem;font-size:.9rem;transition:background-color .15s,border-color .15s;display:flex}.content-item-link:hover{background-color:#edf2f7;border-color:#e2e8f0}.content-item-icon{flex-shrink:0}.content-item-title{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.content-item-type-badge{color:#718096;background-color:#edf2f7;border-radius:9999px;flex-shrink:0;padding:.125rem .5rem;font-size:.75rem}.content-item-external-icon{color:#a0aec0;flex-shrink:0;font-size:.8rem}.content-item-toggle-icon{color:#a0aec0;flex-shrink:0;font-size:.7rem}.content-item-video-container{aspect-ratio:16/9;background-color:#000;border-radius:8px;max-width:640px;margin-top:.5rem;margin-left:1.5rem;overflow:hidden}.content-item-video{border:none;width:100%;height:100%}.content-item-editor-container{max-width:900px;margin-top:.75rem;margin-left:1.5rem}.content-item-error{color:#c53030;background-color:#fff5f5;border:1px solid #fed7d7;border-radius:4px;margin-top:.25rem;margin-left:1.5rem;padding:.5rem .75rem;font-size:.85rem}.invite-user-section{border-top:1px solid #e2e8f0;margin-top:2rem;padding-top:1.5rem}.invite-user-heading{color:#2d3748;margin:0 0 1rem;font-size:1.1rem;font-weight:600}.invite-user-form{flex-wrap:wrap;align-items:flex-end;gap:.75rem;display:flex}.invite-form-row{flex-direction:column;gap:.25rem;display:flex}.invite-form-row:first-child{flex:1;min-width:200px}.invite-label{color:#4a5568;font-size:.8rem;font-weight:500}.invite-input,.invite-select{color:#2d3748;background:#fff;border:1px solid #e2e8f0;border-radius:6px;padding:.5rem .75rem;font-size:.9rem;transition:border-color .15s}.invite-input:focus,.invite-select:focus{border-color:#4a90d9;outline:none;box-shadow:0 0 0 2px #4a90d926}.invite-input:disabled,.invite-select:disabled{cursor:not-allowed;background-color:#f7fafc}.invite-submit-btn{color:#fff;cursor:pointer;white-space:nowrap;background-color:#4a90d9;border:none;border-radius:6px;padding:.5rem 1rem;font-size:.9rem;font-weight:500;transition:background-color .15s}.invite-submit-btn:hover:not(:disabled){background-color:#357abd}.invite-submit-btn:disabled{opacity:.6;cursor:not-allowed}.invite-success{color:#155724;background-color:#d4edda;border:1px solid #c3e6cb;border-radius:6px;margin-top:.75rem;padding:.5rem .75rem;font-size:.85rem}.invite-error{color:#c53030;background-color:#fff5f5;border:1px solid #fed7d7;border-radius:6px;margin-top:.75rem;padding:.5rem .75rem;font-size:.85rem}.course-tabs{margin-top:1.5rem}.course-tabs-nav{border-bottom:2px solid #e2e8f0;gap:0;margin-bottom:1.5rem;display:flex}.course-tab{color:#718096;cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-2px;padding:.75rem 1.5rem;font-size:.9375rem;font-weight:500;transition:color .15s,border-color .15s}.course-tab-panels{min-height:200px}.content-tab-actions{margin-bottom:1rem}.add-section-form{align-items:center;gap:.5rem;display:flex}.add-section-input{border:1px solid #e2e8f0;border-radius:6px;flex:1;padding:.5rem .75rem;font-size:.9rem}.add-section-input:focus{border-color:#3b82f6;outline:none;box-shadow:0 0 0 2px #3b82f61a}.users-tab{flex-direction:column;gap:2rem;display:flex}.users-section-heading{color:#2d3748;margin:0 0 .75rem;font-size:1rem;font-weight:600}.enrolled-users-table{border-collapse:collapse;width:100%;font-size:.9rem}.enrolled-users-table th{text-align:left;color:#4a5568;text-transform:uppercase;letter-spacing:.025em;border-bottom:2px solid #e2e8f0;padding:.625rem .75rem;font-size:.8125rem;font-weight:500}.enrolled-users-table td{color:#2d3748;border-bottom:1px solid #f1f5f9;padding:.625rem .75rem}.enrolled-user-row:hover{background-color:#f8fafc}.user-email-cell{font-weight:500}.user-name-cell{color:#64748b}.role-badge{border-radius:9999px;padding:.125rem .5rem;font-size:.75rem;font-weight:500;display:inline-block}.role-instructor{color:#1e40af;background-color:#dbeafe}.role-ta{color:#92400e;background-color:#fef3c7}.role-student{color:#065f46;background-color:#d1fae5}.btn-danger{color:#dc2626;background-color:#fee2e2;border:1px solid #fecaca}.btn-danger:hover{background-color:#fecaca}.enrollment-requests-section{background-color:#fffbeb;border:1px solid #fef3c7;border-radius:8px;padding:1rem}.enrollment-requests-list{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.enrollment-request-item{background-color:#fff;border:1px solid #e5e7eb;border-radius:6px;justify-content:space-between;align-items:center;padding:.5rem .75rem;display:flex}.request-user-info{flex-direction:column;display:flex}.request-user-email{color:#1f2937;font-size:.9rem;font-weight:500}.request-user-name{color:#6b7280;font-size:.8rem}.request-actions{gap:.5rem;display:flex}.invite-section{border-top:1px solid #e2e8f0;padding-top:1rem}.invite-form-fields{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.invite-email-input{border:1px solid #e2e8f0;border-radius:6px;flex:1;min-width:200px;padding:.5rem .75rem;font-size:.9rem}.invite-email-input:focus{border-color:#3b82f6;outline:none;box-shadow:0 0 0 2px #3b82f61a}.invite-role-select{background:#fff;border:1px solid #e2e8f0;border-radius:6px;padding:.5rem .75rem;font-size:.9rem}.invite-role-select:focus{border-color:#3b82f6;outline:none}.invite-message{border-radius:6px;margin-top:.75rem;padding:.5rem .75rem;font-size:.85rem}.toc-section-header{justify-content:space-between;align-items:center;display:flex}.toc-section-actions{opacity:0;gap:.25rem;transition:opacity .15s;display:flex}.toc-section:hover>.toc-section-header>.toc-section-actions{opacity:1}.toc-action-btn{cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;width:28px;height:28px;font-size:.75rem;transition:background-color .15s;display:flex}.toc-action-btn:hover{background-color:#edf2f7}.toc-action-btn-danger:hover{background-color:#fee2e2}.toc-inline-form{background-color:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;flex-direction:column;gap:.5rem;margin:.5rem 0 .5rem 1.5rem;padding:.75rem;display:flex}.toc-inline-form:not(.toc-item-form){flex-direction:row;align-items:center}.toc-inline-input{border:1px solid #e2e8f0;border-radius:4px;flex:1;padding:.4rem .6rem;font-size:.85rem}.toc-inline-input:focus{border-color:#3b82f6;outline:none;box-shadow:0 0 0 2px #3b82f61a}.toc-inline-select{background:#fff;border:1px solid #e2e8f0;border-radius:4px;padding:.4rem .6rem;font-size:.85rem}.toc-item-form-row{gap:.5rem;display:flex}.toc-item-form-row .toc-inline-input{flex:1}.toc-item-form-actions{gap:.5rem;display:flex}.course-ai-tutor{border-top:1px solid #e2e8f0;margin-top:2rem;padding-top:1.5rem}.ai-tutor-section-heading{color:#1a202c;margin:0 0 1rem;font-size:1.25rem;font-weight:600}.invitation-page{background-color:#f7fafc;justify-content:center;align-items:center;min-height:100vh;padding:2rem 1rem;display:flex}.invitation-card{text-align:center;background:#fff;border-radius:12px;width:100%;max-width:440px;padding:2.5rem 2rem;box-shadow:0 4px 6px #00000012,0 1px 3px #0000000f}.invitation-icon{margin-bottom:1rem;font-size:3rem}.invitation-icon-valid{color:#4a90d9}.invitation-icon-expired{color:#d69e2e}.invitation-icon-consumed{color:#48bb78}.invitation-icon-unavailable{color:#e53e3e}.invitation-icon-error{color:#ed8936}.invitation-title{color:#1a202c;margin:0 0 1rem;font-size:1.5rem;font-weight:600}.invitation-details{text-align:left;background-color:#f7fafc;border:1px solid #e2e8f0;border-radius:8px;margin-bottom:1.25rem;padding:1rem}.invitation-course-title,.invitation-role{color:#4a5568;margin:0;padding:.25rem 0;font-size:.95rem}.invitation-course-title strong,.invitation-role strong{color:#2d3748}.invitation-message{color:#718096;margin:0 0 1.5rem;font-size:.95rem;line-height:1.6}.invitation-card .google-signin-btn{color:#3c4043;cursor:pointer;background:#fff;border:1px solid #dadce0;border-radius:6px;align-items:center;gap:.75rem;padding:.75rem 1.5rem;font-size:.95rem;font-weight:500;transition:background-color .2s,box-shadow .2s;display:inline-flex}.invitation-card .google-signin-btn:hover:not(:disabled){background-color:#f8f9fa;box-shadow:0 1px 3px #0000001a}.invitation-card .google-signin-btn:disabled{opacity:.6;cursor:not-allowed}.invitation-card .loading-container{justify-content:center;padding:2rem 0;display:flex}.invitation-card .loading-spinner{border:3px solid #e2e8f0;border-top-color:#4a90d9;border-radius:50%;width:2rem;height:2rem;animation:.8s linear infinite spin}.admin-page{flex-direction:column;gap:2rem;max-width:1200px;display:flex}.admin-page h1{color:#1f2937;font-size:1.5rem;font-weight:600}.admin-search-form{align-items:flex-start;gap:.75rem;display:flex}.admin-search-input{color:#1f2937;background-color:#fff;border:1px solid #d1d5db;border-radius:8px;flex:1;padding:.625rem .75rem;font-size:.9375rem;transition:border-color .15s,box-shadow .15s}.admin-search-input::placeholder{color:#9ca3af}.admin-search-input:focus{border-color:#3b82f6;outline:none;box-shadow:0 0 0 3px #3b82f61a}.admin-search-btn{color:#fff;cursor:pointer;white-space:nowrap;background-color:#3b82f6;border:1px solid #3b82f6;border-radius:6px;justify-content:center;align-items:center;padding:.625rem 1.25rem;font-size:.875rem;font-weight:500;transition:background-color .15s;display:inline-flex}.admin-search-btn:hover{background-color:#2563eb}.admin-search-btn:disabled{opacity:.6;cursor:not-allowed}.admin-user-result{background-color:#fff;border:1px solid #e5e7eb;border-radius:8px;flex-direction:column;gap:.75rem;padding:1.25rem;display:flex}.admin-user-info{flex-direction:column;gap:.25rem;display:flex}.admin-user-name{color:#1f2937;font-size:1rem;font-weight:600}.admin-user-email{color:#6b7280;font-size:.875rem}.admin-user-role{color:#374151;align-items:center;gap:.375rem;margin-top:.25rem;font-size:.8125rem;display:inline-flex}.role-badge{text-transform:capitalize;border-radius:9999px;padding:.125rem .5rem;font-size:.75rem;font-weight:500;display:inline-block}.role-badge--student{color:#1e40af;background-color:#dbeafe}.role-badge--instructor{color:#166534;background-color:#dcfce7}.role-badge--super-user{color:#92400e;background-color:#fef3c7}.admin-promote-btn{color:#fff;cursor:pointer;background-color:#10b981;border:1px solid #10b981;border-radius:6px;justify-content:center;align-self:flex-start;align-items:center;padding:.5rem 1rem;font-size:.875rem;font-weight:500;transition:background-color .15s;display:inline-flex}.admin-promote-btn:hover{background-color:#059669}.admin-promote-btn:disabled{opacity:.6;cursor:not-allowed}.admin-message{border-radius:6px;padding:.625rem .75rem;font-size:.875rem}.admin-message--error{color:#991b1b;background-color:#fef2f2;border:1px solid #fecaca}.admin-message--success{color:#166534;background-color:#f0fdf4;border:1px solid #bbf7d0}.admin-message--info{color:#6b7280;background-color:#f3f4f6}.admin-confirm{background-color:#fffbeb;border:1px solid #fde68a;border-radius:8px;flex-direction:column;gap:.75rem;padding:1rem;display:flex}.admin-confirm p{color:#92400e;font-size:.875rem}.admin-confirm-actions{gap:.5rem;display:flex}.admin-confirm-btn{cursor:pointer;border:1px solid #0000;border-radius:6px;padding:.375rem .75rem;font-size:.8125rem;font-weight:500;transition:background-color .15s}.admin-confirm-btn--yes{color:#fff;background-color:#10b981;border-color:#10b981}.admin-confirm-btn--yes:hover{background-color:#059669}.admin-confirm-btn--no{color:#374151;background-color:#fff;border-color:#d1d5db}.admin-confirm-btn--no:hover{background-color:#f9fafb}.admin-layout{gap:0;min-height:calc(100vh - 64px);display:flex}.admin-nav{background-color:#f9fafb;border-right:1px solid #e5e7eb;width:240px;min-width:240px;padding:1.5rem 0}.admin-nav-header{border-bottom:1px solid #e5e7eb;margin-bottom:.75rem;padding:1.25rem 1.5rem}.admin-nav-subtitle{color:#6b7280;text-transform:uppercase;letter-spacing:.05em;font-size:.75rem;font-weight:600;display:block}.admin-nav-list{flex-direction:column;gap:.25rem;margin:0;padding:0;list-style:none;display:flex}.admin-nav-item{margin:0;padding:0}.admin-nav-link{color:#4b5563;border-left:3px solid #0000;padding:.625rem 1.5rem;font-size:.875rem;font-weight:500;text-decoration:none;transition:background-color .15s,color .15s,border-color .15s;display:block}.admin-nav-link:hover{color:#1f2937;background-color:#f3f4f6}.admin-nav-link--active{color:#1d4ed8;background-color:#eff6ff;border-left-color:#3b82f6;font-weight:600}.admin-content{flex:1;padding:2rem;overflow-y:auto}.roles-rights-page{flex-direction:column;gap:2rem;display:flex}.roles-rights-page h1{color:#1f2937;margin:0;font-size:1.5rem;font-weight:600}.roles-rights-section h2{color:#374151;margin:0 0 1rem;font-size:1.125rem;font-weight:600}.roles-rights-search{margin-bottom:.75rem}.roles-rights-filters{align-items:center;gap:.75rem;margin-bottom:.75rem;display:flex}.roles-rights-search-input{color:#1f2937;background-color:#fff;border:1px solid #d1d5db;border-radius:8px;flex:1;max-width:320px;padding:.625rem .75rem;font-size:.875rem;transition:border-color .15s,box-shadow .15s}.roles-rights-search-input::placeholder{color:#9ca3af}.roles-rights-search-input:focus{border-color:#3b82f6;outline:none;box-shadow:0 0 0 3px #3b82f61a}.roles-rights-scope-select{color:#1f2937;cursor:pointer;background-color:#fff;border:1px solid #d1d5db;border-radius:8px;margin-left:auto;padding:.625rem .75rem;font-size:.875rem;transition:border-color .15s,box-shadow .15s}.roles-rights-scope-select:focus{border-color:#3b82f6;outline:none;box-shadow:0 0 0 3px #3b82f61a}.roles-rights-section-header{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.roles-rights-section-header h2{margin:0}.roles-rights-pagination{justify-content:center;align-items:center;gap:1rem;margin-top:.75rem;padding:.5rem 0;display:flex}.roles-rights-page-btn{color:#374151;cursor:pointer;background-color:#fff;border:1px solid #d1d5db;border-radius:6px;padding:.375rem .75rem;font-size:.8125rem;transition:background-color .15s,border-color .15s}.roles-rights-page-btn:hover:not(:disabled){background-color:#f3f4f6;border-color:#9ca3af}.roles-rights-page-btn:disabled{opacity:.4;cursor:not-allowed}.roles-rights-page-info{color:#6b7280;font-size:.8125rem}.roles-rights-table-wrapper{border:1px solid #e5e7eb;border-radius:8px;overflow-x:auto}.roles-rights-table{border-collapse:collapse;width:100%;font-size:.875rem}.roles-rights-table thead{background-color:#f9fafb}.roles-rights-table th{text-align:left;color:#374151;white-space:nowrap;border-bottom:1px solid #e5e7eb;padding:.75rem 1rem;font-weight:600}.roles-rights-table th:last-child,.roles-rights-table td:last-child{text-align:right}.roles-rights-table td{color:#1f2937;border-bottom:1px solid #f3f4f6;padding:.75rem 1rem}.roles-rights-table tbody tr:hover{background-color:#f9fafb}.roles-rights-table tbody tr:last-child td{border-bottom:none}.roles-rights-name-link{color:#2563eb;font-weight:500;text-decoration:none}.roles-rights-name-link:hover{color:#1d4ed8;text-decoration:underline}.scope-badge{text-transform:capitalize;border-radius:9999px;padding:.125rem .5rem;font-size:.75rem;font-weight:500;display:inline-block}.scope-badge--system{color:#5b21b6;background-color:#ede9fe}.scope-badge--org{color:#1e40af;background-color:#dbeafe}.scope-badge--course{color:#166534;background-color:#dcfce7}.roles-rights-loading{color:#6b7280;padding:1rem 0;font-size:.875rem}.roles-rights-error{color:#991b1b;background-color:#fef2f2;border:1px solid #fecaca;border-radius:6px;padding:.625rem .75rem;font-size:.875rem}.roles-rights-empty{color:#6b7280;padding:1rem 0;font-size:.875rem}.org-detail-page{flex-direction:column;gap:1.5rem;max-width:1200px;display:flex}.org-detail-loading{color:#6b7280;padding:1rem 0;font-size:.875rem}.org-detail-error{text-align:center;background-color:#fef2f2;border:1px solid #fecaca;border-radius:8px;padding:1.5rem}.org-detail-error h2{color:#991b1b;margin:0 0 .5rem;font-size:1.125rem;font-weight:600}.org-detail-error p{color:#7f1d1d;margin:0 0 1rem;font-size:.875rem}.org-detail-error-actions{justify-content:center;gap:.75rem;display:flex}.org-detail-retry-btn{color:#fff;cursor:pointer;background-color:#3b82f6;border:1px solid #3b82f6;border-radius:6px;padding:.5rem 1rem;font-size:.875rem;font-weight:500;transition:background-color .15s}.org-detail-retry-btn:hover{background-color:#2563eb}.org-detail-back-btn{color:#374151;cursor:pointer;background-color:#fff;border:1px solid #d1d5db;border-radius:6px;align-self:flex-start;padding:.5rem 1rem;font-size:.875rem;font-weight:500;transition:background-color .15s}.org-detail-back-btn:hover{background-color:#f9fafb}.org-detail-header{flex-direction:column;gap:.25rem;display:flex}.org-detail-title-row{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.org-detail-title-row h1{color:#1f2937;margin:0;font-size:1.5rem;font-weight:600}.org-detail-code{align-items:center;gap:.5rem;margin:0;display:flex}.org-detail-code code{color:#6b7280;background-color:#f3f4f6;border-radius:4px;padding:.125rem .5rem;font-size:.8125rem}.org-detail-action-error{color:#991b1b;background-color:#fef2f2;border:1px solid #fecaca;border-radius:6px;padding:.625rem .75rem;font-size:.875rem}.org-detail-actions{flex-wrap:wrap;gap:.5rem;display:flex}.org-detail-section{background-color:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:1.25rem}.org-detail-section h2{color:#374151;margin:0 0 .75rem;font-size:1rem;font-weight:600}.org-detail-dl{grid-template-columns:auto 1fr;gap:.375rem 1rem;font-size:.875rem;display:grid}.org-detail-dl dt{color:#6b7280;font-weight:500}.org-detail-dl dd{color:#1f2937;margin:0}.org-detail-dl code{background-color:#f3f4f6;border-radius:4px;padding:.125rem .375rem;font-size:.75rem}.org-detail-stats{flex-wrap:wrap;gap:1rem;display:flex}.org-stat-card{background-color:#f9fafb;border-radius:8px;flex-direction:column;align-items:center;min-width:100px;padding:.75rem 1.25rem;display:flex}.org-stat-value{color:#1f2937;font-size:1.5rem;font-weight:700}.org-stat-label{color:#6b7280;margin-top:.25rem;font-size:.75rem}.org-color-swatch{align-items:center;gap:.5rem;display:inline-flex}.org-color-box{border:1px solid #d1d5db;border-radius:3px;width:16px;height:16px;display:inline-block}.org-detail-placeholder{color:#9ca3af;margin:0;font-size:.875rem;font-style:italic}.dialog-overlay{z-index:1000;background-color:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.dialog-content{background-color:#fff;border-radius:12px;width:90%;max-width:480px;padding:1.5rem;box-shadow:0 20px 25px -5px #0000001a,0 8px 10px -6px #0000001a}.dialog-content h2{color:#1f2937;margin:0 0 1rem;font-size:1.125rem;font-weight:600}.dialog-body{flex-direction:column;gap:.75rem;margin-bottom:1.5rem;display:flex}.dialog-body p{color:#4b5563;margin:0;font-size:.875rem;line-height:1.5}.dialog-user-info{background-color:#f9fafb;border-radius:6px;padding:.75rem}.dialog-user-info p{margin:.25rem 0;font-size:.8125rem}.dialog-warning{font-weight:500;color:#991b1b!important}.dialog-info{color:#1d4ed8!important;font-size:.8125rem!important}.dialog-actions{justify-content:flex-end;gap:.5rem;display:flex}.dialog-btn{cursor:pointer;border:1px solid #0000;border-radius:6px;padding:.5rem 1rem;font-size:.875rem;font-weight:500;transition:background-color .15s}.dialog-btn:disabled{opacity:.5;cursor:not-allowed}.dialog-btn--confirm{color:#fff;background-color:#3b82f6;border-color:#3b82f6}.dialog-btn--confirm:hover:not(:disabled){background-color:#2563eb}.dialog-btn--danger{color:#fff;background-color:#ef4444;border-color:#ef4444}.dialog-btn--danger:hover:not(:disabled){background-color:#dc2626}.dialog-btn--cancel{color:#374151;background-color:#fff;border-color:#d1d5db}.dialog-btn--cancel:hover{background-color:#f9fafb}.dialog-error{background-color:#fef2f2;border:1px solid #fecaca;border-radius:6px;padding:.5rem .75rem;color:#991b1b!important;font-size:.8125rem!important}.dialog-input{color:#1f2937;box-sizing:border-box;background-color:#fff;border:1px solid #d1d5db;border-radius:6px;width:100%;padding:.5rem .75rem;font-size:.875rem}.dialog-input:focus{border-color:#3b82f6;outline:none;box-shadow:0 0 0 3px #3b82f61a}.dialog-input:disabled{cursor:not-allowed;background-color:#f9fafb}.tier-select-group{align-items:center;gap:.75rem;display:flex}.tier-select-label{color:#374151;font-size:.875rem;font-weight:500}.tier-select-input{color:#1f2937;cursor:pointer;background-color:#fff;border:1px solid #d1d5db;border-radius:6px;padding:.5rem .75rem;font-size:.875rem}.tier-select-input:focus{border-color:#3b82f6;outline:none;box-shadow:0 0 0 3px #3b82f61a}.org-tier-value{text-transform:capitalize;font-weight:600}.tier-info{font-size:.8125rem}.tier-limits-list{color:#4b5563;margin:.25rem 0 0 1.25rem;padding:0;font-size:.8125rem}.tier-limits-list li{margin:.125rem 0}.tier-warnings{background-color:#fef2f2;border:1px solid #fecaca;border-radius:6px;padding:.75rem}.tier-warnings-list{color:#991b1b;margin:.25rem 0 0 1.25rem;padding:0;font-size:.8125rem}.tier-warnings-list li{margin:.125rem 0}.delete-consequences-list{color:#4b5563;margin:0 0 0 1.25rem;padding:0;font-size:.8125rem}.delete-consequences-list li{margin:.25rem 0}.delete-confirm-input-group{flex-direction:column;gap:.375rem;display:flex}.delete-confirm-label{color:#374151;font-size:.8125rem;font-weight:500}.delete-confirm-label code{color:#991b1b;background-color:#fef2f2;border-radius:4px;padding:.125rem .375rem;font-size:.75rem}.delete-confirm-input{color:#1f2937;background-color:#fff;border:1px solid #d1d5db;border-radius:6px;padding:.5rem .75rem;font-size:.875rem}.delete-confirm-input:focus{border-color:#ef4444;outline:none;box-shadow:0 0 0 3px #ef44441a}.role-detail-page{flex-direction:column;gap:1.5rem;display:flex}.role-detail-back-btn{color:#2563eb;cursor:pointer;background:0 0;border:none;align-items:center;gap:.25rem;padding:.375rem 0;font-size:.875rem;text-decoration:none;display:inline-flex}.role-detail-back-btn:hover{color:#1d4ed8;text-decoration:underline}.role-detail-header h1{color:#1f2937;margin:0;font-size:1.5rem;font-weight:600}.role-detail-section{background-color:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:1.25rem}.role-detail-section h2{color:#374151;margin:0 0 1rem;font-size:1.125rem;font-weight:600}.role-detail-field{margin-bottom:1rem}.role-detail-field:last-child{margin-bottom:0}.role-detail-label{color:#6b7280;margin-bottom:.375rem;font-size:.8125rem;font-weight:500;display:block}.role-detail-name-row{align-items:center;gap:.5rem;display:flex}.role-detail-name-input{color:#1f2937;background-color:#fff;border:1px solid #d1d5db;border-radius:6px;flex:1;max-width:400px;padding:.5rem .75rem;font-size:.875rem;transition:border-color .15s,box-shadow .15s}.role-detail-name-input:focus{border-color:#3b82f6;outline:none;box-shadow:0 0 0 3px #3b82f61a}.role-detail-name-input:disabled{cursor:not-allowed;background-color:#f9fafb}.role-detail-save-error{color:#991b1b;margin:.375rem 0 0;font-size:.8125rem}.role-detail-save-success{color:#166534;margin:.375rem 0 0;font-size:.8125rem}.role-detail-table-wrapper{border:1px solid #e5e7eb;border-radius:8px;overflow-x:auto}.role-detail-table{border-collapse:collapse;width:100%;font-size:.875rem}.role-detail-table thead{background-color:#f9fafb}.role-detail-table th{text-align:left;color:#374151;white-space:nowrap;border-bottom:1px solid #e5e7eb;padding:.75rem 1rem;font-weight:600}.role-detail-table td{color:#1f2937;border-bottom:1px solid #f3f4f6;padding:.75rem 1rem}.role-detail-table tbody tr:hover{background-color:#f9fafb}.role-detail-table tbody tr:last-child td{border-bottom:none}.role-detail-empty{color:#6b7280;margin:0;font-size:.875rem}.role-detail-danger-zone{border-color:#fecaca}.role-detail-danger-zone h2{color:#991b1b}.role-detail-danger-text{color:#4b5563;margin:0 0 .75rem;font-size:.875rem}.role-detail-loading{color:#6b7280;padding:2rem 0;font-size:.875rem}.role-detail-error{background-color:#fef2f2;border:1px solid #fecaca;border-radius:8px;flex-direction:column;align-items:flex-start;gap:.75rem;padding:1rem;display:flex}.role-detail-error p{color:#991b1b;margin:0;font-size:.875rem}.role-detail-assign-form{align-items:center;gap:.5rem;display:flex}.role-detail-select{color:#1f2937;background-color:#fff;border:1px solid #d1d5db;border-radius:6px;flex:1;max-width:400px;padding:.5rem .75rem;font-size:.875rem;transition:border-color .15s,box-shadow .15s}.role-detail-select:focus{border-color:#3b82f6;outline:none;box-shadow:0 0 0 3px #3b82f61a}.role-detail-select:disabled{cursor:not-allowed;background-color:#f9fafb}.role-detail-assign-btn{color:#fff;cursor:pointer;white-space:nowrap;background-color:#2563eb;border:none;border-radius:6px;padding:.5rem 1rem;font-size:.875rem;font-weight:500;transition:background-color .15s}.role-detail-assign-btn:hover:not(:disabled){background-color:#1d4ed8}.role-detail-assign-btn:disabled{opacity:.5;cursor:not-allowed}.role-detail-action-error{color:#991b1b;margin:.5rem 0 0;font-size:.8125rem}.role-detail-remove-btn{color:#991b1b;cursor:pointer;background-color:#fef2f2;border:1px solid #fecaca;border-radius:4px;padding:.25rem .625rem;font-size:.8125rem;transition:background-color .15s}.role-detail-remove-btn:hover:not(:disabled){background-color:#fee2e2}.role-detail-remove-btn:disabled{opacity:.5;cursor:not-allowed}.right-detail-page{flex-direction:column;gap:1.5rem;max-width:1200px;display:flex}.right-detail-loading{color:#6b7280;padding:1rem 0;font-size:.875rem}.right-detail-error{text-align:center;background-color:#fef2f2;border:1px solid #fecaca;border-radius:8px;padding:1.5rem}.right-detail-error p{color:#7f1d1d;margin:0 0 1rem;font-size:.875rem}.right-detail-retry-btn{color:#fff;cursor:pointer;background-color:#3b82f6;border:1px solid #3b82f6;border-radius:6px;padding:.5rem 1rem;font-size:.875rem;font-weight:500;transition:background-color .15s}.right-detail-retry-btn:hover{background-color:#2563eb}.right-detail-back-btn{color:#374151;cursor:pointer;background-color:#fff;border:1px solid #d1d5db;border-radius:6px;align-self:flex-start;padding:.5rem 1rem;font-size:.875rem;font-weight:500;transition:background-color .15s}.right-detail-back-btn:hover{background-color:#f9fafb}.right-detail-header{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.right-detail-header h1{color:#1f2937;margin:0;font-size:1.5rem;font-weight:600}.right-detail-section{background-color:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:1.25rem}.right-detail-section h2{color:#374151;margin:0 0 .75rem;font-size:1rem;font-weight:600}.right-detail-dl{grid-template-columns:auto 1fr;gap:.375rem 1rem;font-size:.875rem;display:grid}.right-detail-dl dt{color:#6b7280;font-weight:500}.right-detail-dl dd{color:#1f2937;margin:0}.right-detail-assign-form{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.right-detail-select{color:#1f2937;cursor:pointer;background-color:#fff;border:1px solid #d1d5db;border-radius:6px;min-width:220px;padding:.5rem .75rem;font-size:.875rem}.right-detail-select:focus{border-color:#3b82f6;outline:none;box-shadow:0 0 0 3px #3b82f61a}.right-detail-select:disabled{cursor:not-allowed;color:#9ca3af;background-color:#f9fafb}.right-detail-assign-btn{color:#fff;cursor:pointer;background-color:#3b82f6;border:1px solid #3b82f6;border-radius:6px;padding:.5rem 1rem;font-size:.875rem;font-weight:500;transition:background-color .15s}.right-detail-assign-btn:hover:not(:disabled){background-color:#2563eb}.right-detail-assign-btn:disabled{opacity:.5;cursor:not-allowed}.right-detail-action-error{color:#991b1b;background-color:#fef2f2;border:1px solid #fecaca;border-radius:6px;margin-top:.5rem;padding:.5rem .75rem;font-size:.8125rem}.right-detail-table-wrapper{border:1px solid #e5e7eb;border-radius:8px;overflow-x:auto}.right-detail-table{border-collapse:collapse;width:100%;font-size:.875rem}.right-detail-table thead{background-color:#f9fafb}.right-detail-table th{text-align:left;color:#374151;white-space:nowrap;border-bottom:1px solid #e5e7eb;padding:.75rem 1rem;font-weight:600}.right-detail-table td{color:#1f2937;border-bottom:1px solid #f3f4f6;padding:.75rem 1rem}.right-detail-table tbody tr:hover{background-color:#f9fafb}.right-detail-table tbody tr:last-child td{border-bottom:none}.right-detail-remove-btn{color:#dc2626;cursor:pointer;background-color:#fff;border:1px solid #fecaca;border-radius:6px;padding:.375rem .75rem;font-size:.8125rem;font-weight:500;transition:background-color .15s,border-color .15s}.right-detail-remove-btn:hover:not(:disabled){background-color:#fef2f2;border-color:#f87171}.right-detail-remove-btn:disabled{opacity:.5;cursor:not-allowed}.right-detail-empty{color:#6b7280;margin:0;font-size:.875rem}.collaboration-spaces,.collaboration-editor,.peer-review-page,.peer-review-detail{max-width:900px;margin:0 auto;padding:1.5rem}.spaces-header{justify-content:space-between;align-items:center;margin-bottom:1.5rem;display:flex}.spaces-heading{color:#1a1a2e;margin:0;font-size:1.5rem;font-weight:600}.spaces-error{color:#dc2626;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;margin-bottom:1rem;padding:.75rem 1rem}.spaces-empty{text-align:center;color:#6b7280;padding:3rem 1rem;font-size:.95rem}.create-space-form{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;margin-bottom:1.5rem;padding:1rem}.create-space-input{border:1px solid #d1d5db;border-radius:6px;width:100%;margin-bottom:.75rem;padding:.5rem .75rem;font-size:.9rem}.create-space-input:focus{border-color:#3b82f6;outline:none;box-shadow:0 0 0 2px #3b82f633}.create-space-actions{gap:.5rem;display:flex}.spaces-list{flex-direction:column;gap:.75rem;margin:0;padding:0;list-style:none;display:flex}.space-card{border:1px solid #e5e7eb;border-radius:8px;transition:border-color .15s,box-shadow .15s}.space-card:hover{border-color:#3b82f6;box-shadow:0 2px 8px #3b82f61a}.space-card-button{cursor:pointer;text-align:left;width:100%;color:inherit;background:0 0;border:none;justify-content:space-between;align-items:center;padding:1rem 1.25rem;text-decoration:none;display:flex}.space-card-content{flex:1}.space-card-title{color:#1a1a2e;margin:0 0 .25rem;font-size:1rem;font-weight:500}.space-card-date{color:#6b7280;font-size:.8rem}.space-card-arrow{color:#9ca3af;font-size:1.2rem}.editor-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:1rem;display:flex}.editor-header-left{align-items:center;gap:.75rem;display:flex}.editor-header-right{align-items:center;gap:1rem;display:flex}.editor-back-link{color:#3b82f6;font-size:.9rem;font-weight:500;text-decoration:none}.editor-back-link:hover{text-decoration:underline}.editor-title{color:#1a1a2e;margin:0;font-size:1.25rem;font-weight:600}.connection-status{border-radius:12px;align-items:center;gap:.4rem;padding:.25rem .5rem;font-size:.8rem;display:flex}.connection-connected{color:#059669;background:#ecfdf5}.connection-disconnected{color:#dc2626;background:#fef2f2}.connection-dot{background:currentColor;border-radius:50%;width:8px;height:8px}.connection-label{font-weight:500}.presence-indicators{align-items:center;gap:.5rem;display:flex}.presence-avatars{align-items:center;display:flex}.presence-avatar{color:#fff;background:#3b82f6;border:2px solid #fff;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;margin-left:-6px;font-size:.7rem;font-weight:600;display:flex}.presence-avatar:first-child{margin-left:0}.presence-overflow{background:#6b7280;font-size:.65rem}.presence-count{color:#6b7280;font-size:.8rem}.ws-error-banner{color:#92400e;background:#fef3c7;border:1px solid #fcd34d;border-radius:8px;justify-content:space-between;align-items:center;margin-bottom:1rem;padding:.5rem 1rem;font-size:.85rem;display:flex}.editor-workspace{border:1px solid #e5e7eb;border-radius:8px;overflow:hidden}.editor-textarea{resize:vertical;color:#1a1a2e;background:#fafafa;border:none;width:100%;min-height:400px;padding:1.25rem;font-family:SF Mono,Fira Code,Fira Mono,monospace;font-size:.9rem;line-height:1.6}.editor-textarea:focus{background:#fff;outline:none}.editor-textarea::placeholder{color:#9ca3af}.peer-review-meta{align-items:center;gap:.75rem;margin-top:.25rem;display:flex}.peer-review-status{border-radius:10px;padding:.15rem .5rem;font-size:.75rem;font-weight:500}.status-open{color:#059669;background:#ecfdf5}.status-closed{color:#6b7280;background:#f3f4f6}.peer-review-deadline{color:#6b7280;font-size:.8rem}.peer-review-tabs{border-bottom:1px solid #e5e7eb;gap:0;margin-bottom:1.5rem;display:flex}.peer-review-instructions{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;margin-bottom:1.5rem;padding:1rem 1.25rem}.peer-review-instructions h3{color:#374151;margin:0 0 .5rem;font-size:.9rem;font-weight:600}.peer-review-instructions p{color:#4b5563;margin:0;font-size:.9rem;line-height:1.5}.create-peer-review-form{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;margin-bottom:1.5rem;padding:1.25rem}.form-field{margin-bottom:1rem}.form-label{color:#374151;margin-bottom:.35rem;font-size:.85rem;font-weight:500;display:block}.form-input{border:1px solid #d1d5db;border-radius:6px;width:100%;padding:.5rem .75rem;font-size:.9rem}.form-input:focus{border-color:#3b82f6;outline:none;box-shadow:0 0 0 2px #3b82f633}.form-textarea{resize:vertical;border:1px solid #d1d5db;border-radius:6px;width:100%;padding:.5rem .75rem;font-family:inherit;font-size:.9rem}.form-textarea:focus{border-color:#3b82f6;outline:none;box-shadow:0 0 0 2px #3b82f633}.form-row{gap:1rem;display:flex}.form-row .form-field{flex:1}.form-actions{gap:.5rem;margin-top:.5rem;display:flex}.assignments-list{flex-direction:column;gap:1rem;display:flex}.assignments-empty{text-align:center;color:#6b7280;padding:2rem 1rem}.assignment-card{border:1px solid #e5e7eb;border-radius:8px;padding:1.25rem}.assignment-completed{background:#f9fafb}.assignment-submission{border-bottom:1px solid #e5e7eb;margin-bottom:1rem;padding-bottom:1rem}.assignment-submission h4{color:#374151;margin:0 0 .5rem;font-size:.85rem;font-weight:600}.submission-content{color:#1f2937;white-space:pre-wrap;background:#fff;border:1px solid #e5e7eb;border-radius:6px;max-height:200px;padding:.75rem 1rem;font-size:.9rem;line-height:1.5;overflow-y:auto}.assignment-completed-info{align-items:center;gap:1rem;display:flex}.completed-badge{color:#059669;background:#ecfdf5;border-radius:12px;padding:.25rem .75rem;font-size:.85rem;font-weight:500}.completed-details{color:#6b7280;font-size:.85rem}.rating-input{align-items:center;gap:.25rem;display:flex}.rating-star{cursor:pointer;color:#d1d5db;background:0 0;border:none;padding:0;font-size:1.5rem;line-height:1;transition:color .1s}.rating-star-active,.rating-star:hover{color:#f59e0b}.rating-value{color:#6b7280;margin-left:.5rem;font-size:.85rem}.char-count{text-align:right;color:#9ca3af;margin-top:.25rem;font-size:.75rem;display:block}.field-error{color:#dc2626;margin-top:.25rem;font-size:.8rem;display:block}.submit-error{color:#dc2626;background:#fef2f2;border:1px solid #fecaca;border-radius:6px;margin-bottom:.75rem;padding:.5rem .75rem;font-size:.85rem}.review-form{margin-top:.5rem}.results-empty{text-align:center;color:#6b7280;padding:2rem 1rem}.peer-review-results{padding:.5rem 0}.results-summary{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;align-items:center;gap:1.5rem;margin-bottom:1.5rem;padding:1.25rem;display:flex}.results-average{flex-direction:column;align-items:center;display:flex}.results-average-label{color:#6b7280;text-transform:uppercase;letter-spacing:.05em;font-size:.75rem}.results-average-value{color:#1a1a2e;font-size:2rem;font-weight:700;line-height:1.2}.results-average-stars{color:#f59e0b;font-size:1rem}.results-count{color:#6b7280;font-size:.85rem}.results-feedback-list h4{color:#1a1a2e;margin:0 0 1rem;font-size:1rem;font-weight:600}.results-feedback-item{border:1px solid #e5e7eb;border-radius:8px;margin-bottom:.75rem;padding:1rem}.feedback-rating{color:#f59e0b;margin-bottom:.5rem;font-size:.9rem}.feedback-rating-value{color:#6b7280;margin-left:.5rem;font-size:.8rem}.feedback-text{color:#374151;margin:0;font-size:.9rem;line-height:1.5}.btn{cursor:pointer;border:none;border-radius:6px;justify-content:center;align-items:center;padding:.5rem 1rem;font-size:.9rem;font-weight:500;transition:background .15s,opacity .15s;display:inline-flex}.btn-primary{color:#fff;background:#3b82f6}.btn-primary:hover:not(:disabled){background:#2563eb}.btn-secondary{color:#374151;background:#f3f4f6;border:1px solid #d1d5db}.btn-secondary:hover:not(:disabled){background:#e5e7eb}.course-tab{color:#6b7280;cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;padding:.6rem 1.25rem;font-size:.9rem;font-weight:500;transition:color .15s,border-color .15s}.course-tab:hover{color:#1a1a2e}.course-tab-active{color:#3b82f6;border-bottom-color:#3b82f6}.leaderboard-page{flex-direction:column;gap:1.5rem;display:flex}.leaderboard-header{flex-direction:column;gap:.5rem;display:flex}.leaderboard-header h1{color:#1f2937;font-size:1.5rem;font-weight:600}.back-link{color:#3b82f6;font-size:.875rem;text-decoration:none}.leaderboard-disabled{text-align:center;background-color:#fff;border:1px dashed #d1d5db;border-radius:8px;padding:3rem 1.5rem}.leaderboard-disabled .disabled-icon{margin-bottom:.75rem;font-size:2rem;display:block}.leaderboard-disabled p{color:#374151;margin:0;font-size:1rem;font-weight:500}.leaderboard-disabled .disabled-description{color:#6b7280;margin-top:.5rem;font-size:.875rem;font-weight:400}.leaderboard-page .empty-state{text-align:center;background-color:#fff;border:1px dashed #d1d5db;border-radius:8px;padding:3rem 1.5rem}.leaderboard-page .empty-state .empty-icon{margin-bottom:.75rem;font-size:2rem;display:block}.leaderboard-page .empty-state p{color:#374151;margin:0;font-size:1rem;font-weight:500}.leaderboard-page .empty-state .empty-description{color:#6b7280;margin-top:.5rem;font-size:.875rem;font-weight:400}.leaderboard-table-wrapper{background-color:#fff;border:1px solid #e5e7eb;border-radius:8px;overflow:hidden}.leaderboard-table{border-collapse:collapse;width:100%}.leaderboard-table thead{background-color:#f9fafb;border-bottom:1px solid #e5e7eb}.leaderboard-table th{color:#6b7280;text-transform:uppercase;letter-spacing:.05em;text-align:left;padding:.75rem 1rem;font-size:.75rem;font-weight:600}.leaderboard-table td{color:#1f2937;border-bottom:1px solid #f3f4f6;padding:.75rem 1rem;font-size:.9375rem}.leaderboard-table tbody tr:last-child td{border-bottom:none}.rank-col{width:60px}.xp-col{text-align:right;width:120px}.leaderboard-table th.xp-col{text-align:right}.leaderboard-row:hover{background-color:#f9fafb}.current-user-row{background-color:#eff6ff}.current-user-row:hover{background-color:#dbeafe}.rank-medal{font-size:1.25rem}.rank-number{color:#6b7280;font-weight:500}.name-cell{align-items:center;gap:.5rem;display:flex}.student-name{font-weight:500}.you-badge{color:#3b82f6;background-color:#eff6ff;border:1px solid #bfdbfe;border-radius:4px;padding:.125rem .375rem;font-size:.6875rem;font-weight:600}.xp-cell{text-align:right}.xp-value{color:#1f2937;font-weight:600}.xp-label{color:#6b7280;font-size:.8125rem}.error-message{color:#dc2626;background-color:#fef2f2;border:1px solid #fecaca;border-radius:8px;padding:1rem;font-size:.9375rem}.badges-page{flex-direction:column;gap:1.5rem;display:flex}.badges-header{flex-direction:column;gap:.5rem;display:flex}.badges-header h1{color:#1f2937;font-size:1.5rem;font-weight:600}.badges-section{flex-direction:column;gap:.75rem;display:flex}.badges-section-title{color:#374151;align-items:center;gap:.5rem;font-size:1.125rem;font-weight:600;display:flex}.badges-count{color:#6b7280;background-color:#f3f4f6;border-radius:10px;padding:.125rem .5rem;font-size:.75rem;font-weight:600}.badges-empty-text{color:#6b7280;background-color:#f9fafb;border-radius:8px;padding:1rem;font-size:.9375rem}.badges-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem;display:grid}.badge-card{background-color:#fff;border:1px solid #e5e7eb;border-radius:8px;gap:1rem;padding:1rem;transition:border-color .15s,box-shadow .15s;display:flex}.badge-card:hover{border-color:#d1d5db;box-shadow:0 1px 3px #0000000d}.badge-card--earned{border-left:3px solid #10b981}.badge-card--available{opacity:.85}.badge-icon-wrapper{background-color:#f0fdf4;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;display:flex}.badge-icon-wrapper--locked{background-color:#f3f4f6}.badge-icon-img{object-fit:contain;width:36px;height:36px}.badge-icon-img--locked{filter:grayscale();opacity:.5}.badge-icon-placeholder{font-size:1.5rem}.badge-info{flex-direction:column;gap:.25rem;min-width:0;display:flex}.badge-name{color:#1f2937;margin:0;font-size:.9375rem;font-weight:600}.badge-description{color:#6b7280;margin:0;font-size:.8125rem;line-height:1.4}.badge-meta{flex-direction:column;gap:.375rem;margin-top:.25rem;display:flex}.badge-xp{color:#059669;font-size:.75rem;font-weight:600}.badge-earned-date{color:#9ca3af;font-size:.75rem}.badge-progress{align-items:center;gap:.5rem;display:flex}.badge-progress-bar{background-color:#e5e7eb;border-radius:3px;flex:1;height:6px;overflow:hidden}.badge-progress-fill{background-color:#3b82f6;border-radius:3px;height:100%;transition:width .3s}.badge-progress-text{color:#6b7280;text-align:right;min-width:2.5rem;font-size:.6875rem;font-weight:500}.badges-page .empty-state{text-align:center;background-color:#fff;border:1px dashed #d1d5db;border-radius:8px;padding:3rem 1.5rem}.badges-page .empty-state .empty-icon{margin-bottom:.75rem;font-size:2rem;display:block}.badges-page .empty-state p{color:#374151;margin:0;font-size:1rem;font-weight:500}.badges-page .empty-state .empty-description{color:#6b7280;margin-top:.5rem;font-size:.875rem;font-weight:400}.badges-page .error-message{color:#dc2626;background-color:#fef2f2;border:1px solid #fecaca;border-radius:8px;padding:1rem;font-size:.9375rem}.learning-path-page{flex-direction:column;gap:1.5rem;display:flex}.learning-path-header{flex-direction:column;gap:.5rem;display:flex}.learning-path-header h1{color:#1f2937;font-size:1.5rem;font-weight:600}.learning-path-message{border-radius:6px;padding:.75rem 1rem;font-size:.875rem}.learning-path-message--error{color:#991b1b;background-color:#fef2f2;border:1px solid #fecaca}.learning-path-unavailable{background-color:#fffbeb;border:1px solid #fde68a;border-radius:8px;align-items:flex-start;gap:.75rem;padding:1rem;display:flex}.unavailable-icon{color:#d97706;flex-shrink:0;margin-top:.125rem}.unavailable-title{color:#92400e;margin-bottom:.25rem;font-size:.875rem;font-weight:600}.unavailable-description{color:#78350f;font-size:.8125rem;line-height:1.5}.learning-path-empty{text-align:center;background-color:#fff;border:1px dashed #d1d5db;border-radius:8px;flex-direction:column;align-items:center;gap:1.25rem;padding:3rem 1.5rem;display:flex}.learning-path-empty .empty-state{color:#6b7280;max-width:400px;font-size:.9375rem;line-height:1.5}.generate-btn{padding:.625rem 1.5rem}.learning-path-controls{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.engagement-adjusted-badge{color:#d97706;background-color:#fffbeb;border:1px solid #fde68a;border-radius:20px;align-items:center;gap:.375rem;padding:.375rem .75rem;font-size:.8125rem;font-weight:500;display:inline-flex}.reevaluate-btn{margin-left:auto}.learning-path-items{flex-direction:column;display:flex}.learning-path-item{gap:1rem;display:flex;position:relative}.item-sequence{flex-direction:column;flex-shrink:0;align-items:center;width:2rem;display:flex}.item-number{color:#374151;background-color:#e5e7eb;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:2rem;height:2rem;font-size:.75rem;font-weight:600;display:flex}.learning-path-item--completed .item-number{color:#065f46;background-color:#d1fae5}.learning-path-item--skipped .item-number{color:#9ca3af;background-color:#f3f4f6}.item-connector{background-color:#e5e7eb;flex:1;width:2px;min-height:1rem}.learning-path-item--completed .item-connector{background-color:#a7f3d0}.item-content{background-color:#fff;border:1px solid #e5e7eb;border-radius:8px;flex:1;margin-bottom:.5rem;padding:1rem;transition:border-color .15s,box-shadow .15s}.item-content:hover{border-color:#d1d5db;box-shadow:0 1px 3px #0000000d}.learning-path-item--completed .item-content{background-color:#f0fdf4;border-color:#a7f3d0}.learning-path-item--skipped .item-content{opacity:.7;background-color:#f9fafb;border-color:#e5e7eb}.item-header{align-items:center;gap:.5rem;display:flex}.item-status{flex-shrink:0}.status-icon--completed{color:#059669}.status-icon--skipped{color:#9ca3af}.status-icon--pending{color:#d1d5db}.item-title{color:#1f2937;flex:1;font-size:.9375rem;font-weight:600;line-height:1.4}.learning-path-item--skipped .item-title{color:#6b7280;text-decoration:line-through}.item-time{color:#6b7280;white-space:nowrap;background-color:#f3f4f6;border-radius:4px;padding:.25rem .5rem;font-size:.75rem;font-weight:500}.item-rationale{color:#6b7280;margin-top:.5rem;font-size:.8125rem;line-height:1.5}.forum-page,.forum-thread-page{flex-direction:column;gap:1.5rem;max-width:900px;display:flex}.forum-header{flex-direction:column;gap:1rem;display:flex}.forum-header-top{justify-content:space-between;align-items:center;display:flex}.forum-title{color:#1f2937;font-size:1.5rem;font-weight:600}.forum-search{align-items:center;gap:.5rem;display:flex}.forum-search-input{color:#1f2937;background-color:#fff;border:1px solid #d1d5db;border-radius:8px;flex:1;padding:.5rem .75rem;font-size:.9375rem;transition:border-color .15s,box-shadow .15s}.forum-search-input::placeholder{color:#9ca3af}.forum-search-input:focus{border-color:#3b82f6;outline:none;box-shadow:0 0 0 3px #3b82f61a}.forum-search-message{color:#6b7280;margin:0;font-size:.875rem}.forum-actions{flex-direction:column;display:flex}.forum-create-form{background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;flex-direction:column;gap:1rem;padding:1.5rem;display:flex}.forum-create-heading{color:#1f2937;margin:0;font-size:1.125rem;font-weight:600}.forum-form-field{flex-direction:column;gap:.375rem;display:flex}.forum-form-label{color:#374151;font-size:.8125rem;font-weight:500}.forum-form-input,.forum-form-select{color:#1f2937;background-color:#fff;border:1px solid #d1d5db;border-radius:6px;padding:.5rem .75rem;font-size:.9375rem;transition:border-color .15s,box-shadow .15s}.forum-form-input:focus,.forum-form-select:focus,.forum-form-textarea:focus{border-color:#3b82f6;outline:none;box-shadow:0 0 0 3px #3b82f61a}.forum-form-textarea{color:#1f2937;resize:vertical;background-color:#fff;border:1px solid #d1d5db;border-radius:6px;padding:.5rem .75rem;font-family:inherit;font-size:.9375rem;transition:border-color .15s,box-shadow .15s}.forum-reply-textarea{font-size:.875rem}.forum-form-error{color:#dc2626;background-color:#fef2f2;border-radius:4px;padding:.5rem;font-size:.8125rem}.forum-form-actions{gap:.5rem;display:flex}.forum-thread-list{flex-direction:column;display:flex}.forum-threads{flex-direction:column;gap:.75rem;margin:0;padding:0;list-style:none;display:flex}.forum-thread-item{background-color:#fff;border:1px solid #e5e7eb;border-radius:8px;justify-content:space-between;align-items:flex-start;padding:1rem 1.25rem;transition:border-color .15s;display:flex}.forum-thread-item:hover{border-color:#3b82f6}.forum-thread-pinned{background-color:#fffbeb;border-left:3px solid #f59e0b}.forum-thread-content{flex-direction:column;flex:1;gap:.375rem;min-width:0;display:flex}.forum-thread-meta{align-items:center;gap:.5rem;display:flex}.forum-pin-badge{color:#d97706;background-color:#fef3c7;border-radius:4px;padding:.125rem .5rem;font-size:.75rem;font-weight:600}.forum-answered-badge{color:#059669;background-color:#d1fae5;border-radius:4px;padding:.125rem .5rem;font-size:.75rem;font-weight:600}.forum-thread-link{color:inherit;text-decoration:none}.forum-thread-link:hover .forum-thread-title{color:#3b82f6}.forum-thread-title{color:#1f2937;margin:0;font-size:1rem;font-weight:600;transition:color .15s}.forum-thread-preview{color:#6b7280;margin:0;font-size:.875rem;line-height:1.4}.forum-thread-info{color:#9ca3af;gap:1rem;font-size:.75rem;display:flex}.forum-thread-author{color:#6b7280;font-weight:500}.forum-thread-tags{flex-wrap:wrap;gap:.375rem;margin-top:.25rem;display:flex}.forum-tag{color:#3b82f6;background-color:#eff6ff;border:1px solid #bfdbfe;border-radius:12px;padding:.125rem .5rem;font-size:.6875rem}.forum-thread-actions{flex-shrink:0;gap:.375rem;margin-left:1rem;display:flex}.forum-empty{text-align:center;color:#6b7280;padding:2rem;font-size:.9375rem}.forum-pagination{justify-content:center;align-items:center;gap:1rem;padding-top:1rem;display:flex}.forum-pagination-info{color:#6b7280;font-size:.875rem}.forum-breadcrumb{margin-bottom:.5rem}.forum-breadcrumb-link{color:#3b82f6;font-size:.875rem;text-decoration:none}.forum-breadcrumb-link:hover{text-decoration:underline}.forum-thread-detail{background-color:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:1.5rem}.forum-thread-detail-header{flex-direction:column;gap:.5rem;margin-bottom:1rem;display:flex}.forum-thread-detail-meta{gap:.5rem;display:flex}.forum-thread-detail-title{color:#1f2937;margin:0;font-size:1.375rem;font-weight:600}.forum-thread-detail-info{color:#6b7280;gap:1rem;font-size:.8125rem;display:flex}.forum-thread-detail-body{color:#374151;border-top:1px solid #f3f4f6;padding:1rem 0;font-size:.9375rem;line-height:1.6}.forum-thread-detail-body p{white-space:pre-wrap;margin:0}.forum-thread-detail-actions{border-top:1px solid #f3f4f6;gap:.5rem;padding-top:1rem;display:flex}.forum-replies-section{flex-direction:column;gap:1rem;display:flex}.forum-replies-heading,.forum-reply-heading{color:#1f2937;margin:0;font-size:1.125rem;font-weight:600}.forum-no-replies{color:#6b7280;text-align:center;padding:1.5rem;font-size:.9375rem}.forum-replies-list{flex-direction:column;gap:.75rem;display:flex}.forum-reply{background-color:#fff;border:1px solid #e5e7eb;border-radius:6px;padding:1rem}.forum-reply-accepted{background-color:#ecfdf5;border-color:#10b981}.forum-reply-header{align-items:center;gap:.75rem;margin-bottom:.5rem;display:flex}.forum-reply-author{color:#374151;font-size:.8125rem;font-weight:600}.forum-reply-date{color:#9ca3af;font-size:.75rem}.forum-accepted-badge{color:#059669;background-color:#d1fae5;border-radius:4px;padding:.125rem .5rem;font-size:.6875rem;font-weight:700}.forum-reply-content{color:#374151;font-size:.9375rem;line-height:1.5}.forum-reply-content p{white-space:pre-wrap;margin:0}.forum-reply-actions{gap:.375rem;margin-top:.5rem;display:flex}.forum-reply-children{flex-direction:column;gap:.5rem;margin-top:.75rem;display:flex}.forum-reply-form,.forum-reply-form-main{flex-direction:column;gap:.75rem;margin-top:.75rem;display:flex}.forum-reply-form-main{background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;padding:1.5rem}.forum-reply-section{flex-direction:column;gap:1rem;display:flex}.forum-error{color:#dc2626;background-color:#fef2f2;border:1px solid #fecaca;border-radius:8px;padding:1rem;font-size:.9375rem}.loading-container{justify-content:center;align-items:center;padding:3rem;display:flex}.btn{cursor:pointer;white-space:nowrap;border:1px solid #0000;border-radius:6px;justify-content:center;align-items:center;padding:.5rem 1rem;font-size:.875rem;font-weight:500;text-decoration:none;transition:background-color .15s,border-color .15s;display:inline-flex}.btn-primary:hover:not(:disabled){background-color:#2563eb}.btn-secondary:hover:not(:disabled){background-color:#f9fafb;border-color:#9ca3af}.btn-danger{color:#dc2626;background-color:#fff;border-color:#fecaca}.btn-danger:hover:not(:disabled){background-color:#fef2f2;border-color:#dc2626}.quiz-list-page{flex-direction:column;gap:1.5rem;display:flex}.quiz-list-header{flex-direction:column;gap:.5rem;display:flex}.quiz-list-header h1{color:#1f2937;font-size:1.5rem;font-weight:600}.quiz-list-page .back-link{color:#3b82f6;font-size:.875rem;text-decoration:none}.quiz-list-page .back-link:hover{text-decoration:underline}.quiz-list-page .empty-state{text-align:center;background-color:#fff;border:1px dashed #d1d5db;border-radius:8px;padding:3rem 1.5rem}.quiz-list-page .empty-state .empty-icon{margin-bottom:.75rem;font-size:2rem;display:block}.quiz-list-page .empty-state p{color:#374151;margin:0;font-size:1rem;font-weight:500}.quiz-list-page .empty-state .empty-description{color:#6b7280;margin-top:.5rem;font-size:.875rem;font-weight:400}.quiz-list{flex-direction:column;gap:1rem;display:flex}.quiz-card{background-color:#fff;border:1px solid #e5e7eb;border-radius:8px;flex-direction:column;gap:.75rem;padding:1.25rem;display:flex}.quiz-card-header{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.quiz-title{color:#1f2937;margin:0;font-size:1.125rem;font-weight:600}.quiz-score-badge{white-space:nowrap;border-radius:4px;padding:.25rem .5rem;font-size:.75rem;font-weight:600}.quiz-score-badge.passing{color:#065f46;background-color:#d1fae5}.quiz-score-badge.failing{color:#991b1b;background-color:#fee2e2}.quiz-meta{flex-wrap:wrap;gap:1rem;display:flex}.quiz-meta-item{color:#6b7280;align-items:center;gap:.25rem;font-size:.8125rem;display:flex}.meta-icon{font-size:.875rem}.quiz-card-actions{align-items:center;gap:1rem;margin-top:.25rem;display:flex}.quiz-start-btn{color:#fff;background-color:#3b82f6;border-radius:6px;padding:.5rem 1rem;font-size:.875rem;font-weight:500;text-decoration:none;transition:background-color .15s;display:inline-block}.quiz-start-btn:hover{background-color:#2563eb}.quiz-results-link{color:#3b82f6;font-size:.875rem;text-decoration:none}.quiz-results-link:hover{text-decoration:underline}.max-attempts-reached{color:#dc2626;background-color:#fef2f2;border:1px solid #fecaca;border-radius:4px;padding:.375rem .75rem;font-size:.875rem;font-weight:500}.quiz-list-page .error-message{color:#dc2626;background-color:#fef2f2;border:1px solid #fecaca;border-radius:8px;padding:1rem;font-size:.9375rem}.quiz-attempt-page{flex-direction:column;gap:1.5rem;display:flex}.quiz-attempt-header{flex-direction:column;gap:.75rem;display:flex}.quiz-attempt-header .back-link{color:#3b82f6;font-size:.875rem;text-decoration:none}.quiz-attempt-header .back-link:hover{text-decoration:underline}.quiz-attempt-title-row{justify-content:space-between;align-items:center;gap:1rem;display:flex}.quiz-attempt-title-row h1{color:#1f2937;margin:0;font-size:1.5rem;font-weight:600}.timer{color:#374151;background-color:#f3f4f6;border-radius:6px;align-items:center;gap:.375rem;padding:.375rem .75rem;font-size:.9375rem;font-weight:600;display:flex}.timer-warning{color:#dc2626;background-color:#fef2f2;animation:1s infinite pulse}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.timer-icon{font-size:1rem}.timer-value{font-variant-numeric:tabular-nums}.quiz-progress{flex-direction:column;gap:.375rem;display:flex}.progress-text{color:#6b7280;font-size:.8125rem}.progress-bar{background-color:#e5e7eb;border-radius:2px;height:4px;overflow:hidden}.progress-fill{background-color:#3b82f6;border-radius:2px;height:100%;transition:width .3s}.question-container{background-color:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:1.5rem}.question-display{flex-direction:column;gap:1.25rem;display:flex}.question-text{color:#1f2937;margin:0;font-size:1.0625rem;font-weight:500;line-height:1.5}.answer-area,.options-list{flex-direction:column;gap:.5rem;display:flex}.option-item{cursor:pointer;border:1px solid #e5e7eb;border-radius:6px;align-items:center;gap:.75rem;padding:.75rem 1rem;transition:border-color .15s,background-color .15s;display:flex}.option-item:hover:not(.disabled){background-color:#f0f9ff;border-color:#93c5fd}.option-item.selected{background-color:#eff6ff;border-color:#3b82f6}.option-item.disabled{cursor:default;opacity:.7}.option-item input[type=radio],.option-item input[type=checkbox]{accent-color:#3b82f6;width:1rem;height:1rem}.short-answer-input{flex-direction:column;gap:.25rem;display:flex}.text-input{box-sizing:border-box;border:1px solid #d1d5db;border-radius:6px;outline:none;width:100%;padding:.75rem 1rem;font-size:.9375rem;transition:border-color .15s}.text-input:focus{border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f61a}.text-input:disabled{cursor:not-allowed;background-color:#f9fafb}.char-count{color:#9ca3af;text-align:right;font-size:.75rem}.code-input{flex-direction:column;gap:.5rem;display:flex}.code-language-badge{color:#6b7280;text-transform:uppercase;background-color:#f3f4f6;border-radius:4px;align-self:flex-start;padding:.25rem .5rem;font-size:.75rem;font-weight:600}.code-textarea{color:#e5e7eb;resize:vertical;box-sizing:border-box;background-color:#1f2937;border:1px solid #d1d5db;border-radius:6px;outline:none;width:100%;padding:1rem;font-family:Fira Code,Courier New,monospace;font-size:.875rem;line-height:1.5}.code-textarea:focus{border-color:#3b82f6}.code-textarea:disabled{opacity:.7;cursor:not-allowed}.submit-answer-btn{color:#fff;cursor:pointer;background-color:#3b82f6;border:none;border-radius:6px;align-self:flex-start;padding:.5rem 1.25rem;font-size:.875rem;font-weight:500;transition:background-color .15s}.submit-answer-btn:hover:not(:disabled){background-color:#2563eb}.submit-answer-btn:disabled{cursor:not-allowed;background-color:#93c5fd}.feedback{border-radius:6px;align-items:flex-start;gap:.75rem;padding:1rem;display:flex}.feedback-correct{background-color:#d1fae5;border:1px solid #6ee7b7}.feedback-incorrect{background-color:#fee2e2;border:1px solid #fca5a5}.feedback-icon{font-size:1.25rem;font-weight:700;line-height:1}.feedback-correct .feedback-icon{color:#065f46}.feedback-incorrect .feedback-icon{color:#991b1b}.feedback-content{flex-direction:column;gap:.25rem;display:flex}.feedback-label{font-size:.9375rem;font-weight:600}.feedback-correct .feedback-label{color:#065f46}.feedback-incorrect .feedback-label{color:#991b1b}.feedback-explanation{color:#374151;margin:0;font-size:.875rem;line-height:1.4}.quiz-navigation{justify-content:space-between;align-items:center;padding-top:.5rem;display:flex}.quiz-nav-btn{color:#374151;cursor:pointer;background-color:#fff;border:1px solid #d1d5db;border-radius:6px;padding:.5rem 1rem;font-size:.875rem;font-weight:500;transition:background-color .15s,border-color .15s}.quiz-nav-btn:hover:not(:disabled){background-color:#f9fafb;border-color:#9ca3af}.quiz-nav-btn:disabled{opacity:.5;cursor:not-allowed}.submit-quiz-btn{color:#fff;background-color:#059669;border-color:#059669}.submit-quiz-btn:hover:not(:disabled){background-color:#047857;border-color:#047857}.quiz-results{flex-direction:column;gap:1.5rem;display:flex}.results-summary{background-color:#fff;border:1px solid #e5e7eb;border-radius:8px;flex-direction:column;align-items:center;gap:1rem;padding:2rem;display:flex}.score-display{flex-direction:column;align-items:center;gap:.25rem;display:flex}.score-value{font-size:3rem;font-weight:700}.score-display.passing .score-value{color:#059669}.score-display.failing .score-value{color:#dc2626}.score-label{font-size:1.125rem;font-weight:600}.score-display.passing .score-label{color:#065f46}.score-display.failing .score-label{color:#991b1b}.results-stats{color:#6b7280;flex-direction:column;align-items:center;gap:.25rem;font-size:.875rem;display:flex}.results-details{flex-direction:column;gap:1rem;display:flex}.results-details h2{color:#1f2937;margin:0;font-size:1.25rem;font-weight:600}.result-item{background-color:#fff;border:1px solid #e5e7eb;border-radius:8px;flex-direction:column;gap:.5rem;padding:1rem 1.25rem;display:flex}.result-item.correct{border-left:3px solid #10b981}.result-item.incorrect{border-left:3px solid #ef4444}.result-item-header{justify-content:space-between;align-items:center;display:flex}.result-number{color:#6b7280;font-size:.8125rem;font-weight:600}.result-badge{border-radius:4px;padding:.125rem .5rem;font-size:.75rem;font-weight:600}.result-badge.correct{color:#065f46;background-color:#d1fae5}.result-badge.incorrect{color:#991b1b;background-color:#fee2e2}.result-question-text{color:#374151;margin:0;font-size:.9375rem}.result-explanation{color:#6b7280;margin:0;font-size:.8125rem;font-style:italic}.max-attempts-message{text-align:center;background-color:#fff;border:1px solid #fecaca;border-radius:8px;padding:3rem 1.5rem}.max-attempts-message .attempts-icon{margin-bottom:.75rem;font-size:2rem;display:block}.max-attempts-message p{color:#374151;margin:0;font-size:1rem;font-weight:500}.max-attempts-message .attempts-description{color:#6b7280;margin-top:.5rem;font-size:.875rem;font-weight:400}.back-btn{color:#3b82f6;border:1px solid #3b82f6;border-radius:6px;margin-top:1rem;padding:.5rem 1rem;font-size:.875rem;text-decoration:none;display:inline-block}.back-btn:hover{background-color:#eff6ff}.quiz-attempt-page .error-message{color:#dc2626;background-color:#fef2f2;border:1px solid #fecaca;border-radius:8px;padding:1rem;font-size:.9375rem}.quiz-attempt-page .loading-container{justify-content:center;padding:3rem;display:flex}.quiz-attempt-page .loading-spinner{border:3px solid #e5e7eb;border-top-color:#3b82f6;border-radius:50%;width:2rem;height:2rem;animation:.8s linear infinite spin}.quiz-results-page{flex-direction:column;gap:1.5rem;display:flex}.quiz-results-header{flex-direction:column;gap:.5rem;display:flex}.quiz-results-header h1{color:#1f2937;font-size:1.5rem;font-weight:600}.quiz-results-page .back-link{color:#3b82f6;font-size:.875rem;text-decoration:none}.quiz-results-page .back-link:hover{text-decoration:underline}.quiz-results-page .empty-state{text-align:center;background-color:#fff;border:1px dashed #d1d5db;border-radius:8px;padding:3rem 1.5rem}.quiz-results-page .empty-state .empty-icon{margin-bottom:.75rem;font-size:2rem;display:block}.quiz-results-page .empty-state p{color:#374151;margin:0;font-size:1rem;font-weight:500}.quiz-results-page .empty-state .empty-description{color:#6b7280;margin-top:.5rem;font-size:.875rem;font-weight:400}.results-overview{background-color:#fff;border:1px solid #e5e7eb;border-radius:8px;gap:1.5rem;padding:1.5rem;display:flex}.overview-stat{flex-direction:column;flex:1;align-items:center;gap:.25rem;display:flex}.stat-value{color:#1f2937;font-size:1.5rem;font-weight:700}.stat-value.passing{color:#059669}.stat-value.failing{color:#dc2626}.stat-label{color:#6b7280;font-size:.8125rem}.attempts-list{flex-direction:column;gap:.75rem;display:flex}.attempts-list h2{color:#1f2937;margin:0;font-size:1.125rem;font-weight:600}.attempt-card{background-color:#fff;border:1px solid #e5e7eb;border-radius:8px;flex-direction:column;gap:.5rem;padding:1rem 1.25rem;display:flex}.attempt-header{justify-content:space-between;align-items:center;display:flex}.attempt-number{color:#374151;font-size:.9375rem;font-weight:500}.attempt-score{font-size:1rem;font-weight:700}.attempt-score.passing{color:#059669}.attempt-score.failing{color:#dc2626}.attempt-details{color:#6b7280;gap:1rem;font-size:.8125rem;display:flex}.quiz-results-page .error-message{color:#dc2626;background-color:#fef2f2;border:1px solid #fecaca;border-radius:8px;padding:1rem;font-size:.9375rem}.quiz-results-page .loading-container{justify-content:center;padding:3rem;display:flex}.quiz-results-page .loading-spinner{border:3px solid #e5e7eb;border-top-color:#3b82f6;border-radius:50%;width:2rem;height:2rem;animation:.8s linear infinite spin}.analytics-page{flex-direction:column;gap:1.5rem;display:flex}.analytics-header{flex-direction:column;gap:.5rem;display:flex}.analytics-header h1{color:#1f2937;font-size:1.5rem;font-weight:600}.stale-data-notice{color:#92400e;background-color:#fffbeb;border:1px solid #fde68a;border-radius:8px;align-items:center;gap:.5rem;padding:.75rem 1rem;font-size:.875rem;display:flex}.stale-icon{flex-shrink:0}.privacy-notice{color:#0c4a6e;background-color:#f0f9ff;border:1px solid #bae6fd;border-radius:8px;align-items:center;gap:.5rem;padding:.75rem 1rem;font-size:.875rem;display:flex}.privacy-icon{flex-shrink:0}.analytics-empty{text-align:center;background-color:#fff;border:1px dashed #d1d5db;border-radius:8px;padding:3rem 1.5rem}.analytics-empty .empty-icon{margin-bottom:.75rem;font-size:2rem;display:block}.analytics-empty p{color:#374151;margin:0;font-size:1rem;font-weight:500}.analytics-empty .empty-description{color:#6b7280;margin-top:.5rem;font-size:.875rem;font-weight:400}.metrics-section{background-color:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:1.5rem}.metrics-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;display:grid}.metric-card{background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;flex-direction:column;gap:.25rem;padding:1rem;display:flex}.metric-card--large{grid-column:span 2}.metric-label{color:#6b7280;text-transform:uppercase;letter-spacing:.05em;font-size:.75rem;font-weight:600}.metric-value{color:#1f2937;font-size:1.5rem;font-weight:700}.alerts-section{background-color:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:1.5rem}.alerts-list{flex-direction:column;gap:.75rem;display:flex}.alert-card{background-color:#fef2f2;border:1px solid #fecaca;border-radius:8px;align-items:flex-start;gap:.75rem;padding:.75rem 1rem;display:flex}.alert-indicator{flex-shrink:0;font-size:1.25rem}.alert-content{flex-direction:column;gap:.25rem;display:flex}.alert-student-name{color:#991b1b;font-size:.9375rem;font-weight:600}.alert-detail{color:#7f1d1d;font-size:.8125rem}.students-section{background-color:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:1.5rem}.students-table-wrapper{overflow-x:auto}.students-table{border-collapse:collapse;width:100%}.students-table thead{background-color:#f9fafb;border-bottom:1px solid #e5e7eb}.students-table th{color:#6b7280;text-transform:uppercase;letter-spacing:.05em;text-align:left;padding:.75rem 1rem;font-size:.75rem;font-weight:600}.students-table td{color:#1f2937;border-bottom:1px solid #f3f4f6;padding:.75rem 1rem;font-size:.875rem}.students-table tbody tr:last-child td{border-bottom:none}.students-table tbody tr:hover{background-color:#f9fafb}.alert-row{background-color:#fef2f2}.alert-row:hover{background-color:#fee2e2}.student-name-cell{flex-direction:column;gap:.125rem;display:flex}.student-name-cell .student-name{color:#1f2937;font-weight:500}.student-name-cell .student-email{color:#6b7280;font-size:.75rem}.progress-bar-container{background-color:#e5e7eb;border-radius:4px;width:100%;height:8px;position:relative;overflow:hidden}.progress-bar--large{height:12px;margin-top:.5rem}.progress-bar-fill{background-color:#3b82f6;border-radius:4px;height:100%;transition:width .3s}.progress-text{color:#374151;font-size:.75rem;font-weight:500;position:absolute;top:-1.25rem;right:0}.engagement-score{font-weight:500}.low-engagement{color:#dc2626;font-weight:600}.last-activity-cell{color:#6b7280;font-size:.8125rem}.status-badge{border-radius:4px;align-items:center;gap:.25rem;padding:.25rem .5rem;font-size:.75rem;font-weight:600;display:inline-flex}.status-badge--alert{color:#dc2626;background-color:#fef2f2;border:1px solid #fecaca}.status-badge--ok{color:#16a34a;background-color:#f0fdf4;border:1px solid #bbf7d0}.content-section{background-color:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:1.5rem}.content-analytics-list{flex-direction:column;gap:.75rem;display:flex}.content-analytics-card{cursor:pointer;text-align:left;background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;justify-content:space-between;align-items:center;width:100%;padding:1rem;transition:background-color .15s;display:flex}.content-analytics-card:hover{background-color:#f3f4f6}.content-title{color:#1f2937;font-size:.9375rem;font-weight:500}.content-metrics{gap:1.5rem;display:flex}.content-metric{flex-direction:column;align-items:center;gap:.125rem;display:flex}.content-metric-value{color:#1f2937;font-size:.875rem;font-weight:600}.content-metric-label{color:#6b7280;text-transform:uppercase;font-size:.6875rem}.content-analytics-detail{flex-direction:column;gap:1rem;display:flex}.back-btn{color:#3b82f6;cursor:pointer;text-align:left;background:0 0;border:none;padding:0;font-size:.875rem}.back-btn:hover{text-decoration:underline}.content-detail-title{color:#1f2937;margin:0;font-size:1rem;font-weight:600}.content-detail-metrics{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.75rem;display:grid}.empty-state-text{color:#6b7280;font-size:.875rem;font-style:italic}.personal-overview,.time-section{background-color:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:1.5rem}.time-list{flex-direction:column;gap:.5rem;display:flex}.time-item{background-color:#f9fafb;border-radius:6px;justify-content:space-between;align-items:center;padding:.75rem 1rem;display:flex}.time-item-title{color:#1f2937;font-size:.875rem;font-weight:500}.time-item-value{color:#3b82f6;font-size:.875rem;font-weight:600}.assessment-section{background-color:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:1.5rem}.assessment-list{flex-direction:column;gap:.5rem;display:flex}.assessment-item{background-color:#f9fafb;border-radius:6px;justify-content:space-between;align-items:center;padding:.75rem 1rem;display:flex}.assessment-info{flex-direction:column;gap:.125rem;display:flex}.assessment-title{color:#1f2937;font-size:.875rem;font-weight:500}.assessment-date{color:#6b7280;font-size:.75rem}.assessment-score{border-radius:4px;padding:.25rem .75rem;font-size:1rem;font-weight:700}.score-pass{color:#16a34a;background-color:#f0fdf4}.score-fail{color:#dc2626;background-color:#fef2f2}.analytics-page .loading-container{justify-content:center;padding:3rem;display:flex}.analytics-page .loading-spinner{border:3px solid #e5e7eb;border-top-color:#3b82f6;border-radius:50%;width:32px;height:32px;animation:.8s linear infinite spin}.analytics-page .error-message{color:#dc2626;background-color:#fef2f2;border:1px solid #fecaca;border-radius:8px;padding:1rem;font-size:.9375rem}.tutor-analytics-page{flex-direction:column;gap:1.5rem;display:flex}.tutor-analytics-header{flex-direction:column;gap:.5rem;display:flex}.tutor-analytics-header h1{color:#1f2937;font-size:1.5rem;font-weight:600}.tutor-analytics-empty{text-align:center;background-color:#fff;border:1px dashed #d1d5db;border-radius:8px;padding:3rem 1.5rem}.tutor-analytics-empty .empty-icon{margin-bottom:.75rem;font-size:2.5rem;display:block}.tutor-analytics-empty p{color:#374151;margin:0;font-size:1rem;font-weight:500}.tutor-analytics-empty .empty-description{color:#6b7280;margin-top:.5rem;font-size:.875rem;font-weight:400}.topics-section{background-color:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:1.5rem}.section-title{color:#1f2937;margin:0 0 1rem;font-size:1.125rem;font-weight:600}.topics-table-wrapper{overflow-x:auto}.topics-table{border-collapse:collapse;width:100%;font-size:.875rem}.topics-table th{text-align:left;color:#6b7280;text-transform:uppercase;letter-spacing:.05em;border-bottom:2px solid #e5e7eb;padding:.75rem 1rem;font-size:.75rem;font-weight:500}.topics-table td{color:#374151;border-bottom:1px solid #f3f4f6;padding:.75rem 1rem}.topics-table tbody tr:hover{background-color:#f9fafb}.topic-name-cell{font-weight:500}.topic-count-cell{text-align:center;font-variant-numeric:tabular-nums}.topics-table th:nth-child(2),.topics-table th:nth-child(3){text-align:center}.tutor-analytics-page .privacy-notice{color:#0c4a6e;background-color:#f0f9ff;border:1px solid #bae6fd;border-radius:8px;align-items:center;gap:.5rem;padding:.75rem 1rem;font-size:.875rem;display:flex}.tutor-analytics-page .privacy-icon{flex-shrink:0}.tutor-analytics-page .back-link{color:#6366f1;font-size:.875rem;text-decoration:none}.tutor-analytics-page .back-link:hover{text-decoration:underline}.tutor-analytics-page .error-message{color:#dc2626;background-color:#fef2f2;border:1px solid #fecaca;border-radius:8px;padding:1rem}.tutor-analytics-page .loading-container{justify-content:center;padding:3rem;display:flex}.tutor-analytics-page .loading-spinner{border:3px solid #e5e7eb;border-top-color:#6366f1;border-radius:50%;width:2rem;height:2rem;animation:.8s linear infinite spin}.microlessons-page{flex-direction:column;gap:1.5rem;display:flex}.microlessons-header{flex-direction:column;gap:.5rem;display:flex}.microlessons-header h1{color:#1f2937;font-size:1.5rem;font-weight:600}.microlessons-subtitle{color:#6b7280;font-size:.875rem}.microlessons-message{border-radius:6px;padding:.75rem 1rem;font-size:.875rem}.microlessons-message--error{color:#991b1b;background-color:#fef2f2;border:1px solid #fecaca}.microlessons-empty{text-align:center;background-color:#fff;border:1px dashed #d1d5db;border-radius:8px;flex-direction:column;align-items:center;gap:1.25rem;padding:3rem 1.5rem;display:flex}.microlessons-empty .empty-state{color:#6b7280;max-width:400px;font-size:.9375rem;line-height:1.5}.microlessons-list{gap:1rem;display:grid}.microlesson-card{color:inherit;background-color:#fff;border:1px solid #e5e7eb;border-radius:8px;flex-direction:column;gap:.5rem;padding:1rem 1.25rem;text-decoration:none;transition:border-color .15s,box-shadow .15s;display:flex}.microlesson-card:hover{border-color:#3b82f6;text-decoration:none;box-shadow:0 2px 8px #3b82f614}.microlesson-card-header{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.microlesson-card-title{color:#1f2937;flex:1;font-size:.9375rem;font-weight:600}.microlesson-card-time{color:#6b7280;white-space:nowrap;background-color:#f3f4f6;border-radius:4px;padding:.25rem .5rem;font-size:.75rem;font-weight:500}.microlesson-card-content{color:#6b7280;font-size:.8125rem;line-height:1.5}.microlesson-card-competencies{gap:.5rem;margin-top:.25rem;display:flex}.microlesson-detail-page{flex-direction:column;gap:1.5rem;display:flex}.microlesson-detail-header{flex-direction:column;gap:.75rem;display:flex}.microlesson-title-row{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.microlesson-title-row h1{color:#1f2937;font-size:1.5rem;font-weight:600}.microlesson-time-badge{color:#6b7280;white-space:nowrap;background-color:#f3f4f6;border-radius:4px;padding:.25rem .625rem;font-size:.75rem;font-weight:500}.microlesson-message{border-radius:6px;padding:.75rem 1rem;font-size:.875rem}.microlesson-message--error{color:#991b1b;background-color:#fef2f2;border:1px solid #fecaca}.microlesson-content-card{background-color:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:1.5rem}.microlesson-content-body{color:#374151;white-space:pre-wrap;font-size:.9375rem;line-height:1.7}.microlesson-competencies-section{flex-direction:column;gap:.5rem;display:flex}.section-label{color:#6b7280;text-transform:uppercase;letter-spacing:.025em;font-size:.8125rem;font-weight:600}.competency-list{flex-wrap:wrap;gap:.5rem;display:flex}.competency-badge{color:#7c3aed;background-color:#f5f3ff;border:1px solid #ede9fe;border-radius:12px;padding:.25rem .625rem;font-size:.6875rem;font-weight:500}.microlesson-actions{padding-top:.5rem}.complete-btn{padding:.625rem 1.5rem}.completion-success{background-color:#f0fdf4;border:1px solid #bbf7d0;border-radius:8px;align-items:flex-start;gap:.75rem;padding:1rem;display:flex}.check-icon{color:#059669;flex-shrink:0;margin-top:.125rem}.completion-text{color:#065f46;font-size:.875rem;font-weight:600}.next-review-text{color:#047857;margin-top:.25rem;font-size:.8125rem}.review-sessions-page{flex-direction:column;gap:1.5rem;display:flex}.review-sessions-header{flex-direction:column;gap:.5rem;display:flex}.review-sessions-header h1{color:#1f2937;font-size:1.5rem;font-weight:600}.review-sessions-subtitle{color:#6b7280;font-size:.875rem}.daily-limit-indicator{background-color:#fff;border:1px solid #e5e7eb;border-radius:8px;align-items:center;gap:.75rem;padding:.75rem 1rem;display:flex}.daily-limit-bar{background-color:#e5e7eb;border-radius:3px;flex:1;height:6px;overflow:hidden}.daily-limit-fill{background-color:#3b82f6;border-radius:3px;height:100%;transition:width .3s}.daily-limit-text{color:#6b7280;white-space:nowrap;font-size:.8125rem;font-weight:500}.review-message{border-radius:6px;padding:.75rem 1rem;font-size:.875rem}.review-message--error{color:#991b1b;background-color:#fef2f2;border:1px solid #fecaca}.review-message--success{color:#065f46;background-color:#f0fdf4;border:1px solid #bbf7d0}.review-rating-panel{background-color:#fff;border:2px solid #3b82f6;border-radius:8px;flex-direction:column;gap:1rem;padding:1.5rem;display:flex}.rating-title{color:#1f2937;font-size:1rem;font-weight:600}.rating-options{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.5rem;display:grid}.rating-option{cursor:pointer;background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:6px;flex-direction:column;align-items:center;gap:.25rem;padding:.75rem .5rem;transition:border-color .15s,background-color .15s;display:flex}.rating-option:hover{background-color:#eff6ff;border-color:#3b82f6}.rating-option--selected{background-color:#eff6ff;border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f633}.rating-number{color:#1f2937;font-size:1.25rem;font-weight:700}.rating-label{color:#6b7280;text-align:center;font-size:.6875rem;line-height:1.3}.rating-actions{justify-content:flex-end;gap:.75rem;padding-top:.5rem;display:flex}.review-section{flex-direction:column;gap:.75rem;display:flex}.review-section-title{color:#1f2937;align-items:center;gap:.5rem;font-size:1rem;font-weight:600;display:flex}.review-section-title--relearning{color:#dc2626}.review-section-description{color:#6b7280;margin-top:-.25rem;font-size:.8125rem}.review-count{color:#fff;background-color:#6b7280;border-radius:10px;padding:.125rem .5rem;font-size:.75rem;font-weight:600}.review-section-title--relearning .review-count{background-color:#dc2626}.review-items-list{flex-direction:column;gap:.5rem;display:flex}.review-item{background-color:#fff;border:1px solid #e5e7eb;border-radius:8px;justify-content:space-between;align-items:center;gap:1rem;padding:.875rem 1rem;transition:border-color .15s;display:flex}.review-item:hover{border-color:#d1d5db}.review-item--relearning{border-left:3px solid #dc2626}.review-item-info{flex:1;align-items:center;gap:.75rem;min-width:0;display:flex}.review-item-status{white-space:nowrap;text-transform:uppercase;letter-spacing:.025em;border-radius:4px;padding:.125rem .5rem;font-size:.6875rem;font-weight:600}.status--learning{color:#1d4ed8;background-color:#eff6ff}.status--review{color:#059669;background-color:#f0fdf4}.status--relearning{color:#dc2626;background-color:#fef2f2}.review-item-title{color:#1f2937;text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:.875rem;font-weight:500;overflow:hidden}.review-item-date{color:#6b7280;white-space:nowrap;font-size:.75rem}.schedule-list{flex-direction:column;gap:.375rem;display:flex}.schedule-item{background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:6px;justify-content:space-between;align-items:center;gap:1rem;padding:.625rem 1rem;display:flex}.schedule-item-info{flex:1;align-items:center;gap:.5rem;min-width:0;display:flex}.schedule-item-title{color:#374151;text-overflow:ellipsis;white-space:nowrap;font-size:.8125rem;overflow:hidden}.schedule-item-meta{align-items:center;gap:.75rem;display:flex}.schedule-item-interval{color:#6b7280;white-space:nowrap;font-size:.75rem}.schedule-item-date{color:#374151;white-space:nowrap;font-size:.75rem;font-weight:500}.review-empty{text-align:center;background-color:#fff;border:1px dashed #d1d5db;border-radius:8px;flex-direction:column;align-items:center;gap:1.25rem;padding:3rem 1.5rem;display:flex}.review-empty .empty-state{color:#6b7280;max-width:400px;font-size:.9375rem;line-height:1.5}.competency-page{flex-direction:column;gap:1.5rem;display:flex}.competency-header{flex-direction:column;gap:.5rem;display:flex}.competency-header h1{color:#1f2937;font-size:1.5rem;font-weight:600}.competency-message{border-radius:6px;padding:.75rem 1rem;font-size:.875rem}.competency-message--error{color:#991b1b;background-color:#fef2f2;border:1px solid #fecaca}.competency-empty{text-align:center;background-color:#fff;border:1px dashed #d1d5db;border-radius:8px;flex-direction:column;align-items:center;gap:.75rem;padding:3rem 1.5rem;display:flex}.competency-empty .empty-icon{font-size:2rem}.competency-empty p{color:#6b7280;font-size:.9375rem}.competency-empty .empty-description{color:#9ca3af;max-width:400px;font-size:.8125rem}.competency-section{flex-direction:column;gap:1rem;display:flex}.competency-section-title{color:#1f2937;font-size:1.125rem;font-weight:600}.competency-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1rem;display:grid}.competency-card{background-color:#fff;border:1px solid #e5e7eb;border-radius:8px;flex-direction:column;gap:.75rem;padding:1.25rem;transition:border-color .15s,box-shadow .15s;display:flex}.competency-card:hover{border-color:#d1d5db;box-shadow:0 1px 3px #0000000d}.competency-card-header{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.competency-name{color:#1f2937;font-size:1rem;font-weight:600}.competency-badge{border-radius:12px;padding:.25rem .5rem;font-size:.75rem;font-weight:500}.competency-badge--complete{color:#065f46;background-color:#d1fae5}.competency-description{color:#6b7280;font-size:.8125rem;line-height:1.5}.competency-levels{align-items:center;gap:.5rem;display:flex}.level-indicator{flex-direction:column;flex:1;align-items:center;gap:.25rem;display:flex}.level-dot{background-color:#fff;border:2px solid #d1d5db;border-radius:50%;width:1rem;height:1rem;transition:background-color .2s,border-color .2s}.level-indicator--achieved .level-dot{background-color:#10b981;border-color:#10b981}.level-indicator--locked .level-dot{background-color:#f3f4f6;border-color:#d1d5db}.level-label{color:#6b7280;text-align:center;font-size:.6875rem}.level-indicator--achieved .level-label{color:#065f46;font-weight:500}.competency-progress-info{flex-direction:column;gap:.25rem;display:flex}.progress-text{color:#374151;font-size:.8125rem;font-weight:500}.next-level-req{color:#6b7280;font-size:.75rem;font-style:italic}.competency-prerequisites{border-top:1px solid #f3f4f6;align-items:baseline;gap:.375rem;padding-top:.5rem;font-size:.75rem;display:flex}.prereq-label{color:#6b7280;white-space:nowrap;font-weight:500}.prereq-list{color:#3b82f6}.competency-attempts{padding-top:.5rem}.btn-sm{padding:.375rem .75rem;font-size:.8125rem}.content-gates-list{flex-direction:column;gap:.5rem;display:flex}.content-gate-item{background-color:#fff;border:1px solid #e5e7eb;border-radius:6px;align-items:center;gap:.75rem;padding:.75rem 1rem;display:flex}.content-gate-item--locked{opacity:.85;background-color:#fafafa}.content-gate-item--unlocked{background-color:#f0fdf4;border-color:#a7f3d0}.gate-icon{flex-shrink:0;font-size:1.25rem}.gate-info{flex-direction:column;flex:1;gap:.125rem;display:flex}.gate-title{color:#1f2937;font-size:.875rem;font-weight:500}.gate-requirement{color:#6b7280;font-size:.75rem}.gate-status{white-space:nowrap;border-radius:4px;padding:.25rem .5rem;font-size:.75rem;font-weight:500}.gate-status--unlocked{color:#065f46;background-color:#d1fae5}.gate-status--locked{color:#991b1b;background-color:#fef2f2}.assessment-overlay{z-index:1000;background-color:#00000080;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.assessment-modal{background-color:#fff;border-radius:12px;flex-direction:column;width:100%;max-width:600px;max-height:80vh;display:flex;box-shadow:0 20px 60px #00000026}.assessment-modal-header{border-bottom:1px solid #e5e7eb;align-items:center;gap:.75rem;padding:1.25rem 1.5rem;display:flex}.assessment-modal-header h2{color:#1f2937;flex:1;font-size:1.125rem;font-weight:600}.assessment-target{color:#6b7280;background-color:#f3f4f6;border-radius:4px;padding:.25rem .5rem;font-size:.8125rem;font-weight:500}.assessment-close-btn{color:#6b7280;cursor:pointer;background:0 0;border:none;padding:.25rem;font-size:1.25rem;line-height:1}.assessment-close-btn:hover{color:#1f2937}.assessment-modal-body{flex-direction:column;flex:1;gap:1rem;padding:1.5rem;display:flex;overflow-y:auto}.assessment-info{color:#6b7280;background-color:#f9fafb;border-radius:4px;padding:.5rem .75rem;font-size:.875rem}.assessment-questions{flex-direction:column;gap:1.25rem;display:flex}.assessment-question{flex-direction:column;gap:.5rem;display:flex}.question-text{color:#1f2937;font-size:.9375rem;font-weight:500;line-height:1.5}.question-options{flex-direction:column;gap:.375rem;padding-left:1rem;display:flex}.question-option{cursor:pointer;border-radius:6px;align-items:center;gap:.5rem;padding:.5rem .75rem;transition:background-color .1s;display:flex}.question-option:hover{background-color:#f9fafb}.question-option input[type=radio]{accent-color:#3b82f6}.option-text{color:#374151;font-size:.875rem}.assessment-modal-footer{border-top:1px solid #e5e7eb;justify-content:flex-end;gap:.75rem;padding:1rem 1.5rem;display:flex}.result-banner{border-radius:8px;align-items:center;gap:.75rem;padding:1rem;display:flex}.result-banner--passed{background-color:#f0fdf4;border:1px solid #a7f3d0}.result-banner--failed{background-color:#fffbeb;border:1px solid #fde68a}.result-icon{font-size:1.5rem}.result-text{flex-direction:column;gap:.125rem;display:flex}.result-text strong{color:#1f2937;font-size:1rem}.result-text span{color:#6b7280;font-size:.8125rem}.result-attempts{color:#6b7280;background-color:#f9fafb;border-radius:4px;padding:.5rem .75rem;font-size:.8125rem}.result-incorrect{flex-direction:column;gap:.5rem;display:flex}.result-incorrect h3{color:#1f2937;font-size:.9375rem;font-weight:600}.incorrect-topic{background-color:#fef2f2;border-radius:4px;justify-content:space-between;align-items:center;padding:.5rem .75rem;display:flex}.topic-name{color:#991b1b;font-size:.8125rem;font-weight:500}.topic-count{color:#6b7280;font-size:.75rem}.result-recommendations{flex-direction:column;gap:.5rem;display:flex}.result-recommendations h3{color:#1f2937;font-size:.9375rem;font-weight:600}.recommendation-list{flex-direction:column;gap:.375rem;margin:0;padding:0;list-style:none;display:flex}.recommendation-item{color:#374151;background-color:#eff6ff;border-left:3px solid #3b82f6;border-radius:4px;padding:.5rem .75rem;font-size:.8125rem}.sandbox-page{flex-direction:column;gap:1rem;display:flex}.sandbox-header{flex-direction:column;gap:.5rem;display:flex}.sandbox-header h1{color:#1f2937;font-size:1.5rem;font-weight:600}.sandbox-instructions{color:#4b5563;background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:6px;padding:.75rem 1rem;font-size:.9375rem;line-height:1.6}.sandbox-message{border-radius:6px;padding:.625rem 1rem;font-size:.875rem}.sandbox-message--error{color:#991b1b;background-color:#fef2f2;border:1px solid #fecaca}.sandbox-message--success{color:#065f46;background-color:#ecfdf5;border:1px solid #a7f3d0}.sandbox-controls{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.sandbox-language-selector{align-items:center;gap:.5rem;display:flex}.sandbox-language-selector label{color:#374151;font-size:.875rem;font-weight:500}.sandbox-language-selector select{color:#1f2937;cursor:pointer;background-color:#fff;border:1px solid #d1d5db;border-radius:6px;padding:.375rem .75rem;font-size:.875rem}.sandbox-language-selector select:disabled{cursor:not-allowed;background-color:#f3f4f6}.sandbox-actions{gap:.5rem;display:flex}.sandbox-run-btn{padding:.5rem 1.25rem}.sandbox-save-btn{padding:.5rem 1rem}.sandbox-editor-container{border:1px solid #d1d5db;border-radius:8px;overflow:hidden}.sandbox-editor{color:#1f2937;resize:vertical;tab-size:4;white-space:pre;overflow-wrap:normal;background-color:#fafafa;border:none;outline:none;width:100%;min-height:300px;padding:1rem;font-family:Menlo,Monaco,Courier New,monospace;font-size:.875rem;line-height:1.6;overflow-x:auto}.sandbox-editor:focus{background-color:#fff}.sandbox-output{background-color:#fff;border:1px solid #e5e7eb;border-radius:8px;flex-direction:column;gap:.75rem;padding:1rem;display:flex}.sandbox-output-title{color:#1f2937;font-size:1rem;font-weight:600}.sandbox-resource-error{color:#991b1b;background-color:#fef2f2;border:1px solid #fecaca;border-radius:6px;align-items:center;gap:.5rem;padding:.625rem .875rem;font-size:.8125rem;display:flex}.sandbox-output-meta{align-items:center;gap:1rem;display:flex}.sandbox-execution-time{color:#6b7280;background-color:#f3f4f6;border-radius:4px;padding:.25rem .625rem;font-size:.8125rem;font-weight:500}.sandbox-output-section h3{color:#6b7280;text-transform:uppercase;letter-spacing:.025em;margin-bottom:.375rem;font-size:.8125rem;font-weight:600}.sandbox-output-content{white-space:pre-wrap;word-break:break-word;background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:6px;margin:0;padding:.75rem;font-family:Menlo,Monaco,Courier New,monospace;font-size:.8125rem;line-height:1.5;overflow-x:auto}.sandbox-output-content--stderr{color:#991b1b;background-color:#fef2f2;border-color:#fecaca}.sandbox-empty-output{color:#9ca3af;font-style:italic}.sandbox-test-results h3{color:#1f2937;margin-bottom:.5rem;font-size:.9375rem;font-weight:600}.sandbox-test-list{flex-direction:column;gap:.5rem;display:flex}.sandbox-test-item{border:1px solid #e5e7eb;border-radius:6px;padding:.75rem}.sandbox-test-item--passed{background-color:#f0fdf4;border-color:#a7f3d0}.sandbox-test-item--failed{background-color:#fef2f2;border-color:#fecaca}.sandbox-test-header{align-items:center;gap:.5rem;margin-bottom:.5rem;display:flex}.sandbox-test-badge{text-transform:uppercase;letter-spacing:.05em;border-radius:4px;padding:.125rem .5rem;font-size:.6875rem;font-weight:700}.sandbox-test-badge--pass{color:#065f46;background-color:#d1fae5}.sandbox-test-badge--fail{color:#991b1b;background-color:#fecaca}.sandbox-test-label{color:#374151;font-size:.8125rem;font-weight:500}.sandbox-test-details{flex-direction:column;gap:.375rem;display:flex}.sandbox-test-field{align-items:flex-start;gap:.5rem;display:flex}.sandbox-test-field-label{color:#6b7280;flex-shrink:0;min-width:5rem;font-size:.75rem;font-weight:600}.sandbox-test-field-value{color:#1f2937;white-space:pre-wrap;word-break:break-word;background-color:#fff;border:1px solid #e5e7eb;border-radius:4px;flex:1;margin:0;padding:.25rem .5rem;font-family:Menlo,Monaco,Courier New,monospace;font-size:.75rem;line-height:1.4;overflow-x:auto}.loading-container{justify-content:center;padding:3rem 0;display:flex}.loading-spinner{border:3px solid #e5e7eb;border-top-color:#3b82f6;border-radius:50%;width:2rem;height:2rem;animation:.8s linear infinite spin}.btn{cursor:pointer;border:1px solid #0000;border-radius:6px;justify-content:center;align-items:center;padding:.5rem 1rem;font-size:.875rem;font-weight:500;text-decoration:none;transition:background-color .15s,border-color .15s;display:inline-flex}.btn:hover{text-decoration:none}.btn-primary{color:#fff;background-color:#3b82f6;border-color:#3b82f6}.btn-primary:hover{background-color:#2563eb;border-color:#2563eb}.btn-secondary{color:#374151;background-color:#fff;border-color:#d1d5db}.btn-secondary:hover{background-color:#f9fafb;border-color:#9ca3af}.btn:disabled{opacity:.6;cursor:not-allowed}.back-link{color:#3b82f6;align-self:flex-start;font-size:.875rem;text-decoration:none}.back-link:hover{text-decoration:underline}.accessibility-page{flex-direction:column;gap:2rem;max-width:700px;display:flex}.accessibility-page h1{color:#1f2937;font-size:1.5rem;font-weight:600}.accessibility-form{background-color:#fff;border:1px solid #e5e7eb;border-radius:8px;flex-direction:column;gap:1.5rem;padding:1.5rem;display:flex}.accessibility-field{flex-direction:column;gap:.5rem;display:flex}.accessibility-label{color:#374151;font-size:.9375rem;font-weight:500}.accessibility-description{color:#6b7280;margin:0;font-size:.8125rem}.accessibility-select{color:#1f2937;cursor:pointer;background-color:#fff;border:1px solid #d1d5db;border-radius:8px;max-width:300px;padding:.625rem .75rem;font-size:.9375rem;transition:border-color .15s,box-shadow .15s}.accessibility-select:focus{border-color:#3b82f6;outline:none;box-shadow:0 0 0 3px #3b82f61a}.accessibility-slider-container{align-items:center;gap:1rem;display:flex}.accessibility-slider{cursor:pointer;appearance:none;background:#e5e7eb;border-radius:3px;outline:none;flex:1;max-width:400px;height:6px}.accessibility-slider::-webkit-slider-thumb{appearance:none;cursor:pointer;background:#3b82f6;border:2px solid #fff;border-radius:50%;width:20px;height:20px;box-shadow:0 1px 3px #0003}.accessibility-slider::-moz-range-thumb{cursor:pointer;background:#3b82f6;border:2px solid #fff;border-radius:50%;width:20px;height:20px;box-shadow:0 1px 3px #0003}.accessibility-slider:focus-visible::-webkit-slider-thumb{outline-offset:2px;outline:2px solid #3b82f6}.accessibility-slider-value{color:#3b82f6;text-align:center;min-width:48px;font-size:.9375rem;font-weight:600}.accessibility-slider-labels{color:#9ca3af;justify-content:space-between;max-width:400px;font-size:.75rem;display:flex}.accessibility-toggle-field{border-top:1px solid #f3f4f6;flex-direction:row;justify-content:space-between;align-items:center;padding:1rem 0}.accessibility-toggle-info{flex-direction:column;gap:.25rem;display:flex}.accessibility-toggle{flex-shrink:0;width:48px;height:26px;display:inline-block;position:relative}.accessibility-toggle input{opacity:0;width:0;height:0}.accessibility-toggle-slider{cursor:pointer;background-color:#d1d5db;border-radius:26px;transition:background-color .2s;position:absolute;inset:0}.accessibility-toggle-slider:before{content:"";background-color:#fff;border-radius:50%;width:20px;height:20px;transition:transform .2s;position:absolute;bottom:3px;left:3px}.accessibility-toggle input:checked+.accessibility-toggle-slider{background-color:#3b82f6}.accessibility-toggle input:checked+.accessibility-toggle-slider:before{transform:translate(22px)}.accessibility-toggle input:focus-visible+.accessibility-toggle-slider{outline-offset:2px;outline:2px solid #3b82f6}.accessibility-message{border-radius:6px;padding:.625rem .75rem;font-size:.875rem}.accessibility-message--success{color:#166534;background-color:#f0fdf4;border:1px solid #bbf7d0}.accessibility-message--error{color:#991b1b;background-color:#fef2f2;border:1px solid #fecaca}.accessibility-save-btn{color:#fff;cursor:pointer;background-color:#3b82f6;border:1px solid #3b82f6;border-radius:6px;justify-content:center;align-self:flex-start;align-items:center;padding:.625rem 1.5rem;font-size:.9375rem;font-weight:500;transition:background-color .15s;display:inline-flex}.accessibility-save-btn:hover{background-color:#2563eb}.accessibility-save-btn:disabled{opacity:.6;cursor:not-allowed}.accessibility-preview{flex-direction:column;gap:1rem;display:flex}.accessibility-preview h2{color:#1f2937;font-size:1.25rem;font-weight:600}.accessibility-preview-box{background-color:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:1.5rem;line-height:1.6;transition:all .2s}.accessibility-preview-box p{margin:0}.accessibility-current-settings{background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;padding:1.25rem}.accessibility-current-settings h3{color:#374151;margin-bottom:.75rem;font-size:.9375rem;font-weight:600}.accessibility-current-settings ul{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.accessibility-current-settings li{color:#4b5563;font-size:.875rem}.accessibility-current-settings li strong{color:#374151}.org-branding{background:linear-gradient(135deg, var(--org-primary-color), var(--org-secondary-color));color:#fff;border-radius:12px;flex-direction:column;padding:2rem;display:flex}.org-branding-header{align-items:center;gap:1.5rem;display:flex}.org-branding-logo{object-fit:cover;background-color:#fff3;border-radius:12px;flex-shrink:0;width:80px;height:80px}.org-branding-info{flex-direction:column;gap:.5rem;min-width:0;display:flex}.org-branding-name{color:#fff;margin:0;font-size:1.75rem;font-weight:700;line-height:1.2}.org-branding-description{color:#ffffffe6;margin:0;font-size:1rem;line-height:1.5}@media (width<=640px){.org-branding-header{flex-direction:column;align-items:flex-start}.org-branding-logo{width:64px;height:64px}.org-branding-name{font-size:1.5rem}}.org-join-panel{background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;flex-direction:column;gap:1rem;padding:1.5rem;display:flex}.org-join-prompt{color:#374151;margin:0;font-size:.9375rem;line-height:1.5}.org-join-btn{color:#fff;cursor:pointer;background-color:#4f46e5;border:none;border-radius:6px;justify-content:center;align-self:flex-start;align-items:center;padding:.625rem 1.25rem;font-size:.9375rem;font-weight:600;transition:background-color .15s;display:inline-flex}.org-join-btn:hover:not(:disabled){background-color:#4338ca}.org-join-btn:disabled{opacity:.6;cursor:not-allowed}.org-join-btn-request{background-color:#7c3aed}.org-join-btn-request:hover:not(:disabled){background-color:#6d28d9}.org-join-form{flex-direction:column;gap:.75rem;display:flex}.org-join-message{resize:vertical;border:1px solid #d1d5db;border-radius:6px;width:100%;padding:.75rem;font-family:inherit;font-size:.875rem;line-height:1.5}.org-join-message:focus{border-color:#7c3aed;outline:none;box-shadow:0 0 0 2px #7c3aed33}.org-join-success{color:#059669;background-color:#ecfdf5;border:1px solid #a7f3d0;border-radius:6px;padding:.75rem 1rem;font-size:.9375rem}.org-join-error{color:#dc2626;background-color:#fef2f2;border:1px solid #fecaca;border-radius:6px;padding:.5rem .75rem;font-size:.875rem}.org-join-invite-only{color:#6b7280;margin:0;font-size:.9375rem;font-style:italic}.org-announcements{flex-direction:column;gap:1rem;display:flex}.org-announcements-title{color:#1f2937;margin:0;font-size:1.25rem;font-weight:600}.org-announcements-loading{color:#6b7280;padding:1rem 0;font-size:.875rem}.org-announcements-error{color:#dc2626;background-color:#fef2f2;border:1px solid #fecaca;border-radius:8px;padding:.75rem 1rem;font-size:.875rem}.org-announcements-list{flex-direction:column;gap:.75rem;margin:0;padding:0;list-style:none;display:flex}.org-announcement-item{background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;padding:1rem}.org-announcement-item-title{color:#1f2937;margin:0 0 .5rem;font-size:1rem;font-weight:600}.org-announcement-item-body{color:#374151;white-space:pre-wrap;margin:0 0 .75rem;font-size:.9375rem;line-height:1.5}.org-announcement-item-meta{color:#6b7280;align-items:center;gap:.75rem;font-size:.8125rem;display:flex}.org-announcement-item-author{font-weight:500}.org-announcement-item-date{color:#9ca3af}.org-page{flex-direction:column;gap:2rem;display:flex}.org-page-loading{color:#6b7280;flex-direction:column;justify-content:center;align-items:center;gap:1rem;padding:4rem 0;display:flex}.org-page-loading p{margin:0;font-size:.9375rem}.org-page-error{color:#dc2626;background-color:#fef2f2;border:1px solid #fecaca;border-radius:8px;padding:1rem 1.5rem;font-size:.9375rem}.org-page-content{flex-direction:column;gap:2rem;display:flex}.org-page-not-found{justify-content:center;align-items:center;min-height:50vh}.org-not-found-content{text-align:center;padding:3rem 1rem}.org-not-found-title{color:#1f2937;margin:0 0 .75rem;font-size:1.75rem;font-weight:700}.org-not-found-message{color:#6b7280;margin:0;font-size:1rem;line-height:1.5}.org-courses-section{flex-direction:column;gap:1rem;display:flex}.org-courses-header{justify-content:space-between;align-items:center;gap:1rem;display:flex}.org-section-title{color:#1f2937;margin:0;font-size:1.25rem;font-weight:600}.org-create-course-btn{white-space:nowrap}.org-courses-placeholder{color:#6b7280;text-align:center;background-color:#f9fafb;border:1px dashed #d1d5db;border-radius:8px;margin:0;padding:1rem;font-size:.9375rem}.org-courses-restricted{color:#6b7280;text-align:center;background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;margin:0;padding:1.5rem;font-size:.9375rem;font-style:italic}.org-creation{flex-direction:column;gap:1.5rem;max-width:600px;display:flex}.org-creation-title{color:#1f2937;font-size:1.5rem;font-weight:600}.org-creation-subtitle{color:#6b7280;margin-top:-1rem;font-size:.9375rem}.org-creation-form{flex-direction:column;gap:1.25rem;display:flex}.form-label-hint{color:#6b7280;margin-left:.25rem;font-size:.8125rem;font-weight:400}.field-hint{color:#6b7280;margin-top:.25rem;font-size:.8125rem}.org-settings{flex-direction:column;gap:2rem;max-width:1200px;display:flex}.org-settings-title{color:#1f2937;font-size:1.5rem;font-weight:600}.org-settings-loading{color:#6b7280;flex-direction:column;align-items:center;gap:1rem;padding:3rem 0;display:flex}.org-settings-error{color:#991b1b;background-color:#fef2f2;border:1px solid #fecaca;border-radius:8px;padding:1rem;font-size:.875rem}.org-settings-message{border-radius:6px;padding:.625rem .75rem;font-size:.875rem}.org-settings-message--error{color:#991b1b;background-color:#fef2f2;border:1px solid #fecaca}.org-settings-message--success{color:#166534;background-color:#f0fdf4;border:1px solid #bbf7d0}.org-settings-form{flex-direction:column;gap:1.5rem;display:flex}.org-settings-fieldset{border:1px solid #e5e7eb;border-radius:8px;flex-direction:column;gap:1.25rem;padding:1.5rem;display:flex}.org-settings-legend{color:#374151;padding:0 .5rem;font-size:1rem;font-weight:600}.org-settings-field{flex-direction:column;gap:.375rem;display:flex}.org-settings-label{color:#374151;font-size:.875rem;font-weight:500}.org-settings-select{color:#1f2937;cursor:pointer;background-color:#fff;border:1px solid #d1d5db;border-radius:6px;padding:.625rem .75rem;font-size:.875rem;transition:border-color .15s,box-shadow .15s}.org-settings-select:focus{border-color:#3b82f6;outline:none;box-shadow:0 0 0 3px #3b82f61a}.org-settings-save-btn{color:#fff;cursor:pointer;background-color:#3b82f6;border:1px solid #3b82f6;border-radius:6px;justify-content:center;align-self:flex-start;align-items:center;padding:.625rem 1.5rem;font-size:.875rem;font-weight:500;transition:background-color .15s;display:inline-flex}.org-settings-save-btn:hover{background-color:#2563eb}.org-settings-save-btn:disabled{opacity:.6;cursor:not-allowed}.org-settings-usage{border:1px solid #e5e7eb;border-radius:8px;flex-direction:column;gap:1.25rem;padding:1.5rem;display:flex}.org-settings-usage-title{color:#1f2937;margin:0;font-size:1.125rem;font-weight:600}.org-settings-tier{align-items:center;gap:.5rem;font-size:.9375rem;display:flex}.org-settings-tier-label{color:#6b7280}.org-settings-tier-value{color:#1f2937;text-transform:capitalize;font-weight:600}.org-settings-usage-grid{grid-template-columns:1fr;gap:1rem;display:grid}@media (width>=640px){.org-settings-usage-grid{grid-template-columns:repeat(3,1fr)}}.usage-meter{flex-direction:column;gap:.375rem;display:flex}.usage-meter-header{justify-content:space-between;align-items:center;display:flex}.usage-meter-label{color:#374151;font-size:.8125rem;font-weight:500}.usage-meter-count{color:#6b7280;font-size:.8125rem}.usage-meter-track{background-color:#e5e7eb;border-radius:4px;height:8px;overflow:hidden}.usage-meter-bar{background-color:#3b82f6;border-radius:4px;height:100%;transition:width .3s}.usage-meter-bar--warning{background-color:#f59e0b}.usage-meter-warning{color:#d97706;font-size:.75rem;font-weight:500}.org-analytics-page{flex-direction:column;gap:1.5rem;display:flex}.org-analytics-header{flex-direction:column;gap:.5rem;display:flex}.org-analytics-header h1{color:#1f2937;font-size:1.5rem;font-weight:600}.org-analytics-back-link{color:#3b82f6;font-size:.875rem;text-decoration:none}.org-analytics-back-link:hover{text-decoration:underline}.org-analytics-date-picker{background-color:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:1.25rem}.org-analytics-date-fields{flex-wrap:wrap;gap:1rem;display:flex}.org-analytics-date-field{flex-direction:column;gap:.375rem;display:flex}.org-analytics-date-field label{color:#6b7280;text-transform:uppercase;letter-spacing:.05em;font-size:.75rem;font-weight:600}.org-analytics-date-field input[type=date]{color:#1f2937;background-color:#fff;border:1px solid #d1d5db;border-radius:6px;padding:.5rem .75rem;font-size:.875rem}.org-analytics-date-field input[type=date]:focus{border-color:#3b82f6;outline:none;box-shadow:0 0 0 2px #3b82f633}.org-analytics-date-error{color:#dc2626;margin:.75rem 0 0;font-size:.8125rem;font-weight:500}.org-analytics-date-hint{color:#9ca3af;margin:.5rem 0 0;font-size:.75rem}.org-analytics-cached-notice{color:#0c4a6e;background-color:#f0f9ff;border:1px solid #bae6fd;border-radius:8px;align-items:center;gap:.5rem;padding:.75rem 1rem;font-size:.875rem;display:flex}.org-analytics-cached-icon{flex-shrink:0}.org-analytics-loading{justify-content:center;padding:3rem;display:flex}.org-analytics-loading .loading-spinner{border:3px solid #e5e7eb;border-top-color:#3b82f6;border-radius:50%;width:32px;height:32px;animation:.8s linear infinite org-analytics-spin}@keyframes org-analytics-spin{to{transform:rotate(360deg)}}.org-analytics-error{color:#dc2626;background-color:#fef2f2;border:1px solid #fecaca;border-radius:8px;padding:1rem;font-size:.9375rem}.org-analytics-metrics{background-color:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:1.5rem}.org-analytics-section-title{color:#1f2937;margin:0 0 1rem;font-size:1.125rem;font-weight:600}.org-analytics-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;display:grid}.org-analytics-card{background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;flex-direction:column;gap:.25rem;padding:1.25rem;display:flex}.org-analytics-card--unavailable{opacity:.75;background-color:#f3f4f6;border:1px dashed #d1d5db}.org-analytics-card-label{color:#6b7280;text-transform:uppercase;letter-spacing:.05em;font-size:.75rem;font-weight:600}.org-analytics-card-value{color:#1f2937;font-size:1.75rem;font-weight:700}.org-analytics-card-value--unavailable{color:#9ca3af;font-size:1rem;font-style:italic;font-weight:500}.org-analytics-card-hint{color:#9ca3af;font-size:.6875rem}.org-admin-layout{gap:0;min-height:calc(100vh - 64px);display:flex}.org-admin-nav{background-color:#f9fafb;border-right:1px solid #e5e7eb;flex-direction:column;width:240px;min-width:240px;padding:0;display:flex}.org-admin-nav-header{border-bottom:1px solid #e5e7eb;padding:1.25rem 1.5rem}.org-admin-nav-org-name{color:#1f2937;white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:.9375rem;font-weight:600;overflow:hidden}.org-admin-nav-subtitle{color:#6b7280;text-transform:uppercase;letter-spacing:.05em;font-size:.75rem;font-weight:600}.org-admin-nav-list{flex-direction:column;gap:.125rem;margin:0;padding:.75rem 0;list-style:none;display:flex}.org-admin-nav-item{margin:0;padding:0}.org-admin-nav-link{color:#4b5563;border-left:3px solid #0000;padding:.625rem 1.5rem;font-size:.875rem;font-weight:500;text-decoration:none;transition:background-color .15s,color .15s,border-color .15s;display:block}.org-admin-nav-link:hover{color:#1f2937;background-color:#f3f4f6}.org-admin-nav-link--active{color:#1d4ed8;background-color:#eff6ff;border-left-color:#3b82f6;font-weight:600}.org-admin-loading{color:#6b7280;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:1rem;font-size:.875rem;display:flex}.org-admin-error{color:#dc2626;flex:1;padding:2rem;font-size:.875rem}.org-admin-content{flex:1;padding:2rem;overflow-y:auto}.org-admin-dashboard{flex-direction:column;gap:1.5rem;display:flex}.org-admin-dashboard-title{color:#1f2937;margin:0;font-size:1.5rem;font-weight:600}.org-admin-dashboard-loading{color:#6b7280;flex-direction:column;justify-content:center;align-items:center;gap:1rem;padding:3rem;font-size:.875rem;display:flex}.org-admin-dashboard-loading .loading-spinner{border:3px solid #e5e7eb;border-top-color:#3b82f6;border-radius:50%;width:32px;height:32px;animation:.8s linear infinite org-admin-dashboard-spin}@keyframes org-admin-dashboard-spin{to{transform:rotate(360deg)}}.org-admin-dashboard-error{color:#dc2626;background-color:#fef2f2;border:1px solid #fecaca;border-radius:8px;flex-direction:column;align-items:flex-start;gap:.75rem;padding:1rem 1.25rem;font-size:.9375rem;display:flex}.org-admin-dashboard-error p{margin:0}.org-admin-dashboard-retry-btn{color:#fff;cursor:pointer;background-color:#dc2626;border:none;border-radius:6px;padding:.375rem .875rem;font-size:.875rem;font-weight:500;transition:background-color .15s}.org-admin-dashboard-retry-btn:hover{background-color:#b91c1c}.org-admin-dashboard-retry-btn:focus-visible{outline-offset:2px;outline:2px solid #dc2626}.org-admin-dashboard-cards{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;display:grid}.org-admin-dashboard-card{background-color:#fff;border:1px solid #e5e7eb;border-radius:8px;flex-direction:column;gap:.375rem;padding:1.5rem 1.25rem;display:flex;box-shadow:0 1px 3px #0000000d}.org-admin-dashboard-card-value{color:#1f2937;font-size:2rem;font-weight:700;line-height:1}.org-admin-dashboard-card-label{color:#6b7280;text-transform:uppercase;letter-spacing:.05em;font-size:.75rem;font-weight:600}.org-courses-page{flex-direction:column;gap:1.25rem;max-width:1100px;display:flex}.org-courses-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;display:flex}.org-courses-title{color:#1f2937;font-size:1.5rem;font-weight:600}.org-courses-new-btn{color:#fff;background-color:#2563eb;border-radius:6px;align-items:center;padding:.5rem 1rem;font-size:.875rem;font-weight:500;text-decoration:none;transition:background-color .15s;display:inline-flex}.org-courses-new-btn:hover{background-color:#1d4ed8}.org-courses-filters{background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;flex-wrap:wrap;align-items:flex-end;gap:1rem;padding:1rem;display:flex}.org-courses-filter-group{flex-direction:column;gap:.25rem;min-width:160px;display:flex}.org-courses-filter-label{color:#374151;text-transform:uppercase;letter-spacing:.025em;font-size:.75rem;font-weight:500}.org-courses-search-input,.org-courses-select,.org-courses-date-input{color:#1f2937;background-color:#fff;border:1px solid #d1d5db;border-radius:6px;padding:.5rem .75rem;font-size:.875rem;transition:border-color .15s,box-shadow .15s}.org-courses-search-input{min-width:220px}.org-courses-search-input:focus,.org-courses-select:focus,.org-courses-date-input:focus{border-color:#3b82f6;outline:none;box-shadow:0 0 0 3px #3b82f61a}.org-courses-search-input--error{border-color:#ef4444}.org-courses-search-input--error:focus{border-color:#ef4444;box-shadow:0 0 0 3px #ef44441a}.org-courses-field-error{color:#dc2626;font-size:.75rem}.org-courses-clear-btn{color:#374151;cursor:pointer;background-color:#fff;border:1px solid #d1d5db;border-radius:6px;align-self:flex-end;padding:.5rem .875rem;font-size:.8125rem;font-weight:500;transition:background-color .15s}.org-courses-clear-btn:hover{background-color:#f3f4f6}.org-courses-count{color:#6b7280;font-size:.875rem}.org-courses-error{color:#991b1b;background-color:#fef2f2;border:1px solid #fecaca;border-radius:6px;align-items:center;gap:.75rem;padding:.75rem 1rem;font-size:.875rem;display:flex}.org-courses-retry-btn{color:#dc2626;cursor:pointer;background-color:#fff;border:1px solid #fca5a5;border-radius:4px;padding:.25rem .625rem;font-size:.8125rem;font-weight:500;transition:background-color .15s}.org-courses-retry-btn:hover{background-color:#fef2f2}.org-courses-loading{color:#6b7280;flex-direction:column;align-items:center;gap:.75rem;padding:3rem;display:flex}.org-courses-table-wrapper{overflow-x:auto}.org-courses-table{border-collapse:collapse;width:100%;font-size:.875rem}.org-courses-table thead{background-color:#f9fafb;border-bottom:1px solid #e5e7eb}.org-courses-table th{text-align:left;color:#374151;white-space:nowrap;padding:.75rem 1rem;font-weight:500}.org-courses-table td{vertical-align:middle;border-bottom:1px solid #f3f4f6;padding:.75rem 1rem}.org-courses-table tbody tr:hover{background-color:#f9fafb}.org-courses-title-cell{flex-direction:column;gap:.125rem;max-width:280px;display:flex}.org-courses-title-link{color:#2563eb;white-space:nowrap;text-overflow:ellipsis;font-weight:500;text-decoration:none;overflow:hidden}.org-courses-title-link:hover{text-decoration:underline}.org-courses-description{color:#6b7280;text-overflow:ellipsis;white-space:nowrap;font-size:.8125rem;overflow:hidden}.org-courses-badge{text-transform:capitalize;white-space:nowrap;color:#374151;background-color:#f3f4f6;border-radius:9999px;padding:.2rem .5rem;font-size:.75rem;font-weight:500;display:inline-block}.org-courses-badge--active{color:#166534;background-color:#dcfce7}.org-courses-badge--upcoming{color:#1e40af;background-color:#dbeafe}.org-courses-badge--completed{color:#374151;background-color:#f3f4f6}.org-courses-badge--archived{color:#92400e;background-color:#fef3c7}.org-courses-date-cell{white-space:nowrap;color:#6b7280}.org-courses-owner-cell{color:#374151;white-space:nowrap}.org-courses-enrollment-cell{text-align:center;color:#1f2937;font-weight:500}.org-courses-edit-btn{color:#374151;white-space:nowrap;background-color:#fff;border:1px solid #d1d5db;border-radius:6px;padding:.375rem .75rem;font-size:.8125rem;font-weight:500;text-decoration:none;transition:background-color .15s;display:inline-block}.org-courses-edit-btn:hover{background-color:#f9fafb}.org-courses-empty{text-align:center;color:#6b7280;padding:3rem 1rem}.org-courses-pagination{justify-content:center;align-items:center;gap:1rem;padding-top:.5rem;display:flex}.org-courses-pagination-btn{color:#374151;cursor:pointer;background-color:#fff;border:1px solid #d1d5db;border-radius:6px;padding:.5rem 1rem;font-size:.875rem;font-weight:500;transition:background-color .15s}.org-courses-pagination-btn:hover:not(:disabled){background-color:#f9fafb}.org-courses-pagination-btn:disabled{opacity:.5;cursor:not-allowed}.org-courses-pagination-info{color:#6b7280;font-size:.875rem}.org-course-detail{max-width:1200px}.org-courses-back-link{color:#2563eb;margin-bottom:1rem;font-size:.875rem;text-decoration:none;display:inline-block}.org-courses-back-link:hover{text-decoration:underline}.org-course-detail-header{align-items:center;gap:1rem;margin-bottom:1.5rem;display:flex}.org-course-detail-header h1{margin:0;font-size:1.5rem;font-weight:600}.org-course-detail-meta{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;margin-bottom:1.5rem;padding:1.5rem}.org-course-detail-field{margin-bottom:1rem}.org-course-detail-field:last-child{margin-bottom:0}.org-course-detail-label{color:#6b7280;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.25rem;font-size:.75rem;font-weight:600;display:block}.org-course-detail-row{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem;display:grid}.org-course-detail-actions{flex-wrap:wrap;align-items:center;gap:1rem;display:flex}.org-admin-course-form-page{max-width:680px}.org-admin-course-form-title{color:#1f2937;margin-bottom:1.5rem;font-size:1.5rem;font-weight:600}.org-admin-course-form-loading{color:#6b7280;flex-direction:column;justify-content:center;align-items:center;gap:1rem;padding:3rem 1rem;font-size:.875rem;display:flex}.org-admin-course-form-server-error{color:#991b1b;background-color:#fef2f2;border:1px solid #fecaca;border-radius:6px;margin-bottom:1.25rem;padding:.75rem 1rem;font-size:.875rem}.org-admin-course-form{flex-direction:column;gap:1.25rem;display:flex}.org-admin-form-field{flex-direction:column;gap:.375rem;display:flex}.org-admin-form-label{color:#374151;font-size:.875rem;font-weight:500}.org-admin-form-input{color:#1f2937;background-color:#fff;border:1px solid #d1d5db;border-radius:6px;padding:.5rem .75rem;font-size:.9375rem;transition:border-color .15s,box-shadow .15s}.org-admin-form-input::placeholder{color:#9ca3af}.org-admin-form-input:focus{border-color:#3b82f6;outline:none;box-shadow:0 0 0 3px #3b82f61a}.org-admin-form-input:disabled{color:#6b7280;cursor:not-allowed;background-color:#f9fafb}.org-admin-form-input-error{border-color:#ef4444}.org-admin-form-input-error:focus{border-color:#ef4444;box-shadow:0 0 0 3px #ef44441a}.org-admin-form-textarea{resize:vertical;min-height:120px}.org-admin-form-row{grid-template-columns:1fr 1fr;gap:1rem;display:grid}@media (width<=480px){.org-admin-form-row{grid-template-columns:1fr}}.org-admin-form-field-error{color:#ef4444;margin:0;font-size:.8125rem}.org-admin-form-actions{gap:.75rem;margin-top:.5rem;display:flex}.org-admin-form-actions .btn{padding:.625rem 1.25rem}.course-actions{flex-direction:column;gap:.75rem;display:flex}.course-actions-buttons{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.course-actions-btn{cursor:pointer;white-space:nowrap;border:1px solid #0000;border-radius:.375rem;justify-content:center;align-items:center;padding:.5rem 1rem;font-size:.875rem;font-weight:500;transition:background-color .15s,opacity .15s;display:inline-flex}.course-actions-btn:disabled{opacity:.6;cursor:not-allowed}.course-actions-btn--primary{color:#fff;background-color:#2563eb;border-color:#2563eb}.course-actions-btn--primary:not(:disabled):hover{background-color:#1d4ed8}.course-actions-btn--secondary{color:#374151;background-color:#fff;border-color:#d1d5db}.course-actions-btn--secondary:not(:disabled):hover{background-color:#f9fafb}.course-actions-btn--danger{color:#fff;background-color:#dc2626;border-color:#dc2626}.course-actions-btn--danger:not(:disabled):hover{background-color:#b91c1c}.course-actions-message{border-radius:.375rem;margin:0;padding:.5rem .75rem;font-size:.875rem}.course-actions-message--error{color:#dc2626;background-color:#fef2f2;border:1px solid #fecaca}.course-actions-message--success{color:#16a34a;background-color:#f0fdf4;border:1px solid #bbf7d0}.course-actions-overlay{z-index:1000;background-color:#00000080;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.course-actions-dialog{background:#fff;border-radius:.5rem;flex-direction:column;gap:1rem;width:100%;max-width:480px;padding:1.5rem;display:flex;box-shadow:0 20px 60px #0003}.course-actions-dialog--transfer{max-width:520px}.course-actions-dialog-title{color:#111827;margin:0;font-size:1.125rem;font-weight:600}.course-actions-dialog-body{color:#4b5563;margin:0;font-size:.875rem;line-height:1.5}.course-actions-dialog-footer{justify-content:flex-end;gap:.5rem;margin-top:.5rem;display:flex}.course-actions-transfer-search{flex-direction:column;gap:.25rem;display:flex}.course-actions-search-input{color:#111827;box-sizing:border-box;border:1px solid #d1d5db;border-radius:.375rem;width:100%;padding:.5rem .75rem;font-size:.875rem}.course-actions-search-input:focus{border-color:#2563eb;outline:none;box-shadow:0 0 0 2px #2563eb33}.course-actions-org-list{border:1px solid #e5e7eb;border-radius:.375rem;flex-direction:column;max-height:240px;display:flex;overflow-y:auto}.course-actions-org-list-loading,.course-actions-org-list-error,.course-actions-org-list-empty{color:#6b7280;text-align:center;margin:0;padding:1rem;font-size:.875rem}.course-actions-org-list-error{color:#dc2626}.course-actions-org-option{cursor:pointer;text-align:left;background:0 0;border:none;border-bottom:1px solid #f3f4f6;justify-content:space-between;align-items:center;gap:.5rem;width:100%;padding:.625rem .75rem;transition:background-color .1s;display:flex}.course-actions-org-option:last-child{border-bottom:none}.course-actions-org-option:hover{background-color:#f9fafb}.course-actions-org-option--selected{background-color:#eff6ff}.course-actions-org-option--selected:hover{background-color:#dbeafe}.course-actions-org-name{color:#111827;font-size:.875rem;font-weight:500}.course-actions-org-code{color:#6b7280;font-family:monospace;font-size:.75rem}.org-admin-enrollments{flex-direction:column;gap:1.25rem;max-width:1100px;display:flex}.org-admin-enrollments-header{flex-direction:column;gap:.25rem;display:flex}.org-admin-enrollments-title-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.org-admin-enrollments-title{color:#1f2937;margin:0;font-size:1.5rem;font-weight:600}.org-admin-enrollments-count{color:#6b7280;margin:0;font-size:.875rem}.org-admin-enrollments-enroll-btn{color:#fff;cursor:pointer;white-space:nowrap;background-color:#4f46e5;border:none;border-radius:6px;align-items:center;padding:.5rem 1rem;font-size:.875rem;font-weight:600;text-decoration:none;transition:background-color .15s;display:inline-flex}.org-admin-enrollments-enroll-btn:hover{background-color:#4338ca}.org-admin-enrollments-filters{background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;padding:1rem}.org-admin-enrollments-filter-row{flex-wrap:wrap;align-items:flex-end;gap:1rem;display:flex}.org-admin-enrollments-filter-group{flex-direction:column;flex:1;gap:.25rem;min-width:180px;display:flex}.org-admin-enrollments-filter-label{color:#374151;text-transform:uppercase;letter-spacing:.025em;font-size:.75rem;font-weight:500}.org-admin-enrollments-filter-input{color:#1f2937;background-color:#fff;border:1px solid #d1d5db;border-radius:6px;padding:.5rem .75rem;font-family:inherit;font-size:.875rem;transition:border-color .15s}.org-admin-enrollments-filter-input:focus{border-color:#4f46e5;outline:none;box-shadow:0 0 0 2px #4f46e526}.org-admin-enrollments-filter-input::placeholder{color:#9ca3af}.org-admin-enrollments-filter-select{color:#1f2937;cursor:pointer;background-color:#fff;border:1px solid #d1d5db;border-radius:6px;padding:.5rem .75rem;font-family:inherit;font-size:.875rem;transition:border-color .15s}.org-admin-enrollments-filter-select:focus{border-color:#4f46e5;outline:none;box-shadow:0 0 0 2px #4f46e526}.org-admin-enrollments-filter-actions{align-items:flex-end;gap:.5rem;padding-bottom:0;display:flex}.org-admin-enrollments-apply-btn{color:#fff;cursor:pointer;white-space:nowrap;background-color:#4f46e5;border:1px solid #4f46e5;border-radius:6px;padding:.5rem 1rem;font-size:.875rem;font-weight:500;transition:background-color .15s}.org-admin-enrollments-apply-btn:hover{background-color:#4338ca;border-color:#4338ca}.org-admin-enrollments-clear-btn{color:#374151;cursor:pointer;white-space:nowrap;background-color:#fff;border:1px solid #d1d5db;border-radius:6px;padding:.5rem 1rem;font-size:.875rem;font-weight:500;transition:background-color .15s}.org-admin-enrollments-clear-btn:hover{background-color:#f3f4f6}.org-admin-enrollments-message{border-radius:6px;align-items:center;gap:.75rem;padding:.625rem .75rem;font-size:.875rem;display:flex}.org-admin-enrollments-message--error{color:#991b1b;background-color:#fef2f2;border:1px solid #fecaca}.org-admin-enrollments-message--success{color:#166534;background-color:#f0fdf4;border:1px solid #bbf7d0}.org-admin-enrollments-retry-btn{color:#991b1b;cursor:pointer;background-color:#0000;border:1px solid #fecaca;border-radius:4px;margin-left:auto;padding:.25rem .625rem;font-size:.8125rem;font-weight:500;transition:background-color .15s}.org-admin-enrollments-retry-btn:hover{background-color:#fee2e2}.org-admin-enrollments-loading{color:#6b7280;flex-direction:column;align-items:center;gap:.75rem;padding:2rem;display:flex}.org-admin-enrollments-table-wrapper{overflow-x:auto}.org-admin-enrollments-table{border-collapse:collapse;width:100%;font-size:.875rem}.org-admin-enrollments-table thead{background-color:#f9fafb;border-bottom:1px solid #e5e7eb}.org-admin-enrollments-table th{text-align:left;color:#374151;white-space:nowrap;padding:.75rem 1rem;font-weight:500}.org-admin-enrollments-table td{vertical-align:middle;border-bottom:1px solid #f3f4f6;padding:.75rem 1rem}.org-admin-enrollments-table tbody tr:hover{background-color:#f9fafb}.org-admin-enrollments-user-cell{flex-direction:column;gap:.125rem;display:flex}.org-admin-enrollments-display-name{color:#1f2937;font-weight:500}.org-admin-enrollments-email{color:#6b7280;font-size:.8125rem}.org-admin-enrollments-course-cell{flex-direction:column;gap:.125rem;display:flex}.org-admin-enrollments-course-title{color:#1f2937;font-weight:500}.org-admin-enrollments-course-id{color:#9ca3af;text-overflow:ellipsis;white-space:nowrap;max-width:220px;font-family:monospace;font-size:.75rem;overflow:hidden}.org-admin-enrollments-date-cell{white-space:nowrap;color:#6b7280}.org-admin-enrollments-role-badge{white-space:nowrap;border-radius:9999px;padding:.2rem .5rem;font-size:.75rem;font-weight:500;display:inline-block}.org-admin-enrollments-role-badge--student{color:#1d4ed8;background-color:#eff6ff}.org-admin-enrollments-role-badge--teaching_assistant{color:#854d0e;background-color:#fefce8}.org-admin-enrollments-role-badge--instructor{color:#166534;background-color:#f0fdf4}.org-admin-enrollments-unenroll-btn{color:#dc2626;cursor:pointer;white-space:nowrap;background-color:#fff;border:1px solid #fecaca;border-radius:6px;padding:.375rem .75rem;font-size:.8125rem;font-weight:500;transition:background-color .15s,border-color .15s}.org-admin-enrollments-unenroll-btn:hover:not(:disabled){background-color:#fef2f2;border-color:#f87171}.org-admin-enrollments-unenroll-btn:disabled{opacity:.5;cursor:not-allowed}.org-admin-enrollments-empty{text-align:center;color:#6b7280;padding:2rem 1rem;font-style:italic}.org-admin-enrollments-pagination{justify-content:center;align-items:center;gap:1rem;padding-top:.5rem;display:flex}.org-admin-enrollments-pagination-btn{color:#374151;cursor:pointer;background-color:#fff;border:1px solid #d1d5db;border-radius:6px;padding:.5rem 1rem;font-size:.875rem;font-weight:500;transition:background-color .15s}.org-admin-enrollments-pagination-btn:hover:not(:disabled){background-color:#f9fafb}.org-admin-enrollments-pagination-btn:disabled{opacity:.5;cursor:not-allowed}.org-admin-enrollments-pagination-info{color:#6b7280;font-size:.875rem}.org-join-requests{flex-direction:column;gap:1rem;max-width:1200px;display:flex}.org-join-requests-title{color:#1f2937;font-size:1.5rem;font-weight:600}.org-join-requests-count{color:#6b7280;font-size:.875rem}.org-join-requests-loading{color:#6b7280;flex-direction:column;align-items:center;gap:.75rem;padding:2rem;display:flex}.org-join-requests-banner{border-radius:6px;justify-content:space-between;align-items:center;gap:.75rem;padding:.625rem .75rem;font-size:.875rem;display:flex}.org-join-requests-banner--error{color:#991b1b;background-color:#fef2f2;border:1px solid #fecaca}.org-join-requests-retry-btn,.org-join-requests-dismiss-btn{color:#dc2626;cursor:pointer;background-color:#fff;border:1px solid #fecaca;border-radius:4px;flex-shrink:0;padding:.25rem .625rem;font-size:.8125rem;font-weight:500;transition:background-color .15s}.org-join-requests-retry-btn:hover,.org-join-requests-dismiss-btn:hover{background-color:#fef2f2}.org-join-requests-table-wrapper{overflow-x:auto}.org-join-requests-table{border-collapse:collapse;width:100%;font-size:.875rem}.org-join-requests-table thead{background-color:#f9fafb;border-bottom:1px solid #e5e7eb}.org-join-requests-table th{text-align:left;color:#374151;white-space:nowrap;padding:.75rem 1rem;font-weight:500}.org-join-requests-table td{vertical-align:middle;border-bottom:1px solid #f3f4f6;padding:.75rem 1rem}.org-join-requests-table tbody tr:hover{background-color:#f9fafb}.org-join-requests-name-cell{color:#1f2937;font-weight:500}.org-join-requests-display-name{display:block}.org-join-requests-email-cell{color:#6b7280;font-size:.8125rem}.org-join-requests-date-cell{white-space:nowrap;color:#6b7280}.org-join-requests-actions-cell{align-items:center;gap:.5rem;display:flex}.org-join-requests-approve-btn{color:#166534;cursor:pointer;white-space:nowrap;background-color:#fff;border:1px solid #bbf7d0;border-radius:6px;padding:.375rem .75rem;font-size:.8125rem;font-weight:500;transition:background-color .15s,border-color .15s}.org-join-requests-approve-btn:hover:not(:disabled){background-color:#f0fdf4;border-color:#86efac}.org-join-requests-approve-btn:disabled{opacity:.5;cursor:not-allowed}.org-join-requests-reject-btn{color:#dc2626;cursor:pointer;white-space:nowrap;background-color:#fff;border:1px solid #fecaca;border-radius:6px;padding:.375rem .75rem;font-size:.8125rem;font-weight:500;transition:background-color .15s,border-color .15s}.org-join-requests-reject-btn:hover:not(:disabled){background-color:#fef2f2;border-color:#f87171}.org-join-requests-reject-btn:disabled{opacity:.5;cursor:not-allowed}.org-join-requests-empty{text-align:center;color:#6b7280;padding:2rem 1rem}.org-join-requests-pagination{justify-content:center;align-items:center;gap:1rem;padding-top:.5rem;display:flex}.org-join-requests-pagination-btn{color:#374151;cursor:pointer;background-color:#fff;border:1px solid #d1d5db;border-radius:6px;padding:.5rem 1rem;font-size:.875rem;font-weight:500;transition:background-color .15s}.org-join-requests-pagination-btn:hover:not(:disabled){background-color:#f9fafb}.org-join-requests-pagination-btn:disabled{opacity:.5;cursor:not-allowed}.org-join-requests-pagination-info{color:#6b7280;font-size:.875rem}.org-invitations{flex-direction:column;gap:2rem;padding:1.5rem;display:flex}.org-invitations-title{color:#111827;margin:0;font-size:1.5rem;font-weight:700}.org-invite-section{background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;flex-direction:column;gap:.75rem;padding:1.25rem;display:flex}.org-invite-section-title{color:#374151;margin:0;font-size:1rem;font-weight:600}.org-invite-form{flex-direction:column;gap:.75rem;display:flex}.org-invite-form-row{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.org-invite-input{border:1px solid #d1d5db;border-radius:6px;flex:1;min-width:200px;padding:.5rem .75rem;font-family:inherit;font-size:.875rem}.org-invite-input:focus{border-color:#4f46e5;outline:none;box-shadow:0 0 0 2px #4f46e533}.org-invite-select{cursor:pointer;background-color:#fff;border:1px solid #d1d5db;border-radius:6px;padding:.5rem .75rem;font-family:inherit;font-size:.875rem}.org-invite-select:focus{border-color:#4f46e5;outline:none;box-shadow:0 0 0 2px #4f46e533}.org-invite-textarea{resize:vertical;border:1px solid #d1d5db;border-radius:6px;width:100%;padding:.75rem;font-family:inherit;font-size:.875rem;line-height:1.5}.org-invite-textarea:focus{border-color:#4f46e5;outline:none;box-shadow:0 0 0 2px #4f46e533}.org-invite-btn{color:#fff;cursor:pointer;white-space:nowrap;background-color:#4f46e5;border:none;border-radius:6px;justify-content:center;align-items:center;padding:.5rem 1rem;font-size:.875rem;font-weight:600;transition:background-color .15s;display:inline-flex}.org-invite-btn:hover:not(:disabled){background-color:#4338ca}.org-invite-btn:disabled{opacity:.6;cursor:not-allowed}.org-invite-hint{color:#6b7280;margin:0;font-size:.75rem}.org-invite-success{color:#059669;background-color:#ecfdf5;border:1px solid #a7f3d0;border-radius:6px;padding:.5rem .75rem;font-size:.875rem}.org-invite-error{color:#dc2626;background-color:#fef2f2;border:1px solid #fecaca;border-radius:6px;padding:.5rem .75rem;font-size:.875rem}.org-invite-loading{color:#6b7280;margin:0;font-size:.875rem}.org-invite-empty{color:#6b7280;margin:0;font-size:.875rem;font-style:italic}.org-invite-table{border-collapse:collapse;width:100%;font-size:.875rem}.org-invite-table th{text-align:left;color:#374151;border-bottom:2px solid #e5e7eb;padding:.625rem .75rem;font-weight:600}.org-invite-table td{color:#4b5563;border-bottom:1px solid #f3f4f6;padding:.625rem .75rem}.org-invite-role-cell{text-transform:capitalize}.org-invite-cancel-btn{color:#dc2626;cursor:pointer;background-color:#0000;border:1px solid #fecaca;border-radius:4px;padding:.25rem .625rem;font-size:.8125rem;font-weight:500;transition:background-color .15s}.org-invite-cancel-btn:hover:not(:disabled){background-color:#fef2f2}.org-invite-cancel-btn:disabled{opacity:.6;cursor:not-allowed}.org-admin-invitations{flex-direction:column;gap:2rem;display:flex}.org-admin-inv-badge{text-transform:capitalize;border-radius:9999px;padding:.2rem .5rem;font-size:.75rem;font-weight:600;display:inline-block}.org-admin-inv-badge--pending{color:#92400e;background-color:#fef3c7}.org-admin-inv-badge--accepted{color:#065f46;background-color:#d1fae5}.org-admin-inv-badge--expired{color:#6b7280;background-color:#f3f4f6}.org-admin-inv-badge--cancelled{color:#991b1b;background-color:#fee2e2}.org-admin-inv-table-wrapper{overflow-x:auto}.org-admin-inv-table{min-width:700px}.org-admin-inv-resend-btn{color:#4f46e5;cursor:pointer;white-space:nowrap;background-color:#0000;border:1px solid #c7d2fe;border-radius:4px;padding:.25rem .625rem;font-size:.8125rem;font-weight:500;transition:background-color .15s}.org-admin-inv-resend-btn:hover:not(:disabled){background-color:#eef2ff}.org-admin-inv-resend-btn:disabled{opacity:.6;cursor:not-allowed}.org-admin-inv-retry-btn{color:#dc2626;cursor:pointer;background-color:#0000;border:1px solid #fecaca;border-radius:4px;margin-left:.75rem;padding:.2rem .5rem;font-size:.8125rem;font-weight:500}.org-admin-inv-retry-btn:hover{background-color:#fef2f2}.org-admin-inv-pagination{align-items:center;gap:.75rem;margin-top:.5rem;display:flex}.org-admin-inv-pagination-btn{color:#374151;cursor:pointer;background-color:#fff;border:1px solid #d1d5db;border-radius:6px;padding:.375rem .75rem;font-size:.875rem;font-weight:500;transition:background-color .15s}.org-admin-inv-pagination-btn:hover:not(:disabled){background-color:#f9fafb}.org-admin-inv-pagination-btn:disabled{opacity:.5;cursor:not-allowed}.org-admin-inv-pagination-info{color:#6b7280;font-size:.875rem}.org-members-page{flex-direction:column;gap:1rem;max-width:1200px;display:flex}.org-members-title{color:#1f2937;font-size:1.5rem;font-weight:600}.org-members-count{color:#6b7280;font-size:.875rem}.org-members-loading{color:#6b7280;flex-direction:column;align-items:center;gap:.75rem;padding:2rem;display:flex}.org-members-message{border-radius:6px;padding:.625rem .75rem;font-size:.875rem}.org-members-message--error{color:#991b1b;background-color:#fef2f2;border:1px solid #fecaca}.org-members-message--success{color:#166534;background-color:#f0fdf4;border:1px solid #bbf7d0}.org-members-table-wrapper{overflow-x:auto}.org-members-table{border-collapse:collapse;width:100%;font-size:.875rem}.org-members-table thead{background-color:#f9fafb;border-bottom:1px solid #e5e7eb}.org-members-table th{text-align:left;color:#374151;white-space:nowrap;padding:.75rem 1rem;font-weight:500}.org-members-table td{vertical-align:middle;border-bottom:1px solid #f3f4f6;padding:.75rem 1rem}.org-members-table tbody tr:hover{background-color:#f9fafb}.org-members-name-cell{flex-direction:column;gap:.125rem;display:flex}.org-members-display-name{color:#1f2937;font-weight:500}.org-members-email{color:#6b7280;font-size:.8125rem}.org-members-date-cell{white-space:nowrap;color:#6b7280}.org-members-role-select{color:#1f2937;cursor:pointer;background-color:#fff;border:1px solid #d1d5db;border-radius:6px;padding:.375rem .5rem;font-size:.8125rem;transition:border-color .15s}.org-members-role-select:focus{border-color:#3b82f6;outline:none;box-shadow:0 0 0 3px #3b82f61a}.org-members-role-select:disabled{opacity:.6;cursor:not-allowed}.org-members-remove-btn{color:#dc2626;cursor:pointer;background-color:#fff;border:1px solid #fecaca;border-radius:6px;padding:.375rem .75rem;font-size:.8125rem;font-weight:500;transition:background-color .15s,border-color .15s}.org-members-remove-btn:hover:not(:disabled){background-color:#fef2f2;border-color:#f87171}.org-members-remove-btn:disabled{opacity:.5;cursor:not-allowed}.org-members-empty{text-align:center;color:#6b7280;padding:2rem 1rem}.org-members-pagination{justify-content:center;align-items:center;gap:1rem;padding-top:.5rem;display:flex}.org-members-pagination-btn{color:#374151;cursor:pointer;background-color:#fff;border:1px solid #d1d5db;border-radius:6px;padding:.5rem 1rem;font-size:.875rem;font-weight:500;transition:background-color .15s}.org-members-pagination-btn:hover:not(:disabled){background-color:#f9fafb}.org-members-pagination-btn:disabled{opacity:.5;cursor:not-allowed}.org-members-pagination-info{color:#6b7280;font-size:.875rem}.org-branding-editor{flex-direction:column;gap:1.5rem;padding:1.5rem;display:flex}.org-branding-editor-title{color:#111827;margin:0;font-size:1.5rem;font-weight:700}.org-branding-editor-layout{grid-template-columns:1fr 1fr;align-items:start;gap:2rem;display:grid}@media (width<=768px){.org-branding-editor-layout{grid-template-columns:1fr}}.org-branding-form{flex-direction:column;gap:1.25rem;display:flex}.org-branding-field{flex-direction:column;gap:.375rem;display:flex}.org-branding-label{color:#374151;font-size:.875rem;font-weight:600}.org-branding-input{border:1px solid #d1d5db;border-radius:6px;padding:.5rem .75rem;font-family:inherit;font-size:.875rem}.org-branding-input:focus{border-color:#4f46e5;outline:none;box-shadow:0 0 0 2px #4f46e533}.org-branding-color-row{align-items:center;gap:.5rem;display:flex}.org-branding-color-picker{cursor:pointer;background:0 0;border:1px solid #d1d5db;border-radius:6px;width:40px;height:36px;padding:2px}.org-branding-color-picker:focus{border-color:#4f46e5;outline:none;box-shadow:0 0 0 2px #4f46e533}.org-branding-color-text{border:1px solid #d1d5db;border-radius:6px;flex:1;padding:.5rem .75rem;font-family:monospace;font-size:.875rem}.org-branding-color-text:focus{border-color:#4f46e5;outline:none;box-shadow:0 0 0 2px #4f46e533}.org-branding-textarea{resize:vertical;border:1px solid #d1d5db;border-radius:6px;width:100%;padding:.75rem;font-family:inherit;font-size:.875rem;line-height:1.5}.org-branding-textarea:focus{border-color:#4f46e5;outline:none;box-shadow:0 0 0 2px #4f46e533}.org-branding-hint{color:#6b7280;margin:0;font-size:.75rem}.org-branding-save-btn{color:#fff;cursor:pointer;background-color:#4f46e5;border:none;border-radius:6px;justify-content:center;align-self:flex-start;align-items:center;padding:.625rem 1.25rem;font-size:.9375rem;font-weight:600;transition:background-color .15s;display:inline-flex}.org-branding-save-btn:hover:not(:disabled){background-color:#4338ca}.org-branding-save-btn:disabled{opacity:.6;cursor:not-allowed}.org-branding-success{color:#059669;background-color:#ecfdf5;border:1px solid #a7f3d0;border-radius:6px;padding:.5rem .75rem;font-size:.875rem}.org-branding-error{color:#dc2626;background-color:#fef2f2;border:1px solid #fecaca;border-radius:6px;padding:.5rem .75rem;font-size:.875rem}.org-branding-preview{flex-direction:column;gap:.75rem;display:flex}.org-branding-preview-title{color:#374151;margin:0;font-size:1rem;font-weight:600}.org-branding-preview-card{border:2px solid #e5e7eb;border-radius:8px;overflow:hidden;box-shadow:0 1px 3px #0000001a}.org-branding-preview-header{color:#fff;align-items:center;gap:.75rem;padding:1rem 1.25rem;display:flex}.org-branding-preview-logo{object-fit:cover;background-color:#fff3;border-radius:6px;width:40px;height:40px}.org-branding-preview-org-name{font-size:1rem;font-weight:600}.org-branding-preview-body{flex-direction:column;gap:.75rem;padding:1rem 1.25rem;display:flex}.org-branding-preview-description{color:#4b5563;margin:0;font-size:.875rem;line-height:1.5}.org-branding-preview-placeholder{color:#9ca3af;font-style:italic}.org-branding-preview-accent{border-radius:4px;align-self:flex-start;align-items:center;padding:.375rem .75rem;display:inline-flex}.org-branding-preview-accent-text{color:#fff;font-size:.75rem;font-weight:500}.org-list-page{flex-direction:column;gap:1.5rem;display:flex}.org-list-header{justify-content:space-between;align-items:center;display:flex}.org-list-page h1{color:#1f2937;margin:0;font-size:1.5rem;font-weight:600}.org-create-btn{color:#fff;background-color:#3b82f6;border-radius:8px;align-items:center;padding:.5rem 1rem;font-size:.875rem;font-weight:500;text-decoration:none;transition:background-color .15s;display:inline-flex}.org-create-btn:hover{background-color:#2563eb}.org-list-controls{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.org-search-input{color:#1f2937;background-color:#fff;border:1px solid #d1d5db;border-radius:8px;flex:1;min-width:200px;padding:.625rem .75rem;font-size:.9375rem;transition:border-color .15s,box-shadow .15s}.org-search-input::placeholder{color:#9ca3af}.org-search-input:focus{border-color:#3b82f6;outline:none;box-shadow:0 0 0 3px #3b82f61a}.org-filter-select{color:#1f2937;cursor:pointer;background-color:#fff;border:1px solid #d1d5db;border-radius:8px;padding:.625rem .75rem;font-size:.875rem;transition:border-color .15s}.org-filter-select:focus{border-color:#3b82f6;outline:none;box-shadow:0 0 0 3px #3b82f61a}.org-list-error{color:#991b1b;background-color:#fef2f2;border:1px solid #fecaca;border-radius:6px;padding:.625rem .75rem;font-size:.875rem}.org-list-loading,.org-list-empty{color:#6b7280;padding:1rem 0;font-size:.875rem}.org-table-wrapper{border:1px solid #e5e7eb;border-radius:8px;overflow-x:auto}.org-table{border-collapse:collapse;width:100%;font-size:.875rem}.org-table thead{background-color:#f9fafb}.org-table th{text-align:left;color:#374151;white-space:nowrap;border-bottom:1px solid #e5e7eb;padding:.75rem 1rem;font-weight:600}.org-table td{color:#1f2937;border-bottom:1px solid #f3f4f6;padding:.75rem 1rem}.org-table tbody tr:hover{background-color:#f9fafb}.org-table tbody tr:last-child td{border-bottom:none}.org-name-link{color:#2563eb;font-weight:500;text-decoration:none}.org-name-link:hover{color:#1d4ed8;text-decoration:underline}.org-code-cell{color:#6b7280;font-family:monospace;font-size:.8125rem}.org-tier-badge{text-transform:capitalize;border-radius:9999px;padding:.125rem .5rem;font-size:.75rem;font-weight:500;display:inline-block}.org-tier-badge--free{color:#4b5563;background-color:#f3f4f6}.org-tier-badge--paid{color:#1e40af;background-color:#dbeafe}.org-status-badge{border-radius:9999px;padding:.125rem .5rem;font-size:.75rem;font-weight:500;display:inline-block}.org-status--active{color:#166534;background-color:#dcfce7}.org-status--suspended{color:#92400e;background-color:#fef3c7}.org-status--deleted{color:#991b1b;background-color:#fef2f2}.org-pagination{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;display:flex}.org-pagination-info{color:#6b7280;font-size:.8125rem}.org-pagination-controls{align-items:center;gap:.75rem;display:flex}.org-pagination-btn{color:#374151;cursor:pointer;background-color:#fff;border:1px solid #d1d5db;border-radius:6px;padding:.375rem .75rem;font-size:.8125rem;font-weight:500;transition:background-color .15s,border-color .15s}.org-pagination-btn:hover:not(:disabled){background-color:#f9fafb;border-color:#9ca3af}.org-pagination-btn:disabled{opacity:.5;cursor:not-allowed}.org-pagination-page{color:#374151;font-size:.8125rem;font-weight:500}.org-admin-launch-link{color:#6b7280;border-radius:4px;justify-content:center;align-items:center;padding:.25rem;transition:color .15s,background-color .15s;display:inline-flex}.org-admin-launch-link:hover{color:#2563eb;background-color:#eff6ff}.org-create-page{flex-direction:column;gap:1.5rem;max-width:680px;display:flex}.org-create-back-btn{color:#3b82f6;cursor:pointer;background:0 0;border:none;align-self:flex-start;padding:.375rem 0;font-size:.875rem;font-weight:500;transition:color .15s}.org-create-back-btn:hover{color:#1d4ed8}.org-create-title{color:#1f2937;margin:0;font-size:1.5rem;font-weight:600}.org-create-subtitle{color:#6b7280;margin-top:-1rem;font-size:.9375rem}.org-create-form{flex-direction:column;gap:1.25rem;display:flex}.org-create-server-error{color:#991b1b;background-color:#fef2f2;border:1px solid #fecaca;border-radius:6px;padding:.625rem .75rem;font-size:.875rem}.org-create-admins-section{border:1px solid #e5e7eb;border-radius:8px;margin:0;padding:1.25rem}.org-create-admins-section legend{padding:0 .5rem;font-weight:600}.initial-admin-search{margin-bottom:.75rem;position:relative}.admin-search-status{color:#6b7280;padding:.25rem 0;font-size:.8125rem}.admin-search-error{color:#991b1b;padding:.25rem 0;font-size:.8125rem}.admin-search-results{z-index:10;background-color:#fff;border:1px solid #d1d5db;border-radius:8px;max-height:240px;margin:.25rem 0 0;padding:0;list-style:none;position:absolute;top:100%;left:0;right:0;overflow-y:auto;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a}.admin-search-result-item{cursor:pointer;align-items:center;gap:.5rem;padding:.625rem .75rem;transition:background-color .1s;display:flex}.admin-search-result-item:hover,.admin-search-result-item:focus{background-color:#f3f4f6;outline:none}.admin-search-result-item:first-child{border-radius:8px 8px 0 0}.admin-search-result-item:last-child{border-radius:0 0 8px 8px}.admin-search-result-item:only-child{border-radius:8px}.admin-search-result-name{color:#1f2937;font-size:.875rem;font-weight:500}.admin-search-result-email{color:#6b7280;font-size:.8125rem}.admin-search-invite-badge{color:#92400e;background-color:#fef3c7;border-radius:9999px;margin-left:auto;padding:.125rem .5rem;font-size:.75rem;font-weight:500}.admin-search-result-item--email{border-top:1px solid #f3f4f6}.admin-search-result-empty{color:#6b7280;padding:.625rem .75rem;font-size:.8125rem}.initial-admin-list{margin-top:.5rem}.initial-admin-list-items{flex-direction:column;gap:.375rem;margin:0;padding:0;list-style:none;display:flex}.initial-admin-list-item{background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:6px;justify-content:space-between;align-items:center;padding:.5rem .75rem;display:flex}.initial-admin-info{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.initial-admin-name{color:#1f2937;font-size:.875rem;font-weight:500}.initial-admin-email{color:#6b7280;font-size:.8125rem}.initial-admin-invite-badge{color:#92400e;background-color:#fef3c7;border-radius:9999px;padding:.125rem .375rem;font-size:.6875rem;font-weight:500}.initial-admin-remove-btn{color:#6b7280;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:4px;justify-content:center;align-items:center;width:1.5rem;height:1.5rem;font-size:.75rem;transition:color .15s,background-color .15s;display:flex}.initial-admin-remove-btn:hover{color:#991b1b;background-color:#fef2f2;border-color:#fecaca}.home-content-page{flex-direction:column;gap:1.5rem;max-width:1200px;display:flex}.home-content-page h1{color:#1f2937;margin:0;font-size:1.5rem;font-weight:600}.home-content-tabs{border-bottom:1px solid #e5e7eb;gap:0;display:flex}.home-content-tab{color:#6b7280;cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;padding:.625rem 1.25rem;font-size:.875rem;font-weight:500;transition:color .15s,border-color .15s}.home-content-tab:hover{color:#1f2937}.home-content-tab--active{color:#1d4ed8;border-bottom-color:#3b82f6;font-weight:600}.home-content-tabpanel{padding-top:1rem}.hc-manager{flex-direction:column;gap:1.25rem;display:flex}.hc-manager-header{justify-content:space-between;align-items:center;display:flex}.hc-manager-header h2{color:#1f2937;margin:0;font-size:1.125rem;font-weight:600}.hc-btn{cursor:pointer;white-space:nowrap;border:1px solid #0000;border-radius:6px;justify-content:center;align-items:center;padding:.5rem 1rem;font-size:.8125rem;font-weight:500;transition:background-color .15s,opacity .15s;display:inline-flex}.hc-btn:disabled{opacity:.6;cursor:not-allowed}.hc-btn--primary{color:#fff;background-color:#3b82f6;border-color:#3b82f6}.hc-btn--primary:hover:not(:disabled){background-color:#2563eb}.hc-btn--danger{color:#fff;background-color:#ef4444;border-color:#ef4444}.hc-btn--danger:hover:not(:disabled){background-color:#dc2626}.hc-btn--secondary{color:#374151;background-color:#fff;border-color:#d1d5db}.hc-btn--secondary:hover:not(:disabled){background-color:#f9fafb}.hc-btn--small{padding:.25rem .625rem;font-size:.75rem}.hc-list{flex-direction:column;gap:.75rem;display:flex}.hc-list-item{background-color:#fff;border:1px solid #e5e7eb;border-radius:8px;justify-content:space-between;align-items:center;gap:1rem;padding:.875rem 1rem;display:flex}.hc-list-item-info{flex-direction:column;flex:1;gap:.25rem;min-width:0;display:flex}.hc-list-item-title{color:#1f2937;text-overflow:ellipsis;white-space:nowrap;font-size:.875rem;font-weight:600;overflow:hidden}.hc-list-item-subtitle{color:#6b7280;text-overflow:ellipsis;white-space:nowrap;font-size:.75rem;overflow:hidden}.hc-list-item-actions{flex-shrink:0;align-items:center;gap:.5rem;display:flex}.hc-badge{text-transform:uppercase;border-radius:9999px;padding:.125rem .5rem;font-size:.6875rem;font-weight:500;display:inline-block}.hc-badge--active{color:#166534;background-color:#dcfce7}.hc-badge--inactive{color:#6b7280;background-color:#f3f4f6}.hc-badge--visible{color:#1e40af;background-color:#dbeafe}.hc-badge--hidden{color:#92400e;background-color:#fef3c7}.hc-form{background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;flex-direction:column;gap:1rem;padding:1.25rem;display:flex}.hc-form-field{flex-direction:column;gap:.25rem;display:flex}.hc-form-field label{color:#374151;font-size:.8125rem;font-weight:500}.hc-form-field input,.hc-form-field textarea{color:#1f2937;background-color:#fff;border:1px solid #d1d5db;border-radius:6px;padding:.5rem .75rem;font-size:.875rem;transition:border-color .15s,box-shadow .15s}.hc-form-field input:focus,.hc-form-field textarea:focus{border-color:#3b82f6;outline:none;box-shadow:0 0 0 3px #3b82f61a}.hc-form-field textarea{resize:vertical;min-height:80px}.hc-form-field .hc-field-error{color:#dc2626;font-size:.75rem}.hc-form-field .hc-field-hint{color:#9ca3af;font-size:.6875rem}.hc-form-actions{gap:.5rem;margin-top:.5rem;display:flex}.hc-message{border-radius:6px;padding:.5rem .75rem;font-size:.8125rem}.hc-message--error{color:#991b1b;background-color:#fef2f2;border:1px solid #fecaca}.hc-message--success{color:#166534;background-color:#f0fdf4;border:1px solid #bbf7d0}.hc-empty,.hc-loading{text-align:center;color:#6b7280;padding:2rem;font-size:.875rem}.hc-search{gap:.5rem;display:flex}.hc-search input{color:#1f2937;background-color:#fff;border:1px solid #d1d5db;border-radius:6px;flex:1;padding:.5rem .75rem;font-size:.875rem}.hc-search input:focus{border-color:#3b82f6;outline:none;box-shadow:0 0 0 3px #3b82f61a}.hc-reorder-btn{color:#6b7280;cursor:pointer;background-color:#fff;border:1px solid #d1d5db;border-radius:4px;justify-content:center;align-items:center;width:28px;height:28px;font-size:1rem;transition:background-color .15s;display:inline-flex}.hc-reorder-btn:hover:not(:disabled){background-color:#f3f4f6}.hc-reorder-btn:disabled{opacity:.3;cursor:not-allowed}.hc-section-courses{flex-direction:column;gap:.375rem;margin-top:.5rem;padding-left:1rem;display:flex}.hc-section-course-item{background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:4px;justify-content:space-between;align-items:center;padding:.375rem .625rem;font-size:.8125rem;display:flex}.users-page{flex-direction:column;gap:1.5rem;display:flex}.users-page-header{justify-content:space-between;align-items:center;display:flex}.users-page h1{color:#1f2937;margin:0;font-size:1.5rem;font-weight:600}.users-search-form{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.users-search-input{color:#1f2937;background-color:#fff;border:1px solid #d1d5db;border-radius:8px;flex:1;min-width:200px;padding:.625rem .75rem;font-size:.9375rem;transition:border-color .15s,box-shadow .15s}.users-search-input::placeholder{color:#9ca3af}.users-search-input:focus{border-color:#3b82f6;outline:none;box-shadow:0 0 0 3px #3b82f61a}.users-search-btn{color:#fff;cursor:pointer;white-space:nowrap;background-color:#3b82f6;border:none;border-radius:8px;padding:.625rem 1.25rem;font-size:.875rem;font-weight:500;transition:background-color .15s}.users-search-btn:hover{background-color:#2563eb}.users-search-btn:focus{outline:none;box-shadow:0 0 0 3px #3b82f64d}.users-validation-error{color:#991b1b;background-color:#fef2f2;border:1px solid #fecaca;border-radius:6px;margin:0;padding:.625rem .75rem;font-size:.875rem}.users-table-area{flex-direction:column;gap:.75rem;display:flex}.users-loading{color:#6b7280;padding:1rem 0;font-size:.875rem}.users-error{color:#991b1b;background-color:#fef2f2;border:1px solid #fecaca;border-radius:6px;margin:0;padding:.625rem .75rem;font-size:.875rem}.users-idle-hint{color:#9ca3af;margin:0;padding:.5rem 1rem;font-size:.875rem}.users-table-wrapper{border:1px solid #e5e7eb;border-radius:8px;overflow-x:auto}.users-table{border-collapse:collapse;width:100%;font-size:.875rem}.users-table thead{background-color:#f9fafb}.users-table th{text-align:left;color:#374151;white-space:nowrap;border-bottom:1px solid #e5e7eb;padding:.75rem 1rem;font-weight:600}.users-table td{color:#1f2937;border-bottom:1px solid #f3f4f6;padding:.75rem 1rem}.users-table tbody tr:last-child td{border-bottom:none}.users-table-row{cursor:pointer;transition:background-color .1s}.users-table-row:hover{background-color:#f0f7ff}.users-table-row:focus{outline-offset:-2px;outline:2px solid #3b82f6}.users-uuid-cell{color:#6b7280;text-overflow:ellipsis;white-space:nowrap;max-width:200px;font-family:monospace;font-size:.75rem;overflow:hidden}.users-name-cell{font-weight:500}.users-email-cell{color:#4b5563}.users-orgcount-cell{text-align:center}.users-empty-cell{text-align:center;color:#6b7280;padding:2rem 1rem;font-size:.875rem}.user-role-badge{text-transform:capitalize;border-radius:9999px;padding:.125rem .5rem;font-size:.75rem;font-weight:500;display:inline-block}.user-role-badge--sysadmin{color:#5b21b6;background-color:#ede9fe}.user-role-badge--instructor{color:#1e40af;background-color:#dbeafe}.user-role-badge--student{color:#4b5563;background-color:#f3f4f6}.user-detail-page{flex-direction:column;gap:1.5rem;max-width:1200px;display:flex}.user-detail-loading{color:#6b7280;padding:1rem 0;font-size:.875rem}.user-detail-error{text-align:center;background-color:#fef2f2;border:1px solid #fecaca;border-radius:8px;padding:1.5rem}.user-detail-error p{color:#7f1d1d;margin:0 0 1rem;font-size:.875rem}.user-detail-back-btn{color:#374151;cursor:pointer;background-color:#fff;border:1px solid #d1d5db;border-radius:6px;align-self:flex-start;padding:.5rem 1rem;font-size:.875rem;font-weight:500;transition:background-color .15s}.user-detail-back-btn:hover{background-color:#f9fafb}.user-detail-retry-btn{color:#fff;cursor:pointer;background-color:#3b82f6;border:1px solid #3b82f6;border-radius:6px;padding:.5rem 1rem;font-size:.875rem;font-weight:500;transition:background-color .15s}.user-detail-retry-btn:hover{background-color:#2563eb}.user-detail-header h1{color:#1f2937;margin:0;font-size:1.5rem;font-weight:600}.user-detail-section{background-color:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:1.25rem}.user-detail-section h2{color:#374151;margin:0 0 1rem;font-size:1rem;font-weight:600}.user-basic-info-form{flex-direction:column;gap:1rem;display:flex}.user-form-field{flex-direction:column;gap:.375rem;display:flex}.user-form-label{color:#6b7280;font-size:.8125rem;font-weight:500}.user-form-input{color:#1f2937;box-sizing:border-box;background-color:#fff;border:1px solid #d1d5db;border-radius:6px;width:100%;padding:.5rem .75rem;font-size:.875rem}.user-form-input:focus{border-color:#3b82f6;outline:none;box-shadow:0 0 0 3px #3b82f61a}.user-form-input--readonly{color:#6b7280;cursor:default;background-color:#f9fafb}.user-form-input--readonly:focus{box-shadow:none;border-color:#d1d5db}.user-form-input--error{border-color:#ef4444}.user-form-input--error:focus{border-color:#ef4444;box-shadow:0 0 0 3px #ef44441a}.user-form-field-error{color:#dc2626;margin:0;font-size:.8125rem}.user-form-actions{align-items:center;gap:.75rem;padding-top:.25rem;display:flex}.user-form-save-btn{color:#fff;cursor:pointer;background-color:#3b82f6;border:1px solid #3b82f6;border-radius:6px;padding:.5rem 1.25rem;font-size:.875rem;font-weight:500;transition:background-color .15s}.user-form-save-btn:hover:not(:disabled){background-color:#2563eb}.user-form-save-btn:disabled{opacity:.5;cursor:not-allowed}.user-form-save-success{color:#166534;font-size:.875rem}.user-form-save-error{color:#dc2626;font-size:.875rem}.role-section-header{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.role-section-header h2{margin:0}.role-section-add-btn{color:#fff;cursor:pointer;background-color:#3b82f6;border:1px solid #3b82f6;border-radius:6px;padding:.375rem .875rem;font-size:.8125rem;font-weight:500;transition:background-color .15s}.role-section-add-btn:hover{background-color:#2563eb}.role-section-remove-btn{color:#ef4444;cursor:pointer;background-color:#fff;border:1px solid #ef4444;border-radius:6px;padding:.25rem .625rem;font-size:.8125rem;font-weight:500;transition:background-color .15s,color .15s}.role-section-remove-btn:hover{background-color:#fef2f2}.role-section-retry-btn{color:#fff;cursor:pointer;background-color:#3b82f6;border:1px solid #3b82f6;border-radius:6px;margin-left:.75rem;padding:.25rem .625rem;font-size:.8125rem;font-weight:500;transition:background-color .15s}.role-section-retry-btn:hover{background-color:#2563eb}.role-section-error{color:#7f1d1d;background-color:#fef2f2;border:1px solid #fecaca;border-radius:6px;align-items:center;padding:.75rem 1rem;font-size:.875rem;display:flex}.role-section-empty{color:#6b7280;margin:0;font-size:.875rem}.role-section-list{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.role-section-list-item{background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:6px;justify-content:space-between;align-items:center;padding:.5rem .75rem;display:flex}.role-section-role-name{color:#1f2937;font-size:.875rem;font-weight:500}.role-section-table{border-collapse:collapse;width:100%;font-size:.875rem}.role-section-table th{text-align:left;color:#6b7280;border-bottom:1px solid #e5e7eb;padding:.5rem .75rem;font-size:.8125rem;font-weight:600}.role-section-table td{color:#1f2937;border-bottom:1px solid #f3f4f6;padding:.625rem .75rem}.role-section-table td:last-child{text-align:right;white-space:nowrap}.role-section-table th:last-child{text-align:right}.role-section-table tbody tr:last-child td{border-bottom:none}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.add-role-steps{align-items:center;gap:.5rem;margin-bottom:1rem;font-size:.8125rem;display:flex}.add-role-step{color:#9ca3af;font-weight:500}.add-role-step--active{color:#1d4ed8;font-weight:600}.add-role-step--done{color:#6b7280}.add-role-step-divider{color:#d1d5db}.add-role-search-wrapper{margin-bottom:.5rem;position:relative}.add-role-search-loading{color:#6b7280;margin-top:.25rem;font-size:.8125rem;display:block}.add-role-results-list{background-color:#fff;border:1px solid #e5e7eb;border-radius:6px;max-height:200px;margin:0;padding:0;list-style:none;overflow-y:auto}.add-role-result-item{cursor:pointer;border-bottom:1px solid #f3f4f6;justify-content:space-between;align-items:center;padding:.5rem .75rem;font-size:.875rem;transition:background-color .1s;display:flex}.add-role-result-item:last-child{border-bottom:none}.add-role-result-item:hover,.add-role-result-item:focus{background-color:#eff6ff;outline:none}.add-role-result-item--selected{background-color:#dbeafe}.add-role-result-name{color:#1f2937;font-weight:500}.add-role-result-meta{color:#6b7280;background-color:#f3f4f6;border-radius:4px;padding:.125rem .375rem;font-family:monospace;font-size:.75rem}.add-role-loading{color:#6b7280;margin:.5rem 0;font-size:.875rem}.add-role-empty{color:#9ca3af;margin:.5rem 0;font-size:.875rem;font-style:italic}.add-role-select-group{flex-direction:column;gap:.375rem;display:flex}.add-role-select-label{color:#374151;font-size:.8125rem;font-weight:500}
