:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}body,#root{background:#f9fafb!important;min-height:100vh}.form-wrapper{padding-top:80px;min-height:0;display:flex;flex-direction:column;align-items:center}.form-container{background-color:#f9fafb;padding:2rem;display:flex;align-items:center;justify-content:center}.form-card{width:1306px;min-height:718px;flex-shrink:0;border-radius:6px;border:1px solid #e5e7eb;background:#fff;box-shadow:0 0 22.9px -4px #0000001a;padding:3rem;max-width:100%;box-sizing:border-box}.modules-container{width:100%;max-width:1200px;margin:0 auto}.modules-header{margin-bottom:1.5rem}.modules-title{font-size:1.875rem;font-weight:600;color:#111827;margin:0}.filter-section{margin-bottom:2rem}.filter-row{display:grid;grid-template-columns:1fr 1fr 1fr;gap:1.5rem}.filter-group{display:flex;flex-direction:column}.filter-label{font-size:.875rem;font-weight:500;color:#374151;margin-bottom:.5rem}.filter-select{padding:.75rem 3rem .75rem 1rem;border:2px solid #14b8a6;border-radius:.375rem;font-size:1rem;color:#111827;background-color:#fff;appearance:none;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%2314b8a6' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3e%3c/svg%3e");background-position:right .75rem center;background-repeat:no-repeat;background-size:1.5em 1.5em}.filter-select:focus{outline:none;border-color:#0d9488;box-shadow:0 0 0 2px #14b8a633}.module-card{border:1px solid #e5e7eb;border-radius:.5rem;padding:1.5rem;background:#fff;box-shadow:0 1px 3px #0000001a}.module-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem}.module-title{font-size:1.125rem;font-weight:600;color:#111827;margin:0;flex-grow:1;margin-right:1rem}.module-hours{background-color:#e0f2fe;color:#0369a1;padding:.25rem .75rem;border-radius:9999px;font-size:.875rem;font-weight:500;border:1px solid #0ea5e9;white-space:nowrap}.module-info{margin-bottom:1.5rem}.module-domain{margin-bottom:1rem;color:#6b7280;font-size:.875rem}.module-label{color:#374151;font-weight:500}.module-tools-section{display:flex;flex-direction:column;gap:.5rem}.module-tools{display:flex;flex-wrap:wrap;gap:.5rem}.tool-tag{background-color:#e0f2fe;color:#0369a1;padding:.25rem .75rem;border-radius:.375rem;font-size:.75rem;font-weight:500;border:1px solid #0ea5e9}.module-actions{display:flex;gap:.75rem}.view-details-btn{flex:1;padding:.75rem 1rem;border:2px solid #14b8a6;background-color:#fff;color:#14b8a6;border-radius:.375rem;font-weight:500;cursor:pointer;transition:all .2s ease}.view-details-btn:hover{background-color:#f0fdfa}.add-btn{flex:1;padding:.75rem 1rem;background-color:#14b8a6;color:#fff;border:none;border-radius:.375rem;font-weight:500;cursor:pointer;transition:background-color .2s ease}.add-btn:hover{background-color:#0d9488}.form-header{margin-bottom:2rem}.form-title{font-size:1.875rem;font-weight:600;color:#111827;margin-bottom:.5rem;margin-top:0}.form-subtitle{color:#6b7280;font-size:1.125rem;margin:0}.form-content{display:flex;flex-direction:column;gap:2rem}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.form-group,.form-group-full{display:flex;flex-direction:column}.form-label{display:block;font-size:.875rem;font-weight:500;color:#374151;margin-bottom:.75rem}.form-input,.form-select{width:100%;padding:.75rem 1rem;border:1px solid #d1d5db;border-radius:.5rem;font-size:1rem;color:#111827;background-color:#fff;box-sizing:border-box;transition:border-color .2s ease,box-shadow .2s ease}.form-input:focus,.form-select:focus{outline:none;border-color:#14b8a6;box-shadow:0 0 0 2px #14b8a633}.form-input-error{border-color:#ef4444!important;box-shadow:0 0 0 2px #ef444433!important}.form-error-message{color:#ef4444;font-size:.875rem;margin-top:.25rem;font-weight:500}.form-select{appearance:none;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3e%3c/svg%3e");background-position:right .75rem center;background-repeat:no-repeat;background-size:1.5em 1.5em;padding-right:3rem}.form-select option{color:#111827;background-color:#fff}.form-button-container{display:flex;justify-content:flex-end;padding-top:1.5rem}.form-submit-button{display:inline-flex;align-items:center;padding:.75rem 2rem;background-color:#0d9488;color:#fff;font-weight:500;border:none;border-radius:.5rem;cursor:pointer;transition:background-color .2s ease,box-shadow .2s ease;font-size:1rem}.form-submit-button:hover{background-color:#0f766e}.form-submit-button:focus{outline:none;box-shadow:0 0 0 2px #14b8a680}.button-icon{margin-left:.5rem;width:1.25rem;height:1.25rem}@media (max-width: 768px){.form-container{padding:1rem}.form-card{width:100%;padding:2rem;min-height:auto}.form-row{grid-template-columns:1fr;gap:2rem}.form-title{font-size:1.5rem}.form-subtitle{font-size:1rem}.filter-row{grid-template-columns:1fr;gap:1rem}.modules-grid{grid-template-columns:1fr}}@media (max-width: 480px){.form-card{padding:1.5rem}.form-content{gap:1.5rem}.form-submit-button{width:100%;justify-content:center}.module-card{padding:1rem}.module-actions{flex-direction:column}}.course-builder-container{min-height:100vh;background-color:#f9fafb;padding:2rem;display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;width:100vw;box-sizing:border-box}.course-builder-header{width:100%;max-width:750px;height:194px;flex-shrink:0;border-radius:6px;border:1px solid #E5E7EB;background:#fff;box-shadow:0 0 22.9px -4px #0000001a;padding:2rem 2rem 1.5rem;margin-bottom:2rem}.course-builder-title{font-size:1.5rem;font-weight:600;color:#111827;margin:0 0 .5rem}.course-builder-desc{color:#6b7280;font-size:1.1rem;margin-bottom:1.5rem}.course-builder-row{display:flex;gap:2rem}.course-builder-group{display:flex;flex-direction:column;flex:1}.course-builder-label{font-size:.95rem;font-weight:500;color:#374151;margin-bottom:.5rem}.course-builder-select,.course-builder-input{padding:.75rem 1rem;border:2px solid #14b8a6;border-radius:.375rem;font-size:1rem;color:#111827;background-color:#fff;margin-bottom:.5rem}.course-builder-input{width:330px;box-sizing:border-box}.course-builder-main{display:flex;gap:2rem;align-items:flex-start;width:100%;box-sizing:border-box}.course-builder-left{flex:1 1 0;min-width:0}.course-builder-right{flex:0 0 350px;max-width:350px;min-width:280px;background:#fff;box-sizing:border-box;position:sticky;top:0;align-self:flex-start;height:100vh;min-height:100vh;display:flex;flex-direction:column}.your-course-card{background:#fff;border-radius:6px;border:1px solid #e5e7eb;box-shadow:0 0 22.9px -4px #0000001a;padding:1.5rem;display:flex;flex-direction:column;flex:1 1 auto}.your-course-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.5rem}.your-course-title{font-size:1.1rem;font-weight:600;color:#111827;margin:0}.your-course-hours{background-color:#e0f2fe;color:#0369a1;padding:.25rem .75rem;border-radius:9999px;font-size:.95rem;font-weight:500;border:1px solid #0ea5e9;white-space:nowrap}.your-course-label{color:#374151;font-weight:500;font-size:.95rem}.your-course-tools-list{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.25rem;margin-bottom:.5rem}.your-course-no-tools{color:#6b7280;font-size:.95rem}.your-course-modules{min-height:80px;padding:.75rem 0 0;margin-bottom:.5rem;background:none}.your-course-empty{color:#6b7280;text-align:center;font-size:.95rem;padding:1.5rem 0}.your-course-modules-list{list-style:none;padding:0;margin:0}.your-course-module-box{background:#f3f4f6;border-radius:.5rem;padding:.5rem 1rem;margin-bottom:.5rem;color:#374151;display:flex;justify-content:space-between;align-items:center}.your-course-module-item{color:#000;display:flex;justify-content:space-between;align-items:center;padding:.25rem 0;font-size:1rem}.your-course-remove-btn{background:none;border:none;color:#ef4444;font-size:1.2rem;cursor:pointer;margin-left:.5rem}.your-course-details-btn,.your-course-finalise-btn{width:100%;padding:.75rem 1rem;border-radius:.375rem;font-weight:500;font-size:1rem;margin-bottom:.5rem;border:2px solid #14b8a6;background:#fff;color:#14b8a6;cursor:pointer;transition:all .2s}.your-course-details-btn:disabled,.your-course-finalise-btn:disabled{opacity:.5;cursor:not-allowed}.your-course-finalise-btn{background:#14b8a6;color:#fff;border:none;margin-bottom:0}.your-course-finalise-btn:hover:not(:disabled){background:#0d9488}.finalised-courses-section{background:#fff;border-radius:6px;border:1px solid #e5e7eb;box-shadow:0 0 22.9px -4px #0000001a;padding:2rem 2.25rem;margin-top:2rem}.finalised-courses-title{font-size:2rem;font-weight:800;color:#0f766e;margin-bottom:1.25rem}.finalised-courses-empty{color:#6b7280;font-size:1rem}.finalised-course-card{background:#f7f7f7;border:1.5px solid #e5e7eb;border-radius:14px;margin-bottom:1.5rem;padding:1.5rem 2rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;box-sizing:border-box}.finalised-course-info{flex:1}.finalised-course-title-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem;gap:1rem}.finalised-course-title{font-size:1.6rem;font-weight:800;color:#0b5c5c}.finalised-course-hours{font-size:1.15rem;font-weight:600;color:#374151;background:#fff;border:2px solid #14b8a6;border-radius:12px;padding:.5rem 1rem;min-width:100px;text-align:center;box-sizing:border-box}.finalised-course-modules-count{font-size:1rem;color:#6b7280;margin-bottom:.25rem}.finalised-courses-actions{display:flex;justify-content:flex-end;align-items:center;margin-top:.75rem;gap:.75rem}.review-courses-btn{display:flex;align-items:center;gap:.5rem;background:#0097a7;color:#fff;font-size:1.25rem;font-weight:600;border:none;border-radius:12px;padding:.65rem 1.5rem;cursor:pointer;transition:background .2s}.review-courses-btn:hover{background:#007c91}.review-courses-icon{margin-left:.5rem;width:2rem;height:2rem;stroke:#fff}@media (max-width: 1100px){.course-builder-main{flex-direction:column}.course-builder-right{max-width:100%;min-width:0;margin-top:2rem}}@media (max-width: 768px){.course-builder-header{padding:1rem}.course-builder-container{padding:.5rem}.finalised-courses-section{padding:1rem}}.filter-section-wide{display:inline-flex;padding:20px 221px 20px 20px;flex-direction:column;justify-content:center;align-items:flex-start;gap:20px;border-radius:6px;border:1px solid #E5E7EB;background:#fff;box-shadow:0 0 22.9px -4px #0000001a;width:100%;max-width:864px;margin-bottom:2rem;box-sizing:border-box}.filter-row-wide{display:flex;flex-direction:column;gap:1.5rem}.filter-group{margin-bottom:0}.filter-chips{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.5rem}.filter-chip{border:2px solid #14b8a6;background:#fff;color:#14b8a6;border-radius:999px;padding:.45rem 1.3rem;font-size:1rem;font-weight:500;cursor:pointer;transition:background .15s,color .15s;outline:none;display:flex;align-items:center}.filter-chip:hover{background:#f0fdfa}.filter-chip-active{background:#14b8a6;color:#fff;border:2px solid #14b8a6}.filter-chip-x{margin-left:.5rem;font-size:1.1em;font-weight:700;color:inherit;pointer-events:none}@media (max-width: 900px){.filter-row-wide{grid-template-columns:1fr;gap:1rem}.filter-section-wide{padding:1rem}}.curriculum-review-container{background:#fff;color:#111827;border-radius:12px;box-shadow:0 0 24px -6px #0000001a;padding:2.5rem 2.5rem 2rem;margin:2rem auto;max-width:1200px;width:98vw}body,#root{display:flex;flex-direction:column;align-items:center}.curriculum-review-title{color:#14b8a6;font-size:2rem;font-weight:700;margin-bottom:.25rem}.curriculum-review-desc{color:#6b7280;font-size:1.1rem;margin-bottom:2rem}.curriculum-review-grade{font-size:1.25rem;font-weight:700;color:#14b8a6;margin-bottom:.5rem}.curriculum-review-tools-label,.curriculum-review-modules-label{color:#374151;font-weight:600;margin-top:1.5rem;margin-bottom:.5rem}.curriculum-review-tool-tag{background:#e0f2fe;color:#0369a1;border:1px solid #0ea5e9;border-radius:.375rem;padding:.25rem .75rem;font-size:.95rem;font-weight:500;margin-right:.5rem;margin-bottom:.5rem;display:inline-block}.curriculum-review-module-title{color:#0891b2;font-size:1.25rem;font-weight:700;margin-bottom:.5rem}.curriculum-review-module-meta{color:#374151;font-size:1rem;margin-bottom:.5rem;display:flex;gap:2rem}.curriculum-review-module-desc{color:#374151;font-size:1rem;margin-bottom:.5rem}.curriculum-review-module-link{color:#14b8a6;font-weight:500;text-decoration:none;display:flex;align-items:center;font-size:1rem}.curriculum-review-stats{display:flex;flex-direction:column;gap:.5rem;align-items:flex-end}.curriculum-review-stats-row{display:flex;gap:2rem;justify-content:flex-start;align-items:stretch}.curriculum-review-stat{border:2px solid #14b8a6;border-radius:.75rem;padding:.5rem 1.5rem;color:#374151;font-weight:600;font-size:1.1rem;background:#fff;min-width:150px;text-align:center;margin-bottom:0;display:flex;flex-direction:column;align-items:center}.curriculum-review-actions{display:flex;justify-content:space-between;margin-top:2rem}.curriculum-review-back-btn{background:#fff;color:#14b8a6;border:2px solid #14b8a6;border-radius:.75rem;padding:.75rem 2rem;font-size:1.1rem;font-weight:500;cursor:pointer;display:flex;align-items:center;transition:background .2s}.curriculum-review-back-btn:hover{background:#f0fdfa}.curriculum-review-final-btn{background:#14b8a6;color:#fff;border:none;border-radius:.75rem;padding:.75rem 2.5rem;font-size:1.1rem;font-weight:500;cursor:pointer;display:flex;align-items:center;transition:background .2s}.curriculum-review-final-btn:hover{background:#0d9488}.curriculum-review-module-card{background:#fff;border:1.5px solid #e5e7eb;border-radius:12px;padding:1.25rem 1.5rem;margin-bottom:1.25rem;box-shadow:0 1px 4px #0000000a}.module-card-added{background:#e0f7fa;border:2px solid #14b8a6;box-shadow:0 2px 8px #14b8a614}.added-btn{flex:1;padding:.75rem 1rem;background-color:#d1d5db;color:#374151;border:none;border-radius:.375rem;font-weight:500;cursor:not-allowed;opacity:1;transition:background-color .2s ease}.added-btn:disabled{background-color:#d1d5db;color:#374151;opacity:1}.modules-grid-scroll{max-height:870px;overflow-y:auto;padding-right:4px}.modules-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem}@media (max-width: 900px){.modules-grid-scroll{max-height:1000px}.modules-grid{grid-template-columns:1fr}}.module-modal-overlay{position:fixed;inset:0;background:#0000002e;z-index:1000;display:flex;align-items:center;justify-content:center}.module-modal{background:#fff;border-radius:16px;box-shadow:0 0 32px -8px #0000002e;padding:2rem 2.5rem;max-width:700px;width:98vw;position:relative;animation:fadeInModal .2s;max-height:80vh;overflow-y:auto}@keyframes fadeInModal{0%{opacity:0;transform:scale(.98)}to{opacity:1;transform:scale(1)}}.module-modal-close{position:absolute;top:1.2rem;right:1.5rem;background:none;border:none;font-size:2rem;color:#374151;cursor:pointer;z-index:10}.module-modal-title{color:#14b8a6;font-size:2rem;font-weight:700;margin-bottom:2rem;text-align:left}.module-modal-info-row{display:flex;gap:2rem;margin-bottom:2rem;justify-content:flex-start}.module-modal-info-box{background:#e5f3f3;border-radius:10px;padding:1.1rem 2.2rem;text-align:center;min-width:140px;font-size:1.1rem;color:#374151;display:flex;flex-direction:column;gap:.5rem}.module-modal-info-value{font-size:1.3rem;font-weight:700;color:#374151}.module-modal-section{margin-bottom:1.5rem}.module-modal-label{font-weight:700;color:#374151;margin-bottom:.5rem;font-size:1.1rem}.module-modal-tools{display:flex;gap:.7rem;flex-wrap:wrap;margin-top:.5rem}.module-modal-tool-tag{background:#b6f0fa;color:#0369a1;border-radius:.375rem;padding:.3rem 1rem;font-size:1rem;font-weight:500;border:none;display:inline-block}.module-modal-summary{color:#374151;font-size:1.08rem;margin-top:.5rem}.module-modal-objectives{color:#374151;font-size:1.08rem;margin-top:.5rem;padding-left:1.2rem}.module-modal-objectives li{margin-bottom:.3rem}.course-builder-flex-row{display:flex;align-items:flex-start;gap:2rem;width:100%;max-width:1200px;margin:2.5rem auto}.course-builder-main,.course-builder-left{flex:1;margin-right:0}.course-builder-right{flex:0 0 350px;max-width:350px;min-width:280px;background:#fff;box-sizing:border-box;position:sticky;top:2rem;align-self:flex-start;margin-left:0}@media (max-width: 1100px){.course-builder-flex-row{flex-direction:column;gap:0}.course-builder-right{position:static;max-width:100%;min-width:0;margin-top:2rem}}.finalised-course-delete-btn{background:#f7f7f7;color:#ef4444;font-weight:600;cursor:pointer}.your-course-card .view-details-btn{width:auto;min-width:120px;max-width:100%;flex:none;display:inline-block;margin-bottom:.5rem}.module-modal,.module-modal *{color:#222!important}.curriculum-review-course-heading{font-size:1.7rem;font-weight:700;color:#0891b2}.header-container{background:#fff;padding:1rem 0;position:fixed;top:0;left:0;right:0;z-index:1000;border-bottom:1px solid #e5e7eb;box-shadow:0 2px 8px #0000001a}.header-content{padding:0 3rem;display:flex;align-items:center;gap:1rem;justify-content:flex-start}.header-logo{display:flex;align-items:center;margin-right:0}.logo-image{height:40px;width:auto;object-fit:contain}.logo-text{display:flex;flex-direction:column;line-height:1}.logo-bottom-row{display:flex;align-items:center;gap:.25rem}.logo-main{font-size:1.5rem;font-weight:700;color:#374151;text-transform:lowercase;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.logo-sub{font-size:.875rem;font-weight:500;color:#374151;text-transform:lowercase;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.logo-dots{display:flex;gap:.25rem}.dot{width:8px;height:8px;border-radius:50%}.dot-orange{background:#f97316}.dot-green{background:#22c55e}.dot-blue{background:#3b82f6}.header-separator{font-size:1.5rem;font-weight:300;color:#d1d5db;margin:0 .5rem;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.header-title{font-size:1.25rem;font-weight:500;color:#6b7280;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;margin-left:0}@media (max-width: 768px){.header-content{padding:.75rem 1rem;flex-direction:column;gap:.5rem}.header-title{font-size:1rem}.logo-main{font-size:1.25rem}.logo-sub{font-size:.75rem}}
