:root{color:#172033;background:#f5f7fb;font-family:Inter,PingFang SC,Microsoft YaHei,Arial,sans-serif;font-size:14px;letter-spacing:0}*{box-sizing:border-box}body{margin:0;background:#f5f7fb}button,input,select,textarea{font:inherit}.login-page{min-height:100vh;display:grid;place-items:center;padding:32px;background:#f5f7fb}.login-panel{width:min(100%,440px);padding:36px;border:1px solid #dfe5ef;border-radius:8px;background:#fff;box-shadow:0 24px 70px #1220381f}.login-brand{margin-bottom:28px}.brand{display:flex;align-items:center;gap:12px;padding:24px 20px 18px}.brand-mark{width:52px;height:52px;display:grid;place-items:center;border-radius:8px;background:#3f63f4;color:#fff;font-weight:800}.brand strong,.login-brand h1{display:block;margin:0;color:#172033;font-size:20px;font-weight:800}.brand span,.login-brand p{display:block;margin-top:6px;color:#6a758b;font-size:13px}.login-button{width:100%;margin-top:8px}.admin-shell{min-height:100vh}.sidebar{border-right:1px solid #e3e8f2;background:#fff}.sidebar .el-menu{border-right:0;padding:6px 12px 20px}.sidebar .el-menu-item,.sidebar .el-sub-menu__title{height:42px;border-radius:8px;color:#637087;font-weight:700}.sidebar .el-menu-item.is-active{background:#edf3ff;color:#315df3}.topbar{height:72px;display:flex;align-items:center;justify-content:flex-end;border-bottom:1px solid #e3e8f2;background:#ffffffeb;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.topbar-right{display:flex;align-items:center;gap:12px}.mobile-menu-button{display:none!important;flex:0 0 auto}.user-pill{display:flex;flex-direction:column;align-items:flex-start;min-width:126px;padding:8px 14px;border:1px solid #dfe5ef;border-radius:999px;background:#fff;color:#172033;cursor:pointer}.user-pill span{color:#6a758b;font-size:12px}.main{padding:28px}.page-stack{display:flex;flex-direction:column;gap:18px}.page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.page-header h1{margin:0;font-size:24px;line-height:1.25;font-weight:800}.page-header p{margin:8px 0 0;color:#6a758b}.page-header-actions{display:flex;align-items:center;gap:10px}.filter-panel,.data-panel{border:1px solid #dfe5ef;border-radius:8px;background:#fff}.filter-panel{display:flex;align-items:center;flex-wrap:wrap;gap:12px;padding:14px 16px}.dashboard-filter-panel{display:grid;grid-template-columns:minmax(120px,.8fr) minmax(170px,1fr) auto;flex-wrap:nowrap}.dashboard-filter-panel>*{min-width:0}.dashboard-filter-panel .el-tag{justify-self:end;white-space:nowrap}.wide-select{width:280px}.wide-input{width:min(62vw,760px)}.full-field{width:100%}.dialog-summary{display:flex;flex-direction:column;gap:4px;margin-bottom:18px;color:#172033}.dialog-summary span{color:#6a758b;font-size:13px}.assignment-list{display:flex;flex-direction:column;gap:8px;margin-top:12px;padding-top:14px;border-top:1px solid #e3e8f2}.assignment-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:10px}.mapping-editor{display:flex;flex-direction:column;gap:12px}.mapping-row{display:grid;grid-template-columns:repeat(3,minmax(160px,1fr)) auto;align-items:end;gap:12px;padding:14px;border:1px solid #e3e8f2;border-radius:8px;background:#f8fafc}.mapping-row label{display:flex;min-width:0;flex-direction:column;gap:6px;color:#637087;font-size:12px;font-weight:700}.mapping-row-actions{display:flex;align-items:center;min-height:32px}.dialog-add{margin-top:14px}.metric-grid{display:grid;grid-template-columns:repeat(6,minmax(160px,1fr));gap:14px}.metric-grid.compact{grid-template-columns:repeat(4,minmax(160px,1fr))}.metric-card{min-height:112px;padding:18px;border:1px solid #dfe5ef;border-radius:8px;background:#fff}.metric-card span{display:block;color:#6a758b;font-weight:700}.metric-card strong{display:block;margin-top:12px;color:#111827;font-size:26px;line-height:1.1}.metric-card small{display:block;margin-top:10px;color:#7b879a}.metric-card.success strong{color:#16a34a}.metric-card.warning strong{color:#d97706}.metric-card.danger strong{color:#dc2626}.data-panel{padding:18px;max-width:100%;overflow:hidden}.section-title,.table-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.section-title h2{margin:0;font-size:17px;font-weight:800}.section-title span{color:#6a758b}.table-toolbar{justify-content:flex-start;flex-wrap:wrap}.search-input{width:min(36vw,420px)}.account-filter-bar{--account-filter-control-height: 32px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:flex-start;gap:12px;margin-bottom:16px;padding:14px 16px 0;border:1px solid #e4e9f1;border-radius:8px;background:#f8fafc}.account-filter-form{display:grid;grid-template-columns:minmax(260px,1fr) auto auto auto;align-items:start;gap:0 16px}.account-filter-form .el-form-item{align-items:center;margin-right:0}.account-filter-form .el-form-item__label{height:var(--account-filter-control-height);line-height:var(--account-filter-control-height)}.account-filter-form .el-input__wrapper,.account-filter-form .el-select__wrapper,.account-filter-actions .el-tag,.account-filter-actions .el-button,.account-filter-bar>.el-button{min-height:var(--account-filter-control-height);height:var(--account-filter-control-height)}.account-filter-form .el-select{width:160px}.account-search-field{min-width:0}.account-search-field .el-input{width:100%}.account-filter-actions .el-form-item__content{flex-wrap:nowrap;gap:8px}.two-column{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px}.el-table{width:100%;font-size:13px}.el-table th.el-table__cell{color:#637087;background:#f8fafc;font-weight:800}.account-bulk-bar{display:flex;align-items:center;gap:10px;padding:10px 12px;border-bottom:1px solid var(--el-border-color-lighter)}.account-bulk-bar .el-select{width:180px}@media(max-width:1100px){.metric-grid,.metric-grid.compact,.two-column{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){.sidebar{display:none}.topbar,.section-title{align-items:stretch}.topbar{flex-wrap:wrap;gap:10px;height:auto;min-height:72px;padding:12px 16px}.page-header{align-items:stretch;flex-direction:column}.mobile-menu-button{display:inline-flex!important;margin-right:auto}.topbar-right{order:1;flex:1 1 auto;justify-content:space-between}.main{padding:16px}.metric-grid,.metric-grid.compact,.two-column{grid-template-columns:1fr}.search-input,.wide-input,.wide-select{width:100%}.dashboard-filter-panel{display:flex;flex-direction:column;align-items:stretch}.dashboard-filter-panel .el-tag{align-self:flex-start}.account-filter-bar,.account-filter-form{display:block}.account-filter-bar>.el-button,.account-filter-form .el-form-item,.account-filter-form .el-select{width:100%}.account-filter-form.el-form--inline .el-form-item{display:flex;flex-direction:column;align-items:stretch;margin-right:0}.account-filter-form .el-form-item__label{display:flex;width:100%;height:auto;margin-bottom:6px;justify-content:flex-start}.account-filter-form.el-form--inline .el-form-item__content{width:100%;margin-left:0!important}.account-filter-actions .el-form-item__content{justify-content:space-between}.account-filter-bar>.el-button{margin-bottom:14px}.account-bulk-bar{flex-wrap:wrap}.mapping-row,.assignment-row{grid-template-columns:1fr}}:root{--sem-select-width:160px;--sem-select-height:32px}.el-select{width:var(--sem-select-width)!important}.el-select .el-select__wrapper{min-height:var(--sem-select-height)}@media(max-width:760px){.el-select{width:100%!important}}:root{--sem-date-range-width: 320px}.filter-panel .el-date-editor.el-range-editor{width:var(--sem-date-range-width);max-width:100%;min-height:var(--sem-select-height);height:var(--sem-select-height)}.filter-panel .el-date-editor .el-range-input{min-width:0}@media(max-width:760px){.filter-panel .el-date-editor.el-range-editor{width:100%}}

:root {
  --sem-control-height: 32px;
  --sem-date-width: 160px;
  --sem-date-range-width: 320px;
}

.filter-panel .el-button,
.account-filter-bar .el-button,
.table-toolbar .el-button,
.page-header-actions .el-button {
  height: var(--sem-control-height);
  min-height: var(--sem-control-height);
  padding-top: 0;
  padding-bottom: 0;
}

.filter-panel .el-input__wrapper,
.filter-panel .el-select__wrapper,
.filter-panel .el-date-editor,
.account-filter-bar .el-input__wrapper,
.account-filter-bar .el-select__wrapper,
.account-filter-bar .el-date-editor {
  min-height: var(--sem-control-height);
  height: var(--sem-control-height);
}

.filter-panel .el-date-editor.el-input,
.account-filter-bar .el-date-editor.el-input {
  width: var(--sem-date-width) !important;
}

.filter-panel .el-date-editor.el-range-editor {
  width: var(--sem-date-range-width) !important;
}

.account-filter-bar {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 12px !important;
  padding: 14px 16px !important;
}

.account-filter-form {
  display: flex !important;
  align-items: center !important;
  flex: 1 1 auto;
  flex-wrap: wrap;
  gap: 12px !important;
}

.account-filter-form .el-form-item,
.account-filter-actions {
  margin: 0 !important;
}

.account-filter-form .el-form-item__content,
.account-filter-actions .el-form-item__content {
  height: var(--sem-control-height);
  line-height: var(--sem-control-height);
  display: flex;
  align-items: center;
  gap: 10px;
}

.account-filter-actions {
  margin-left: auto !important;
}

@media (max-width: 760px) {
  .filter-panel .el-date-editor.el-input,
  .filter-panel .el-date-editor.el-range-editor,
  .account-filter-bar .el-date-editor.el-input {
    width: 100% !important;
  }
  .account-filter-bar,
  .account-filter-form,
  .account-filter-actions .el-form-item__content {
    align-items: stretch !important;
  }
  .account-filter-actions {
    margin-left: 0 !important;
  }
}

/* SEM control size final overrides */
.filter-panel > .el-date-editor.el-range-editor,
.filter-panel > .el-date-editor.el-date-editor--daterange,
.filter-panel .el-date-editor.el-range-editor,
.filter-panel .el-date-editor.el-date-editor--daterange {
  width: 320px !important;
  flex: 0 0 320px !important;
  max-width: 320px !important;
  min-height: 32px !important;
  height: 32px !important;
}

.filter-panel > .el-date-editor.el-input,
.filter-panel .el-date-editor.el-input,
.account-filter-bar .el-date-editor.el-input {
  width: 160px !important;
  flex: 0 0 160px !important;
  max-width: 160px !important;
  min-height: 32px !important;
  height: 32px !important;
}

.filter-panel > .el-select,
.filter-panel .el-select,
.account-filter-bar .el-select {
  width: 160px !important;
  flex: 0 0 160px !important;
  max-width: 160px !important;
}

.filter-panel .el-select__wrapper,
.account-filter-bar .el-select__wrapper,
.filter-panel .el-button,
.account-filter-bar .el-button {
  min-height: 32px !important;
  height: 32px !important;
}

@media (max-width: 760px) {
  .filter-panel > .el-date-editor.el-range-editor,
  .filter-panel > .el-date-editor.el-date-editor--daterange,
  .filter-panel .el-date-editor.el-range-editor,
  .filter-panel .el-date-editor.el-date-editor--daterange,
  .filter-panel > .el-date-editor.el-input,
  .filter-panel .el-date-editor.el-input,
  .account-filter-bar .el-date-editor.el-input,
  .filter-panel > .el-select,
  .filter-panel .el-select,
  .account-filter-bar .el-select {
    width: 100% !important;
    flex: 1 1 100% !important;
    max-width: 100% !important;
  }
}

/* Dashboard filter alignment */
.dashboard-filter-panel {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  flex-wrap: wrap !important;
  gap: 12px !important;
}

.dashboard-filter-panel > .el-select,
.dashboard-filter-panel .el-select {
  width: 160px !important;
  flex: 0 0 160px !important;
  max-width: 160px !important;
}

.dashboard-filter-panel > .el-tag,
.dashboard-filter-panel .el-tag {
  margin-left: auto !important;
  justify-self: auto !important;
  white-space: nowrap;
}

@media (max-width: 760px) {
  .dashboard-filter-panel > .el-select,
  .dashboard-filter-panel .el-select {
    width: 100% !important;
    flex: 1 1 100% !important;
    max-width: 100% !important;
  }
  .dashboard-filter-panel > .el-tag,
  .dashboard-filter-panel .el-tag {
    margin-left: 0 !important;
    align-self: flex-start;
  }
}

/* Unified filter controls 20260913 */
:root {
  --sem-control-height: 32px;
  --sem-select-width: 160px;
  --sem-date-width: 160px;
  --sem-date-range-width: 320px;
}

.filter-panel,
.account-filter-bar,
.dashboard-filter-panel {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  flex-wrap: wrap !important;
  gap: 12px !important;
}

.account-filter-form {
  display: flex !important;
  align-items: center !important;
  flex: 1 1 auto;
  flex-wrap: wrap;
  gap: 12px !important;
}

.filter-panel .el-select,
.account-filter-bar .el-select,
.dashboard-filter-panel .el-select {
  width: var(--sem-select-width) !important;
  flex: 0 0 var(--sem-select-width) !important;
  max-width: var(--sem-select-width) !important;
}

.filter-panel .el-date-editor.el-input,
.account-filter-bar .el-date-editor.el-input,
.dashboard-filter-panel .el-date-editor.el-input {
  width: var(--sem-date-width) !important;
  flex: 0 0 var(--sem-date-width) !important;
  max-width: var(--sem-date-width) !important;
}

.filter-panel .el-date-editor.el-range-editor,
.filter-panel .el-date-editor.el-date-editor--daterange,
.account-filter-bar .el-date-editor.el-range-editor,
.account-filter-bar .el-date-editor.el-date-editor--daterange {
  width: var(--sem-date-range-width) !important;
  flex: 0 0 var(--sem-date-range-width) !important;
  max-width: var(--sem-date-range-width) !important;
}

.filter-panel .el-button,
.account-filter-bar .el-button,
.table-toolbar .el-button,
.page-header-actions .el-button,
.filter-panel .el-input__wrapper,
.filter-panel .el-select__wrapper,
.filter-panel .el-date-editor,
.account-filter-bar .el-input__wrapper,
.account-filter-bar .el-select__wrapper,
.account-filter-bar .el-date-editor,
.dashboard-filter-panel .el-select__wrapper,
.dashboard-filter-panel .el-date-editor {
  min-height: var(--sem-control-height) !important;
  height: var(--sem-control-height) !important;
}

.account-filter-form .el-form-item,
.account-filter-actions {
  margin: 0 !important;
}

.account-filter-form .el-form-item__content,
.account-filter-actions .el-form-item__content {
  height: var(--sem-control-height) !important;
  line-height: var(--sem-control-height) !important;
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
}

.account-filter-actions,
.dashboard-filter-panel .el-tag {
  margin-left: auto !important;
  justify-self: auto !important;
}

@media (max-width: 760px) {
  .filter-panel .el-select,
  .account-filter-bar .el-select,
  .dashboard-filter-panel .el-select,
  .filter-panel .el-date-editor.el-input,
  .account-filter-bar .el-date-editor.el-input,
  .dashboard-filter-panel .el-date-editor.el-input,
  .filter-panel .el-date-editor.el-range-editor,
  .filter-panel .el-date-editor.el-date-editor--daterange,
  .account-filter-bar .el-date-editor.el-range-editor,
  .account-filter-bar .el-date-editor.el-date-editor--daterange {
    width: 100% !important;
    flex: 1 1 100% !important;
    max-width: 100% !important;
  }
  .account-filter-actions,
  .dashboard-filter-panel .el-tag {
    margin-left: 0 !important;
  }
}
/* Dashboard date filter position and strict 32px control height */
.page-header-actions .el-date-editor.el-input,
.dashboard-filter-panel .el-date-editor.el-input {
  width: var(--sem-date-width) !important;
  flex: 0 0 var(--sem-date-width) !important;
  max-width: var(--sem-date-width) !important;
  min-height: 32px !important;
  height: 32px !important;
}

.page-header-actions .el-date-editor .el-input__wrapper,
.dashboard-filter-panel .el-date-editor .el-input__wrapper,
.dashboard-filter-panel .el-select .el-select__wrapper {
  min-height: 32px !important;
  height: 32px !important;
  line-height: 32px !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

.dashboard-filter-panel {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  flex-wrap: nowrap !important;
  gap: 12px !important;
}

.dashboard-filter-panel .el-tag {
  margin-left: auto !important;
}
