/* Workspace refinement: shared rhythm, usable narrow layouts and compact controls. */
.admin-mode{--line:#e0e5dc;--muted:#687267;background:#f5f7f3;font-size:14px;line-height:1.6}
.admin-mode .admin-main{max-width:1600px;padding:24px 36px 48px}
.admin-mode .admin-top{font-size:12px;color:#737c71}
.admin-mode .admin-heading{margin:24px 0;gap:20px;align-items:center}
.admin-mode .admin-heading h1{font-size:28px;line-height:1.35;margin:0 0 7px;font-weight:650;overflow-wrap:anywhere}
.admin-mode .admin-heading p{max-width:780px;line-height:1.65}
.admin-mode .admin-heading .actions:empty{display:none}
.admin-mode .admin-heading .actions{flex-shrink:0}
.admin-mode .admin-sidebar{padding:26px 18px}
.admin-mode .admin-sidebar h2{font-size:16px}
.admin-mode .workspace-nav{gap:4px;margin-top:24px}
.admin-mode .workspace-nav small{margin:15px 12px 5px}
.admin-mode .workspace-nav button{min-height:42px;padding:10px 14px;font-size:14px}
.admin-mode .workspace-nav button:hover{background:#e7ede2}
.admin-mode button{min-height:40px;padding:9px 15px;border-radius:6px;font-size:13px;line-height:1.55}
.admin-mode button.secondary{background:#f0f3ed;color:#364a3d;border:1px solid #e2e7dd}
.admin-mode button.secondary:hover{background:#e6edde;border-color:#cad6c4}
.admin-mode button:disabled{cursor:not-allowed;opacity:.45}
.admin-mode input,.admin-mode select,.admin-mode textarea{font-size:14px;border-color:#c1cbb9;border-radius:6px;min-height:40px;padding:9px 11px}
.admin-mode textarea{line-height:1.65;resize:vertical}
.admin-mode input[type=checkbox]{accent-color:#285940}
.admin-mode :is(input,textarea,button,summary,a):focus-visible{outline:2px solid #42744e;outline-offset:3px}
.admin-mode .admin-data{padding:22px 24px;margin:0 0 20px;border-radius:9px}
.admin-mode .admin-data+.admin-data{margin-top:20px}
.admin-mode .admin-data h2{font-size:17px;font-weight:650}
.admin-mode .admin-data .section-title{gap:14px;flex-wrap:wrap}
.admin-mode .section-title>span{font-size:12px;color:var(--muted)}
.admin-mode .content-note{margin:12px 0;line-height:1.7}
.admin-mode .admin-data>.content-note:last-child{margin-bottom:0}
.admin-mode table{margin-top:16px;font-size:13px;line-height:1.65}
.admin-mode th,.admin-mode td{padding:12px;vertical-align:top}
.admin-mode th{font-size:12px;font-weight:500;background:#f4f6f1;white-space:nowrap}
.admin-mode td:first-child{min-width:0}
.admin-mode tbody tr:hover{background:#fafbf8}
.admin-mode td:last-child{white-space:nowrap}
.admin-mode td .admin-paper-actions{min-width:190px;gap:6px}
.admin-mode td button{min-height:34px;padding:6px 11px;font-size:12px}
.admin-mode .table-wrap{border-radius:5px}
.admin-mode .metrics{padding:20px 0;margin:0 0 20px;border-radius:9px}
.admin-mode .metrics section{padding:0 24px}
.admin-mode .metrics strong{font-size:34px;line-height:1.65;font-variant-numeric:tabular-nums}
.admin-mode .metrics small{display:block;font-size:11px;color:var(--muted)}
.admin-mode .chart{height:84px;margin:16px 0 4px}
.admin-mode .chart-item{justify-content:center}
.admin-mode progress{accent-color:#285940}
.admin-mode .product-stat-row{gap:12px 24px;padding:14px 0}
.admin-mode .product-stat-row:last-child{border-bottom:0;padding-bottom:0}
.admin-mode .report-pager{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:16px;font-size:12px;color:var(--muted)}
.admin-mode .report-pager>div{display:flex;gap:8px}
.admin-mode .admin-data{scroll-margin-top:90px}
.admin-mode .library-filters{gap:12px;margin:16px 0}
.admin-mode .library-filters label{gap:4px;min-width:0}
.admin-mode .library-filters label>input,.admin-mode .library-filters label>select{margin-top:0}
.admin-mode .question-browser{grid-template-columns:156px minmax(0,1fr);gap:20px;margin-top:18px}
.admin-mode .question-results .library-filters{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px 12px;margin:0 0 14px}
.admin-mode .question-tree{padding-right:14px}
.admin-mode .question-tree h3{font-size:14px}
.admin-mode .browser-actions{gap:6px}
.admin-mode .browser-actions button{font-size:12px;min-height:34px;padding:6px 10px}
.admin-mode .question-result{padding:14px 0;gap:12px}
.admin-mode .question-result .result-content{gap:4px}
.admin-mode .question-result:has(input:checked){background:#f3f7ed}
.admin-mode .question-result button{min-height:34px;padding:6px 10px}
.admin-mode .question-snippet{line-height:1.6}
.admin-mode details.import-panel{padding:0}
.admin-mode .import-panel>summary{display:flex;align-items:center;gap:14px;padding:17px 24px;cursor:pointer;list-style:none;font-size:15px;font-weight:600}
.admin-mode .import-panel>summary::-webkit-details-marker{display:none}
.admin-mode .import-panel>summary small{font-size:12px;color:var(--muted);font-weight:400}
.admin-mode .import-panel>summary::after{content:'展开';margin-left:auto;color:#285940;font-size:12px;font-weight:500}
.admin-mode .import-panel[open]>summary::after{content:'收起'}
.admin-mode .import-panel[open]>summary{border-bottom:1px solid var(--line)}
.admin-mode .import-panel-body{padding:18px 24px}
.admin-mode .import-panel-body .library-filters{margin-top:0}
.admin-mode .import-panel-body .content-note{margin-bottom:0}
.admin-mode .catalog-panel{padding:0}
.admin-mode .catalog-toolbar{padding:20px 24px}
.admin-mode .catalog-counts{padding:10px 24px}
.admin-mode .catalog-exam{margin:0;padding:0;border-radius:0;border-width:0 0 1px}
.admin-mode .catalog-exam summary{padding:14px 24px;min-height:66px}
.admin-mode .catalog-exam-body{padding:0 24px 16px 76px}
.admin-mode .catalog-subject-row{min-height:54px;padding:9px 0}
.admin-mode .knowledge-tree>p{padding:28px 16px;text-align:center;background:#f7f9f4;color:var(--muted);border-radius:6px;margin-top:18px}
.admin-mode .product-form{gap:18px;max-width:760px}
.admin-mode .product-form>label:not(.check){display:grid;gap:6px;margin:0;max-width:640px}
.admin-mode .product-form input,.admin-mode .product-form textarea{max-width:none;margin:0}
.admin-mode .product-form textarea{min-height:90px}
.admin-mode .product-form fieldset{margin:0;border:1px solid var(--line);border-radius:6px;padding:14px 16px}
.admin-mode .product-form legend{font-size:13px;color:#586353;padding:0 6px}
.admin-mode .product-form .check{display:flex;align-items:center;gap:8px}
.admin-mode #product-schedule{grid-template-columns:repeat(2,minmax(0,1fr));max-width:840px}
.admin-mode #product-schedule>button,.admin-mode #product-schedule>[role=status]{grid-column:1/-1}
.admin-mode #dialog{width:min(660px,calc(100% - 32px));padding:0;max-height:90dvh;border-radius:12px;box-shadow:0 24px 70px #18261c30}
.admin-mode #dialog.wide-editor{width:min(1120px,calc(100% - 32px))}
.admin-mode #dialog-content{padding:24px;overscroll-behavior:contain}
.admin-mode #dialog-content>h2{position:sticky;top:-24px;z-index:3;background:#fff;margin:-24px -24px 20px;padding:20px 74px 18px 24px;border-bottom:1px solid var(--line);font-size:21px;line-height:1.4}
.admin-mode #dialog-close-top{top:14px;right:18px;width:34px;height:34px;min-height:34px;font-size:22px;border-radius:50%}
.admin-mode #dialog>form{margin:0;padding:12px 24px;border-top:1px solid var(--line);display:flex;justify-content:flex-end;background:#fafbf8}
.admin-mode .qe-footer{bottom:-24px;padding:14px 0;margin-top:18px;background:#fff;z-index:2;border-top:1px solid var(--line)}
.admin-mode .qe-sidebar{padding:20px;background:#f7f9f4}
.admin-mode .qe-section{padding:0 0 22px}
.admin-mode .qe-section:last-child{padding-bottom:0}
.admin-mode .qe-field{margin:14px 0}
.admin-mode .qe-main{padding:20px 22px 0 0}
.admin-mode .question-picker-footer{bottom:-24px;margin-top:16px;padding:12px 0}
.admin-mode .paper-preview-dialog{width:min(860px,calc(100% - 24px));max-height:90dvh;padding:0}
.admin-mode .paper-preview-dialog .dialog-body{padding:24px}
.admin-mode .nested-close{position:sticky;top:0;margin-left:auto;display:block!important;width:36px;min-height:36px;padding:0!important;border-radius:50%;z-index:2}
.admin-mode #save-paper{position:sticky;bottom:16px;width:auto;padding:11px 28px;box-shadow:0 3px 14px #183d2925;z-index:2}
@media(max-width:1150px){
 .admin-mode .admin-main{padding:24px}
 .admin-mode .question-results .library-filters{grid-template-columns:repeat(3,minmax(0,1fr))}
 .admin-mode .question-browser{grid-template-columns:140px minmax(0,1fr);gap:16px}
}
@media(min-width:801px){.admin-mode .admin-heading{flex-direction:row}}
@media(max-width:800px){
 .admin-mode .preview-bar{height:64px;min-height:64px;flex-wrap:nowrap;padding:10px 16px}
 .admin-mode .preview-bar #environment{display:none}
 .admin-mode .preview-bar>a:last-child{font-size:11px;white-space:nowrap;margin-left:auto}
 .admin-mode .brand img{width:28px;height:28px}
 .admin-mode .brand img.wordmark{width:94px;height:auto}
 .admin-mode .admin-sidebar{padding:7px 10px}
 .admin-mode .workspace-nav{margin:0;gap:3px}
 .admin-mode .workspace-nav button{min-height:38px;padding:8px 11px;font-size:12px}
 .admin-mode .admin-main{padding:18px 16px 32px}
 .admin-mode .admin-heading{margin:18px 0 22px;align-items:flex-start;gap:14px}
 .admin-mode .admin-heading h1{font-size:25px}
 .admin-mode .admin-data{padding:18px 16px;margin-bottom:16px;scroll-margin-top:70px}
 .admin-mode .admin-data+.admin-data{margin-top:16px}
 .admin-mode .question-browser{display:block}
 .admin-mode .question-tree{padding:0 0 12px;margin-bottom:14px;max-height:150px}
 .admin-mode .question-tree h3{display:none}
 .admin-mode .question-tree small{margin-top:6px}
 .admin-mode .question-results .library-filters{grid-template-columns:repeat(2,minmax(0,1fr))}
 .admin-mode .catalog-panel{padding:0}
 .admin-mode .catalog-toolbar,.admin-mode .import-panel-body{padding:18px 16px}
 .admin-mode .catalog-exam summary{padding:12px 16px}
 .admin-mode .catalog-exam-body{padding:0 16px 16px}
 .admin-mode .import-panel>summary{padding:15px 16px;gap:10px}
 .admin-mode .import-panel>summary small{display:none}
 .admin-mode #dialog-content{padding:20px}
 .admin-mode #dialog-content>h2{top:-20px;margin:-20px -20px 18px;padding:19px 62px 16px 20px;font-size:20px}
 .admin-mode #dialog>form{padding:10px 20px}
 .admin-mode .qe-main{padding:0}
 .admin-mode .qe-sidebar{border:0;border-radius:6px;padding:18px;margin:16px 0}
 .admin-mode .qe-footer,.admin-mode .question-picker-footer{bottom:-20px}
 .admin-mode #product-schedule{grid-template-columns:1fr}
 .admin-mode .metrics section{padding:0 12px}
 .admin-mode .metrics p{font-size:11px}
 .admin-mode .metrics strong{font-size:28px}
 .admin-mode .metrics small{font-size:10px;line-height:1.6}
}
@media(max-width:600px){
 .admin-mode .responsive-records,.admin-mode .responsive-records tbody{display:block;width:100%}
 .admin-mode .responsive-records thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
 .admin-mode .responsive-records tr{display:block;border-bottom:1px solid var(--line);padding:12px 0}
 .admin-mode .responsive-records td{display:flex;justify-content:space-between;gap:16px;max-width:none!important;min-width:0!important;border:0;padding:5px 0;white-space:normal;text-align:right;overflow-wrap:anywhere}
 .admin-mode .responsive-records td::before{content:attr(data-label);font-size:12px;color:var(--muted);flex:0 0 76px;text-align:left;font-weight:400}
 .admin-mode .responsive-records td:last-child{flex-wrap:wrap;align-items:center;padding-top:10px}
 .admin-mode .responsive-records td .admin-paper-actions{min-width:0;flex:1;justify-content:flex-end}
 .admin-mode .responsive-records td.library-title{display:block;text-align:left}
 .admin-mode .responsive-records td.library-title::before{display:block;margin-bottom:5px}
 .admin-mode .responsive-records td.library-title small{margin-top:5px}
 .admin-mode .responsive-records td input{width:84px}
 .admin-mode .report-pager{align-items:flex-start;flex-direction:column}
 .admin-mode .report-pager>div{width:100%;justify-content:space-between}
 .admin-mode .library-filters>label{flex:1 1 120px}
 .admin-mode .admin-heading .actions{width:100%;display:flex}
 .admin-mode .admin-heading .actions button{flex:1}
 .admin-mode .question-result{align-items:flex-start;gap:8px}
 .admin-mode .question-result>label{flex-basis:100%}
 .admin-mode .question-result>button{margin-left:32px}
 .admin-mode .question-pagination{font-size:11px}
 .admin-mode .question-pagination button{padding:7px 10px;min-height:38px}
 .admin-mode .catalog-toolbar{flex-direction:row;align-items:center}
 .admin-mode .catalog-toolbar button{width:auto;white-space:nowrap}
 .admin-mode .catalog-toolbar p{max-width:170px}
 .admin-mode .qe-footer{display:block}
 .admin-mode .qe-actions{margin-top:8px;display:flex}
 .admin-mode .qe-actions button{flex:1}
}
/* A form already supplies its own cancel/save row. */
.admin-mode #dialog:has(#question-form)>form{display:none}
.admin-mode .product-form .search-select{margin-top:0}
@media(max-width:600px){
 .admin-mode .qe-section-heading{display:block}
 .admin-mode .qe-section-heading h3{margin-bottom:12px}
 .admin-mode .qe-type{display:flex;width:100%;align-items:center;gap:12px}
 .admin-mode .qe-type .search-select{flex:1;min-width:0;margin:0}
 .admin-mode .responsive-records td .admin-paper-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
 .admin-mode .responsive-records td .admin-paper-actions button{width:100%;padding:7px 5px;font-size:11px}
}
/* Statistics filters and direct paper ordering. */
.admin-mode .report-filters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:18px 0;align-items:end}
.admin-mode .report-filters label{margin:0;font-size:12px;min-width:0}
.admin-mode #accuracy-filters{grid-template-columns:repeat(2,minmax(0,280px))}
.admin-mode .report-filter-actions{display:flex;gap:8px}
.admin-mode .record-product{display:block;font-size:11px;color:var(--muted);margin-top:4px}
.admin-mode #attempt-status{min-height:20px;margin-bottom:8px}
.admin-mode #attempt-total{font-variant-numeric:tabular-nums;color:#285940}
.admin-mode .paper-order-number{display:flex;align-items:center;gap:10px;min-width:64px}
.admin-mode button.paper-drag-handle{touch-action:none;user-select:none;cursor:grab;font-size:23px;line-height:1;min-height:38px;width:36px;padding:5px;background:#f2f5ed;color:#577054;border:1px solid #dae2d3}
.admin-mode button.paper-drag-handle:active{cursor:grabbing}
.admin-mode .paper-order-table tr.dragging{opacity:.45;background:#e6efdf}
.admin-mode .paper-order-table tr.drop-before{box-shadow:inset 0 3px #285940}
.admin-mode .paper-order-table tr.drop-after{box-shadow:inset 0 -3px #285940}
.admin-mode .paper-order-table td{vertical-align:middle}
@media(max-width:700px){.admin-mode .report-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-mode #accuracy-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-mode .report-filters input{min-width:0}.admin-mode .record-product{overflow-wrap:anywhere}}
@media(max-width:600px){.admin-mode .responsive-records td:has(.record-product){display:block;text-align:left}.admin-mode .responsive-records td:has(.record-product)::before{display:block;margin-bottom:3px}}
.admin-mode .paper-scope{padding:0 0 18px;margin-bottom:18px;border-bottom:1px solid var(--line)}
.admin-mode .paper-scope .data-note{margin-top:4px}
.admin-mode .paper-scope-counts{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.admin-mode .paper-scope-counts>span{padding:6px 12px;border:1px solid #dce5d6;border-radius:6px;background:#f5f8f1;color:#37503c;font-size:13px}
.admin-mode .paper-scope-counts b{margin-left:10px;font-weight:550}
.admin-mode .paper-scope-counts>span.pending{color:#856122;background:#fff8e8;border-color:#e8d8b5}
.admin-mode .picker-existing-controls{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:10px 12px;margin:0 0 14px;background:#f6f8f2;border-radius:6px}
.admin-mode .picker-existing-controls label{display:flex;gap:8px;align-items:center;margin:0;font-size:12px;cursor:pointer}
.admin-mode .picker-existing-controls input{margin:0}
.admin-mode .picker-existing-controls>span{font-size:11px;color:var(--muted)}
.admin-mode .already-in-paper,.admin-mode .newly-picked{justify-self:start;border-radius:4px;padding:2px 8px;font-size:11px;background:#edf0e8;color:#53614d}
.admin-mode .newly-picked{background:#e2edda;color:#285940}
.admin-mode #picker-selection-summary{font-size:13px;margin:0 0 9px;color:#285940;line-height:1.6}
.admin-mode #qb-list .empty strong{font-size:14px;font-weight:550}
.admin-mode .question-result:has(input:disabled){background:#fafbf8}
.admin-mode #paper-subject-form .checks,#paper-subject-choices{gap:12px 22px}
