*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }
/* ! tailwindcss v3.4.17 | MIT License | https://tailwindcss.com */*,:after,:before{border:0 solid #e5e7eb}:after,:before{--tw-content:""}:host,html{-webkit-text-size-adjust:100%;font-feature-settings:normal;-webkit-tap-highlight-color:transparent;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-variation-settings:normal;line-height:1.5;tab-size:4}body{line-height:inherit;margin:0}hr{border-top-width:1px;color:inherit;height:0}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-feature-settings:normal;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em;font-variation-settings:normal}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:initial}sub{bottom:-.25em}sup{top:-.5em}table{border-color:inherit;text-indent:0}button,input,optgroup,select,textarea{font-feature-settings:inherit;color:inherit;font-family:inherit;font-size:100%;font-variation-settings:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:initial;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:initial}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::placeholder,textarea::placeholder{color:#9ca3af;opacity:1}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}[hidden]:where(:not([hidden=until-found])){display:none}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.collapse{visibility:collapse}.mt-2{margin-top:.5rem}.block{display:block}.inline{display:inline}.flex{display:flex}.table{display:table}.hidden{display:none}.rounded-lg{border-radius:.5rem}.border{border-width:1px}.bg-blue-500{--tw-bg-opacity:1;background-color:#3b82f6;background-color:rgb(59 130 246/var(--tw-bg-opacity,1))}.bg-white{--tw-bg-opacity:1;background-color:#fff;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.p-4{padding:1rem}.px-4{padding-left:1rem;padding-right:1rem}.py-2{padding-bottom:.5rem;padding-top:.5rem}.italic{font-style:italic}.text-white{--tw-text-opacity:1;color:#fff;color:rgb(255 255 255/var(--tw-text-opacity,1))}.shadow-md{--tw-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color);box-shadow:0 0 #0000,0 0 #0000,var(--tw-shadow);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-duration:.15s;transition-property:color,background-color,border-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-text-decoration-color,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-text-decoration-color,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1)}*,:after,:before{box-sizing:border-box;margin:0;padding:0}#root,body,html{background:#f0f4f8;font-family:Poppins,sans-serif;margin:0;min-height:100%;overflow-x:hidden;padding:0;width:100%}html{font-size:13px;scroll-behavior:smooth}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-y:auto}iframe,img,video{display:block;height:auto;max-width:100%}.container{margin:0;max-width:100%;padding:0;width:100%}.edge-to-edge{box-sizing:border-box;margin-left:50%!important;max-width:100vw!important;padding-left:0!important;padding-right:0!important;transform:translateX(-50%)!important;width:100vw!important}.centered{box-sizing:border-box;margin:0 auto;max-width:1200px;padding:0 20px}ol,ul{list-style:none}a{color:inherit;text-decoration:none}.hover\:bg-blue-600:hover{--tw-bg-opacity:1;background-color:#2563eb;background-color:rgb(37 99 235/var(--tw-bg-opacity,1))}.admin-dashboard{box-sizing:border-box;display:flex;flex-direction:column;font-family:Arial,sans-serif;height:100vh;margin:0 auto;padding:20px;width:95%}.dashboard-title{color:#333;font-size:1.8rem;font-weight:700;margin-bottom:20px;text-align:center}.tab-nav{display:flex;gap:10px;margin-bottom:20px}.tab-item{background-color:#eee;border-radius:6px;cursor:pointer;padding:10px 20px;transition:all .3s;-webkit-user-select:none;user-select:none}.tab-item.active{background-color:#4a90e2;color:#fff;font-weight:700}.tab-content{background-color:#f9f9f9;border:1px solid #ddd;border-radius:6px;box-shadow:0 2px 6px #0000000d;flex:1 1;overflow-y:auto;padding:20px}.tab-panel form{display:flex;flex-direction:column;gap:15px}.tab-panel input,.tab-panel select,.tab-panel textarea{border:1px solid #ccc;border-radius:4px;font-size:1rem;padding:10px;resize:vertical}.tab-panel button{background-color:#4a90e2;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:1rem;padding:12px;transition:background-color .3s}.tab-panel button:hover{background-color:#357ab8}.form-message{color:green;font-weight:700;margin-top:10px}.academic-term-home{padding:10px 0}.academic-term-home h2{color:#1f2937;font-size:24px;margin-bottom:12px}.page-description{color:#4b5563;line-height:1.6;margin-bottom:24px}.card-grid{grid-gap:24px;gap:24px;grid-template-columns:repeat(2,minmax(280px,1fr));margin-bottom:28px}.action-card{border:1px solid #dbe3ef;border-radius:14px;box-shadow:0 4px 14px #0f172a0f;padding:32px 24px;transition:.25s ease}.action-card:hover{box-shadow:0 10px 24px #0f172a1a;transform:translateY(-3px)}.card-icon{font-size:48px;margin-bottom:16px}.action-card h3{color:#1f2937;font-size:20px;margin-bottom:12px}.action-card p{color:#4b5563;line-height:1.6;margin-bottom:20px}.card-btn{background-color:#4a90e2;border-radius:8px;font-size:14px;padding:12px 18px}.card-btn:hover{background-color:#357ab8}.assumption-box{padding:24px}.assumption-box h3{margin-bottom:16px}.add-term{background:#fff;border:1px solid #dbe3ef;border-radius:14px;box-shadow:0 4px 14px #0f172a0d;padding:28px}.add-term h2{color:#1f2937;margin-bottom:12px}.description{margin-bottom:24px}.form-group{margin-bottom:18px}.form-group label{color:#374151;display:block;margin-bottom:8px}.form-group input{border:1px solid #cfd8e3;border-radius:8px;box-sizing:border-box;font-size:14px;padding:12px;width:100%}.button-row{margin-top:10px}.back-btn,.save-btn{border:none;border-radius:8px;cursor:pointer;font-size:14px;font-weight:600;padding:12px 18px}.save-btn{background-color:#4a90e2}.save-btn:hover{background-color:#357ab8}.manage-terms{padding:10px 0}.manage-terms h2{color:#1f2937;font-size:24px;margin-bottom:12px}.description{color:#4b5563;line-height:1.6;margin-bottom:20px}.top-actions{margin-bottom:18px}.button-row{gap:12px}.back-btn{background-color:#e5e7eb;border-radius:8px;color:#111827;font-size:14px;font-weight:600;padding:12px 18px;transition:.2s ease}.back-btn:hover{background-color:#d1d5db}.empty-state{background:#f8fafc;border:1px dashed #cbd5e1;border-radius:10px;color:#475569;font-size:15px;padding:18px;text-align:center}.table-wrapper{margin-top:10px;overflow-x:auto}.terms-table{background:#fff;border:1px solid #e5e7eb;border-collapse:collapse;border-radius:12px;overflow:hidden;width:100%}.terms-table td,.terms-table th{border-bottom:1px solid #e5e7eb;font-size:14px;padding:14px 12px;text-align:left;vertical-align:middle}.terms-table th{background:#f8fafc;color:#1f2937;font-weight:700}.terms-table tr:last-child td{border-bottom:none}.terms-table input{border:1px solid #cfd8e3;border-radius:8px;box-sizing:border-box;font-size:14px;padding:10px 12px;width:100%}.status-badge{border-radius:999px;display:inline-block;font-size:13px;font-weight:600;padding:6px 12px}.status-badge.active{background:#dcfce7;color:#166534}.status-badge.inactive{background:#f3f4f6;color:#6b7280}.action-buttons{display:flex;flex-wrap:wrap;gap:8px}.cancel-btn,.current-btn,.delete-btn,.edit-btn,.save-btn{border:none;border-radius:8px;cursor:pointer;font-size:13px;font-weight:600;padding:9px 12px;transition:.2s ease}.edit-btn{background:#4a90e2}.edit-btn:hover{background:#357ab8}.current-btn{background:#10b981;color:#fff}.current-btn:hover{background:#059669}.delete-btn{background:#ef4444}.delete-btn:hover{background:#dc2626}.save-btn{background:#2563eb}.save-btn:hover{background:#1d4ed8}.cancel-btn{background:#9ca3af;color:#fff}.cancel-btn:hover{background:#6b7280}.assumption-box{background:#fff;border:1px solid #dbe3ef;border-radius:14px;box-shadow:0 4px 14px #0f172a0d;margin-top:28px}.assumption-box h3{color:#1f2937;font-size:18px;margin-bottom:14px}.assumption-box ul{color:#374151;line-height:1.8}.dashboard{margin:auto;max-width:1100px;padding:20px}.dashboard-description{color:#666;line-height:1.7;margin-bottom:35px}.dashboard-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));margin-bottom:35px}.dashboard-card{background:#fff;border:1px solid #ddd;border-radius:10px;box-shadow:0 4px 10px #0000000d;padding:25px}.dashboard-card h4{color:#666;margin-bottom:12px;margin-top:0}.dashboard-card span{font-size:28px;font-weight:700}.green{color:#28a745}.red{color:#dc3545}.summary-box{background:#fafafa;border:1px solid #ddd;border-radius:10px;padding:25px}.summary-box h3{margin-top:0}.summary-box li{line-height:1.8;margin-bottom:12px}.orange{color:#b45309}.orange,.red{font-weight:600}.red{color:#b91c1c}.green{color:#15803d;font-weight:600}.class-configuration{margin:auto;max-width:1050px;padding:20px}.class-configuration h2{color:#222;margin-bottom:10px}.add-class{background:#fff;border:1px solid #ddd;border-radius:10px;margin:auto;max-width:700px;padding:35px}.add-class h2{margin-bottom:10px}.form-group label{font-weight:600;width:170px}.form-group select{border:1px solid #ccc;border-radius:4px;flex:1 1;font-size:15px;padding:10px}.manage-classes{background:#fff;border:1px solid #ddd;border-radius:10px;margin:auto;max-width:1000px;padding:30px}.manage-classes h2{margin-bottom:10px}.toolbar input{width:350px}thead{background:#f4f4f4}.session-topics{margin:auto;max-width:1050px;padding:20px}.download-template{background:#fff;border:1px solid #ddd;border-radius:10px;margin:auto;max-width:750px;padding:35px}.preview-box{background:#f8f8f8;border:1px solid #ddd;border-radius:8px;padding:20px}.preview-box ul{margin:0;padding-left:20px}.preview-box li{margin-bottom:8px}.download-btn{background:#4d8fe8;border:none;border-radius:6px;color:#fff;cursor:pointer;padding:12px 30px}.upload-topics{background:#fff;border:1px solid #ddd;border-radius:10px;margin:auto;max-width:750px;padding:35px}.description{margin-bottom:30px}.upload-box{background:#fafafa;border:2px dashed #bbb;border-radius:8px;padding:30px;text-align:center}.upload-box input{margin-bottom:20px}.button-row{margin-top:30px}.upload-btn{background:#4d8fe8;border:none;border-radius:6px;color:#fff;cursor:pointer;padding:12px 30px}.leaderboard{background:#fff;box-sizing:border-box;font-family:Arial,Helvetica,sans-serif;padding:30px;width:100%}.leaderboard h2{color:#222;font-size:24px;margin:0 0 8px}.leaderboard p{color:#666;font-size:14px;margin:0 0 30px}.filters{align-items:flex-end;display:flex;flex-wrap:wrap;gap:20px;margin-bottom:30px}.filters div{display:flex;flex-direction:column}.filters label{color:#333;font-size:13px;font-weight:600;margin-bottom:8px}.filters select{background:#fff;border:1px solid #d8d8d8;border-radius:4px;font-size:14px;height:42px;outline:none;padding:0 12px;width:220px}.filters select:focus{border-color:#4a90e2}.filters button{background:#4a90e2;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;height:42px;padding:0 28px;transition:.2s}.filters button:hover{background:#3578d4}.leaderboard table{background:#fff;border-collapse:collapse;border-radius:8px;box-shadow:0 2px 8px #00000014;overflow:hidden;width:100%}.leaderboard thead{background:#f3f4f6}.leaderboard th{color:#1f2937;font-size:15px;font-weight:700}.leaderboard td{border-bottom:1px solid #ececec;color:#444;font-size:14px;padding:14px}.leaderboard tbody tr:hover{background:#f8fbff}.leaderboard td:first-child{color:#4a90e2;font-weight:700}.score{color:#27ae60;font-weight:700}.status-completed{background:#d4edda;color:#155724}.status-completed,.status-progress{border-radius:20px;display:inline-block;font-size:12px;font-weight:600;padding:6px 12px}.status-progress{background:#fff3cd;color:#856404}.no-data{color:#888;font-size:15px;padding:40px;text-align:center}@media (max-width:900px){.filters{align-items:stretch;flex-direction:column}.filters button,.filters div,.filters select{width:100%}.leaderboard{overflow-x:auto}.leaderboard table{min-width:900px}}.activity-types{margin:auto;max-width:1050px;padding:20px}.activity-types h2{color:#222;margin-bottom:10px}.add-activity{background:#fff;border:1px solid #ddd;border-radius:10px;margin:auto;max-width:750px;padding:35px}.add-activity h2{margin-bottom:10px}.form-group{align-items:center}.form-group label:first-child{font-weight:600;width:180px}.form-group input[type=text]{border:1px solid #ccc;border-radius:4px;flex:1 1;font-size:15px;padding:10px}.checkbox-label{font-weight:400}.checkbox-label input{transform:scale(1.2)}.cancel-btn,.save-btn{padding:12px 35px}.cancel-btn{background:#eee;border:none;border-radius:6px;cursor:pointer}.cancel-btn:hover{background:#ddd}.manage-activities{background:#fff;border:1px solid #ddd;border-radius:10px;margin:auto;max-width:1000px;padding:35px}.description{line-height:1.7;margin-bottom:25px}.toolbar{display:flex;justify-content:space-between;margin-bottom:25px}.toolbar input{border:1px solid #ccc;border-radius:4px;padding:10px;width:320px}table{border-collapse:collapse;margin-bottom:30px;width:100%}th{background:#f4f4f4}td,th{border:1px solid #ddd;padding:14px}td:nth-child(2){text-align:center}.edit-btn{background:#4d8fe8;border:none;border-radius:4px;color:#fff;cursor:pointer;margin-right:10px;padding:8px 18px}.edit-btn:hover{background:#2d7ff9}.delete-btn{background:#dc3545;border:none;border-radius:4px;color:#fff;cursor:pointer;padding:8px 18px}.delete-btn:hover{background:#bb2d3b}.back-btn{padding:10px 20px}.assumption-box{padding:20px}.assumption-box ul{padding-left:20px}.status-enabled{background:#d4edda;color:#155724}.status-disabled,.status-enabled{border-radius:12px;display:inline-block;font-size:13px;font-weight:600;padding:4px 10px}.status-disabled{background:#f8d7da;color:#721c24}.scheduler{margin:auto;max-width:1050px;padding:20px}.scheduler h2{color:#222;margin-bottom:10px}.page-description{color:#666;line-height:1.7;margin-bottom:35px}.card-grid{grid-gap:30px;display:grid;gap:30px;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));margin-bottom:40px}.action-card{background:#fff;border:1px solid #ddd;border-radius:12px;box-shadow:0 4px 12px #0000000d;cursor:pointer;padding:35px;text-align:center;transition:.25s}.action-card:hover{border-color:#4d8fe8;box-shadow:0 12px 30px #0000001f;transform:translateY(-6px)}.card-icon{font-size:60px;margin-bottom:20px}.action-card h3{color:#2d7ff9;margin-bottom:15px}.action-card p{color:#666;line-height:1.7;margin-bottom:25px}.card-btn{background:#4d8fe8;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:15px;font-weight:600;padding:12px 30px}.card-btn:hover{background:#2d7ff9}.assumption-box{margin-top:20px}.assumption-box h3{color:#222}.assumption-box li{margin-bottom:10px}.configure-scheduler{background:#fff;border:1px solid #ddd;border-radius:10px;margin:auto;max-width:900px;padding:35px}.description{color:#666;line-height:1.8;margin-bottom:35px}.form-group{align-items:flex-start;display:flex;margin-bottom:25px}.form-group>label{font-weight:600;width:220px}.checkbox-label{align-items:center;display:flex;gap:10px}input[type=time]{border:1px solid #ccc;border-radius:4px;font-size:15px;padding:10px;width:180px}.readonly-box{background:#f7f7f7;border:1px solid #ddd;border-radius:4px;color:#555;font-weight:500;padding:10px 14px;width:260px}.day-list{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(2,180px)}.day-item{align-items:center;display:flex;gap:10px}.button-row{display:flex;gap:15px;margin-top:35px}.save-btn{background:#4d8fe8;border:none;border-radius:6px;color:#fff;cursor:pointer;padding:12px 30px}.save-btn:hover{background:#2d7ff9}.back-btn{background:#eee;border:none;border-radius:6px;cursor:pointer;padding:12px 30px}.back-btn:hover{background:#ddd}.assumption-box{background:#fafafa;border:1px solid #ddd;border-radius:8px;margin-top:40px;padding:22px}.assumption-box h3{margin-bottom:15px;margin-top:0}.assumption-box ul{margin:0;padding-left:22px}.assumption-box li{line-height:1.8;margin-bottom:12px}.run-btn{background:#28a745;border:none;border-radius:6px;color:#fff;cursor:pointer;padding:12px 30px}.run-btn:hover{background:#218838}.run-btn.disabled,.run-btn:disabled,.save-btn.disabled,.save-btn:disabled{background:#bfc5cc;cursor:not-allowed;opacity:.7}.scheduler-runs{background:#f7f8fc;box-sizing:border-box;display:flex;flex-direction:column;gap:24px;min-height:100%;padding:20px}.scheduler-runs h2{color:#1f2937;font-size:24px;font-weight:700;margin:0}.scheduler-runs h3{color:#1f2937;font-size:18px;font-weight:600;margin:0 0 14px}.scheduler-runs-actions{display:flex;justify-content:flex-end}.scheduler-runs-actions button{background:#2563eb;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:10px 16px;transition:background .2s ease}.scheduler-runs-actions button:hover{background:#1d4ed8}.scheduler-details-section,.scheduler-runs-section{background:#fff;border:1px solid #e5e7eb;border-radius:14px;box-shadow:0 2px 10px #0000000a;overflow-x:auto;padding:18px}.scheduler-details-table,.scheduler-runs-table{border-collapse:collapse;margin-top:10px;min-width:1100px;width:100%}.scheduler-details-table td,.scheduler-details-table th,.scheduler-runs-table td,.scheduler-runs-table th{border:1px solid #e5e7eb;color:#374151;font-size:14px;padding:12px 10px;text-align:left;vertical-align:top}.scheduler-details-table th,.scheduler-runs-table th{background:#f3f4f6;color:#111827;font-weight:700;white-space:nowrap}.scheduler-details-table tbody tr:nth-child(2n),.scheduler-runs-table tbody tr:nth-child(2n){background:#fafafa}.scheduler-details-table tbody tr:hover,.scheduler-runs-table tbody tr:hover{background:#f9fbff}.scheduler-details-table button,.scheduler-runs-table button{background:#10b981;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:13px;font-weight:600;padding:8px 12px;transition:background .2s ease}.scheduler-details-table button:hover,.scheduler-runs-table button:hover{background:#059669}.scheduler-run-summary{grid-gap:10px 24px;background:#f9fafb;border:1px solid #e5e7eb;border-radius:12px;display:grid;gap:10px 24px;grid-template-columns:repeat(2,minmax(250px,1fr));margin-bottom:18px;padding:16px}.scheduler-run-summary p{color:#374151;font-size:14px;margin:0}.scheduler-run-summary strong{color:#111827}.scheduler-empty-message{color:#6b7280;font-size:14px;padding:20px 0;text-align:center}.scheduler-status-success{color:#047857;font-weight:700;text-transform:capitalize}.scheduler-status-failed{color:#b91c1c;font-weight:700;text-transform:capitalize}.scheduler-status-skipped{color:#92400e;font-weight:700;text-transform:capitalize}.scheduler-status-generated{color:#047857;font-weight:700;text-transform:capitalize}.scheduler-status-running{color:#1d4ed8;font-weight:700;text-transform:capitalize}@media (max-width:1024px){.scheduler-run-summary{grid-template-columns:1fr}}@media (max-width:768px){.scheduler-runs{padding:12px}.scheduler-runs h2{font-size:20px}.scheduler-runs h3{font-size:16px}.scheduler-details-section,.scheduler-runs-section{padding:12px}.scheduler-details-table td,.scheduler-details-table th,.scheduler-runs-table td,.scheduler-runs-table th{font-size:13px;padding:10px 8px}}.chat-container{align-items:stretch;background:linear-gradient(to bottom right,#ffe3d4,#ffd1c0);box-sizing:border-box;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;justify-content:center;margin:0;overflow:hidden;padding:0}.chat-box,.chat-container{display:flex;height:100dvh;width:100%}.chat-box{background-color:#fff;border-radius:0;box-shadow:0 15px 30px #00000026;flex-direction:column;max-width:800px;position:relative}.chat-header{background:linear-gradient(90deg,#ec5125,#f97316);color:#fff;flex-shrink:0;font-size:1.25rem;font-weight:700;letter-spacing:.5px;padding:1rem;position:-webkit-sticky;position:sticky;text-align:center;top:0;z-index:100}.chat-messages{-webkit-overflow-scrolling:touch;background-color:#f9fafb;box-sizing:border-box;display:flex;flex:1 1;flex-direction:column;gap:.5rem;overflow-y:auto;padding:.75rem 1rem;scrollbar-color:#bbb #f9fafb;scrollbar-width:thin}.chat-messages::-webkit-scrollbar{width:6px}.chat-messages::-webkit-scrollbar-thumb{background-color:#ccc;border-radius:3px}.message{word-wrap:break-word;border-radius:1rem;box-shadow:0 4px 10px #0000001a;font-size:.95rem;max-width:80%;padding:.75rem 1rem;white-space:pre-wrap}.message.user{align-self:flex-end;animation:slideInRight .3s ease;background:linear-gradient(90deg,#ec5125,#f97316);border-bottom-right-radius:.25rem;color:#fff}.message.bot{align-self:flex-start;animation:slideInLeft .3s ease;background:linear-gradient(90deg,#fff2ec,#ffe6d9);border-bottom-left-radius:.25rem;color:#1f1f1f}.chat-input{background-color:#fff;border-top:1px solid #e5e7eb;bottom:0;display:flex;flex-shrink:0;gap:8px;padding:.75rem 1rem;position:-webkit-sticky;position:sticky;z-index:100}.chat-input input{border:1px solid #d1d5db;border-radius:2rem;flex:1 1;font-size:1rem;outline:none;padding:.65rem 1rem;transition:all .2s ease}.chat-input input:focus{border-color:#ec5125;box-shadow:0 0 0 2px #ec512533}.chat-input button{background-color:#ec5125;border:none;border-radius:2rem;color:#fff;cursor:pointer;font-weight:700;padding:.65rem 1rem;transition:background .2s ease,transform .1s ease}.chat-input button:hover{background-color:#d64920;transform:scale(1.05)}.message a{color:#ec5125;font-weight:500;text-decoration:underline;word-break:break-all}.message a:hover{color:#c93f15}@keyframes slideInRight{0%{opacity:0;transform:translateX(50px)}to{opacity:1;transform:translateX(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translateX(-50px)}to{opacity:1;transform:translateX(0)}}.spinner{animation:spin 1s linear infinite;border:3px solid #f3f3f3;border-radius:50%;border-top-color:#ec5125;height:16px;width:16px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@media (max-width:600px){.chat-box{display:flex;flex-direction:column;height:100dvh}.chat-header{font-size:1rem;padding:.75rem}.chat-messages{flex:1 1;padding:.5rem}.message{font-size:.9rem;max-width:85%}.chat-input{gap:6px;padding:.5rem}.chat-input input{font-size:.9rem}.chat-input button,.chat-input input{padding:.5rem .75rem}}body,html{background:linear-gradient(to bottom right,#ffe3d4,#ffd1c0);height:100%;margin:0;overflow:hidden;padding:0}.quiz-review{background:#f8f9fb;border-top:1px solid #ddd;margin-top:20px;padding:16px}.review-score{font-weight:600;margin-bottom:16px}.review-card{background:#fff;border:1px solid #ddd;border-radius:10px;margin-bottom:12px;padding:14px}.review-card.correct{background:#f6fff8;border-left:5px solid #28a745}.review-card.wrong{background:#fff7f7;border-left:5px solid #dc3545}.review-question{margin-bottom:8px}.review-answer{margin-bottom:6px}.review-result{font-weight:700;margin-top:8px}.correct-text{color:#28a745}.wrong-text{color:#dc3545}.quiz-review{margin-top:16px;max-height:60vh;overflow-y:auto;padding-right:8px}.quiz-review::-webkit-scrollbar{width:8px}.quiz-review::-webkit-scrollbar-thumb{background:#c7c7c7;border-radius:6px}.welcome-card{display:flex;flex-direction:column;gap:8px}.welcome-title{color:#222;font-size:16px;font-weight:700}.quote-label{color:#ff6b00;font-size:12px;font-weight:700;letter-spacing:.4px;margin-top:2px;text-transform:uppercase}.quote-text{border-left:3px solid #ff6b00;color:#333;font-size:15px;font-style:italic;line-height:1.6;padding-left:10px}.quote-author{color:#666;font-size:13px;font-weight:600;margin-top:-2px;text-align:right}.welcome-footer{color:#222;font-size:14px;margin-top:4px}.usage-dashboard{background:#fff;border-radius:15px;box-shadow:0 8px 25px #0000001a;display:flex;flex-direction:column;font-family:Inter,sans-serif;gap:20px;margin:40px auto;max-width:700px;padding:20px 25px;width:90%}.usage-dashboard h1{color:#333;font-size:1.8rem;margin-bottom:15px;text-align:center}.usage-dashboard table{border-collapse:collapse;font-size:.95rem;width:100%}.usage-dashboard td,.usage-dashboard th{border-bottom:1px solid #ddd;padding:10px 12px;text-align:left}.usage-dashboard th{background:#f8f9fa;font-weight:600}.usage-dashboard tr:hover{background:#f1f3f5;transition:background .2s ease}.usage-dashboard .total{color:#2e7d32;font-size:1rem;font-weight:500;margin-top:15px;text-align:right}.usage-dashboard .error,.usage-dashboard .loading{color:#555;font-size:1.1rem;margin-top:30px;text-align:center}.usage-dashboard .view-usage-button{align-self:flex-start;background-color:#4f46e5;border:none;border-radius:8px;box-shadow:0 3px 10px #4f46e54d;color:#fff;cursor:pointer;display:inline-block;font-size:.9rem;padding:8px 16px;transition:.3s}.usage-dashboard .view-usage-button:hover{background-color:#4338ca;box-shadow:0 5px 15px #4f46e566;transform:translateY(-1px)}.usage-dashboard .view-usage-button:active{box-shadow:0 3px 10px #4f46e54d;transform:translateY(0)}
/*# sourceMappingURL=main.813c5b9f.css.map*/