*{box-sizing:border-box}html,body{margin:0;min-height:100%;color:#333;background:#e6e9ef;font:13px Arial,"宋体",SimSun,sans-serif}a{color:#204c91;text-decoration:none}a:hover{text-decoration:underline}button,input,select,textarea{font:inherit;color:inherit}button,.button{cursor:pointer;border:1px solid #98a9b9;background:linear-gradient(#fff,#dbe5eb);padding:4px 13px;line-height:20px;border-radius:2px;white-space:nowrap}button:hover{border-color:#307fb1;background:#e5f3ff}button:disabled{opacity:.5;cursor:not-allowed}input:not([type=checkbox]):not([type=radio]),select,textarea{border:1px solid #adb9c6;background:white;padding:4px 6px;min-height:27px;border-radius:0}input:focus,textarea:focus,select:focus{outline:1px solid #298fc4}input[type=checkbox],input[type=radio]{vertical-align:middle}textarea{resize:vertical;min-height:80px;line-height:1.7}h1,h2,h3,p{margin:0}h2{font-size:16px}h3{font-size:14px}.brand{height:67px;background:linear-gradient(#516d86 0%,#18364c 60%,#294b61 64%,#a9c3d4 85%,#f2f7f9);display:flex;align-items:flex-start;padding:13px 26px;color:white;font:bold 21px "宋体";letter-spacing:2px;border-bottom:1px solid #809caf}.brand .mark{font-size:28px;color:#ffe265;margin-right:14px;line-height:27px;text-shadow:2px 2px #112c46}.brand small{display:block;font-size:11px;letter-spacing:1px;font-weight:normal;margin-top:5px;color:#dfeaf2}.brand .account{margin-left:auto;font:12px Arial;letter-spacing:0;padding-top:8px}.brand a{color:white}.login-wrap{margin:42px auto 20px;max-width:990px;min-height:360px;display:grid;grid-template-columns:335px 1fr;background:#f5f6fb;border:1px solid #b8c9d5;box-shadow:0 2px 5px #9eb3c0}.login-box{padding:24px 26px;border-right:1px solid #d1dbe4;background:linear-gradient(110deg,#fff,#f1f5f9)}.login-box h2{font-size:16px;color:#365e76;text-align:center;margin-bottom:24px;font-weight:normal}.login-row{display:flex;align-items:center;gap:6px;margin:13px 0}.login-row>label{width:60px;text-align:right;flex-shrink:0}.login-row input{width:180px}.login-row input.short{width:80px}.captcha{width:105px;height:34px;cursor:pointer;vertical-align:middle}.actions{display:flex;align-items:center;justify-content:center;gap:8px;padding:14px 0;flex-wrap:wrap}.login-notes{padding:28px 30px;font-size:13px;line-height:2.1}.login-notes h3{font-weight:normal;color:#4f5867;margin-bottom:10px}.red,.required{color:#d53030}.blue{color:#174ca0}.green{color:#238648}.muted{color:#75828e}.small{font-size:12px}.login-footer{border-top:7px solid #294b61;margin:30px 0 0;padding:15px;text-align:center;color:#687a8b;font-size:12px}.form-page{max-width:1040px;margin:24px auto;background:white;padding:20px 30px;border:8px solid #e0e7f2;box-shadow:0 0 0 1px white}.page-title{text-align:center;color:#24446d;font-weight:bold;font-size:16px;margin:4px 0 18px}.section-title{font-weight:bold;background:#e2e8f2;color:#344d67;padding:5px 9px;border:1px solid #d4dce6;margin-top:14px}.section-title.red{color:#c02929}.form-table,.grid{width:100%;border-collapse:collapse;table-layout:fixed;background:white}.form-table th,.form-table td{padding:6px 9px;border:1px solid #dbe0e6;text-align:left;font-weight:normal;overflow-wrap:anywhere;vertical-align:middle}.form-table th{background:#f4f6f9;width:175px;text-align:right}.form-table input:not([type=checkbox]):not([type=radio]),.form-table select{max-width:100%;width:280px}.form-table textarea{width:100%}.hint{color:#ce3434;font-size:12px;line-height:1.7;margin-top:4px}.notice{padding:12px 16px;background:#f4f6fb;border:1px solid #d4dcea;line-height:1.9;white-space:pre-wrap}.notice.warning{background:#fffbed;border-color:#eadcae;color:#986d28}.notice.error{background:#fff2f2;border-color:#ecb1b1;color:#b42a2a}.shell{display:grid;grid-template-columns:185px 1fr;min-height:calc(100vh - 67px);background:white}.sidebar{background:#f6f8fa;border-right:1px solid #b9cfdd;padding:12px 8px}.sidebar h3{font-size:12px;background:linear-gradient(#ecf6fc,#bfd8e9);color:#245c7c;padding:7px 8px;margin:9px 0 4px;border:1px solid #b5cbdc}.sidebar a{display:block;line-height:28px;padding:0 9px;font-size:12px}.sidebar a.active{background:#deedf7;color:#c9252c;font-weight:bold}.main{padding:16px 22px;min-width:0}.breadcrumb{background:#eff5fa;border-bottom:1px solid #c9d9e6;padding:8px 12px;color:#627e96;margin-bottom:14px}.grid th,.grid td{padding:8px;border:1px solid #d6e0e9;text-align:left;overflow-wrap:anywhere;line-height:1.6}.grid th{background:linear-gradient(#edf4fb,#d9e8f5);font-weight:normal;color:#2d526e}.grid tbody tr:nth-child(even){background:#f8fafc}.grid tbody tr:hover{background:#edf7fe}.grid .empty{text-align:center;height:105px;color:#758592}.grid td .link{margin-right:10px;padding:0;border:0;background:transparent;color:#175f9f;line-height:24px}.toolbar{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:12px 0}.toolbar input{width:225px}.toolbar select{max-width:320px}.pager{display:flex;justify-content:flex-end;align-items:center;gap:10px;padding:14px 0;color:#738494}.status{font-size:12px}.steps{display:flex;border:1px solid #bdcfdd;background:#edf4fa;margin:0 0 18px;list-style:none;padding:0}.steps li{padding:10px 7px;border-right:1px solid #c8d9e5;flex:1;text-align:center;font-size:12px;color:#57738e}.steps .active{color:#bb3030;background:#e0eefa;font-weight:bold}.photo-box{text-align:center;background:#f4f4fc;border:1px solid #bfc8d9;margin:18px auto;padding:24px;max-width:520px;min-height:255px}.photo-box img{max-height:260px;max-width:100%}.photo-portrait{width:105px;height:140px;object-fit:contain}.photo-actions{display:flex;justify-content:center;gap:7px;flex-wrap:wrap}.bar{padding:8px 12px;color:white;background:linear-gradient(#44b7e5,#2297c8);font-size:14px}.admin-page{background:white}.admin-page .brand{background:linear-gradient(#39b1e4,#1472ac);height:60px;padding:15px 20px;font-family:"Microsoft YaHei",sans-serif;font-size:21px}.admin-page .brand .mark{color:#edfaff;font-size:26px}.admin-page .shell{grid-template-columns:202px 1fr;min-height:calc(100vh - 60px)}.admin-page .sidebar{background:#f8fafc;padding:8px 7px}.admin-page .sidebar h3{background:#eaf3fa;border:none;border-bottom:1px solid #d5e4ed}.admin-page .sidebar a{color:#5e6972;line-height:27px}.admin-page .sidebar a.active{background:#e3f2fa;color:#1b91cd;border-left:3px solid #2c9ecf}.admin-page .main{padding:14px 18px}.admin-page .grid th{background:#e1f1fa;color:#42758e;border-color:#d5e9f4}.admin-page .grid td{border-color:#edf0f2;font-size:12px}.admin-page button.primary,.primary{background:linear-gradient(#3ca8dd,#1b83bd);color:white;border-color:#2686b4}.admin-page button.success{background:#62b45c;border-color:#55a14e;color:white}.admin-page button.danger{background:#df6665;border-color:#d45857;color:white}.admin-page button.orange{background:#e8ae4a;color:white;border-color:#d29b3e}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:13px;margin-bottom:22px}.stat{background:#f5faff;border:1px solid #d6e9f5;padding:18px;color:#4783a6}.stat b{display:block;font-size:26px;font-weight:normal;margin:8px 0}.admin-editor{width:min(820px,80vw);max-height:70vh;overflow:auto;padding:3px}.admin-editor .form-table th{width:180px}.dialog-wide{max-height:65vh;overflow:auto;width:min(900px,82vw)}.tabs{display:flex;gap:6px;border-bottom:1px solid #cbdce8;padding-bottom:9px;margin-bottom:16px}.tabs button.active{color:#1678b3;background:#dceffb}.print-sheet{max-width:960px;padding:24px;background:white;margin:20px auto;font:14px "宋体";line-height:1.7}.print-sheet h1{font-size:24px;text-align:center;margin-bottom:22px}.print-sheet table{table-layout:auto}.print-sheet .form-table th{width:160px}.loading{text-align:center;padding:75px 20px;color:#51718c}.capture-page{background:white;font:15px Arial,"Microsoft YaHei",sans-serif}.capture{max-width:440px;margin:0 auto;padding:14px 16px 88px;min-height:100vh}.capture h1{text-align:center;font-size:16px;font-weight:500;padding:3px 0 17px;border-bottom:1px solid #e7e7e7;margin-bottom:18px}.capture .capture-heading{color:#2684b0;background:#f3f3ff;font-size:17px;font-weight:normal;text-align:center;padding:9px;margin:16px 0}.capture .capture-guide{width:100%;display:block;margin:13px 0 24px}.capture p{line-height:1.8;color:#555}.capture .capture-tip{background:#ffe0e0;color:#bc6868;padding:6px;text-align:center;font-size:13px}.capture .bottom-actions{position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:min(440px,100%);background:white;display:flex;gap:10px;padding:15px 16px 25px;border-top:1px solid #f4f4f4}.capture .bottom-actions button{flex:1;font-size:15px;background:#6876ec;color:white;border-color:#6876ec;border-radius:4px;padding:10px 8px}.capture .bottom-actions button.secondary{background:white;color:#77808e;border-color:#adb2bf}.capture .identity{text-align:center;padding:30px 10px;line-height:2}.capture .comparison{display:flex;justify-content:center;gap:18px;margin:40px 0 20px}.capture .comparison figure{margin:0;width:125px;text-align:center}.capture .comparison img{width:125px;height:166px;object-fit:contain;background:#eef1f6}.capture figcaption{padding:8px 0;font-size:13px}.capture .result{text-align:center;font-size:17px;margin:25px 0;color:#65ae89}.capture .result.failed{color:#bfa86b}.capture .reason{padding:20px;background:#f4f3ff;margin-top:20px}.capture video{max-width:100%;background:black}.capture input[type=file]{width:100%;margin:25px 0}.capture .success-image{display:block;width:210px;margin:30px auto}.help-list{line-height:2.1;padding:12px 28px}.field-group{display:grid;grid-template-columns:1fr 1fr;gap:0}.fee-total{font-size:18px;color:#c24921;margin:15px 0}.registration-fee-total{font-family:"Microsoft YaHei","微软雅黑",sans-serif;font-weight:bold}.registration-fee-total.is-paid{color:#238648}.prewrap{white-space:pre-wrap;overflow-wrap:anywhere}.table-scroll{overflow:auto}.inline-photo{float:right;margin:8px 20px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
@media(max-width:760px){.brand{font-size:16px;padding-left:12px;letter-spacing:0}.brand small{font-size:9px}.brand .account{max-width:90px;font-size:10px}.login-wrap{margin:20px 12px;grid-template-columns:1fr}.login-box{border-right:0;border-bottom:1px solid #cbd7e2}.login-row{justify-content:center}.login-notes{padding:20px}.form-page{margin:12px 6px;padding:15px 8px}.shell,.admin-page .shell{grid-template-columns:150px 1fr}.main,.admin-page .main{padding:10px;min-width:570px}.sidebar a{padding:0 4px}.form-table th{width:115px}.steps{min-width:550px}.stats{grid-template-columns:repeat(2,1fr)}.admin-editor{width:85vw}.dialog-wide{width:85vw}.capture-page .aui_dialog{max-width:90vw}}
@media print{body{background:white}.no-print,.brand,.sidebar,.breadcrumb,.tabs,.steps,.toolbar,.pager,.actions,.aui_state_lock{display:none!important}.shell{display:block}.main{padding:0}.print-sheet{margin:0;padding:0;max-width:none}.grid th,.form-table th{background:white}.grid,.form-table{page-break-inside:auto}tr{page-break-inside:avoid}a{color:black}.print-sheet h1{font-size:22px}@page{size:A4;margin:15mm}}

.admin-page .shell{height:calc(100vh - 60px);min-height:0}.admin-page .sidebar,.admin-page .main{overflow-y:auto}.aui_content{max-width:92vw}.aui_content .notice{max-width:700px}

.board-list{border:1px solid #dfebf1;margin-bottom:18px;padding:12px}.board-list p{display:flex;padding:8px;border-bottom:1px dotted #e0e5e8}.board-list p span{margin-left:auto;color:#89969d;font-size:12px}.board-list .link{background:none;border:0;color:#3885aa}.board-list .link.red{color:#cc4e49}

[hidden]{display:none!important}.permission-grid{display:grid;grid-template-columns:repeat(3,minmax(180px,1fr));gap:6px;max-height:300px;overflow:auto;padding:12px;background:#f2f7fb}.scope-fields{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:10px}.scope-fields label{display:flex;justify-content:space-between;gap:6px}.scope-fields input,.scope-fields select{width:160px}.grant-row{border:1px solid #bdcbd6;margin-top:12px}.ticket-editor{width:min(1120px,90vw)}.ticket-editor-body{display:flex;gap:14px}.ticket-canvas-wrap{max-height:65vh;overflow:auto;background:#bec8d1;flex:1;padding:14px}#ticket-canvas{position:relative;background:white;box-shadow:0 2px 8px #607080}.design-element{position:absolute;border:1px dashed #96a7b8;box-sizing:border-box;white-space:pre-wrap;touch-action:none;cursor:move;overflow:hidden;color:#111}.design-element.selected{outline:2px solid #1670b5}.design-element table{border-collapse:collapse;width:100%;table-layout:fixed}.design-element td,.design-element th{border:1px solid #333;padding:1mm}.photo-placeholder{height:100%;display:flex;align-items:center;justify-content:center;background:#dcecf6;font-size:12px}.barcode-placeholder{font-family:monospace;letter-spacing:2px;text-align:center;font-size:24px}.barcode-placeholder small{display:block;font-size:12px;letter-spacing:0}#element-properties{width:200px;max-height:65vh;overflow:auto}#element-properties label{display:block;margin:10px 0}#element-properties input,#element-properties select,#element-properties textarea{width:100%}

#settings-form fieldset{margin:16px 0;padding:16px;border:1px solid #c2d6e2}#settings-form legend{color:#286c93;font-weight:bold;padding:0 8px}#notice-toolbar{display:flex;align-items:center;gap:8px;margin:12px 0}#notice-toolbar input[type=color]{padding:2px;vertical-align:middle;width:48px}

.brand .mark img{display:block;width:28px;height:28px;object-fit:contain}

#registration-fields .toolbar label{display:inline-flex;align-items:center;gap:6px}#registration-fields .toolbar input[type=checkbox]{width:auto;margin:0}#registration-fields .toolbar{gap:10px 14px}#registration-fields fieldset legend{padding:0 5px;color:#344d67;font-weight:bold}

/* Keep button links and filled actions legible in all interaction states. */
a.button{display:inline-block;text-decoration:none}
a.button:hover,a.button:focus{background:#d7eaf8;color:#163d64;border-color:#307fb1;text-decoration:none}
button.primary:hover:not(:disabled),.admin-page button.primary:hover:not(:disabled),a.button.primary:hover{background:linear-gradient(#248fc5,#126b9c);color:#fff;border-color:#145e89;text-decoration:none}
button.primary:active:not(:disabled),a.button.primary:active{background:#115d89;color:#fff}
button:focus-visible,a.button:focus-visible{outline:2px solid #195f96;outline-offset:2px}
button:disabled,button:disabled:hover{opacity:1;background:#e1e7ec;color:#62717f;border-color:#b5c1cb;cursor:not-allowed}

/* Candidate account controls and compact dialogs. */
.password-form{width:520px;max-width:calc(100vw - 90px)}.password-form .form-table th{width:110px}.password-form .form-table input{width:100%;max-width:100%;box-sizing:border-box}.password-form .hint{white-space:normal;line-height:1.7}.brand .account .account-password{font:inherit;color:#fff;border:1px solid #88b1c9;background:#285672;padding:4px 10px;cursor:pointer}.brand .account .account-password:hover{background:#387699}.sidebar [data-tab][hidden]{display:none!important}.start-registration{width:720px;max-width:80vw}.start-registration .notice{white-space:pre-wrap;max-height:240px;overflow:auto}
.mail-settings section{margin:20px 0;padding:16px;border:1px solid #cbd7e2}.mail-toolbar,.mail-variables{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:8px 0}.mail-toolbar[hidden]{display:none}.mail-toolbar input[type=color]{width:45px;height:28px;padding:0}.mail-editor{white-space:pre-wrap;min-height:160px;max-height:400px;overflow:auto;border:1px solid #90adc1;background:white;color:#000;font:16px/1.8 Arial;padding:14px}.mail-editor.mail-plain *{color:#000!important;font-weight:normal!important;font-style:normal!important;text-decoration:none!important}.mail-editor-hint{color:#526d7c;font-size:13px;line-height:1.7}.mail-preview{width:640px;max-width:80vw;overflow-wrap:anywhere}

.application-summary .application-photo-cell{width:130px;min-width:130px;text-align:center;padding:10px;vertical-align:middle;background:#fff}
.application-summary input,.application-summary select{width:100%;max-width:100%;box-sizing:border-box}.application-summary td{overflow-wrap:anywhere}
.application-photo{display:block;width:105px;height:140px;object-fit:contain;margin:auto}
.print-sheet .registration-print-summary{table-layout:fixed}.print-sheet .print-photo-cell{width:130px;text-align:center;vertical-align:middle;padding:8px}
.application-photo-empty{width:105px;height:140px;border:1px solid #b9cbd8;background:#f5f8fb;display:flex;align-items:center;justify-content:center;margin:auto;color:#6b7f91}
.application-status{font-family:"Microsoft YaHei","微软雅黑",sans-serif;font-weight:700}.application-status.is-draft{color:#d12222}.application-status.is-submitted{color:#1673b8}
.review-result,.review-message{font-family:"Microsoft YaHei","微软雅黑",sans-serif;font-weight:700}
.review-note{color:#000}
.review-rejection{color:#d12222;font-weight:700}
.review-approved{color:#218739}
.supplement-project{margin-top:18px}.supplement-upload{border:1px solid #d5dde7;padding:14px;line-height:2}.supplement-upload input{max-width:100%}

.capture-choice-mask{position:fixed;inset:0;z-index:1000;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;padding:20px}.capture-choice{width:410px;max-width:100%;background:white;border-radius:2px;box-shadow:0 2px 12px #0003;text-align:center;overflow:hidden}.capture-choice>p{padding:28px 16px;font-size:14px;color:#222}.capture-choice-actions{display:flex;border-top:1px solid #eee}.capture-choice-actions button{width:50%;border:0;border-right:1px solid #eee;background:white;border-radius:0;padding:12px;color:#2188bc;font-size:14px}.capture-choice-actions button:hover{background:#edf7fc;color:#146a96}.capture-choice-actions button:focus-visible{outline:2px solid #2188bc;outline-offset:-3px}.capture-choice video{max-width:100%;max-height:60vh}

.selection-fee-status{font-family:"Microsoft YaHei","微软雅黑",sans-serif;font-weight:700;font-size:18px;color:#d44d24;margin:18px 0}.selection-fee-status.is-paid{color:#218739}

.admin-page button.yellow{background:#f4ce46;border-color:#d4ac24;color:#493900}.admin-page button.yellow:hover{background:#eac036}

.review-message.review-info{color:#291ff5}
.ticket-preview-frame{display:block;width:100%;height:1140px;border:1px solid #d4dcea;margin:16px 0 0;background:#e6e9ef}
.document-print-frame{position:fixed;left:-12000px;top:0;width:1000px;height:1400px;border:0}
.candidate-seat-list>table{min-width:1200px}.candidate-seat-list>table>thead>tr>th:nth-child(-n+2){width:150px}.candidate-seat-list>table>thead>tr>th:nth-child(3){width:95px}.candidate-seat-list>table>tbody>tr>td{vertical-align:top}.candidate-seat-list .table-scroll{overflow:visible}.candidate-seat-list .grid .grid th,.candidate-seat-list .grid .grid td{padding:6px}

.stage-ineligible{color:#ff0000;font:700 20px/1.8 "Microsoft YaHei",sans-serif;text-align:center;padding:24px}
.large-editor-dialog .aui_content{width:min(1200px,90vw)!important;max-height:78vh!important;overflow:auto!important;box-sizing:border-box}
.large-editor-dialog .aui_content>div,.large-editor-dialog .admin-editor{width:100%!important;max-width:none!important;max-height:none!important;overflow:visible!important}
.large-editor-dialog .form-table{width:100%}.large-editor-dialog textarea{min-height:140px}

.dictionary-checkboxes{display:flex;flex-wrap:wrap;gap:8px 20px}.dictionary-checkboxes label{white-space:nowrap}.structured-scroll{overflow:auto}.structured-grid input{width:100%;min-width:85px;box-sizing:border-box}.structured-grid{min-width:620px}.structured-field>button{margin-top:6px}.structured-value th,.structured-value td{width:auto!important;text-align:left!important}

.column-editor{border:1px solid #b6c6d5;padding:12px;margin:12px 0}.column-editor input[type=checkbox]{width:auto;min-width:0}.column-options{display:flex;flex-direction:column;align-items:flex-start;gap:6px;margin-top:8px}.structured-grid{table-layout:auto!important}.structured-grid input:not([type=checkbox]),.structured-grid select,.structured-grid textarea{width:100%;min-width:130px;box-sizing:border-box}.structured-grid input[type=checkbox]{width:auto;min-width:0}.cell-multiselect{min-width:150px;display:flex;flex-direction:column;gap:5px}.cell-multiselect label{white-space:nowrap}.structured-value td{white-space:pre-wrap}

.candidate-welcome{font-weight:bold;display:flex;align-items:center;gap:5px;padding:0 2px;color:#245c7c;font-size:12px;line-height:20px;overflow-wrap:anywhere}
.candidate-welcome img,.candidate-clock img{flex-shrink:0}
.candidate-clock{display:inline-flex;align-items:center;gap:5px;margin-right:12px;white-space:nowrap}
.candidate-clock time{font-variant-numeric:tabular-nums}
.candidate-page .brand .account{max-width:none;flex-shrink:0}

.candidate-page .sidebar .candidate-menu-icon{width:16px;height:16px;vertical-align:middle;margin-right:5px}

.candidate-page .brand,body[data-page="register"] .brand{background:linear-gradient(#516d86 0%,#18364c 60%,#294b61 64%,#537f98 85%,#769caf 100%)}

.candidate-page .review-message{text-align:center}
.review-message-content{display:inline-flex;align-items:center;justify-content:center;gap:10px;max-width:100%}
.review-message-icon{display:block;width:56px;height:56px;flex:0 0 56px;object-fit:contain}
.review-message-text{font-size:15px;min-width:0;overflow-wrap:anywhere;text-align:center}

.registration-payment-notice{color:#000}

.super-admin-panel{border:1px solid #b9cfdd;padding:14px;margin:0 0 22px;background:#f8fbff}.super-admin-panel h3{color:#245c7c;font-size:16px;margin-bottom:8px}

/* Permissions follow the same module groups as the administration menu. */
.permission-toolbar { display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin:16px 0; }
.permission-toolbar input { width:240px; }
.permission-group { border:1px solid #bacddd; margin:12px 0; background:#fff; }
.permission-group>summary { padding:12px 16px; cursor:pointer; font-weight:bold; color:#24536e; background:#e5eff7; }
.permission-count { font-weight:normal; font-size:13px; }
.permission-group-body { padding:0 14px 10px; }
.permission-group-tools { display:flex; gap:8px; justify-content:flex-end; padding:8px 0; }
.permission-module { display:grid; grid-template-columns:210px minmax(0,1fr); border-top:1px solid #e0e7ee; padding:12px 0; gap:14px; }
.permission-module h4 { margin:0; font-size:14px; line-height:28px; color:#344c60; }
.permission-options { display:flex; flex-wrap:wrap; align-items:center; gap:10px 24px; }
.permission-options label { display:inline-flex; align-items:center; gap:5px; min-height:28px; }
.permission-options input { flex:none; }
.permission-group[hidden],.permission-module[hidden],.permission-group-tools[hidden] { display:none; }
@media(max-width:760px){.permission-module { grid-template-columns:1fr; gap:5px; }}

input.date-input.Wdate{height:auto;box-sizing:border-box;padding-right:24px;background-color:#fff;border:1px solid #a6b8cf;min-width:155px;}

/* Embedded registration tables must not inherit the outer form's 175px labels or 280px inputs. */
.structured-scroll{width:100%;max-width:100%;overflow-x:auto}
.form-table .structured-grid,.structured-grid{table-layout:fixed!important;width:100%}
.form-table .structured-grid th,.form-table .structured-grid td,.structured-grid th,.structured-grid td{width:auto;padding:5px 7px;line-height:1.4;text-align:left;vertical-align:middle}
.form-table .structured-grid th:first-child,.form-table .structured-grid th:last-child,.structured-grid th:first-child,.structured-grid th:last-child{white-space:nowrap;text-align:center}
.form-table .structured-grid input:not([type=checkbox]):not([type=radio]),.form-table .structured-grid select,.form-table .structured-grid textarea,.structured-grid input:not([type=checkbox]):not([type=radio]),.structured-grid select,.structured-grid textarea{width:100%;min-width:0;max-width:100%}
.structured-grid .cell-multiselect{min-width:0}.structured-grid .cell-multiselect label{white-space:normal;overflow-wrap:anywhere}
.form-table .structured-value,.structured-value{table-layout:auto;width:100%}.form-table .structured-value th,.structured-value th{padding:5px 7px;line-height:1.4}
/* Compact registration print layout: multiple fields per row, photo at top right. */
.print-sheet.registration-print{max-width:210mm;padding:12mm;color:#000;font:10.5pt/1.5 "宋体",SimSun,serif}
.registration-print h1{font:700 18pt/1.5 "Microsoft YaHei","微软雅黑",sans-serif;margin:0 0 7mm}
.registration-print .registration-print-grid,.registration-print .structured-value{width:100%;table-layout:fixed;border-collapse:collapse;margin:0;border:1px solid #000}
.registration-print .registration-print-grid+.registration-print-grid{margin-top:-1px}
.registration-print .registration-print-grid th,.registration-print .registration-print-grid td,.registration-print .structured-value th,.registration-print .structured-value td{border:1px solid #000;padding:2mm 1.5mm;height:8mm;vertical-align:middle;white-space:normal;overflow-wrap:anywhere;color:#000;background:#fff;line-height:1.5}
.registration-print .registration-print-grid th,.registration-print .structured-value th{text-align:center;font-weight:normal;width:auto}
.registration-print .registration-print-grid td{text-align:left}
.registration-print .registration-print-grid .print-photo-cell{padding:1.5mm;text-align:center;width:auto}
.registration-print .print-photo-cell .application-photo{width:25mm;max-width:100%;height:35mm;object-fit:contain;margin:auto}
.registration-print .registration-print-section{border:1px solid #000;margin:-1px 0 0;padding:1.5mm;text-align:center;color:#000;background:#fff;font:700 13pt/1.5 "Microsoft YaHei","微软雅黑",sans-serif;break-after:avoid}
.registration-print-detail .structured-value{margin-top:-1px}.registration-print-detail{break-inside:auto}
.registration-print .registration-print-empty,.registration-print .registration-print-attachment{border:1px solid #000;padding:2mm;margin-top:-1px;overflow-wrap:anywhere}
.registration-print .registration-print-signature{margin-top:7mm;break-inside:avoid}.registration-print-signature p+p{margin-top:7mm}
@media print{html,body{background:#fff}.print-sheet.registration-print{max-width:none;width:100%;margin:0;padding:0}.registration-print thead{display:table-header-group}.registration-print tr{break-inside:avoid}.registration-print .registration-print-summary{break-inside:avoid}}
.print-sheet.registration-print-compact{font-size:10pt;line-height:1.3}.print-sheet.registration-print-tight{font-size:9.5pt;line-height:1.25}
.registration-print-compact h1,.registration-print-tight h1{font-size:16pt;line-height:1.3;margin-bottom:4mm}
.registration-print-compact .registration-print-grid th,.registration-print-compact .registration-print-grid td,.registration-print-compact .structured-value th,.registration-print-compact .structured-value td{padding:1.2mm;line-height:1.3;height:6.5mm}
.registration-print-tight .registration-print-grid th,.registration-print-tight .registration-print-grid td,.registration-print-tight .structured-value th,.registration-print-tight .structured-value td{padding:.8mm 1mm;line-height:1.25;height:6mm}
.registration-print-compact .registration-print-section,.registration-print-tight .registration-print-section{font-size:11pt;line-height:1.3;padding:1mm}
.registration-print-compact .registration-print-signature,.registration-print-tight .registration-print-signature{margin-top:4mm}.registration-print-compact .registration-print-signature p+p,.registration-print-tight .registration-print-signature p+p{margin-top:4mm}
.print-sheet.registration-print-measure{position:absolute;left:-20000px;top:0;width:180mm;max-width:none;padding:0;margin:0;visibility:hidden;zoom:1}
@media print{.print-sheet.registration-print{zoom:var(--registration-print-scale,1)}}
.brand .admin-account{display:flex;align-items:center;gap:12px;min-width:0;max-width:65%;padding-top:3px;line-height:1.5}.admin-account .admin-welcome{overflow-wrap:anywhere}.admin-account #logout{flex-shrink:0}
.candidate-page #app{min-height:100vh;display:flex;flex-direction:column}.candidate-page #app>.brand{flex-shrink:0}.candidate-page #app>.shell{flex:1;min-height:0}
.candidate-footer{flex-shrink:0;border-top:3px solid #597b92;background:#eaf1f6;color:#526c80;padding:14px 20px;text-align:center;font:12px/1.8 Arial,"宋体",SimSun,sans-serif;overflow-wrap:anywhere}
.candidate-footer a{color:#245c7c}.candidate-footer a:hover{color:#1472ac}.candidate-footer img{width:20px;height:20px;object-fit:contain}
.login-footer:empty,.candidate-footer:empty,.loginFoot:empty{display:none}.site-footer-line{margin:0;padding:0}

.site-footer-line p,.site-footer-line div{margin:0;padding:0}

/* Inline native single-choice controls in registration fields and table cells. */
.radio-options{display:inline-flex;flex-wrap:wrap;align-items:center;gap:6px 16px}
.radio-options label{display:inline-flex;align-items:center;gap:4px;white-space:nowrap;cursor:pointer}
.form-table .radio-options input[type=radio],.radio-options input[type=radio]{appearance:auto;width:14px;min-width:14px;max-width:14px;height:14px;margin:0;padding:0;vertical-align:middle;accent-color:#777;flex:0 0 14px}
