/* 四入口简化版：排版页以卷面为中心，顶部只突出“导入”“导出”。最后加载，只改外观。 */

/* 侧栏四个主入口：图标 + 名称 + 一行说明 */
.primary-nav{gap:4px}
.primary-nav .nav{align-items:center;padding:11px 12px}
.nav-text{display:flex;flex-direction:column;gap:1px;line-height:1.25;text-align:left}
.nav-text small{font-size:11.5px;font-weight:500;color:var(--text-tertiary);letter-spacing:0}
.primary-nav .nav.active .nav-text small{color:var(--text-secondary)}
.layout-category-nav[hidden]{display:none!important}

/* 二级页返回条、收录库分段控件 */
.sub-back{display:flex;align-items:center;gap:12px;margin:14px 0 4px}
.sub-back .text-button{font-weight:650}
.sub-back span{color:var(--text-secondary);font-size:14px}
.collection-tabs{display:flex;align-items:center;gap:12px;margin:18px 0 6px}
.seg{display:inline-flex;padding:4px;gap:2px;background:var(--bg-inset);border:1px solid var(--border-subtle);border-radius:14px}
.seg-item{display:inline-flex;align-items:center;gap:8px;border:0;background:transparent;padding:9px 18px;border-radius:10px;font:inherit;font-weight:650;color:var(--text-secondary);cursor:pointer}
.seg-item svg,.collection-records-link svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.seg-item:hover{color:var(--text-primary)}
.seg-item.active{background:var(--bg-surface);color:var(--text-primary);box-shadow:0 1px 2px rgba(20,24,31,.08),0 2px 8px rgba(20,24,31,.05)}
.collection-records-link{margin-left:auto;display:inline-flex;align-items:center;gap:6px}
.collection-records-link.active{color:var(--accent);font-weight:700}

