/*! tailwindcss v4.2.1 | 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-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--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%;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;-webkit-text-decoration:inherit;-webkit-text-decoration: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]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.relative{position:relative}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.hidden{display:none}.table{display:table}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}}:root{--ink:#17243b;--muted:#68738a;--line:#e4e8ef;--paper:#fff;--canvas:#f5f7fa;--blue:#2956d7;--navy:#17284c;--teal:#149f89;--orange:#ef8b32;--red:#d94b59;--shadow:0 12px 34px #17243b14}*{box-sizing:border-box}body{background:var(--canvas);color:var(--ink);margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif}button,input,select,textarea{font:inherit}button,label{touch-action:manipulation}.icon{flex:none;width:21px;height:21px}.eyebrow{letter-spacing:.14em;color:#71809c;margin:0 0 8px;font-size:11px;font-weight:800}.muted{color:var(--muted)}.center{text-align:center}.brand-mark{color:#fff;letter-spacing:-.05em;background:linear-gradient(145deg,#3172f4,#183fa9);border-radius:18px;place-items:center;width:60px;height:60px;font-weight:900;display:grid;box-shadow:0 12px 24px #1d52c945}.brand-mark.small{width:43px;height:43px;box-shadow:none;border-radius:13px;font-size:14px}.login-page{background:#fff;grid-template-columns:1.08fr .92fr;min-height:100vh;display:grid}.login-brand{color:#fff;background:linear-gradient(150deg,#172c59 0%,#163f81 60%,#2366c8 100%);flex-direction:column;justify-content:center;padding:clamp(42px,7vw,100px);display:flex;position:relative;overflow:hidden}.login-brand:after{content:"";border:1px solid #ffffff18;border-radius:50%;width:520px;height:520px;position:absolute;top:-180px;right:-230px;box-shadow:0 0 0 90px #ffffff07,0 0 0 180px #ffffff05}.login-brand .eyebrow{color:#83b9ff;margin-top:56px}.login-brand h1{letter-spacing:-.05em;max-width:760px;margin:0;font-family:Georgia,serif;font-size:clamp(44px,5.2vw,77px);line-height:1.03}.login-brand h1 em{color:#7ad3c5;font-weight:400}.login-brand>p:not(.eyebrow){color:#c9d6ee;max-width:560px;font-size:18px;line-height:1.75}.login-modules{flex-wrap:wrap;gap:8px;margin-top:50px;display:flex}.login-modules span{color:#d9e6fa;border:1px solid #ffffff2e;border-radius:99px;padding:9px 13px;font-size:12px}.login-panel{place-items:center;padding:34px;display:grid}.login-card{width:min(440px,100%)}.login-card h2{letter-spacing:-.03em;margin:0 0 14px;font:700 36px/1.1 Georgia,serif}.login-card>p.muted{margin-bottom:30px;line-height:1.65}.login-card label,.stack label,.settings-card>label{color:#39465d;gap:8px;margin:16px 0;font-size:13px;font-weight:750;display:grid}input,select,textarea{width:100%;color:var(--ink);background:#fff;border:1px solid #dbe0e9;border-radius:11px;outline:none;padding:12px 14px;transition:all .2s}input:focus,select:focus,textarea:focus{border-color:#4d78e8;box-shadow:0 0 0 3px #3467e519}textarea{resize:vertical;line-height:1.5}.primary,.secondary{cursor:pointer;border:0;border-radius:10px;justify-content:center;align-items:center;gap:8px;padding:11px 16px;font-weight:750;display:inline-flex}.primary{background:var(--blue);color:#fff;box-shadow:0 7px 15px #234fb829}.primary:hover{background:#2048bb}.secondary{color:#2a3b5d;background:#eef2f8}.secondary:hover{background:#e3e9f3}.wide{width:100%;margin-top:10px;padding:14px}.text-btn{color:var(--blue);cursor:pointer;background:0 0;border:0;margin:17px auto;font-weight:700;display:block}.privacy{color:#8c96a8;justify-content:center;align-items:center;gap:7px;font-size:12px;display:flex;margin-top:34px!important}.privacy .icon{width:16px}.notice{border-radius:9px;margin:10px 0;padding:11px 13px;font-size:13px}.notice.error{color:#b62d3b;background:#fff0f1}.notice.success{color:#11745f;background:#e8f8f2}.loading{min-height:100vh;color:var(--muted);place-content:center;justify-items:center;gap:20px;display:grid}.app-shell{min-height:100vh}.app-shell>aside{background:var(--navy);color:#fff;z-index:20;flex-direction:column;width:260px;padding:24px 16px;display:flex;position:fixed;inset:0 auto 0 0}.side-brand{border-bottom:1px solid #ffffff16;align-items:center;gap:12px;padding:0 7px 27px;display:flex}.side-brand strong,.side-brand span{display:block}.side-brand strong{font:700 16px Georgia,serif}.side-brand span{color:#97a7c6;margin-top:3px;font-size:11px}.app-shell aside nav{gap:5px;margin-top:26px;display:grid}.app-shell aside nav button{color:#aebbd2;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:9px;align-items:center;gap:12px;padding:12px 13px;font-size:14px;display:flex}.app-shell aside nav button:hover,.app-shell aside nav button.active{color:#fff;background:#ffffff12}.app-shell aside nav button.active{box-shadow:inset 3px 0 #62c8b6}.side-user{border-top:1px solid #ffffff16;align-items:center;gap:10px;margin-top:auto;padding:19px 6px 0;display:flex}.avatar{color:#3156a7;background:#dce7ff;border-radius:50%;place-items:center;width:38px;height:38px;font-size:12px;font-weight:850;display:grid}.side-user>div:nth-child(2){flex:1;min-width:0}.side-user strong,.side-user span{white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}.side-user strong{font-size:12px}.side-user span{color:#90a1c1;margin-top:3px;font-size:11px}.side-user button,.mobile-head button{color:#aebbd2;cursor:pointer;background:0 0;border:0;padding:4px}.content{max-width:1600px;margin-left:260px;padding:38px clamp(24px,4.5vw,68px) 70px}.top{justify-content:space-between;align-items:center;margin-bottom:30px;display:flex}.top h1{letter-spacing:-.03em;margin:0;font:700 clamp(27px,3vw,38px)/1.1 Georgia,serif}.course-pill{color:#168370;background:#e9f7f3;border-radius:10px;align-items:center;gap:9px;padding:9px 13px;font-size:11px;display:flex}.course-pill strong{font-size:13px}.mobile-head,.mobile-nav{display:none}.stats{grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:22px;display:grid}.stat{border:1px solid var(--line);background:#fff;border-radius:15px;min-height:142px;padding:20px;position:relative;overflow:hidden;box-shadow:0 4px 16px #17243b08}.stat:before{content:"";background:#4c75df;width:4px;position:absolute;top:0;bottom:0;left:0}.stat.green:before{background:var(--teal)}.stat.orange:before{background:var(--orange)}.stat.red:before{background:var(--red)}.stat span,.stat small,.stat strong{display:block}.stat span{color:var(--muted);font-size:12px;font-weight:700}.stat strong{letter-spacing:-.04em;margin:12px 0 5px;font-size:34px}.stat small{color:#8993a5}.card{border:1px solid var(--line);background:#fff;border-radius:16px;padding:23px;box-shadow:0 3px 14px #18233b08}.grid-2{grid-template-columns:1.45fr .75fr;gap:18px;display:grid}.card-head,.module-title,.practice-top,.toolbar{justify-content:space-between;align-items:center;gap:15px;display:flex}.card h2,.module-title h2{letter-spacing:-.02em;margin:0;font:700 23px/1.2 Georgia,serif}.link{color:var(--blue);cursor:pointer;background:0 0;border:0;font-weight:750}.activity{margin-top:16px}.activity>div{border-top:1px solid #eef0f4;align-items:center;gap:11px;padding:12px 0;display:flex}.avatar.mini{width:33px;height:33px}.activity p{flex:1;margin:0}.activity p strong,.activity p span,.activity>div>div:last-child small{display:block}.activity p strong{font-size:13px}.activity p span{color:var(--muted);margin-top:3px;font-size:11px}.activity>div>div:last-child{text-align:right}.activity>div>div:last-child small{color:#8b95a7;margin-top:5px;font-size:10px}.status{white-space:nowrap;border-radius:99px;align-items:center;gap:5px;padding:5px 9px;font-size:10px;font-weight:800;display:inline-flex}.status .icon{width:12px;height:12px}.status.published,.status.reviewed{color:#117963;background:#e5f7f1}.status.locked{color:#70798a;background:#eef0f3}.status.submitted{color:#315ec8;background:#e9efff}.status.needs_correction{color:#aa5b12;background:#fff0e1}.status.pending{color:#717a89;background:#f2f3f5}.ring{--p:0%;aspect-ratio:1;background:conic-gradient(var(--teal) var(--p),#edf1f4 0);border-radius:50%;place-items:center;width:160px;margin:23px auto;display:grid;position:relative}.ring:before{content:"";background:#fff;border-radius:50%;position:absolute;inset:13px}.ring>div{text-align:center;position:relative}.ring strong,.ring span{display:block}.ring strong{font-size:31px}.ring span{color:var(--muted);font-size:10px}.quick{grid-template-columns:repeat(3,1fr);gap:14px;margin-top:18px;display:grid}.quick button{border:1px solid var(--line);color:var(--ink);text-align:left;cursor:pointer;background:#fff;border-radius:13px;align-items:center;gap:12px;padding:17px;display:flex}.quick button>.icon{color:var(--blue);background:#eaf0ff;border-radius:10px;width:38px;height:38px;padding:8px}.quick button span{flex:1}.quick strong,.quick small{display:block}.quick strong{font-size:13px}.quick small{color:var(--muted);margin-top:4px;font-size:10px}.module-list{gap:16px;display:grid}.module-manage{border:1px solid var(--line);background:#fff;border-radius:16px;grid-template-columns:70px 1fr;display:grid;overflow:hidden}.module-num{color:#a8b4c8;background:#f0f4fb;place-items:start center;padding-top:26px;font:700 25px Georgia,serif;display:grid}.module-main{padding:22px}.module-title>div:first-child{flex-wrap:wrap;align-items:center;gap:11px;display:flex}.actions button .icon{width:17px}.documents{border-top:1px solid #edf0f4;margin-top:19px;padding-top:16px}.doc{grid-template-columns:42px 1fr auto auto auto;align-items:center;gap:10px;padding:9px 0;display:grid}.file-icon{color:#c53a46;background:#fff0f1;border-radius:8px;place-items:center;width:38px;height:38px;font-size:9px;font-weight:900;display:grid}.doc strong,.doc small,.submitted-file strong,.submitted-file small{display:block}.doc strong,.submitted-file strong{font-size:12px}.doc small,.submitted-file small{color:#8a94a6;margin-top:3px;font-size:10px}.doc>a,.icon-btn{color:#52617b;cursor:pointer;background:#f0f3f8;border:0;border-radius:7px;place-items:center;width:32px;height:32px;display:grid}.doc>a .icon{width:16px}.icon-btn.danger{color:#bd3a47}.upload-zone{cursor:pointer;background:#fafbfc;border:1px dashed #cfd7e4;border-radius:10px;align-items:center;gap:11px;margin-top:10px;padding:12px 15px;display:flex}.upload-zone>.icon{color:var(--blue)}.upload-zone strong,.upload-zone small{display:block}.upload-zone strong{font-size:12px}.upload-zone small{color:var(--muted);margin-top:2px;font-size:10px}.welcome{color:#fff;background:linear-gradient(120deg,#1f4ab7,#286bd2);border-radius:18px;justify-content:space-between;align-items:center;margin-bottom:18px;padding:27px 31px;display:flex;box-shadow:0 12px 28px #214cae24}.welcome .eyebrow{color:#a8c7ff}.welcome h2{margin:0;font:700 30px Georgia,serif}.welcome p{color:#dce8ff;margin-bottom:0}.welcome-score{text-align:center;border-left:1px solid #ffffff32;padding-left:30px}.welcome-score strong,.welcome-score span{display:block}.welcome-score strong{font-size:34px}.welcome-score span{color:#bed2f5;font-size:10px}.module-cards{grid-template-columns:repeat(5,1fr);gap:11px;margin-top:18px;display:grid}.module-cards.full{grid-template-columns:repeat(3,1fr);margin-top:0}.module-cards>article{background:#fff;border:1px solid #dfe5ed;border-radius:13px;min-height:180px;padding:17px}.module-cards>article:not(.locked){border-top:3px solid var(--teal)}.module-cards>article.locked{color:#8b93a1;background:#f4f5f7}.module-card-top{justify-content:space-between;align-items:center;display:flex}.module-card-top>span{color:#9aa5b5;font:700 19px Georgia,serif}.module-card-top i{color:#11806b;background:#e4f6f0;border-radius:99px;padding:4px 7px;font-size:9px;font-style:normal}.module-card-top .icon{width:17px}.module-cards h3{margin:22px 0 8px;font:700 17px/1.25 Georgia,serif}.module-cards p{color:#7d8797;font-size:10px;line-height:1.5}.module-files{gap:5px;margin-top:12px;display:grid}.module-files a{color:var(--ink);background:#f5f7fa;border-radius:7px;align-items:center;gap:7px;padding:8px;text-decoration:none;display:flex}.module-files a span{flex:1;min-width:0}.module-files strong,.module-files small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.module-files strong{font-size:9px}.module-files small{color:#8993a4;font-size:8px}.module-files .icon{width:14px;color:var(--blue)}.practice-cards,.practice-admin-list{gap:16px;display:grid}.practice-card{max-width:900px}.practice-top>span,.module-tag{color:var(--blue);background:#eaf0ff;border-radius:99px;padding:6px 9px;font-size:10px;font-weight:800}.practice-card h2{margin-top:18px}.instructions{background:#f7f9fb;border-radius:10px;margin:18px 0;padding:14px 17px}.instructions p{margin:5px 0;font-size:13px}.deadline{color:var(--muted);margin-bottom:13px;font-size:11px}.practice-resources{background:#f8faff;border:1px solid #dce4f1;border-radius:11px;margin:14px 0;padding:13px}.practice-resources>a{color:var(--ink);align-items:center;gap:10px;padding:8px 0;text-decoration:none;display:flex}.practice-resources>a+a{border-top:1px solid #e4e9f2}.practice-resources>a>span{flex:1;min-width:0}.practice-resources strong,.practice-resources small{display:block}.practice-resources strong{text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.practice-resources small{color:var(--muted);margin-top:3px;font-size:10px}.practice-resources>a>.icon{width:17px;color:var(--blue)}.submitted-file{border:1px solid var(--line);border-radius:10px;align-items:center;gap:10px;margin:12px 0;padding:10px;display:flex}.teacher-comment{border-left:3px solid var(--orange);background:#fff8e9;margin:12px 0;padding:12px 14px;font-size:12px}.teacher-comment p{margin-bottom:0}.upload-btn{cursor:pointer;margin-top:7px}.upload-busy{cursor:wait;opacity:.72;pointer-events:none}.submission-actions{flex-wrap:wrap;align-items:center;gap:9px;display:flex}.submission-actions-compact{flex-wrap:nowrap;justify-content:flex-end}.submission-actions .upload-btn{margin-top:0}.danger-button.compact{white-space:nowrap;padding:7px 10px;font-size:11px}.locked-note{color:#657086;background:#f1f3f6;border-radius:9px;align-items:center;gap:8px;padding:11px;font-size:12px;display:flex}.locked-note.compact{white-space:nowrap;padding:7px 9px;display:inline-flex}.locked-note .icon{width:16px}.toolbar{margin-bottom:16px}.toolbar p{color:var(--muted)}.practice-admin-main{justify-content:space-between;gap:25px;display:flex}.practice-admin-main>div:first-child{max-width:750px}.practice-admin-list h2{margin:13px 0 8px}.practice-admin-list p{white-space:pre-line;color:var(--muted);font-size:13px;line-height:1.55}.practice-admin-side{color:var(--muted);flex-direction:column;flex:none;align-items:flex-end;gap:14px;font-size:11px;display:flex}.practice-card-actions{gap:8px;display:flex}.danger-button{color:#b22f3d;cursor:pointer;background:#fff7f8;border:1px solid #efc8cd;border-radius:8px;padding:9px 13px;font-weight:750}.danger-button:hover{background:#ffedef}.practice-files-admin{border-top:1px solid var(--line);margin-top:19px;padding-top:16px}.practice-upload{max-width:680px}.table-card{padding:0;overflow-x:auto}table{border-collapse:collapse;width:100%;min-width:760px}th{text-align:left;color:#71809a;text-transform:uppercase;letter-spacing:.06em;background:#f8f9fb;padding:13px 16px;font-size:10px}td{vertical-align:middle;border-top:1px solid #edf0f3;padding:13px 16px;font-size:12px}td strong,td small{display:block}td small{color:var(--muted);margin-top:3px;font-size:10px}td a{color:var(--blue);text-decoration:none}.compact{cursor:pointer;padding:7px 10px;font-size:11px}.filters{flex-wrap:wrap;gap:8px;margin-bottom:14px;display:flex}.filters button{border:1px solid var(--line);color:#657086;cursor:pointer;background:#fff;border-radius:99px;padding:8px 13px;font-size:11px}.filters button.active{background:var(--navy);color:#fff;border-color:var(--navy)}.filters b{margin-left:5px}.submission-controls{border:1px solid var(--line);background:#fff;border-radius:16px;margin-bottom:16px;padding:18px;box-shadow:0 3px 14px #18233b08}.filter-grid{grid-template-columns:.8fr 1.7fr 1.2fr auto;align-items:end;gap:12px;display:grid}.filter-grid label{color:#5d687b;text-transform:uppercase;letter-spacing:.05em;gap:6px;font-size:10px;font-weight:800;display:grid}.filter-grid select{text-transform:none;letter-spacing:normal;padding:10px 12px;font-size:12px}.clear-filters{white-space:nowrap;margin:0 0 2px;padding:10px 8px}.status-filters{margin:16px 0}.bulk-bar{border-top:1px solid var(--line);color:var(--muted);justify-content:space-between;align-items:center;gap:15px;padding-top:15px;font-size:12px;display:flex}.bulk-bar strong{color:var(--ink);font-size:16px}.bulk-bar>div:last-child{flex-wrap:wrap;gap:8px;display:flex}.bulk-bar button{padding:9px 12px;font-size:11px}.bulk-bar button .icon{width:15px}.bulk-bar button:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}.select-cell{text-align:center;width:44px;padding-left:12px!important;padding-right:6px!important}.select-cell input{width:16px;height:16px;accent-color:var(--blue);cursor:pointer;padding:0}.selected-row{background:#f2f6ff}.empty{text-align:center;color:#8c96a7;padding:44px}.empty .icon{width:35px;height:35px}.mini-progress{background:#edf0f4;border-radius:99px;width:90px;height:6px;overflow:hidden}.mini-progress i{background:var(--teal);height:100%;display:block}details{position:relative}summary{cursor:pointer;color:var(--blue);font-weight:700;list-style:none}.action-menu{border:1px solid var(--line);box-shadow:var(--shadow);z-index:4;background:#fff;border-radius:10px;width:210px;padding:6px;position:absolute;top:25px;right:0}.action-menu button{text-align:left;cursor:pointer;background:0 0;border:0;border-radius:6px;width:100%;padding:9px;font-size:11px}.action-menu button:hover{background:#f1f4f8}.review-file{gap:8px;margin:12px 0 20px;display:grid}.review-file a{color:var(--blue);align-items:center;gap:8px;text-decoration:none;display:flex}.review-file .icon{width:17px}.secondary-link{color:#7d8797;margin-top:-8px;font-size:11px}.student-toolbar>div{flex-wrap:wrap;gap:9px;display:flex}.students-table{min-width:1160px}.missing-data{color:#b56b23;background:#fff5e8;border-radius:99px;padding:4px 7px;font-size:10px}.template-actions{flex-wrap:wrap;gap:8px;margin-bottom:14px;display:flex}.template-actions button{font-size:11px}.import-file{gap:7px;margin:14px 0;font-size:12px;font-weight:750;display:grid}.import-errors{color:#a72e3a;background:#fff0f1;border-radius:10px;max-height:190px;padding:13px 15px;font-size:11px;overflow:auto}.import-errors ul{margin-bottom:0;padding-left:18px}.import-preview{border:1px solid var(--line);border-radius:11px;margin:14px 0;overflow:auto}.import-preview>div{background:#f6f8fb;justify-content:space-between;padding:11px 13px;font-size:11px;display:flex}.import-preview table{min-width:650px}.import-preview th,.import-preview td{padding:8px 10px}.import-preview>small{color:var(--muted);padding:8px 12px;display:block}.settings-tabs{flex-wrap:wrap;gap:7px;margin-bottom:16px;display:flex}.settings-tabs button{border:1px solid var(--line);color:#5d687b;cursor:pointer;background:#fff;border-radius:9px;padding:10px 14px;font-size:12px;font-weight:750}.settings-tabs button.active{background:var(--navy);color:#fff;border-color:var(--navy)}.settings-card{max-width:900px}.settings-hero{align-items:center;gap:16px;margin-bottom:22px;display:flex}.settings-hero>.icon{width:42px;height:42px;color:var(--blue);background:#eaf0ff;border-radius:10px;padding:10px}.settings-hero p{color:var(--muted);margin:5px 0}.form-grid{grid-template-columns:1fr 1fr;gap:14px;display:grid}.form-grid label{margin-top:0}.setting-row{border-top:1px solid var(--line);justify-content:space-between;align-items:center;padding:18px 0;display:flex}.setting-row strong,.setting-row span{display:block}.setting-row span{color:var(--muted);margin-top:4px;font-size:11px}.group-grid{grid-template-columns:repeat(2,1fr);gap:15px;display:grid}.group-card-head{justify-content:space-between;align-items:flex-start;gap:15px;display:flex}.group-card h2{margin:0}.group-card>p{color:var(--muted);font-size:12px;line-height:1.55}.group-card dl{background:#f7f9fb;border-radius:10px;grid-template-columns:1fr 1fr;margin:16px 0;padding:11px;display:grid}.group-card dl div+div{border-left:1px solid var(--line);padding-left:12px}.group-card dt{text-transform:uppercase;color:var(--muted);font-size:9px;font-weight:800}.group-card dd{margin:5px 0 0;font-size:12px}.group-state{border-radius:99px;padding:6px 9px;font-size:9px;font-weight:850}.group-state.active{color:#117963;background:#e5f7f1}.group-state.pending{color:#966112;background:#fff5df}.group-state.finished,.group-state.archived{color:#70798a;background:#eef0f3}.email-status{border-radius:11px;align-items:center;gap:11px;margin-bottom:20px;padding:14px;display:flex}.email-status.ready{background:#ebf8f4}.email-status.pending{background:#f5f6f8}.email-status strong,.email-status span{display:block}.email-status strong{font-size:12px}.email-status span{color:var(--muted);margin-top:3px;font-size:10px}.profile-grid{grid-template-columns:1fr 1.2fr;gap:17px;max-width:900px;display:grid}.profile-card{text-align:center}.avatar.big{width:76px;height:76px;margin:0 auto 14px;font-size:20px}.profile-card>span{color:var(--muted);font-size:12px}.profile-card dl{text-align:left;margin:22px 0 0}.profile-card dl div{border-top:1px solid var(--line);grid-template-columns:100px 1fr;padding:12px 0;display:grid}.profile-card dt{color:var(--muted);font-size:11px}.profile-card dd{margin:0;font-size:12px}.security-card p{line-height:1.65}.force-card{text-align:center;border:1px solid var(--line);max-width:620px;box-shadow:var(--shadow);background:#fff;border-radius:18px;margin:60px auto;padding:50px}.force-card>.icon{width:48px;height:48px;color:var(--blue);background:#eaf0ff;border-radius:13px;padding:12px}.force-card h2{font:700 30px Georgia,serif}.force-card>p:not(.eyebrow){color:var(--muted);line-height:1.6}.progress-grid{grid-template-columns:repeat(3,1fr);gap:17px;display:grid}.progress-card{text-align:center}.small-ring{width:130px}.progress-card h2{font-size:17px}.modal-backdrop{z-index:50;background:#101b2e99;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal{background:#fff;border-radius:16px;width:min(650px,100%);max-height:90vh;padding:25px;position:relative;overflow:auto;box-shadow:0 25px 80px #0f172a55}.modal>h2{margin:0 30px 20px 0;font:700 25px Georgia,serif}.modal-x{color:#687286;cursor:pointer;background:#f0f2f5;border:0;border-radius:50%;width:32px;height:32px;font-size:22px;position:absolute;top:12px;right:14px}.stack{display:grid}.stack .check{align-items:center;gap:8px;display:flex}.check input{width:auto}.toast{color:#fff;box-shadow:var(--shadow);z-index:60;background:#17284c;border-radius:10px;padding:12px 17px;font-size:12px;position:fixed;bottom:22px;right:22px}@media (width<=1100px){.stats{grid-template-columns:repeat(2,1fr)}.module-cards{grid-template-columns:repeat(3,1fr)}.module-cards.full{grid-template-columns:repeat(2,1fr)}.quick{grid-template-columns:1fr}.content{padding-left:30px;padding-right:30px}.grid-2{grid-template-columns:1fr}.filter-grid{grid-template-columns:1fr 1fr}.bulk-bar{align-items:flex-start}.group-grid{grid-template-columns:1fr}}@media (width<=760px){.login-page{grid-template-columns:1fr}.login-brand{min-height:330px;padding:35px}.login-brand .brand-mark{width:48px;height:48px}.login-brand .eyebrow{margin-top:24px}.login-brand h1{font-size:39px}.login-brand>p:not(.eyebrow){font-size:14px}.login-modules{display:none}.login-panel{padding:35px 24px}.app-shell>aside{display:none}.mobile-head{z-index:15;color:#fff;background:#17284cf2;justify-content:space-between;align-items:center;height:62px;padding:9px 15px;display:flex;position:sticky;top:0}.mobile-head strong{font-size:14px}.content{margin-left:0;padding:23px 15px 90px}.mobile-nav{z-index:20;border-top:1px solid var(--line);background:#fff;justify-content:space-around;height:67px;display:flex;position:fixed;bottom:0;left:0;right:0}.mobile-nav button{color:#7e889a;background:0 0;border:0;align-content:center;place-items:center;gap:3px;padding:5px;font-size:9px;display:grid}.mobile-nav button.active{color:var(--blue)}.mobile-nav .icon{width:19px}.top{margin-bottom:20px}.course-pill{display:none}.top h1{font-size:27px}.stats{grid-template-columns:1fr 1fr;gap:9px}.stat{min-height:122px;padding:15px}.stat strong{font-size:28px}.grid-2,.module-cards,.module-cards.full{grid-template-columns:1fr}.module-cards>article{min-height:145px}.module-manage{grid-template-columns:48px 1fr}.module-main{padding:16px}.module-title{align-items:flex-start}.module-title h2{font-size:19px}.module-title>div:first-child{display:grid}.module-num{font-size:18px}.doc{grid-template-columns:38px 1fr auto}.doc .icon-btn{display:none}.welcome{padding:22px}.welcome-score{display:none}.student-stats{grid-template-columns:1fr 1fr}.practice-admin-main{display:grid}.practice-admin-side{align-items:flex-start}.profile-grid,.progress-grid{grid-template-columns:1fr}.setting-row{align-items:flex-start;gap:15px}.settings-card{padding:18px}.force-card{margin:20px auto;padding:33px 20px}.toast{bottom:82px}.quick,.filter-grid,.form-grid{grid-template-columns:1fr}.bulk-bar,.bulk-bar>div:last-child{display:grid}.bulk-bar button{width:100%}.student-toolbar{align-items:flex-start}.student-toolbar>div{width:100%;display:grid}.student-toolbar button{width:100%}.group-card dl{grid-template-columns:1fr}.group-card dl div+div{border-left:0;border-top:1px solid var(--line);margin-top:10px;padding:10px 0 0}.settings-tabs{grid-template-columns:1fr 1fr;display:grid}.email-status{align-items:flex-start}}@media (width<=420px){.stats{grid-template-columns:1fr}.student-stats{grid-template-columns:1fr 1fr}.student-stats .stat{min-height:110px}.student-stats .stat strong{font-size:25px}.login-card h2{font-size:30px}}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}
