/* Student workspace and contact page, using the selected blue and white system. */
.contact-page-v2,.profile-page-v2,.account-edit-page-v2,.account-support-page-v2,.account-homework-page-v2,.account-homework-detail-v2{--account-line:var(--review-line,#d6e3ec);--account-brand:var(--review-brand,#075b9f);--account-ink:var(--review-ink,#173a55);--account-muted:var(--review-muted,#60768a);--account-soft:var(--review-soft,#f2f7fb)}
.contact-page-v2 h1,.account-header-v2 h1,.account-edit-page-v2 h1,.account-support-page-v2 h1{margin:0;font-size:30px;line-height:1.4;letter-spacing:0}
.contact-page-v2 h2,.profile-page-v2 h2,.account-edit-page-v2 h2{font-size:22px;line-height:1.45;margin:0;color:var(--account-ink)}
.contact-layout-v2{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.8fr);gap:20px;margin-bottom:24px}
.contact-details-v2,.contact-location-v2,.contact-message-v2{border:1px solid var(--account-line);border-radius:14px;background:#fff}
.contact-details-v2{padding:28px 30px;min-width:0}
.contact-details-heading{display:flex;align-items:center;gap:13px}
.contact-symbol{display:grid;place-items:center;width:43px;height:43px;flex:0 0 43px;background:#edf5fa;color:var(--account-brand);border-radius:10px}
.contact-symbol svg{width:25px;height:25px}
.contact-copy-v2{margin:23px 0 0;font-size:17px;line-height:1.85;overflow-wrap:anywhere;color:var(--account-ink)}
.contact-copy-v2 a{color:var(--account-brand);text-underline-offset:4px}
.contact-details-v2 .content-image-document{margin-block:20px;max-width:100%}
.contact-location-v2{display:flex;flex-direction:column;position:relative;isolation:isolate;overflow:hidden;padding:25px 28px;background:linear-gradient(135deg,#f6faff,#eaf3f8);color:var(--account-ink);text-decoration:none;transition:background .22s,border-color .22s,transform .22s;min-height:270px}
.contact-location-top{display:flex;align-items:center;justify-content:space-between;gap:15px;color:var(--account-muted);font-size:14px;font-weight:600}
.contact-location-top>span:last-child{font-size:24px;color:var(--account-brand)}
.contact-location-pin{width:52px;height:52px;display:grid;place-items:center;border:1px solid #c2d9e9;border-radius:50%;background:#fff9;color:var(--account-brand);margin:17px 0 14px}
.contact-location-pin svg{width:28px;height:28px}
.contact-location-v2 strong{max-width:320px;font-size:22px;line-height:1.55;color:var(--account-ink)}
.contact-location-action{margin-top:auto;padding-top:24px;font-size:14px;display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--account-brand)}
.contact-location-v2:hover,.contact-location-v2:focus-visible{border-color:#87b2ce;transform:translateY(-3px);background:linear-gradient(135deg,#f0f7fc,#e0eef7)}
.contact-location-v2:hover .contact-location-action b{transform:translateX(4px)}
.contact-location-action b{transition:transform .22s}
.contact-message-v2{padding:25px 30px}
.contact-message-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:22px}
.contact-message-fields{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(230px,1fr);gap:24px}
.contact-message-fields label{display:block;font-size:15px;font-weight:600;color:var(--account-ink);line-height:1.6}
.contact-message-fields label>span{color:#8b514b}
.contact-message-fields input,.contact-message-fields select,.contact-message-fields textarea{display:block;box-sizing:border-box;width:100%;border:1px solid #c6d8e5;border-radius:7px;background:#fff;color:var(--account-ink);padding:11px 12px;font-size:16px;line-height:1.65;margin-top:8px;min-height:45px;box-shadow:none}
.contact-message-fields textarea{min-height:171px;resize:vertical}
.contact-message-fields input:focus,.contact-message-fields select:focus,.contact-message-fields textarea:focus{border-color:var(--account-brand)}
.contact-message-fields small,.contact-form-note{font-size:13px;color:var(--account-muted);font-weight:400;line-height:1.7}
.contact-message-fields small{display:block;margin-top:7px}
.contact-message-options{display:flex;flex-direction:column;gap:16px}
.contact-form-note{margin:0}
.contact-message-footer{border-top:1px solid var(--account-line);margin-top:22px;padding-top:18px;display:flex;align-items:center;justify-content:space-between;gap:16px}
.contact-message-footer>span{font-size:14px;color:var(--account-muted)}
.contact-message-footer .btn{min-width:145px;display:flex;justify-content:space-between;gap:30px}
.contact-message-notice{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:18px;padding:14px 16px;border:1px solid #b9d4e7;background:#f0f7fc;border-radius:8px;color:var(--account-ink);font-size:15px;line-height:1.6}
.contact-message-notice[hidden]{display:none}
.account-header-v2{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:19px}
.account-title-v2{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.account-title-v2>strong{font-size:16px;font-weight:500;color:var(--account-muted);padding-left:16px;border-left:1px solid #c4d8e5}
.account-avatar-v2{display:grid;place-items:center;width:48px;height:48px;border-radius:12px;background:var(--account-brand);color:#fff;font-size:24px;font-weight:600}
.account-section-nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;border:1px solid var(--account-line);border-radius:11px;background:#fff;margin-bottom:24px;overflow:hidden}
.account-section-nav button{border:0;border-right:1px solid var(--account-line);background:transparent;padding:17px 20px;display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--account-ink);font-size:16px;font-weight:600;transition:background .18s,color .18s}
.account-section-nav button:last-child{border-right:0}
.account-section-nav button:hover{background:#eaf4fb;color:var(--account-brand)}
.account-section-nav span{font-size:23px;color:var(--account-brand);font-variant-numeric:tabular-nums}
.account-main-grid-v2{display:grid;grid-template-columns:minmax(0,2.1fr) minmax(260px,1fr);gap:20px;align-items:start}
.account-panel-v2{padding:23px 24px;border:1px solid var(--account-line);border-radius:12px;background:#fff;min-width:0}
.account-panel-v2 .section-head{display:flex;justify-content:space-between;gap:14px;margin-bottom:19px;align-items:center}
.account-panel-v2 .section-head h2{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.account-count-v2{font-size:13px;line-height:1.5;font-weight:500;background:#edf5fa;color:var(--account-brand);border-radius:5px;padding:3px 8px}
.account-course-list-v2{display:flex;flex-direction:column;gap:17px}
.account-course-v2{display:grid;grid-template-columns:minmax(150px,.8fr) minmax(0,1.65fr);border:1px solid var(--account-line);border-radius:10px;overflow:hidden;min-width:0;background:#fff;transition:border-color .2s,box-shadow .2s}
.account-course-v2:hover{border-color:#8cb5d1;box-shadow:0 4px 14px #173a5509}
.account-course-cover-v2{display:flex;align-items:center;justify-content:center;border:0;padding:0;background:#edf4f8;min-width:0;min-height:145px;color:var(--account-muted);width:100%;overflow:hidden}
.account-course-cover-v2 img,.account-course-cover-v2 picture{display:block;width:100%;height:auto;max-width:100%;object-fit:contain}
.account-course-body-v2{padding:16px 17px;min-width:0}
.account-course-body-v2 h3{font-size:18px;line-height:1.55;margin:8px 0 10px}
.account-course-body-v2 h3 button{text-align:left}
.account-course-meta-v2{display:flex;align-items:center;gap:12px;font-size:12px;color:var(--account-muted);flex-wrap:wrap}
.account-course-meta-v2 span:first-child{color:var(--account-brand)}
.account-progress-v2{display:flex;align-items:center;gap:10px}
.account-progress-v2 progress{appearance:none;display:block;height:5px;flex:1;min-width:30px;max-width:100%;border:0;border-radius:9px;overflow:hidden;background:#e7eff5;color:var(--account-brand)}
.account-progress-v2 progress::-webkit-progress-bar{background:#e7eff5;border-radius:9px}
.account-progress-v2 progress::-webkit-progress-value{background:#347cae;border-radius:9px}
.account-progress-v2 progress::-moz-progress-bar{background:#347cae;border-radius:9px}
.account-progress-v2>span{font-size:12px;color:var(--account-muted);white-space:nowrap}
.account-course-footer-v2{margin-top:13px;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.account-course-footer-v2>span{font-size:13px;color:var(--account-muted);line-height:1.55;flex:1;min-width:130px}
.account-course-footer-v2 .btn{font-size:13px;min-height:37px;white-space:nowrap;padding:7px 12px}
.account-side-v2{display:flex;flex-direction:column;gap:18px;min-width:0}
.account-todo-v2 h2,.account-shortcuts-v2 h2{margin-bottom:13px}
.account-todo-v2>button{display:flex;align-items:center;gap:10px;width:100%;padding:13px 0;border:0;border-bottom:1px solid #e2ebf2;background:transparent;font-size:15px;color:var(--account-ink);text-align:left}
.account-todo-v2>button:last-child{border-bottom:0;padding-bottom:2px}
.account-todo-v2>button>span{flex:1}
.account-todo-v2>button>strong{font-size:22px;min-width:22px;font-weight:600;color:var(--account-brand);font-variant-numeric:tabular-nums}
.account-todo-v2>button>b{color:#8da5b7;transition:transform .2s}
.account-todo-v2>button:hover{color:var(--account-brand)}
.account-todo-v2>button:hover>b{transform:translateX(3px);color:var(--account-brand)}
.account-shortcuts-v2>div{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.account-shortcuts-v2 button{display:flex;align-items:center;justify-content:space-between;gap:9px;padding:13px 11px;border:1px solid #d9e6ef;border-radius:7px;background:#f7fafc;color:var(--account-ink);font-size:14px;transition:background .2s,border-color .2s;text-align:left}
.account-shortcuts-v2 button:hover{background:#e8f3fa;border-color:#8ab2ce}
.account-shortcuts-v2 b{color:var(--account-brand);font-weight:400}
.account-info-v2 .section-head{margin-bottom:10px}
.account-text-button{border:0;padding:4px 0;background:transparent;color:var(--account-brand);font-size:13px;white-space:nowrap}
.account-info-v2 dl,.account-edit-note-v2 dl{margin:0}
.account-info-v2 dl>div,.account-edit-note-v2 dl>div{display:grid;grid-template-columns:60px minmax(0,1fr);gap:12px;font-size:13px;padding:7px 0;line-height:1.6}
.account-info-v2 dt,.account-edit-note-v2 dt{color:var(--account-muted)}
.account-info-v2 dd,.account-edit-note-v2 dd{margin:0;color:var(--account-ink);overflow-wrap:anywhere}
.account-wide-panel-v2{margin-top:22px}
.account-panel-v2[id]{scroll-margin-top:150px}
.account-panel-v2 .compact-table-scroll{margin-bottom:0;border-radius:7px}
.account-panel-v2 table{font-size:14px}
.account-panel-v2 th{font-size:13px;font-weight:500}
.account-history-v2{border-top:1px solid var(--account-line);margin-top:18px;padding-top:10px}
.account-history-v2 summary{cursor:pointer;padding:8px 0;color:var(--account-muted);font-size:15px}
.account-history-v2 summary span{margin-left:8px;color:var(--account-brand)}
.account-history-v2[open]>summary{margin-bottom:12px}
.account-ticket-list-v2{display:flex;flex-direction:column;gap:14px}
.account-ticket-v2{padding:20px 22px;border:1px solid var(--account-line);border-radius:9px;background:#fff;overflow:hidden}
.account-ticket-v2>header{display:flex;align-items:center;gap:14px;flex-wrap:wrap;font-size:13px;color:var(--account-muted)}
.account-ticket-course{padding-left:12px;border-left:1px solid var(--account-line)}
.account-ticket-question-v2{font-size:16px;line-height:1.8;margin:14px 0;overflow-wrap:anywhere;color:var(--account-ink)}
.account-ticket-reply-v2{padding:15px 17px;background:#f2f7fb;border-left:3px solid #83abc8;border-radius:0 6px 6px 0;font-size:14px;line-height:1.8;overflow-wrap:anywhere}
.account-ticket-reply-v2>strong{display:block;font-size:13px;color:var(--account-brand);margin-bottom:5px}
.account-ticket-reply-v2>time{display:block;color:var(--account-muted);font-size:12px;margin-top:7px}
.account-ticket-v2>footer{display:block;background:transparent;border:0;text-align:left;padding:12px 0 0;margin:0;color:var(--account-muted);font-size:12px}
.account-empty-v2{display:flex;align-items:center;justify-content:space-between;gap:16px}
.account-draft-notice{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:13px 18px;margin-bottom:18px;border:1px solid #b8d3e6;border-radius:8px;background:#eaf5fc;font-size:14px;color:var(--account-ink)}
.account-identity-details-v2{margin:-5px 0 17px;border-bottom:1px solid var(--account-line);font-size:13px;color:var(--account-muted)}
.account-identity-details-v2 summary{display:flex;align-items:center;gap:16px;cursor:pointer;list-style:none;padding:8px 0 14px;line-height:1.65}
.account-identity-details-v2 summary::-webkit-details-marker{display:none}
.account-identity-details-v2 summary strong{font-size:13px;font-weight:500;white-space:nowrap;color:var(--account-ink)}
.account-identity-details-v2 summary>span{flex:1}
.account-identity-details-v2 summary>b{font-size:12px;font-weight:500;color:var(--account-brand)}
.account-identity-details-v2 summary>b::after{content:'⌄';display:inline-block;padding-left:6px}
.account-identity-details-v2[open] summary>b::after{content:'⌃'}
.account-identity-details-v2 dl{display:flex;align-items:flex-start;gap:24px 40px;flex-wrap:wrap;margin:0 0 15px;padding:14px 18px;background:#fff;border:1px solid var(--account-line);border-radius:8px}
.account-identity-details-v2 dl>div{display:flex;gap:12px;line-height:1.7}
.account-identity-details-v2 dt{color:var(--account-muted);white-space:nowrap}
.account-identity-details-v2 dd{margin:0;color:var(--account-ink);overflow-wrap:anywhere}
.account-ticket-preview-list-v2{border-top:1px solid var(--account-line)}
.account-ticket-preview-v2{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:18px;padding:15px 0;border-bottom:1px solid var(--account-line)}
.account-ticket-preview-v2:last-child{border-bottom:0;padding-bottom:0}
.account-ticket-preview-v2>div{min-width:0}
.account-ticket-preview-v2 p{margin:0 0 4px;font-size:15px;line-height:1.6;color:var(--account-ink);overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow-wrap:anywhere}
.account-ticket-preview-v2 time{font-size:12px;color:var(--account-muted)}
.account-ticket-preview-v2>.status{white-space:nowrap;font-size:12px}
@media(max-width:760px){.account-identity-details-v2 summary{gap:9px}.account-identity-details-v2 summary>span{font-size:12px}.account-identity-details-v2 dl{gap:10px;flex-direction:column;padding:12px}.account-ticket-preview-v2{grid-template-columns:minmax(0,1fr) auto;gap:9px 12px;padding:14px 0}.account-ticket-preview-v2>.status{grid-row:1;justify-self:start}.account-ticket-preview-v2>div{grid-row:2;grid-column:1/-1}.account-ticket-preview-v2>button{grid-column:2;grid-row:1}.account-ticket-preview-v2 p{font-size:14px}}
.account-edit-layout-v2{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(260px,.8fr);gap:24px;align-items:start;max-width:980px;margin-inline:auto}
.account-edit-card-v2{width:auto;max-width:none;margin:0;padding:26px 30px}
.account-edit-card-v2 h2{font-size:23px;margin-bottom:22px}
.account-edit-card-v2 .auth-fields{margin-top:0}
.account-edit-note-v2 h2{margin-bottom:18px}
.account-edit-note-v2 p{font-size:14px;line-height:1.85;color:var(--account-muted);margin:18px 0 0;border-top:1px solid var(--account-line);padding-top:18px}
.account-homework-page-v2 h1,.account-homework-detail-v2 h1{margin:0;font-size:30px;line-height:1.5;letter-spacing:0}
.account-homework-page-v2>.container>.section-head,.account-homework-detail-v2>.container>.section-head{align-items:flex-start;gap:22px}
.account-homework-detail-v2>.container>.section-head h1{max-width:750px}
.account-homework-detail-v2 .homework-meta{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin:0 0 22px;font-size:13px;color:var(--account-muted)}
.account-homework-detail-grid-v2{display:grid;grid-template-columns:minmax(0,2fr) minmax(260px,1fr);gap:20px;align-items:start}
.account-homework-main-v2{display:grid;gap:20px;min-width:0}
.account-homework-detail-v2 .account-panel-v2 h2{margin:0 0 19px;font-size:22px;color:var(--account-ink)}
.account-homework-detail-v2 .article-content{font-size:16px;line-height:1.9;overflow-wrap:anywhere}
.account-homework-detail-v2 .article-content img{max-width:100%;height:auto}
.account-homework-detail-v2 textarea{min-height:210px;resize:vertical;font-size:16px;line-height:1.8}
.account-homework-score-v2{padding:18px;border-radius:8px;background:#eff6fb;display:flex;justify-content:space-between;align-items:center;gap:16px;color:var(--account-muted);font-size:15px}
.account-homework-score-v2 strong{font-size:26px;font-weight:600;color:var(--account-brand)}
.account-homework-feedback-v2{margin-top:22px;overflow-wrap:anywhere}
.account-homework-feedback-v2 h3{font-size:15px;margin:0 0 8px;color:var(--account-ink)}
.account-homework-feedback-v2 p{margin:0;font-size:15px;line-height:1.9;color:var(--account-muted)}
.account-homework-feedback-v2.is-returned{padding:15px;border:1px solid #e7d8b9;background:#fffbf0;border-radius:8px}
@media(max-width:760px){.account-homework-page-v2 h1,.account-homework-detail-v2 h1{font-size:25px}.account-homework-detail-grid-v2{grid-template-columns:minmax(0,1fr)}.account-homework-detail-v2>.container>.section-head,.account-homework-page-v2>.container>.section-head{flex-wrap:wrap;gap:14px}.account-homework-detail-v2 .account-panel-v2 h2{font-size:20px}.account-homework-detail-v2 .homework-meta{gap:9px;font-size:12px}.account-homework-detail-v2 .section-head .actions{flex-wrap:wrap}.account-homework-page-v2 .pagination{flex-wrap:wrap;gap:12px}}
@media(min-width:1400px){.account-course-v2{grid-template-columns:minmax(180px,.8fr) minmax(0,1.5fr)}}
@media(max-width:960px){.account-main-grid-v2{grid-template-columns:minmax(0,1.65fr) minmax(235px,1fr)}.account-panel-v2{padding:20px}.account-course-v2{grid-template-columns:minmax(0,1fr)}.account-course-cover-v2{max-height:220px;min-height:0;padding:10px}.account-course-cover-v2 img{max-height:200px;width:auto;max-width:100%;height:auto;object-fit:contain}.account-course-cover-v2 picture{display:flex;align-items:center;justify-content:center}.contact-layout-v2{grid-template-columns:minmax(0,1.15fr) minmax(260px,1fr)}}
@media(max-width:760px){.contact-page-v2 h1,.account-header-v2 h1,.account-edit-page-v2 h1,.account-support-page-v2 h1{font-size:25px}.contact-page-v2 h2,.profile-page-v2 h2,.account-edit-page-v2 h2{font-size:20px}.contact-layout-v2,.contact-message-fields,.account-main-grid-v2,.account-edit-layout-v2{grid-template-columns:minmax(0,1fr)}.contact-details-v2,.contact-message-v2{padding:20px}.contact-location-v2{padding:20px 23px;min-height:230px}.contact-location-pin{position:absolute;right:24px;top:53px;margin:0}.contact-location-v2 strong{margin-top:24px;padding-right:72px;font-size:20px}.contact-copy-v2{font-size:16px;margin-top:17px}.contact-message-heading{align-items:flex-start;flex-wrap:wrap}.contact-message-heading .actions{gap:8px}.contact-message-fields{gap:17px}.contact-message-options{display:grid;grid-template-columns:1fr 1fr;gap:14px}.contact-form-note{grid-column:1/-1}.contact-message-footer{align-items:flex-start}.contact-message-footer>span{font-size:12px}.contact-message-footer .btn{min-width:125px;gap:20px}.contact-message-notice{flex-direction:column;align-items:flex-start}.account-header-v2{align-items:flex-start;flex-wrap:wrap;gap:13px}.account-title-v2{gap:12px}.account-title-v2>strong{font-size:14px;padding-left:12px}.account-avatar-v2{width:41px;height:41px;font-size:22px;border-radius:9px}.account-header-v2 .actions{margin-left:auto}.account-section-nav{grid-template-columns:1fr 1fr;margin-bottom:18px}.account-section-nav button{padding:14px;font-size:15px}.account-section-nav button:nth-child(2){border-right:0}.account-section-nav button:nth-child(-n+2){border-bottom:1px solid var(--account-line)}.account-section-nav span{font-size:21px}.account-side-v2{display:grid;grid-template-columns:1fr 1fr;gap:15px}.account-info-v2{grid-column:1/-1}.account-info-v2 dl{display:grid;grid-template-columns:1fr 1fr;column-gap:20px}.account-info-v2 dl>div:last-child{grid-column:1/-1}.account-course-v2{grid-template-columns:minmax(120px,.8fr) minmax(0,1.4fr)}.account-course-cover-v2{max-height:none;min-height:130px;padding:0}.account-course-cover-v2 img{width:100%;max-height:none}.account-course-body-v2{padding:14px}.account-course-body-v2 h3{font-size:17px}.account-course-footer-v2>span{display:none}.account-course-footer-v2 .btn{min-height:37px}.account-panel-v2 .section-head{flex-wrap:wrap;align-items:center;gap:12px}.account-wide-panel-v2{margin-top:18px}.account-panel-v2 .section-head .actions{gap:7px}.account-panel-v2 .btn{font-size:13px;padding:8px 11px}.account-ticket-v2{padding:17px}.account-ticket-v2>header{gap:8px;font-size:12px}.account-ticket-question-v2{font-size:15px}.account-ticket-reply-v2{padding:12px;font-size:14px}.account-draft-notice{align-items:flex-start;flex-direction:column}.account-edit-card-v2{padding:22px}.account-shortcuts-v2>div{grid-template-columns:1fr}.account-shortcuts-v2 button{padding:9px 10px}.account-todo-v2>button{font-size:13px;gap:7px}.account-todo-v2>button>strong{font-size:19px}.account-panel-v2[id]{scroll-margin-top:155px}}
@media(max-width:430px){.contact-message-options{grid-template-columns:1fr}.contact-message-heading .actions .btn{font-size:13px}.account-panel-v2{padding:17px}.account-course-v2{grid-template-columns:1fr}.account-course-cover-v2{min-height:0;max-height:230px;padding:10px}.account-course-cover-v2 img{width:auto;max-height:210px;object-fit:contain}.account-course-cover-v2 picture{display:flex;justify-content:center;align-items:center}.account-course-footer-v2>span{display:block}.account-side-v2{grid-template-columns:1fr}.account-info-v2 dl{grid-template-columns:1fr}.account-shortcuts-v2>div{grid-template-columns:1fr 1fr}.account-title-v2>strong{border-left:0;padding-left:0}.account-section-nav button{font-size:14px}.account-empty-v2{align-items:flex-start;flex-direction:column}.account-info-v2 dl>div:last-child{grid-column:auto}}
@media(prefers-reduced-motion:reduce){.contact-location-v2,.contact-location-action b,.account-section-nav button,.account-course-v2,.account-todo-v2>button>b,.account-shortcuts-v2 button{transition:none}.contact-location-v2:hover,.contact-location-v2:focus-visible{transform:none}}
