:root {
  --team-ink: #102a33;
  --team-muted: #61737a;
  --team-green: #087857;
  --team-green-dark: #075f49;
  --team-mint: #dff6ec;
  --team-blue: #2764d8;
  --team-amber: #c77a14;
  --team-red: #bd4b47;
  --team-line: #dce7e4;
  --team-paper: #fff;
  --team-bg: #f4f8f6;
  --team-shadow: 0 18px 50px rgba(18, 54, 47, .09);
}

* { box-sizing: border-box; }
body { margin: 0; color: var(--team-ink); background: var(--team-bg); font-family: Inter, "PingFang SC", "Microsoft YaHei", sans-serif; }
button, input, textarea, select { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
button { color: inherit; }
[hidden] { display: none !important; }

/* 团队页使用浅色画布，固定深色导航以保证品牌和菜单始终清晰。 */
.portal-header { border-color: rgba(143, 190, 222, .16); background: rgba(5, 11, 20, .98); backdrop-filter: blur(20px); }

.team-main { min-height: calc(100vh - 150px); padding: 112px clamp(18px, 4vw, 64px) 56px; }
.team-hero { max-width: 1440px; margin: 0 auto 28px; display: grid; grid-template-columns: minmax(0, 1fr) minmax(420px, .72fr); gap: 30px; align-items: end; }
.team-hero__copy > span, .workspace-heading > div > span, .section-kicker { color: var(--team-green); font: 700 12px/1.3 ui-monospace, SFMono-Regular, Consolas, monospace; letter-spacing: .14em; }
.team-hero h1 { max-width: 760px; margin: 9px 0 11px; font-size: clamp(32px, 4.5vw, 62px); line-height: 1.08; letter-spacing: -.045em; }
.team-hero p { max-width: 760px; margin: 0; color: var(--team-muted); font-size: 16px; line-height: 1.8; }
.team-hero__roles { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.team-hero__roles button { min-height: 112px; padding: 18px; border: 1px solid var(--team-line); border-radius: 18px; background: rgba(255,255,255,.86); display: flex; gap: 14px; align-items: center; text-align: left; cursor: pointer; transition: .2s ease; }
.team-hero__roles button:hover { transform: translateY(-2px); border-color: #9bcbbb; box-shadow: 0 12px 28px rgba(14, 89, 69, .1); }
.team-hero__roles button.is-active { color: white; border-color: var(--team-green); background: linear-gradient(135deg, var(--team-green), #119270); box-shadow: 0 15px 35px rgba(8, 120, 87, .2); }
.team-hero__roles i { flex: 0 0 36px; font: 800 13px ui-monospace, monospace; opacity: .76; }
.team-hero__roles strong, .team-hero__roles small { display: block; }
.team-hero__roles strong { font-size: 17px; }
.team-hero__roles small { margin-top: 6px; color: inherit; opacity: .74; line-height: 1.45; }

.team-gate { max-width: 1440px; min-height: 190px; margin: 0 auto; padding: 42px; border: 1px solid var(--team-line); border-radius: 24px; background: white; box-shadow: var(--team-shadow); display: flex; justify-content: center; align-items: center; gap: 18px; text-align: left; }
.team-gate strong { display: block; font-size: 20px; }
.team-gate p { margin: 7px 0 0; color: var(--team-muted); line-height: 1.6; }
.team-gate.is-action { flex-direction: column; text-align: center; }
.team-gate.is-action .team-loader { display: none; }
.team-gate__mark { width: 54px; height: 54px; border-radius: 18px; display: grid; place-items: center; background: var(--team-mint); color: var(--team-green); font-size: 25px; font-weight: 800; }
.team-gate button { margin-top: 14px; padding: 11px 22px; border: 0; border-radius: 12px; background: var(--team-green); color: white; font-weight: 700; cursor: pointer; }
.team-loader { width: 30px; height: 30px; border: 3px solid #d9eee7; border-top-color: var(--team-green); border-radius: 50%; animation: team-spin .8s linear infinite; }
@keyframes team-spin { to { transform: rotate(360deg); } }

.team-shell { max-width: 1440px; min-height: 680px; margin: 0 auto; display: grid; grid-template-columns: 250px minmax(0, 1fr); gap: 22px; align-items: start; }
.team-sidebar { position: sticky; top: 96px; padding: 18px; border: 1px solid var(--team-line); border-radius: 22px; background: white; box-shadow: 0 12px 32px rgba(18, 54, 47, .06); }
.team-sidebar__identity { display: flex; align-items: center; gap: 12px; padding: 4px 4px 18px; border-bottom: 1px solid var(--team-line); }
.team-sidebar__identity > span { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 14px; background: var(--team-mint); color: var(--team-green); font-weight: 800; }
.team-sidebar__identity small, .team-sidebar__identity strong { display: block; }
.team-sidebar__identity small { color: var(--team-muted); font-size: 11px; }
.team-sidebar__identity strong { margin-top: 3px; max-width: 150px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.team-sidebar__sync { margin: 12px 4px 0; color: var(--team-muted); font-size: 12px; line-height: 1.5; }
.team-sidebar nav { display: grid; gap: 6px; padding: 16px 0; }
.team-sidebar nav button { width: 100%; padding: 12px 13px; border: 0; border-radius: 12px; background: transparent; display: flex; align-items: center; gap: 10px; text-align: left; cursor: pointer; font-weight: 650; }
.team-sidebar nav button:hover, .team-sidebar nav button.is-active { background: #edf8f4; color: var(--team-green-dark); }
.team-sidebar nav button span { margin-left: auto; min-width: 24px; padding: 2px 7px; border-radius: 99px; background: #e7efed; text-align: center; font-size: 11px; }
.team-sidebar__tip { padding: 14px; border-radius: 14px; background: #f3f7ff; color: #39516d; }
.team-sidebar__tip strong { font-size: 13px; }
.team-sidebar__tip p { margin: 6px 0 0; font-size: 12px; line-height: 1.55; }
.team-workspace { min-width: 0; padding: clamp(20px, 3vw, 36px); border: 1px solid var(--team-line); border-radius: 24px; background: white; box-shadow: var(--team-shadow); }
.workspace-heading { display: flex; justify-content: space-between; gap: 20px; align-items: flex-start; margin-bottom: 24px; }
.workspace-heading h2 { margin: 6px 0 7px; font-size: clamp(25px, 3vw, 38px); letter-spacing: -.035em; }
.workspace-heading p { max-width: 780px; margin: 0; color: var(--team-muted); line-height: 1.65; }
.workspace-actions { display: flex; gap: 9px; flex-wrap: wrap; justify-content: flex-end; }
.primary-button, .secondary-button, .danger-button, .text-button { min-height: 40px; padding: 9px 15px; border-radius: 11px; font-weight: 700; cursor: pointer; }
.primary-button { border: 1px solid var(--team-green); background: var(--team-green); color: white; }
.secondary-button { border: 1px solid #b9ceca; background: white; color: var(--team-ink); }
.danger-button { border: 1px solid #edc8c5; background: #fff7f6; color: var(--team-red); }
.text-button { min-height: 0; padding: 3px; border: 0; background: transparent; color: var(--team-blue); }
button:disabled { opacity: .52; cursor: wait; }

.summary-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin-bottom: 24px; }
.summary-card { min-height: 112px; padding: 19px; border: 1px solid var(--team-line); border-radius: 17px; background: linear-gradient(145deg, #fff, #f7fbf9); }
.summary-card small, .summary-card strong { display: block; }
.summary-card small { color: var(--team-muted); }
.summary-card strong { margin-top: 10px; font-size: 30px; }
.summary-card em { color: var(--team-green); font-style: normal; font-size: 12px; }
.section-heading { margin: 27px 0 13px; display: flex; justify-content: space-between; gap: 16px; align-items: end; }
.section-heading h3 { margin: 0; font-size: 20px; }
.section-heading p { margin: 4px 0 0; color: var(--team-muted); font-size: 13px; }

.card-list { display: grid; gap: 11px; }
.team-card, .question-set-card, .member-card, .request-card, .attempt-card { padding: 17px; border: 1px solid var(--team-line); border-radius: 16px; background: white; display: flex; justify-content: space-between; gap: 16px; align-items: center; }
.team-card:hover, .question-set-card:hover, .member-card:hover { border-color: #a8cabf; box-shadow: 0 9px 25px rgba(15, 90, 70, .07); }
.card-main { min-width: 0; }
.card-main h4 { margin: 0; font-size: 17px; }
.card-main p { margin: 7px 0 0; color: var(--team-muted); font-size: 13px; line-height: 1.55; }
.card-meta { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 9px; }
.badge { display: inline-flex; align-items: center; min-height: 24px; padding: 3px 8px; border-radius: 7px; background: #eef4f2; color: #4a615d; font-size: 11px; font-weight: 700; }
.badge.is-green { background: var(--team-mint); color: var(--team-green-dark); }
.badge.is-blue { background: #ebf2ff; color: var(--team-blue); }
.badge.is-amber { background: #fff2d9; color: #955b0b; }
.badge.is-red { background: #fff0ef; color: var(--team-red); }
.card-actions { flex: 0 0 auto; display: flex; flex-wrap: wrap; gap: 7px; justify-content: flex-end; }
.card-actions button { min-height: 34px; padding: 7px 10px; border: 1px solid #cbdad6; border-radius: 9px; background: white; cursor: pointer; font-size: 12px; font-weight: 700; }
.card-actions button[data-tone="danger"] { color: var(--team-red); border-color: #efcfcc; }
.empty-state { padding: 36px 18px; border: 1px dashed #bfd1cc; border-radius: 17px; color: var(--team-muted); text-align: center; line-height: 1.7; }
.empty-state strong { display: block; margin-bottom: 4px; color: var(--team-ink); }
.inline-notice { margin-bottom: 18px; padding: 14px 16px; border-radius: 13px; background: #fff8e9; color: #75501d; line-height: 1.55; }
.pending-reminder { margin-bottom: 20px; padding: 17px 18px; border: 1px solid #f0d49a; border-radius: 15px; background: linear-gradient(135deg, #fff8e8, #fffdf8); display: flex; justify-content: space-between; gap: 18px; align-items: center; }
.pending-reminder strong { color: #765018; }
.pending-reminder p { margin: 5px 0 0; color: #806c4e; font-size: 13px; line-height: 1.55; }
.resume-notice { border: 1px solid #b9d9cd; background: #eff9f5; color: var(--team-green-dark); }

.admin-search-panel { padding: 18px; border: 1px solid var(--team-line); border-radius: 16px; background: #f8fbfa; }
.admin-search-panel > label { display: block; margin-bottom: 9px; font-weight: 750; }
.admin-search-panel > div { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 9px; }
.admin-access-card { margin-top: 20px; padding: 19px; border: 1px solid #afd0c5; border-radius: 18px; background: linear-gradient(145deg, #f5fcf9, #fff); }
.admin-user-key { max-width: 720px; overflow-wrap: anywhere; font-family: ui-monospace, Consolas, monospace; }
.admin-access-status { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.admin-access-status article { padding: 14px; border: 1px solid var(--team-line); border-radius: 12px; background: white; }
.admin-access-status span, .admin-access-status strong { display: block; }
.admin-access-status span { color: var(--team-muted); font-size: 12px; }
.admin-access-status strong { margin-top: 6px; color: var(--team-green-dark); }
.admin-access-controls { margin-top: 12px; }
.admin-access-actions { margin-top: 14px; }

.member-avatar { flex: 0 0 42px; width: 42px; height: 42px; border-radius: 14px; overflow: hidden; display: grid; place-items: center; background: var(--team-mint); color: var(--team-green); font-weight: 800; }
.member-avatar img { width: 100%; height: 100%; object-fit: cover; }
.member-card__identity { display: flex; min-width: 0; gap: 12px; align-items: center; }
.invite-code { display: inline-flex; gap: 10px; align-items: center; padding: 12px 15px; border: 1px dashed #8cbba9; border-radius: 12px; background: #f3fbf8; }
.invite-code code { color: var(--team-green-dark); font-size: 21px; font-weight: 800; letter-spacing: .13em; }

.form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.form-section { min-width: 0; padding: 18px; border: 1px solid var(--team-line); border-radius: 16px; background: #fbfdfc; }
.form-section.is-wide { grid-column: 1 / -1; }
.form-section > label, .form-label { display: block; margin-bottom: 9px; font-weight: 750; }
.form-section small { display: block; margin-top: 8px; color: var(--team-muted); line-height: 1.5; }
.form-control { width: 100%; min-height: 44px; padding: 10px 12px; border: 1px solid #bfcfcb; border-radius: 10px; background: white; color: var(--team-ink); outline: 0; }
textarea.form-control { min-height: 96px; resize: vertical; }
.form-control:focus { border-color: var(--team-green); box-shadow: 0 0 0 3px rgba(8,120,87,.11); }
.chip-list { display: flex; flex-wrap: wrap; gap: 8px; }
.chip-list.compact { margin-top: 10px; }
.chip-list button, .chip-list label { padding: 8px 11px; border: 1px solid #c8d8d4; border-radius: 9px; background: white; cursor: pointer; font-size: 13px; }
.chip-list button.is-selected, .chip-list label:has(input:checked) { border-color: var(--team-green); background: var(--team-mint); color: var(--team-green-dark); font-weight: 700; }
.chip-list input { position: absolute; opacity: 0; pointer-events: none; }
.count-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
.count-grid label { font-size: 13px; }
.count-grid input { margin-top: 6px; }
.count-presets { display: flex; gap: 5px; margin-top: 7px; }
.count-presets button { min-width: 34px; padding: 4px 7px; border: 1px solid #c8d8d4; border-radius: 7px; background: #fff; color: var(--team-muted); cursor: pointer; }
.limit-warning { color: var(--team-red) !important; font-weight: 700; }
.tag-group-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
.tag-group-choice { min-height: 66px; padding: 10px 12px; border: 1px solid #c8d8d4; border-radius: 11px; background: #fff; text-align: left; cursor: pointer; }
.tag-group-choice strong, .tag-group-choice small { display: block; }
.tag-group-choice small { margin-top: 5px; color: var(--team-muted); }
.tag-group-choice.is-selected { border-color: var(--team-green); background: var(--team-mint); color: var(--team-green-dark); }
.tag-selection-heading { margin: 16px 0 9px; display: flex; justify-content: space-between; gap: 12px; color: var(--team-muted); font-size: 13px; }
.tag-selection-heading strong { color: var(--team-ink); }
.question-pool-preview { min-height: 92px; padding: 15px; border: 1px dashed #acc9c0; border-radius: 13px; background: #f7fbf9; }
.pool-placeholder { margin: 0; color: var(--team-muted); line-height: 1.65; }
.pool-stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 9px; }
.pool-stats article { padding: 12px; border: 1px solid var(--team-line); border-radius: 11px; background: white; text-align: center; }
.pool-stats strong, .pool-stats span { display: block; }
.pool-stats strong { color: var(--team-green); font-size: 24px; }
.pool-stats span { margin-top: 4px; color: var(--team-muted); font-size: 12px; }
.scope-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; }
.pool-error { display: flex; justify-content: space-between; gap: 12px; align-items: center; color: var(--team-red); }
.preview-list { display: grid; gap: 10px; margin-top: 16px; }
.preview-item { padding: 14px; border: 1px solid var(--team-line); border-radius: 13px; display: grid; grid-template-columns: 36px minmax(0,1fr) auto; gap: 11px; align-items: start; }
.preview-order { width: 32px; height: 32px; display: grid; place-items: center; border-radius: 10px; background: #e8f5f0; color: var(--team-green); font-weight: 800; }
.preview-item h4 { margin: 2px 0 6px; font-size: 15px; }
.preview-item p { margin: 0; color: var(--team-muted); font-size: 12px; }
.preview-item__content { min-width: 0; padding: 0; border: 0; background: transparent; color: inherit; text-align: left; cursor: pointer; }
.preview-item__actions { display: flex; gap: 6px; }

.progress-bar { height: 8px; overflow: hidden; border-radius: 99px; background: #e8efed; }
.progress-bar i { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, var(--team-green), #28aa7f); }
.analytics-panel { padding: 17px; border: 1px solid var(--team-line); border-radius: 15px; }
.analytics-panel h4 { margin: 0 0 13px; }

.table-scroll { overflow-x: auto; border: 1px solid var(--team-line); border-radius: 15px; }
.data-table { width: 100%; min-width: 760px; border-collapse: collapse; }
.data-table th, .data-table td { padding: 12px 13px; border-bottom: 1px solid #e6eeec; text-align: left; font-size: 13px; vertical-align: middle; }
.data-table th { background: #f4f8f6; color: #526864; font-size: 12px; }
.data-table tr:last-child td { border-bottom: 0; }
.data-table button { border: 0; background: transparent; color: var(--team-blue); cursor: pointer; font-weight: 700; }

.practice-sheet { display: grid; gap: 15px; }
.practice-question { padding: 20px; border: 1px solid var(--team-line); border-radius: 16px; }
.practice-question header { display: flex; gap: 9px; align-items: center; margin-bottom: 12px; }
.practice-question h3 { margin: 0 0 14px; font-size: 17px; line-height: 1.6; }
.question-code { padding: 12px; border-radius: 10px; background: #10252d; color: #daf7ed; overflow-x: auto; white-space: pre-wrap; font: 13px/1.65 ui-monospace, Consolas, monospace; }
.answer-options { display: grid; gap: 8px; }
.answer-options label { padding: 11px 13px; border: 1px solid #cddbd7; border-radius: 10px; display: flex; gap: 10px; cursor: pointer; }
.answer-options label:has(input:checked) { border-color: var(--team-green); background: #eff9f5; }
.answer-options label.is-correct { border-color: #65af93; background: #eaf8f2; color: #075f46; }
.answer-options label.is-wrong { border-color: #dc8e88; background: #fff0ef; color: #9e302b; }
.answer-options label em { margin-left: auto; color: inherit; font-size: 12px; font-style: normal; font-weight: 750; }
.practice-progress { margin-bottom: 13px; padding: 15px 17px; border: 1px solid var(--team-line); border-radius: 14px; background: #f8fbfa; }
.practice-progress > div:first-child { display: flex; justify-content: space-between; gap: 12px; margin-bottom: 10px; color: var(--team-muted); font-size: 13px; }
.practice-progress strong { color: var(--team-ink); }
.practice-navigator { margin-bottom: 16px; display: grid; grid-template-columns: repeat(12, minmax(34px, 1fr)); gap: 7px; }
.practice-navigator button { aspect-ratio: 1; min-height: 36px; border: 1px solid #c5d5d1; border-radius: 9px; background: white; color: var(--team-muted); cursor: pointer; font-weight: 750; }
.practice-navigator button.is-current { outline: 3px solid rgba(52, 120, 246, .17); border-color: var(--team-blue); color: var(--team-blue); }
.practice-navigator button.is-correct { border-color: #6ab096; background: #e8f7f1; color: #08634a; }
.practice-navigator button.is-wrong { border-color: #df9993; background: #fff0ef; color: #a2352f; }
.practice-navigator button.is-pending { border-color: #e1b65e; background: #fff8e8; color: #8a5a08; }
.practice-focus-card { min-height: 380px; padding: clamp(20px, 3vw, 34px); border: 1px solid var(--team-line); border-radius: 18px; background: linear-gradient(145deg, #fff, #fbfdfc); }
.practice-focus-card > header { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin-bottom: 17px; }
.practice-focus-card > header .admin-question-shortcut { margin-left: auto; }
.answer-record > .admin-question-shortcut { float: right; margin: 0 0 10px 12px; }
.practice-focus-card > h3 { margin: 0 0 20px; font-size: clamp(18px, 2.2vw, 24px); line-height: 1.65; }
.practice-question-copy { max-width: 760px; color: var(--team-muted); line-height: 1.7; }
.practice-answer-actions { margin-top: 16px; display: flex; justify-content: space-between; gap: 12px; align-items: center; }
.practice-answer-actions > span { color: var(--team-muted); font-size: 13px; }
.practice-dictation-input { max-width: 720px; font-size: 16px; }
.dictation-judgment { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.dictation-judgment button { min-height: 62px; border: 1px solid #b7cec7; border-radius: 13px; background: white; color: var(--team-ink); cursor: pointer; font-size: 16px; font-weight: 750; }
.dictation-judgment button:hover { border-color: var(--team-green); background: #eff9f5; color: var(--team-green-dark); }
.practice-feedback { margin-top: 20px; padding: 18px; border: 1px solid; border-radius: 15px; }
.practice-feedback.is-correct { border-color: #8ac8b2; background: #effaf6; }
.practice-feedback.is-wrong { border-color: #e4aaa5; background: #fff5f4; }
.practice-feedback__heading { display: flex; gap: 12px; align-items: center; }
.practice-feedback__heading > span { flex: 0 0 40px; width: 40px; height: 40px; display: grid; place-items: center; border-radius: 50%; background: white; font-size: 22px; font-weight: 850; }
.practice-feedback.is-correct .practice-feedback__heading > span { color: var(--team-green); }
.practice-feedback.is-wrong .practice-feedback__heading > span { color: var(--team-red); }
.practice-feedback__heading strong { font-size: 17px; }
.practice-feedback__heading p { margin: 4px 0 0; color: var(--team-muted); font-size: 13px; }
.answer-comparison { margin-top: 15px; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.answer-comparison > div { padding: 12px; border-radius: 10px; background: rgba(255,255,255,.8); }
.answer-comparison small, .answer-comparison strong { display: block; }
.answer-comparison small { color: var(--team-muted); }
.answer-comparison strong { margin-top: 5px; overflow-wrap: anywhere; }
.correct-answer-line { margin: 15px 0 0; }
.practice-feedback .solution-box { margin-top: 13px; }
.practice-feedback .question-code { margin-top: 13px; }
.practice-question-navigation { margin-top: 14px; display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 12px; align-items: center; }
.practice-question-navigation > span { color: var(--team-muted); font-size: 12px; text-align: center; }
.practice-result-list { display: grid; gap: 10px; }
.practice-footer-actions { position: sticky; bottom: 12px; padding: 14px; border: 1px solid var(--team-line); border-radius: 14px; background: rgba(255,255,255,.95); box-shadow: 0 12px 35px rgba(20,50,45,.13); display: flex; justify-content: space-between; gap: 12px; align-items: center; backdrop-filter: blur(10px); }
.practice-footer-actions p { margin: 0; color: var(--team-muted); font-size: 13px; }
.result-summary { padding: 22px; border-radius: 17px; background: linear-gradient(135deg, #e8f8f1, #f8fcfa); }
.result-summary strong { font-size: 30px; }

.source-code { max-height: 420px; overflow: auto; padding: 16px; border-radius: 12px; background: #101e25; color: #d8f4ea; white-space: pre; font: 13px/1.65 ui-monospace, Consolas, monospace; }
.answer-record { padding: 15px; border-left: 4px solid #aebfba; border-radius: 9px; background: #f7faf9; }
.answer-record.is-correct { border-color: var(--team-green); }
.answer-record.is-wrong { border-color: var(--team-red); }
.answer-record h4 { margin: 0 0 8px; }
.answer-record p { margin: 5px 0; line-height: 1.6; }

.student-account-scope { display: flex; align-items: center; gap: 12px; margin-bottom: 20px; padding: 13px 15px; border: 1px solid #dbe8e1; border-radius: 12px; background: #f2f8f5; }
.student-account-scope > span { flex-shrink: 0; color: #087853; font-size: 12px; font-weight: 800; }
.student-account-scope p { margin: 0; color: var(--team-muted); font-size: 12px; line-height: 1.65; }
.student-accounts-layout { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(230px, .7fr); gap: 20px; align-items: start; }
.student-batch-form { min-width: 0; padding: 22px; border: 1px solid var(--team-line); border-radius: 16px; background: #fff; }
.student-batch-form header, .student-account-directory > header { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.student-batch-form h3, .student-account-guide h3, .student-account-directory h3, .student-credentials h3 { margin: 0; font-size: 18px; }
.student-batch-form header > span { color: var(--team-muted); font-size: 11px; white-space: nowrap; }
.student-batch-form > label { display: flex; justify-content: space-between; gap: 12px; margin: 22px 0 8px; font-size: 13px; font-weight: 750; }
.student-batch-form > label span { color: #668178; font-weight: 500; }
.student-batch-form textarea { min-height: 168px; line-height: 1.9; resize: vertical; }
.student-field-note { margin: 8px 0 0; color: var(--team-muted); font-size: 12px; line-height: 1.7; }
.student-account-rules { display: grid; gap: 9px; margin-top: 16px; padding: 13px 15px; border-radius: 10px; background: #f2f8f5; }
.student-account-rules p { display: flex; align-items: baseline; gap: 12px; margin: 0; color: var(--team-muted); font-size: 12px; line-height: 1.8; }
.student-account-rules strong { flex-shrink: 0; color: var(--team-ink); }
.student-account-rules span { min-width: 0; }
.student-account-rules code { color: #265d49; overflow-wrap: anywhere; }
.student-account-rules .student-account-rules__security { padding-top: 8px; border-top: 1px solid #dbe8e1; color: #806327; }
.student-batch-footer { display: grid; gap: 10px; margin-top: 20px; }
.student-batch-footer > p { margin: 0; color: var(--team-green); font-size: 12px; line-height: 1.7; }
.student-batch-footer > p:empty { display: none; }
.student-batch-footer > p.is-error { color: #b42318; }
.student-batch-footer button { justify-self: start; }
.student-batch-form :disabled { cursor: wait; opacity: .6; }
.student-account-guide { padding: 20px 4px; }
.student-account-guide > span { display: block; margin-bottom: 8px; color: var(--team-green); font-size: 11px; font-weight: 800; letter-spacing: .08em; }
.student-account-guide ol { display: grid; gap: 20px; margin: 22px 0 0; padding-left: 23px; }
.student-account-guide li { padding-left: 4px; color: #64857b; font-size: 13px; }
.student-account-guide strong { color: var(--team-ink); }
.student-account-guide p { margin: 6px 0 0; color: var(--team-muted); font-size: 12px; line-height: 1.8; }
.student-account-directory { margin-top: 32px; padding-top: 27px; border-top: 1px solid var(--team-line); }
.student-account-directory h3 > span { margin-left: 7px; color: #7c928a; font-size: 13px; font-weight: 500; }
.student-account-directory > header p { margin: 7px 0 0; color: var(--team-muted); font-size: 12px; line-height: 1.65; }
.student-account-search { width: min(300px, 100%); }
.student-account-search > .visually-hidden { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.student-account-list { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 12px; margin-top: 18px; }
.student-account-list > .empty-state { grid-column: 1 / -1; }
.student-account-card { min-width: 0; padding: 19px; border: 1px solid var(--team-line); border-radius: 14px; background: #fbfdfc; }
.student-account-card__identity { display: flex; align-items: center; gap: 12px; }
.student-account-card__identity > span { display: grid; width: 40px; height: 40px; flex: 0 0 40px; place-items: center; border-radius: 12px; color: #087853; background: #e5f3ec; font-weight: 800; }
.student-account-card__identity > div { min-width: 0; }
.student-account-card h4 { margin: 0 0 6px; overflow-wrap: anywhere; font-size: 15px; }
.student-account-card code { color: #31556a; font-size: 12px; overflow-wrap: anywhere; }
.student-account-card__meta { display: flex; flex-wrap: wrap; gap: 7px; align-items: center; margin-top: 14px; }
.student-account-card__meta small { width: 100%; margin-top: 2px; color: #83948d; font-size: 10px; }
.student-account-card__actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 15px; padding-top: 13px; border-top: 1px solid #e3ece7; }
.student-account-card__actions button { min-height: 35px; padding: 7px 11px; font-size: 12px; }
.student-credentials { margin-top: 24px; padding: 20px; border: 1px solid #dcba78; border-radius: 14px; background: #fffbf2; }
.student-credentials > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; }
.student-credentials > header p { max-width: 460px; margin: 8px 0 0; color: #897247; font-size: 12px; line-height: 1.75; }
.student-credentials > header > div:last-child { display: flex; flex-shrink: 0; flex-wrap: wrap; justify-content: flex-end; gap: 8px; }
.student-credentials > header button { min-height: 35px; padding: 7px 10px; font-size: 12px; }
.student-credentials__dismiss { color: #897247; border: 0; background: transparent; cursor: pointer; }
.student-credentials__rows { display: grid; gap: 8px; max-height: 420px; overflow-y: auto; margin-top: 17px; }
.student-credentials__rows article { display: grid; grid-template-columns: minmax(80px,.7fr) minmax(0,1fr) minmax(0,1fr); align-items: center; gap: 13px; padding: 12px 13px; border: 1px solid #ece0c5; border-radius: 9px; background: #fff; }
.student-credentials__rows strong { font-size: 13px; overflow-wrap: anywhere; }
.student-credentials__rows article > div { display: grid; min-width: 0; gap: 5px; }
.student-credentials__rows span { color: #8a938a; font-size: 10px; }
.student-credentials__rows code { color: #344c43; font-size: 12px; overflow-wrap: anywhere; user-select: all; }
.team-gate [data-gate-action="student-accounts"] { margin-left: 10px; }
@media (max-width: 1100px) { .student-credentials > header { flex-direction: column; }.student-credentials > header > div:last-child { justify-content: flex-start; } }
@media (max-width: 760px) { .student-accounts-layout, .student-account-list { grid-template-columns: 1fr; }.student-account-guide { padding: 6px 4px; }.student-account-directory > header { align-items: stretch; flex-direction: column; }.student-account-search { width: 100%; }.student-account-scope { align-items: flex-start; flex-direction: column; gap: 6px; }.student-batch-form { padding: 17px; }.student-credentials { padding: 16px; }.student-credentials__rows article { grid-template-columns: 1fr 1fr; }.student-credentials__rows strong { grid-column: 1 / -1; }.student-batch-footer button { width: 100%; }.team-gate [data-gate-action="student-accounts"] { margin-left: 0; } }

.team-dialog { position: fixed; z-index: 1200; inset: 0; display: grid; place-items: center; padding: 18px; }
.team-dialog__backdrop { position: absolute; inset: 0; border: 0; background: rgba(8, 24, 29, .58); }
.team-dialog__panel { position: relative; width: min(520px, 100%); max-height: min(760px, 92vh); overflow-y: auto; padding: 22px; border-radius: 20px; background: white; box-shadow: 0 25px 90px rgba(0,0,0,.28); }
.team-dialog__panel.is-wide { width: min(860px, 100%); }
.team-dialog__panel header { display: flex; justify-content: space-between; gap: 16px; }
.team-dialog__panel header span { color: var(--team-green); font: 700 11px ui-monospace, monospace; letter-spacing: .14em; }
.team-dialog__panel h2 { margin: 5px 0 0; font-size: 24px; }
.team-dialog__panel header button { border: 0; background: transparent; font-size: 25px; cursor: pointer; }
.team-dialog__panel > p { color: var(--team-muted); line-height: 1.65; }
.team-dialog__fields { display: grid; gap: 12px; }
.team-dialog__fields label span { display: block; margin-bottom: 7px; font-size: 13px; font-weight: 700; }
.team-dialog__error { min-height: 20px; color: var(--team-red) !important; font-size: 13px; }
.team-dialog__panel footer { display: flex; justify-content: flex-end; gap: 9px; margin-top: 15px; }
.team-dialog__panel footer button { min-width: 88px; padding: 10px 14px; border: 1px solid #c5d4d0; border-radius: 10px; background: white; cursor: pointer; font-weight: 700; }
.team-dialog__panel footer button[type="submit"] { border-color: var(--team-green); background: var(--team-green); color: white; }
.team-dialog__panel footer button.is-danger { border-color: var(--team-red); background: var(--team-red); }
.dialog-code { display: grid; gap: 10px; }
.dialog-code > button { justify-self: end; }
.dialog-question-detail { display: grid; gap: 13px; color: var(--team-ink); }
.dialog-question-detail > h3 { margin: 0; font-size: 19px; line-height: 1.55; }
.dialog-question-detail section { padding-top: 2px; }
.dialog-question-detail section h4 { margin: 0 0 6px; color: var(--team-blue); }
.dialog-question-detail section p { margin: 0; white-space: pre-wrap; line-height: 1.7; }
.dialog-option-list { display: grid; gap: 7px; }
.dialog-option-list > div { padding: 10px 12px; border: 1px solid var(--team-line); border-radius: 10px; display: grid; grid-template-columns: 28px minmax(0,1fr) auto; gap: 8px; align-items: start; }
.dialog-option-list > div.is-answer { border-color: #7abca6; background: #effaf6; }
.dialog-option-list em { color: var(--team-green); font-size: 12px; font-style: normal; font-weight: 700; }
.dialog-sample { padding: 12px; border: 1px solid var(--team-line); border-radius: 11px; background: #f8fbfa; }
.dialog-sample > div { display: grid; grid-template-columns: 44px minmax(0,1fr); gap: 8px; margin-top: 8px; }
.dialog-sample pre { margin: 0; overflow-x: auto; white-space: pre-wrap; }
.dialog-sample p { margin-top: 8px !important; color: var(--team-muted); font-size: 13px; }
.solution-box { padding: 12px 14px; border-left: 4px solid var(--team-green); border-radius: 8px; background: #eef9f5; }
.solution-box p { margin: 5px 0; line-height: 1.65; }
.team-question-image { margin: 0; }
.team-question-image img { max-width: 100%; max-height: 430px; border-radius: 10px; object-fit: contain; }
.personal-list-source > p { margin: 5px 0 15px; color: var(--team-muted); font-size: 13px; }
.personal-list-source__tabs { display: flex; gap: 9px; overflow-x: auto; padding: 2px 2px 9px; }
.personal-list-source__tabs > button { display: grid; min-width: 150px; gap: 4px; padding: 11px 13px; color: #38525d; text-align: left; border: 1px solid var(--team-line); border-radius: 11px; background: #fff; cursor: pointer; }
.personal-list-source__tabs > button.is-selected { color: #076d4c; border-color: #65b496; background: #eaf8f2; }
.personal-list-source__tabs small { color: var(--team-muted); }
.personal-list-source__questions { overflow: hidden; margin-top: 8px; border: 1px solid var(--team-line); border-radius: 12px; background: #fff; }
.personal-list-source__questions > header { display: flex; align-items: center; justify-content: space-between; gap: 15px; padding: 12px 14px; border-bottom: 1px solid var(--team-line); background: #f7faf9; }
.personal-list-source__questions article { display: flex; min-height: 54px; align-items: center; justify-content: space-between; gap: 15px; padding: 9px 12px; border-top: 1px solid #edf1f2; }
.personal-list-source__questions header + article { border-top: 0; }
.personal-list-source__questions article > div { display: grid; min-width: 0; grid-template-columns: 92px minmax(0, 1fr); align-items: center; gap: 10px; }
.personal-list-source__questions code { color: #365966; font-weight: 800; }
.personal-list-source__questions article span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.personal-list-source__questions button.is-added { color: #087853; border-color: #b7d9cd; background: #eff9f5; }
.team-share-source { display: flex; flex-wrap: wrap; gap: 9px; margin: 0 0 18px; padding: 5px; border: 1px solid var(--team-line); border-radius: 14px; background: #edf5f3; }
.team-share-source button { flex: 1 1 190px; padding: 12px 16px; border: 0; border-radius: 10px; background: transparent; color: #45616b; font: inherit; font-weight: 750; cursor: pointer; }
.team-share-source button.is-selected { background: #fff; color: #086b55; box-shadow: 0 3px 12px #0a49391a; }
.team-private-picker { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 8px; max-height: 300px; overflow: auto; padding: 3px; }
.team-private-picker__item { display: flex; align-items: flex-start; gap: 10px; padding: 12px; border: 1px solid var(--team-line); border-radius: 11px; background: #fff; cursor: pointer; }
.team-private-picker__item[hidden] { display: none; }
.team-private-picker__item:has(input:checked) { border-color: #20a184; background: #eaf8f3; }
.team-private-picker__item input { margin-top: 4px; accent-color: #0d8063; }
.team-private-picker__item span { display: grid; min-width: 0; gap: 4px; }
.team-private-picker__item strong { overflow-wrap: anywhere; }
.team-private-picker__item small { color: var(--team-muted); }
.team-organization-picker-heading { display: flex; align-items: end; justify-content: space-between; flex-wrap: wrap; gap: 10px; margin-bottom: 10px; }
.team-organization-picker-heading > label { min-width: min(250px, 100%); font-weight: 700; }
.team-organization-picker-heading .form-label { margin-bottom: 0; }
#organizationShareSearch { margin-bottom: 10px; }
.team-private-shares { margin-top: 24px; }
.team-private-share__files { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 10px; }
.team-private-share__files a { max-width: 100%; overflow-wrap: anywhere; text-decoration: none; }
.team-toast { position: fixed; z-index: 1300; right: 24px; bottom: 24px; max-width: min(420px, calc(100vw - 36px)); padding: 13px 17px; border-radius: 12px; background: #102a33; color: white; box-shadow: 0 14px 40px rgba(0,0,0,.2); }
.team-privacy-cover { position: fixed; z-index: 1150; inset: 0; padding: 20px; background: rgba(241, 247, 245, .97); display: grid; place-items: center; backdrop-filter: blur(18px); }
.team-privacy-cover__panel { width: min(430px, 100%); padding: 32px; border: 1px solid #b8d2c9; border-radius: 22px; background: white; box-shadow: var(--team-shadow); text-align: center; }
.team-privacy-cover__panel > span { width: 58px; height: 58px; margin: 0 auto 15px; display: grid; place-items: center; border-radius: 18px; background: var(--team-mint); color: var(--team-green-dark); font-weight: 850; }
.team-privacy-cover__panel h2 { margin: 0; }
.team-privacy-cover__panel p { margin: 10px 0 20px; color: var(--team-muted); line-height: 1.7; }

.team-footer { max-width: 1440px; margin: 0 auto; padding: 28px clamp(18px, 4vw, 64px) 42px; display: flex; justify-content: space-between; gap: 24px; color: #61737a; font-size: 12px; }
.team-footer strong, .team-footer span { display: block; }
.team-footer p { margin: 0; display: flex; flex-wrap: wrap; gap: 8px 14px; justify-content: flex-end; }
.team-footer a { color: inherit; }

@media (max-width: 980px) {
  .team-hero { grid-template-columns: 1fr; }
  .team-shell { grid-template-columns: 1fr; }
  .team-sidebar { position: static; }
  .team-sidebar nav { grid-template-columns: repeat(3, 1fr); }
  .team-sidebar__tip { display: none; }
  .team-workspace { padding: 22px; }
}

@media (max-width: 640px) {
  .team-main { padding: 88px 12px 32px; }
  .team-hero { gap: 20px; }
  .team-hero h1 { font-size: 35px; }
  .team-hero__roles { grid-template-columns: 1fr; }
  .team-hero__roles button { min-height: 82px; }
  .team-shell { gap: 12px; }
  .team-sidebar { padding: 12px; border-radius: 16px; }
  .team-sidebar__identity { display: none; }
  .team-sidebar nav { grid-template-columns: 1fr 1fr; padding: 0; }
  .team-sidebar nav button { justify-content: center; font-size: 13px; }
  .team-sidebar nav button span { margin-left: 4px; }
  .team-workspace { padding: 17px 13px; border-radius: 17px; }
  .workspace-heading { display: block; }
  .workspace-actions { justify-content: flex-start; margin-top: 14px; }
  .summary-grid, .form-grid { grid-template-columns: 1fr; }
  .summary-card { min-height: 92px; }
  .team-card, .question-set-card, .member-card, .request-card, .attempt-card { align-items: flex-start; flex-direction: column; }
  .card-actions { justify-content: flex-start; }
  .form-section.is-wide { grid-column: auto; }
  .count-grid { grid-template-columns: 1fr; }
  .tag-group-grid { grid-template-columns: 1fr 1fr; }
  .pool-stats { grid-template-columns: 1fr; }
  .preview-item { grid-template-columns: 34px minmax(0,1fr); }
  .preview-item__actions { grid-column: 2; }
  .practice-question { padding: 15px; }
  .pending-reminder { align-items: flex-start; flex-direction: column; }
  .admin-search-panel > div, .admin-access-status { grid-template-columns: 1fr; }
  .practice-navigator { grid-template-columns: repeat(6, minmax(34px, 1fr)); }
  .practice-focus-card { min-height: 320px; padding: 18px 14px; }
  .practice-answer-actions { align-items: stretch; flex-direction: column; }
  .dictation-judgment, .answer-comparison { grid-template-columns: 1fr; }
  .practice-question-navigation { grid-template-columns: 1fr 1fr; }
  .practice-question-navigation > span { grid-column: 1 / -1; grid-row: 1; }
  .practice-footer-actions { align-items: stretch; flex-direction: column; }
  .team-footer { flex-direction: column; text-align: center; }
  .team-footer p { justify-content: center; }
  .team-toast { right: 12px; bottom: 12px; }
  .dialog-option-list > div { grid-template-columns: 24px minmax(0,1fr); }
  .dialog-option-list em { grid-column: 2; }
  .personal-list-source__questions > header, .personal-list-source__questions article { align-items: stretch; flex-direction: column; }
  .personal-list-source__questions article > div { grid-template-columns: 74px minmax(0, 1fr); }
}

/* 团队工作台：列表优先，任务与资料按需展开。 */
.team-main { max-width: 1560px; margin: 0 auto; padding: 96px clamp(18px, 3vw, 48px) 36px; }
.team-hero { grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 18px; margin-bottom: 18px; padding: 0 2px; }
.team-hero h1 { margin: 0 0 4px; font-size: 27px; letter-spacing: -.025em; line-height: 1.2; }
.team-hero p { color: #70827e; font-size: 13px; line-height: 1.6; }
.team-hero__roles { display: flex; gap: 3px; padding: 3px; border: 1px solid #d9e4df; border-radius: 10px; background: #edf2ef; }
.team-hero__roles button { min-height: 46px; min-width: 144px; gap: 9px; padding: 7px 13px; border: 0; border-radius: 7px; background: transparent; color: #5c716b; box-shadow: none; transition: background .15s, color .15s; }
.team-hero__roles button:hover { transform: none; background: #f7faf8; box-shadow: none; }
.team-hero__roles button.is-active { color: #075f49; background: white; box-shadow: 0 2px 7px rgba(18,54,47,.09); }
.team-hero__roles svg { width: 21px; height: 21px; flex: 0 0 21px; }
.team-hero__roles strong { font-size: 14px; }
.team-hero__roles small { margin-top: 3px; color: #789087; font-size: 10px; opacity: 1; }
.team-shell { max-width: none; min-height: 540px; grid-template-columns: 204px minmax(0,1fr); gap: 20px; }
.team-sidebar { position: sticky; top: 90px; max-height: calc(100dvh - 108px); overflow: auto; padding: 14px; border-radius: 12px; box-shadow: none; }
.team-sidebar__identity { gap: 10px; padding: 2px 2px 15px; }
.team-sidebar__identity > span { width: 36px; height: 36px; flex: 0 0 36px; border-radius: 11px; }
.team-sidebar__identity > div { min-width: 0; }
.team-sidebar__identity small { font-size: 10px; }
.team-sidebar__identity strong { max-width: 138px; font-size: 13px; }
.team-navigation { min-width: 0; }
.team-navigation__summary { display: none; list-style: none; }
.team-navigation__summary::-webkit-details-marker { display: none; }
.team-navigation__summary > span { flex: 0 0 auto; color: #7a8a83; font-size: 11px; }
.team-navigation__summary > strong { min-width: 0; flex: 1; overflow: hidden; color: #245744; font-size: 13px; font-weight: 650; text-overflow: ellipsis; white-space: nowrap; }
.team-navigation__summary::after { width: 7px; height: 7px; flex: 0 0 7px; margin: -4px 3px 0 0; border-right: 1.5px solid #688675; border-bottom: 1.5px solid #688675; transform: rotate(45deg); content: ""; }
.team-navigation[open] > .team-navigation__summary::after { margin-top: 3px; transform: rotate(225deg); }
.team-sidebar nav { grid-template-columns: 1fr; gap: 4px; padding: 12px 0; }
.team-sidebar nav button { min-height: 42px; padding: 10px; border-radius: 8px; font-size: 13px; font-weight: 600; }
.team-sidebar nav button.is-active { color: #075f49; background: #eaf6ef; font-weight: 750; }
.team-sidebar nav button.is-active::before { width: 4px; height: 14px; flex: 0 0 4px; border-radius: 3px; background: #11906a; content: ""; }
.team-sidebar nav button span { padding: 2px 6px; background: #e7eeeb; color: #5b746a; font-size: 10px; }
.team-sidebar__tip { padding: 12px 9px 2px; border-top: 1px solid var(--team-line); border-radius: 0; background: transparent; color: #648078; }
.team-sidebar__tip strong { font-size: 11px; font-weight: 600; }
.team-sidebar__tip strong::before { display: inline-block; width: 6px; height: 6px; margin-right: 7px; border-radius: 50%; background: #2b9b74; vertical-align: 1px; content: ""; }
.team-sidebar__tip p { margin-top: 5px; font-size: 11px; }
.team-switcher { display: grid; min-width: 0; gap: 7px; margin: 3px 0 10px; }
.team-switcher label, .team-switcher > span { color: #788c83; font-size: 11px; font-weight: 600; }
.team-switcher select { width: 100%; min-width: 0; min-height: 42px; padding: 9px 8px; border: 1px solid #cfddd6; border-radius: 8px; color: #294f41; background: #f7faf8; font-size: 12px; text-overflow: ellipsis; cursor: pointer; }
.team-nav-label { margin: 12px 10px 4px; color: #84958d; font-size: 10px; font-weight: 650; letter-spacing: .06em; }
.team-workspace { padding: clamp(20px, 2.1vw, 28px); border-radius: 12px; box-shadow: none; }
.workspace-heading { display: flex; align-items: center; gap: 16px; margin-bottom: 17px; padding-bottom: 16px; border-bottom: 1px solid #e5ece8; }
.team-workspace .workspace-heading { background: transparent; box-shadow: none; }
.team-workspace .workspace-heading > div > span { color: #3e8a68; }
.team-workspace .workspace-heading .primary-button { border-color: var(--team-green); background: var(--team-green); color: white; }
.team-workspace .workspace-heading .secondary-button { border-color: #cbdad1; background: white; color: #3c5f4b; }
.workspace-heading > div:first-child { min-width: 0; }
.workspace-heading > div > span { font-size: 10px; letter-spacing: .1em; }
.workspace-heading h2 { margin: 3px 0 5px; font-size: clamp(22px, 1.9vw, 26px); line-height: 1.35; letter-spacing: -.025em; overflow-wrap: anywhere; }
.workspace-heading p { font-size: 12px; line-height: 1.65; }
.workspace-actions { flex: 0 1 auto; gap: 8px; }
.workspace-actions button { white-space: nowrap; }
.primary-button, .secondary-button, .danger-button { min-height: 42px; padding: 10px 14px; border-radius: 8px; font-size: 13px; font-weight: 650; }
.team-main button:focus-visible, .team-main select:focus-visible, .team-main summary:focus-visible, .team-main input:focus-visible { outline: 2px solid #148665; outline-offset: 3px; }
.team-main .sr-only { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.team-overview { display: flex; flex-wrap: wrap; gap: 9px 24px; margin-bottom: 18px; padding: 0; border: 0; border-radius: 0; background: transparent; }
.team-overview > span { display: inline-flex; align-items: baseline; gap: 7px; color: #71867b; font-size: 12px; }
.team-overview strong { color: #264e3e; font-size: 21px; font-weight: 750; font-variant-numeric: tabular-nums; line-height: 1.2; }
.team-task-center { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; gap: 12px; margin: 0 0 18px; }
.team-task-panel { min-width: 0; padding: 0; border: 1px solid #dce7e0; border-radius: 10px; background: #fafcfb; }
.team-task-panel.is-resource { border-color: #dde5ea; background: #fafcfd; }
.team-task-panel > summary { display: flex; min-height: 60px; align-items: center; gap: 10px; padding: 10px 12px; list-style: none; cursor: pointer; }
.team-task-panel > summary::-webkit-details-marker { display: none; }
.team-task-panel > summary > div { min-width: 0; flex: 1; }
.team-task-panel > summary:hover { background: #f2f8f5; border-radius: 10px; }
.team-task-panel.is-resource > summary:hover { background: #f1f6fa; }
.team-task-panel[open] > summary { border-bottom: 1px solid #e0e9e4; }
.team-task-panel__mark { width: 30px; height: 30px; flex: 0 0 30px; display: grid; place-items: center; border-radius: 8px; background: #e3f2ea; color: #087355; font-size: 13px; font-weight: 750; }
.team-task-panel.is-resource .team-task-panel__mark { background: #e9f0f7; color: #2d6792; }
.team-task-panel h3 { margin: 0; color: #173f32; font-size: 14px; }
.team-task-panel p { margin: 3px 0 0; color: #75877f; font-size: 11px; line-height: 1.5; overflow-wrap: anywhere; }
.team-task-panel__toggle { display: flex; flex: 0 0 auto; align-items: center; gap: 8px; color: #70847a; font-size: 11px; }
.team-task-panel__toggle::after { width: 6px; height: 6px; margin-top: -3px; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: rotate(45deg); content: ""; }
.team-task-panel[open] .team-task-panel__toggle::after { margin-top: 3px; transform: rotate(225deg); }
.team-task-options { display: grid; grid-template-columns: minmax(0, 1fr); gap: 6px; padding: 9px; }
.team-task-panel.is-resource .team-task-options { grid-template-columns: minmax(0, 1fr); }
.team-task-options > button { display: grid; min-width: 0; min-height: 52px; grid-template-columns: 28px minmax(0, 1fr); column-gap: 10px; align-items: center; padding: 8px 10px; border: 1px solid #e0e9e3; border-radius: 7px; background: white; color: #294c40; text-align: left; cursor: pointer; transition: border-color .15s, background .15s; }
.team-task-panel.is-resource .team-task-options > button { border-color: #e0e6ec; color: #294b65; }
.team-task-options > button:hover:not(:disabled) { border-color: #90bea8; background: #f6fbf8; }
.team-task-options > button:disabled { cursor: not-allowed; opacity: .62; }
.team-task-options > button > span { width: 26px; height: 26px; grid-row: 1 / 3; display: grid; place-items: center; margin: 0; border-radius: 7px; background: #ebf6f1; color: #087455; font-size: 11px; font-weight: 750; }
.team-task-panel.is-resource .team-task-options > button > span { background: #edf4fa; color: #356c93; }
.team-task-options strong, .team-task-options small { display: block; }
.team-task-options strong { overflow-wrap: anywhere; font-size: 13px; }
.team-task-options small { margin-top: 2px; color: #7a8b84; font-size: 11px; line-height: 1.45; overflow-wrap: anywhere; }
.team-task-center.is-compact { margin-top: 1px; padding-bottom: 0; }
.team-resource-section { min-width: 0; margin-top: 24px; border-top: 1px solid #e4ebe6; }
.team-resource-section > summary { display: flex; min-height: 66px; align-items: center; gap: 12px; padding: 13px 0; list-style: none; cursor: pointer; }
.team-resource-section > summary::-webkit-details-marker { display: none; }
.team-resource-section > summary > div { min-width: 0; flex: 1; }
.team-resource-section > summary strong, .team-resource-section > summary small { display: block; overflow-wrap: anywhere; }
.team-resource-section > summary strong { color: #335446; font-size: 14px; font-weight: 650; }
.team-resource-section > summary small { margin-top: 4px; color: #829089; font-size: 11px; line-height: 1.5; }
.team-resource-section > summary::after { width: 7px; height: 7px; flex: 0 0 7px; margin: -4px 3px 0 0; border-right: 1.5px solid #708579; border-bottom: 1.5px solid #708579; transform: rotate(45deg); content: ""; }
.team-resource-section[open] > summary::after { margin-top: 3px; transform: rotate(225deg); }
.team-resource-section__count { flex: 0 0 auto; padding: 4px 8px; border-radius: 6px; background: #f1f5f2; color: #6b8174; font-size: 11px; }
.team-resource-section__content { min-width: 0; padding: 14px 0 0; border-top: 1px solid #e8eeea; }
.team-resource-section__content > .team-private-shares:first-child { margin-top: 0; }
.team-source-group { display: grid; grid-template-columns: 120px minmax(0, 1fr); align-items: center; gap: 14px; margin: 0 0 18px; padding: 10px; border: 1px solid #dce7e2; border-radius: 12px; background: #f7faf8; }
.team-source-group > div { padding-left: 5px; }
.team-source-group > div strong, .team-source-group > div span { display: block; }
.team-source-group > div strong { color: #234d3d; font-size: 13px; }
.team-source-group > div span { margin-top: 3px; color: #819089; font-size: 10px; }
.team-source-group .team-share-source { margin: 0; padding: 4px; border: 0; border-radius: 9px; background: #eaf1ee; }
.team-source-group .team-share-source button { min-height: 40px; padding: 9px 12px; }
.personal-selection-summary > strong { display: block; margin: 4px 0; color: #087455; font-size: 26px; }
.personal-selection-summary > small { display: block; max-height: 44px; overflow: auto; overflow-wrap: anywhere; }
.personal-list-source__questions > header > div { display: grid; gap: 3px; }
.personal-list-source__questions > header small { color: var(--team-muted); font-size: 11px; }
.team-guidance-empty { padding: 24px; border: 1px dashed #cfded7; border-radius: 11px; background: #fbfdfc; text-align: center; }
.team-guidance-empty p { margin: 6px 0 13px; }
.team-preview-start { justify-content: flex-start; }
.summary-grid { gap: 10px; margin-bottom: 20px; }
.summary-card { min-height: 86px; padding: 14px 17px; border-radius: 10px; background: #f8fbf9; box-shadow: none; }
.summary-card small { font-size: 12px; }
.summary-card strong { margin-top: 7px; font-size: 25px; }
.section-heading, .team-section-title { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 10px; margin: 23px 0 13px; }
.section-heading h3, .team-section-title h3 { margin: 0; font-size: 16px; }
.team-workspace > .section-heading .text-button { min-height: 40px; font-size: 12px; }
.team-section-title p { margin: 4px 0 0; color: var(--team-muted); font-size: 12px; }
.team-section-title > span { color: #7a8d82; font-size: 12px; }
.team-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 10px; }
.team-grid > .empty-state { grid-column: 1 / -1; }
.team-card.team-tile { display: grid; min-width: 0; grid-template-columns: minmax(160px, 1fr) auto auto; align-items: center; gap: 14px; padding: 14px 16px; border-radius: 9px; background: white; transition: border-color .15s, background .15s; }
.team-card.team-tile:not(:has(.team-tile__invite)) { grid-template-columns: minmax(0, 1fr) auto; }
.team-card.team-tile:hover { border-color: #b7cdc0; background: #fcfefd; box-shadow: none; }
.team-tile__top { display: flex; min-width: 0; align-items: center; gap: 11px; }
.team-tile__top .card-main { min-width: 0; }
.team-tile__mark { display: grid; width: 36px; height: 36px; flex: 0 0 36px; place-items: center; border: 1px solid #d7e7dc; border-radius: 9px; background: #edf7ee; color: #287153; font-size: 15px; font-weight: 750; }
.team-tile:nth-child(4n + 2) .team-tile__mark { border-color: #d8e4f5; color: #477bac; background: #eff5fb; }
.team-tile:nth-child(4n + 3) .team-tile__mark { border-color: #e8dff5; color: #8167a6; background: #f6f1fb; }
.team-tile:nth-child(4n + 4) .team-tile__mark { border-color: #eee3cd; color: #997743; background: #fbf6e9; }
.team-tile .card-main h4 { font-size: 15px; }
.team-tile .card-main p { margin-top: 5px; font-size: 11px; }
.team-tile .card-meta { margin-top: 0; }
.team-tile .card-actions { width: auto; flex-wrap: wrap; margin: 0; padding: 0; border: 0; justify-content: flex-end; }
.team-tile .card-actions > button { flex: 0 0 auto; }
.team-tile .card-actions > button:first-child { border-color: #0d8063; background: #0d8063; color: white; }
.team-tile__invite { display: flex; align-items: center; flex-wrap: wrap; gap: 7px; color: #819186; font-size: 11px; }
.team-tile__invite code { color: #3e6753; font-size: 12px; font-weight: 700; letter-spacing: .08em; }
.team-tile__invite button { min-height: 40px; margin-left: 0; padding: 6px 8px; border: 0; border-radius: 7px; color: #54816a; background: transparent; font-size: 11px; cursor: pointer; }
.team-tabs { display: flex; gap: 24px; margin: 4px 0 20px; border-bottom: 1px solid #dde8e0; }
.team-tabs button { position: relative; min-height: 46px; padding: 8px 2px 12px; border: 0; background: transparent; color: #74877d; font-size: 13px; font-weight: 600; cursor: pointer; }
.team-tabs button:hover { color: #176f4c; }
.team-tabs button.is-active { color: #087857; font-weight: 750; }
.team-tabs button.is-active::after { position: absolute; right: 0; bottom: -1px; left: 0; height: 3px; border-radius: 3px 3px 0 0; background: #098560; content: ""; }
.team-tabs button span { margin-left: 6px; padding: 2px 6px; border-radius: 5px; color: inherit; background: #eff4f0; font-size: 10px; font-weight: 600; }
.team-toolbar { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; margin: 0 0 17px; }
.team-search { position: relative; display: flex; flex: 1 1 230px; min-width: 0; align-items: center; gap: 8px; color: #7a8c82; font-size: 12px; }
.team-search::before { position: absolute; z-index: 1; left: 13px; top: 14px; width: 10px; height: 10px; border: 1.5px solid #8d9e90; border-radius: 50%; pointer-events: none; content: ""; }
.team-search::after { position: absolute; z-index: 1; left: 22px; top: 23px; width: 6px; height: 1.5px; background: #8d9e90; transform: rotate(45deg); transform-origin: left center; pointer-events: none; content: ""; }
.team-search input { width: 100%; min-width: 0; min-height: 42px; padding: 10px 12px 10px 36px; border: 1px solid #d7e1db; border-radius: 8px; background: #fbfdfb; color: #29483a; font-size: 12px; }
.team-search input::placeholder { color: #8a9c90; }
.team-search > span { flex: 0 0 auto; }
.team-toolbar > select, .team-toolbar select[data-list-team] { min-height: 42px; max-width: 100%; padding: 8px 30px 8px 11px; border: 1px solid #d7e1db; border-radius: 8px; background: white; color: #627869; font-size: 12px; cursor: pointer; }
.team-filters { display: flex; flex-wrap: wrap; gap: 3px; padding: 3px; border-radius: 9px; background: #f0f4f1; }
.team-filters button { min-height: 40px; padding: 7px 12px; border: 0; border-radius: 6px; color: #7b8c80; background: transparent; font-size: 12px; cursor: pointer; }
.team-filters button.is-active { color: #126f48; background: white; box-shadow: 0 1px 4px rgba(34,67,43,.08); font-weight: 750; }
#teamListCount { margin: 0; color: #85948a; font-size: 11px; }
#teamListResults { min-width: 0; }
.card-list { gap: 10px; }
.team-card, .question-set-card, .member-card, .request-card, .attempt-card { min-width: 0; padding: 15px 17px; border-radius: 11px; gap: 15px; }
.card-main h4 { font-size: 14px; line-height: 1.5; overflow-wrap: anywhere; }
.card-main p { margin-top: 5px; font-size: 12px; overflow-wrap: anywhere; }
.card-meta { gap: 6px; margin-top: 8px; }
.badge { font-size: 10px; }
.card-actions { gap: 7px; align-items: center; }
.card-actions button { min-height: 40px; padding: 8px 12px; border-radius: 8px; font-size: 12px; font-weight: 600; }
.question-set-card > .card-actions { max-width: 260px; }
.member-avatar { width: 36px; height: 36px; flex: 0 0 36px; border-radius: 10px; font-size: 14px; }
.team-list-footer { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 12px; margin-top: 17px; color: #819088; font-size: 12px; }
.team-toolbar + .team-list-footer { margin: -5px 0 11px; }
.team-pagination { display: flex; align-items: center; justify-content: flex-end; gap: 10px; margin-top: 18px; color: #7e9085; font-size: 12px; }
.team-list-footer .team-pagination { margin-top: 0; }
.team-pagination button { min-height: 40px; padding: 8px 12px; border: 1px solid #d7e1da; border-radius: 8px; background: white; color: #526f5e; font-size: 12px; cursor: pointer; }
.team-pagination button:disabled { opacity: .42; cursor: default; }
.team-more { position: relative; flex: 0 0 auto; }
.team-more summary { display: flex; min-width: 48px; min-height: 40px; align-items: center; justify-content: center; padding: 8px 10px; border: 1px solid #d6e0da; border-radius: 8px; color: #728879; background: white; font-size: 12px; font-weight: 500; list-style: none; cursor: pointer; }
.team-more summary::-webkit-details-marker { display: none; }
.team-more[open] summary { color: #225f42; border-color: #9fbdae; background: #f1f7f3; }
.team-more__menu { position: absolute; z-index: 12; right: 0; bottom: calc(100% + 6px); display: grid; min-width: 144px; gap: 3px; padding: 6px; border: 1px solid #d9e4dc; border-radius: 10px; background: white; box-shadow: 0 9px 24px rgba(27,63,40,.14); }
.team-more__menu button, .card-actions .team-more__menu button { width: 100%; min-height: 40px; padding: 9px 11px; border: 0; border-radius: 6px; background: transparent; color: #657e6a; text-align: left; white-space: nowrap; font-size: 12px; cursor: pointer; }
.team-more__menu button:hover { background: #f4f8f5; }
.team-more__menu button[data-tone="danger"], .card-actions .team-more__menu button[data-tone="danger"] { color: #b7524c; }
.team-detail-meta { display: flex; align-items: center; flex-wrap: wrap; gap: 13px 20px; margin: 6px 0 0; color: #7b8d81; font-size: 12px; }
.team-detail-meta .invite-code { padding: 4px 8px 4px 11px; gap: 10px; border-style: solid; border-color: #dbe7de; border-radius: 8px; background: #f7fbf8; }
.team-detail-meta .invite-code code { font-size: 15px; letter-spacing: .12em; }
.team-detail-meta .invite-code button { min-height: 40px; padding: 6px 8px; font-size: 11px; }
.team-settings { display: grid; gap: 14px; }
.team-settings section { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 16px; padding: 19px; border: 1px solid #dfe7e1; border-radius: 10px; background: #fcfdfb; }
.team-settings h3, .team-settings h4 { margin: 0 0 7px; font-size: 15px; }
.team-settings p { max-width: 620px; margin: 0; color: #7a8b7e; font-size: 12px; line-height: 1.75; }
.team-settings .team-settings__danger { border-color: #ecd9d5; background: #fffdfc; }
.team-settings__danger h3, .team-settings__danger h4 { color: #ab5850; }
.team-pending-invites { margin: 12px 0 20px; padding: 0 13px; border: 1px solid #e1e8e3; border-radius: 9px; background: #f9fbf9; }
.team-pending-invites > summary { min-height: 44px; padding: 13px 0; color: #647c6c; font-size: 12px; cursor: pointer; }
.team-pending-invites[open] { padding-bottom: 12px; }
.team-attention { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 19px; padding: 12px 15px; border: 1px solid #eadcbc; border-radius: 10px; background: #fffbf1; color: #8a6c34; font-size: 12px; line-height: 1.65; }
.team-attention strong { font-weight: 650; }
.team-attention p { margin: 2px 0 0; }
.team-attention button { min-height: 40px; flex: 0 0 auto; padding: 8px 11px; border: 1px solid #e8d9b8; border-radius: 7px; background: white; color: #8c6a2f; font-size: 12px; cursor: pointer; }
.team-workspace .empty-state { padding: 32px 18px; border-color: #d8e2da; border-radius: 11px; background: #fcfdfb; font-size: 12px; }
.team-workspace .empty-state strong { margin-bottom: 7px; font-size: 14px; }
@media (max-width: 1100px) {
  .team-shell { grid-template-columns: 188px minmax(0,1fr); gap: 16px; }
  .team-sidebar { padding: 12px; }
  .team-sidebar__identity strong { max-width: 128px; }
  .team-workspace { padding: 22px; }
  .workspace-heading { align-items: flex-start; flex-wrap: wrap; }
  .workspace-actions { justify-content: flex-start; }
  .team-grid { gap: 10px; }
  .team-card.team-tile { grid-template-columns: minmax(0, 1fr) auto; gap: 8px 14px; padding: 13px 14px; }
  .team-tile__invite { grid-column: 1 / -1; grid-row: 2; }
  .team-tile .card-actions { grid-column: 2; grid-row: 1; }
  .team-tile .card-actions { gap: 6px; }
  .team-tile .card-actions button { padding-inline: 9px; }
  .team-task-panel__toggle { font-size: 0; gap: 0; }
}
@media (max-width: 900px) {
  .team-main { padding: 90px 18px 30px; }
  .team-hero { gap: 14px; margin-bottom: 16px; }
  .team-hero__roles button { min-width: 135px; padding-inline: 11px; }
  .team-shell { grid-template-columns: 1fr; gap: 12px; }
  .team-sidebar { position: static; max-height: none; overflow: visible; padding: 5px 12px; }
  .team-sidebar__identity, .team-sidebar__tip { display: none; }
  .team-sidebar__sync { margin: 6px 2px; }
  .team-navigation__summary { display: flex; min-height: 44px; align-items: center; gap: 12px; padding: 4px 2px; cursor: pointer; }
  .team-navigation[open] > .team-navigation__summary { border-bottom: 1px solid #e4ebe6; }
  .team-sidebar nav { max-height: min(58dvh, 480px); overflow: auto; grid-template-columns: minmax(0, 1fr); gap: 4px; padding: 10px 0 7px; }
  .team-sidebar nav button { justify-content: flex-start; min-width: 0; padding-inline: 10px; }
  .team-sidebar nav button span { margin-left: auto; }
  .team-switcher { grid-column: 1 / -1; display: flex; align-items: center; gap: 12px; margin: 0 0 7px; padding-bottom: 12px; border-bottom: 1px solid #e4eae5; }
  .team-switcher label, .team-switcher > span { flex: 0 0 auto; }
  .team-switcher select { flex: 1; }
  .team-nav-label { grid-column: 1 / -1; margin: 4px 7px 0; font-size: 10px; }
  .team-workspace { padding: 23px; }
}
@media (max-width: 600px) {
  .team-main { padding: 86px 12px 28px; }
  .team-hero { grid-template-columns: 1fr; gap: 12px; margin-bottom: 13px; padding: 0 2px; }
  .team-hero h1 { font-size: 25px; }
  .team-hero p { font-size: 12px; }
  .team-hero__roles { width: 100%; }
  .team-hero__roles button { min-width: 0; flex: 1; min-height: 42px; justify-content: center; gap: 8px; padding: 7px; }
  .team-hero__roles strong { font-size: 13px; }
  .team-hero__roles small { display: none; }
  .team-sidebar { padding: 4px 10px; border-radius: 9px; }
  .team-sidebar nav { grid-template-columns: minmax(0, 1fr); gap: 4px; }
  .team-sidebar nav button { min-height: 42px; gap: 8px; font-size: 12px; }
  .team-workspace { padding: 18px 14px; border-radius: 11px; }
  .workspace-heading { display: flex; align-items: center; flex-direction: row; flex-wrap: wrap; gap: 10px; margin-bottom: 12px; padding-bottom: 12px; }
  .workspace-heading > div:first-child { flex: 1 1 120px; }
  .workspace-heading h2 { margin-top: 4px; font-size: 22px; }
  .workspace-actions { flex: 0 1 auto; margin-top: 0; justify-content: flex-start; }
  .workspace-actions button { flex: 1 1 auto; }
  .team-overview { gap: 8px 16px; margin-bottom: 16px; padding: 0; }
  .team-overview > span { gap: 6px; font-size: 11px; }
  .team-overview strong { font-size: 19px; }
  .team-task-center { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; margin-bottom: 14px; }
  .team-task-panel[open] { grid-column: 1 / -1; }
  .team-task-panel > summary { min-height: 52px; gap: 8px; padding: 8px 9px; }
  .team-task-panel > summary p { display: none; }
  .team-task-panel__mark { width: 24px; height: 24px; flex-basis: 24px; font-size: 11px; }
  .team-task-panel h3 { font-size: 13px; }
  .team-task-panel__toggle { font-size: 0; gap: 0; }
  .team-task-options, .team-task-panel.is-resource .team-task-options { grid-template-columns: 1fr; }
  .team-task-options > button { min-height: 52px; }
  .team-source-group { grid-template-columns: 1fr; gap: 8px; padding: 9px; }
  .team-source-group > div { padding: 2px 3px 0; }
  .team-source-group .team-share-source { display: grid; grid-template-columns: 1fr; gap: 4px; }
  .team-source-group .team-share-source button { width: 100%; }
  .team-grid { grid-template-columns: 1fr; }
  .team-card.team-tile { grid-template-columns: minmax(0, 1fr) auto; gap: 10px; padding: 12px; }
  .team-card.team-tile:not(:has(.team-tile__invite)) { grid-template-columns: minmax(0, 1fr); }
  .team-tile__top { gap: 9px; }
  .team-tile__mark { width: 32px; height: 32px; flex-basis: 32px; }
  .team-tile .card-main h4 { font-size: 14px; }
  .team-tile__invite { grid-column: 2; grid-row: 1; flex-direction: column; align-items: flex-end; gap: 0; font-size: 10px; }
  .team-tile__invite code { font-size: 11px; }
  .team-tile__invite button { padding: 5px 7px; }
  .team-tile .card-actions { width: 100%; grid-column: 1 / -1; grid-row: 2; justify-content: flex-start; }
  .team-tile .card-actions > button { flex: 1 1 auto; }
  .team-tabs { gap: 22px; margin-bottom: 16px; }
  .team-tabs button { min-height: 44px; font-size: 12px; }
  .section-heading, .team-section-title { margin-top: 18px; margin-bottom: 11px; }
  .team-toolbar { gap: 10px; }
  .team-search { flex-basis: 100%; }
  .team-toolbar > select, .team-toolbar select[data-list-team] { flex: 1 1 100%; width: 100%; }
  .team-filters { flex: 1 1 100%; }
  .team-filters button { flex: 1; min-height: 40px; padding-inline: 9px; font-size: 11px; white-space: nowrap; }
  .team-card, .question-set-card, .member-card, .request-card, .attempt-card { padding: 14px; align-items: stretch; flex-direction: column; gap: 12px; }
  .card-actions { width: 100%; justify-content: flex-start; }
  .question-set-card > .card-actions { max-width: none; }
  .card-actions > button { flex: 1; }
  .member-card { flex-direction: row; align-items: center; flex-wrap: wrap; }
  .member-card > .card-actions { width: auto; flex: 0 0 auto; justify-content: flex-end; }
  .member-card > .card-actions > button { flex: 0 1 auto; }
  .member-card__identity { flex: 1 1 128px; }
  .team-detail-meta { gap: 10px; }
  .team-detail-meta .invite-code { gap: 8px; }
  .team-detail-meta .invite-code code { font-size: 14px; }
  .team-settings section { padding: 16px; }
  .team-attention { padding: 11px 13px; }
  .team-resource-section { margin-top: 20px; }
  .team-resource-section > summary { min-height: 62px; gap: 9px; }
  .team-resource-section__content { padding-top: 12px; }
  .team-list-footer { gap: 10px; font-size: 11px; }
  .team-pagination { justify-content: space-between; gap: 8px; font-size: 11px; }
  .team-pagination button { padding-inline: 10px; }
  .summary-grid { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 7px; }
  .summary-card { min-height: 80px; padding: 12px 9px; }
  .summary-card small { font-size: 10px; }
  .summary-card strong { font-size: 22px; }
  .team-gate { padding: 26px 18px; border-radius: 14px; }
  .team-gate strong { font-size: 17px; }
  .team-gate p { font-size: 13px; }
}
@media (max-width: 370px) {
  .team-main { padding-inline: 10px; }
  .team-workspace { padding-inline: 12px; }
  .team-task-panel > summary { gap: 6px; padding-inline: 8px; }
  .team-task-panel__mark { width: 22px; height: 22px; flex-basis: 22px; }
  .team-task-panel__toggle { font-size: 0; gap: 0; }
  .team-tile .card-actions { gap: 5px; }
  .team-tile .card-actions > button { padding-inline: 8px; }
  .team-tile .team-more summary { min-width: 42px; padding-inline: 8px; }
}

/* 正式团队练习：全宽目录、题目作答、答案解析；不叠在管理页面上。 */
body.is-team-practice { background: #edf3f5; }
.is-team-practice .team-main { max-width: none; min-height: 100dvh; padding: 88px 10px 12px; }
.is-team-practice .team-hero, .is-team-practice .team-sidebar, .is-team-practice .team-footer { display: none; }
.is-team-practice .team-shell { display: block; min-height: 0; }
.is-team-practice .team-workspace { height: calc(100dvh - 100px); min-height: 0; padding: 0; overflow: hidden; border-radius: 16px; box-shadow: 0 12px 36px rgba(18,54,47,.07); }
.team-practice-workspace { display: grid; height: 100%; min-height: 0; grid-template-columns: clamp(230px, 21vw, 310px) minmax(340px, 1.25fr) minmax(270px, 1fr); }
.team-practice-directory { display: flex; min-width: 0; min-height: 0; flex-direction: column; background: #f5f9fa; border-right: 1px solid var(--team-line); }
.team-practice-directory > header, .team-practice-solution > header { padding: 23px 20px 18px; }
.team-practice-eyebrow { color: #087d77; font: 750 10px ui-monospace, monospace; letter-spacing: .14em; }
.team-practice-directory h2, .team-practice-solution h2 { margin: 8px 0 0; font-size: 19px; line-height: 1.4; }
.team-practice-summary { margin: 0 14px; padding: 17px; border-radius: 12px; color: #fff; background: linear-gradient(125deg, #123e49, #0b806b); }
.team-practice-summary h3 { margin: 0; font-size: 16px; line-height: 1.5; overflow-wrap: anywhere; }
.team-practice-summary p { margin: 6px 0 15px; color: #c7e4e2; font-size: 11px; line-height: 1.65; }
.team-practice-summary > div:not(.progress-bar) { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.team-practice-summary > div > span { color: #d0e9e6; font-size: 12px; }
.team-practice-summary strong { font: 800 18px ui-monospace, monospace; }
.team-practice-summary .progress-bar { margin-top: 11px; height: 4px; background: rgba(255,255,255,.18); }
.team-practice-summary .progress-bar i { background: #72e1bf; }
.team-practice-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 7px; padding: 12px 14px 0; }
.team-practice-actions button { min-height: 37px; padding: 8px 5px; font-size: 12px; border-radius: 8px; }
.team-practice-hint { margin: 10px 16px 13px; color: var(--team-muted); font-size: 11px; line-height: 1.65; }
.team-practice-directory .practice-navigator { display: flex; min-height: 0; flex: 1; flex-direction: column; gap: 5px; overflow: auto; margin: 0; padding: 10px 9px; border-top: 1px solid var(--team-line); overscroll-behavior: contain; }
.team-practice-directory .practice-navigator button { display: flex; min-width: 0; min-height: 67px; flex: 0 0 auto; align-items: center; gap: 11px; padding: 10px; aspect-ratio: auto; text-align: left; border: 1px solid transparent; border-radius: 10px; color: var(--team-ink); background: transparent; }
.team-practice-directory .practice-navigator button:hover:not(:disabled) { background: #eaf3f3; }
.team-practice-directory .practice-navigator button.is-current { border-color: #6594ff; outline: 1px solid #6594ff; background: #eaf2ff; }
.team-practice-directory .practice-navigator button:focus-visible { outline: 2px solid var(--team-blue); outline-offset: -2px; }
.team-practice-directory .practice-navigator button:disabled { cursor: default; opacity: .55; }
.team-practice-directory .practice-navigator button > b { display: grid; width: 31px; height: 33px; flex: 0 0 31px; place-items: center; border: 1px solid #cbdbdf; border-radius: 8px; color: #466573; background: white; font-size: 12px; }
.team-practice-directory .practice-navigator button.is-correct > b { color: #087857; border-color: #93ccba; background: #e8f7f1; }
.team-practice-directory .practice-navigator button.is-wrong > b { color: #b24540; border-color: #e5bab6; background: #fff0ef; }
.team-practice-directory .practice-navigator button.is-pending > b { color: #986710; border-color: #e7cd97; background: #fff8e8; }
.team-practice-directory .practice-navigator button > span { display: grid; min-width: 0; gap: 7px; }
.team-practice-directory .practice-navigator strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 12px; line-height: 1.5; }
.team-practice-directory .practice-navigator small { color: #718792; font-size: 10px; font-weight: 500; }
.team-practice-directory-footer { margin: 0; padding: 12px 17px; border-top: 1px solid var(--team-line); color: var(--team-muted); font-size: 11px; line-height: 1.8; }
.team-practice-question { min-width: 0; min-height: 0; overflow: auto; background: white; overscroll-behavior: contain; }
.team-practice-question .practice-focus-card { min-height: 0; padding: 28px clamp(20px, 2.5vw, 42px) 42px; border: 0; border-radius: 0; background: white; }
.team-practice-question .practice-focus-card > header { margin-bottom: 20px; }
.team-practice-question .practice-focus-card > h3 { padding-bottom: 20px; border-bottom: 1px solid #e4edef; font-size: clamp(18px, 1.6vw, 24px); line-height: 1.75; overflow-wrap: anywhere; }
.team-practice-question .practice-question-copy { white-space: pre-wrap; }
.team-practice-question .answer-options { margin-top: 24px; }
.team-practice-question .answer-options label { padding: 15px 16px; }
.team-practice-question .answer-options span { min-width: 0; overflow-wrap: anywhere; }
.team-practice-question .practice-answer-actions { padding-top: 18px; border-top: 1px solid #e4edef; align-items: flex-start; flex-wrap: wrap; }
.team-practice-question .practice-answer-actions button { margin-left: auto; }
.team-practice-question .practice-answer-actions button.secondary-button { margin-left: 0; }
.team-practice-solution { display: flex; min-width: 0; min-height: 0; flex-direction: column; border-left: 8px solid #edf3f2; background: #f7fafb; }
.team-practice-solution > header { flex: 0 0 auto; border-bottom: 1px solid #e1ebee; background: white; }
.team-practice-solution-content { min-height: 0; flex: 1; overflow: auto; padding: 22px; overscroll-behavior: contain; }
.team-practice-solution .practice-feedback { margin: 0; padding: 17px; border-radius: 12px; }
.team-practice-solution .practice-feedback__heading { align-items: flex-start; }
.team-practice-solution .practice-feedback__heading > span { width: 32px; height: 32px; flex-basis: 32px; font-size: 18px; }
.team-practice-solution .practice-feedback__heading strong { font-size: 15px; }
.team-practice-solution .practice-feedback__heading p { line-height: 1.7; }
.team-practice-solution .answer-comparison { grid-template-columns: 1fr; }
.team-practice-solution .answer-comparison strong, .team-practice-solution .solution-box { overflow-wrap: anywhere; }
.team-practice-answer-pending { display: flex; min-height: min(420px, 55vh); align-items: center; justify-content: center; flex-direction: column; text-align: center; }
.team-practice-answer-pending > span { display: grid; width: 52px; height: 52px; place-items: center; margin-bottom: 10px; border: 1px solid #d6e4e8; border-radius: 50%; color: #8ba4af; background: white; font: 750 18px ui-monospace, monospace; }
.team-practice-answer-pending h3 { margin: 8px 0; font-size: 16px; }
.team-practice-answer-pending p { max-width: 270px; margin: 0; color: #82959f; font-size: 12px; line-height: 1.85; }
@media (max-width: 1100px) and (min-width: 901px) {
  .team-practice-workspace { grid-template-columns: 220px minmax(300px, 1.2fr) minmax(245px, 1fr); }
  .team-practice-question .practice-focus-card { padding-inline: 20px; }
  .team-practice-solution-content { padding: 14px; }
}
@media (max-width: 900px) {
  .is-team-practice .team-main { padding: 76px 0 0; }
  .is-team-practice .team-workspace { height: auto; min-height: calc(100dvh - 76px); overflow: visible; border-inline: 0; border-bottom: 0; border-radius: 0; }
  .team-practice-workspace { display: flex; height: auto; flex-direction: column; }
  .team-practice-directory { border-right: 0; border-bottom: 8px solid #edf3f2; }
  .team-practice-directory > header { padding: 16px 16px 12px; }
  .team-practice-directory h2 { font-size: 17px; }
  .team-practice-summary { padding: 12px 14px; }
  .team-practice-summary p { margin: 4px 0 9px; }
  .team-practice-summary .progress-bar { margin-top: 7px; }
  .team-practice-directory .practice-navigator { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); flex: none; max-height: 162px; padding: 10px 14px; }
  .team-practice-directory .practice-navigator button { min-height: 46px; justify-content: center; padding: 5px; }
  .team-practice-directory .practice-navigator button > span { display: none; }
  .team-practice-directory-footer { display: none; }
  .team-practice-question { overflow: visible; }
  .team-practice-question .practice-focus-card { padding: 23px 18px 30px; }
  .team-practice-question .practice-answer-actions button { width: 100%; margin-left: 0; }
  .team-practice-solution { min-height: 240px; border-left: 0; border-top: 8px solid #edf3f2; }
  .team-practice-solution > header { padding: 18px; }
  .team-practice-solution-content { overflow: visible; padding: 18px; }
  .team-practice-answer-pending { min-height: 170px; }
}
.team-folder-breadcrumb { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 12px 0; }
.team-folder-breadcrumb [aria-current="page"] { background: #e9f5ef; color: #176c4d; border-color: #21875e; }
.team-folder-children { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 200px), 1fr)); gap: 10px; margin: 12px 0; }
.team-folder-children button { text-align: left; overflow-wrap: anywhere; }
#teamScoresPanel { margin-top: 24px; }
.team-grid--managed { grid-template-columns: repeat(auto-fill, minmax(min(100%, 260px), 1fr)); gap: 13px; }
.team-card.team-tile.team-card--manager { position: relative; grid-template-columns: minmax(0, 1fr) 36px; gap: 8px 12px; min-height: 126px; padding: 16px; cursor: pointer; }
.team-card--manager:focus-visible { outline: 3px solid #168565; outline-offset: 3px; }
.team-card--manager .team-tile__invite { grid-column: 1 / -1; grid-row: 2; flex-direction: row; justify-content: space-between; align-items: center; gap: 8px; padding-left: 47px; }
.team-card--manager .card-main h4 { overflow-wrap: anywhere; }
.team-card--manager .team-tile__invite button { min-height: 32px; }
.team-order-handle { display: grid; width: 36px; height: 40px; place-items: center; padding: 0; border: 1px solid transparent; border-radius: 8px; color: #728d7f; background: transparent; font-size: 24px; line-height: 1; cursor: grab; touch-action: none; user-select: none; }
.team-order-handle:hover, .team-order-handle:focus-visible { border-color: #9fc4b4; background: #edf8f2; color: #087857; }
.team-order-handle:disabled { opacity: .35; cursor: default; }
.team-card--manager.is-reordering { border-color: #078362; background: #edf9f3; box-shadow: 0 0 0 3px rgba(8, 120, 87, .14); }
.team-card--manager.is-reordering .team-order-handle { color: #087857; cursor: grabbing; }
.team-order-status { display: flex; flex-wrap: wrap; align-items: center; gap: 7px; }
.team-order-status.is-error { color: #b23e36; }
.team-order-status .text-button { min-height: 30px; padding: 3px 7px; font-size: 12px; }
.team-tabs { gap: 10px; padding: 4px 0 13px; }
.team-tabs button { display: inline-flex; align-items: center; justify-content: center; gap: 5px; min-height: 44px; padding: 10px 19px; border: 1px solid #c8ddd1; border-radius: 9px; color: #35694e; background: #f3f9f5; font-weight: 700; transition: background .15s, border-color .15s; }
.team-tabs button:hover { border-color: #7aaf94; color: #075e43; background: #e4f3eb; }
.team-tabs button:focus-visible { outline: 3px solid #168565; outline-offset: 3px; }
.team-tabs button.is-active { border-color: #087857; color: white; background: #087857; box-shadow: 0 3px 8px rgba(8, 120, 87, .15); }
.team-tabs button.is-active::after { content: none; }
.team-tabs button span { margin-left: 2px; background: rgba(18, 91, 55, .09); }
.team-tabs button.is-active span { background: rgba(255, 255, 255, .2); }
.team-detail-heading { align-items: flex-start; }
.team-detail-actions { align-self: flex-start; gap: 8px; margin-top: 18px; }
.team-detail-actions .danger-button { border-color: #efcfcc; color: #b2483d; background: white; }
.team-detail-actions .danger-button:hover { background: #fff1ef; }
.team-score-heading { align-items: center; }
@media (max-width: 640px) {
  .team-grid--managed { grid-template-columns: minmax(0, 1fr); }
  .team-card.team-tile.team-card--manager { min-height: 112px; padding: 13px; }
  .team-card--manager .team-tile__invite { padding-left: 41px; }
  .team-tabs { gap: 8px; }
  .team-tabs button { flex: 1 1 0; padding-inline: 12px; }
  .team-detail-actions { width: 100%; margin-top: 0; justify-content: flex-start; }
  .team-detail-actions > button { flex: 1 1 auto; min-height: 40px; padding-inline: 9px; font-size: 12px; }
}
