.panel4-compact{display:flex;flex-direction:column;min-width:0;min-height:0;overflow:hidden}
.panel4-compact>.panel-head{flex:0 0 29px;min-width:0;gap:5px;padding:3px 6px}
.panel4-compact>.panel-head .panel-title{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}
.panel4-compact>.panel-head button{height:22px;padding:0 6px;font-size:11px}
.panel4-compact>.panel-head .meta-save-status{font-size:10px;color:#61738a;max-width:95px;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.panel4-controls{flex:0 0 auto;display:flex;align-items:center;flex-wrap:wrap;gap:3px 8px;padding:4px 6px;border-bottom:1px solid var(--line);background:#f7f9fc;min-width:0}
.panel4-control-group{display:flex;align-items:center;gap:3px;white-space:nowrap;max-width:100%}
.panel4-control-group>span{font-size:10px;color:#596c85;margin-right:1px}
.panel4-controls button{height:21px;padding:0 5px;font-size:11px}
.panel4-controls .check-btn{gap:2px}
.panel4-controls .meta-save-status{font-size:10px;color:#61738a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.panel4-selected-summary{flex:0 0 auto;min-height:0;font-size:10px;padding:2px 6px;color:#4d5f76;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;border-bottom:1px solid var(--line)}
.panel4-selected-summary:empty{display:none}
.panel4-candidates{display:flex;flex-direction:column;flex:1 1 auto;min-height:35px;min-width:0;overflow:hidden}
.panel4-candidate-toolbar{flex:0 0 auto;min-width:0;display:flex;align-items:center;gap:5px;padding:4px 6px;background:#eaf0f8;font-size:11px}
.panel4-candidate-toolbar strong{font-size:11px;white-space:nowrap}
.panel4-candidate-toolbar time{color:#46617e;white-space:nowrap}
.panel4-candidate-toolbar select{height:21px;min-width:0;margin-left:auto;border:1px solid #b8c1ce;background:#fff;font-size:11px;padding:0 3px}
.panel4-candidate-count{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-variant-numeric:tabular-nums}
.panel4-candidate-status{flex:0 0 auto;padding:1px 6px 3px;font-size:10px;color:#61738a;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;background:#f7f9fc}
.panel4-candidate-scroll{flex:1 1 auto;min-height:0;min-width:0;overflow:auto;overscroll-behavior:contain;background:#fff}
.panel4-candidate-table{border-collapse:separate;border-spacing:0;table-layout:fixed;width:100%;min-width:470px;font-size:11px;font-variant-numeric:tabular-nums}
.panel4-candidate-table th,.panel4-candidate-table td{padding:3px 5px;height:23px;border-right:1px solid #d6dee9;border-bottom:1px solid #d6dee9;white-space:nowrap;text-align:right;overflow:hidden;text-overflow:ellipsis}
.panel4-candidate-table th{position:sticky;top:0;z-index:2;background:#dfe6ef;color:#213956;text-align:right;font-weight:700}
.panel4-candidate-table th:first-child{text-align:left}
.panel4-candidate-table tbody tr{cursor:pointer}
.panel4-candidate-table tbody tr:hover td{background:#eef5ff}
.panel4-candidate-table tbody tr.selected td{background:#d7e9ff;color:#102e5c}
.panel4-candidate-table tbody tr:focus{outline:2px solid #225bd8;outline-offset:-2px}
.panel4-candidate-table .panel4-name{text-align:left}
.panel4-name>span{font-weight:600}
.panel4-name small{color:#6c7a8c;font-size:9px;margin-left:5px}
.panel4-candidate-table .panel4-route{text-align:center}
.panel4-route-badge{display:inline-block;padding:0 4px;border:1px solid #aac0df;border-radius:3px;background:#edf4ff;color:#245794;font-size:10px;line-height:17px}
.panel4-route-badge.large{border-color:#a7cbb9;background:#e8f5ed;color:#176438}
.panel4-candidate-table .panel4-empty{text-align:center;height:42px;white-space:normal;color:#607086;padding:6px}
.panel4-candidate-table .panel4-error{color:#a34224;background:#fff5ec}
.panel4-extras{flex:0 0 auto;min-width:0;min-height:0;border-top:1px solid var(--line);background:#f4f7fb}
.panel4-extras>summary{cursor:pointer;padding:3px 7px;font-size:10px;color:#52647b;white-space:nowrap}
.panel4-extras[open]{max-height:48%;overflow:auto}
.panel4-extras-content{display:grid;gap:5px;padding:4px 6px;font-size:11px}
.panel4-extras .settings-row{grid-template-columns:60px minmax(0,1fr);gap:5px}
.panel4-extras .score-detail{min-height:0;padding:4px 6px}
.panel4-extras .notice{padding:4px 6px;font-size:10px}
@media(max-width:1450px){.panel4-name small{display:none}.panel4-candidate-toolbar{gap:4px}.panel4-controls{gap:3px 5px}.panel4-control-group>span{display:none}.panel4-candidate-count{font-size:10px}.panel4-selected-summary,.panel4-candidate-status{display:none}}
