/* Operations only. Learner pages share the shell, never these selectors. */
.page-operations, .page-consent {
  --ops-ink: #183d32;
  --ops-muted: #50685e;
  --ops-line: #d8e1d3;
  --ops-paper: #f7f8f2;
  --ops-leaf: #a9d96d;
  --ops-shadow: #7ca750;
  color: var(--ops-ink);
}
.operations-workspace { min-inline-size: 0; padding-block: 12px 40px; }
.operations-workspace .staff-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 20px 32px;
  margin-block-end: 28px;
  padding: clamp(20px, 3vw, 36px);
  background: #edf2e5;
  border: 1px solid var(--ops-line);
  border-radius: 28px;
}
.operations-eyebrow { margin: 0 0 8px; color: #496347; font-size: .78rem; font-weight: 800; letter-spacing: .025em; }
.operations-workspace .staff-head h1 { margin: 0 0 10px; color: var(--ops-ink); font-size: clamp(1.7rem, 3vw, 2.5rem); line-height: 1.4; }
.operations-workspace .staff-head .muted { max-inline-size: 70ch; margin: 0; line-height: 1.9; }
.operations-guide { display: grid; place-items: center; inline-size: 112px; block-size: 112px; background: #f8e9ab; border-radius: 50% 50% 38% 38%; }
.operations-guide .pity * { animation: none !important; }
.operations-workspace .staff-tabs { grid-column: 1 / -1; display: flex; flex-wrap: wrap; gap: 8px; padding: 16px 0 0; margin: 0; border-block-start: 1px solid #d1dbc8; border-block-end: 0; }
.operations-workspace .staff-tab { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-block-size: 44px; padding: 8px 14px; color: var(--ops-muted); background: #f7f8f2; border: 1px solid transparent; border-radius: 12px; font-size: .83rem; font-weight: 700; text-decoration: none; white-space: normal; }
.operations-workspace .staff-tab.is-active { background: var(--ops-ink); color: #fff; border-color: var(--ops-ink); box-shadow: 0 3px 0 #0d2920; }
.operations-workspace .staff-tab:hover:not(.is-active) { background: #fff; border-color: #b3c3ab; }
.operations-content { min-inline-size: 0; }
.operations-workspace .stack { gap: 24px; }
.operations-workspace .card { min-inline-size: 0; padding: clamp(20px, 2.7vw, 32px); border: 1px solid var(--ops-line); border-radius: 22px; background: #fff; box-shadow: 0 4px 0 #e8eddf; }
.operations-workspace .card-title { margin-block: 0 18px; color: var(--ops-ink); font-size: 1.12rem; line-height: 1.7; }
.operations-workspace :is(.muted, .helptext, .tiny) { color: var(--ops-muted); }
.operations-workspace .helptext { line-height: 1.9; }
.operations-workspace .stat-grid { gap: 16px; }
.operations-workspace .stat { position: relative; display: flex; flex-direction: column; align-items: flex-start; gap: 8px; padding: 24px; border: 1px solid var(--ops-line); border-radius: 22px; background: #e6eff5; box-shadow: 0 4px 0 #d7e2e8; text-align: start; }
.operations-workspace .stat-grass { background: #e5f0d8; box-shadow: 0 4px 0 #d4e2c5; }
.operations-workspace .stat-sun { background: #fff0bb; box-shadow: 0 4px 0 #eadca6; }
.operations-workspace .stat-coral { background: #ece5f5; box-shadow: 0 4px 0 #ded5e9; }
.operations-workspace .stat-value { font-size: clamp(1.7rem, 3vw, 2.6rem); color: var(--ops-ink); font-weight: 850; line-height: 1.4; font-variant-numeric: tabular-nums; }
.operations-workspace .stat-label { font-size: .84rem; color: var(--ops-muted); }
.operations-workspace .stat-emoji { align-self: flex-end; font-size: 1.3rem; }
.operations-workspace .stat-grid-quiet .stat { padding: 16px; background: var(--ops-paper); box-shadow: none; }
.operations-workspace .staff-split { gap: 24px; }
.operations-workspace .staff-search { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; padding: 18px; border: 1px solid var(--ops-line); border-radius: 20px; background: #edf2e5; }
.operations-workspace .staff-search input { flex: 1 1 260px; min-inline-size: 0; margin: 0; }
.operations-workspace :is(input:not([type=checkbox]):not([type=radio]):not([type=hidden]):not([type=submit]), textarea, select) { max-inline-size: 100%; min-block-size: 46px; padding: 10px 14px; border: 1px solid #aebaab; border-radius: 12px; background: #fff; color: var(--ops-ink); font: inherit; }
.operations-workspace :is(input[type=checkbox], input[type=radio]) { accent-color: #436b35; inline-size: 20px; block-size: 20px; flex-shrink: 0; }
.operations-workspace textarea { line-height: 1.8; }
.operations-workspace .field { margin-block-end: 22px; }
.operations-workspace .field > label { display: block; margin-block-end: 8px; font-weight: 750; }
.operations-workspace .field-check > label { display: flex; align-items: center; gap: 10px; }
.operations-workspace .field-error, .operations-workspace .errorlist { padding: 10px 14px; border-inline-start: 3px solid #a84336; border-radius: 8px; background: #fff0ec; color: #862e25; font-size: .85rem; }
.operations-workspace .has-error :is(input, textarea, select) { border-color: #a84336; }
.operations-workspace :is(.btn, .icon-btn), .operations-consent .btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-block-size: 44px; border: 1px solid #91aa7d; border-radius: 12px; padding: 10px 18px; color: #183d32; background: #a9d96d; box-shadow: 0 3px 0 #7ca750; font: inherit; font-weight: 750; text-decoration: none; cursor: pointer; transition: transform .14s ease, box-shadow .14s ease, background .14s ease; }
.operations-workspace .icon-btn { min-inline-size: 44px; padding: 8px; }
.operations-workspace :is(.btn-ghost, .icon-btn), .operations-consent .btn-ghost { background: #fff; border-color: #cad5c2; box-shadow: 0 3px 0 #e0e7d8; }
.operations-workspace .btn-danger { color: #862e25; background: #ffe7df; border-color: #d8a497; box-shadow: 0 3px 0 #dfb4a9; }
.operations-workspace :is(.btn, .icon-btn):hover, .operations-consent .btn:hover { transform: translateY(-1px); }
.operations-workspace :is(.btn, .icon-btn):active, .operations-consent .btn:active { transform: translateY(2px); box-shadow: none; }
.operations-workspace :is(button, a, summary):focus-visible, .operations-consent a:focus-visible { border-color: currentColor; }
.operations-workspace :is(button, input):disabled { cursor: not-allowed; opacity: .6; transform: none; }
.operations-workspace .btn-row { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin-block-start: 20px; }
.operations-workspace .editor-page > form > .btn-row, .operations-workspace .editor-page fieldset > .btn-row { border-block-start: 1px solid var(--ops-line); padding-block-start: 20px; }
.operations-workspace .editor-page { max-inline-size: 1100px; margin-inline: auto; }
.operations-workspace .back-link { align-self: flex-start; display: inline-flex; align-items: center; min-block-size: 44px; color: #365d46; font-weight: 700; }
.operations-workspace .lang-set { margin-block: 24px; padding: 20px; border: 1px solid var(--ops-line); border-radius: 16px; background: var(--ops-paper); }
.operations-workspace .lang-set legend { padding-inline: 10px; color: #365d46; font-weight: 750; }
.operations-workspace .lang-grid { gap: 18px 24px; }
.operations-workspace :is(.danger-card, .danger-zone) { border-color: #e3b8aa; background: #fff9f6; box-shadow: none; }
.operations-workspace .confirm-row { flex-wrap: wrap; gap: 12px; }
.operations-workspace .impact-row { padding-block: 12px; border-block-end: 1px solid #eddcd4; }
.operations-workspace .table-wrap { max-inline-size: 100%; overflow-x: auto; overscroll-behavior-inline: contain; border: 1px solid var(--ops-line); border-radius: 14px; }
.operations-workspace .table { inline-size: 100%; border-collapse: collapse; margin: 0; font-size: .9rem; }
.operations-workspace .table th { padding: 14px 16px; background: #edf2e5; color: #365242; font-size: .8rem; font-weight: 800; white-space: nowrap; }
.operations-workspace .table td { padding: 16px; border-block-end: 1px solid #e7ebdf; vertical-align: middle; }
.operations-workspace .table tbody tr:last-child td { border-block-end: 0; }
.operations-workspace .table tbody tr:hover { background: #f7f9f1; }
.operations-workspace .table a { color: #28553c; text-underline-offset: 4px; }
.operations-workspace .staff-rowlink { gap: 12px; }
.operations-workspace .avatar { background: #ece5f5; color: #50405f; border: 1px solid #d8cce5; border-radius: 14px; }
.operations-workspace .staff-num { color: var(--ops-ink); font-variant-numeric: tabular-nums; }
.operations-workspace .bar-mini { background: #e3eadc; }
.operations-workspace .bar-mini i { background: #5d9143; }
.operations-workspace .empty { display: grid; justify-items: center; gap: 12px; padding: 48px 24px; text-align: center; background: #f3f5eb; }
.operations-workspace .empty-emoji { display: grid; place-items: center; inline-size: 72px; block-size: 72px; background: #f9e7a8; border-radius: 24px; }
.operations-workspace .pager { display: flex; justify-content: center; flex-wrap: wrap; gap: 16px; align-items: center; margin-block: 20px; }
.operations-workspace .pager-link { min-block-size: 44px; padding: 10px 16px; border: 1px solid var(--ops-line); border-radius: 12px; background: #fff; color: var(--ops-ink); }
.operations-tools { padding: 20px 24px; border: 1px solid var(--ops-line); border-radius: 18px; background: #e8eff4; }
.operations-tools summary { min-block-size: 32px; color: #284e58; font-weight: 800; cursor: pointer; }
.operations-tool-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin-block-start: 20px; }
.operations-tool-grid .btn { text-align: start; justify-content: flex-start; }
.operations-workspace .tree-row { flex-wrap: wrap; gap: 12px; padding-block: 14px; }
.operations-workspace .tree-row--chapter { margin-block-end: 10px; padding-block-end: 22px; border-block-end: 1px solid var(--ops-line); }
.operations-workspace .tree-name { min-inline-size: 140px; flex: 1; }
.operations-workspace .tree-name > a { color: #28553c; font-weight: 750; }
.operations-workspace .tree-acts { display: flex; flex-wrap: wrap; gap: 8px; }
.operations-workspace .tree-lessons { margin-inline-start: 16px; padding-inline-start: 20px; border-inline-start: 2px solid #dbe5d0; }
.operations-workspace .tree-flag { padding: 5px 12px; border: 1px solid #d7c18a; border-radius: 9px; background: #fff0c2; color: #685219; }
.operations-workspace .tree-chapter.is-draft { background: #fffdf3; opacity: 1; }
.operations-workspace .is-held { border-style: dashed; }
.operations-workspace .lock-banner { border-radius: 16px; }
.operations-workspace :is(.team-row, .news-row, .act-row) { padding: 20px; border-color: var(--ops-line); border-radius: 16px; background: #fff; }
.operations-workspace .act-code { direction: ltr; text-align: left; background: #f2f5ed; color: #183d32; }
.operations-workspace .mon-range { border-radius: 12px; min-block-size: 44px; padding: 10px 16px; }
.operations-workspace .mon-range.is-on { background: #183d32; color: #fff; }
.operations-workspace .mon-tile { padding: 20px; border: 1px solid var(--ops-line); border-radius: 18px; background: #edf2e5; }
.operations-workspace .mon-nodata { padding: 24px; border: 1px dashed #bccbb2; border-radius: 14px; background: #f7f8f2; }
.operations-workspace :is(dialog, .modal-card) { max-inline-size: min(94vw, 680px); border: 1px solid var(--ops-line); border-radius: 24px; padding: 28px; box-shadow: 0 20px 70px #183d3226; }
.operations-workspace dialog::backdrop { background: #183d3266; }
.operations-consent { max-inline-size: 680px; margin: 28px auto 64px; }
.consent-intro { text-align: center; padding: 24px; }
.consent-intro .pity { margin-block-end: 20px; }
.consent-intro h1 { margin-block: 8px 0; color: #183d32; font-size: clamp(1.6rem, 3vw, 2.2rem); overflow-wrap: anywhere; }
.consent-card { padding: clamp(22px, 4vw, 40px); border: 1px solid #d8e1d3; border-radius: 26px; background: #fff; box-shadow: 0 5px 0 #e4ebda; }
.consent-card h2 { font-size: 1.1rem; line-height: 1.8; }
.consent-permissions { margin-block: 24px; padding: 20px 32px; border: 1px solid #d9e5cb; border-radius: 16px; background: #eef5e6; line-height: 1.9; color: #284b36; }
.consent-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 16px; border-block-start: 1px solid #d8e1d3; padding-block-start: 24px; }
.consent-error { border-color: #e3b8aa; }
@media (max-width: 900px) {
  .operations-workspace .staff-split { grid-template-columns: 1fr; }
  .operations-workspace .stat-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
  .operations-workspace .staff-head { gap: 16px; padding: 20px 16px; border-radius: 22px; }
  .operations-guide { inline-size: 72px; block-size: 84px; }
  .operations-guide .pity { max-inline-size: 64px; }
  .operations-workspace .staff-tabs { gap: 8px; }
  .operations-workspace .staff-tab { flex: 1 1 125px; font-size: .78rem; }
  .operations-workspace .stat { padding: 18px 14px; }
  .operations-workspace .stat-grid-quiet { grid-template-columns: 1fr; }
  .operations-workspace .lang-grid, .operations-tool-grid { grid-template-columns: 1fr; }
  .operations-workspace .lang-set { padding: 14px; }
  .operations-workspace .tree-lessons { margin-inline-start: 0; padding-inline-start: 12px; }
  .operations-workspace .tree-acts { inline-size: 100%; justify-content: flex-end; }
  .operations-workspace .team-row { flex-wrap: wrap; }
  .operations-workspace .btn-row > .btn, .consent-actions .btn { flex: 1 1 160px; }
  .operations-workspace .staff-search > .btn { flex: 1; }
  .operations-workspace .confirm-row { display: grid; grid-template-columns: 1fr; }
  .operations-workspace .confirm-row input { min-inline-size: 0; inline-size: 100%; }
}
@media (prefers-reduced-motion: reduce) {
  .operations-workspace *, .operations-consent * { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
  .operations-workspace :is(.btn, .icon-btn):is(:hover, :active), .operations-consent .btn:is(:hover, :active) { transform: none; }
}

.operations-workspace .staff-tab .ui-icon { flex: 0 0 20px; inline-size: 20px; block-size: 20px; }

/* Product icons retain the text and state of their surrounding control. */
.operations-workspace .ui-icon { inline-size: 1.15em; block-size: 1.15em; flex: none; vertical-align: -0.16em; }
.operations-workspace :is(.stat-emoji, .empty-emoji) .ui-icon { inline-size: 1em; block-size: 1em; }
.operations-workspace :is(.tree-icon, .lesson-tick, .act-tag, .feedback-kind, .icon-btn, .tl-flag) .ui-icon { inline-size: 20px; block-size: 20px; }
.operations-workspace [data-copy-icon] { display: inline-flex; align-items: center; }
.operations-workspace .feedback-sort.is-on::after {
  content: "";
  display: inline-block;
  inline-size: 1em;
  block-size: 1em;
  margin-inline-start: 0.25em;
  background-color: currentColor;
  mask: url("../img/ui/arrow-down.0a789646aa98.svg") center / contain no-repeat;
}
.operations-workspace .feedback-sort[aria-sort="ascending"]::after { mask-image: url("../img/ui/arrow-up.34bebd65e79f.svg"); }
