.planning-view { display: grid; gap: 18px; width: min(100%, 1480px); margin: 0 auto; padding: clamp(14px, 2.5vw, 32px); color: #302b28; }
.planning-command, .planning-panel { border: 1px solid #e8e1dc; border-radius: 17px; background: #fff; box-shadow: 0 10px 30px rgba(67, 50, 39, .045); }
.planning-command { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 16px 18px; }
.planning-period, .planning-health, .planning-version-actions { display: flex; align-items: end; flex-wrap: wrap; gap: 9px; }
.planning-period label, .planning-coverage-toolbar label { display: grid; gap: 5px; color: #827970; font-size: 9px; font-weight: 800; text-transform: uppercase; }
.planning-period input, .planning-version-actions select, .planning-coverage-toolbar select { min-height: 39px; border: 1px solid #ddd4cd; border-radius: 9px; background: #fff; padding: 0 10px; color: #302b28; }
.planning-chip { display: inline-flex; align-items: center; min-height: 28px; border-radius: 999px; background: #f1eeeb; padding: 5px 9px; color: #6e665f; font-size: 8.5px; font-weight: 800; }
.planning-chip.ok { background: #e8f5ec; color: #277044; }
.planning-chip.bad { background: #fff0ed; color: #ad3e30; }
.planning-chip.warning, .planning-chip.pending { background: #fff5df; color: #996812; }
.planning-chip.neutral { background: #f1eeeb; color: #625a54; }
.planning-panel { overflow: hidden; }
.planning-panel > header { display: flex; align-items: end; justify-content: space-between; gap: 16px; border-bottom: 1px solid #eee8e3; padding: 17px 20px; }
.planning-panel > header h2 { margin: 3px 0 0; font-size: 18px; }
.planning-panel > header > small { max-width: 420px; color: #8e857d; font-size: 9px; line-height: 1.5; text-align: right; }
.planning-checks { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1px; background: #eee8e3; }
.planning-checks > div { display: flex; align-items: center; gap: 10px; min-height: 69px; background: #fff; padding: 13px 17px; }
.planning-checks > div > span { display: grid; flex: 0 0 28px; width: 28px; height: 28px; place-items: center; border-radius: 50%; background: #e8f5ec; color: #277044; font-weight: 900; }
.planning-checks > div.bad > span { background: #fff0ed; color: #ad3e30; }
.planning-checks > div.warning > span { background: #fff5df; color: #996812; }
.planning-checks p { display: grid; gap: 3px; margin: 0; }
.planning-checks b { font-size: 10px; line-height: 1.35; }
.planning-checks small { color: #928981; font-size: 8px; }
.planning-empty-compact { padding: 18px 20px; color: #8e857d; font-size: 10px; }
.planning-scores { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 1px; background: #eee8e3; }
.planning-score { display: grid; min-height: 82px; align-content: center; gap: 5px; background: #fff; padding: 14px 16px; }
.planning-score span { color: #847b73; font-size: 8px; font-weight: 800; text-transform: uppercase; }
.planning-score b { color: #246b41; font-size: 18px; }
.planning-score small { color: #a06b17; font-size: 7.5px; }
.planning-score.warning b { color: #b14b39; }
.planning-grid-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 14px 18px; }
.planning-grid-toolbar label { display: flex; align-items: center; gap: 8px; color: #7e756e; font-size: 9px; font-weight: 800; }
.planning-grid-toolbar select { min-height: 35px; border: 1px solid #ddd4cd; border-radius: 8px; background: #fff; padding: 0 9px; }
.planning-grid-toolbar > div { display: flex; align-items: center; gap: 9px; }
.planning-version-status { border-radius: 999px; background: #f1eeeb; padding: 5px 8px; color: #70675f; font-size: 8px; font-weight: 900; }
.planning-version-status.status-validated, .planning-version-status.status-published { background: #e7f5eb; color: #246b41; }
.planning-grid { display: grid; grid-template-columns: minmax(150px, .8fr) repeat(var(--planning-days), minmax(145px, 1fr)); gap: 1px; overflow-x: auto; border-top: 1px solid #eae4df; background: #eae4df; }
.planning-grid-head, .planning-grid-employee, .planning-cell { min-width: 145px; background: #fff; padding: 11px; }
.planning-grid-head { min-height: 44px; color: #766e67; font-size: 9px; text-align: center; text-transform: capitalize; }
.planning-grid-head.employee { min-width: 150px; text-align: left; }
.planning-grid-employee { display: grid; min-width: 150px; align-content: center; gap: 3px; }
.planning-grid-employee b { font-size: 10px; }
.planning-grid-employee small { color: #948b84; font-size: 7.5px; line-height: 1.35; }
.planning-cell { display: grid; min-height: 72px; align-content: center; gap: 4px; border: 0; border-radius: 0; color: #352f2b; text-align: left; }
button.planning-cell:hover { background: #fff8f3; }
.planning-cell > span { position: absolute; align-self: start; justify-self: end; font-size: 8px; }
.planning-cell b { color: #9a420c; font-size: 11px; }
.planning-shift-blocks { display: grid; gap: 3px; justify-items: start; }
.planning-shift-blocks.split { width: 100%; gap: 3px; }
.planning-shift-blocks.split b { width: 100%; border: 1px solid #efc9ad; border-radius: 6px; background: #fff6ef; padding: 4px 6px; white-space: nowrap; }
.planning-shift-blocks i { color: #998d84; font-size: 7px; font-style: normal; font-weight: 800; text-transform: uppercase; }
.planning-shift-blocks.split i { justify-self: center; }
.planning-cell small { color: #8d847d; font-size: 7.5px; line-height: 1.35; }
.planning-cell.rest { justify-items: center; color: #a39b95; background: #faf9f8; text-align: center; }
.planning-cell.rest b { color: #9d958f; }
.planning-cell.locked { box-shadow: inset 0 0 0 2px #e7b693; background: #fffaf6; }
.planning-empty { display: grid; justify-items: center; gap: 7px; padding: 42px 20px; color: #837a73; text-align: center; }
.planning-empty > span { font-size: 34px; color: #d26a25; }
.planning-empty h3, .planning-empty p { margin: 0; }
.planning-empty p { max-width: 560px; font-size: 10px; line-height: 1.5; }
.planning-coverage-toolbar { display: flex; align-items: end; justify-content: space-between; padding: 15px 20px 4px; }
.planning-coverage-toolbar > div { display: flex; gap: 13px; color: #756d66; font-size: 8px; }
.planning-coverage-toolbar > div span { display: flex; align-items: center; gap: 5px; }
.planning-coverage-toolbar i { width: 9px; height: 9px; border-radius: 3px; background: #e46e22; }
.planning-coverage-toolbar i.planned { background: #52755f; }
.planning-coverage-chart { display: grid; grid-template-columns: repeat(29, minmax(14px, 1fr)); gap: 3px; min-width: 680px; height: 255px; align-items: end; overflow-x: auto; padding: 15px 20px 22px; }
.planning-coverage-column { display: grid; min-width: 12px; height: 100%; grid-template-rows: 1fr 18px; gap: 4px; border: 0; background: transparent; padding: 0; }
.planning-coverage-column > span { position: relative; display: flex; align-items: end; justify-content: center; gap: 1px; border-bottom: 1px solid #dcd5cf; }
.planning-coverage-column i { display: block; width: 43%; min-height: 2px; border-radius: 4px 4px 0 0; background: #e46e22; opacity: .65; }
.planning-coverage-column i.planned { background: #51755e; opacity: .95; }
.planning-coverage-column.under > span { background: linear-gradient(180deg, transparent 70%, #fff0ed); }
.planning-coverage-column.over > span { background: linear-gradient(180deg, transparent 70%, #f2f0ee); }
.planning-coverage-column small { overflow: visible; color: #8f8780; font-size: 6.5px; transform: rotate(-42deg); white-space: nowrap; }
.planning-coverage-focus { border-top: 1px solid #eee8e3; background: #faf8f6; padding: 11px 20px; color: #776f68; font-size: 9px; }
.planning-coverage-focus b { margin-right: 10px; color: #3d3733; }
.planning-two-columns { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; align-items: start; }
.planning-team, .planning-rules, .planning-absence-list { display: grid; }
.planning-employee-card { display: grid; grid-template-columns: 36px 1fr auto; align-items: center; gap: 11px; border: 0; border-bottom: 1px solid #eee8e3; border-radius: 0; background: #fff; padding: 12px 17px; color: #332e2a; text-align: left; }
.planning-employee-card > span { display: grid; width: 34px; height: 34px; place-items: center; border-radius: 10px; background: #fff0e5; color: #a24a13; font-weight: 900; }
.planning-employee-card > div { display: grid; gap: 3px; }
.planning-employee-card b { font-size: 10px; }
.planning-employee-card small { color: #8c837b; font-size: 8px; }
.planning-employee-card i { color: #a45017; font-size: 8px; font-style: normal; font-weight: 800; }
.planning-inline-form { display: grid; grid-template-columns: repeat(2, 1fr); gap: 7px; border-bottom: 1px solid #eee8e3; background: #faf9f8; padding: 13px; }
.planning-inline-form input, .planning-inline-form select { min-width: 0; min-height: 36px; border: 1px solid #ded6d0; border-radius: 8px; background: #fff; padding: 0 8px; }
.planning-inline-form button { grid-column: 2; }
.planning-absence-list article { display: flex; align-items: center; justify-content: space-between; gap: 10px; border-bottom: 1px solid #eee8e3; padding: 12px 16px; }
.planning-absence-list article > div { display: grid; gap: 3px; }
.planning-absence-list b { font-size: 10px; }
.planning-absence-list small { color: #8f867e; font-size: 8px; }
.planning-rule-form { display: grid; grid-template-columns: 1fr auto; align-items: end; gap: 10px; border-bottom: 1px solid #eee8e3; background: #faf9f8; padding: 16px 19px; }
.planning-rule-form textarea { resize: vertical; border: 1px solid #ddd5cf; border-radius: 10px; padding: 10px; font: inherit; font-size: 10px; }
.planning-rule-card { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 15px; border-bottom: 1px solid #eee8e3; padding: 14px 18px; }
.planning-rule-card.inactive { opacity: .48; }
.planning-rule-card > div { display: grid; justify-items: start; gap: 5px; }
.planning-rule-card b { font-size: 10px; }
.planning-rule-card p { margin: 0; color: #665f59; font-size: 9px; line-height: 1.45; }
.planning-rule-card small { color: #9a9189; font-size: 7px; }
.planning-system-rule-head { border-top: 8px solid #f4f1ee; }
.planning-system-rule { background: #fcfbfa; }
.planning-rule-lock { color: #9a8f86; font-size: 13px; }
.planning-switch input { position: absolute; opacity: 0; }
.planning-switch span { display: block; width: 34px; height: 19px; border-radius: 99px; background: #d8d2cd; padding: 3px; cursor: pointer; }
.planning-switch span::after { display: block; width: 13px; height: 13px; border-radius: 50%; background: #fff; content: ''; transition: transform .18s; }
.planning-switch input:checked + span { background: #e76c1d; }
.planning-switch input:checked + span::after { transform: translateX(15px); }
.planning-settings > summary { display: flex; align-items: center; justify-content: space-between; padding: 16px 19px; cursor: pointer; list-style: none; }
.planning-settings > summary span { display: grid; gap: 3px; }
.planning-settings > summary small { color: #8f867f; font-size: 8px; }
.planning-settings > summary i { color: #a54b13; font-size: 9px; font-style: normal; font-weight: 800; }
.planning-settings > form { display: grid; gap: 16px; border-top: 1px solid #eee8e3; padding: 17px 19px; }
.planning-settings fieldset { margin: 0; border: 1px solid #e4ddd7; border-radius: 12px; padding: 15px; }
.planning-settings legend { color: #514a44; font-size: 13px; font-weight: 900; }
.planning-settings fieldset > small { display: block; margin-top: 9px; color: #766f68; font-size: 11px; }
.planning-form-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.planning-modal label, .planning-settings label { display: grid; gap: 5px; color: #766e67; font-size: 8.5px; font-weight: 800; }
.planning-modal input, .planning-modal select, .planning-modal textarea, .planning-settings input, .planning-settings select { min-width: 0; min-height: 38px; border: 1px solid #ddd5ce; border-radius: 8px; background: #fff; padding: 7px 9px; color: #342f2b; font: inherit; }
.planning-check-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 8px; margin: 13px 0; }
.planning-check-grid label, .planning-lock-choice { display: flex; grid-template-columns: auto 1fr; align-items: center; gap: 7px; min-height: 34px; border-radius: 8px; background: #f7f5f3; padding: 8px 10px; }
.planning-check-grid input, .planning-lock-choice input { min-height: 0; }
.planning-modal { width: min(720px, calc(100vw - 24px)); max-height: calc(100vh - 32px); overflow-y: auto; }
.planning-modal fieldset { margin: 13px 0; border: 1px solid #e4ddd7; border-radius: 10px; padding: 12px; }
.planning-modal legend { color: #665e57; font-size: 9px; font-weight: 900; }
.planning-modal fieldset > small { display: block; margin-top: 7px; color: #968d85; font-size: 7.5px; }
.planning-warning { border-radius: 9px; background: #fff5df; padding: 9px 11px; color: #8a5d0d; font-size: 9px; line-height: 1.45; }
.planning-understanding, .planning-explanation { display: grid; gap: 5px; margin: 12px 0; border-radius: 10px; background: #fff7f1; padding: 12px; }
.planning-understanding small, .planning-understanding em { color: #94613f; font-size: 7.5px; font-style: normal; }
.planning-understanding p { margin: 0; font-size: 10px; line-height: 1.45; }
.planning-explanation b { font-size: 10px; }
.planning-explanation span { color: #6f665f; font-size: 8.5px; }
.planning-violation-list { display: grid; gap: 7px; max-height: 55vh; overflow-y: auto; }
.planning-violation-list article { display: grid; gap: 3px; border-radius: 8px; background: #fff0ed; padding: 10px; color: #9d382c; }
.planning-violation-list b { font-size: 8px; }
.planning-violation-list span { font-size: 9px; }
.planning-hours-summary { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; padding: 0 22px 18px; }
.planning-hours-summary article { display: grid; gap: 4px; border: 1px solid #ddd4cd; border-radius: 14px; background: #fff; padding: 16px; }
.planning-hours-summary small { color: #766d65; font-weight: 750; }
.planning-hours-summary b { color: #302b28; font-size: 22px; }
.planning-hours-summary span { color: #70675f; font-size: 12px; }
.planning-policy-warning { border: 1px solid #e9c67c; border-radius: 11px; background: #fff8e7; padding: 12px 14px; color: #765315; font-size: 12px; line-height: 1.45; }
.planning-advanced-settings { border: 1px solid #ddd4cd; border-radius: 11px; background: #f6f3f0; padding: 12px 14px; }
.planning-advanced-settings summary { cursor: pointer; color: #423b35; font-weight: 800; }
.planning-advanced-settings p { margin: 10px 0; color: #70675f; font-size: 12px; }
.planning-policy-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; padding: 0 22px 22px; }
.planning-policy-grid article { display: grid; gap: 6px; border: 1px solid #e3ddd7; border-radius: 12px; background: #fff; padding: 14px; }
.planning-policy-grid b { color: #3d3732; font-size: 13px; }
.planning-policy-grid span { color: #70675f; font-size: 11px; line-height: 1.5; }

@media (max-width: 1050px) {
  .planning-checks { grid-template-columns: repeat(2, 1fr); }
  .planning-scores { grid-template-columns: repeat(3, 1fr); }
  .planning-two-columns { grid-template-columns: 1fr; }
  .planning-form-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 680px) {
  .planning-hours-summary { grid-template-columns: 1fr; padding: 0 12px 14px; }
  .planning-policy-grid { grid-template-columns: 1fr; padding: 0 12px 14px; }
  .planning-view { padding: 10px; }
  .planning-command, .planning-panel > header, .planning-coverage-toolbar { align-items: stretch; flex-direction: column; }
  .planning-period { display: grid; grid-template-columns: 1fr 1fr; }
  .planning-period button { grid-column: span 2; }
  .planning-checks, .planning-scores { grid-template-columns: 1fr 1fr; }
  .planning-version-actions { display: grid; grid-template-columns: 1fr 1fr; width: 100%; }
  .planning-version-actions select { grid-column: 1 / -1; }
  .planning-grid { grid-template-columns: 120px repeat(var(--planning-days), minmax(125px, 1fr)); }
  .planning-grid-head.employee, .planning-grid-employee { min-width: 120px; }
  .planning-rule-form { grid-template-columns: 1fr; }
  .planning-form-grid, .planning-check-grid { grid-template-columns: 1fr; }
  .planning-inline-form { grid-template-columns: 1fr; }
  .planning-inline-form button { grid-column: 1; }
}

/* Planning workspace v2: readable, task-oriented views instead of one long Pilotage page. */
.planning-view { width: 100%; max-width: none; height: 100%; overflow-y: auto; gap: 22px; padding: 18px 30px 48px; background: #f8f7f5; font-size: 14px; }
.planning-section { display: grid; gap: 20px; }
.planning-section[hidden] { display: none !important; }
.planning-command, .planning-panel { border-color: #ded8d2; border-radius: 16px; box-shadow: 0 5px 20px rgba(52, 42, 34, .05); }
.planning-command { align-items: center; padding: 18px 20px; }
.planning-command button, .planning-header-actions button, .planning-version-actions button, .planning-rule-form button, .planning-settings button, .planning-inline-form button { min-height: 42px; padding: 9px 14px; font-size: 13px; font-weight: 750; }
.planning-period label, .planning-coverage-toolbar label { gap: 7px; font-size: 11px; }
.planning-period input, .planning-version-actions select, .planning-coverage-toolbar select { min-height: 42px; font-size: 13px; }
.planning-health { align-items: center; }
.planning-chip { min-height: 31px; padding: 6px 11px; font-size: 11px; }
.planning-panel > header { align-items: center; padding: 19px 22px; }
.planning-panel > header h2 { margin-top: 4px; font-size: 21px; letter-spacing: -.2px; }
.planning-panel > header > small { color: #766f68; font-size: 12px; }
.planning-header-actions { display: flex; align-items: center; flex-wrap: wrap; justify-content: flex-end; gap: 9px; }
.planning-header-actions strong { margin-right: 4px; color: #5e5751; font-size: 13px; }
.planning-roster { display: grid; grid-template-columns: repeat(5, minmax(130px, 1fr)); gap: 10px; padding: 17px 20px 20px; }
.planning-roster-person { display: grid; grid-template-columns: 42px minmax(0, 1fr); gap: 2px 10px; min-width: 0; min-height: 70px; align-items: center; border: 1px solid #e3ddd7; border-radius: 13px; background: #fff; padding: 10px 12px; color: #342f2b; text-align: left; }
.planning-roster-person:hover { border-color: #e6a87f; background: #fff9f5; }
.planning-roster-person > span { display: grid; grid-row: 1 / 3; width: 40px; height: 40px; place-items: center; border-radius: 12px; background: #ffeadb; color: #9b430c; font-size: 15px; font-weight: 850; }
.planning-roster-person b { overflow: hidden; font-size: 13px; text-overflow: ellipsis; white-space: nowrap; }
.planning-roster-person small { overflow: hidden; color: #766f68; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.planning-checks > div { min-height: 78px; padding: 15px 18px; }
.planning-checks b { font-size: 13px; }
.planning-checks small { font-size: 11px; }
.planning-checks > div > button { margin-left: auto; min-height: 34px; flex: 0 0 auto; padding: 6px 9px; font-size: 10px; }
.planning-empty-compact { padding: 22px; font-size: 13px; }
.planning-score { min-height: 92px; padding: 15px 17px; }
.planning-score span { font-size: 10px; }
.planning-score b { font-size: 20px; }
.planning-score small { font-size: 10px; }
.planning-grid-head, .planning-grid-employee, .planning-cell { padding: 12px; }
.planning-grid-head { font-size: 12px; }
.planning-grid-employee b, .planning-cell b { font-size: 13px; }
.planning-grid-employee small, .planning-cell small { font-size: 10.5px; }
.planning-shift-blocks i { font-size: 8px; }
.planning-empty p { font-size: 13px; }
.planning-coverage-toolbar > div { font-size: 11px; }
.planning-coverage-column small { font-size: 9px; }
.planning-coverage-focus { padding: 13px 20px; font-size: 12px; }
.planning-team { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; padding: 16px; }
.planning-employee-card { min-height: 76px; border: 1px solid #e4ded8; border-radius: 13px; padding: 14px; }
.planning-employee-card b { font-size: 13px; }
.planning-employee-card small, .planning-employee-card i { font-size: 11px; line-height: 1.4; }
.planning-note-state { width: max-content; border-radius: 999px; padding: 3px 7px; font-size: 10px; font-style: normal; font-weight: 800; }
.planning-note-state.ok { background: #eaf7ef; color: #257248; }
.planning-note-state.pending { background: #fff0df; color: #9a530a; }
.planning-inline-form { gap: 10px; padding: 16px; }
.planning-inline-form input, .planning-inline-form select { min-height: 42px; font-size: 12px; }
.planning-absence-list article { padding: 14px 17px; }
.planning-absence-list b { font-size: 13px; }
.planning-absence-list small { font-size: 11px; }
.planning-rules-workspace { max-width: 1050px; }
.planning-rule-status { max-width: 440px; color: #716960; font-size: 12px; line-height: 1.45; text-align: right; }
.planning-rule-form-large { display: grid; grid-template-columns: 1fr auto; align-items: end; gap: 10px 14px; padding: 22px; }
.planning-rule-form-large > label { grid-column: 1 / -1; color: #4e4843; font-size: 13px; font-weight: 800; }
.planning-rule-form-large textarea { min-height: 132px; resize: vertical; padding: 14px; font-size: 14px; line-height: 1.5; }
.planning-rule-form-large > small { grid-column: 1 / -1; color: #756e68; font-size: 11px; }
.planning-rule-list-head { display: flex; align-items: end; justify-content: space-between; border-top: 1px solid #e7e1dc; border-bottom: 1px solid #e7e1dc; padding: 17px 22px; }
.planning-rule-list-head h2 { margin: 0; font-size: 18px; }
.planning-rule-list-head span { color: #766f68; font-size: 11px; }
.planning-rule-card { padding: 17px 21px; }
.planning-rule-card b { font-size: 13px; }
.planning-rule-card p { font-size: 12px; }
.planning-rule-card small { font-size: 10px; }
.planning-settings > form { padding: 22px; }
.planning-modal label, .planning-settings label { font-size: 11px; }
.planning-modal input, .planning-modal select, .planning-modal textarea, .planning-settings input, .planning-settings select { min-height: 42px; font-size: 13px; }
.planning-modal legend, .planning-explanation b, .planning-understanding p { font-size: 13px; }
.planning-modal fieldset > small, .planning-understanding small, .planning-understanding em, .planning-explanation span { font-size: 11px; }
.planning-notes-modal { width: min(820px, calc(100vw - 30px)); max-height: min(850px, calc(100vh - 30px)); overflow: auto; }
.planning-note-proposal { display: grid; gap: 12px; margin: 12px 0; border: 1px solid #e7dcd3; border-radius: 13px; background: #fffaf6; padding: 15px; }
.planning-note-proposal header { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; }
.planning-note-proposal header div { display: grid; gap: 4px; }
.planning-note-proposal header small, .planning-note-proposal > small { color: #8b7567; font-size: 10px; }
.planning-note-proposal header span { border-radius: 999px; background: #f1e7de; padding: 4px 8px; color: #75492d; font-size: 10px; font-weight: 800; }
.planning-ai-clarification { width: min(780px, calc(100vw - 24px)); }
.planning-ai-intro { color: #695f58; font-size: 12px; line-height: 1.55; }
.planning-ai-question { display: grid; gap: 11px; }
.planning-ai-question h3 { margin: 0; color: #332d29; font-size: 14px; line-height: 1.4; }
.planning-ai-options { display: grid; gap: 8px; }
.planning-ai-options label { display: flex; grid-template-columns: none; align-items: flex-start; gap: 10px; border: 1px solid #e3d8d0; border-radius: 11px; background: #fff; padding: 11px; cursor: pointer; }
.planning-ai-options label:has(input:checked) { border-color: #bd6c36; background: #fff8f2; box-shadow: 0 0 0 1px #bd6c36 inset; }
.planning-ai-options input { min-height: 0; margin: 3px 0 0; accent-color: #a94f21; }
.planning-ai-options span { display: grid; gap: 3px; }
.planning-ai-options b { color: #3c332d; font-size: 12px; }
.planning-ai-options b em { display: inline-block; margin-left: 5px; border-radius: 999px; background: #e8f6eb; padding: 2px 6px; color: #317342; font-size: 8px; font-style: normal; text-transform: uppercase; }
.planning-ai-options small { color: #776d65; font-size: 10px; line-height: 1.4; }
.planning-ai-other { margin-top: 2px; }
.planning-note-errors { display: grid; gap: 8px; margin: 12px 0; border: 1px solid #e8b9ac; border-radius: 12px; background: #fff1ed; padding: 13px; color: #8b3428; }
.planning-note-errors article { display: grid; gap: 2px; }
.planning-note-errors span, .planning-note-errors small { font-size: 11px; }

@media (max-width: 1250px) {
  .planning-roster { grid-template-columns: repeat(3, minmax(150px, 1fr)); }
  .planning-two-columns { grid-template-columns: 1fr; }
}

@media (max-width: 760px) {
  .planning-view { padding: 12px 12px 34px; }
  .planning-roster, .planning-team { grid-template-columns: 1fr; }
  .planning-rule-form-large { grid-template-columns: 1fr; }
  .planning-rule-form-large > button { width: 100%; }
  .planning-header-actions { justify-content: flex-start; }
}