/* 排版页头：标题 + 两个大按钮 */
.wb-hero{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:18px 0 14px}
.wb-hero h1{margin:0;font-size:30px}
.wb-hero p{margin:4px 0 0;color:var(--text-secondary);overflow-wrap:anywhere}
.wb-hero-actions{display:flex;gap:10px;flex-wrap:wrap}
.button.big{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-width:132px;padding:14px 26px;font-size:16px;font-weight:700;border-radius:16px}
.button.big svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.wb-upload{position:relative;overflow:hidden;cursor:pointer}
.wb-upload input{position:absolute;inset:0;opacity:0;cursor:pointer}
.wb-export-button{background:var(--text-primary);border-color:var(--text-primary);color:var(--bg-surface)}
.wb-export-button:hover{background:#2A303A;border-color:#2A303A}
:root[data-theme=dark] .wb-export-button{background:#ECEEF0;border-color:#ECEEF0;color:#0F1113}

/* 次要设置条：学科、用途、模板 */
.wb-bar{display:flex;align-items:center;flex-wrap:wrap;gap:10px 16px;margin:0 0 12px;padding:10px 14px;background:var(--bg-surface);border:1px solid var(--border);border-radius:16px}
.wb-bar label{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:650;color:var(--text-secondary);white-space:nowrap}
.wb-bar select{min-width:0;max-width:220px;border-radius:10px}
.wb-bar .wb-template-pick select{max-width:340px;min-width:200px}
.wb-bar-space{flex:1}
.wb-more{position:relative}
.wb-more>summary{list-style:none;cursor:pointer;padding:7px 12px;border-radius:10px;font-size:13px;font-weight:650;color:var(--text-secondary);border:1px solid var(--border)}
.wb-more>summary::-webkit-details-marker{display:none}
.wb-more[open]>summary,.wb-more>summary:hover{background:var(--bg-inset);color:var(--text-primary)}
.wb-more-panel{position:absolute;right:0;top:calc(100% + 8px);z-index:40;width:min(420px,86vw);display:grid;gap:16px;padding:18px;background:var(--bg-surface);border:1px solid var(--border);border-radius:18px;box-shadow:var(--shadow-lg)}
.wb-more-panel h2{font-size:14px;margin:0 0 8px}
.wb-more-panel section+section{border-top:1px solid var(--border-subtle);padding-top:14px}
.wb-more-panel label{display:flex;flex-direction:column;gap:6px;margin-bottom:8px}
.wb-more-panel .wb-switch{flex-direction:row;align-items:center}
.wb-more-panel select{max-width:none;width:100%}

/* 预览工具条与状态 */
.wb-toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.wb-toolbar-space{flex:1}
.button.small{padding:7px 14px;font-size:13px}
.wb-preview-state{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:650;color:var(--text-tertiary)}
.wb-preview-state:not(:empty)::before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}
.wb-preview-state.ready{color:#15803D}
.wb-preview-state.updating{color:var(--accent)}
.wb-preview-state.updating::before{animation:wb-pulse 1s ease-in-out infinite}
.wb-preview-state.failed,.wb-preview-state.empty{color:#B45309}
@keyframes wb-pulse{50%{opacity:.25}}
@media(prefers-reduced-motion:reduce){.wb-preview-state.updating::before{animation:none}}
.wb-canvas.wb-drop{outline:2px dashed var(--accent);outline-offset:-10px}
.wb-empty-icon{display:inline-grid!important;place-items:center;width:72px;height:72px;border-radius:22px;color:#fff;background:linear-gradient(145deg,#5EEAD4,#0D9488);box-shadow:0 12px 26px -10px #0D9488}
.wb-empty-icon svg{width:34px;height:34px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}

/* 右侧题目栏：查找压成一行，操作随题目展开 */
.wb-find{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.wb-find input{flex:1 1 140px;min-width:0}
.wb-find select{flex:0 1 110px}
.wb-selection-tools{display:flex;gap:4px 12px;flex-wrap:wrap}
.wb-question-body .text-button{margin-right:12px}

/* 导出窗口：按内容逐行勾选 */
.wb-export-state{font-size:13px;padding:0;border-radius:12px}
.wb-export-state:not(:empty){padding:10px 14px;margin-bottom:12px;background:var(--bg-inset);color:var(--text-secondary)}
.wb-export-state.working{background:var(--accent-soft);color:var(--accent)}
.wb-export-state.warning{background:#FEF3C7;color:#92400E}
.wb-export-state.ready{background:#ECFDF3;color:#166534}
:root[data-theme=dark] .wb-export-state.warning{background:rgba(245,158,11,.14);color:#FCD34D}
:root[data-theme=dark] .wb-export-state.ready{background:rgba(34,197,94,.14);color:#86EFAC}
.wb-kinds{display:grid;gap:8px}
.wb-kind{display:flex;align-items:center;gap:12px;padding:14px 16px;border:1px solid var(--border);border-radius:16px;background:var(--bg-surface)}
.wb-kind-main{display:flex;align-items:center;gap:12px;flex:1;min-width:0;cursor:pointer}
label.wb-kind{cursor:pointer}
.wb-kind input[type=checkbox]{width:20px;height:20px;flex:none;accent-color:var(--accent)}
.wb-kind-text{display:flex;flex-direction:column;gap:2px;min-width:0}
.wb-kind-text strong{font-size:15px}
.wb-kind-text small{color:var(--text-secondary);font-size:12.5px;overflow-wrap:anywhere}
.wb-kind select{flex:0 1 220px;min-width:0}
.wb-kind:has(input:checked){border-color:var(--accent);background:var(--accent-soft)}
.wb-kind.unavailable{background:var(--bg-inset);border-style:dashed}
.wb-kind.unavailable strong{color:var(--text-tertiary)}
.wb-export-after{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:12px;padding:12px 14px;border-radius:14px;background:var(--bg-inset)}
.wb-export-after[hidden]{display:none}

@media(max-width:850px){.wb-hero{flex-direction:column;align-items:stretch}.wb-hero-actions .button.big{flex:1}.wb-bar label{flex:1 1 100%}.wb-bar select,.wb-bar .wb-template-pick select{max-width:none;flex:1}.wb-kind{flex-wrap:wrap}.wb-kind select{flex-basis:100%}.wb-more-panel{position:fixed;left:16px;right:16px;top:auto;bottom:16px;width:auto}}

/* 收录库：搜索常驻，其余条件收进“筛选” */
.collection-filters{align-items:flex-start}
.collection-more-filters{flex:1 1 100%}
.collection-more-filters>summary{cursor:pointer;display:inline-flex;align-items:center;gap:6px;padding:7px 12px;border-radius:10px;border:1px solid var(--border);font-size:13px;font-weight:650;color:var(--text-secondary)}
.collection-more-filters[open]>summary{background:var(--bg-inset);color:var(--text-primary)}
.collection-more-grid{display:flex;flex-wrap:wrap;gap:12px 16px;align-items:flex-end;margin-top:12px}

/* 学生档案：列表与详情在前，登记测验、班级常错题、备份等低频功能在后（折叠） */
.student-view{display:flex;flex-direction:column}
.student-view>*{order:5}
.student-view>.page-heading{order:0}
.student-view>.student-filters{order:1}
.student-view>#student-status{order:2}
.student-view>.student-workspace{order:3}
.student-view>.student-import{order:4}
.student-view>.cohort-panel{order:4}
.student-view>.student-guide{order:6}
.student-view>.student-backup-box{order:7}
.student-backup-box{margin-top:16px;border:1px solid var(--border);border-radius:16px;background:var(--bg-surface);padding:4px 16px}
.student-backup-box>summary{cursor:pointer;display:flex;gap:12px;align-items:baseline;padding:12px 0}
.student-backup-box>summary span{color:var(--text-secondary);font-size:13px}
.student-view>.student-import,.student-view>.cohort-panel{margin-top:16px}

/* 错题练习 */
.practice-step .dropzone.compact{padding:22px 18px;min-height:0}
.practice-mode{margin:4px 0 8px}
.practice-source-row{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-top:10px}
.practice-source-row select{flex:1 1 200px;min-width:0}
.practice-columns-box{margin-top:10px}
.practice-columns-box>summary,.student-practice-ledger>summary{cursor:pointer;font-weight:650;color:var(--text-secondary)}
.student-practice-ledger{margin-top:18px;padding:16px 22px}
.student-practice-ledger[open]>summary{margin-bottom:12px}
.practice-table tr.needs-review td{background:#FEF9C3}
:root[data-theme=dark] .practice-table tr.needs-review td{background:rgba(250,204,21,.12)}
.practice-table td small{color:var(--text-secondary)}
.practice-issue{color:#92400E}
:root[data-theme=dark] .practice-issue{color:#FCD34D}
#practice-results .section-heading{flex-wrap:wrap;gap:10px}
