/* ECFS Trainer Assets MVP 3.11.153 | 2026-10-08 */
/* ECFS Trainer App MVP 3.8.8 | performance release; visual baseline retained from 3.8.7 */

    :root {
      --blue: #418FDE;
      --blue-dark: #17395e;
      --blue-soft: #eaf4fd;
      --ink: #1f2937;
      --muted: #687385;
      --line: #dce4ec;
      --bg: #f5f8fb;
      --card: #ffffff;
      --green: #18864b;
      --green-bg: #e9f7ef;
      --yellow: #9a6500;
      --yellow-bg: #fff6d8;
      --red: #b3261e;
      --red-bg: #fdeceb;
      --gray-bg: #eef2f6;
      --shadow: 0 8px 28px rgba(21, 47, 76, .08);
      --radius: 16px;
    }

    * { box-sizing: border-box; }
    body {
      margin: 0;
      padding-top: 34px;
      font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
      background: var(--bg);
      color: var(--ink);
    }

    button, input, select, textarea { font: inherit; }
    button { cursor: pointer; }
    .hidden { display: none !important; }

    .app-feedback-bar {
      position: fixed;
      top: 0;
      left: 0;
      right: 0;
      height: 34px;
      z-index: 90;
      display: flex;
      align-items: center;
      justify-content: center;
      background: var(--blue-dark);
      color: white;
      font-size: 12px;
      font-weight: 800;
      text-align: center;
      padding: 0 10px;
    }
    .app-feedback-link { border: 0; background: none; color: white; text-decoration: underline; padding: 0 4px; font: inherit; font-weight: 850; cursor: pointer; }
    .app-feedback-help { color: var(--muted); font-size: 11px; line-height: 1.45; margin-top: 4px; }
    @media(max-width:650px) { .app-feedback-bar { font-size: 11px; } }

    .topbar {
      color: white;
      padding: 18px 24px;
      background: #418fde;
    }
    .topbar-inner {
      max-width: 1180px;
      margin: 0 auto;
      min-height: 76px;
      display: flex;
      flex-direction: column;
      justify-content: center;
      align-items: center;
      text-align: center;
    }
    .brand { font-size: 26px; font-weight: 850; letter-spacing: .01em; }
    .brand-sub { margin-top: 5px; opacity: .96; font-size: 14px; }

    .page { max-width: 1180px; margin: 0 auto; padding: 22px; }

    .steps {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 10px;
      margin-bottom: 18px;
    }
    .step {
      background: var(--card);
      border: 1px solid var(--line);
      border-radius: 12px;
      padding: 12px 14px;
      font-size: 13px;
      color: var(--muted);
    }
    .step b { color: var(--ink); }
    .step-num {
      display: inline-flex;
      width: 24px;
      height: 24px;
      align-items: center;
      justify-content: center;
      border-radius: 999px;
      background: var(--blue-soft);
      color: var(--blue-dark);
      font-weight: 800;
      margin-right: 7px;
    }

    .control-card, .summary-card, .section-card, .empty-card {
      background: var(--card);
      border: 1px solid var(--line);
      border-radius: var(--radius);
      box-shadow: var(--shadow);
    }

    .control-card { padding: 18px; margin-bottom: 18px; }
    .controls {
      display: grid;
      grid-template-columns: 1.1fr 1.4fr .7fr auto;
      gap: 12px;
      align-items: start;
    }
    label { display: block; font-size: 12px; font-weight: 800; color: #4b5563; margin-bottom: 6px; }
    .controls > div { display: flex; flex-direction: column; justify-content: flex-start; }
    .button-control { justify-content: flex-end; padding-top: 18px; }
    input, select, textarea {
      width: 100%;
      border: 1px solid #cbd5e1;
      border-radius: 10px;
      background: white;
      color: var(--ink);
      padding: 10px 11px;
      outline: none;
    }
    input:focus, select:focus, textarea:focus { border-color: var(--blue); box-shadow: 0 0 0 3px rgba(65,143,222,.12); }
    textarea { resize: vertical; min-height: 92px; }

    .btn {
      border: 0;
      border-radius: 10px;
      padding: 10px 14px;
      font-weight: 800;
      min-height: 42px;
    }
    .btn-primary { background: var(--blue); color: white; }
    .btn-dark { background: var(--blue-dark); color: white; }
    .btn-soft { background: var(--blue-soft); color: var(--blue-dark); }
    .btn-light { background: white; border: 1px solid var(--line); color: var(--ink); }
    .btn-green { background: var(--green); color: white; }
    .btn-yellow { background: #f2b539; color: #392700; }
    .btn-red-soft { background: var(--red-bg); color: var(--red); }
    .btn:disabled { opacity: .45; cursor: not-allowed; }

    .row-actions { display: flex; gap: 8px; flex-wrap: wrap; }
    .new-link { margin-top: 8px; font-size: 12px; color: var(--blue-dark); font-weight: 800; background: none; border: 0; padding: 0; }

    .summary-card { padding: 20px; margin-bottom: 18px; }
    .summary-top { display: flex; justify-content: space-between; gap: 18px; align-items: flex-start; }
    .trainee-name { font-size: 24px; font-weight: 850; }
    .trainee-meta { color: var(--muted); font-size: 13px; margin-top: 4px; }
    .status-box { border-radius: 12px; padding: 11px 13px; max-width: 470px; font-size: 13px; line-height: 1.45; }
    .status-box strong { display: block; font-size: 14px; margin-bottom: 2px; }
    .status-READY { background: var(--green-bg); color: var(--green); }
    .status-WAITING_SHIFTS { background: var(--blue-soft); color: var(--blue-dark); }
    .status-TRAINING { background: var(--blue-soft); color: var(--blue-dark); }
    .status-EXTENSION { background: var(--yellow-bg); color: var(--yellow); }
    .status-HARD_STOP { background: var(--red-bg); color: var(--red); }
    .status-SETUP_NEEDED { background: var(--yellow-bg); color: var(--yellow); }

    .requirement-panel {
      margin: 12px 14px 4px;
      border: 1px solid var(--line);
      border-radius: 12px;
      background: #fbfdff;
      padding: 14px;
    }
    .requirement-panel-title { font-weight: 850; margin-bottom: 5px; }
    .requirement-panel-help { color: var(--muted); font-size: 12px; line-height: 1.45; margin-bottom: 12px; }
    .requirement-row { display: grid; grid-template-columns: 1fr auto; gap: 12px; align-items: center; padding: 10px 0; border-top: 1px solid #edf1f5; }
    .requirement-row:first-of-type { border-top: 0; }
    .requirement-name { font-weight: 800; font-size: 13px; }
    .requirement-state { color: var(--muted); font-size: 11px; margin-top: 3px; }
    .toggle-group { display: inline-flex; border: 1px solid var(--line); border-radius: 10px; overflow: hidden; }
    .toggle-btn { border: 0; background: white; min-width: 58px; padding: 8px 10px; font-weight: 850; color: var(--muted); }
    .toggle-btn + .toggle-btn { border-left: 1px solid var(--line); }
    .toggle-btn.active-yes { background: var(--green-bg); color: var(--green); }
    .toggle-btn.active-no { background: var(--gray-bg); color: #4f5b67; }
    .setup-warning { color: var(--yellow); font-weight: 800; }

    .progress-wrap { margin-top: 18px; }
    .progress-labels { display: flex; justify-content: space-between; font-size: 12px; color: var(--muted); margin-bottom: 7px; }
    .progress-track { height: 11px; border-radius: 999px; background: #e5ebf1; overflow: hidden; }
    .progress-bar { height: 100%; background: var(--blue); border-radius: inherit; transition: width .2s ease; }

    .stats {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(125px, 1fr));
      gap: 10px;
      margin-top: 16px;
    }
    .stat { border: 1px solid var(--line); border-radius: 12px; padding: 11px; background: #fbfdff; }
    .stat-value { font-size: 20px; font-weight: 850; }
    .stat-label { color: var(--muted); font-size: 11px; margin-top: 2px; }
    .stat-detail { color: var(--muted); font-size: 10px; line-height: 1.35; margin-top: 5px; }

    .toolbar { display: flex; justify-content: space-between; gap: 12px; margin-bottom: 12px; flex-wrap: wrap; align-items: center; }
    .toolbar h2 { font-size: 18px; margin: 0; }
    .filters { display: flex; gap: 7px; flex-wrap: wrap; }
    .filter-btn { border: 1px solid var(--line); background: white; color: var(--muted); padding: 8px 11px; border-radius: 999px; font-weight: 750; font-size: 12px; }
    .filter-btn.active { background: var(--blue-dark); border-color: var(--blue-dark); color: white; }
    .search { max-width: 260px; }

    .section-card { margin-bottom: 12px; overflow: hidden; }
    details.section-card > summary.section-title { cursor:pointer; list-style:none; }
    details.section-card > summary.section-title::-webkit-details-marker { display:none; }
    details.section-card > summary.section-title::before { content:'▸'; margin-right:8px; }
    details.section-card[open] > summary.section-title::before { content:'▾'; }
    .section-title .section-name { flex:1; }
    .section-card-body { padding-bottom:2px; }
    .using-helm-group > summary { background:#f4f8fc; }
    .kr-summary-toolbar { display:flex; gap:12px; justify-content:space-between; align-items:flex-start; flex-wrap:wrap; }
    .kr-summary-copy { flex:1; min-width:240px; }
    .kr-refresh-actions { display:flex; gap:8px; align-items:flex-start; flex-wrap:wrap; }
    .kr-refresh-action { display:flex; flex-direction:column; gap:4px; align-items:flex-start; }
    .kr-refresh-action .small-help { max-width:190px; }
    .section-title {
      display: flex;
      justify-content: space-between;
      gap: 10px;
      align-items: center;
      padding: 14px 16px;
      background: #418fde;
      color: white;
      border-bottom: 1px solid #367fc7;
      font-weight: 850;
    }
    .section-count { color: rgba(255,255,255,.92); font-size: 12px; font-weight: 700; }

    .task-list { padding: 5px 14px; }
    .task-group { margin: 10px 12px; border: 1px solid var(--line); border-radius: 12px; background: #fbfdff; overflow: hidden; }
    .task-group > summary, .task-subgroup > summary { cursor: pointer; list-style: none; display: flex; justify-content: space-between; gap: 10px; align-items: center; }
    .task-group > summary::-webkit-details-marker, .task-subgroup > summary::-webkit-details-marker { display: none; }
    .task-group > summary { padding: 12px 14px; font-weight: 850; background: #eef6ff; }
    .task-group > summary::before, .task-subgroup > summary::before { content: '▸'; margin-right: 8px; }
    .task-group[open] > summary::before, .task-subgroup[open] > summary::before { content: '▾'; }
    .task-group-summary-left, .task-subgroup-summary-left { display: flex; align-items: center; }
    .task-group-count { color: var(--muted); font-size: 11px; font-weight: 750; }
    .task-group-body { padding: 0 12px 8px; }
    .task-subgroup { margin: 8px 0 10px; border: 1px solid #dce8f5; border-radius: 10px; background: white; overflow: hidden; }
    .task-subgroup > summary { padding: 10px 12px; font-weight: 800; background: #f7fbff; }
    .task-subgroup .task-list { padding: 0 12px 4px; }
    .reference-links { margin-top: 12px; display: flex; flex-wrap: wrap; gap: 8px; }
    .reference-link { display: inline-flex; align-items: center; text-decoration: none; }
    .curriculum-image-grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(200px,1fr)); gap: 12px; margin-top: 9px; }
    .curriculum-image-card { display:block; text-decoration:none; color:inherit; border:1px solid var(--line); border-radius:12px; background:white; padding:8px; }
    .curriculum-image-card:hover { border-color:#9ec7eb; box-shadow:0 4px 14px rgba(21,47,76,.08); }
    .curriculum-image-card img { display:block; width:100%; max-height:300px; object-fit:contain; border-radius:8px; background:#f8fafc; }
    .curriculum-image-caption { margin-top:7px; font-size:12px; line-height:1.4; color:var(--muted); }
    .task {
      display: grid;
      grid-template-columns: 1fr auto;
      gap: 12px;
      padding: 13px 2px;
      border-bottom: 1px solid #edf1f5;
      align-items: center;
    }
    .task:last-child { border-bottom: 0; }
    .task-title { font-weight: 800; font-size: 14px; }
    .task-sub { margin-top: 4px; color: var(--muted); font-size: 12px; line-height: 1.35; }
    .task-actions { display: flex; align-items: center; gap: 8px; }
    .badge { display: inline-flex; align-items: center; border-radius: 999px; padding: 5px 8px; font-size: 10px; font-weight: 850; white-space: nowrap; }
    .badge-COMPLETE { background: var(--green-bg); color: var(--green); }
    .badge-COMPETENCY_APPROVED { background: var(--blue-soft); color: var(--blue-dark); }
    .badge-IN_PROGRESS { background: var(--yellow-bg); color: var(--yellow); }
    .badge-NOT_STARTED { background: var(--gray-bg); color: #5f6b78; }
    .badge-CURRICULUM_GAP { background: var(--red-bg); color: var(--red); }
    .badge-PASSED { background: var(--green-bg); color: var(--green); }
    .badge-TRAINER_APPROVED { background: var(--green-bg); color: var(--green); }
    .badge-NEEDS_RETAKE { background: var(--red-bg); color: var(--red); }
    .badge-NOT_COMPLETED { background: var(--gray-bg); color: #5f6b78; }
    .badge-TRACKER_MISSING { background: var(--yellow-bg); color: var(--yellow); }
    .badge-NOT_APPLICABLE { background: var(--gray-bg); color: #5f6b78; }
    .badge-UNKNOWN { background: var(--yellow-bg); color: var(--yellow); }

    .kr-list { padding: 5px 14px; }
    .kr-row {
      display: grid;
      grid-template-columns: 1fr auto;
      gap: 12px;
      padding: 13px 2px;
      border-bottom: 1px solid #edf1f5;
      align-items: center;
    }
    .kr-row:last-child { border-bottom: 0; }
    .kr-title { font-weight: 800; font-size: 14px; }
    .kr-sub { margin-top: 4px; color: var(--muted); font-size: 12px; line-height: 1.4; }
    .kr-override-note { margin-top: 5px; color: var(--green); font-size: 12px; line-height: 1.4; font-weight: 750; }
    .kr-policy { margin-top: 10px; padding: 10px 12px; border-radius: 10px; background: var(--blue-soft); color: var(--blue-dark); font-size: 12px; line-height: 1.45; }
    .kr-actions { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; justify-content: flex-end; }
    .btn-link { display: inline-flex; align-items: center; justify-content: center; text-decoration: none; }
    .kr-summary { margin: 12px 14px 4px; border: 1px solid var(--line); border-radius: 12px; background: #fbfdff; padding: 12px 14px; font-size: 12px; color: var(--muted); line-height: 1.45; }
    .kr-summary strong { color: var(--ink); }
    .task-kr-section { margin-top: 18px; border-top: 1px solid var(--line); padding-top: 16px; }
    .task-kr-list { display: grid; gap: 9px; margin-top: 8px; }
    .task-kr-card { border: 1px solid var(--line); border-radius: 12px; padding: 12px; background: #fbfdff; }
    .task-kr-head { display: flex; justify-content: space-between; gap: 10px; align-items: center; }
    .task-kr-name { font-weight: 800; font-size: 13px; }
    .task-kr-footer { margin-top: 8px; display: flex; justify-content: space-between; gap: 10px; align-items: center; flex-wrap: wrap; }
    .task-kr-result { color: var(--muted); font-size: 12px; line-height: 1.35; }

    .mini-progress { width: 160px; height: 6px; background: #e8edf2; border-radius: 999px; overflow: hidden; margin-top: 7px; }
    .mini-progress > span { display: block; height: 100%; background: var(--blue); }

    .empty-card { padding: 36px 24px; text-align: center; color: var(--muted); }
    .empty-card h3 { color: var(--ink); margin: 0 0 8px; }

    .overlay {
      position: fixed;
      inset: 0;
      background: rgba(12, 28, 47, .45);
      display: flex;
      align-items: center;
      justify-content: center;
      padding: 18px;
      z-index: 100;
    }
    .modal {
      width: min(760px, 100%);
      max-height: 90vh;
      overflow: auto;
      background: white;
      border-radius: 18px;
      box-shadow: 0 24px 80px rgba(0,0,0,.24);
    }
    .modal-head { padding: 18px 20px; border-bottom: 1px solid var(--line); display: flex; justify-content: space-between; gap: 10px; align-items: flex-start; }
    .modal-title { font-size: 19px; font-weight: 850; }
    .modal-body { padding: 20px; }
    .close { border: 0; background: #f1f5f9; width: 34px; height: 34px; border-radius: 999px; font-size: 20px; line-height: 1; }
    .guidance { background: #f8fafc; border: 1px solid var(--line); border-radius: 12px; padding: 14px; font-size: 13px; line-height: 1.5; max-height: 310px; overflow: auto; }
    .guidance-block + .guidance-block { border-top: 1px solid var(--line); margin-top: 14px; padding-top: 14px; }
    .guidance-heading { font-size: 11px; font-weight: 850; letter-spacing: .055em; color: #475569; margin-bottom: 6px; }
    .guidance-text { white-space: pre-wrap; }
    .form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 14px; }
    .form-full { grid-column: 1 / -1; }
    .action-panel { margin-top: 16px; padding-top: 16px; border-top: 1px solid var(--line); }
    .action-panel h4 { margin: 0 0 10px; }
    .danger-note { font-size: 12px; color: var(--red); margin-top: 9px; }

    .toast {
      position: fixed;
      right: 20px;
      bottom: 20px;
      z-index: 200;
      color: white;
      background: #152f4c;
      padding: 12px 15px;
      border-radius: 12px;
      box-shadow: var(--shadow);
      max-width: 380px;
      font-size: 13px;
    }
    .toast.error { background: var(--red); }

    .loading { opacity: .72; pointer-events: none; }
    body.busy { cursor: wait; }
    body.busy .overlay:not(#actionBusyOverlay) { pointer-events: none; }
    body.busy .modal { opacity: .82; }
    #actionBusyOverlay {
      position: fixed;
      inset: 0;
      z-index: 1000;
      display: flex;
      align-items: center;
      justify-content: center;
      padding: 20px;
      background: rgba(12, 28, 47, .38);
    }
    .action-busy-card {
      width: min(360px, 92vw);
      background: white;
      border-radius: 16px;
      box-shadow: 0 24px 80px rgba(0,0,0,.24);
      padding: 24px 22px;
      text-align: center;
    }
    .action-spinner {
      width: 38px;
      height: 38px;
      margin: 0 auto 14px;
      border: 4px solid #dce7f0;
      border-top-color: var(--blue);
      border-radius: 50%;
      animation: actionSpin .8s linear infinite;
    }
    @keyframes actionSpin { to { transform: rotate(360deg); } }
    .action-busy-title { font-size: 16px; font-weight: 850; color: var(--navy); }
    .action-busy-sub { margin-top: 6px; color: var(--muted); font-size: 12px; line-height: 1.45; }
    .small-help { font-size: 11px; color: var(--muted); margin-top: 5px; line-height: 1.35; }

    .mode-badge { margin-top: 9px; display: inline-flex; align-items: center; border-radius: 999px; padding: 5px 9px; font-size: 10px; font-weight: 850; letter-spacing: .045em; background: rgba(255,255,255,.18); color: white; }
    .login-card { max-width: 520px; margin: 34px auto 0; padding: 22px; }
    .login-card h2 { margin: 0 0 7px; font-size: 22px; }
    .login-card p { margin: 0 0 16px; color: var(--muted); font-size: 13px; line-height: 1.5; }
    .login-row { display: grid; grid-template-columns: 1fr auto; gap: 10px; align-items: end; }
    .readonly-banner { margin-bottom: 16px; padding: 12px 14px; background: var(--blue-soft); border: 1px solid #cfe6fa; border-radius: 12px; color: var(--blue-dark); font-size: 13px; line-height: 1.45; }
    .readonly-banner strong { display: block; margin-bottom: 2px; }
    .readonly-requirement { min-width: 112px; text-align: center; padding: 7px 10px; border-radius: 9px; background: var(--gray-bg); color: #4f5b67; font-size: 12px; font-weight: 850; }


    .shift-goals-card { background: #fff; border: 1px solid var(--line); border-radius: 16px; margin: 16px 0 20px; overflow: hidden; box-shadow: 0 1px 2px rgba(15,23,42,.04); }
    .shift-goals-head { padding: 15px 17px; border-bottom: 1px solid var(--line); display:flex; align-items:center; justify-content:space-between; gap:12px; background:#f8fafc; }
    .shift-goals-title { font-weight: 850; color: var(--navy); font-size: 16px; }
    .shift-goals-sub { font-size: 12px; color: var(--muted); margin-top: 2px; }
    .shift-goals-body { padding: 16px 17px 18px; }
    .shift-goal-block + .shift-goal-block { border-top: 1px solid var(--line); margin-top: 15px; padding-top: 15px; }
    .shift-goal-label { font-size: 11px; font-weight: 850; letter-spacing: .055em; color:#475569; margin-bottom:7px; }
    .shift-goal-copy { white-space: pre-wrap; font-size: 13px; line-height: 1.55; color:#1f2937; }
    .shift-helm-links { display:flex; flex-wrap:wrap; gap:8px; margin-top:8px; }
    .shift-goals-empty { padding: 15px 17px; font-size: 13px; color: var(--muted); }

    .workspace-home { margin-bottom: 18px; }
    .workspace-home h2 { margin: 0 0 7px; color: var(--navy, #17395e); font-size: 22px; }
    .workspace-home-copy { color: var(--muted); font-size: 13px; line-height: 1.5; margin-bottom: 14px; }
    .workspace-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; }
    .workspace-choice { background:var(--card); border:1px solid var(--line); border-radius:var(--radius); box-shadow:var(--shadow); padding:18px; text-align:left; transition:.15s ease; }
    .workspace-choice:hover { transform:translateY(-1px); border-color:#b9d5ef; }
    .workspace-choice-title { color:var(--blue-dark); font-size:17px; font-weight:850; margin-bottom:6px; }
    .workspace-choice-copy { color:var(--muted); font-size:12px; line-height:1.5; }
    .workspace-nav { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:16px; align-items:center; }
    .workspace-nav .btn.active { background:var(--blue); color:#fff; }
    .workspace-panel { margin-bottom:20px; }
    .controls.assignment-controls { grid-template-columns:1fr 1.2fr 1.2fr .7fr auto; }
    .assignment-context { display:inline-flex; gap:6px; flex-wrap:wrap; align-items:center; margin-top:6px; }
    .assignment-pill { display:inline-flex; border-radius:999px; padding:4px 8px; background:#eef6fd; color:#244e78; font-size:10px; font-weight:800; }
    .executive-filter-grid { display:grid; grid-template-columns:1.2fr repeat(5, minmax(125px,1fr)); gap:10px; margin-top:12px; }
    .exec-stats { display:grid; grid-template-columns:repeat(4,1fr); gap:10px; margin:14px 0; }
    .exec-stat { background:#fff; border:1px solid var(--line); border-radius:12px; padding:12px; }
    .exec-stat strong { display:block; font-size:21px; color:var(--blue-dark); }
    .exec-stat span { font-size:11px; color:var(--muted); }
    .exec-stat-note { grid-column:1 / -1; font-size:11px; line-height:1.45; color:var(--muted); padding:2px 3px 0; }
    .exec-person { background:#fff; border:1px solid var(--line); border-radius:14px; margin-bottom:10px; overflow:hidden; box-shadow:0 4px 16px rgba(21,47,76,.04); }
    .exec-person summary { list-style:none; cursor:pointer; padding:14px 16px; display:grid; grid-template-columns:minmax(220px,1.25fr) minmax(500px,1.75fr); gap:16px; align-items:center; }
    .exec-person summary::-webkit-details-marker { display:none; }
    .weekly-rank-table { width:100%; border-collapse:collapse; background:#fff; border:1px solid var(--line); border-radius:14px; overflow:hidden; }
    .weekly-rank-table th,.weekly-rank-table td { padding:10px 12px; border-bottom:1px solid var(--line); text-align:left; font-size:12px; vertical-align:middle; }
    .weekly-rank-table th { background:#f4f8fc; color:var(--blue-dark); font-weight:850; }
    .weekly-rank-num { width:44px; font-weight:900; color:var(--blue-dark); }
    .weekly-rank-bar-wrap { height:6px; background:#e8eef4; border-radius:999px; overflow:hidden; margin-top:5px; min-width:80px; }
    .weekly-rank-bar { height:100%; background:var(--blue); border-radius:999px; }

    .expandable-control > summary { cursor:pointer; list-style:none; }
    .expandable-control > summary::-webkit-details-marker { display:none; }
    .expand-summary-action { display:flex; align-items:center; justify-content:flex-end; gap:10px; min-width:max-content; }
    .expand-chevron { display:inline-flex; align-items:center; justify-content:center; width:20px; height:20px; color:var(--blue-dark); font-size:17px; font-weight:900; line-height:1; transition:transform .15s ease; transform-origin:center; }
    .expandable-control[open] .expand-chevron { transform:rotate(90deg); }
    .kpi-collapsible > summary, .recognition-collapsible > summary { cursor:pointer; list-style:none; }
    .kpi-collapsible > summary::-webkit-details-marker, .recognition-collapsible > summary::-webkit-details-marker { display:none; }
    .kpi-collapsible:not([open]) > summary { margin-bottom:0; }
    .recognition-collapsible:not([open]) > summary { margin-bottom:0; }
    .kpi-content-actions { display:flex; justify-content:flex-end; margin:-2px 0 10px; }
    .recognition-panel-body { padding-top:2px; }
    .post-requirement.planned { border-style:dashed; background:#f8fafc; opacity:.88; }
    .planned-status { display:inline-flex; margin-top:8px; padding:4px 8px; border-radius:999px; background:#eef2f6; color:#5f6b78; font-size:9px; font-weight:850; letter-spacing:.03em; text-transform:uppercase; }

    .employment-list { display:grid; gap:8px; }
    .employment-row { display:grid; grid-template-columns:minmax(180px,1fr) minmax(130px,.6fr) auto auto; gap:10px; align-items:center; padding:10px 12px; border:1px solid var(--line); border-radius:10px; background:#fff; }
    .employment-status-chip { display:inline-flex; align-items:center; justify-content:center; border-radius:999px; padding:5px 9px; font-size:12px; font-weight:800; white-space:nowrap; }
    .employment-status-chip.active { background:#e9f7ef; color:#157347; }
    .employment-status-chip.inactive { background:#f3f4f6; color:#6b7280; }
    @media (max-width:760px) {
      .employment-row { grid-template-columns:1fr auto; }
      .employment-row-location { grid-column:1 / -1; }
    }
    .weekly-location-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin:0 0 14px; }
    .weekly-location-card { background:#fff; border:1px solid var(--line); border-radius:12px; padding:12px; }
    .weekly-location-card strong { color:var(--blue-dark); display:block; margin-bottom:4px; }

    .exec-person-name { font-weight:850; color:var(--ink); }
    .exec-person-meta { color:var(--muted); font-size:11px; margin-top:2px; }
    .exec-card-metrics { display:grid; grid-template-columns:1.25fr .9fr .85fr .85fr .85fr; gap:8px; align-items:stretch; }
    .exec-metric { background:#f8fafc; border:1px solid #e3eaf1; border-radius:10px; padding:8px 10px; min-width:0; }
    .exec-metric-label { color:#64748b; font-size:9px; line-height:1.2; font-weight:850; letter-spacing:.045em; text-transform:uppercase; margin-bottom:4px; }
    .exec-metric-value { color:var(--blue-dark); font-size:18px; line-height:1.1; font-weight:900; }
    .exec-metric-sub { color:var(--muted); font-size:9px; line-height:1.25; margin-top:3px; }
    .exec-metric-progress { width:78px; max-width:100%; height:5px; border-radius:999px; background:#e2e8f0; overflow:hidden; margin-top:6px; }
    .exec-metric-progress > span { display:block; height:100%; background:var(--blue); border-radius:inherit; }
    .exec-body { border-top:1px solid var(--line); padding:14px 16px 16px; background:#fbfdff; }
    .exec-assignment { background:#fff; border:1px solid var(--line); border-radius:12px; padding:12px; margin-bottom:10px; }
    .exec-assignment-head { display:flex; justify-content:space-between; gap:12px; align-items:flex-start; }
    .exec-task-grid { display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:6px 14px; margin-top:10px; }
    .exec-task { font-size:11px; color:#465568; padding:5px 0; border-bottom:1px dotted #e2e8f0; }
    .exec-task.complete { color:var(--green); }
    .exec-task.incomplete { color:#7c4a00; }
    .assign-layout { display:grid; grid-template-columns:minmax(260px,.8fr) minmax(360px,1.2fr); gap:14px; }
    .assign-card { background:#fff; border:1px solid var(--line); border-radius:14px; padding:16px; box-shadow:var(--shadow); }
    .assign-card h3 { margin:0 0 5px; color:var(--blue-dark); font-size:17px; }
    .assign-help { color:var(--muted); font-size:12px; line-height:1.45; margin-bottom:12px; }
    .assign-people-list { max-height:300px; overflow:auto; border:1px solid var(--line); border-radius:10px; padding:6px; }
    .assign-person { display:flex; gap:9px; align-items:center; padding:8px; border-radius:8px; font-size:12px; }
    .assign-person:hover { background:#f7fafc; }
    .assign-person input { width:auto; }
    .catalog-tools { display:grid; grid-template-columns:1fr 180px; gap:8px; margin-bottom:8px; }
    .catalog-list { max-height:430px; overflow:auto; border:1px solid var(--line); border-radius:10px; }
    .catalog-section { padding:8px 10px; background:#f1f6fb; font-size:11px; font-weight:850; color:var(--blue-dark); position:sticky; top:0; z-index:1; }
    .catalog-row { display:grid; grid-template-columns:auto 1fr auto; gap:9px; align-items:start; padding:8px 10px; border-top:1px solid #eef2f6; font-size:12px; }
    .catalog-row input { width:auto; margin-top:2px; }
    .catalog-locations { color:var(--muted); font-size:10px; white-space:nowrap; }
    .inline-add-person { background:#f8fafc; border:1px dashed #cbd5e1; border-radius:10px; padding:10px; margin-top:10px; }
    .inline-add-grid { display:grid; grid-template-columns:1.3fr 1fr auto; gap:8px; align-items:end; }
    .assignment-history-note { background:#eef7ff; border:1px solid #cbe4fa; color:#305779; border-radius:10px; padding:10px 12px; font-size:11px; line-height:1.45; margin-bottom:12px; }
    @media (max-width: 980px) {
      .workspace-grid { grid-template-columns:1fr; }
      .controls.assignment-controls { grid-template-columns:1fr 1fr; }
      .executive-filter-grid { grid-template-columns:1fr 1fr; }
      .assign-layout { grid-template-columns:1fr; }
      .exec-person summary { grid-template-columns:1fr; }
      .exec-card-metrics { grid-template-columns:repeat(5, minmax(0,1fr)); }
      .exec-task-grid { grid-template-columns:1fr; }
    }
    @media (max-width: 700px) {
      .exec-card-metrics { grid-template-columns:repeat(2, minmax(0,1fr)); }
      .performance-snapshot-grid,.data-freshness-grid,.data-freshness-columns,.history-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
      .product-breakdown-grid { grid-template-columns:1fr; }
    }

    @media (max-width: 820px) {
      .steps { grid-template-columns: 1fr; }
      .controls { grid-template-columns: 1fr 1fr; }
      .controls .trainer-control, .controls .trainee-control { grid-column: span 1; }
      .summary-top { flex-direction: column; }
      .status-box { max-width: none; width: 100%; }
      .stats { grid-template-columns: repeat(2, 1fr); }
      .task, .kr-row { grid-template-columns: 1fr; }
      .task-actions, .kr-actions { justify-content: space-between; }
      .search { max-width: none; width: 100%; }
    }

    @media (max-width: 520px) {
      .topbar { padding: 16px 14px; }
      .topbar-inner { min-height: 92px; align-items: center; text-align: center; }
      .page { padding: 14px; }
      .topbar { padding: 18px 15px; }
      .controls { grid-template-columns: 1fr; }
      .form-grid { grid-template-columns: 1fr; }
      .stats { grid-template-columns: 1fr 1fr; }
    }
  
    .post-onboarding-wrap { margin-top:18px; }
    .post-card { background:#fff; border:1px solid var(--line); border-radius:16px; padding:18px; margin-bottom:14px; box-shadow:0 5px 18px rgba(32,65,95,.05); }
    .post-head { display:flex; justify-content:space-between; gap:16px; align-items:flex-start; margin-bottom:14px; }
    .post-title { font-size:18px; font-weight:850; color:var(--ink); }
    .post-sub { color:var(--muted); font-size:11px; line-height:1.45; margin-top:4px; }
    .post-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
    .post-requirement { border:1px solid var(--line); border-radius:13px; padding:13px; background:#fbfdff; }
    .post-requirement-head { display:flex; justify-content:space-between; gap:10px; align-items:flex-start; }
    .post-requirement-title { font-weight:800; font-size:13px; color:var(--ink); }
    .post-count { font-weight:900; font-size:16px; color:#285f8f; white-space:nowrap; }
    .post-mini-track { height:7px; background:#e8eef4; border-radius:999px; overflow:hidden; margin:9px 0; }
    .post-mini-track span { display:block; height:100%; background:#5597c8; border-radius:999px; }
    .post-review { padding:7px 0; border-top:1px solid #e9eef3; font-size:10px; line-height:1.4; }
    .post-review:first-child { border-top:0; }
    .performance-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px; align-items:start; }
    .performance-column { display:flex; flex-direction:column; gap:12px; min-width:0; }
    .performance-panel { border:1px solid var(--line); border-radius:13px; padding:14px; background:#fbfdff; }

    .sales-performance-column { grid-column:1/-1; }
    .weekly-duties-panel,.operational-workload-panel { grid-column:1/-1; }

    .performance-snapshot-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(170px,1fr)); gap:8px; margin:12px 0 14px; }
    .performance-snapshot-card { border:1px solid var(--line); border-radius:11px; padding:10px; background:#fff; min-width:0; }
    .performance-snapshot-label { font-size:10px; font-weight:800; color:var(--muted); text-transform:uppercase; letter-spacing:.035em; }
    .performance-snapshot-value { margin-top:4px; font-size:18px; font-weight:900; color:var(--blue-dark); line-height:1.15; }
    .performance-snapshot-sub { margin-top:3px; font-size:11px; color:var(--muted); line-height:1.25; }
    .trend-up { color:var(--green); font-weight:800; }
    .trend-down { color:#b5473c; font-weight:800; }
    .trend-flat { color:var(--muted); font-weight:800; }
    .data-freshness-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; margin-top:10px; }
    .data-freshness-columns { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; margin-top:10px; align-items:start; }
    .data-freshness-column { display:flex; flex-direction:column; gap:8px; min-width:0; }
    .data-freshness-card { border:1px solid var(--line); border-radius:11px; padding:10px 11px; background:#fff; }
    .freshness-status { display:inline-block; padding:3px 7px; border-radius:999px; font-size:10px; font-weight:850; margin-top:5px; }
    .freshness-current,.freshness-live { background:var(--green-bg); color:var(--green); }
    .freshness-update_recommended { background:var(--yellow-bg); color:var(--yellow); }
    .freshness-error { background:#fdeceb; color:#b5473c; }
    .exec-signal-row { display:flex; gap:6px; flex-wrap:wrap; margin-top:7px; }
    .exec-signal { display:inline-flex; align-items:center; gap:4px; padding:3px 7px; border-radius:999px; background:#eef4fb; color:var(--blue-dark); font-size:10px; font-weight:800; }
    .exec-signal-attention { background:var(--yellow-bg); color:var(--yellow); }
    .exec-signal-action { background:#fdeceb; color:#b5473c; }
    .product-breakdown-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-top:12px; }
    .product-breakdown-card { border:1px solid var(--line); border-radius:13px; padding:12px; background:#fff; }
    .product-breakdown-list { display:grid; gap:6px; margin-top:8px; }
    .product-breakdown-row { width:100%; text-align:left; border:1px solid var(--line); background:#fbfdff; border-radius:9px; padding:8px 9px; cursor:pointer; display:flex; justify-content:space-between; gap:10px; }
    .historical-performance { border-top:1px solid var(--line); margin-top:14px; padding-top:12px; }
    .history-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; margin-top:10px; }
    .summary-textarea { width:100%; min-height:300px; white-space:pre-wrap; font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace; font-size:13px; line-height:1.5; }
    .summary-export-actions { display:flex; gap:8px; justify-content:flex-end; flex-wrap:wrap; margin-top:10px; }
    .summary-export-quick { display:flex; gap:7px; flex-wrap:wrap; margin:10px 0; }
    .summary-export-list { max-height:360px; overflow:auto; border:1px solid var(--line); border-radius:10px; padding:6px; background:#fff; }
    .summary-export-person { display:flex; gap:9px; align-items:center; padding:8px; border-radius:8px; font-size:12px; }
    .summary-export-person:hover { background:#f7fafc; }
    .summary-export-person input { width:auto; }
    .summary-export-count { margin-top:8px; font-size:12px; color:var(--muted); font-weight:750; }
    .summary-export-note { margin-top:8px; padding:9px 10px; border-radius:8px; background:#f7fafc; color:var(--muted); font-size:12px; line-height:1.45; }
    .recognition-panel { grid-column:1 / -1; }
    .recognition-summary-row { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:12px; margin-bottom:10px; }
    .recognition-count { font-size:30px; line-height:1; font-weight:900; color:var(--blue-dark); }
    .recognition-count-label { margin-top:5px; font-size:11px; color:var(--muted); font-weight:750; text-transform:uppercase; letter-spacing:.03em; }
    .recognition-list { display:grid; gap:8px; margin-top:12px; }
    .recognition-item { border:1px solid var(--line); border-radius:10px; background:#fff; overflow:hidden; }
    .recognition-item summary { cursor:pointer; padding:10px 12px; font-weight:800; color:var(--blue-dark); }
    .recognition-body { padding:0 12px 12px; color:var(--text); white-space:pre-wrap; line-height:1.5; font-size:13px; }
    .recognition-person-card { border:1px solid var(--line); border-radius:14px; background:#fff; margin-top:10px; overflow:hidden; }
    .recognition-person-card > summary { cursor:pointer; display:flex; justify-content:space-between; gap:12px; align-items:center; padding:14px; font-weight:850; color:var(--blue-dark); }
    .recognition-person-body { padding:0 14px 14px; }
    .performance-title { font-size:13px; font-weight:850; margin-bottom:3px; }
    .metric-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; margin-top:10px; }
    .metric { background:#fff; border:1px solid #e7edf3; border-radius:10px; padding:9px; }
    .metric-value { font-size:17px; font-weight:900; color:#285f8f; }
    .metric-label { font-size:9px; color:var(--muted); margin-top:2px; line-height:1.25; }
    .weekly-manual-note { margin-top:10px; padding:9px 10px; border-radius:10px; background:#f4f8fb; border:1px solid #dce8f1; color:#51677a; font-size:10px; line-height:1.4; }
    .weekly-form { display:grid; grid-template-columns:1fr 1fr; gap:9px; margin-top:10px; }
    .weekly-form .full { grid-column:1/-1; }
    .field-help { color:var(--muted); font-size:9px; line-height:1.35; margin-top:4px; }
    .info-tip { display:inline-flex; align-items:center; justify-content:center; width:16px; height:16px; border-radius:50%; background:#e8f0f7; color:var(--blue-dark); font-size:10px; font-weight:900; cursor:help; vertical-align:middle; }
    .weekly-history { margin-top:10px; max-height:220px; overflow:auto; }
    .weekly-row { display:grid; grid-template-columns:1.35fr .8fr .9fr; gap:8px; align-items:center; padding:7px 0; border-top:1px solid #e8edf2; font-size:10px; }
    .weekly-row strong { font-size:11px; }
    .weekly-import-card { margin-top:12px; border:1px solid #cfe0ee; background:#f8fbfd; border-radius:14px; padding:14px; }
    .weekly-import-steps { margin:8px 0 0 18px; padding:0; color:#455d72; font-size:11px; line-height:1.55; }
    .weekly-import-preview { margin-top:12px; }
    .weekly-import-table { width:100%; border-collapse:collapse; font-size:10px; margin-top:8px; }
    .weekly-import-table th,.weekly-import-table td { padding:7px 8px; border-bottom:1px solid #e2e8ef; text-align:left; vertical-align:top; }
    .weekly-import-table th { color:#607286; font-size:9px; text-transform:uppercase; letter-spacing:.04em; }
    .weekly-import-note { margin-top:10px; padding:10px 12px; border-radius:10px; background:#f8fafc; border:1px solid #dbe5ef; color:#475569; font-size:11px; line-height:1.45; }
    .weekly-import-warning { margin-top:8px; padding:9px 10px; border-radius:9px; background:#fff6e8; border:1px solid #f3d4a0; color:#80551a; font-size:10px; line-height:1.45; }
    .weekly-import-error { margin-top:8px; padding:9px 10px; border-radius:9px; background:#fdeceb; border:1px solid #f0b4ae; color:#8d241d; font-size:10px; line-height:1.45; }
    .weekly-missing-time { display:grid; grid-template-columns:minmax(0,1fr) 120px; gap:10px; align-items:center; padding:9px 0; border-top:1px solid #e8edf2; }
    .post-status-chip { display:inline-flex; padding:4px 8px; border-radius:999px; font-size:9px; font-weight:850; background:#eaf4ec; color:#2d7040; }
    .post-status-chip.warn { background:#fff3d7; color:#8a630f; }
    .exec-health { display:flex; gap:6px; flex-wrap:wrap; margin:10px 0 2px; }
    .exec-health span { display:inline-flex; padding:5px 8px; border-radius:999px; background:#f1f5f8; font-size:9px; font-weight:800; color:#466177; }
    @media(max-width:760px){ .post-grid,.performance-grid,.metric-grid { grid-template-columns:1fr; } .weekly-form { grid-template-columns:1fr; } .recognition-panel{grid-column:auto;} }

.post-preview-banner {
      margin-bottom:12px;
      padding:11px 13px;
      border:1px solid #e5b74b;
      border-radius:12px;
      background:#fff7dc;
      color:#6f4e05;
      font-size:11px;
      line-height:1.45;
      font-weight:700;
    }
    .post-preview-banner strong { font-weight:900; }
    .sales-health {
      margin-top:10px;
      padding:11px 12px;
      border-radius:12px;
      border:1px solid #dfe7ee;
      background:#f7fafc;
      font-size:10px;
      line-height:1.45;
    }
    .sales-health.action { background:#fdeceb; border-color:#f2b9b5; color:#8d241d; }
    .sales-health.watch { background:#fff6d8; border-color:#ead188; color:#7c5700; }
    .sales-health.good { background:#e9f7ef; border-color:#b9dfc8; color:#27663b; }
    .sales-health.threshold { background:#eef4fa; border-color:#ccdbe8; color:#35536e; }
    .sales-health-title { font-size:12px; font-weight:900; margin-bottom:4px; }
    .sales-action-list { margin:7px 0 0 17px; padding:0; }
    .sales-action-list li { margin:3px 0; }
    .sales-months { margin-top:10px; border-top:1px solid #e7edf2; }
    .sales-month-row {
      display:grid;
      grid-template-columns:1fr .85fr 1fr;
      gap:8px;
      align-items:center;
      padding:7px 0;
      border-bottom:1px solid #edf1f4;
      font-size:10px;
    }
    .sales-month-row strong { font-size:11px; }
    .sales-rate-low { color:#a52a22; font-weight:900; }
    .sales-rate-ok { color:#28673d; font-weight:900; }
    .preview-readonly-note { margin-top:8px; font-size:10px; color:#7b5a0c; font-weight:750; }
    @media(max-width:760px){ .sales-month-row { grid-template-columns:1fr 1fr; } }

    .sales-action-panel{margin-top:12px;padding:13px;border:1px solid #e2c078;border-radius:12px;background:#fffaf0}
    .sales-action-panel.pending{border-color:#e7a8a3;background:#fff0ef}
    .sales-action-panel.done{border-color:#b9dfc8;background:#edf8f1}
    .sales-action-heading{font-size:12px;font-weight:900;margin-bottom:5px}
    .sales-action-meta{font-size:10px;line-height:1.45;color:#56626d}
    .action-resource-row{display:flex;flex-wrap:wrap;gap:6px;margin-top:9px}
    .action-resource-row a{font-size:10px;font-weight:800;text-decoration:none}
    .action-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
    .action-guidance{margin:10px 0;padding:10px 11px;border-radius:10px;background:#f4f7fa;font-size:10px;line-height:1.5}
    .action-guidance strong{font-weight:900}
    .action-checks{display:grid;grid-template-columns:1fr 1fr;gap:8px 12px;margin-top:8px}
    .action-checks label{display:flex;gap:7px;align-items:flex-start;font-size:10px;line-height:1.35}
    @media(max-width:760px){.action-grid,.action-checks{grid-template-columns:1fr}}

.exec-sales-alert{margin:10px 0 12px;padding:11px 13px;border:1px solid #f0b4ae;border-radius:11px;background:#fdeceb;color:#8d241d;font-size:12px;line-height:1.45;font-weight:750}
    .exec-sales-alert strong{font-weight:900}

    @media(max-width:700px){.weekly-location-grid{grid-template-columns:1fr}.weekly-rank-table th:nth-child(3),.weekly-rank-table td:nth-child(3){display:none}}

    .team-member-pin-gate{margin-top:14px;padding:14px;border:1px solid #bfd9f3;border-radius:12px;background:var(--blue-soft)}
    .manager-preview-login{margin-top:11px;padding-top:10px;border-top:1px solid #bfd9f3}
    .manager-preview-login summary{cursor:pointer;color:#17395e;font-size:11px}
    .manager-preview-banner{margin:0 0 12px;padding:10px 12px;border:1px solid #d5b46f;border-radius:10px;background:#fff9e8;color:#6d520f;font-size:11px;line-height:1.45}
    .team-member-pin-row{display:grid;grid-template-columns:minmax(180px,320px) auto;gap:10px;align-items:end}
    .team-member-pin-status{font-size:12px;line-height:1.45;color:var(--blue-dark);margin-top:7px}
    .team-member-access-card{padding:0;margin:0 0 14px;border:1px solid var(--line);border-radius:14px;background:#fbfdff;overflow:hidden}
    .team-member-access-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;flex-wrap:wrap;padding:16px 18px}
    .team-member-access-card[open] .team-member-access-head{border-bottom:1px solid var(--line)}
    .team-member-access-card .team-member-access-form{margin:12px 18px 16px}
    .team-member-access-title{font-size:15px;font-weight:850;color:var(--blue-dark)}
    .team-member-access-form{display:grid;grid-template-columns:minmax(180px,1fr) minmax(180px,1fr) auto;gap:10px;align-items:end;margin-top:12px}
    .team-member-access-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:end}
    .curriculum-formatted{line-height:1.5}.curriculum-formatted .fmt-h1{font-size:1.12em;font-weight:850;margin:6px 0 4px}.curriculum-formatted .fmt-h2{font-size:1.04em;font-weight:850;margin:5px 0 3px}.curriculum-formatted .fmt-line{margin:2px 0}.curriculum-formatted .fmt-spacer{height:8px}.curriculum-formatted ul{margin:5px 0 7px 20px;padding:0}.curriculum-formatted li{margin:2px 0}
    @media(max-width:760px){.team-member-pin-row,.team-member-access-form{grid-template-columns:1fr}}
  
/* MVP 3.8.3: Timesheet-normalized Weekly Duties + Recognition Helm generator */
.weekly-summary-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin:10px 0 12px}
.weekly-summary-card{border:1px solid var(--line);border-radius:12px;background:#fff;padding:11px 12px;display:flex;flex-direction:column;gap:4px}
.weekly-summary-card span{font-size:11px;color:var(--muted);font-weight:750;line-height:1.3}
.weekly-summary-card strong{font-size:20px;color:var(--blue-dark)}
.weekly-normalized-note{border:1px solid #b9dfc7;background:var(--green-bg);color:#23653d;border-radius:11px;padding:10px 12px;margin:10px 0;font-size:12px;line-height:1.45}
@media(max-width:1100px){.weekly-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.weekly-rank-table{min-width:1180px}}
@media(max-width:700px){.weekly-summary-grid{grid-template-columns:1fr 1fr}}
#executiveWeeklyLeaderboard{overflow-x:auto}
#executiveWeeklyLeaderboard .weekly-rank-table{min-width:1180px}


/* MVP 3.8.3: Recognition Helm update generator */
.recognition-toolbar-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end;align-items:center}
.recognition-toolbar-actions .btn{padding:8px 10px;font-size:10px}
.recognition-generator-note{margin-bottom:12px;padding:11px 13px;border:1px solid #c9dced;border-radius:11px;background:#f3f8fc;color:#35536e;font-size:11px;line-height:1.5}
@media(max-width:760px){.recognition-toolbar-actions{justify-content:flex-start}.recognition-toolbar-actions .btn{flex:1 1 auto}}


/* MVP 3.8.4: Executive report toolbar layout + Monthly Self-Evaluation */
.executive-view-toolbar{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:14px}
.executive-view-toolbar>.row-actions{justify-content:flex-end;align-items:flex-start}

.executive-view-toolbar>div:first-child{min-width:300px}
.executive-view-toolbar>div:last-child{min-width:0}
.executive-view-toolbar .row-actions .btn{padding:8px 10px;font-size:10px;white-space:nowrap}
.executive-quick-view-wide{grid-column:1/-1;min-width:0}
.phase3-quick-view{grid-column:2 / -1;min-width:0}
.phase3-quick-buttons{display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.phase3-quick-buttons .btn{white-space:nowrap}
.weekly-quick-five{grid-template-columns:repeat(5,minmax(0,1fr))}
.product-breakdown-details{margin-top:10px;border:1px solid var(--line);border-radius:11px;background:#fbfdff;overflow:hidden}
.product-breakdown-details>summary{cursor:pointer;padding:10px 12px;list-style:none}
.product-breakdown-scroll{overflow-x:auto;border-top:1px solid var(--line)}
.product-breakdown-table{width:100%;border-collapse:collapse;min-width:680px;font-size:10px}
.product-breakdown-table th,.product-breakdown-table td{padding:8px 10px;border-bottom:1px solid #e7edf2;text-align:left;vertical-align:top}
.product-breakdown-table th{font-size:9px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);background:#f7fafc}
.self-eval-card{border-width:2px}
.self-eval-due{border-color:#b9d7f0;background:#fbfdff}
.self-eval-overdue{border-color:#e4a29d;background:#fff8f7}
.self-eval-complete{border-color:#b8dbc5;background:#fbfffc}
.self-eval-instructions{margin:10px 0;padding:11px 12px;border:1px solid #c9dced;border-radius:10px;background:#f3f8fc;font-size:11px;line-height:1.5}
.self-eval-form{display:flex;flex-direction:column;gap:12px;margin-top:10px}
.self-eval-section-title{font-size:12px;font-weight:900;color:var(--blue-dark);margin-top:2px}
.self-eval-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
.self-eval-grid textarea,.self-eval-prior-row textarea{min-height:90px}
.self-eval-prior{padding:11px 12px;border-radius:11px;border:1px solid #e0d0a4;background:#fffaf0}
.self-eval-prior-row{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:12px;padding:10px 0;border-top:1px solid #eee2c5}
.self-eval-prior-row:first-of-type{margin-top:8px}
.self-eval-manager-note{padding:10px 12px;border-radius:10px;background:#f4f7fa;color:#5c6874;font-size:11px;line-height:1.45}
.self-eval-submitted{margin-top:10px;font-size:11px;line-height:1.5}
.self-eval-columns{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:10px}
.self-eval-label{font-weight:900;color:var(--blue-dark);margin-top:8px}
@media(max-width:900px){.executive-view-toolbar{grid-template-columns:1fr}.executive-view-toolbar>.row-actions{justify-content:flex-start}.phase3-quick-view{grid-column:1/-1}.weekly-quick-five{grid-template-columns:1fr 1fr}.self-eval-grid{grid-template-columns:1fr}.self-eval-prior-row,.self-eval-columns{grid-template-columns:1fr}}


/* MVP 3.8.6: compact Executive People table + explicit KPI source states */
.exec-people-table-wrap{width:100%;overflow-x:auto;border:1px solid var(--line);border-radius:13px;background:#fff}
.exec-people-table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:10px;line-height:1.22}
.exec-people-table col.c-person{width:12.5%}.exec-people-table col.c-location{width:7.5%}.exec-people-table col.c-training{width:15.5%}.exec-people-table col.c-phase{width:8%}.exec-people-table col.c-product{width:10%}.exec-people-table col.c-weekly{width:10.5%}.exec-people-table col.c-rec{width:8%}.exec-people-table col.c-count{width:10%}
.exec-people-table th,.exec-people-table td{padding:8px 7px;border-bottom:1px solid #e7edf2;vertical-align:middle;text-align:center;overflow-wrap:anywhere}
.exec-people-table th{background:#f7fafc;color:#596674;font-size:8.5px;line-height:1.1;text-transform:uppercase;letter-spacing:.025em;font-weight:900}
.exec-people-table th span{display:block;white-space:nowrap}
.exec-people-table td.exec-col-person,.exec-people-table td.exec-col-location,.exec-people-table td.exec-col-training{text-align:left}
.exec-people-table tbody tr:last-child td{border-bottom:0}
.exec-people-table tbody tr:hover{background:#fbfdff}
.exec-person-link{border:0;background:transparent;color:var(--blue-dark);font:inherit;font-weight:900;padding:0;cursor:pointer;text-align:left;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:2px}
.exec-kpi-sub{display:block;margin-top:2px;color:var(--muted);font-size:8.5px;line-height:1.15;font-weight:650}
.exec-kpi-loading{font-weight:800;color:#56718d}.exec-kpi-unavailable{font-weight:800;color:#9a5d12;cursor:help}.exec-kpi-muted{font-weight:750;color:var(--muted)}
.exec-kpi-source-dot{display:inline-flex;align-items:center;justify-content:center;margin-left:4px;width:14px;height:14px;border-radius:50%;background:#fff1d2;color:#8a5b05;font-size:9px;font-weight:900;cursor:help}
.exec-row-source-warning{background:#fffdf8}.exec-performance-source-warning{margin-bottom:10px}.exec-performance-source-warning .btn{margin-left:8px;padding:5px 8px;font-size:9px}
@media(max-width:1180px){.exec-people-table{font-size:9.5px}.exec-people-table th,.exec-people-table td{padding:7px 5px}.exec-people-table th{font-size:8px}.exec-kpi-sub{font-size:8px}}
@media(max-width:980px){.exec-people-table{min-width:930px}}


/* MVP 3.8.7: Recognition reminder, import guidance, compact Weekly Duties headers */
.recognition-generator-reminder{margin-bottom:9px;padding:11px 13px;border:1px solid #e0c77f;border-radius:11px;background:#fff9e8;color:#6d520f;font-size:11px;line-height:1.5}
.recognition-generator-reminder a{color:#704f00;font-weight:900}
.freshness-import-help{display:flex;gap:8px;align-items:center;justify-content:space-between;flex-wrap:wrap;margin-top:9px;padding-top:8px;border-top:1px solid var(--line);font-size:10px;line-height:1.35;color:#4f6478}
.freshness-import-btn{padding:6px 8px!important;font-size:9px!important;white-space:nowrap}
#executiveWeeklyLeaderboard{overflow-x:auto}
#executiveWeeklyLeaderboard .weekly-rank-table.weekly-rank-table-compact{width:100%;min-width:0;table-layout:fixed;font-size:9.5px}
.weekly-rank-table-compact col.wd-col-rank{width:5%}
.weekly-rank-table-compact col.wd-col-person{width:15%}
.weekly-rank-table-compact col.wd-col-location{width:9%}
.weekly-rank-table-compact col.wd-col-hours{width:12%}
.weekly-rank-table-compact col.wd-col-share{width:17%}
.weekly-rank-table-compact col.wd-col-per100{width:14%}
.weekly-rank-table-compact col.wd-col-est{width:15%}
.weekly-rank-table-compact col.wd-col-tasks{width:13%}
.weekly-rank-table-compact thead th{height:54px;padding:8px 5px;vertical-align:middle;font-size:8.5px;line-height:1.12;white-space:normal;text-align:center}
.weekly-rank-table-compact thead th span{display:block;white-space:nowrap}
.weekly-rank-table-compact tbody td{padding:8px 5px;vertical-align:middle}
@media(max-width:1050px){#executiveWeeklyLeaderboard .weekly-rank-table.weekly-rank-table-compact{font-size:9px}.weekly-rank-table-compact thead th{font-size:8px;padding:7px 4px}.weekly-rank-table-compact tbody td{padding:7px 4px}}
@media(max-width:900px){#executiveWeeklyLeaderboard .weekly-rank-table.weekly-rank-table-compact{min-width:820px}}

/* ===== MVP 3.9.0 QA / Rankings / normalized Product Sales ===== */
.kpi-ranking-panel{margin:12px 0;padding:12px;border:1px solid #dbe5ee;border-radius:12px;background:#fbfdff}
.ranking-summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
.ranking-period-label{grid-column:1/-1;font-size:12px;color:#64748b;font-weight:700;margin-bottom:1px}
.ranking-card{border:1px solid #e1e8ef;border-radius:10px;padding:10px;background:white;min-width:0}
.ranking-card-label{font-size:11px;text-transform:uppercase;letter-spacing:.035em;color:#64748b;font-weight:800}
.ranking-card-value{font-size:20px;font-weight:800;color:#16324f;margin-top:4px}
.ranking-card-rank{font-size:12px;font-weight:750;color:#1f5c84;margin-top:5px;line-height:1.35}
.ranking-card-sub{font-size:11px;color:#64748b;margin-top:4px}
.qa-feedback-panel{grid-column:1/-1}
.qa-feedback-summary{font-size:12px;color:#475569;margin:8px 0 10px}
.qa-feedback-item{border:1px solid #dbe5ee;border-radius:11px;padding:11px;margin-top:9px;background:#fff}
.qa-feedback-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
.qa-feedback-notes{margin-top:8px;white-space:pre-wrap;line-height:1.45}
.qa-feedback-meta{font-size:11px;color:#64748b;margin-top:8px}
.qa-action-box{margin-top:8px;padding:8px 10px;background:#fff8e7;border:1px solid #f3d58b;border-radius:8px;font-size:12px}
.qa-reviewer-card{overflow:visible}
.qa-filter-row{display:grid;grid-template-columns:minmax(180px,260px) minmax(220px,1fr);gap:9px;margin:10px 0}
.qa-queue-item{border:1px solid #d9e3ec;background:#fff;border-radius:12px;padding:12px;margin-top:9px}
.qa-queue-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
.qa-location{display:inline-block;font-size:11px;color:#64748b;margin-left:5px}
.qa-requirement-name{font-weight:750;margin-top:3px;color:#27435e}
.qa-queue-meta{font-size:11px;color:#64748b;margin-top:6px}
.qa-focus{font-size:12px;line-height:1.4;margin-top:7px}
.qa-mini-review{font-size:11px;background:#f7fafc;border-radius:7px;padding:6px 8px;margin-top:6px;color:#475569}
.qa-exception-note{font-size:11px;background:#f8f5ff;border:1px solid #ddd2f5;border-radius:8px;padding:7px;margin-top:7px}
.qa-status{display:inline-flex;align-items:center;border-radius:999px;padding:4px 8px;font-size:10px;font-weight:800;white-space:nowrap}
.qa-status.open{background:#e7f2ff;color:#145f9c}
.qa-status.overdue{background:#fee9e7;color:#a22922}
.qa-status.recommended{background:#fff4d6;color:#8a6200}
.qa-status.complete{background:#e8f7ed;color:#26713c}
.qa-status.exception{background:#eee8f8;color:#654393}
.qa-requirement-choices{display:grid;gap:7px;margin-top:6px}
.qa-requirement-choice{display:flex;gap:8px;align-items:flex-start;padding:9px;border:1px solid #dbe5ee;border-radius:9px;background:#fbfdff}
.qa-requirement-choice input{width:auto;margin-top:2px}
.qa-requirement-choice span{display:flex;flex-direction:column;gap:2px}
.qa-requirement-choice small{color:#64748b;line-height:1.35}
.qa-admin-table-wrap,.detailed-ranking-table-wrap,.product-exec-table-wrap{overflow-x:auto;border:1px solid #e0e7ee;border-radius:12px;background:#fff}
.qa-admin-table,.detailed-ranking-table{width:100%;border-collapse:collapse;font-size:12px}
.qa-admin-table th,.qa-admin-table td,.detailed-ranking-table th,.detailed-ranking-table td{padding:9px 8px;text-align:left;vertical-align:top;border-bottom:1px solid #edf1f5}
.qa-admin-table th,.detailed-ranking-table th{background:#f5f8fb;color:#44566b;font-size:10px;text-transform:uppercase;letter-spacing:.025em;line-height:1.25;white-space:normal}
.qa-table-focus{font-size:11px;color:#475569;margin-top:5px;max-width:300px}
.qa-table-actions{display:flex;gap:5px;flex-wrap:wrap}
.qa-table-actions .btn{padding:5px 8px;font-size:10px}
.qa-permission-row{display:flex;gap:9px;align-items:flex-start;padding:8px;border-bottom:1px solid #edf1f5}
.qa-permission-row input{width:auto;margin-top:3px}
.qa-permission-row span{display:flex;flex-direction:column}
.qa-permission-row small{font-size:11px;color:#64748b;margin-top:2px}
.detailed-ranking-table{min-width:1040px}
.detailed-ranking-table td:not(:first-child){text-align:center}
.detailed-ranking-table th:not(:first-child){text-align:center}
.detailed-rank-value{font-weight:800;color:#173a58;font-size:13px}
.detailed-rank-sub{font-size:9.5px;color:#64748b;margin-top:3px;line-height:1.3;white-space:normal}
.rank-person-link{border:0;background:transparent;padding:0;text-align:left;cursor:pointer;color:inherit}
.rank-person-link strong{display:block;color:#145f9c}
.rank-person-link span{display:block;font-size:10px;color:#64748b;margin-top:2px}
.ranking-summary-note{margin-top:12px;font-size:12px}
.assign-qa-block{border:1px solid #dbe5ee;background:#f8fbfd;border-radius:10px;padding:10px}
.product-normalized-line{font-size:10.5px;color:#526b7e;margin-top:5px;line-height:1.35}
.product-normalized-line.muted{color:#8a98a6}
.product-rank-inline{font-size:10px;font-weight:700;color:#1f5c84;margin-top:3px}
.product-exec-rank-table{min-width:900px}
.product-exec-rank-table th{white-space:normal;line-height:1.18;font-size:10px}
.product-sales-period-grid .weekly-location-card{min-height:94px}
@media (max-width:1100px){.ranking-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.detailed-ranking-table{min-width:980px}}
@media (max-width:760px){.ranking-summary-grid{grid-template-columns:1fr}.qa-filter-row{grid-template-columns:1fr}.qa-feedback-head,.qa-queue-head{flex-direction:column}.product-sales-period-grid{grid-template-columns:1fr}.qa-admin-table{min-width:820px}}

/* MVP 3.9.2: deterministic two-line Detailed People Rankings labels */
.detailed-rank-sub>div{display:block;white-space:nowrap}


/* ===== MVP 3.9.3 Manager / Combined Task Completion ===== */
#executiveManagerLeaderboard,#executiveCombinedLeaderboard{overflow-x:auto}
.task-source-breakdown-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:10px 0 12px}
.combined-task-table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:12px;background:#fff}
.combined-task-table{width:100%;min-width:1080px;border-collapse:collapse;font-size:10px}
.combined-task-table th,.combined-task-table td{padding:8px 6px;border-bottom:1px solid #e7edf2;text-align:center;vertical-align:middle}
.combined-task-table th{background:#f7fafc;color:#596674;font-size:8.5px;line-height:1.15;text-transform:uppercase;letter-spacing:.02em}
.combined-task-table td:nth-child(2){text-align:left}
.detailed-ranking-table-393{min-width:1460px}
@media(max-width:760px){.task-source-breakdown-grid{grid-template-columns:1fr}}


/* MVP 3.9.4 Drive performance source status */
.drive-source-status{margin-top:8px;padding:8px 9px;border:1px solid var(--line);border-radius:9px;background:rgba(248,250,252,.72);display:grid;gap:3px}
.drive-source-status .freshness-status{margin-left:5px}

/* ===== MVP 3.10.0 Post-Onboarding completion / Job Progression ===== */
.post-wrap-card,.job-progression-card{background:linear-gradient(180deg,#ffffff 0%,#fbfdff 100%)}
.post-wrap-grid{display:grid;gap:10px;margin-top:12px}
.post-wrap-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center;padding:11px;border:1px solid #dfe8ef;border-radius:10px;background:#fff}
.job-progression-link-editor{display:grid;grid-template-columns:minmax(220px,1fr) auto;gap:8px;margin:12px 0}
.job-progression-timeline{display:grid;gap:8px;margin-top:12px}
.job-progression-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;padding:9px 10px;border:1px solid #e2e9ef;border-radius:9px;background:#fff}
@media(max-width:760px){.post-wrap-item,.job-progression-row,.job-progression-link-editor{grid-template-columns:1fr}.post-wrap-item>div:last-child,.job-progression-row>div:last-child{justify-self:start}}


/* ===== MVP 3.11.0 Post-Onboarding collapse/read-only + individual QA ===== */
.post-onboarding-collapsible>summary,.post-subsection-details>summary{cursor:pointer;list-style:none}
.post-onboarding-collapsible>summary::-webkit-details-marker,.post-subsection-details>summary::-webkit-details-marker{display:none}
.post-onboarding-main-body{padding:0 16px 16px}
.post-subsection-details{display:block}
.post-subsection-details>.post-requirement-head{cursor:pointer;list-style:none;padding:12px 14px}
.post-subsection-details>.post-requirement-head::-webkit-details-marker{display:none}
.post-subsection-details>.post-subsection-body{padding:0 14px 14px}
.post-subsection-details:not([open])>.post-requirement-head{border-bottom:0}
.qa-individual-rules{margin:9px 0;padding:9px 10px;border:1px solid #dbe5ee;border-radius:9px;background:#f8fbfd;font-size:11px;line-height:1.45;color:#475569}
.qa-individual-row{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;padding:10px 0;border-top:1px solid #e5ebf1}
.qa-individual-row:first-of-type{border-top:0}
.post-onboarding-pointer{border-style:dashed;background:#f8fbfd}
@media(max-width:700px){.qa-individual-row{flex-direction:column}.post-onboarding-main-body{padding:0 10px 12px}.post-subsection-details>.post-subsection-body{padding:0 10px 12px}}


/* MVP 3.11.11 Team Member performance clarity */
.product-sales-panel{grid-column:1/-1;min-width:0}
.product-breakdown-details>summary{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}
.product-breakdown-details>summary>div:first-child{min-width:0}
.product-breakdown-scroll{overflow-x:visible;width:100%}
.product-breakdown-table{min-width:0;width:100%;table-layout:fixed}
.product-breakdown-table th:first-child,.product-breakdown-table td:first-child{width:28%}
.product-breakdown-table th:not(:first-child),.product-breakdown-table td:not(:first-child){width:24%}
.product-breakdown-table td{overflow-wrap:anywhere}
@media(max-width:760px){
  .product-breakdown-scroll{overflow-x:auto}
  .product-breakdown-table{min-width:640px;table-layout:auto}
}


/* MVP 3.11.13 Team Member View cleanup */
.performance-sub-collapsible{padding:0;overflow:hidden}
.performance-sub-collapsible>summary{padding:14px;cursor:pointer;list-style:none}
.performance-sub-collapsible>summary::-webkit-details-marker{display:none}
.performance-sub-collapsible>.performance-sub-body{padding:0 14px 14px}
.performance-sub-summary{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}
.performance-sub-summary>div:first-child{min-width:0}
.product-rank-inline{margin-top:6px;padding-top:5px;border-top:1px solid var(--border);font-size:10px;line-height:1.45;color:var(--muted)}
.product-rank-inline strong{color:var(--ink)}
.historical-performance.performance-sub-collapsible{margin-top:12px;border:1px solid var(--border);border-radius:14px;background:#fff}
.historical-performance.performance-sub-collapsible>.performance-sub-body{padding-top:0}


/* MVP 3.11.15 assignment history split */
.assignment-select-stack{display:grid;grid-template-columns:1fr;gap:9px}
.assignment-select-stack>div{min-width:0}
.assignment-select-stack label{display:block}
@media(min-width:980px){
  .assignment-select-stack{grid-template-columns:1fr 1fr}
}


/* MVP 3.11.17 assignment selector spacing + date presentation */
@media (min-width:981px){
  .controls.assignment-controls{
    grid-template-columns:minmax(220px,.9fr) minmax(280px,1.15fr) minmax(220px,1fr) minmax(220px,1fr);
    gap:12px;
  }
  .controls.assignment-controls .trainer-control{grid-column:1}
  .controls.assignment-controls .trainee-control{grid-column:2}
  .controls.assignment-controls .assignment-control{
    grid-column:3 / 5;
    min-width:0;
  }
  .assignment-select-stack{
    grid-template-columns:minmax(210px,1fr) minmax(230px,1fr);
    gap:12px;
  }
  .assignment-select-stack label{
    white-space:nowrap;
  }

  /* If Full Onboarding exposes shift controls, keep them on a clean second row
     instead of squeezing the Active/Completed selectors. */
  .controls.assignment-controls .shift-view-control{
    grid-column:1 / 3;
  }
  .controls.assignment-controls .button-control{
    grid-column:3 / 5;
    align-self:end;
  }

  /* Team Member View has no trainer-name field. Give assignment history nearly
     the entire remaining row so neither heading nor dropdown feels cramped. */
  .team-member-view-mode .controls.assignment-controls{
    grid-template-columns:minmax(260px,.8fr) minmax(240px,1fr) minmax(240px,1fr) minmax(240px,1fr);
  }
  .team-member-view-mode .controls.assignment-controls .trainee-control{
    grid-column:1;
  }
  .team-member-view-mode .controls.assignment-controls .assignment-control{
    grid-column:2 / 5;
  }
}

/* On tablet sizes, keep the two assignment selectors together but allow them
   to stack if the viewport no longer supports readable single-line labels. */
@media (max-width:980px){
  .controls.assignment-controls .assignment-control{
    grid-column:1 / -1;
  }
  .assignment-select-stack{
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  }
}
@media (max-width:700px){
  .assignment-select-stack{
    grid-template-columns:1fr;
  }
}


/* MVP 3.11.18 Team Member ranking visibility */
.kpi-inline-ranks{
  margin-top:7px;
  padding-top:6px;
  border-top:1px solid var(--border);
  color:var(--muted);
  font-size:10px;
  line-height:1.45;
}
.kpi-inline-ranks strong{color:var(--ink)}
.sales-month-row-ranked{
  grid-template-columns:minmax(78px,.7fr) minmax(62px,.5fr) minmax(110px,1fr);
}
.sales-month-rank{
  grid-column:1/-1;
  color:var(--muted);
  font-size:10px;
  line-height:1.35;
  overflow-wrap:anywhere;
  white-space:normal;
  padding-top:2px;
}
.combined-tasks-panel{grid-column:1/-1}
@media(max-width:760px){
  .sales-month-row-ranked{grid-template-columns:1fr 1fr}
  .sales-month-row-ranked>div:nth-child(3){grid-column:1/-1}
  .sales-month-rank{grid-column:1/-1;margin-top:3px}
}


/* MVP 3.11.19 Monthly Self-Evaluation history + smart suggestions */
.self-eval-submitted-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:8px;
}
.self-eval-history{
  margin-top:14px;
  border:1px solid var(--border);
  border-radius:12px;
  background:#fff;
}
.self-eval-history-list{display:grid;gap:9px}
.self-eval-history-item{
  border:1px solid var(--border);
  border-radius:10px;
  overflow:hidden;
  background:var(--panel,#fff);
}
.self-eval-history-item>summary{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  list-style:none;
  cursor:pointer;
  padding:10px 12px;
}
.self-eval-history-item>summary::-webkit-details-marker{display:none}
.self-eval-history-body{padding:0 12px 12px}
.self-eval-recommendation-tools{
  display:flex;
  align-items:center;
  gap:12px;
  flex-wrap:wrap;
  padding:12px;
  margin-bottom:14px;
  border:1px solid var(--border);
  border-radius:12px;
  background:#f8fbff;
}
.self-eval-recommendation-tools .field-help{margin:0;flex:1;min-width:240px}
.self-eval-recommendation-panel{
  padding:12px;
  margin-bottom:16px;
  border:1px solid var(--border);
  border-radius:12px;
  background:#fff;
}
.self-eval-recommendation-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  margin-bottom:12px;
}
.self-eval-recommendation-columns{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
}
.self-eval-suggestion{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  padding:10px;
  margin-top:8px;
  border:1px solid var(--border);
  border-radius:10px;
  background:#f8fafc;
}
.self-eval-suggestion>div{min-width:0;line-height:1.45}
.self-eval-suggestion .btn{flex:0 0 auto}
@media(max-width:760px){
  .self-eval-submitted-head{align-items:flex-start;flex-direction:column}
  .self-eval-recommendation-columns{grid-template-columns:1fr}
  .self-eval-suggestion{flex-direction:column}
}


/* MVP 3.11.20 Self-Evaluation submit follow-through */
#selfEvalHelmModal .summary-export-note{
  font-weight:600;
}


/* MVP 3.11.25 Communication History */
.communication-filter-grid{grid-template-columns:repeat(4,minmax(150px,1fr))}
.communication-history-list{display:grid;gap:9px;margin-top:12px}
.communication-history-item{
  border:1px solid var(--border);
  border-radius:12px;
  background:#fff;
  overflow:hidden;
}
.communication-history-item>summary{
  list-style:none;
  cursor:pointer;
  display:grid;
  grid-template-columns:minmax(135px,.85fr) minmax(170px,1fr) minmax(170px,1fr) minmax(260px,2fr) auto 18px;
  gap:10px;
  align-items:center;
  padding:11px 12px;
}
.communication-history-item>summary::-webkit-details-marker{display:none}
.communication-time{font-size:11px;color:var(--muted);font-weight:700}
.communication-category{font-size:11px;color:#17395e;font-weight:800}
.communication-person{display:flex;flex-direction:column;min-width:0}
.communication-person span{font-size:10px;color:var(--muted);margin-top:2px}
.communication-subject{font-size:11px;line-height:1.35;min-width:0;overflow-wrap:anywhere}
.communication-status{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  padding:4px 8px;
  font-size:9px;
  font-weight:900;
  background:#eef2f6;
  color:#475569;
}
.communication-status.sent{background:#e7f7ed;color:#176b3a}
.communication-status.failed{background:#fdecec;color:#a12525}
.communication-status.skipped{background:#fff3db;color:#8a5b00}
.communication-history-detail{padding:0 12px 12px}
.communication-detail-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
  padding-top:10px;
  border-top:1px solid var(--border);
}
.communication-detail-grid>div{
  border:1px solid var(--border);
  border-radius:9px;
  padding:8px;
  min-width:0;
}
.communication-detail-grid span{display:block;font-size:9px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-weight:800;margin-bottom:3px}
.communication-detail-grid strong{display:block;font-size:10px;overflow-wrap:anywhere}
.communication-body-preview{
  white-space:pre-wrap;
  overflow-wrap:anywhere;
  max-height:320px;
  overflow:auto;
  margin:6px 0 0;
  padding:10px;
  border:1px solid var(--border);
  border-radius:9px;
  background:#f8fafc;
  font:11px/1.45 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
}
.communication-error{
  margin-top:9px;
  padding:8px 10px;
  border-radius:9px;
  background:#fdecec;
  color:#8f1f1f;
  font-size:11px;
}
@media(max-width:1000px){
  .communication-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .communication-history-item>summary{grid-template-columns:1fr 1fr auto 18px}
  .communication-person{grid-column:1}
  .communication-subject{grid-column:2}
  .communication-time{grid-column:1}
  .communication-category{grid-column:2}
  .communication-detail-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:650px){
  .communication-filter-grid{grid-template-columns:1fr}
  .communication-history-item>summary{grid-template-columns:1fr auto 18px}
  .communication-time,.communication-category,.communication-person,.communication-subject{grid-column:1}
  .communication-detail-grid{grid-template-columns:1fr}
}


/* MVP 3.11.30 Post-Onboarding Knowledge Review layout */
.post-knowledge-review-section{
  grid-column:1/-1;
  padding:0;
  overflow:hidden;
}
.post-knowledge-review-section>summary{
  padding:13px;
  cursor:pointer;
  list-style:none;
}
.post-knowledge-review-section>summary::-webkit-details-marker{display:none}
.post-knowledge-review-body{padding:0 13px 13px}
.post-knowledge-review-section .kr-list{padding:5px 0}
.post-knowledge-review-summary-right{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:18px;
  flex:0 0 auto;
}
.post-knowledge-review-section:not([open])>summary{border-bottom:0}
@media(max-width:760px){
  .post-knowledge-review-summary{align-items:flex-start}
  .post-knowledge-review-summary-right{
    align-items:flex-end;
    flex-direction:column;
    gap:7px;
  }
}

/* MVP 3.11.41 Manager Tools */
.manager-tools-setup{margin-bottom:12px}.manager-tools-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr 1.4fr;gap:10px;align-items:end}.manager-tools-grid .form-full{grid-column:1/-1}.manager-tools-location-row{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.manager-tools-location-row label,.manager-inline-check{display:inline-flex;align-items:center;gap:6px;font-weight:600}.manager-tools-location-row input,.manager-inline-check input,.manager-check-item input{width:auto}.manager-tools-nav{display:grid;gap:12px;margin:0 0 14px}.manager-tools-nav-group{border:1px solid #dfe7f1;border-radius:14px;background:#f8fafc;padding:12px}.manager-tools-nav-heading{font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.055em;color:#607286;margin:0 0 8px}.manager-tools-nav-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.manager-tools-nav-card{appearance:none;width:100%;text-align:left;border:1px solid #d8e2ec;border-radius:12px;background:#fff;padding:12px;cursor:pointer;color:var(--ink);font:inherit;transition:border-color .12s ease,box-shadow .12s ease,transform .12s ease}.manager-tools-nav-card:hover{border-color:#9fc4e4;box-shadow:0 4px 14px rgba(32,65,95,.08);transform:translateY(-1px)}.manager-tools-nav-card.active{border-color:#418fde;box-shadow:0 0 0 2px rgba(65,143,222,.13);background:#f4f9ff}.manager-tools-nav-card strong{display:block;font-size:13px;color:#17395e;margin-bottom:4px}.manager-tools-nav-card span{display:block;font-size:11px;line-height:1.4;color:#687385}.manager-quo-links{justify-content:flex-start;flex-wrap:wrap;margin:12px 0}.manager-tools-view{min-width:0}.manager-tool-card{background:#fff;border:1px solid #dfe7f1;border-radius:14px;padding:16px;margin-bottom:12px;box-shadow:0 1px 2px rgba(16,24,40,.03)}.manager-tool-card h3{margin:0 0 8px}.manager-tool-card h4{margin:18px 0 8px}.manager-tool-card-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.manager-tools-count{display:inline-flex;align-items:center;justify-content:center;min-width:26px;height:24px;padding:0 7px;border-radius:999px;background:#eef4fb;font-size:12px}.manager-tools-warning{margin-top:10px;padding:10px 12px;border-radius:10px;background:#fff4e5;border:1px solid #f3c678;color:#704400}.manager-tools-warning ul{margin:7px 0 0 18px}.manager-tools-good{margin-top:9px;padding:9px 11px;border-radius:10px;background:#edf9f0;border:1px solid #b7dfbf;color:#245d31}.manager-tools-empty{padding:9px 0;color:#687385;font-size:13px}.manager-tools-location-heading{margin:14px 0 7px;padding-bottom:5px;border-bottom:1px solid #e7edf5;font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.manager-source-item{border:1px solid #e4eaf2;border-radius:11px;padding:11px;margin:8px 0;background:#fbfcfe}.manager-source-item.compact{padding:9px 10px}.manager-source-title{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}.manager-source-title span{font-size:12px;color:#687385;white-space:nowrap}.manager-source-meta{font-size:12px;color:#687385;margin:3px 0 5px}.manager-source-copy{font-size:13px;line-height:1.45;margin:5px 0 8px;white-space:pre-wrap}.manager-inline-controls{display:flex;gap:7px;align-items:center;flex-wrap:wrap;margin:8px 0}.manager-inline-controls select{max-width:330px}.manager-inline-controls input{min-width:240px;flex:1}.manager-kpi-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:10px 0}.manager-kpi-grid>div{border:1px solid #e1e8f0;border-radius:10px;padding:10px;background:#f8fafc}.manager-kpi-grid strong{display:block;font-size:22px}.manager-kpi-grid span{display:block;font-size:12px;color:#687385;margin-top:2px}.manager-tools-subhead{font-size:13px;font-weight:800;margin:14px 0 6px}.manager-check-item{display:flex;gap:9px;align-items:flex-start;border:1px solid #e4eaf2;border-radius:10px;padding:9px 10px;margin:6px 0;background:#fbfcfe;font-weight:400}.manager-check-item input{margin-top:3px}.manager-check-item span{display:block;min-width:0}.manager-check-item small{display:block;color:#596579;font-size:12px;line-height:1.4;margin-top:3px;white-space:pre-wrap}.manager-metric-row{display:grid;grid-template-columns:minmax(160px,1.3fr) 1fr 1fr;gap:8px;padding:7px 0;border-bottom:1px solid #eef2f6;font-size:13px}.manager-ranking-list>div,.manager-history-item{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:9px 0;border-bottom:1px solid #eef2f6}.manager-ranking-list span{font-size:12px;color:#687385}.manager-tools-final-actions{justify-content:flex-end;margin:14px 0 4px}.manager-tools-presets .row-actions{justify-content:flex-start}.manager-tools-view textarea{width:100%}.manager-history-item>div{min-width:0}.manager-tools-modal-note{font-size:12px;color:#687385;margin:0 0 8px}.manager-tools-markdown{min-height:420px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;line-height:1.45;white-space:pre}
@media(max-width:900px){.manager-tools-nav-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.manager-tools-grid{grid-template-columns:1fr 1fr}.manager-tools-grid .form-full{grid-column:1/-1}.manager-kpi-grid{grid-template-columns:1fr}.manager-source-title{display:block}.manager-source-title span{display:block;margin-top:3px}.manager-metric-row{grid-template-columns:1fr}.manager-tool-card-head{display:block}.manager-tool-card-head .btn{margin-top:8px}}
@media(max-width:560px){.manager-tools-nav-grid{grid-template-columns:1fr}.manager-tools-grid{grid-template-columns:1fr}.manager-tools-grid .form-full{grid-column:auto}.manager-inline-controls{align-items:stretch}.manager-inline-controls select,.manager-inline-controls input,.manager-inline-controls .btn{width:100%;max-width:none}.manager-history-item{align-items:flex-start;flex-direction:column}.manager-tools-final-actions{justify-content:stretch}.manager-tools-final-actions .btn{width:100%}}

/* MVP 3.11.42 Manager Tools review refinements */
.manager-recognition-details{border:1px solid #e1e8f0;border-radius:11px;background:#fbfcfe;margin:8px 0;overflow:hidden}.manager-recognition-details>summary{cursor:pointer;list-style:none;padding:11px 12px;font-size:13px;font-weight:800;display:flex;align-items:center;gap:5px}.manager-recognition-details>summary::-webkit-details-marker{display:none}.manager-recognition-details>summary:before{content:'▸';font-size:12px;transition:transform .15s ease}.manager-recognition-details[open]>summary:before{transform:rotate(90deg)}.manager-recognition-details-body{border-top:1px solid #e6ebf2;padding:10px 12px 12px;background:#fff}.manager-details-count{font-weight:600;color:#687385}.manager-objective-help{margin-bottom:8px}.manager-journal-review-check{margin-top:8px;flex-wrap:wrap}.manager-required-when-blank{font-size:11px;color:#7a4d00;font-weight:700}.manager-validation-required{outline:2px solid #c43d3d;outline-offset:3px;border-radius:6px}.manager-unranked-label{font-size:11px;font-weight:600;color:#687385}.manager-ranking-help{margin-bottom:7px}.manager-ranking-list-unranked strong:before{content:'• ';}.manager-closing-chooser{margin-top:16px;padding-top:12px;border-top:1px solid #e7edf5}.manager-closing-chooser select{max-width:360px;margin-bottom:6px}.manager-closing-chooser textarea{margin-top:8px}

.manager-update-details{padding:0;overflow:hidden}
.manager-update-details>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 16px;cursor:pointer;font-weight:800;list-style:none}
.manager-update-details>summary::-webkit-details-marker{display:none}
.manager-update-details>summary:before{content:'▸';font-size:14px;color:#687385;transition:transform .15s ease}
.manager-update-details[open]>summary:before{transform:rotate(90deg)}
.manager-update-details>summary>span:first-of-type{flex:1}
.manager-update-details-body{padding:0 16px 16px;border-top:1px solid #eef2f6}
.manager-update-details-body>.small-help:first-child{margin-top:12px}
.manager-optional-label{font-style:normal;font-size:10px;letter-spacing:.05em;padding:3px 6px;border-radius:999px;background:#eef4fb;color:#4f5f73;margin-left:6px}

/* MVP 3.11.45 Manager Update inclusion controls and Past Due Task review */
.manager-section-inclusion{margin:12px 0 14px;padding:11px 12px;border:1px solid #dce6f1;border-radius:10px;background:#f8fbfe}
.manager-section-inclusion.manager-section-unavailable{background:#fff8ed;border-color:#f2cf91}
.manager-section-inclusion .manager-inline-check{margin:0 0 4px}
.manager-section-inclusion .manager-inline-check input:disabled{opacity:.65}
.manager-exclusion-rationale{margin-top:9px;padding-top:9px;border-top:1px solid #e5ebf2}
.manager-exclusion-rationale.hidden{display:none}
.manager-pastdue-freshness{line-height:1.45}
.manager-pastdue-freshness>div{margin-top:5px}
.manager-pastdue-refresh-steps{font-size:12px}
.manager-pastdue-person-list{border:1px solid #e4eaf2;border-radius:10px;overflow:hidden;margin:8px 0 12px}
.manager-pastdue-person-row{display:grid;grid-template-columns:minmax(170px,1.4fr) repeat(4,minmax(90px,.7fr));gap:8px;align-items:center;padding:9px 10px;border-bottom:1px solid #eef2f6;background:#fff;font-size:12px}
.manager-pastdue-person-row:last-child{border-bottom:0}
.manager-pastdue-person-row>strong{font-size:13px}
.manager-pastdue-person-row span{color:#596579}
.manager-pastdue-chunk{border:1px solid #e1e8f0;border-radius:10px;background:#fbfcfe;margin:7px 0;overflow:hidden}
.manager-pastdue-chunk>summary{display:flex;align-items:center;justify-content:space-between;gap:10px;cursor:pointer;list-style:none;padding:10px 11px;font-weight:800;font-size:13px}
.manager-pastdue-chunk>summary::-webkit-details-marker{display:none}
.manager-pastdue-chunk>summary:before{content:'▸';font-size:12px;color:#687385;transition:transform .15s ease}
.manager-pastdue-chunk[open]>summary:before{transform:rotate(90deg)}
.manager-pastdue-chunk>summary>span:first-of-type{flex:1}
.manager-pastdue-chunk-body{padding:4px 10px 10px;border-top:1px solid #e8edf3;background:#fff}
.manager-pastdue-chunk-help{margin:6px 0 9px}
.manager-history-sections{margin-top:5px;font-size:11px;line-height:1.45;color:#596579}
@media(max-width:900px){.manager-pastdue-person-row{grid-template-columns:1fr 1fr 1fr}.manager-pastdue-person-row>strong{grid-column:1/-1}}
@media(max-width:560px){.manager-pastdue-person-row{grid-template-columns:1fr 1fr}.manager-pastdue-person-row>strong{grid-column:1/-1}}


/* MVP 3.11.46 Past Due workload and source-refresh clarity */
.manager-pastdue-refresh-steps ol{margin:8px 0 2px 20px;padding:0}.manager-pastdue-refresh-steps li{margin:5px 0}.manager-pastdue-type-list{margin:8px 0 14px}.manager-pastdue-upforgrabs{margin-bottom:14px}.manager-pastdue-upforgrabs .manager-tools-warning{margin-bottom:8px}.manager-pastdue-assignment-note{margin:6px 0 8px}.manager-pastdue-person-row span{line-height:1.35}.manager-kpi-grid strong{overflow-wrap:anywhere}

/* MVP 3.11.47: Past Due Tasks workload tables */
.manager-pastdue-table-wrap{width:100%;overflow-x:auto;margin:8px 0 14px;border:1px solid #e4eaf2;border-radius:10px;background:#fff}
.manager-pastdue-summary-table{width:100%;border-collapse:collapse;min-width:760px;font-size:12px}
.manager-pastdue-summary-table th{padding:9px 10px;text-align:left;background:#f5f8fb;color:#42526a;font-size:11px;text-transform:uppercase;letter-spacing:.02em;border-bottom:1px solid #dfe7ef;white-space:nowrap}
.manager-pastdue-summary-table td{padding:9px 10px;border-bottom:1px solid #eef2f6;vertical-align:top;color:#596579}
.manager-pastdue-summary-table .manager-pastdue-summary-main td:first-child{color:#1f2937}
.manager-pastdue-summary-table .manager-pastdue-summary-detail td{padding-top:0;background:#fbfcfe}
.manager-pastdue-summary-table tbody tr:last-child td{border-bottom:0}
.manager-pastdue-oldest{font-size:11px;line-height:1.45;color:#687385}
.manager-pastdue-oldest strong{color:#4b5563}
.manager-pastdue-unassigned-table{min-width:620px}


/* MVP 3.11.48 Inventory & Purchasing */
.inv-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:10px;margin-top:14px}
.inv-kpi{border:1px solid var(--line);border-radius:12px;background:#fbfdff;padding:12px}
.inv-kpi strong{display:block;font-size:22px;color:var(--blue-dark)}
.inv-kpi span{display:block;margin-top:3px;color:var(--muted);font-size:11px;line-height:1.35}
.inv-migration-confirm{margin-top:16px;border-top:1px solid var(--line);padding-top:14px}
.inv-details>summary{display:flex;justify-content:space-between;gap:12px;align-items:center;cursor:pointer;list-style:none}
.inv-details>summary::-webkit-details-marker{display:none}
.inv-details>summary:before{content:'▸';color:var(--blue-dark);font-weight:900;margin-right:7px}
.inv-details[open]>summary:before{content:'▾'}
.inv-table-wrap{width:100%;overflow:auto;margin-top:10px;border:1px solid var(--line);border-radius:12px}
.inv-table{width:100%;border-collapse:collapse;min-width:820px;background:#fff}
.inv-table th{background:#f4f8fc;color:var(--blue-dark);font-size:11px;text-align:left;padding:10px;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:1}
.inv-table td{vertical-align:top;padding:10px;border-bottom:1px solid #edf1f5;font-size:12px;line-height:1.4}
.inv-table tbody tr:last-child td{border-bottom:0}
.inv-status{display:inline-block;padding:3px 7px;border-radius:999px;font-size:10px;font-weight:850;line-height:1.2;white-space:nowrap}
.inv-status-green{background:var(--green-bg);color:var(--green)}
.inv-status-yellow{background:var(--yellow-bg);color:var(--yellow)}
.inv-status-red{background:var(--red-bg);color:var(--red)}
.inv-status-gray{background:var(--gray-bg);color:#586474}
.inv-form-grid,.inv-decision-grid,.inv-fulfillment-grid{display:grid;grid-template-columns:repeat(4,minmax(140px,1fr));gap:10px;align-items:start}
.inv-form-grid .form-full,.inv-decision-grid .form-full,.inv-fulfillment-grid .form-full{grid-column:1/-1}
.inv-request-card{border:1px solid var(--line);border-radius:14px;background:#fbfdff;padding:14px;margin-bottom:10px}
.inv-request-metrics{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0}
.inv-request-metrics span{border:1px solid var(--line);border-radius:999px;background:#fff;padding:6px 9px;font-size:11px;color:var(--muted)}
.inv-request-metrics strong{color:var(--ink)}
@media(max-width:800px){
  .inv-form-grid,.inv-decision-grid,.inv-fulfillment-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:560px){
  .inv-form-grid,.inv-decision-grid,.inv-fulfillment-grid{grid-template-columns:1fr}
  .inv-details>summary{align-items:flex-start;flex-direction:column}
}


/* MVP 3.11.53 Team Member KPI consistency */
.training-development-status{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;border:1px solid var(--line);border-radius:11px;padding:9px 11px;margin:10px 0;background:#fff;font-size:12px}.training-development-status strong{color:var(--blue-dark)}.training-development-status span{color:var(--muted)}.training-development-status.current{background:#f5fbf7;border-color:#cfe8d7}.training-development-status.attention{background:#fff9e9;border-color:#eedca2}.training-development-status.overdue{background:#fff2f1;border-color:#efc4c1}.training-development-status.overdue strong{color:#9e2a24}
.performance-snapshot-grid.kpi-grouped-summary{display:block;margin:12px 0 14px}.kpi-summary-group{border:1px solid var(--line);border-radius:12px;background:#fff;margin-bottom:10px;overflow:hidden}.kpi-summary-group-title{padding:9px 11px;background:#f6f9fc;color:var(--blue-dark);font-size:12px;font-weight:900;letter-spacing:.02em}.kpi-matrix-wrap{overflow-x:auto}.kpi-matrix{display:grid;grid-template-columns:minmax(165px,1.1fr) repeat(4,minmax(145px,1fr));min-width:760px}.kpi-matrix>*{border-top:1px solid #edf1f5;border-right:1px solid #edf1f5}.kpi-matrix>*:nth-child(5n){border-right:0}.kpi-matrix-head{padding:7px 9px;background:#fbfcfe;font-size:10px;text-transform:uppercase;letter-spacing:.035em;color:var(--muted);display:flex;flex-direction:column;gap:2px}.kpi-matrix-head strong{font-size:11px;color:var(--blue-dark)}.kpi-matrix-head span{font-size:9px;text-transform:none;letter-spacing:0;color:var(--muted)}.kpi-matrix-label{padding:9px 10px;font-size:11px;font-weight:850;color:#374151;background:#fcfdff;display:flex;align-items:center}.kpi-matrix-cell{padding:9px 10px;min-height:54px;display:flex;flex-direction:column;justify-content:center;gap:3px}.kpi-matrix-cell strong{font-size:13px;color:var(--blue-dark)}.kpi-matrix-cell span{font-size:10px;color:var(--muted);line-height:1.3}
.sales-performance-panel,.historical-performance{grid-column:1/-1;min-width:0}.period-secondary-31153{font-size:10px;color:var(--muted);font-weight:600;margin:2px 0 5px}.operational-period-card{min-height:190px}.operational-card-divider{height:1px;background:#edf1f5;margin:8px 0}.recognition-period-grid{margin-bottom:12px}.qa-feedback-panel{grid-column:1/-1}.qa-feedback-panel .post-requirement-body{padding-top:8px}
@media(max-width:760px){.training-development-status{align-items:flex-start;flex-direction:column}.kpi-summary-group{border-radius:10px}.kpi-matrix{min-width:700px}}

/* MVP 3.11.54 near-final Team Member KPI polish */
.high-level-summary-panel{grid-column:1/-1;min-width:0;margin:12px 0 14px}.high-level-summary-panel .performance-snapshot-grid.kpi-grouped-summary{margin:0}.kpi-rank-line{font-size:9px!important;line-height:1.3!important;color:#4f6074!important;font-weight:700}.kpi-matrix-cell .kpi-rank-line{margin-top:2px}.operational-period-card .kpi-rank-line{margin-top:5px;color:#4f6074}.product-sales-period-grid .weekly-location-card{min-width:0;overflow-wrap:anywhere}.operational-period-card{min-height:0}
@media(min-width:761px){
  #productSalesDetails .product-sales-period-grid,
  #combinedTasksDetails .product-sales-period-grid,
  #operationalWorkloadDetails .operational-period-grid,
  #recognitionDetails .recognition-period-grid{grid-template-columns:repeat(4,minmax(0,1fr));}
}

/* MVP 3.11.55 Team Member hierarchy + active-assignment visibility */
.identity-access-row{display:block}
.identity-access-row .summary-card{margin-bottom:18px}
.identity-access-row .team-member-access-card{margin-bottom:14px}
.identity-access-row.post-only{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px;align-items:start;margin-bottom:14px}
.identity-access-row.post-only .summary-card,.identity-access-row.post-only .team-member-access-card{margin-bottom:0;height:100%}
.identity-access-row.post-only .summary-card{display:flex;align-items:flex-start;min-height:76px}
.identity-access-row.post-only .summary-top{width:100%}
.identity-access-row.post-only .summary-card .stats{display:none}
.additional-active-assignments{border:1px solid #d9e4ef;border-radius:12px;background:#f7fbff;padding:10px 12px;margin:0 0 14px;display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.additional-active-assignments.hidden{display:none}
.additional-active-assignments .additional-active-title{font-weight:850;color:var(--blue-dark);font-size:12px}
.additional-active-assignments .additional-active-help{color:var(--muted);font-size:10px;margin-top:2px}
.additional-active-assignments .additional-active-list{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}
.additional-active-assignments .assignment-chip{border:1px solid #bfd7ed;background:#fff;color:var(--blue-dark);border-radius:999px;padding:6px 9px;font-size:10px;font-weight:800;cursor:pointer}
.development-stage-status{border:1px solid #d9e4ef;border-radius:11px;background:#f8fbfd;padding:9px 11px;color:#526173;font-size:11px;margin:8px 0 12px}
.post-only-development-controls{margin-top:6px}
.post-only-development-controls .search{display:none}
.post-only-development-controls .row-actions{justify-content:flex-start}
@media(max-width:820px){.identity-access-row.post-only{grid-template-columns:1fr}.additional-active-assignments{align-items:flex-start}.additional-active-assignments .additional-active-list{justify-content:flex-start}}


/* MVP 3.11.58 inventory snapshot column balance */
.inv-snapshot-table{table-layout:fixed}
.inv-snapshot-table .inv-item-col{width:18%}
.inv-snapshot-table .inv-location-col{width:27.333%}
.inv-snapshot-table th,.inv-snapshot-table td{overflow-wrap:anywhere;word-break:normal}
@media(max-width:900px){.inv-snapshot-table{min-width:980px}}


/* ===== MVP 3.11.68 Gemini AI Scripting Practice ===== */
.scripting-practice-card{margin-top:16px;border:1px solid var(--line);border-radius:14px;padding:14px;background:var(--surface-soft,#f8fafc)}
.scripting-practice-error{border-color:#f0b9b9;background:#fff7f7}
.scripting-practice-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}
.scripting-practice-title{font-size:16px;font-weight:800}
.scripting-progress-pill{white-space:nowrap;border-radius:999px;padding:6px 10px;background:#eef3f8;font-weight:800;font-size:12px}
.scripting-progress-track{height:7px;border-radius:999px;background:#e7edf3;overflow:hidden;margin:10px 0}
.scripting-progress-track span{display:block;height:100%;background:currentColor;border-radius:999px}
.scripting-practice-instructions{font-size:13px;line-height:1.5;margin:8px 0 12px;color:var(--muted,#5f6b76)}
.scripting-config-warning{border:1px solid #efcf8e;background:#fff9e9;border-radius:10px;padding:10px;margin:10px 0;font-size:13px}
.scripting-item-list{display:flex;flex-direction:column;gap:8px;margin-top:10px}
.scripting-item-row,.scripting-roleplay-action{display:flex;justify-content:space-between;gap:14px;align-items:center;border:1px solid var(--line);border-radius:10px;background:#fff;padding:10px 12px}
.scripting-item-title{font-weight:750}
.scripting-item-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:flex-end}
.scripting-practice-modal .modal-body{max-height:78vh;overflow:auto}
.scripting-prompt-card{border:1px solid var(--line);border-radius:12px;background:#f8fafc;padding:14px;margin-bottom:14px}
.scripting-prompt-text{font-size:15px;line-height:1.55;white-space:pre-wrap}
.scripting-recorder-card{border:1px solid var(--line);border-radius:12px;padding:14px;background:#fff}
.scripting-recorder-status-row{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}
.scripting-recording-timer{font-size:28px;font-weight:800;font-variant-numeric:tabular-nums}
.scripting-score-hero{display:grid;grid-template-columns:120px 1fr;gap:16px;align-items:center;border-radius:14px;padding:16px;margin-bottom:14px}
.scripting-score-hero.pass{background:#effaf2;border:1px solid #b8e2c1}
.scripting-score-hero.retry{background:#fff8eb;border:1px solid #efcf8e}
.scripting-score-number{font-size:34px;font-weight:900;line-height:1}
.scripting-score-grade{font-size:16px;font-weight:800;margin-top:5px}
.scripting-calibration-note{margin-top:7px;font-size:12px;font-weight:700}
.scripting-component-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin:12px 0}
.scripting-component-grid>div{border:1px solid var(--line);border-radius:10px;padding:10px;text-align:center;background:#fff}
.scripting-component-grid strong{display:block;font-size:11px;line-height:1.2;color:var(--muted,#5f6b76);min-height:28px}
.scripting-component-grid span{display:block;font-size:20px;font-weight:850;margin-top:5px}
.scripting-feedback-block{border:1px solid var(--line);border-radius:10px;padding:12px;margin-top:10px;background:#fff}
.scripting-feedback-block ul{margin:7px 0 0 20px;padding:0}
.scripting-feedback-block li{margin:4px 0;line-height:1.4}
.scripting-feedback-block.good{border-left:4px solid #74b885}
.scripting-feedback-block.warn{border-left:4px solid #d9aa45}
.scripting-feedback-block.danger{border-left:4px solid #cb6b6b}
.scripting-feedback-block.focus{border-left:4px solid #6f91c9}
.scripting-coverage-details,.scripting-transcript-details{margin-top:12px;border:1px solid var(--line);border-radius:10px;background:#fff;padding:10px 12px}
.scripting-coverage-details summary,.scripting-transcript-details summary{cursor:pointer;font-weight:800}
.scripting-coverage-row{display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:start;padding:9px 0;border-top:1px solid var(--line)}
.scripting-coverage-row:first-child{margin-top:8px}
.scripting-transcript{white-space:pre-wrap;line-height:1.55;margin-top:10px}
.scripting-results-actions{justify-content:flex-end;margin-top:14px}
@media(max-width:720px){
  .scripting-practice-head,.scripting-item-row,.scripting-roleplay-action,.scripting-recorder-status-row{flex-direction:column;align-items:stretch}
  .scripting-item-actions{justify-content:flex-start}
  .scripting-component-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .scripting-score-hero{grid-template-columns:1fr}
}


/* MVP 3.11.70 AI scripting sandbox */
.demo-sandbox-banner{margin:0 0 14px;padding:12px 14px;border:1px solid #c9b458;border-radius:12px;background:#fff9df;line-height:1.5;display:flex;align-items:center;justify-content:space-between;gap:14px}.demo-sandbox-banner.hidden{display:none!important}
.scripting-demo-controls{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:10px 0 2px;padding:10px 12px;border:1px dashed #c9b458;border-radius:10px;background:#fffdf2}
.scripting-demo-label{font-size:12px;font-weight:800}
@media(max-width:720px){.demo-sandbox-banner,.scripting-demo-controls{flex-direction:column;align-items:stretch}}

/* MVP 3.11.92 Cross-Training */
#assignTrainingLocationBlock{border:1px solid var(--line);border-radius:12px;background:#f8fbfd;padding:12px}#assignCatalogContext strong{color:var(--blue-dark)}

/* MVP 3.11.105 Trainer navigation + rankings scrollbar */
.workspace-category-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:12px}.workspace-category-card{border:1px solid var(--line);border-radius:14px;background:#f8fbfd;padding:14px}.workspace-category-title{font-size:18px;font-weight:900;color:var(--blue-dark);margin-bottom:4px}.workspace-category-copy{font-size:12px;line-height:1.45;color:var(--muted);margin-bottom:10px}.workspace-category-actions{display:grid;gap:9px}.workspace-category-actions .workspace-choice{box-shadow:none;background:#fff}.workspace-nav-group-label{font-size:10px;font-weight:900;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);align-self:center;margin-left:4px}.detailed-ranking-top-scroll{width:100%;overflow-x:auto;overflow-y:hidden;height:17px;margin:2px 0 5px;border:1px solid #e0e7ee;border-radius:8px;background:#fbfcfe}.detailed-ranking-top-scroll-spacer{height:1px;min-width:100%}@media(max-width:820px){.workspace-category-grid{grid-template-columns:1fr}.workspace-nav-group-label{width:100%;margin-top:4px}}

/* MVP 3.11.110 Manager Tools component parity */
.manager-idea-source-actions{justify-content:flex-end;flex-wrap:wrap}.manager-tools-bulk-actions{justify-content:flex-end;margin:10px 0}.manager-tools-bulk-actions-bottom{margin-top:14px}.manager-tools-nav-card{min-height:88px}

/* MVP 3.11.110 durable AI queue + inventory validation repair uses existing UI components. */

/* MVP 3.11.111: AI Scripting recording-limit notice uses existing field-help styling. */

/* MVP 3.11.112: paid-tier direct AI path with Drive failover uses existing scripting status styles. */


/* MVP 3.11.113: concise/collapsible Ideas review cards. */
.manager-idea-item{padding:0;overflow:hidden}
.manager-idea-item>summary{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:11px;cursor:pointer;list-style:none}
.manager-idea-item>summary::-webkit-details-marker{display:none}
.manager-idea-item>summary>.expand-chevron{flex:0 0 auto;color:#687385;transition:transform .15s ease;margin-top:2px}
.manager-idea-item[open]>summary>.expand-chevron{transform:rotate(90deg)}
.manager-idea-summary-main{min-width:0;flex:1}
.manager-idea-detail{padding:0 11px 11px;border-top:1px solid #e8edf3}
.manager-idea-full{margin-top:10px;padding:10px;border-radius:9px;background:#fff;white-space:pre-wrap}

/* MVP 3.11.114: Ideas review performance-only release; visual treatment preserved. */

/* MVP 3.11.123: collapsed Manager Tools navigation groups + compact two-column lower row. */
.manager-tools-nav{display:grid;gap:12px;margin:0 0 14px}
.manager-tools-nav-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.manager-tools-nav-group{border:1px solid #dfe7f1;border-radius:14px;background:#f8fafc;padding:0;overflow:hidden}
.manager-tools-nav-group>summary{display:flex;align-items:center;justify-content:space-between;gap:10px;cursor:pointer;list-style:none;padding:12px 14px;min-height:46px}
.manager-tools-nav-group>summary::-webkit-details-marker{display:none}
.manager-tools-nav-heading{font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.055em;color:#607286;margin:0}
.manager-tools-nav-chevron{font-size:18px;line-height:1;color:#607286;transition:transform .15s ease;flex:0 0 auto}
.manager-tools-nav-group[open]>.manager-tools-nav-chevron,.manager-tools-nav-group[open]>summary .manager-tools-nav-chevron{transform:rotate(90deg)}
.manager-tools-nav-group .manager-tools-nav-grid{padding:0 12px 12px}
.manager-tools-nav-group-full .manager-tools-nav-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.manager-tools-nav-group-half .manager-tools-nav-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.manager-tools-nav-group-half .manager-tools-nav-card:nth-child(3){grid-column:1/2}
@media(max-width:900px){.manager-tools-nav-row{grid-template-columns:1fr}.manager-tools-nav-group-full .manager-tools-nav-grid,.manager-tools-nav-group-half .manager-tools-nav-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.manager-tools-nav-group-half .manager-tools-nav-card:nth-child(3){grid-column:auto}}
@media(max-width:560px){.manager-tools-nav-group-full .manager-tools-nav-grid,.manager-tools-nav-group-half .manager-tools-nav-grid{grid-template-columns:1fr}}

/* MVP 3.11.123: persistent AI Scripting result history. */
.scripting-history-attempt{border:1px solid var(--line);border-radius:12px;background:#fff;margin:0 0 10px;overflow:hidden}
.scripting-history-attempt>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer;list-style:none;padding:12px 14px}
.scripting-history-attempt>summary::-webkit-details-marker{display:none}
.scripting-history-attempt[open]>summary{border-bottom:1px solid var(--line);background:#f8fafc}
.scripting-history-detail{padding:12px 14px}
.scripting-decision-note{border:1px solid #cbd8e6;border-left:4px solid #4f7faf;border-radius:10px;background:#f7fbff;padding:10px 12px;margin:10px 0;line-height:1.45}
.scripting-decision-note.pass{border-left-color:#74b885;background:#effaf2}
.scripting-decision-note.retry{border-left-color:#d9aa45;background:#fff8eb}

/* MVP 3.11.124 manual approval request workflow */
.manual-approval-person-section{margin:14px 0;padding:14px;border:1px solid var(--line);border-radius:14px;background:var(--card)}
.manual-approval-person-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:8px}
.manual-approval-request-card{display:flex;justify-content:space-between;gap:14px;align-items:center;padding:12px 0;border-top:1px solid var(--line)}
.manual-approval-request-card:first-of-type{border-top:0}
.manual-approval-review-summary{padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:var(--soft)}
@media (max-width:760px){.manual-approval-request-card{align-items:flex-start;flex-direction:column}.manual-approval-request-card .row-actions{width:100%;justify-content:flex-start}}
.training-review-queue-section{margin:0 0 12px;border:1px solid var(--line);border-radius:14px;background:var(--card);overflow:hidden}
.training-review-queue-section>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 14px;font-weight:700;cursor:pointer;background:var(--soft)}
.training-review-queue-body{padding:0 14px 10px}
.training-review-readiness-note{margin-top:6px;line-height:1.45}

/* MVP 3.11.127: Equipment details reuse established manager-source/expandable card styling. */

/* MVP 3.11.127: Manager Tools guarded-render hardening; visual layout preserved from 3.11.125. */

/* MVP 3.11.128: Reporting card navigation + compact shared freshness controls + Manager Tools layout cleanup. */
.reporting-nav{display:grid;gap:12px;margin:0 0 14px}
.reporting-nav-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.reporting-nav-group{border:1px solid #dfe7f1;border-radius:14px;background:#f8fafc;padding:0;overflow:hidden}
.reporting-nav-group>summary{display:flex;align-items:center;justify-content:space-between;gap:10px;cursor:pointer;list-style:none;padding:12px 14px;min-height:46px}
.reporting-nav-group>summary::-webkit-details-marker{display:none}
.reporting-nav-heading{font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.055em;color:#607286}
.reporting-nav-chevron{font-size:18px;line-height:1;color:#607286;transition:transform .15s ease;flex:0 0 auto}
.reporting-nav-group[open]>summary .reporting-nav-chevron{transform:rotate(90deg)}
.reporting-nav-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:0 12px 12px}
.reporting-nav-card{appearance:none;width:100%;text-align:left;border:1px solid #d8e2ec;border-radius:12px;background:#fff;padding:12px;cursor:pointer;color:var(--ink);font:inherit;transition:border-color .12s ease,box-shadow .12s ease,transform .12s ease}
.reporting-nav-card:hover{border-color:#9fc4e4;box-shadow:0 4px 14px rgba(32,65,95,.08);transform:translateY(-1px)}
.reporting-nav-card.active{border-color:#418fde;box-shadow:0 0 0 2px rgba(65,143,222,.13);background:#f4f9ff}
.reporting-nav-card strong{display:block;font-size:13px;color:#17395e;margin-bottom:4px}
.reporting-nav-card span{display:block;font-size:11px;line-height:1.4;color:#687385}

.compact-freshness-control{padding:0!important;overflow:hidden}
.compact-freshness-summary{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 12px;cursor:pointer;list-style:none;min-height:42px}
.compact-freshness-summary::-webkit-details-marker{display:none}
.compact-freshness-title-row{display:flex;align-items:center;gap:10px;min-width:0;flex-wrap:wrap}
.compact-freshness-title-row h3{margin:0;font-size:14px;line-height:1.2}
.compact-freshness-title-row .freshness-status{margin:0}
.compact-freshness-body{padding:10px 12px 12px;border-top:1px solid #e8edf3}
.compact-freshness-body>.small-help{margin:0 0 9px}
.compact-freshness-control[open]>.compact-freshness-summary>.expand-chevron{transform:rotate(90deg)}

.manager-tools-nav-grid-three{grid-template-columns:repeat(3,minmax(0,1fr))!important}
.manager-tools-nav-grid-three .manager-tools-nav-card:nth-child(3){grid-column:auto!important}
.manager-tools-nav-grid-three .manager-tools-nav-card{padding:9px}
.manager-tools-nav-grid-three .manager-tools-nav-card strong{font-size:12px}
.manager-tools-nav-grid-three .manager-tools-nav-card span{font-size:10px}
.manager-tools-nav-link{text-decoration:none;display:block}
.manager-recognition-history-panel>summary{display:flex;align-items:center;justify-content:space-between;gap:10px;cursor:pointer;list-style:none}
.manager-recognition-history-panel>summary::-webkit-details-marker{display:none}
.manager-recognition-history-panel[open]>summary .expand-chevron{transform:rotate(90deg)}

@media(max-width:900px){
  .reporting-nav-row{grid-template-columns:1fr}
  .manager-tools-nav-grid-three{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:560px){
  .reporting-nav-grid,.manager-tools-nav-grid-three{grid-template-columns:1fr!important}
  .compact-freshness-title-row{gap:6px}
  .compact-freshness-title-row h3{font-size:13px}
}
@media(min-width:561px){
  .compact-freshness-title-row{flex-wrap:nowrap;white-space:nowrap}
  .compact-freshness-title-row .freshness-status{white-space:nowrap}
}

/* MVP 3.11.128: Ideas contributor selection is explicit multi-checkbox UI. */
.manager-idea-contributors-checklist{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;padding:8px;border:1px solid #d8e2ec;border-radius:10px;background:#fff;max-height:190px;overflow:auto}
.manager-idea-contributor-option{display:flex;align-items:flex-start;gap:7px;padding:6px 7px;border-radius:8px;cursor:pointer;font-size:12px;line-height:1.25;color:var(--ink)}
.manager-idea-contributor-option:hover{background:#f3f7fb}
.manager-idea-contributor-option input{margin-top:1px;flex:0 0 auto}
.manager-idea-contributor-option small{font-size:10px;color:#718096}
.manager-idea-contributor-inactive{opacity:.76}
@media(max-width:650px){.manager-idea-contributors-checklist{grid-template-columns:1fr}}


/* MVP 3.11.130: standalone Team Member Performance & Feedback warning queues and collapsible sections */
.manager-kpi-grid.manager-kpi-grid-four{grid-template-columns:repeat(4,minmax(0,1fr))}
.manager-performance-section>summary,.manager-warning-queue>summary{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;cursor:pointer;list-style:none}
.manager-performance-section>summary::-webkit-details-marker,.manager-warning-queue>summary::-webkit-details-marker{display:none}
.manager-performance-section>summary>div,.manager-warning-queue>summary>div{min-width:0;flex:1}
.manager-performance-section>summary strong,.manager-warning-queue>summary strong{font-size:15px;color:#17395e}
.manager-performance-section>summary .manager-tools-count,.manager-warning-queue>summary .manager-tools-count{margin-left:7px;vertical-align:middle}
.manager-performance-section[open]>summary>.expand-chevron,.manager-warning-queue[open]>summary>.expand-chevron{transform:rotate(90deg)}
.manager-performance-section-body{margin-top:12px;padding-top:10px;border-top:1px solid #e7edf5}
.manager-performance-section-actions{justify-content:flex-end;margin-bottom:8px}
.manager-warning-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:start}
.manager-warning-grid .manager-tool-card{margin-bottom:12px}
.manager-warning-item{background:#fff}
.manager-warning-actions{justify-content:flex-start;flex-wrap:wrap;margin-top:8px}
.manager-warning-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.manager-warning-person-label{padding:9px 11px;border-radius:10px;background:#f4f9ff;border:1px solid #cfe2f5;color:#17395e}
.manager-warning-previous-check{padding:10px 12px;border:1px solid #e1e8f0;border-radius:10px;background:#f8fafc}
@media(max-width:900px){.manager-kpi-grid.manager-kpi-grid-four{grid-template-columns:1fr 1fr}.manager-warning-grid{grid-template-columns:1fr}.manager-warning-form-grid{grid-template-columns:1fr}}
@media(max-width:560px){.manager-kpi-grid.manager-kpi-grid-four{grid-template-columns:1fr}}


/* MVP 3.11.130: Quo Audit live-SOR workflow */
.manager-quo-range{margin:10px 0 12px}
.manager-quo-directions{border:1px solid #dfe7f1;border-radius:12px;background:#f8fafc;padding:12px 14px;margin:12px 0 14px}
.manager-quo-directions .manager-tools-subhead{margin:0 0 7px}
.manager-quo-directions ol{margin:6px 0 10px 20px;padding:0}
.manager-quo-directions li{margin:5px 0;line-height:1.45}
.manager-quo-directions p{margin:12px 0 0;line-height:1.5;color:#4d5b6b;font-size:13px}
.manager-quo-prompt{width:100%;min-height:108px;background:#fff;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;line-height:1.45}
.manager-quo-prompt-actions{justify-content:flex-end;margin-top:8px}


/* MVP 3.11.131: combine multiple same-Team-Member Feedback Form submissions into one Written Warning. */
.manager-warning-multiselect{position:relative;width:100%}
.manager-warning-multiselect-trigger{width:100%;min-height:44px;border:1px solid #cbd5e1;border-radius:10px;background:#fff;color:var(--ink);padding:10px 12px;display:flex;align-items:center;justify-content:space-between;gap:12px;text-align:left;font-weight:500}
.manager-warning-multiselect-trigger:hover{border-color:#9fbdd8;background:#fbfdff}
.manager-warning-multiselect-trigger:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 3px rgba(65,143,222,.12)}
.manager-warning-multiselect-trigger>span:first-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.manager-warning-multiselect-caret{flex:0 0 auto;color:#687385;transition:transform .15s ease}
.manager-warning-multiselect-trigger[aria-expanded="true"] .manager-warning-multiselect-caret{transform:rotate(180deg)}
.manager-warning-multiselect-menu{position:absolute;z-index:55;left:0;right:0;top:calc(100% + 5px);max-height:320px;overflow:auto;border:1px solid #cbd5e1;border-radius:10px;background:#fff;box-shadow:0 12px 30px rgba(21,47,76,.18);padding:6px}
.manager-warning-feedback-options{display:flex;flex-direction:column;gap:4px}
.manager-warning-feedback-group{padding:7px 8px 4px;font-size:11px;font-weight:850;color:#526273;text-transform:none}
.manager-warning-feedback-option{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:flex-start;gap:8px;padding:8px 9px;border:1px solid transparent;border-radius:8px;background:#fff;cursor:pointer;font-size:12px;line-height:1.3;color:var(--ink);min-width:0}
.manager-warning-feedback-option:hover{background:#f1f7fc;border-color:#d8e5f0}
.manager-warning-feedback-option:has(input:checked){background:#eef7ff;border-color:#bfdaf1}
.manager-warning-feedback-option input{margin:2px 0 0;flex:0 0 auto;width:auto}
.manager-warning-feedback-option span{min-width:0}
.manager-warning-feedback-option strong{font-size:12px;color:#17395e}
.manager-warning-feedback-option small{display:block;margin-top:3px;font-size:11px;line-height:1.35;color:#687385;white-space:normal;overflow-wrap:anywhere}
@media(max-width:650px){.manager-warning-multiselect-menu{max-height:280px}}


/* MVP 3.11.135: first-class Promotions module */
.manager-promotion-signal{margin-top:7px;padding:6px 9px;border-radius:8px;font-size:11px;font-weight:850;display:inline-block}
.manager-promotion-detail{padding:12px 14px 14px}
.manager-promotion-evidence{display:grid;gap:7px;padding:11px 12px;border:1px solid var(--line);border-radius:10px;background:#f8fafc;font-size:12px;line-height:1.45;margin-bottom:12px}
.manager-promotion-action-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px}
.manager-promotion-action{border:1px solid var(--line);border-radius:12px;padding:12px;background:#fff}
.manager-promotion-action h4{margin:0 0 5px;color:var(--blue-dark)}
.manager-promotion-action label{margin-top:9px}
.manager-promotion-history>summary{cursor:pointer;list-style:none;display:flex;align-items:center;gap:7px}
.manager-promotion-history>summary::-webkit-details-marker{display:none}
@media(max-width:820px){.manager-promotion-action-grid{grid-template-columns:1fr}}


/* MVP 3.11.136 | compact Performance & Feedback overview + per-submission warning editors */
.manager-performance-overview{padding:12px 14px}
.manager-performance-overview-head{display:grid;grid-template-columns:minmax(250px,.85fr) minmax(520px,1.45fr);gap:12px;align-items:start}
.manager-performance-overview-copy h3{font-size:16px;line-height:1.2;margin:1px 0 4px}
.manager-performance-overview-copy .small-help{font-size:10.5px;line-height:1.35;max-width:520px}
.manager-performance-top-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin:0;align-items:stretch}
.manager-performance-top-actions .btn{width:100%;min-width:0;min-height:38px;justify-content:center;padding:7px 8px;font-size:11px;line-height:1.2;white-space:normal;text-align:center;margin:0}
.manager-performance-kpis.manager-kpi-grid-four{grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin:9px 0 0}
.manager-performance-kpis>div{padding:7px 9px;min-height:52px}
.manager-performance-kpis strong{font-size:18px;line-height:1.05}
.manager-performance-kpis span{font-size:10.5px;line-height:1.2;margin-top:3px}
.manager-warning-description-editors{display:grid;gap:9px;margin-top:2px}
.manager-warning-description-empty{border:1px dashed #cbd5e1;border-radius:10px;background:#f8fafc;color:#687385;padding:11px 12px;font-size:12px}
.manager-warning-description-card{border:1px solid #dfe7f1;border-radius:11px;background:#f8fafc;padding:10px}
.manager-warning-description-head{display:flex;justify-content:space-between;align-items:flex-start;gap:8px;margin-bottom:6px}
.manager-warning-description-head label{margin:0;min-width:0}
.manager-warning-description-head strong{font-size:12px;color:#17395e}
.manager-warning-description-head span{font-size:10.5px;line-height:1.3;color:#687385;text-align:right}
.manager-warning-description-textarea{width:100%;min-height:92px;resize:vertical;background:#fff}
@media(max-width:1000px){.manager-performance-overview-head{grid-template-columns:1fr}.manager-performance-top-actions{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:650px){.manager-performance-top-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.manager-performance-kpis.manager-kpi-grid-four{grid-template-columns:repeat(2,minmax(0,1fr))}.manager-warning-description-head{display:block}.manager-warning-description-head span{display:block;text-align:left;margin-top:2px}}


/* MVP 3.11.140: Equipment Issues mobile final-action visibility */
.manager-equipment-bottom-actions{align-items:center;padding-bottom:max(10px,env(safe-area-inset-bottom))}
@media(max-width:560px){
  .manager-equipment-bottom-actions{display:grid;grid-template-columns:1fr;gap:10px;margin-bottom:18px;padding-bottom:calc(18px + env(safe-area-inset-bottom))}
  .manager-equipment-bottom-actions .btn{width:100%;max-width:none}
}
