.form-error{font-weight:700;color:#b54b36!important;margin:12px 0 0!important;font-size:12px!important}.type-options label{cursor:pointer;border:1px solid #cbd3e0;border-radius:99px;gap:4px;padding:7px 10px;color:#3d4d6e!important;align-items:center!important;margin:0!important;font-size:12px!important;display:inline-flex!important}.type-options input{accent-color:#e8954c;width:auto!important;margin:0!important;padding:0!important}
.admin-shell{color:#1d2a49;background:#f5efe3;min-height:100vh;padding:42px max(24px,50vw - 550px);font-family:PingFang SC,Microsoft YaHei,sans-serif}.admin-top{border-bottom:1px solid #d6d0c5;justify-content:space-between;align-items:center;gap:15px;padding-bottom:25px;display:flex}.admin-top a{color:#a95e36;font-size:13px;text-decoration:none}.admin-top a:hover{text-underline-offset:4px;text-decoration:underline}.admin-top div{text-align:center}.admin-top span,.admin-card>p{color:#b96c38;letter-spacing:1px;font-size:12px;font-weight:800}.admin-top h1,.admin-card h2,.course-admin-item h3{margin:5px 0 0;font-family:Songti SC,STSong,serif}.admin-top button,.admin-card button{color:#fff;cursor:pointer;background:#1d2a49;border:0;border-radius:9px;padding:10px 13px;font-weight:700;transition:background .18s,transform .18s}.admin-top button:hover,.admin-card button:hover{background:#34466d}.admin-top button:focus-visible,.admin-card button:focus-visible,.admin-card input:focus-visible,.admin-card textarea:focus-visible,.admin-card select:focus-visible{outline-offset:2px;outline:3px solid #ca783e6b}.admin-top button:disabled,.admin-card button:disabled{cursor:wait;opacity:.6}.admin-intro{color:#58637a;max-width:700px;margin:22px 0 0;font-size:14px;line-height:1.75}.admin-message{color:#98462e;background:#fff3e9;border-radius:10px;margin:20px 0;padding:12px 14px;font-size:13px;font-weight:700}.admin-stats{grid-template-columns:repeat(3,1fr);gap:14px;margin:25px 0;display:grid}.admin-stats div,.admin-card{background:#fffdf9;border:1px solid #ded8cb;border-radius:14px;padding:22px}.admin-stats span{color:#71798d;font-size:12px}.admin-stats b{margin-top:5px;font:500 43px Georgia,serif;display:block}.admin-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}.admin-card label{color:#56617a;margin-top:13px;font-size:12px;font-weight:700;display:block}.admin-card input,.admin-card textarea,.admin-card select{box-sizing:border-box;color:#1d2a49;width:100%;font:inherit;background:#fff;border:1px solid #d6dce6;border-radius:8px;margin-top:5px;padding:10px;display:block}.admin-card textarea{resize:vertical;min-height:72px}.admin-card button{margin-top:17px}.admin-card small{color:#6e788e;margin-top:9px;font-size:12px;line-height:1.6;display:block}.wide{margin-top:17px}.admin-section-note{color:#667087;margin:9px 0 0;font-size:13px;line-height:1.7}.course-admin-list{margin-top:18px}.course-admin-item{border-top:1px solid #eee8dd;padding:17px 0}.course-admin-summary{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.course-admin-summary>div:first-child{min-width:0}.course-admin-summary span{color:#b96c38;letter-spacing:.6px;font-size:11px;font-weight:800;display:block}.course-admin-summary h3{font-size:21px;line-height:1.3}.course-admin-summary p{color:#667087;overflow-wrap:anywhere;margin:6px 0 0;font-size:13px;line-height:1.6}.course-admin-state{text-align:right;flex:none}.course-admin-state i,.admin-row i,.extension-link-row i{border-radius:99px;padding:4px 8px;font-size:11px;font-style:normal;display:inline-block}.course-admin-state i.active,.admin-row i.active,.extension-link-row i.active{color:#34704c;background:#e7f2e9}.course-admin-state i.disabled,.admin-row i.disabled,.extension-link-row i.disabled{color:#a45640;background:#f3e6e2}.course-admin-state small{margin-top:5px}.course-admin-actions{flex-wrap:wrap;gap:8px;margin-top:14px;display:flex}.course-admin-actions button{background:#7d4732;margin:0}.course-admin-actions button+button{background:#1d2a49}.course-editor{background:#f8f4ed;border:1px solid #e4d8c9;border-radius:12px;grid-template-columns:minmax(0,1fr) minmax(0,1.45fr);gap:20px;margin-top:16px;padding:18px;display:grid}.course-editor h4{color:#1d2a49;margin:0;font-size:15px}.course-upload-group{grid-template-columns:1fr 1fr;gap:14px;display:grid}.course-upload-group form{min-width:0}.course-upload-group form+form{border-inline-start:1px solid #dfd4c5;padding-inline-start:14px}.course-upload-group input[type=file]{background:#fffaf4;padding:8px}.course-upload-group button{background:#8c502f}.admin-empty{color:#6e788e;padding:18px 0}.admin-empty b{color:#1d2a49}.admin-empty p{margin:7px 0 0;font-size:13px;line-height:1.65}.admin-table{margin-top:14px}.admin-row{border-top:1px solid #eee8dd;align-items:center;gap:12px;padding:12px 0;display:flex}.admin-row span{flex:1;min-width:0}.admin-row b,.admin-row small{display:block}.admin-row small{margin-top:3px}.admin-row button{background:#7d4732;margin:0;padding:7px 9px;font-size:12px}.extension-link-form{grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:16px;display:grid}.extension-link-form label:nth-of-type(3){grid-column:1/-1}.extension-link-form button{justify-self:start}.extension-link-list{margin-top:18px}.extension-link-row{border-top:1px solid #eee8dd;align-items:center;gap:12px;padding:12px 0;display:flex}.extension-link-row>span{flex:1;min-width:0}.extension-link-row b,.extension-link-row small{display:block}.extension-link-row small{text-overflow:ellipsis;white-space:nowrap;margin-top:3px;overflow:hidden}.extension-link-row a{color:#a95e36;font-size:12px;font-weight:700;text-decoration:none}.extension-link-row a:hover{text-underline-offset:3px;text-decoration:underline}.extension-link-row button{background:#7d4732;margin:0;padding:7px 9px;font-size:12px}.empty{color:#7d879b;font-size:13px}.checkin-number{font-variant-numeric:tabular-nums}@media (max-width:760px){.admin-shell{padding:24px 16px}.admin-top div{text-align:left}.admin-top h1{font-size:24px}.admin-top>a{display:none}.admin-stats,.admin-grid,.course-editor,.course-upload-group,.extension-link-form{grid-template-columns:1fr}.course-admin-summary{display:block}.course-admin-state{text-align:left;margin-top:10px}.course-upload-group form+form{border-inline-start:0;padding-inline-start:0;border-top:1px solid #dfd4c5;padding-top:14px}.admin-row,.extension-link-row{flex-wrap:wrap;align-items:flex-start}.admin-row span,.extension-link-row>span{flex-basis:100%}.admin-row button,.extension-link-row button{margin-top:0}}
.checkin-number{white-space:nowrap;font:500 22px Georgia,serif}.admin-shell{font-family:Microsoft YaHei,微软雅黑,PingFang SC,sans-serif}.admin-user-info{overflow-wrap:anywhere;flex:1;min-width:0}.course-view-total{color:#45516a;font-variant-numeric:tabular-nums;font-size:14px;font-weight:700}.course-view-empty{color:#626b7e;margin:8px 0 0;font-size:13px}.course-view-details{color:#344464;margin-top:10px;font-size:14px}.course-view-details summary{cursor:pointer;box-sizing:border-box;min-height:44px;padding:8px 0;font-weight:700;line-height:1.6}.course-view-details summary:hover{color:#7d4732}.course-view-details summary:focus-visible{outline-offset:3px;border-radius:4px;outline:2px solid #7d4732}.course-view-latest{color:#626b7e;font-variant-numeric:tabular-nums;margin-left:16px;font-size:13px;font-weight:400;display:inline-block}.course-view-details ul{margin:4px 0 0;padding:0;list-style:none}.course-view-details li{border-top:1px solid #eee8dd;padding:12px 0}.course-view-title{flex-wrap:wrap;align-items:baseline;gap:8px 16px;display:flex}.course-view-title span{color:#626b7e;flex:none;font-size:13px}.course-view-times{color:#626b7e;font-variant-numeric:tabular-nums;flex-wrap:wrap;gap:4px 16px;margin-top:6px;font-size:13px;display:flex}.course-view-times span{flex:none}@media (max-width:700px){.admin-user-info{flex-basis:100%;width:100%}.course-view-latest{margin-left:0;display:block}.course-view-times{gap:5px;display:grid}}.admin-top h1,.admin-card h2,.course-admin-item h3{font-family:Microsoft YaHei,微软雅黑,PingFang SC,sans-serif;font-weight:800}.admin-stats{grid-template-columns:repeat(4,1fr)}.admin-stat-button{color:#1d2a49;text-align:left;cursor:pointer;font:inherit;background:#fffdf9;border:1px solid #ded8cb;border-radius:14px;padding:22px;transition:border-color .18s,box-shadow .18s,transform .18s}.admin-stat-button small{color:#a95e36;margin-top:8px;font-size:12px;font-weight:700;display:block}.admin-stat-button:hover,.admin-stat-button:focus-visible{border-color:#c78252;outline:none;transform:translateY(-1px);box-shadow:0 8px 20px #603b271a}.checkin-records-head{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.checkin-records-head h2{margin-top:5px}.checkin-records-head small{margin-top:7px}.checkin-records-head button{white-space:nowrap;margin:0}.checkin-record-list{margin-top:18px}.checkin-record{border-top:1px solid #eee8dd;padding:15px 0}.checkin-record header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.checkin-record header b,.checkin-record header small{display:block}.checkin-record header small{margin-top:4px}.checkin-record header span{border-radius:99px;flex:none;padding:4px 8px;font-size:11px;font-weight:700}.checkin-record header span.public{color:#34704c;background:#e7f2e9}.checkin-record header span.private{color:#a45640;background:#f3e6e2}.checkin-record p{color:#45516a;white-space:pre-wrap;margin:10px 0 0;font-size:14px;line-height:1.8}.checkin-record time{color:#8b93a3;margin-top:8px;font-size:12px;display:block}@media (max-width:900px){.admin-stats{grid-template-columns:repeat(2,1fr)}}@media (max-width:700px){.admin-row{flex-wrap:wrap;align-items:flex-start}.admin-row>span{min-width:100%}.checkin-records-head,.checkin-record header{display:block}.checkin-records-head button{margin-top:12px}.checkin-record header span{margin-top:8px;display:inline-block}}.roster-import form,.roster-sync-actions{flex-wrap:wrap;align-items:end;gap:12px;display:flex}.roster-import label{flex:280px}.roster-import button,.roster-sync-actions button{min-height:44px}.roster-sync{gap:12px;display:grid}.roster-sync-actions{align-items:center}.roster-sync-preview{color:#5d493a;background:#fffaf3;border:1px solid #d9cdbd;border-radius:8px;margin:0;padding:10px 12px;font-size:14px;font-weight:700}.course-admin-toolbar{justify-content:space-between;align-items:center;gap:16px;margin:0 0 18px;display:flex}.course-admin-toolbar p{margin:0}.course-select{color:#6f4b35;align-self:flex-start;align-items:center;gap:7px;min-width:max-content;font-size:13px;font-weight:800;display:flex}.course-select input{accent-color:#bd6e3c;width:16px;height:16px}.danger-action{color:#fffaf1;cursor:pointer;background:#a85535;border:1px solid #a85535;border-radius:8px;padding:10px 13px;font-weight:800}.danger-action:hover{background:#833d27}.danger-action:disabled{cursor:not-allowed;opacity:.55}.danger-action.secondary{color:#984a2d;background:#fff7f0;padding:8px 10px}.course-upload-message{color:#75442d;background:#fffaf3;border:1px solid #dfcdb8;border-radius:8px;margin:14px 0 0;padding:10px 12px;font-size:13px;font-weight:700;line-height:1.55}.course-audio-admin-list{border-top:1px solid #e5d8c8;margin-top:18px;padding-top:14px}.course-audio-admin-list h4{margin:0 0 8px}.course-audio-admin-list>div{color:#344464;border-bottom:1px solid #eee4d8;justify-content:space-between;align-items:center;gap:12px;padding:9px 0;display:flex}.course-audio-admin-list>div span{overflow-wrap:anywhere;min-width:0}.course-audio-admin-list button{color:#a14d2f;cursor:pointer;background:0 0;border:0;flex:none;font-weight:800}.course-audio-admin-list p{color:#7a746b;margin:0}@media (max-width:700px){.course-admin-toolbar{flex-direction:column;align-items:stretch}.course-admin-toolbar .danger-action,.roster-sync-actions button{width:100%}.course-admin-summary{gap:10px}.course-audio-admin-list>div{flex-direction:column;align-items:flex-start}}.weekly-task-admin{gap:18px;display:grid}.weekly-task-admin h2,.weekly-task-history h3{margin:0}.weekly-task-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 18px;display:grid}.weekly-task-form label{color:#584536;gap:7px;font-size:14px;font-weight:800;display:grid}.weekly-task-form textarea{resize:vertical;min-height:96px}.weekly-task-form .weekly-task-summary,.weekly-task-form .weekly-task-prompt{grid-column:1/-1}.weekly-task-form button{justify-self:start;min-height:44px}.weekly-task-history{border-top:1px solid #e5d8c8;padding-top:16px}.weekly-task-history h3{font-size:17px}.weekly-task-row{border-bottom:1px solid #eee4d8;justify-content:space-between;align-items:center;gap:16px;padding:13px 0;display:flex}.weekly-task-row>div{gap:4px;min-width:0;display:grid}.weekly-task-row b{color:#263a60;overflow-wrap:anywhere}.weekly-task-row span{color:#7d7162;font-size:13px}.weekly-task-history>p{color:#7a746b;margin:8px 0 0}@media (max-width:700px){.weekly-task-form{grid-template-columns:1fr}.weekly-task-form .weekly-task-summary,.weekly-task-form .weekly-task-prompt{grid-column:auto}.weekly-task-form button{width:100%}.weekly-task-row{flex-direction:column;align-items:flex-start}.weekly-task-row .danger-action{width:100%}}
.member-invite{background:radial-gradient(circle at 90% 100%,#ffb8773d,#0000 40%),linear-gradient(135deg,#121c34bf,#121c3475);border:1px solid #ffb87775;border-radius:18px;justify-content:space-between;align-items:center;gap:25px;margin-top:54px;padding:31px;display:flex}.member-invite span{color:#ffd4a3;letter-spacing:1.2px;font-size:12px;font-weight:700}.member-invite h2{font:700 28px var(--serif);color:#fff;margin-top:9px}.member-invite p{color:var(--muted);margin-top:7px;font-size:13px}.member-invite button{background:linear-gradient(135deg,var(--warm),#e8954c);color:#29304c;white-space:nowrap;cursor:pointer;border:0;border-radius:10px;padding:12px 15px;font-weight:800}@media (max-width:600px){.member-invite{margin-top:42px;padding:23px;display:block}.member-invite h2{font-size:24px}.member-invite button{margin-top:19px}}
