    .mgmt-wrap { flex: 1; overflow-y: auto; padding: 16px; }
    .mgmt-inner { max-width: var(--content-max); margin: 0 auto; display: flex; flex-direction: column; gap: 16px; }

    .mgmt-emp-row {
      display: flex; align-items: center; gap: 10px;
      padding: 12px 16px; border-bottom: 1px solid var(--border); font-size:var(--fs-base);
      transition: background 0.1s;
    }
    .mgmt-emp-row:last-child { border-bottom: none; }
    .mgmt-emp-row:hover { background: var(--bg); }
    .mgmt-shift-current { display:flex; align-items:center; gap:12px; min-width:240px; flex:1; }
    .employee-default-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px 12px; padding:10px; border:1px solid var(--border); border-radius:7px; background:var(--surface); }
    .employee-default-actions { grid-column:1 / -1; display:flex; align-items:center; justify-content:flex-end; gap:8px; padding-top:2px; }

    /* ── Emp Mgmt ── */

    .mgmt-card {
      background: var(--surface); border: 1px solid var(--border); border-radius: 8px; overflow: hidden;
    }
    .mgmt-card-head {
      padding: 10px 16px; background: #eeebe6;
      font-size:var(--fs-sm); font-weight: 700; color: var(--muted);
      border-bottom: 1px solid var(--border);
    }
    .mgmt-shift-head { display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap; }
    .mgmt-shift-month { display:inline-flex; align-items:center; gap:6px; font-size:var(--fs-base); font-weight:600; color:var(--text); }
    .mgmt-shift-month input { width:142px; box-sizing:border-box; padding:5px 7px; border:1px solid var(--border); border-radius:5px; background:var(--surface); color:var(--text); font:inherit; font-size:var(--fs-lg); }
    .mgmt-shift-month input:focus { outline:none; border-color:var(--green); box-shadow:0 0 0 2px rgba(74,140,66,.12); }
    .mgmt-shift-help { padding:8px 16px; color:var(--muted); background:#faf9f6; border-bottom:1px solid var(--border); font-size:var(--fs-base); line-height:1.5; }
    .mgmt-add-form { padding: 14px 16px; display: flex; gap: 10px; align-items:center; }
    .mgmt-add-form input {
      flex: 1; min-width:0; padding: 10px 12px; border: 1px solid var(--border);
      border-radius: 8px; font-size:var(--fs-lg); outline: none; font-family: inherit;
      color:var(--text); background: var(--surface);
    }
    .mgmt-add-form input:focus { border-color: var(--green); }

    .mgmt-filter-bar { display:flex; align-items:center; gap:4px; padding:9px 16px; border-bottom:1px solid var(--border); background:var(--surface); }
    .mgmt-filter-label { margin-right:4px; color:var(--muted); font-size:var(--fs-sm); font-weight:600; }
    .mgmt-filter-bar .shift-opt { border:1px solid var(--border); border-radius:5px; padding:5px 10px; }
    .mgmt-filter-bar .shift-opt.active { border-color:var(--green); background:var(--green); color:var(--surface); }

    .mgmt-emp-name { flex: 1; }
    .del-btn {
      padding: 6px 10px; font:inherit; font-size:var(--fs-base); border: 1px solid #e0c8c8;
      background: transparent; border-radius: 5px; cursor: pointer;
      color: #b03030; white-space:nowrap; flex-shrink:0; transition: all 0.1s;
    }
    .del-btn:hover { background: #fee2e2; border-color: #b03030; }
    .del-confirm { display: flex; align-items: center; gap: 6px; font-size:var(--fs-sm); color: #b03030; }
    .del-yes {
      padding: 3px 10px; background: #b03030; color: #fff;
      border: none; border-radius: 4px; cursor: pointer; font-size:var(--fs-sm); font-family: inherit;
    }
    .del-no {
      padding: 3px 10px; border: 1px solid var(--border); background: transparent;
      border-radius: 4px; cursor: pointer; font-size:var(--fs-sm); font-family: inherit;
    }

    /* ── Drag & Drop ── */
    .drag-handle {
      cursor: grab; color: #c0bbb3; font-size:var(--fs-md); padding-right: 8px;
      flex-shrink: 0; user-select: none; display: flex; align-items: center; line-height: 1;
    }
    .drag-handle:active { cursor: grabbing; }
    .drag-handle.is-disabled { cursor:not-allowed; opacity:.45; }
    .mgmt-emp-row.dragging { opacity: 0.35; }
    .mgmt-emp-row.drop-before { box-shadow: inset 0 2px 0 var(--green); }
    .mgmt-emp-row.drop-after  { box-shadow: inset 0 -2px 0 var(--green); }

    /* ── Shift toggle ── */
    .shift-toggle {
      display: flex; border: 1px solid var(--border); border-radius: 4px;
      overflow: hidden; flex-shrink: 0;
    }
    .shift-opt {
      padding: 3px 8px; font-size:var(--fs-xs); font-weight: 600;
      border: none; background: transparent; cursor: pointer;
      color: var(--muted); font-family: inherit; transition: all 0.1s;
    }
    .shift-opt:not(:last-child) { border-right: 1px solid var(--border); }
    .shift-opt:hover:not(.active) { background: var(--bg); }
    .shift-opt.active[data-val="早"] { background: var(--green); color: #fff; }
    .shift-opt.active[data-val="晚"] { background: #3a5a8c; color: #fff; }
    .shift-opt.active[data-val="PT"] { background: #9b4f96; color: #fff; }
    .mgmt-shift-summary { display:flex; flex-direction:column; gap:5px; min-width:0; flex:1; }
    .mgmt-shift-summary-head { color:var(--muted); font-size:var(--fs-xs); font-weight:600; }
    .mgmt-shift-current-list { display:flex; flex-direction:column; gap:4px; }
    .mgmt-shift-current-row { display:flex; align-items:center; gap:6px; min-width:0; }
    .mgmt-shift-current .shift-current-note { display:flex; align-items:center; gap:5px; min-width:0; color:var(--muted); font-size:var(--fs-sm); flex-wrap:wrap; }
    .shift-current-dates { color:var(--text); }
    .shift-current-times { color:#31558c; font-weight:600; }
    .shift-current-source { border-radius:999px; padding:1px 6px; font-weight:700; white-space:nowrap; }
    .shift-current-source.range { background:#f1f7fd; color:#245c99; }
    .shift-current-source.ongoing { background:#eef5e9; color:#496b36; }
    .shift-current-source.default { background:#f0eeea; color:#706b63; }
    .mgmt-shift-unset { color:var(--danger,#e53e3e); font-size:var(--fs-base); font-weight:700; }
    .mgmt-shift-actions { display:flex; align-items:center; gap:8px; margin-left:auto; flex-shrink:0; }
    .mgmt-shift-count { color:var(--muted); font-size:var(--fs-sm); white-space:nowrap; }
    .mgmt-shift-config-btn { border:1px solid var(--green); border-radius:5px; background:var(--surface); color:var(--green); cursor:pointer; padding:6px 11px; font:inherit; font-size:var(--fs-base); white-space:nowrap; }
    .mgmt-shift-config-btn:hover { background:var(--bg); }
    .mgmt-shift-config-btn:disabled { opacity:.55; cursor:not-allowed; }

    .shift-period-modal { position:fixed; inset:0; z-index:210; display:flex; align-items:center; justify-content:center; padding:18px; background:rgba(35,34,30,.45); }
    .shift-period-dialog { display:flex; flex-direction:column; width:min(1180px,100%); max-height:min(760px,calc(100vh - 36px)); background:var(--surface); border:1px solid var(--border); border-radius:10px; box-shadow:0 16px 48px rgba(0,0,0,.22); overflow:hidden; }
    .shift-period-head { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; padding:14px 18px; border-bottom:1px solid var(--border); background:#faf9f6; }
    .shift-period-head strong { display:block; color:var(--text); font-size:var(--fs-xl); }
    .shift-period-head span { display:block; margin-top:4px; color:var(--muted); font-size:var(--fs-base); line-height:1.45; }
    .shift-period-close { border:1px solid var(--border); border-radius:5px; background:var(--surface); color:var(--text); cursor:pointer; padding:5px 9px; font:inherit; font-size:var(--fs-lg); white-space:nowrap; flex-shrink:0; }
    .shift-period-close:hover { background:#f3f1ec; }
    .shift-period-body { flex:1 1 auto; min-height:0; overflow:auto; padding:12px 16px 16px; }
    .shift-period-section { display:flex; flex-direction:column; gap:10px; }
    .shift-period-section + .shift-period-section { margin-top:14px; padding-top:12px; border-top:1px solid var(--border); }
    .shift-period-section-title { color:var(--text); font-size:var(--fs-lg); font-weight:700; }
    .employee-default-field { display:flex; flex-direction:column; gap:3px; min-width:0; color:var(--muted); font-size:var(--fs-xs); }
    .employee-default-field input { box-sizing:border-box; width:100%; height:30px; padding:5px 8px; border:1px solid var(--border); border-radius:6px; background:var(--surface); color:var(--text); font:inherit; font-size:var(--fs-lg); }
    .employee-default-field input:focus { outline:none; border-color:var(--green); }
    .employee-default-label { color:var(--muted); }
    .employee-note-field { grid-column:1 / -1; }
    .employee-note-options { display:flex; align-items:center; flex-wrap:wrap; gap:8px 18px; min-height:30px; }
    .employee-note-option { display:inline-flex; align-items:center; gap:6px; min-height:30px; color:var(--text); font-size:var(--fs-base); white-space:nowrap; cursor:pointer; }
    .employee-note-option input[type="checkbox"] { width:18px; min-width:18px; height:18px; margin:0; padding:0; accent-color:var(--green); flex:0 0 auto; }
    .employee-default-shift .shift-toggle { align-self:flex-start; }
    .employee-default-field .annual-input { width:100%; height:30px; box-sizing:border-box; font-size:var(--fs-lg); }
    .employee-default-caption { display:flex; align-items:center; justify-content:space-between; gap:8px; min-width:0; }
    .employee-default-caption .annual-remain { flex-shrink:0; font-size:var(--fs-xs); }
    .shift-period-heading { display:flex; align-items:center; justify-content:space-between; gap:10px; }
    .shift-period-hint { color:var(--muted); font-size:var(--fs-base); }
    .shift-period-add { border:1px solid var(--green); border-radius:5px; background:var(--green); color:#fff; cursor:pointer; padding:6px 10px; font:inherit; font-size:var(--fs-base); white-space:nowrap; }
    .shift-period-add:hover { filter:brightness(.97); }
    .shift-period-list { --shift-period-columns:minmax(126px,1.05fr) minmax(126px,1.05fr) minmax(155px,1.3fr) minmax(128px,1.1fr) minmax(155px,1.15fr) minmax(155px,1.15fr) minmax(88px,auto); overflow-x:auto; border:1px solid var(--border); border-radius:7px; background:#fcfbf8; }
    .shift-period-record-header, .shift-period-row { display:grid; grid-template-columns:var(--shift-period-columns); align-items:center; column-gap:4px; min-width:980px; padding:9px 8px; }
    .shift-period-record-header { color:var(--muted); background:#f1f0ec; font-size:var(--fs-xs); font-weight:700; white-space:nowrap; }
    .shift-period-records { min-width:980px; }
    .shift-period-row { min-height:58px; border-top:1px solid var(--border); background:#fcfbf8; }
    .shift-period-cell { min-width:0; }
    .shift-period-time-cell { min-width:150px; }
    .shift-period-row input[type="date"], .shift-period-row input[type="time"] { width:100%; box-sizing:border-box; height:32px; padding:5px 6px; border:1px solid var(--border); border-radius:5px; background:var(--surface); color:var(--text); font:inherit; font-size:var(--fs-lg); }
    .shift-period-row input:focus { outline:none; border-color:var(--green); box-shadow:0 0 0 2px rgba(74,140,66,.12); }
    .shift-period-row input:disabled { background:#f1f0ec; color:var(--muted); cursor:not-allowed; }
    .shift-period-scope { display:flex; flex-direction:column; gap:5px; min-width:0; }
    .shift-period-scope-options { display:flex; gap:4px; flex-wrap:nowrap; }
    .shift-period-scope-options button { flex:0 0 auto; border:1px solid var(--border); border-radius:4px; background:var(--surface); color:var(--muted); cursor:pointer; padding:5px 5px; font:inherit; font-size:var(--fs-xs); white-space:nowrap; }
    .shift-period-scope-options button.active { border-color:#a9c8e8; background:#f1f7fd; color:#245c99; font-weight:700; }
    .shift-period-shift-field { min-width:0; }
    .shift-period-shift { display:flex; border:1px solid var(--border); border-radius:5px; overflow:hidden; }
    .shift-period-shift button { flex:0 0 auto; border:0; border-right:1px solid var(--border); background:var(--surface); color:var(--muted); cursor:pointer; padding:5px; font:inherit; font-size:var(--fs-base); white-space:nowrap; }
    .shift-period-shift button:last-child { border-right:0; }
    .shift-period-shift button.active[data-val="早"] { background:var(--green); color:#fff; }
    .shift-period-shift button.active[data-val="晚"] { background:#3a5a8c; color:#fff; }
    .shift-period-shift button.active[data-val="PT"] { background:#9b4f96; color:#fff; }
    .shift-period-actions { display:flex; align-items:center; justify-content:flex-start; gap:5px; min-height:32px; }
    .shift-period-save, .shift-period-delete { border:1px solid var(--border); border-radius:5px; cursor:pointer; padding:6px 8px; font:inherit; font-size:var(--fs-sm); white-space:nowrap; }
    .shift-period-save { border-color:var(--green); background:var(--green); color:#fff; }
    .shift-period-save:disabled { opacity:.5; cursor:not-allowed; }
    .shift-period-delete { color:#b03030; background:var(--surface); border-color:#e0c8c8; }
    .shift-period-empty { padding:26px 12px; text-align:center; color:var(--muted); font-size:var(--fs-base); border:1px dashed var(--border); border-radius:7px; }
    .mgmt-emp-no { font-size:var(--fs-xs); color: var(--muted); min-width: 30px; flex-shrink: 0; }
    .std-time-input { border: 1px solid var(--border); border-radius: 4px; padding: 3px 4px; font-size:var(--fs-lg); font-family: inherit; width: 112px; color: var(--text); background: var(--surface); flex-shrink: 0; }
    .std-time-input[type="date"] { width: 120px; }
    .std-time-input:focus { outline: none; border-color: var(--green); }
    .btn-save-pay { border: 1px solid var(--green); border-radius: 5px; padding: 6px 10px; font:inherit; font-size:var(--fs-base); background: var(--green); color: #fff; cursor: pointer; white-space:nowrap; flex-shrink: 0; }
    .btn-save-pay:hover { opacity: .85; }
    .btn-save-pay:disabled { opacity: .5; cursor: default; }
    .save-feedback { font-size:var(--fs-base); font-weight: 600; width: 0; overflow: hidden; flex-shrink: 0; transition: width .15s; }
    .save-feedback:not(:empty) { width: 16px; }
    /* ── Employee row inline inputs ── */
    .mgmt-emp-no-input { width: 74px; font-size:var(--fs-lg); border: 1px solid var(--border); border-radius: 8px; padding: 8px 9px; flex-shrink: 0; color: var(--text); font-family: inherit; background: var(--surface); }
    .mgmt-emp-name-input { width: 132px; min-width: 90px;
      font-size:var(--fs-lg); border: 1px solid var(--border); border-radius: 8px;
      padding: 8px 10px;
      font-family: inherit; color: var(--text); background: var(--surface); }
    .mgmt-emp-no-input:focus, .mgmt-emp-name-input:focus { outline: none; border-color: var(--green); }
    .mgmt-employee-notes {
      display:flex; align-items:center; flex-wrap:wrap; gap:4px;
      min-width:0; max-width:180px; flex-shrink:0;
    }
    .mgmt-employee-notes:empty { display:none; }
    .employee-note-badge {
      display:inline-flex; align-items:center; justify-content:center;
      min-height:24px; box-sizing:border-box; padding:2px 7px;
      border:1px solid; border-radius:999px;
      font-size:var(--fs-sm); font-weight:700; line-height:1.2;
      white-space:nowrap; flex:0 0 auto;
    }
    .employee-note-badge.mentor { color:#a14e00; background:#fff1e6; border-color:#e6b17d; }
    .employee-note-badge.special { color:#7d3f78; background:#f8edf7; border-color:#d9b4d5; }
    .employee-note-badge.responsibility { color:#806218; background:#fff8df; border-color:#d8c38b; }
