:root{font-family:Pretendard,"Apple SD Gothic Neo","Noto Sans KR",system-ui,sans-serif;color:#30283f;background:#f6f4ef;line-height:1.65;color-scheme:light;font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-width:320px}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{opacity:.5;cursor:wait}[hidden]{display:none!important}a{color:inherit}.topbar{min-height:76px;display:flex;align-items:center;gap:15px;padding:14px max(24px,calc((100vw - 1200px)/2));border-bottom:1px solid #e3dedf;background:#fffefa}.topbar a{display:flex}.top-label{font-size:14px;font-weight:700;color:#87788d}#identity{margin-left:auto;font-size:13px;color:#72667b}.workspace{max-width:1200px;margin:42px auto 100px;padding:0 24px}.login{max-width:430px;margin:74px auto;padding:34px;background:#fffefa;border:1px solid #e1dade;border-radius:22px}.login .primary{width:100%;margin-top:22px}h1,h2,h3,p{margin-top:0}h1{font-size:31px;letter-spacing:-.055em;line-height:1.4;margin-bottom:18px}h2{font-size:22px;letter-spacing:-.045em;line-height:1.45;margin-bottom:14px}h3{font-size:17px;letter-spacing:-.03em}.eyebrow{font-size:12px;font-weight:700;letter-spacing:.03em;color:#8a7396;margin-bottom:10px}.muted{color:#837789}.small,small{font-size:12px}small{display:block;color:#998b9e}.panel{padding:26px;background:#fffefa;border:1px solid #e4dce3;border-radius:16px;margin-bottom:22px}.section-heading,.page-heading,.actions{display:flex;align-items:center;justify-content:space-between;gap:12px}.section-heading{margin-bottom:14px}.section-heading h2,.section-heading h3{margin:0}.section-heading p{margin-bottom:4px}.page-heading{margin-bottom:12px}.actions{justify-content:flex-start;flex-wrap:wrap;margin:18px 0}.tabs{display:flex;gap:4px;border-bottom:1px solid #ddd4df;margin-bottom:28px}.tabs button{border-radius:8px 8px 0 0}.tabs .active{border-bottom:3px solid #715485;color:#4e3464;background:transparent}.course-picker{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 24px}.course-picker button{max-width:100%;text-align:left}.selected{background:#ece2f1;border:1px solid #c4afd1;color:#5d3a74}.field{display:flex;flex-direction:column;gap:6px;margin:15px 0}.field>span{font-size:13px;font-weight:650}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}input,textarea,select{border:1px solid #dcd3de;background:#fff;color:#30283f;border-radius:8px;padding:10px 12px;width:100%;min-height:44px}textarea{resize:vertical}input[type=checkbox]{width:18px;min-height:18px;height:18px;accent-color:#75548d;flex:none}input:focus,select:focus,textarea:focus{outline:3px solid #e8ddef;outline-offset:1px;border-color:#9c7bb0}button{border:1px solid transparent;border-radius:8px;padding:9px 15px;min-height:40px;white-space:normal;font-size:13px;font-weight:650}.primary{background:#3b2c50;color:white;border-color:#3b2c50}.primary:hover{background:#59416e}.secondary{background:#eee6f3;color:#604774;border-color:#e1d4e8}.quiet{color:#807087;background:transparent}.quiet:hover{background:#f0ebf2}.text-button{border:0;background:none;padding:0;min-height:36px;color:#594267;text-align:left}.text-button:hover{text-decoration:underline}.paid{background:#e8f0e8;color:#4f7254;border:1px solid #cbdfcd}.unpaid{background:#f9efee;color:#a06b69;border:1px solid #ebd7d5}.badge{display:inline-block;padding:5px 12px;border-radius:20px;font-size:12px}.check{display:flex;align-items:center;gap:8px;font-size:13px;margin:16px 0}fieldset{margin:24px 0;padding:20px;border:1px solid #e4dce7;border-radius:12px}legend{font-size:13px;font-weight:700;padding:0 8px;color:#8a6d9b}.table-scroll{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:13px}th,td{padding:13px 12px;border-bottom:1px solid #e9e3ea;text-align:left;vertical-align:middle}th{font-size:12px;color:#8a7893;font-weight:600;background:#f7f3f8}td{overflow-wrap:anywhere}.callout{padding:16px 20px;background:#f1eaf6;border:1px solid #e5d7ee;border-radius:10px;font-size:13px;margin:18px 0}.danger{color:#a05864;background:#fff0f1}.empty{text-align:center;color:#998b9d;padding:24px}.session-line{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 0;border-top:1px solid #e6dee8}.session-line p{margin:5px 0 0}.memo{white-space:pre-wrap;background:#f7f3f8;padding:16px;border-radius:8px;font-size:13px}.student-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:20px}.student-cards .panel{margin:0}.student-cards{margin:25px 0}.student{max-width:1000px}summary{cursor:pointer;font-weight:650;font-size:15px}#notice{position:fixed;bottom:18px;left:50%;transform:translateX(-50%);width:max-content;max-width:calc(100% - 32px);padding:12px 22px;border:1px solid #dfd6e3;border-radius:12px;box-shadow:0 8px 28px #2b1d3e14;background:#fffcff;font-size:13px;z-index:20}#notice:empty{display:none}#notice.error{background:#fff1f1;color:#9c3a50;border-color:#e7ccd4}dialog{max-width:min(740px,calc(100% - 32px));max-height:85vh;border:1px solid #ddd0e4;border-radius:18px;padding:26px;color:#30283f;background:#fffefa}dialog::backdrop{background:#2c203c65}.message-card{border-top:1px solid #e8dfea;padding:18px 0}.message-card textarea{margin-top:10px;font-size:13px}button:focus-visible,summary:focus-visible{outline:3px solid #c8afd7;outline-offset:2px}[aria-busy=true]{opacity:.8;pointer-events:none}@media(max-width:650px){.topbar{padding:12px 18px;gap:10px}#identity{font-size:11px}.top-label{display:none}.workspace{margin-top:26px;padding:0 16px}.page-heading{align-items:flex-start}.page-heading h1{font-size:24px}.panel{padding:20px 16px}.login{margin:45px 16px;padding:28px 24px;max-width:none}.form-grid{grid-template-columns:1fr}.tabs button{padding:10px 13px}.section-heading{align-items:flex-start}.course-picker{flex-direction:column}h2{font-size:20px}th,td{padding:10px 8px}.session-line{align-items:flex-start}fieldset{padding:15px}.topbar .quiet{padding:6px 8px}#notice{font-size:12px}.student-cards{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto}}

/* Examples remain hints; entered values use the normal input text color. */
input::placeholder,textarea::placeholder{color:#77717d;opacity:1}

.roster-hint{font-size:14px;margin:18px 0 8px;max-width:780px}
.roster-actions{gap:6px;margin:18px 0 12px}.roster-actions button{min-height:36px;padding:8px 10px;font-size:12px}.roster-actions span{margin-left:auto}.roster-actions button:disabled{cursor:default}
.roster-scroll{max-height:520px;border:1px solid #e4dce8;border-radius:14px;background:#fcfbfd;overscroll-behavior:contain}
.roster-editor{min-width:760px;table-layout:fixed;border-collapse:separate;border-spacing:0}
.roster-editor thead th{position:sticky;top:0;z-index:1;background:#f8f5fa;color:#81748b;padding:10px 6px}
.roster-editor th:first-child{width:44px;text-align:center}.roster-editor th:nth-child(2){width:20%}.roster-editor th:nth-child(3),.roster-editor th:nth-child(4){width:24%}.roster-editor th:last-child{width:48px;text-align:center}
.roster-editor tbody th{background:transparent;padding:6px 0;border-bottom:1px solid #eee8f0}
.roster-editor td{padding:7px 5px;border:0;border-bottom:1px solid #eee8f0;transition:background .1s}
.roster-editor input{min-width:0;width:100%;border:1px solid #ddd6e3;border-radius:12px;padding:10px 12px;background:white;font-size:13px;min-height:42px}
.roster-editor .cell-selected{background:#eee4f7}.roster-editor .cell-selected input{border-color:#a98aba;background:#f8f3fc}
.roster-editor .roster-remove{text-align:center}.roster-remove button{font-size:22px;padding:3px 9px;min-height:36px;color:#9c8a9f}
.roster-editor .row-select,.roster-editor .column-select{padding:5px 4px;min-height:32px;background:none;color:inherit;text-align:inherit;font-size:12px}
.roster-editor .column-select:hover,.roster-editor .row-select:hover{background:#ece2f3;color:#5c3c74}
.range-dragging,.range-dragging input{user-select:none;cursor:cell}
.course-groups{margin:0 0 26px;border:1px solid #e4dce3;border-radius:14px;background:#fffefa;padding:8px 20px}
.activity-dialog{width:1120px;max-width:calc(100% - 32px)}.activity-dialog td{vertical-align:top;white-space:normal;min-width:80px}.activity-dialog td:nth-child(4){min-width:160px;overflow-wrap:anywhere}.activity-dialog td:nth-child(6){min-width:150px}.activity-times{padding-left:24px;font-variant-numeric:tabular-nums;line-height:2}
.course-group{padding:17px 0}.course-group+.course-group{border-top:1px solid #e9e2eb}
.course-group h3{font-size:13px;color:#897591;margin:0 0 10px}
.course-group .course-picker{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin:0}
.course-group .course-picker button{padding:9px 12px;font-size:13px;min-height:42px}
@media(max-width:700px){.course-groups{padding:5px 12px}.course-group .course-picker{grid-template-columns:repeat(2,minmax(0,1fr))}.course-group .course-picker button{font-size:12px}}
@media(max-width:650px){.roster-actions span{flex-basis:100%;margin:6px 0}.roster-actions{gap:2px}.roster-scroll{max-height:440px}}

.media-dialog{width:820px;max-width:calc(100% - 32px)}.media-section{border-top:1px solid #e7dfeb;padding-top:22px;margin-top:22px}.media-section .section-heading{flex-wrap:wrap}.media-item{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 0;border-bottom:1px solid #eee7f0}.media-item>div:first-child{min-width:0;overflow-wrap:anywhere}.media-item strong{font-size:13px}.media-item .actions{flex-shrink:0;margin:0;gap:4px}.file-drop{padding:24px 20px;border:1px dashed #bca8c9;border-radius:14px;background:#f9f5fc;margin-top:22px;text-align:center}.file-drop strong{font-size:14px}.file-drop p{margin:8px 0 16px}.file-drop input{font-size:12px;background:white}.file-drop.drag-over{background:#e9ddf3;border-color:#7b5799}.upload-queue .media-item{font-size:12px}.video-player{display:block;width:100%;aspect-ratio:16/9;border:0;border-radius:10px}.button-link{display:inline-block;padding:11px 16px;border-radius:9px;text-decoration:none;font-size:14px}.material-upload{margin-top:14px}@media(max-width:650px){.media-item{align-items:start;flex-wrap:wrap}.media-item .actions{flex-basis:100%}.media-dialog{padding:22px 18px}.media-section .section-heading{gap:6px}}

.support-menu{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:0 0 26px}.support-menu .button-link{font-size:13px;padding:8px 14px}.login-help{display:flex;flex-direction:column;gap:16px;padding-top:22px;border-top:1px solid #e4dce3;margin-top:26px;font-size:14px}.learning-dialog{width:800px;max-width:calc(100% - 24px)}.list-card{border:1px solid #e5dce9;border-radius:12px;padding:18px;margin:16px 0;background:white}.list-card>summary{min-height:30px}.list-card h3{margin-bottom:8px}.reply-card{padding:24px 0;border-top:1px solid #e4dce3;margin-top:24px}.prose{white-space:pre-wrap;overflow-wrap:anywhere;font-size:15px;line-height:1.9}.lesson-actions{display:grid;grid-template-columns:1.2fr 1fr;gap:8px;margin-top:22px}.lesson-actions button{min-height:48px;font-size:14px}.attachment-list:empty{display:none}.learning-dialog>.button-link{margin:4px 8px 4px 0}.learning-dialog form>button[type=submit]{margin-top:24px;min-height:48px}.learning-dialog form{margin-top:22px}.student .panel>h2{line-height:1.5}.support-menu button{min-height:44px}.tabs{overflow-x:auto}.tabs button{flex-shrink:0}.learning-dialog .file-drop input{width:100%}dialog p{overflow-wrap:anywhere}dialog form{max-width:100%}@media(max-width:650px){input,textarea,select{font-size:16px}.learning-dialog{padding:22px 16px;max-height:88dvh}.support-menu{display:grid;grid-template-columns:1fr 1fr;gap:7px}.support-menu .quiet{font-size:12px}.support-menu a{text-align:center}.student h1{font-size:26px}.student .field>span{font-size:15px}.student-cards{gap:14px}.login-help{line-height:1.8}.login h1{font-size:28px}.login .primary{min-height:50px}.topbar{flex-wrap:wrap}.list-card{padding:16px}.learning-dialog>.section-heading h2{font-size:20px}.learning-dialog .section-heading>button{flex-shrink:0}.learning-dialog .media-item .actions{flex-basis:auto}.prose{font-size:15px}.learning-dialog form>button[type=submit]{width:100%}}

.answer-deadline{border:2px solid #c15d09;border-left-width:6px;background:#fff7e8;color:#60340a;border-radius:12px;padding:16px 18px;margin:12px 0 22px;overflow-wrap:anywhere}.answer-deadline .deadline-heading{display:block;font-size:16px;color:#914000}.answer-deadline .deadline-time{font-size:21px;font-weight:800;line-height:1.45;margin:8px 0}.answer-deadline p{margin:8px 0;line-height:1.65}.answer-deadline .small{font-size:13px;margin-bottom:0}@media(max-width:480px){.answer-deadline{padding:14px}.answer-deadline .deadline-time{font-size:19px}}
.dashboard{margin:24px 0}.dashboard h2{font-size:20px}.dashboard-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.dashboard-card{border:1px solid #ddd9e7;border-radius:12px;background:white;padding:18px;min-width:0}.dashboard-card summary{cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:44px}.dashboard-card .text-button{display:block;white-space:normal;text-align:left;overflow-wrap:anywhere;margin-top:12px}.dashboard-count{font-size:24px;font-weight:700;margin:8px 0;color:#554675}.attachment-preview{max-width:100%;height:auto}.submission-receipt{background:#f0f5f1;border:1px solid #b6cdbb;border-radius:12px;padding:20px}.attachment-list .actions{flex-wrap:wrap}.student .lesson-actions button{min-height:48px}.material-upload select{width:100%;min-height:44px}
@media(max-width:900px){.dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:540px){.dashboard-grid{grid-template-columns:1fr 1fr;gap:8px}.dashboard-card{padding:12px}.dashboard-card summary{display:block;font-size:14px}.dashboard-count{display:block;font-size:22px}.dashboard-grid>button{font-size:14px;white-space:normal;min-height:70px}.student input,.student select,dialog input,dialog select,dialog textarea{font-size:16px}.student .support-menu{gap:8px}.student .support-menu button,.student .support-menu a{min-height:44px}.student .lesson-actions{display:grid;grid-template-columns:1fr}.student .small,dialog .small{font-size:14px;line-height:1.6}}

.release-countdown{color:#756381;font-size:12px;font-variant-numeric:tabular-nums;line-height:1.6}.release-times{display:flex;flex-wrap:wrap;gap:2px 18px}.release-times:has(>.release-countdown:not([hidden])){margin-bottom:10px}.media-section>.release-countdown:not([hidden]){margin-bottom:10px}

.login-account-links{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:4px 16px;margin:14px 0 18px;font-size:14px}.login-account-links .text-button{font-size:14px;min-height:44px}.login-account-links>a{display:inline-flex;align-items:center;min-height:44px}.login-account-links+ p{margin-bottom:0}

.signup-trap{position:absolute!important;left:-9999px;width:1px;height:1px;opacity:0}.signup .check{align-items:flex-start;line-height:1.6}.signup .check input{width:18px;height:18px;flex:none;margin-top:5px}.login-account-links{flex-wrap:wrap}.signup h1{margin-top:20px}

.account-type-tabs{display:flex;gap:8px;margin:20px 0}.account-type-tabs button{flex:1}.notification-bell{position:relative;display:inline-flex;align-items:center;gap:6px;min-width:44px;min-height:44px;flex-shrink:0}.notification-bell[hidden],.notification-count[hidden]{display:none}.notification-count{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 5px;border-radius:12px;background:#c52b7e;color:white;font-size:11px;font-weight:700}.notifications-dialog{max-width:540px}.notification-group{padding:14px 0;border-bottom:1px solid #e4dfeb}.notification-group .text-button{display:block;text-align:left;width:100%;padding:10px 4px}.guardian-lessons{display:grid;gap:12px}.guardian-lesson{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 0;border-top:1px solid #e4dfeb}.guardian-lesson h3{font-size:17px;margin:6px 0}.guardian-lesson p{margin:4px 0}.guardian-fee{display:flex;flex-direction:column;gap:8px;align-items:flex-end;flex-shrink:0}.fee-badge{font-size:12px;padding:5px 9px;border-radius:8px;background:#f1edf5;color:#695c79}.fee-badge.paid{background:#e7f4ec;color:#236745}.fee-badge.unpaid{background:#fff1e6;color:#87500e}.guardian-account-actions{max-width:1100px;margin:0 auto 30px;padding:0 24px;display:flex;gap:12px;justify-content:flex-end}@media(max-width:600px){.topbar{gap:8px;flex-wrap:wrap}.topbar #identity{display:none}.notification-label{display:none}.notification-bell{margin-left:auto}.guardian-lesson{gap:10px}.guardian-lesson h3{font-size:15px}.guardian-fee strong{font-size:14px}}
.sms-table tbody tr{user-select:none;cursor:crosshair}.sms-table .sms-selected{background:#f0e8f7}.sms-table td small{display:block;white-space:nowrap;color:#756d7f;font-size:11px}.sms-table button{cursor:pointer;white-space:nowrap}.sms-table td{min-height:44px}

.sms-dialog{width:min(1000px,calc(100% - 32px));max-width:min(1000px,calc(100% - 32px))}.sms-compose{display:grid;grid-template-columns:1.6fr 1fr;gap:20px;align-items:start}.sms-compose .table-scroll{max-height:290px;overflow:auto}.sms-compose th{position:sticky;top:0;z-index:1}.sms-message{display:grid;gap:8px;font-size:12px;color:#837789}.sms-message textarea{min-height:240px;color:#30283f}.sms-dialog>p{margin-bottom:10px}.sms-dialog .actions{margin:12px 0}@media(max-width:720px){.sms-compose{grid-template-columns:1fr;gap:12px}.sms-compose .table-scroll{max-height:220px}.sms-message textarea{min-height:145px;max-height:180px}}

.sms-table td:nth-child(3),.sms-table td:nth-child(4){white-space:nowrap}
.material-summary{display:grid;gap:4px;margin:12px 0;overflow-wrap:anywhere}.material-group{border-top:1px solid #e2ddea;margin-top:20px;padding-top:8px}.material-group h4{margin-bottom:4px}

button.sms-sent{background:#f0f0f2;border:1px solid #dedee3;color:#73737e}button.sms-sent:hover{background:#e5e5ea;color:#51515c}

/* Clear release timers, hidden automatically once each resource opens. */
.release-countdown:not([hidden]){display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:15px 20px;background:#f1eaf7;border:1px solid #dac9e6;border-left:4px solid #78518f;border-radius:12px;color:#49305d;min-width:0}
.release-countdown .countdown-label{font-size:14px;font-weight:650;line-height:1.5}
.release-countdown .countdown-value{font-size:30px;font-weight:800;letter-spacing:.025em;line-height:1.25;font-variant-numeric:tabular-nums;color:#432655;white-space:nowrap}
.release-times{gap:12px}.release-times>.release-countdown{flex:1 1 240px}
.media-section>.release-countdown:not([hidden]){margin-bottom:16px}
.release-times:has(>.release-countdown:not([hidden])){margin-bottom:18px}
@media(max-width:600px){.release-countdown:not([hidden]){padding:13px 16px}.release-countdown .countdown-value{font-size:28px}.media-section>.section-heading{align-items:flex-start;flex-direction:column}.media-section>.section-heading>.small{line-height:1.65}.release-times>.release-countdown{flex-basis:100%}}

.material-received{display:block;width:fit-content;margin-top:8px;padding:4px 9px;border-radius:7px;background:#edf5ef;color:#326746;font-size:13px;font-weight:650}

/* Secondary management actions stay in a single, keyboard-accessible menu. */
.more-menu{display:inline-block;position:relative;flex:none;text-align:left}
.more-menu>summary{cursor:pointer;list-style:none;border:1px solid #dcd9e5;border-radius:10px;background:#fff;color:#40394f;font-size:14px;line-height:1;min-width:68px;min-height:40px;display:grid;place-items:center;padding:4px 10px}
.more-menu>summary::-webkit-details-marker{display:none}
.more-menu[open]>.more-menu-items{display:flex}
.more-menu-items{display:none;position:absolute;right:0;top:calc(100% + 6px);z-index:20;min-width:190px;max-width:calc(100vw - 40px);padding:7px;background:#fff;border:1px solid #ddd7e5;border-radius:12px;box-shadow:0 8px 28px #29233f20;flex-direction:column;gap:3px}
.more-menu-items button{text-align:left;white-space:normal;min-height:42px;margin:0;border:0;width:100%;background:transparent;color:#30283e}
.more-menu-items button:hover{background:#f3f0f8}
.more-menu:focus-within>summary{outline:2px solid #a894c3;outline-offset:2px}
.selection-actions{padding:10px 12px;background:#f3f0f8;border-radius:10px;margin:12px 0}
[hidden]{display:none!important}.danger-button{background:#a33750;color:white}
.more-menu-items{left:0;right:auto}
.section-heading>.more-menu>.more-menu-items,.section-heading>.actions .more-menu-items,.media-item>.actions .more-menu-items,.session-line>.more-menu>.more-menu-items{left:auto;right:0}
/* Student navigation: one consistent menu; the public homepage is unaffected. */
.student-nav{display:flex;gap:6px;background:#f0edf5;border:1px solid #e5dfed;padding:6px;border-radius:16px;margin:12px 0 28px}.student-nav button{flex:1;min-height:48px;border:0;background:transparent;color:#71677e;font-size:15px;font-weight:600}.student-nav button.active{background:#352b49;color:#fff;box-shadow:0 2px 5px #352b4918}.student-heading{align-items:center}.student-heading h1{margin-bottom:8px}.student-account{flex-shrink:0}.student-account>summary{padding:10px 12px;color:#71677e;font-size:14px;cursor:pointer}.student-help{margin:24px 0;padding:18px;border-radius:12px;background:#f3f0f7}.student-help summary{cursor:pointer}.student-view>h2{font-size:24px}.report-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 0;border-top:1px solid #ece7f0}.report-row p{margin:6px 0 0}.report-row .button-link{white-space:nowrap;min-height:44px}.thread-message{margin:18px 0;padding:20px;border:1px solid #e7e1ed;border-radius:14px}.thread-staff{background:#f5f1fa;border-color:#ded3ec}.thread-message .prose{margin-bottom:10px}.thread-compose{padding:18px;background:#f5f1fa;border-radius:12px;margin-top:24px}.thread-compose>summary{font-weight:700;cursor:pointer;min-height:28px}.thread-compose form{margin-top:16px}
@media(max-width:650px){.workspace.student{padding-bottom:110px}.student-nav{position:fixed;bottom:0;left:0;right:0;z-index:25;margin:0;border-radius:18px 18px 0 0;border-bottom:0;padding:8px 12px calc(8px + env(safe-area-inset-bottom));background:#fff;box-shadow:0 -3px 18px #352b490b}.student-nav button{font-size:14px;min-height:48px;border-radius:12px}.student-heading h1{font-size:23px}.student-account>summary{font-size:13px;padding:10px}.student-view .section-heading{align-items:center}.report-row{gap:10px}.report-row .button-link{font-size:13px;padding:10px 12px}.thread-message{padding:16px}.student-view>h2{font-size:22px}}
@media(max-width:650px){body:has(.student-nav) #notice{bottom:calc(82px + env(safe-area-inset-bottom));z-index:30}}
dialog>.section-heading>button{flex-shrink:0;white-space:nowrap}dialog>.section-heading>h2{min-width:0;overflow-wrap:anywhere}

/* Official admissions library: separate from fee-gated course files. */
.library-filters{display:grid;grid-template-columns:1fr 1fr 1fr 2fr;gap:10px;margin:22px 0 10px}.library-filters input,.library-filters select{width:100%;min-width:0;min-height:46px}.library-card h3{font-size:19px;line-height:1.5;margin:4px 0 12px}.library-file{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:14px 0;border-top:1px solid #ece7f0}.library-file p{margin:6px 0 0}.library-file-edit{padding:16px;background:#f6f3f8;margin:12px 0;border-radius:12px}.library-card>.small .button-link{font-size:12px;padding:6px 10px}.library-results{min-height:130px}
@media(max-width:650px){.library-filters{grid-template-columns:1fr 1fr}.library-filters input{grid-column:1/-1}.library-file{gap:10px}.library-file .button-link{white-space:nowrap;font-size:13px;padding:10px}}
.resource-links{display:flex;gap:8px;align-items:center;margin:0 0 24px;flex-wrap:wrap}.resource-links button{font-size:14px;min-height:42px;border:1px solid #e5dfed;border-radius:10px;background:white;color:#554675}.resource-links button.active{background:#f0e9f5;border-color:#c4b3d3}.shared-drop{padding:20px;border:2px dashed #d2c7dd;border-radius:12px;margin:16px 0}.shared-drop.dragover{background:#efe7f7;border-color:#6b4e88}.shared-drop input{max-width:100%}.prose{white-space:pre-wrap}
/* Compact admissions catalog: download types are the primary action. */
.catalog-heading{margin-bottom:22px}.catalog-heading h2{font-size:25px}.catalog-heading p{font-size:14px;margin-top:7px}.catalog-kinds{display:flex;gap:4px;padding:4px;border:1px solid #e1dce7;border-radius:12px;width:max-content;max-width:100%;background:#fff;margin-bottom:14px;overflow-x:auto}.catalog-kinds button{white-space:nowrap;background:transparent;color:#756b80;min-height:38px;padding:7px 14px;font-size:13px}.catalog-kinds button.active{background:#342b45;color:#fff;border-radius:8px}.catalog-filters{display:grid;grid-template-columns:1fr 1fr 2.2fr;gap:10px;margin-bottom:10px}.catalog-filters select,.catalog-filters input{width:100%;min-width:0;min-height:46px;background:#fff;border-radius:12px}.catalog-count{font-size:12px;color:#8a8094;margin:8px 0 26px}.catalog-school{margin-bottom:30px}.catalog-school>h3{font-size:16px;margin-bottom:12px;display:flex;gap:10px;align-items:center}.catalog-school>h3>span{font-size:12px;font-weight:400;color:#8a8094}.catalog-table-wrap{border:1px solid #e3dfe8;border-radius:15px;overflow:hidden;background:#fff}.catalog-table{table-layout:fixed;border-collapse:collapse;width:100%}.catalog-table th,.catalog-table td{padding:18px 20px;border-bottom:1px solid #ebe7ef;vertical-align:middle}.catalog-table th{background:#f7f6f9;color:#81758c;font-size:12px;font-weight:500;padding-top:12px;padding-bottom:12px}.catalog-table th:first-child{width:43%}.catalog-table th:nth-child(2){width:15%}.catalog-table th:last-child{width:42%}.catalog-table tbody tr:last-child td{border-bottom:0}.catalog-title{display:block;text-align:left;min-height:0;padding:0;background:none;border:0;font-size:14px;line-height:1.55;font-weight:650;color:#352d42;letter-spacing:-.025em}.catalog-title:hover{text-decoration:underline;text-underline-offset:4px}.catalog-subtitle{margin:5px 0 0;color:#95899f;font-size:12px;line-height:1.5}.catalog-year{font-size:13px;color:#85788f;white-space:nowrap}.catalog-files{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.catalog-download{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:6px 10px;border-radius:8px;background:#f1eef5;color:#5c4c70;border:1px solid transparent;font-size:12px;font-weight:550;white-space:nowrap;line-height:1.4}.catalog-download:hover{background:#e8e0f0;border-color:#cdbcd9}.catalog-file-cell{position:relative}.catalog-file-cell:has(.catalog-more){padding-right:45px}.catalog-more{position:absolute;right:6px;top:50%;transform:translateY(-50%);background:none;padding:6px;min-width:30px;color:#8b7c97}.catalog-detail-file{display:flex;gap:20px;align-items:center;justify-content:space-between;border-bottom:1px solid #e8e1ed;padding:16px 0}.catalog-detail-file p{margin:5px 0 0}.catalog-origin{margin-top:25px;padding-top:15px;border-top:1px solid #ece6f0}.catalog-origin summary{font-size:13px;color:#8b7b97}.catalog-source{display:block;font-size:13px;margin:12px 0;overflow-wrap:anywhere;color:#786187}.catalog-edit-file{display:grid;grid-template-columns:1fr 180px auto;gap:8px;align-items:center;border-bottom:1px solid #e9e2ed;padding:12px 0;font-size:13px}.catalog-edit-file>span{min-width:0;overflow-wrap:anywhere}.catalog-edit-file select{font-size:13px}.catalog-results{min-height:130px}
@media(max-width:720px){.catalog-table th,.catalog-table td{padding:16px 14px}.catalog-table th:first-child{width:44%}.catalog-table th:nth-child(2){width:15%}.catalog-table th:last-child{width:41%}.catalog-download{font-size:12px;padding:7px 9px}.catalog-title{font-size:14px}.catalog-edit-file{grid-template-columns:1fr auto}.catalog-edit-file>span{grid-column:1/-1}}
@media(max-width:600px){.catalog-heading{margin-bottom:16px}.catalog-heading h2{font-size:23px}.catalog-heading p{font-size:13px}.catalog-kinds{width:100%;gap:2px}.catalog-kinds button{flex:1;font-size:12px;padding:8px 9px;min-height:40px}.catalog-filters{grid-template-columns:1fr 1fr;gap:8px}.catalog-filters input{grid-column:1/-1}.catalog-filters select{font-size:14px}.catalog-table thead{display:none}.catalog-table,.catalog-table tbody,.catalog-table tr,.catalog-table td{display:block;width:100%}.catalog-table .catalog-year{display:none}.catalog-table tr{padding:18px 16px;border-bottom:1px solid #e9e3ed}.catalog-table tr:last-child{border-bottom:0}.catalog-table td{padding:0;border:0}.catalog-table .catalog-file-cell{padding-top:12px}.catalog-title{font-size:15px}.catalog-subtitle{font-size:12px;margin-top:6px}.catalog-files{gap:7px}.catalog-download{min-height:40px;font-size:12px;padding:9px 11px}.catalog-more{top:0;transform:none;right:-4px}.catalog-file-cell:has(.catalog-more){padding-right:30px}.catalog-count{margin-bottom:20px}.catalog-detail-file{align-items:flex-start;gap:10px}.catalog-detail-file .small{font-size:12px}.catalog-detail-file .catalog-download{flex-shrink:0}.catalog-edit-file select{font-size:16px}}
/* Exam list stays compact. All downloads and descriptions live in its detail dialog. */
.catalog-heading{margin-bottom:14px}.catalog-heading p{margin-top:4px}.catalog-count{margin:8px 0 14px}.catalog-school{margin-bottom:22px}.catalog-school>h3{margin-bottom:9px}.catalog-table th:first-child{width:68%}.catalog-table th:nth-child(2){width:17%}.catalog-table th:last-child{width:15%}.catalog-table th{padding:9px 16px}.catalog-table td{padding:6px 16px;height:50px}.catalog-table tr{cursor:pointer}.catalog-table tbody tr:hover{background:#faf8fc}.catalog-title{width:100%;min-height:36px;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:550}.catalog-mobile-meta{display:none}.catalog-kind-cell{position:relative;padding-right:35px!important;font-size:12px;color:#8a7d94;white-space:nowrap}.catalog-chevron{position:absolute;right:16px;top:50%;transform:translateY(-50%);font-size:20px;color:#b3a7bd}.catalog-kind-cell:has(.catalog-more) .catalog-chevron{display:none}.catalog-more{right:6px}.catalog-detail-file .catalog-download{min-height:42px;font-size:13px;padding:10px 14px}.catalog-detail{min-width:0}
@media(min-width:850px){.catalog-kinds{display:inline-flex;margin-bottom:10px}.catalog-filters{margin-bottom:6px}}
@media(max-width:600px){.catalog-table tr{padding:10px 14px;min-height:66px}.catalog-table td{height:auto;padding:0}.catalog-table .catalog-main{padding-right:24px;position:relative}.catalog-title{white-space:normal;font-size:14px;line-height:1.45;min-height:24px}.catalog-mobile-meta{display:block;margin-top:3px;color:#94869f;font-size:11px}.catalog-table .catalog-kind-cell{height:0;padding:0!important}.catalog-kind-cell>span:first-child{display:none}.catalog-chevron{top:-24px;right:0;transform:none;line-height:1}.catalog-more{top:-34px;right:-6px}.catalog-detail-file{display:block}.catalog-detail-file .catalog-download{margin-top:10px}.catalog-detail-file p{font-size:12px}.catalog-detail-file{padding:13px 0}}
/* One primary materials entry; subcategories appear only inside it. */
.resource-subnav{display:flex;align-items:center;gap:4px;border-bottom:1px solid #ddd5e5;margin:0 0 22px;padding-bottom:0}.resource-subnav button{min-height:44px;padding:10px 16px;background:transparent;color:#897a95;border-radius:0;border-bottom:2px solid transparent;font-size:14px}.resource-subnav button.active{border-bottom-color:#72538a;color:#49325e;font-weight:750}.student-nav button{min-width:0}.catalog-heading{margin-top:0}
@media(max-width:650px){.student-nav{gap:2px;padding-left:6px;padding-right:6px}.student-nav button{font-size:13px;padding:10px 5px;white-space:nowrap}.resource-subnav{margin-bottom:18px}.resource-subnav button{font-size:14px;padding:10px 12px}.resource-subnav button.active{background:transparent}}

.visitor-stats{max-width:920px}.visitor-stats-status{background:#f1eaf6;color:#715485;font-weight:650}.visitor-stats-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));list-style:none;padding:0;gap:18px;margin:26px 0}.visitor-stats-metrics li{padding:16px 0;border-top:1px solid #e4dce3}.visitor-stats-metrics strong{display:block;font-size:15px;margin-bottom:6px}.visitor-stats-metrics span{display:block;font-size:13px;color:#837789}.visitor-stats-help{border-top:1px solid #e4dce3;padding-top:20px}.visitor-stats-help summary{min-height:44px}.visitor-stats-help ol{padding-left:22px;line-height:1.9;font-size:14px}.visitor-stats-help li+li{margin-top:8px}.visitor-stats .button-link{min-height:44px;display:inline-flex;align-items:center;justify-content:center}@media(max-width:650px){.visitor-stats-metrics{grid-template-columns:1fr;gap:0;margin:18px 0}.visitor-stats-metrics li{padding:14px 0}.visitor-stats>.actions>.button-link{width:100%}.visitor-stats .section-heading{align-items:center}.visitor-stats-help ol{font-size:15px}}
