/* Version 4: desktop planning, work-time policy and post-publication changes */
.button--danger { border-color: #e5b7ad; background: #fff3ef; color: var(--danger); box-shadow: none; }
.button--danger:hover { background: var(--coral-100); }
.page-heading .button { white-space: nowrap; }
.management-tabs { grid-template-columns: repeat(4, 1fr); }
.team-card { grid-template-columns: auto minmax(120px, 1fr) auto auto auto; }
.team-card [data-team-contact], .team-card [data-team-pay], .team-card [data-team-positions] { overflow: hidden; color: var(--muted); font-size: .54rem; line-height: 1.3; text-overflow: ellipsis; white-space: nowrap; }
.team-card [data-team-pay] { color: var(--pine-700); }
.team-card [data-team-positions] { color: var(--amber-700); }
.team-leave-badge { border-radius: 99px; background: var(--blue-100); padding: 5px 8px; color: var(--blue-700) !important; font-size: .51rem !important; font-weight: 850; }

.worktime-mode-banner { display: grid; grid-template-columns: 45px 1fr auto; align-items: center; gap: 13px; margin-bottom: 16px; border: 1px solid #bbd9ce; border-radius: 16px; background: linear-gradient(105deg, #eef8f4, #fffdf9); padding: 13px 15px; }
.worktime-mode-banner > span { display: grid; width: 42px; height: 42px; place-items: center; border-radius: 12px; background: var(--pine-700); color: white; font-weight: 900; }
.worktime-mode-banner > div { display: grid; gap: 2px; }
.worktime-mode-banner small { color: var(--muted); font-size: .58rem; }
.worktime-mode-banner strong { color: var(--pine-900); font-size: .82rem; }
.worktime-mode-banner p { margin: 0; font-size: .64rem; }
.worktime-mode-banner button { border: 0; background: transparent; color: var(--pine-700); font-size: .67rem; font-weight: 850; }

.planner-kpi-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; margin: 14px 0; }
.planner-kpi-grid article { display: grid; gap: 5px; min-height: 105px; align-content: center; border: 1px solid var(--line); border-radius: 15px; background: var(--paper); padding: 14px; box-shadow: var(--shadow-sm); }
.planner-kpi-grid article.has-warning { border-color: #eacb7e; background: #fffaf0; }
.planner-kpi-grid small, .planner-kpi-grid span { color: var(--muted); font-size: .58rem; }
.planner-kpi-grid strong { color: var(--pine-900); font-size: 1.22rem; font-variant-numeric: tabular-nums; }
.planner-kpi-grid strong b { font: inherit; }
.planner-kpi-grid button { width: max-content; border: 0; background: transparent; padding: 0; color: var(--pine-700); font-size: .58rem; font-weight: 800; }

.planner-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin: 18px 0 10px; }
.planner-toolbar > div { display: flex; flex-direction: row; align-items: center; gap: 8px; }
.planner-toolbar > div:first-child { align-items: flex-start; flex-direction: column; gap: 2px; }
.planner-toolbar strong { color: var(--pine-900); font-size: .92rem; }
.planner-toolbar span { color: var(--muted); font-size: .64rem; }
.planner-date-strip { display: grid; grid-template-columns: repeat(7, minmax(68px, 1fr)); gap: 5px; margin-top: 9px; }
.planner-date-strip button { display: grid; min-height: 64px; place-items: center; gap: 2px; border: 1px solid var(--line); border-radius: 11px; background: var(--paper); color: var(--muted); }
.planner-date-strip button span { font-size: .55rem; }
.planner-date-strip button strong { color: var(--pine-900); font-size: .86rem; }
.planner-date-strip button i { width: 4px; height: 4px; border-radius: 50%; background: #a8b3ae; }
.planner-date-strip button.is-active { border-color: var(--pine-700); background: var(--pine-700); color: white; }
.planner-date-strip button.is-active strong { color: white; }
.planner-date-strip button.is-active i { background: #8de0b9; }

.planner-matrix-card { overflow: hidden; margin-top: 16px; border: 1px solid var(--line); border-radius: 18px; background: var(--paper); box-shadow: var(--shadow-sm); }
.planner-matrix-card > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; border-bottom: 1px solid var(--line); padding: 16px 18px; }
.planner-matrix-card > header h2 { font-size: .9rem; }
.planner-matrix-card > header p { margin: 3px 0 0; font-size: .62rem; }
.matrix-legend { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 10px; }
.matrix-legend span { display: inline-flex; align-items: center; gap: 5px; color: var(--muted); font-size: .57rem; white-space: nowrap; }
.matrix-legend i { display: inline-grid; width: 13px; height: 10px; place-items: center; border-radius: 3px; background: #80bba4; color: #795c16; font-size: .45rem; font-style: normal; font-weight: 900; }
.matrix-legend .part-time { background: #e5b56a; }
.matrix-legend .rest-time { width: 17px; background: #fff5d9; }
.planner-matrix-scroll { position: relative; overflow-x: auto; overscroll-behavior-inline: contain; scroll-behavior: smooth; }
.planner-matrix-v4 { width: 1962px; min-width: 1962px; }
.planner-matrix-row { display: grid; grid-template-columns: 180px 1632px 150px; min-height: 66px; border-bottom: 1px solid var(--line); }
.planner-matrix-head { position: sticky; z-index: 8; top: 0; min-height: 51px; background: #f8f7f1; }
.matrix-person-cell { position: sticky; z-index: 6; left: 0; display: flex; align-items: center; gap: 8px; border-right: 1px solid var(--line); background: var(--paper); padding: 8px 10px; }
.planner-matrix-head .matrix-person-cell { background: #f8f7f1; }
.matrix-person-cell > div { display: grid; min-width: 0; gap: 2px; }
.matrix-person-cell strong { overflow: hidden; color: var(--pine-900); font-size: .67rem; text-overflow: ellipsis; white-space: nowrap; }
.matrix-person-cell small { overflow: hidden; color: var(--muted); font-size: .49rem; text-overflow: ellipsis; white-space: nowrap; }
.matrix-person-cell > b { margin-left: auto; border-radius: 9px; background: var(--cream-100); padding: 3px 5px; color: var(--muted); font-size: .48rem; }
.matrix-person-cell .avatar { width: 29px; height: 29px; font-size: .6rem; }
.matrix-time-axis { position: relative; border-right: 1px solid var(--line); background-image: repeating-linear-gradient(to right, transparent 0, transparent 33px, #ecece7 33px, #ecece7 34px), repeating-linear-gradient(to right, transparent 0, transparent 67px, #d8ddd8 67px, #d8ddd8 68px); }
.matrix-time-axis span { position: absolute; top: 17px; left: var(--at); color: var(--muted); font-size: .51rem; font-variant-numeric: tabular-nums; transform: translateX(-50%); }
.matrix-time-axis span:first-child { transform: none; }
.matrix-time-axis span:last-child { transform: translateX(-100%); }
.matrix-time-track { position: relative; overflow: hidden; border-right: 1px solid var(--line); background-color: #fffefb; background-image: repeating-linear-gradient(to right, transparent 0, transparent 33px, #f0f0eb 33px, #f0f0eb 34px), repeating-linear-gradient(to right, transparent 0, transparent 67px, #d9ddd9 67px, #d9ddd9 68px); }
.matrix-time-track::before { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(24,61,51,.025), transparent 30%, rgba(227,170,63,.03) 55%, transparent 80%); content: ""; pointer-events: none; }
.matrix-shift { position: absolute; top: 12px; left: var(--left); width: var(--width); height: 40px; min-width: 34px; overflow: hidden; border: 1px solid #83bda7; border-radius: 8px; background: #dff0e9; color: var(--pine-900); padding: 0; text-align: left; }
.matrix-shift--pt { border-color: #dab06e; background: #faeacb; }
.matrix-shift > span { position: relative; z-index: 2; display: block; overflow: hidden; padding: 0 8px; font-size: .56rem; font-weight: 850; line-height: 38px; text-overflow: ellipsis; white-space: nowrap; }
.matrix-break { position: absolute; z-index: 3; inset: 0 auto 0 var(--break-left); display: grid; width: max(var(--break-width), 18px); place-items: center; border-left: 1px dashed #9e751b; border-right: 1px dashed #9e751b; background: repeating-linear-gradient(135deg, rgba(255,255,255,.9) 0, rgba(255,255,255,.9) 4px, #f4d888 4px, #f4d888 8px); color: #735814; font-size: .49rem; font-style: normal; font-weight: 900; }
.matrix-row-total { display: grid; align-content: center; gap: 3px; background: #fbfaf6; padding: 8px 10px; }
.matrix-row-total strong { color: var(--pine-900); font-size: .61rem; font-variant-numeric: tabular-nums; }
.matrix-row-total small { color: var(--muted); font-size: .48rem; }
.matrix-row-total .is-warning { color: var(--amber-700); font-weight: 850; }
.matrix-row-total .is-danger { color: var(--danger); font-weight: 850; }
.matrix-row-total button { border: 0; background: transparent; padding: 0; color: var(--pine-700); font-size: .56rem; font-weight: 850; text-align: left; }
.planner-matrix-group { position: relative; z-index: 7; display: flex; align-items: center; gap: 9px; min-height: 29px; border-bottom: 1px solid var(--line); background: #edf3f0; padding: 0 11px; }
.planner-matrix-group strong { color: var(--pine-800); font-size: .56rem; }
.planner-matrix-group span { color: var(--muted); font-size: .48rem; }
.planner-total-row { min-height: 43px; }
.planner-total-row .matrix-person-cell { background: #f7f7f2; }
.matrix-hour-cells { display: grid; grid-template-columns: repeat(24, 68px); border-right: 1px solid var(--line); }
.matrix-hour-cells span { display: grid; place-items: center; border-right: 1px solid var(--line); color: var(--pine-900); font-size: .52rem; font-weight: 800; font-variant-numeric: tabular-nums; }
.matrix-hour-cells span.is-short, .matrix-hour-cells span.is-negative { background: #fff0eb; color: var(--danger); }
.matrix-hour-cells span.is-positive { background: var(--pine-50); color: var(--pine-700); }
.matrix-scroll-help { margin: 0; border-top: 1px solid var(--line); padding: 9px 14px; font-size: .55rem; text-align: center; }

.worktime-settings-card { border: 1px solid var(--line); border-radius: 18px; background: var(--paper); padding: 18px; box-shadow: var(--shadow-sm); }
.worktime-settings-card > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.worktime-settings-card > header p:last-child { margin: 3px 0 0; font-size: .63rem; }
.worktime-form { display: grid; grid-template-columns: repeat(2, 1fr); gap: 11px; margin: 16px 0; }
.worktime-form label { display: grid; gap: 6px; color: var(--muted); font-size: .62rem; font-weight: 750; }
.worktime-form input, .worktime-form select { min-height: 43px; border: 1px solid var(--line); border-radius: 10px; background: white; padding: 0 10px; }
.mode-rule-preview { display: grid; grid-template-columns: 1.25fr repeat(4, 1fr); align-items: center; gap: 6px; margin: 12px 0; border-radius: 12px; background: var(--pine-50); padding: 11px; }
.mode-rule-preview strong { color: var(--pine-900); font-size: .63rem; }
.mode-rule-preview span { border-left: 1px solid #cbded6; padding-left: 8px; color: var(--pine-700); font-size: .53rem; }
.worktime-settings-card > .button { margin-top: 13px; }
.worktime-settings-card + .worktime-settings-card { margin-top: 12px; }
.branding-settings-card form > .button { margin-top: 2px; }
.branding-preview-row { display: flex; align-items: center; gap: 11px; margin-top: 14px; border-radius: 12px; background: var(--cream-100); padding: 11px; }
.branding-preview-row > div { display: grid; gap: 3px; }
.branding-preview-row strong { color: var(--pine-900); font-size: .7rem; }
.branding-preview-row small { color: var(--muted); font-size: .55rem; }
.worktime-form .span-full { grid-column: 1 / -1; }
.worktime-form label small { font-size: .5rem; font-weight: 500; }
.security-overview-card { margin-top: 12px; }
.security-feature-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 8px; margin: 15px 0; }
.security-feature-grid article { display: flex; gap: 9px; border: 1px solid var(--line); border-radius: 11px; background: #fbfaf6; padding: 10px; }
.security-feature-grid article > span { display: grid; width: 30px; height: 30px; flex: 0 0 auto; place-items: center; border-radius: 8px; background: var(--pine-50); color: var(--pine-700); font-size: .52rem; font-weight: 900; }
.security-feature-grid article > div { display: grid; gap: 3px; }
.security-feature-grid strong { font-size: .61rem; }
.security-feature-grid p { margin: 0; font-size: .52rem; }

.new-employee-pay, .pay-profile-panel, .contact-profile-panel { margin: 13px 0; border: 1px solid var(--line); border-radius: 13px; background: #fbfaf6; padding: 12px; }
.new-employee-pay > strong, .pay-profile-panel header strong { color: var(--pine-900); font-size: .68rem; }
.new-employee-pay { display: grid; grid-template-columns: repeat(3, 1fr); gap: 9px; }
.new-employee-pay[hidden] { display: none; }
.new-employee-pay label { display: grid; gap: 5px; color: var(--muted); font-size: .58rem; }
.new-employee-pay input { min-width: 0; min-height: 42px; border: 1px solid var(--line); border-radius: 9px; background: white; padding: 0 9px; }
.pay-profile-panel header small { display: block; margin-top: 3px; color: var(--muted); font-size: .55rem; }
.contact-profile-panel > header { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.contact-profile-panel > header strong { color: var(--pine-900); font-size: .68rem; }
.contact-profile-panel > header small { color: var(--muted); font-size: .52rem; text-align: right; }
.position-selector { margin: 13px 0; border: 1px solid var(--line); border-radius: 13px; background: #fbfaf6; padding: 11px 12px 12px; }
.position-selector legend { padding: 0 5px; color: var(--pine-900); font-size: .62rem; font-weight: 850; }
.position-selector > div { display: flex; flex-wrap: wrap; gap: 7px; }
.position-selector label { position: relative; }
.position-selector input { position: absolute; opacity: 0; pointer-events: none; }
.position-selector span { display: block; border: 1px solid var(--line); border-radius: 99px; background: white; padding: 7px 10px; color: var(--muted); font-size: .54rem; font-weight: 750; cursor: pointer; }
.position-selector input:checked + span { border-color: var(--pine-700); background: var(--pine-50); color: var(--pine-700); box-shadow: inset 0 0 0 1px var(--pine-700); }
.position-selector input:disabled + span { opacity: .45; cursor: default; }
.position-admin-list { display: grid; gap: 7px; margin: 13px 0; }
.position-admin-list article { display: grid; grid-template-columns: 32px 1fr auto; align-items: center; gap: 9px; border: 1px solid var(--line); border-radius: 11px; padding: 9px 10px; }
.position-admin-list article > span { display: grid; width: 30px; height: 30px; place-items: center; border-radius: 8px; background: var(--pine-50); color: var(--pine-700); font-size: .52rem; font-weight: 900; }
.position-admin-list article strong { font-size: .62rem; }
.position-admin-list article button { border: 0; background: transparent; color: var(--pine-700); font-size: .53rem; font-weight: 800; }
.position-admin-list article.is-inactive { opacity: .55; }
.inline-create { display: grid; grid-template-columns: 1fr auto; gap: 7px; }
.pay-estimate-note { border-radius: 10px; background: var(--cream-100); padding: 9px 11px; font-size: .57rem; }
.shift-live-estimate { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; overflow: hidden; margin: 13px 0; border: 1px solid var(--line); border-radius: 12px; background: var(--line); }
.shift-live-estimate > span { display: grid; gap: 4px; background: white; padding: 10px; }
.shift-live-estimate small { color: var(--muted); font-size: .52rem; }
.shift-live-estimate strong { color: var(--pine-900); font-size: .7rem; }
.shift-live-estimate strong.is-warning { color: var(--amber-700); }
.shift-live-estimate strong.is-danger { color: var(--danger); }

.change-policy-strip { display: flex; align-items: center; gap: 12px; margin-bottom: 14px; border: 1px solid #eed59c; border-radius: 14px; background: #fff9ea; padding: 13px 15px; }
.change-policy-strip > span { display: grid; width: 34px; height: 34px; flex: 0 0 auto; place-items: center; border-radius: 10px; background: var(--amber-100); color: var(--amber-700); font-weight: 900; }
.change-policy-strip strong { font-size: .72rem; }
.change-policy-strip p { margin: 2px 0 0; font-size: .6rem; }
.manager-change-list, .employee-request-list, .swap-market-list { display: grid; gap: 10px; }
.manager-change-card, .employee-request-card, .swap-market-card { border: 1px solid var(--line); border-radius: 16px; background: var(--paper); padding: 14px; box-shadow: var(--shadow-sm); }
.manager-change-card > header, .employee-request-card > header, .swap-market-card > header { display: flex; align-items: center; gap: 10px; }
.manager-change-card header > div, .employee-request-card header > div, .swap-market-card header > div { display: grid; min-width: 0; flex: 1; gap: 3px; }
.manager-change-card header strong, .employee-request-card header strong, .swap-market-card header strong { font-size: .73rem; }
.manager-change-card header p, .employee-request-card header p, .swap-market-card header p { overflow: hidden; margin: 0; font-size: .61rem; text-overflow: ellipsis; white-space: nowrap; }
.manager-change-card header > b, .employee-request-card header > b { border-radius: 99px; background: var(--amber-100); padding: 5px 8px; color: var(--amber-700); font-size: .53rem; white-space: nowrap; }
.manager-change-card > .button { margin-top: 11px; }
.manager-change-card.is-resolved { opacity: .72; }
.manager-change-card.is-resolved header > b { background: var(--pine-50); color: var(--pine-700); }
.change-kind { display: grid; width: 35px; height: 35px; flex: 0 0 auto; place-items: center; border-radius: 10px; color: white; font-size: .63rem; font-weight: 900; }
.change-kind--change { background: var(--blue-700); }
.change-kind--swap { background: var(--coral-600); }
.change-kind--leave { background: var(--amber-700); }
.change-checks, .swap-check-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 6px; margin-top: 11px; }
.change-checks span, .swap-check-grid span { border-radius: 8px; background: var(--pine-50); padding: 7px 8px; color: var(--pine-700); font-size: .52rem; }
.change-checks .is-warning, .swap-check-grid span:last-child { background: var(--amber-100); color: var(--amber-700); }
.employee-request-card > small { display: block; margin-top: 10px; color: var(--muted); font-size: .54rem; }
.swap-market-card > p { margin: 11px 0; font-size: .58rem; }
.swap-market-card .status-chip { margin-left: auto; }

.issue-type-options { display: grid; grid-template-columns: repeat(3, 1fr); gap: 7px; margin: 13px 0; }
.issue-type-options button { display: flex; min-width: 0; align-items: center; gap: 7px; border: 1px solid var(--line); border-radius: 11px; background: white; padding: 9px; text-align: left; }
.issue-type-options button.is-active { border-color: var(--pine-700); background: var(--pine-50); box-shadow: inset 0 0 0 1px var(--pine-700); }
.issue-type-options button > b { display: grid; width: 27px; height: 27px; flex: 0 0 auto; place-items: center; border-radius: 8px; background: var(--cream-100); color: var(--pine-700); font-size: .56rem; }
.issue-type-options button > span { display: grid; min-width: 0; gap: 2px; }
.issue-type-options strong { font-size: .58rem; }
.issue-type-options small { color: var(--muted); font-size: .48rem; }

.change-review-request { margin: 13px 0; border-left: 4px solid var(--blue-700); border-radius: 10px; background: var(--blue-100); padding: 11px 12px; }
.change-review-request small { display: block; color: var(--blue-700); font-size: .52rem; }
.change-review-request strong { display: block; margin-top: 3px; font-size: .7rem; }
.change-review-request p { margin: 5px 0 0; font-size: .58rem; }
.change-review-checks { display: grid; gap: 5px; }
.change-review-checks p { display: flex; align-items: flex-start; gap: 7px; margin: 0; border-radius: 9px; background: var(--pine-50); padding: 8px 9px; color: var(--pine-700); font-size: .57rem; }
.change-review-checks p.has-warning { background: var(--amber-100); color: var(--amber-700); }
.change-review-checks span { font-weight: 900; }
.cost-breakdown { display: grid; gap: 8px; margin: 13px 0; }
.cost-breakdown > div { display: grid; grid-template-columns: 1fr auto; gap: 3px 10px; border-bottom: 1px solid var(--line); padding: 8px 2px; }
.cost-breakdown small { grid-column: 1 / -1; color: var(--muted); font-size: .52rem; }
.cost-breakdown strong, .cost-breakdown b { font-size: .67rem; }
.compliance-rule-list { display: grid; gap: 7px; margin: 13px 0; }
.compliance-rule-list article { border: 1px solid var(--line); border-radius: 10px; padding: 10px; }
.compliance-rule-list strong { font-size: .64rem; }
.compliance-rule-list p { margin: 3px 0 0; font-size: .56rem; }

.tenant-scope-card { display: grid; grid-template-columns: 40px 1fr auto; align-items: center; gap: 12px; margin-bottom: 12px; border: 1px solid #bfd9cf; border-radius: 15px; background: var(--pine-50); padding: 13px 15px; }
.tenant-scope-card > span { display: grid; width: 38px; height: 38px; place-items: center; border-radius: 11px; background: var(--pine-700); color: white; font-size: .67rem; font-weight: 900; }
.tenant-scope-card > div { display: grid; gap: 2px; }
.tenant-scope-card small { color: var(--muted); font-size: .52rem; }
.tenant-scope-card strong { color: var(--pine-900); font-size: .72rem; }
.tenant-scope-card p { margin: 0; font-size: .56rem; }
.tenant-scope-card > b { border-radius: 99px; background: white; padding: 5px 8px; color: var(--pine-700); font-size: .52rem; }
.automation-grid { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(280px, .8fr); gap: 11px; }
.preference-card, .decision-learning-card { border: 1px solid var(--line); border-radius: 17px; background: var(--paper); padding: 16px; box-shadow: var(--shadow-sm); }
.preference-card > header, .decision-learning-card > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; }
.preference-card header p:last-child, .decision-learning-card header p:last-child { margin: 3px 0 0; font-size: .56rem; }
.decision-learning-card > header button { border: 0; background: transparent; color: var(--pine-700); font-size: .55rem; font-weight: 850; }
.preference-sliders { display: grid; gap: 9px; margin: 14px 0; }
.preference-sliders label { display: grid; grid-template-columns: 145px 1fr; align-items: center; gap: 10px; }
.preference-sliders label > span { display: flex; justify-content: space-between; color: var(--muted); font-size: .57rem; }
.preference-sliders label b { color: var(--pine-700); font-variant-numeric: tabular-nums; }
.preference-sliders input { width: 100%; accent-color: var(--pine-700); }
.preference-card .select-field { margin-top: 12px; }
.preference-card .select-field select { min-height: 43px; }
.auto-review-gate { margin: 10px 0 13px; border-left: 4px solid var(--blue-700); border-radius: 9px; background: var(--blue-100); padding: 9px 10px; }
.auto-review-gate.is-enabled { border-left-color: var(--amber-700); background: var(--amber-100); }
.auto-review-gate strong { font-size: .61rem; }
.auto-review-gate p { margin: 3px 0 0; font-size: .53rem; }
.preference-insights { display: grid; grid-template-columns: repeat(3, 1fr); gap: 6px; margin: 14px 0; }
.preference-insights p { display: grid; align-content: start; gap: 4px; min-height: 76px; margin: 0; border-radius: 10px; background: var(--cream-100); padding: 9px; }
.preference-insights b { color: var(--pine-900); font-size: .85rem; }
.preference-insights span { color: var(--muted); font-size: .49rem; line-height: 1.4; }
.decision-learning-card > article { display: flex; align-items: flex-start; gap: 8px; border: 1px solid #bdd7cc; border-radius: 11px; background: var(--pine-50); padding: 10px; }
.decision-learning-card > article > span { display: grid; width: 28px; height: 28px; flex: 0 0 auto; place-items: center; border-radius: 8px; background: var(--pine-700); color: white; font-size: .52rem; font-weight: 900; }
.decision-learning-card > article strong { font-size: .6rem; }
.decision-learning-card > article p { margin: 3px 0 0; font-size: .52rem; }
.privacy-note { margin: 11px 0 0; font-size: .52rem; }
.auto-review-workbench { margin-top: 12px; border: 1px solid #b9d6cb; border-radius: 17px; background: var(--paper); padding: 16px; box-shadow: var(--shadow-sm); }
.auto-review-workbench > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.auto-review-workbench > header p:last-child { margin: 3px 0 0; font-size: .56rem; }
.auto-review-controls { display: grid; grid-template-columns: repeat(3, 1fr); gap: 9px; margin: 15px 0 11px; }
.auto-review-controls > label { display: grid; gap: 6px; color: var(--muted); font-size: .55rem; font-weight: 750; }
.auto-review-controls select { min-height: 42px; border: 1px solid var(--line); border-radius: 10px; background: white; padding: 0 10px; color: var(--pine-900); }
.auto-review-schedule-option { align-content: start; }
.unavailable-control { display: flex; min-height: 42px; align-items: center; gap: 7px; border: 1px dashed var(--line); border-radius: 10px; background: var(--cream-100); padding: 0 10px; color: var(--muted); font-weight: 650; }
.auto-review-actions { display: flex; align-items: center; gap: 8px; }
.auto-review-actions small { margin-left: 4px; color: var(--muted); font-size: .51rem; }
.auto-review-summary { display: grid; grid-template-columns: repeat(4, 1fr); gap: 7px; margin: 13px 0; }
.auto-review-summary[hidden] { display: none; }
.auto-review-summary article { display: grid; gap: 3px; border-radius: 10px; background: var(--cream-100); padding: 10px; }
.auto-review-summary small { color: var(--muted); font-size: .5rem; }
.auto-review-summary strong { color: var(--pine-900); font-size: 1rem; }
.auto-review-results { display: grid; gap: 7px; margin-top: 13px; }
.auto-review-results > p { margin: 0; border-radius: 10px; background: var(--cream-100); padding: 12px; color: var(--muted); font-size: .55rem; }
.auto-review-results article { display: grid; grid-template-columns: 32px 1fr auto; align-items: center; gap: 9px; border: 1px solid var(--line); border-radius: 11px; padding: 9px 11px; }
.auto-review-results article > span { display: grid; width: 30px; height: 30px; place-items: center; border-radius: 8px; background: var(--cream-100); color: var(--muted); font-size: .53rem; font-weight: 900; }
.auto-review-results article.is-approved { border-color: #b9d6cb; background: var(--pine-50); }
.auto-review-results article.is-approved > span { background: var(--pine-700); color: white; }
.auto-review-results article.is-blocked { border-color: #efc4b8; background: #fff4f0; }
.auto-review-results article.is-blocked > span { background: var(--danger); color: white; }
.auto-review-results article > div { display: grid; gap: 2px; }
.auto-review-results strong { font-size: .62rem; }
.auto-review-results p { margin: 0; font-size: .52rem; }
.auto-review-results b { color: var(--muted); font-size: .52rem; }
.auto-review-workbench > footer { display: flex; justify-content: space-between; gap: 10px; margin-top: 12px; border-top: 1px solid var(--line); padding-top: 9px; color: var(--muted); font-size: .5rem; }
.channel-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 8px; }
.channel-card { display: grid; grid-template-columns: 35px 1fr auto; align-items: center; gap: 9px; border: 1px solid var(--line); border-radius: 13px; background: var(--paper); padding: 11px; }
.channel-card > span { display: grid; width: 33px; height: 33px; place-items: center; border-radius: 9px; background: var(--cream-100); color: var(--muted); font-size: .57rem; font-weight: 900; }
.channel-card.is-enabled { border-color: #b9d6cb; }
.channel-card.is-enabled > span { background: var(--pine-100); color: var(--pine-700); }
.channel-card > div { display: grid; min-width: 0; gap: 2px; }
.channel-card strong { font-size: .66rem; }
.channel-card p { overflow: hidden; margin: 0; font-size: .52rem; text-overflow: ellipsis; white-space: nowrap; }
.channel-card > b { align-self: start; color: var(--muted); font-size: .49rem; }
.channel-card > button { grid-column: 3; min-width: 66px; border: 0; border-radius: 8px; background: var(--cream-100); padding: 7px 8px; color: var(--pine-700); font-size: .53rem; font-weight: 850; }
.channel-card > button:disabled { color: var(--muted); cursor: default; }
.module-list, .decision-log { display: grid; gap: 7px; }
.module-list article, .decision-log article { display: grid; grid-template-columns: 34px 1fr auto; align-items: center; gap: 9px; border: 1px solid var(--line); border-radius: 12px; background: var(--paper); padding: 10px 12px; }
.module-list article > span, .decision-log article > span { display: grid; width: 32px; height: 32px; place-items: center; border-radius: 9px; background: var(--pine-50); color: var(--pine-700); font-size: .55rem; font-weight: 900; }
.module-list article > div, .decision-log article > div { display: grid; gap: 2px; }
.module-list strong, .decision-log strong { font-size: .63rem; }
.module-list p, .decision-log p { margin: 0; font-size: .52rem; }
.module-list b, .decision-log b { color: var(--muted); font-size: .51rem; }

.staffing-rule-table--24 { max-height: 470px; overflow-y: auto; border: 1px solid var(--line); border-radius: 13px; }
.staffing-rule-table--24 .staffing-row { border-radius: 0; box-shadow: none; }
.staffing-rule-table--24 .staffing-row + .staffing-row { border-top: 1px solid var(--line); }

@media (max-width: 1100px) {
    .planner-kpi-grid { grid-template-columns: repeat(2, 1fr); }
    .mode-rule-preview { grid-template-columns: repeat(2, 1fr); }
    .mode-rule-preview strong { grid-column: 1 / -1; }
    .mode-rule-preview span:nth-child(2n) { border-left: 0; }
    .automation-grid { grid-template-columns: 1fr; }
    .auto-review-controls { grid-template-columns: 1fr 1fr; }
    .auto-review-schedule-option { grid-column: 1 / -1; }
}

@media (max-width: 700px) {
    .security-feature-grid { grid-template-columns: 1fr; }
    .management-tabs { display: flex; overflow-x: auto; }
    .management-tabs button { min-width: 108px; }
    .worktime-mode-banner { grid-template-columns: 40px 1fr; }
    .worktime-mode-banner > button { grid-column: 2; width: max-content; padding: 0; }
    .planner-kpi-grid { grid-template-columns: repeat(2, 1fr); }
    .planner-kpi-grid article { min-height: 92px; }
    .planner-toolbar { align-items: stretch; flex-direction: column; }
    .planner-toolbar > div:last-child { justify-content: space-between; }
    .planner-date-strip { grid-template-columns: repeat(7, minmax(42px, 1fr)); }
    .planner-date-strip button { min-height: 55px; }
    .planner-matrix-card > header { flex-direction: column; }
    .matrix-legend { justify-content: flex-start; }
    .worktime-form { grid-template-columns: 1fr; }
    .new-employee-pay { grid-template-columns: 1fr; }
    .mode-rule-preview { grid-template-columns: 1fr; }
    .mode-rule-preview strong { grid-column: auto; }
    .mode-rule-preview span { border-top: 1px solid #cbded6; border-left: 0; padding: 6px 0 0; }
    .change-checks, .swap-check-grid { grid-template-columns: 1fr 1fr; }
    .issue-type-options { grid-template-columns: 1fr; }
    .issue-type-options button { min-height: 55px; }
    .tenant-scope-card { grid-template-columns: 38px 1fr; }
    .tenant-scope-card > b { grid-column: 2; width: max-content; }
    .channel-grid { grid-template-columns: 1fr; }
    .preference-sliders label { grid-template-columns: 130px 1fr; }
    .contact-profile-panel > header { align-items: flex-start; flex-direction: column; }
    .contact-profile-panel > header small { text-align: left; }
    .team-card { grid-template-columns: auto minmax(90px, 1fr) auto; }
    .team-card .team-leave-badge { display: none; }
    .auto-review-controls, .auto-review-summary { grid-template-columns: 1fr 1fr; }
    .auto-review-schedule-option { grid-column: 1 / -1; }
    .auto-review-actions { align-items: stretch; flex-direction: column; }
    .auto-review-actions .button { width: 100%; }
    .auto-review-workbench > footer { flex-direction: column; }
}
