.written-filters{display:grid;grid-template-columns:minmax(200px,2fr) repeat(3,minmax(120px,1fr)) auto;gap:12px;margin:20px 0}.written-bank table{min-width:920px}.written-bank th{white-space:nowrap}.written-stem{width:40%;min-width:260px}.written-actions{white-space:nowrap}.written-actions button{border:0;background:transparent;padding:5px 7px;min-height:32px}.written-danger{color:#c54646}.written-status{color:#27825f}.written-status.inactive{color:#77859a}#questionEditorDialog{width:760px;padding:0}#questionEditorDialog .question-editor{border:0;margin:0;padding:24px}#questionEditorDialog .question-save{position:sticky;bottom:-24px;right:auto;width:auto;margin:20px -24px -24px;padding:16px 24px;border-radius:0;box-shadow:none}#questionEditorDialog .two{grid-template-columns:repeat(2,minmax(0,1fr))}.written-word-import{padding-bottom:18px;margin-bottom:18px;border-bottom:1px solid #e4e9f0}.written-word-import label{margin-top:0}@media(max-width:1000px){.written-filters{grid-template-columns:repeat(2,minmax(0,1fr))}}
.written-bank table{font-size:14px}.written-bank th{font-size:13px}.written-bank td{line-height:1.7}
/* Import uses the shared Element Plus dialog and upload components. */
body.pc-vi .written-import-dialog{padding:0;border-radius:12px;max-width:calc(100vw - 40px);max-height:calc(100dvh - 64px);display:flex;flex-direction:column;overflow:hidden}
body.pc-vi .written-import-dialog .el-dialog__header{padding:20px 24px;margin:0;border-bottom:1px solid var(--pc-border);flex-shrink:0}
body.pc-vi .written-import-dialog .el-dialog__title{font-size:20px;font-weight:600}
body.pc-vi .written-import-dialog .el-dialog__headerbtn{top:16px;right:16px;width:32px;height:32px;min-height:32px;padding:0;border:0;background:transparent}
body.pc-vi .written-import-dialog .el-dialog__body{padding:20px 24px;overflow:auto;min-height:0}
body.pc-vi .written-import-dialog .el-dialog__footer{padding:16px 24px;border-top:1px solid var(--pc-border);display:flex;align-items:center;gap:8px;flex-shrink:0}
.wi-body .el-radio-group{margin-bottom:20px}.wi-body .el-radio-button__inner{padding:10px 16px}.wi-body label{margin:0}
.wi-upload .el-upload{width:100%}.wi-upload .el-upload-dragger{padding:28px 20px;border-radius:8px;background:var(--pc-bg);border:1px dashed #cbd5e1}.wi-upload .el-upload-dragger:hover{border-color:var(--pc-primary)}
.wi-upload-icon{width:32px;height:32px;color:var(--pc-primary);margin-bottom:12px}.wi-upload-title{font-size:14px;color:var(--pc-text)}.wi-upload-title span{color:var(--pc-primary);margin-left:4px}.wi-upload-hint{color:var(--pc-muted);font-size:12px;margin-top:8px}.wi-body .el-upload__input{display:none!important}.wi-body .el-upload-list{margin:8px 0 0}.wi-body .el-alert{margin-top:16px}.wi-body .el-alert__title{font-size:13px;line-height:1.6}
.wi-source{margin-top:20px}.wi-source summary{font-size:13px;color:var(--pc-muted)}.wi-format{display:flex;align-items:center;gap:12px;margin:16px 0 12px}.wi-format .el-select{width:120px}.wi-help{font-size:12px;line-height:1.7;color:var(--pc-muted);margin-bottom:0}.wi-footer-hint{margin-right:auto;color:var(--pc-muted);font-size:12px}.wi-preview{margin-top:20px}.wi-preview-head{display:flex;justify-content:space-between;font-size:13px}.wi-preview-head>span{color:var(--pc-muted)}.wi-preview article{padding:12px 0;border-bottom:1px solid var(--pc-border)}.wi-preview article>div{display:flex;gap:8px;align-items:center;font-size:12px;color:var(--pc-muted)}.wi-preview p{margin:8px 0 0;font-size:14px;line-height:1.6}.wi-preview .wi-error{color:var(--pc-danger,#c54646)}
/* Neutralize the legacy page's bare header/input rules inside this dialog. */
body.pc-vi .written-import-dialog header.el-dialog__header{background:#fff;color:var(--pc-text);display:block;gap:0}
body.pc-vi .written-import-dialog .el-dialog__headerbtn{color:var(--pc-muted);line-height:32px}
body.pc-vi .written-import-dialog .el-radio-button__original-radio{position:absolute;opacity:0;width:0;height:0;padding:0;border:0}
body.pc-vi .written-import-dialog .el-radio-button__inner{background:#fff;color:var(--pc-muted);border-color:var(--pc-border)}
body.pc-vi .written-import-dialog .el-radio-button.is-active .el-radio-button__inner{background:var(--pc-primary-soft);color:var(--pc-primary);border-color:var(--pc-primary);box-shadow:-1px 0 0 0 var(--pc-primary)}
body.pc-vi .written-import-dialog .el-upload-list__item{color:var(--pc-text)}
/* Question composition: task order, shared dialog, scoped legacy isolation. */
body.pc-vi .question-compose{padding:0;max-width:calc(100vw - 40px);max-height:calc(100dvh - 48px);border-radius:12px;display:flex;flex-direction:column;overflow:hidden}
body.pc-vi .question-compose header.el-dialog__header{background:white;color:var(--pc-text);display:block;margin:0;padding:20px 24px;border-bottom:1px solid var(--pc-border);flex-shrink:0}
body.pc-vi .question-compose .el-dialog__title{font-size:20px;font-weight:600}body.pc-vi .question-compose .el-dialog__headerbtn{top:16px;right:16px;min-height:32px;width:32px;height:32px;border:0;padding:0;background:transparent;color:var(--pc-muted)}
body.pc-vi .question-compose .el-dialog__body{padding:20px 24px;overflow:auto;min-height:0}body.pc-vi .question-compose .el-dialog__footer{display:flex;align-items:center;gap:8px;padding:16px 24px;border-top:1px solid var(--pc-border);flex-shrink:0}
body.pc-vi .question-compose .qc-editor{padding:0;margin:0;border:0}.qc-field{min-width:0}.qc-editor>.qc-field,.qc-answers{margin-top:20px}.qc-editor label{display:block;margin:0 0 8px;font-size:13px;color:var(--pc-text);line-height:20px}.qc-required{color:#c54646}.qc-type-row{display:grid;grid-template-columns:1fr 180px;gap:16px}.qc-editor .el-select{width:100%}.qc-editor .el-input-number{width:100%}
body.pc-vi .question-compose .el-select__wrapper,body.pc-vi .question-compose .el-input__wrapper{min-height:40px}
body.pc-vi .question-compose .el-input__inner{border:0;background:transparent;padding:0;border-radius:0;box-shadow:none;height:38px;font-size:14px;outline:0}
body.pc-vi .question-compose .el-textarea__inner{font-size:14px;line-height:1.6;padding:10px 12px;min-height:0;resize:vertical}
.qc-label-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.qc-label-row label{margin:0}.qc-label-row>span,.qc-help,.qc-optional{font-size:12px;color:var(--pc-muted)}.qc-optional{margin-left:12px;font-weight:400}.qc-help{margin:6px 0 0;line-height:1.6}
.qc-option{display:flex;align-items:center;gap:10px;margin-bottom:8px}.qc-option>.el-input{flex:1;min-width:0}.qc-option>.el-button{flex-shrink:0;width:32px;padding:0;font-size:20px;color:var(--pc-muted)}
body.pc-vi .question-compose .qc-option .el-radio,body.pc-vi .question-compose .qc-option .el-checkbox{margin:0;height:40px;display:inline-flex;align-items:center;flex-shrink:0;width:46px}
body.pc-vi .question-compose .el-radio__original,body.pc-vi .question-compose .el-checkbox__original{position:absolute;opacity:0;width:0;height:0;padding:0;border:0}
.qc-option .el-radio__label,.qc-option .el-checkbox__label{padding-left:8px;font-size:14px}.qc-add{margin-top:0}.qc-properties{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:16px;padding-top:20px;border-top:1px solid var(--pc-border);margin-top:20px}.qc-state{margin-right:auto;font-size:12px;color:var(--pc-muted)}.qc-state.changed{color:#a96716}.qc-errors{margin-top:16px}.qc-errors p{font-size:12px;line-height:1.6;margin:2px 0}.qc-errors .el-alert__title{font-size:13px}

body.pc-vi .wi-advanced{float:right;height:32px;margin:0;font-size:13px}body.pc-vi .wi-body>.el-radio-group{margin-bottom:16px}.wi-body>.el-radio-group .el-radio-button__inner{padding:8px 20px}
/* ui27: isolate legacy nested editor padding; dialog owns its own gutters. */
body.pc-vi .question-compose .question-editor{padding:0;margin:0;border:0;border-radius:0}
body.pc-vi :is(.question-compose,.written-import-dialog) .el-dialog__header{padding:16px 20px}
body.pc-vi :is(.question-compose,.written-import-dialog) .el-dialog__title{font-size:18px;line-height:26px}
body.pc-vi :is(.question-compose,.written-import-dialog) .el-dialog__body{padding:18px 20px}
body.pc-vi :is(.question-compose,.written-import-dialog) .el-dialog__footer{padding:12px 20px;gap:8px}
body.pc-vi .written-bank .written-actions button{height:28px;min-height:28px;border-radius:6px;font-weight:400;padding:0 8px}
