/*! tailwindcss v4.2.2 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-border-style:solid;--tw-font-weight:initial}}}@layer theme{:root,:host{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-red-50:oklch(97.1% .013 17.38);--color-red-100:oklch(93.6% .032 17.717);--color-red-500:oklch(63.7% .237 25.331);--color-red-600:oklch(57.7% .245 27.325);--color-red-700:oklch(50.5% .213 27.518);--color-orange-100:oklch(95.4% .038 75.164);--color-orange-700:oklch(55.3% .195 38.402);--color-yellow-50:oklch(98.7% .026 102.212);--color-yellow-100:oklch(97.3% .071 103.193);--color-yellow-500:oklch(79.5% .184 86.047);--color-yellow-700:oklch(55.4% .135 66.442);--color-green-50:oklch(98.2% .018 155.826);--color-green-100:oklch(96.2% .044 156.743);--color-green-500:oklch(72.3% .219 149.579);--color-green-600:oklch(62.7% .194 149.214);--color-green-700:oklch(52.7% .154 150.069);--color-sky-100:oklch(95.1% .026 236.824);--color-sky-600:oklch(58.8% .158 241.966);--color-blue-50:oklch(97% .014 254.604);--color-blue-100:oklch(93.2% .032 255.585);--color-blue-400:oklch(70.7% .165 254.624);--color-blue-500:oklch(62.3% .214 259.815);--color-blue-600:oklch(54.6% .245 262.881);--color-blue-700:oklch(48.8% .243 264.376);--color-purple-100:oklch(94.6% .033 307.174);--color-purple-700:oklch(49.6% .265 301.924);--color-slate-50:oklch(98.4% .003 247.858);--color-slate-100:oklch(96.8% .007 247.896);--color-slate-200:oklch(92.9% .013 255.508);--color-slate-300:oklch(86.9% .022 252.894);--color-slate-400:oklch(70.4% .04 256.788);--color-slate-500:oklch(55.4% .046 257.417);--color-slate-600:oklch(44.6% .043 257.281);--color-slate-700:oklch(37.2% .044 257.287);--color-slate-800:oklch(27.9% .041 260.031);--spacing:.25rem;--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--font-weight-semibold:600;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--shadow-sm:0 1px 3px 0 #0000001a, 0 1px 2px -1px #0000001a;--shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--shadow-xl:0 20px 25px -5px #0000001a, 0 8px 10px -6px #0000001a;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}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{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}*,:before,:after{box-sizing:border-box}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scroll-behavior:smooth;overflow-x:hidden}body{font-family:var(--font-sans);color:var(--color-slate-800);background-color:var(--color-slate-100);margin:0;padding:0;font-size:.875rem;line-height:1.5;overflow-x:hidden}h1:focus{outline:none}h1,h2,h3,h4,h5,h6{color:var(--color-slate-800);margin:0;font-weight:600;line-height:1.25}h1{font-size:2rem}h2{font-size:1.5rem}h3{font-size:1.125rem}h4{font-size:1rem}h5{font-size:.875rem}h6{font-size:.75rem}p{margin:0 0 1rem}a{color:var(--color-blue-500);text-decoration:none}a:hover{text-decoration:underline}ul,ol{margin:0;padding:0;list-style:none}img{max-width:100%;height:auto;display:block}.valid.modified:not([type=checkbox]){outline:1px solid #26b050}.invalid{outline:1px solid #e50000}.validation-message{color:#e50000;font-size:.875rem}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--color-slate-100)}::-webkit-scrollbar-thumb{background:var(--color-slate-300);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--color-slate-400)}}@layer components{.page{min-height:100vh;display:flex}.sidebar{background:var(--color-slate-800);width:260px;min-height:100vh;color:var(--color-slate-200);flex-shrink:0;transition:transform .3s}main{background:var(--color-slate-100);flex-direction:column;flex:1;display:flex}.content{flex:1;padding:1.5rem}.page-public{background:var(--color-slate-100);flex-direction:column;min-height:100vh;display:flex}.nav-header{border-bottom:1px solid #ffffff1a;padding:1.25rem 1rem}.nav-brand{color:var(--color-blue-400);letter-spacing:.5px;font-size:1.25rem;font-weight:700}.nav-menu{flex-direction:column;padding:.5rem 0;display:flex}.nav-section{text-transform:uppercase;letter-spacing:1px;color:var(--color-slate-500);padding:1rem 1rem .375rem;font-size:.7rem;font-weight:600}.top-row{border-bottom:1px solid var(--color-slate-200);box-shadow:var(--shadow-sm);background:#fff;justify-content:space-between;align-items:center;padding:.75rem 1.5rem;display:flex}.top-row-left{align-items:center;display:flex}.top-row-right{align-items:center;gap:1rem;display:flex}.page-title{color:var(--color-slate-800);margin:0;font-size:1rem;font-weight:600}.public-header{border-bottom:1px solid var(--color-slate-200);box-shadow:var(--shadow-sm);background:#fff;justify-content:space-between;align-items:center;padding:.75rem 1.5rem;display:flex}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:1.25rem;display:flex}.page-header h2{color:var(--color-slate-800);margin:0;font-size:1.5rem;font-weight:600}.page-header h4{color:var(--color-slate-800);margin:0;font-size:1rem;font-weight:600}.page-header small{color:var(--color-slate-400);margin-left:.5rem;font-size:.85rem}.tab-content{padding:1rem 0}.tab-actions{flex-wrap:wrap;gap:.5rem;margin-bottom:1rem;display:flex}.tab-actions>*{margin-bottom:.25rem;margin-right:.5rem}.tab-actions>:last-child{margin-right:0}.section{margin-bottom:2rem}.section-title{color:var(--color-slate-800);border-bottom:2px solid var(--color-slate-200);margin:0 0 1rem;padding-bottom:.5rem;font-size:1.125rem;font-weight:600}.save-bar{border-top:1px solid var(--color-slate-200);margin-top:1rem;padding-top:1rem}.card{border:1px solid var(--color-slate-200);border-radius:var(--radius-lg);background:#fff;overflow:hidden}.card-header{background:var(--color-slate-50);border-bottom:1px solid var(--color-slate-200);padding:.75rem 1rem}.card-body{padding:1rem}.settings-card{border:1px solid var(--color-slate-200);border-radius:var(--radius-lg);background:#fff;max-width:500px;padding:1.25rem}.settings-card h5{margin:0 0 1rem;font-size:1rem;font-weight:600}.scale-card{border:1px solid var(--color-slate-200);border-radius:var(--radius-lg);background:#fff;margin-bottom:1rem;overflow:hidden}.scale-header{background:var(--color-slate-50);border-bottom:1px solid var(--color-slate-200);justify-content:space-between;align-items:center;padding:.75rem 1rem;display:flex}.scale-header h5{margin:0;font-size:.95rem;font-weight:600}.scale-entries{flex-wrap:wrap;gap:.75rem;padding:.5rem 1rem;display:flex}.scale-entry{background:var(--color-slate-100);border-radius:var(--radius-md);align-items:center;gap:.25rem;padding:.25rem .75rem;font-size:.85rem;display:flex}.scale-entry .grade-name{color:var(--color-slate-800);font-weight:600}.scale-entry .grade-min{color:var(--color-slate-500)}.btn-logout{border:1px solid var(--color-slate-200);border-radius:var(--radius-md);color:var(--color-slate-500);cursor:pointer;background:0 0;min-width:44px;min-height:36px;padding:.375rem .75rem;font-size:.8rem;transition:all .15s}.btn-logout:hover{background:var(--color-slate-100);color:var(--color-slate-800)}.btn-login{color:var(--color-blue-500);font-size:.875rem;text-decoration:none}.btn{border-radius:var(--radius-md);cursor:pointer;white-space:nowrap;border:1px solid #0000;justify-content:center;align-items:center;min-height:44px;padding:.5rem 1rem;font-size:.875rem;font-weight:500;text-decoration:none;transition:all .15s;display:inline-flex}.btn:hover{text-decoration:none}.btn-primary{background:var(--color-blue-500);color:#fff;border-color:var(--color-blue-500)}.btn-primary:hover{background:var(--color-blue-600);border-color:var(--color-blue-600)}.btn-outline{color:var(--color-slate-600);border-color:var(--color-slate-200);background:0 0}.btn-outline:hover{background:var(--color-slate-100);border-color:var(--color-slate-300)}.btn-danger{background:var(--color-red-500);color:#fff;border-color:var(--color-red-500)}.btn-danger:hover{background:var(--color-red-600);border-color:var(--color-red-600)}.btn-ghost{color:var(--color-slate-600);background:0 0;border-color:#0000}.btn-ghost:hover{background:var(--color-slate-100)}.btn-sm{min-height:36px;padding:.375rem .75rem;font-size:.8rem}.btn-lg{min-height:52px;padding:.625rem 1.5rem;font-size:1rem}.btn-block{width:100%}.btn:disabled,.btn-disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.form-group{margin-bottom:1rem}.form-group label{color:var(--color-slate-700);margin-bottom:.25rem;font-size:.85rem;font-weight:500;display:block}.form-control{border:1px solid var(--color-slate-200);border-radius:var(--radius-md);width:100%;color:var(--color-slate-800);background:#fff;min-height:44px;padding:.5rem .75rem;font-size:.875rem;transition:border-color .15s,box-shadow .15s}.form-control:focus{border-color:var(--color-blue-500);outline:none;box-shadow:0 0 0 3px #3b82f626}.form-control::placeholder{color:var(--color-slate-400)}.form-control:disabled{background:var(--color-slate-50);color:var(--color-slate-400);cursor:not-allowed}textarea.form-control{resize:vertical;min-height:120px}select.form-control{-webkit-appearance:none;-moz-appearance:none;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 8l4 4 4-4'/%3e%3c/svg%3e");background-position:right .5rem center;background-repeat:no-repeat;background-size:1.5em 1.5em;padding-right:2.5rem}.form-help{color:var(--color-slate-500);margin-top:.25rem;font-size:.8rem}.form-error{color:var(--color-red-500);margin-top:.25rem;font-size:.8rem}.form-row{flex-wrap:wrap;gap:1rem;display:flex}.form-row>*{flex:1;min-width:200px}.entry-editor{flex-direction:column;gap:.5rem;display:flex}.entry-row{align-items:center;gap:.5rem;display:flex}.entry-field{flex:1}.csv-input{min-height:120px}.badge{border-radius:var(--radius-sm);align-items:center;padding:.125rem .5rem;font-size:.75rem;font-weight:600;line-height:1.25;display:inline-flex}.badge-blue{background:var(--color-blue-100);color:#1e3a8a}.badge-yellow{background:var(--color-yellow-100);color:var(--color-yellow-700)}.badge-green{background:var(--color-green-100);color:var(--color-green-700)}.badge-gray{background:var(--color-slate-100);color:var(--color-slate-600)}.badge-purple{background:var(--color-purple-100);color:var(--color-purple-700)}.badge-orange{background:var(--color-orange-100);color:var(--color-orange-700)}.assignment-type-badge{border-radius:var(--radius-sm);white-space:nowrap;text-transform:uppercase;letter-spacing:.3px;padding:2px 8px;font-size:.7rem;font-weight:600}.type-exam{background:var(--color-yellow-100);color:var(--color-yellow-700)}.type-test{background:var(--color-sky-100);color:var(--color-sky-600)}.type-oral{background:var(--color-purple-100);color:var(--color-purple-700)}.type-standard{background:var(--color-slate-100);color:var(--color-slate-600)}.alert{border-radius:var(--radius-md);border-left:4px solid;padding:.75rem 1rem;font-size:.875rem}.alert-danger{background:var(--color-red-50);color:var(--color-red-700);border-left-color:var(--color-red-500)}.alert-success{background:var(--color-green-50);color:var(--color-green-700);border-left-color:var(--color-green-500)}.alert-warning{background:var(--color-yellow-50);color:var(--color-yellow-700);border-left-color:var(--color-yellow-500)}.alert-info{background:var(--color-blue-50);color:var(--color-blue-700);border-left-color:var(--color-blue-500)}.save-confirmation{color:var(--color-green-500);margin-left:.75rem;font-size:.85rem}.import-result{border-radius:var(--radius-md);margin-top:.75rem;padding:.5rem .75rem;font-size:.85rem;font-weight:500}.import-result.success{background:var(--color-green-50);color:var(--color-green-500);border:1px solid var(--color-green-100)}.import-result.error{background:var(--color-red-50);color:var(--color-red-500);border:1px solid var(--color-red-100)}.assignment-card{border:1px solid var(--color-slate-200);border-radius:var(--radius-lg);background:#fff;align-items:center;gap:1rem;margin-bottom:.5rem;padding:.75rem 1rem;font-size:.875rem;display:flex}.material-item{border-bottom:1px solid var(--color-slate-100);align-items:center;gap:.75rem;padding:.5rem 0;font-size:.875rem;display:flex}.material-type{background:var(--color-sky-100);color:var(--color-sky-600);border-radius:var(--radius-sm);padding:.125rem .5rem;font-size:.75rem;font-weight:600}.material-title{flex:1}.lesson-time-header{color:var(--color-slate-500);font-size:.95rem}.grade-badge{color:var(--color-slate-800);font-weight:700}.stats-row{color:var(--color-slate-500);gap:2rem;padding:1rem 0;font-size:.875rem;display:flex}.stats-row strong{color:var(--color-slate-800)}.settings-grid{grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:1.5rem;display:grid}.filter-bar{flex-wrap:wrap;gap:1rem;margin-bottom:1rem;display:flex}.course-link{color:var(--color-blue-500);font-weight:500;text-decoration:none}.course-link:hover{text-decoration:underline}.empty-hint{color:var(--color-slate-400);text-align:center;background:var(--color-slate-50);border-radius:var(--radius-lg);border:1px dashed var(--color-slate-200);padding:1rem;font-size:.9rem}.empty-card{border:1px solid var(--color-slate-200);border-radius:var(--radius-xl);text-align:center;background:#fff;padding:48px 1.5rem}.hamburger-btn{z-index:200;background:var(--color-slate-800);border-radius:var(--radius-lg);cursor:pointer;width:44px;height:44px;box-shadow:var(--shadow-md);border:none;flex-direction:column;justify-content:center;align-items:center;gap:5px;padding:.5rem;display:none;position:fixed;top:.75rem;left:.75rem}.hamburger-line{background:var(--color-slate-200);border-radius:2px;width:22px;height:2px;transition:all .3s;display:block}.hamburger-btn.open .hamburger-line:first-child{transform:translateY(7px)rotate(45deg)}.hamburger-btn.open .hamburger-line:nth-child(2){opacity:0}.hamburger-btn.open .hamburger-line:nth-child(3){transform:translateY(-7px)rotate(-45deg)}.sidebar-overlay{z-index:199;opacity:0;background:#00000080;transition:opacity .3s;display:none;position:fixed;top:0;right:0;bottom:0;left:0}.sidebar-overlay.visible{opacity:1;display:block}.divide-y>*+*{border-top-style:solid;border-top-width:1px;border-top-color:var(--color-slate-200)}.divide-x>*+*{border-left-style:solid;border-left-width:1px;border-left-color:var(--color-slate-200)}.divider{background:var(--color-slate-200);height:1px;margin:1rem 0}.account-container{justify-content:center;align-items:center;min-height:60vh;padding:2rem 1rem;display:flex}.account-card{background:#fff;border-radius:12px;width:100%;max-width:420px;padding:2.5rem;box-shadow:0 1px 3px #00000014,0 4px 16px #0000000a}.account-card.wide{max-width:560px}.account-header{text-align:center;margin-bottom:2rem}.account-header h1{color:#1e293b;margin:0 0 .5rem;font-size:1.75rem;font-weight:800}.account-header p{color:#64748b;margin:0;font-size:.9rem}.account-form-group{margin-bottom:1.25rem}.account-form-group label{color:#334155;margin-bottom:.375rem;font-size:.85rem;font-weight:600;display:block}.account-form-input{color:#1e293b;box-sizing:border-box;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;width:100%;padding:.625rem .875rem;font-size:.9rem;transition:border-color .15s,box-shadow .15s}.account-form-input:focus{background:#fff;border-color:#3b82f6;outline:none;box-shadow:0 0 0 3px #3b82f61a}.account-form-input:disabled{opacity:.6;cursor:not-allowed}.account-form-input::placeholder{color:#94a3b8}.account-form-inline{justify-content:space-between;align-items:center;margin-bottom:1.5rem;display:flex}.account-checkbox-label{color:#475569;cursor:pointer;align-items:center;gap:.5rem;font-size:.85rem;display:flex}.account-checkbox{accent-color:#3b82f6;border-radius:4px;width:1rem;height:1rem}.account-btn{cursor:pointer;text-align:center;border:none;border-radius:8px;width:100%;padding:.75rem;font-size:.95rem;font-weight:600;text-decoration:none;transition:background .15s,box-shadow .15s;display:inline-block}.account-btn-primary{color:#fff;background:#3b82f6}.account-btn-primary:hover{background:#2563eb;box-shadow:0 4px 12px #3b82f64d}.account-btn-danger{color:#fff;background:#dc2626}.account-btn-danger:hover{background:#b91c1c;box-shadow:0 4px 12px #dc26264d}.account-btn-outline{color:#334155;background:#fff;border:1px solid #e2e8f0}.account-btn-outline:hover{background:#f8fafc;border-color:#cbd5e1}.account-btn-sm{width:auto;padding:.5rem 1rem;font-size:.85rem}.account-divider{text-align:center;margin:1.5rem 0;position:relative}.account-divider:before{content:"";border-top:1px solid #e2e8f0;position:absolute;top:50%;left:0;right:0}.account-divider span{color:#94a3b8;text-transform:uppercase;letter-spacing:.05em;background:#fff;padding:0 1rem;font-size:.8rem;position:relative}.account-link{color:#3b82f6;font-size:.85rem;text-decoration:none}.account-link:hover{text-decoration:underline}.account-validation-errors{color:#dc2626;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;margin-bottom:1.25rem;padding:.75rem 1rem;font-size:.85rem}.account-field-error{color:#dc2626;margin-top:.25rem;font-size:.8rem}.account-alert{border-radius:8px;margin-bottom:1.25rem;padding:.75rem 1rem;font-size:.85rem;line-height:1.5}.account-alert-success{color:#166534;background:#f0fdf4;border:1px solid #bbf7d0}.account-alert-danger{color:#dc2626;background:#fef2f2;border:1px solid #fecaca}.account-alert-warning{color:#92400e;background:#fffbeb;border:1px solid #fde68a}.account-alert-info{color:#1e40af;background:#eff6ff;border:1px solid #bfdbfe}.account-status-icon{margin-bottom:1rem;font-size:3rem}.account-card p{color:#64748b;margin:0 0 1rem;font-size:.9rem;line-height:1.6}.account-card h3{color:#1e293b;margin:0 0 1rem;font-size:1.1rem;font-weight:600}.manage-container{max-width:800px}.manage-header{margin-bottom:1.5rem}.manage-header h1{color:#1e293b;margin:0 0 .25rem;font-size:1.5rem;font-weight:700}.manage-header p{color:#64748b;margin:0;font-size:.9rem}.manage-layout{gap:2rem;display:flex}.manage-nav{flex-shrink:0;width:200px}.manage-nav-list{margin:0;padding:0;list-style:none}.manage-nav-list li{margin-bottom:.25rem}.manage-nav-link{color:#475569;border-radius:6px;padding:.5rem .75rem;font-size:.875rem;text-decoration:none;transition:background .15s,color .15s;display:block}.manage-nav-link:hover{color:#1e293b;background:#f1f5f9}.manage-nav-link.active{color:#3b82f6;background:#eff6ff;font-weight:600}.manage-content{flex:1;min-width:0}.manage-card{background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 1px 3px #00000014}.manage-card h3{color:#1e293b;margin:0 0 1.25rem;font-size:1.1rem;font-weight:600}.account-table{border-collapse:collapse;width:100%}.account-table td{color:#334155;vertical-align:middle;border-bottom:1px solid #f1f5f9;padding:.75rem 0;font-size:.9rem}.account-table tr:last-child td{border-bottom:none}.account-table td:last-child{text-align:right}.recovery-code-grid{grid-template-columns:repeat(2,1fr);gap:.5rem;margin:1rem 0;display:grid}.recovery-code-item{text-align:center;background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;padding:.5rem .75rem;font-family:monospace;font-size:.9rem}.account-steps{margin:1rem 0;padding-left:1.5rem}.account-steps li{color:#475569;margin-bottom:1rem;font-size:.9rem;line-height:1.6}.account-steps kbd{background:#f1f5f9;border:1px solid #e2e8f0;border-radius:4px;padding:.125rem .375rem;font-size:.8rem}.account-btn-row{flex-wrap:wrap;gap:.75rem;margin-top:1rem;display:flex}.account-btn-row .account-btn{width:auto}.account-verified{color:#16a34a;align-items:center;gap:.375rem;font-size:.85rem;font-weight:500;display:inline-flex}}@layer utilities{.visible{visibility:visible}.static{position:static}.end{inset-inline-end:var(--spacing)}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-6{margin-top:calc(var(--spacing) * 6)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.ml-2{margin-left:calc(var(--spacing) * 2)}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline-block{display:inline-block}.table{display:table}.h-full{height:100%}.flex-grow{flex-grow:1}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.items-center{align-items:center}.justify-center{justify-content:center}.gap-2{gap:calc(var(--spacing) * 2)}.gap-4{gap:calc(var(--spacing) * 4)}.border{border-style:var(--tw-border-style);border-width:1px}.p-4{padding:calc(var(--spacing) * 4)}.px-4{padding-inline:calc(var(--spacing) * 4)}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.text-red-500{color:var(--color-red-500)}.text-slate-400{color:var(--color-slate-400)}@media(min-width:48rem){.md\:inline{display:inline}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}}.text-success{color:var(--color-green-600)}.text-warning{color:var(--color-yellow-500)}.text-danger{color:var(--color-red-600)}.text-info{color:var(--color-blue-500)}.text-muted{color:var(--color-slate-400);font-size:.875rem}.bg-success-50{background-color:var(--color-green-50)}.bg-warning-50{background-color:var(--color-yellow-50)}.bg-danger-50{background-color:var(--color-red-50)}.bg-info-50{background-color:var(--color-blue-50)}.blazor-error-boundary{color:#fff;background:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTYiIGhlaWdodD0iNDkiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIG92ZXJmbG93PSJoaWRkZW4iPjxkZWZzPjxjbGlwUGF0aCBpZD0iY2xpcDAiPjxyZWN0IHg9IjIzNSIgeT0iNTEiIHdpZHRoPSI1NiIgaGVpZ2h0PSI0OSIvPjwvY2xpcFBhdGg+PC9kZWZzPjxnIGNsaXAtcGF0aD0idXJsKCNjbGlwMCkiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0yMzUgLTUxKSI+PHBhdGggZD0iTTI2My41MDYgNTFDMjY0LjcxNyA1MSAyNjUuODEzIDUxLjQ4MzcgMjY2LjYwNiA1Mi4yNjU4TDI2Ny4wNTIgNTIuNzk4NyAyNjcuNTM5IDUzLjYyODMgMjkwLjE4NSA5Mi4xODMxIDI5MC41NDUgOTIuNzk1IDI5MC42NTYgOTIuOTk2QzI5MC44NzcgOTMuNTEzIDI5MSA5NC4wODE1IDI5MSA5NC42NzgyIDI5MSA5Ny4wNjUxIDI4OS4wMzggOTkgMjg2LjYxNyA5OUwyNDAuMzgzIDk5QzIzNy45NjMgOTkgMjM2IDk3LjA2NTEgMjM2IDk0LjY3ODIgMjM2IDk0LjM3OTkgMjM2LjAzMSA5NC4wODg2IDIzNi4wODkgOTMuODA3MkwyMzYuMzM4IDkzLjAxNjIgMjM2Ljg1OCA5Mi4xMzE0IDI1OS40NzMgNTMuNjI5NCAyNTkuOTYxIDUyLjc5ODUgMjYwLjQwNyA1Mi4yNjU4QzI2MS4yIDUxLjQ4MzcgMjYyLjI5NiA1MSAyNjMuNTA2IDUxWk0yNjMuNTg2IDY2LjAxODNDMjYwLjczNyA2Ni4wMTgzIDI1OS4zMTMgNjcuMTI0NSAyNTkuMzEzIDY5LjMzNyAyNTkuMzEzIDY5LjYxMDIgMjU5LjMzMiA2OS44NjA4IDI1OS4zNzEgNzAuMDg4N0wyNjEuNzk1IDg0LjAxNjEgMjY1LjM4IDg0LjAxNjEgMjY3LjgyMSA2OS43NDc1QzI2Ny44NiA2OS43MzA5IDI2Ny44NzkgNjkuNTg3NyAyNjcuODc5IDY5LjMxNzkgMjY3Ljg3OSA2Ny4xMTgyIDI2Ni40NDggNjYuMDE4MyAyNjMuNTg2IDY2LjAxODNaTTI2My41NzYgODYuMDU0N0MyNjEuMDQ5IDg2LjA1NDcgMjU5Ljc4NiA4Ny4zMDA1IDI1OS43ODYgODkuNzkyMSAyNTkuNzg2IDkyLjI4MzcgMjYxLjA0OSA5My41Mjk1IDI2My41NzYgOTMuNTI5NSAyNjYuMTE2IDkzLjUyOTUgMjY3LjM4NyA5Mi4yODM3IDI2Ny4zODcgODkuNzkyMSAyNjcuMzg3IDg3LjMwMDUgMjY2LjExNiA4Ni4wNTQ3IDI2My41NzYgODYuMDU0N1oiIGZpbGw9IiNGRkU1MDAiIGZpbGwtcnVsZT0iZXZlbm9kZCIvPjwvZz48L3N2Zz4=) 1rem/1.8rem no-repeat,#b32121;padding:1rem 1rem 1rem 3.7rem}.blazor-error-boundary:after{content:"An error has occurred."}#blazor-error-ui{color-scheme:light only;box-sizing:border-box;z-index:500;background:#ffffe0;width:100%;padding:.6rem 1.25rem .7rem;display:none;position:fixed;bottom:0;left:0;box-shadow:0 -1px 2px #0003}#blazor-error-ui .dismiss{cursor:pointer;position:absolute;top:.5rem;right:.75rem}.e-btn.e-primary{background:var(--color-blue-500)!important;border-color:var(--color-blue-500)!important;color:#fff!important;border-radius:var(--radius-md)!important;min-height:44px!important;padding:.5rem 1rem!important;font-weight:500!important}.e-btn.e-primary:hover{background:var(--color-blue-600)!important;border-color:var(--color-blue-600)!important}.e-btn.e-outline{border-color:var(--color-slate-200)!important;color:var(--color-slate-600)!important;border-radius:var(--radius-md)!important;background:0 0!important;min-height:44px!important;padding:.5rem 1rem!important}.e-btn.e-outline:hover{background:var(--color-slate-100)!important;border-color:var(--color-slate-300)!important}.e-btn.e-danger{background:var(--color-red-500)!important;border-color:var(--color-red-500)!important;color:#fff!important;border-radius:var(--radius-md)!important;min-height:44px!important}.e-btn.e-danger:hover{background:var(--color-red-600)!important;border-color:var(--color-red-600)!important}.e-btn.e-small{min-height:36px!important;padding:.375rem .75rem!important;font-size:.8rem!important}.e-input,.e-textbox,.e-dropdownlist,.e-ddl{border-radius:var(--radius-md)!important;border-color:var(--color-slate-200)!important;min-height:44px!important;font-size:.875rem!important}.e-input:focus,.e-textbox:focus,.e-dropdownlist:focus{border-color:var(--color-blue-500)!important;box-shadow:0 0 0 3px #3b82f626!important}.e-numeric{border-radius:var(--radius-md)!important;border-color:var(--color-slate-200)!important}.e-numeric .e-input{min-height:44px!important}.e-dialog{border-radius:var(--radius-xl)!important;box-shadow:var(--shadow-xl)!important}.e-dialog .e-dlg-header{background:var(--color-slate-50)!important;border-bottom:1px solid var(--color-slate-200)!important;padding:1rem 1.5rem!important}.e-dialog .e-dlg-content{padding:1.5rem!important}.e-dlg-header-content{padding:1rem 1.5rem!important}.e-grid{border-radius:var(--radius-lg);border:1px solid var(--color-slate-200);overflow:hidden}.e-grid .e-gridheader{background:var(--color-slate-50)}.e-grid .e-rowcell{padding:.75rem 1rem}.e-tab .e-tab-header{background:var(--color-slate-50)!important;border-bottom:2px solid var(--color-slate-200)!important}.e-tab .e-tab-header .e-toolbar-item .e-tab-wrap{border-radius:var(--radius-md) var(--radius-md) 0 0!important}.e-tab .e-tab-header .e-toolbar-item.e-active .e-tab-wrap{border-bottom:2px solid var(--color-blue-500)!important;background:#fff!important}.e-chart{border-radius:var(--radius-lg)}.e-toast{border-radius:var(--radius-lg)!important;box-shadow:var(--shadow-lg)!important}.e-card{border-radius:var(--radius-lg)!important;border:1px solid var(--color-slate-200)!important}.e-checkbox-wrapper .e-frame{border-radius:var(--radius-sm)!important}.e-switch{border-radius:9999px!important}@media(max-width:992px){.content{padding:1.25rem}}@media(max-width:768px){.page{flex-direction:column}.hamburger-btn{display:flex}.sidebar{z-index:400;width:280px;min-height:100vh;position:fixed;top:0;left:0;transform:translate(-100%);box-shadow:4px 0 20px #0003}.sidebar.open{transform:translate(0)}.sidebar-overlay.visible{opacity:1;display:block}main{width:100%}.content{padding:1rem}.top-row{min-height:60px;padding-left:4rem;padding-right:1rem}.page-header{flex-direction:column;align-items:flex-start;gap:.5rem}.page-header h2{font-size:1.25rem}.settings-grid{grid-template-columns:1fr}.stats-row{flex-direction:column;gap:1rem;padding:.75rem 0}.filter-bar{flex-direction:column;gap:.75rem}.form-row{flex-direction:column}.form-row>*{min-width:100%}.e-dialog{width:95vw!important;max-width:95vw!important;margin:0 auto!important;left:2.5vw!important;right:2.5vw!important}.e-dialog .e-dlg-header{padding:.75rem 1rem!important}.e-dialog .e-dlg-content{padding:1rem!important}.e-dlg-header-content{padding:.75rem 1rem!important}.e-grid{border-radius:var(--radius-md)}.e-grid-wrapper,.e-grid{-webkit-overflow-scrolling:touch;overflow-x:auto}.e-toast{width:auto!important;max-width:95vw!important;left:2.5vw!important;right:2.5vw!important}.manage-layout{flex-direction:column;gap:1rem}.manage-nav{width:100%}.manage-nav-list{flex-wrap:wrap;gap:.25rem;display:flex}.account-card{padding:1.5rem}.assignment-card{flex-wrap:wrap;gap:.5rem}.e-btn.e-small{min-height:40px!important;padding:.5rem .875rem!important}.e-btn{min-height:44px!important}.form-group{margin-bottom:1.125rem}.form-group label{font-size:.9rem}.e-input,.e-textbox{min-height:44px!important}.nav-menu a{min-height:44px;padding:.75rem 1rem}}@media(max-width:480px){.content{padding:.75rem}.top-row{padding-left:3.5rem;padding-right:.75rem}.page-header h2{font-size:1.1rem}.empty-card{padding:2rem 1rem}.card-body{padding:.75rem}.scale-header{flex-direction:column;align-items:flex-start;gap:.5rem}.tab-actions{flex-direction:column}.tab-actions>*{justify-content:center;width:100%;margin-right:0}.page-header .e-btn,.page-header .btn{justify-content:center;width:100%}.e-dialog{border-radius:0!important;width:100vw!important;max-width:100vw!important;left:0!important;right:0!important}.e-grid .e-rowcell{padding:.5rem .625rem;font-size:.8rem}.e-grid .e-headercelldiv{font-size:.8rem}.settings-card{max-width:100%}.account-card{padding:1.25rem}.account-header h1{font-size:1.4rem}.stats-row{gap:.5rem;font-size:.8rem}.e-btn.e-small{min-height:44px!important;padding:.5rem 1rem!important;font-size:.875rem!important}.e-grid .e-btn{min-width:70px!important;min-height:40px!important;margin:.125rem 0!important}.form-group{margin-bottom:1.25rem}.form-group label{font-size:.95rem;font-weight:600}.form-control,.e-input,.e-textbox{min-height:48px!important;font-size:1rem!important}.e-dlg-buttonset .e-btn,.e-dialog .e-dlg-buttonset .e-btn{min-width:100px!important;min-height:48px!important;padding:.625rem 1.25rem!important;font-size:.95rem!important}.e-dialog .e-dlg-content{padding:1.25rem!important}.page-header .e-btn,.page-header .btn{min-height:48px!important;padding:.625rem 1.25rem!important;font-size:.95rem!important}.nav-menu a,.nav-link{align-items:center;display:flex;min-height:48px!important;padding:.875rem 1rem!important}.assignment-card{gap:.75rem;padding:1rem}.material-item{min-height:56px;padding:.75rem 0}.e-tab .e-tab-header .e-toolbar-item .e-tab-wrap{min-height:48px!important;padding:.75rem 1rem!important}.e-toast{padding:1rem!important}.badge{padding:.375rem .75rem}.scale-entry{padding:.5rem 1rem;font-size:.9rem}}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-font-weight{syntax:"*";inherits:false}
