/* Work planning uses the same blue, slate and white surfaces as asset cards. */
.planning-page { color:#263c59; display:grid; gap:18px; min-width:0; }
.planning-back { display:inline-flex; align-items:center; gap:7px; width:fit-content; min-height:30px; color:#71839c; font-size:12px; }
.planning-back:hover { color:#2563eb; }
.planning-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:20px; min-width:0; }
.planning-heading__main { display:flex; gap:13px; min-width:0; }
.planning-heading__icon,.planning-card__icon { display:grid; place-items:center; flex-shrink:0; background:#edf3ff; color:#3470dd; border-radius:12px; width:44px; height:44px; }
.planning-heading__text { min-width:0; }
.planning-eyebrow { color:#8798af; font-size:10px; font-weight:600; letter-spacing:1px; text-transform:uppercase; margin-bottom:5px; }
.planning-heading h1 { color:#1d324f; font-size:23px; font-weight:700; line-height:1.3; letter-spacing:-.5px; overflow-wrap:anywhere; }
.planning-heading p { color:#7a899d; font-size:13px; margin-top:6px; line-height:1.5; }
.planning-heading__title { display:flex; align-items:center; flex-wrap:wrap; gap:8px 12px; }
.planning-actions { display:flex; flex-wrap:wrap; align-items:center; gap:8px; flex-shrink:0; }
.planning-button { display:inline-flex; align-items:center; justify-content:center; gap:7px; padding:9px 13px; min-height:38px; border:1px solid #dce5ef; border-radius:9px; background:#fff; color:#536982; font-family:inherit; font-size:12px; font-weight:600; line-height:1.4; text-decoration:none; cursor:pointer; transition:background .15s,border-color .15s; }
.planning-button:hover { border-color:#bdd0ec; background:#f7faff; color:#245ed3; }
.planning-button--primary { color:white; background:#2863e9; border-color:#2863e9; box-shadow:0 2px 4px #2863e914; }
.planning-button--primary:hover { color:#fff; background:#1d52ce; border-color:#1d52ce; }
.planning-button--danger { color:#b75c68; background:transparent; border-color:transparent; }
.planning-button--danger:hover { color:#a63d50; background:#fff2f3; border-color:#f3dce0; }
.planning-button--soft { background:#f0f5ff; border-color:#dce7fc; color:#3165c6; }
.planning-button svg { width:16px; height:16px; flex-shrink:0; }
.planning-status { display:inline-flex; align-items:center; gap:6px; border-radius:7px; padding:5px 9px; font-size:11px; font-weight:600; line-height:1.4; white-space:nowrap; }
.planning-status::before { content:''; width:5px; height:5px; border-radius:50%; background:currentColor; flex-shrink:0; }
.planning-card { min-width:0; background:#fff; border:1px solid #e0e7f0; border-radius:14px; box-shadow:0 2px 4px #1e365708; }
.planning-card__header { display:flex; align-items:center; gap:10px; padding:17px 19px 14px; }
.planning-card__header h2 { margin:0; color:#304764; font-size:14px; font-weight:650; }
.planning-card__header p { margin-top:3px; font-size:11px; color:#94a0b2; }
.planning-card__icon { width:32px; height:32px; border-radius:9px; }
.planning-card__icon svg { width:18px; height:18px; }
.planning-count { margin-left:auto; display:inline-flex; align-items:center; justify-content:center; min-width:26px; padding:3px 7px; border-radius:7px; color:#7286a2; background:#f1f5fa; font-size:11px; font-weight:600; }
.planning-card__body { padding:0 19px 18px; min-width:0; }
.planning-data { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px 28px; padding-top:3px; }
.planning-data dt { color:#8a99ad; font-size:11px; margin-bottom:5px; }
.planning-data dd { color:#344c6b; font-size:13px; font-weight:550; line-height:1.5; overflow-wrap:anywhere; }
.planning-note { padding-top:14px; margin-top:16px; border-top:1px solid #edf1f7; font-size:12px; line-height:1.6; white-space:pre-wrap; overflow-wrap:anywhere; color:#71839b; }
.planning-layout { display:grid; grid-template-columns:minmax(0,1fr) 300px; gap:18px; align-items:start; }
.planning-resources { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; align-items:start; min-width:0; }
.planning-aside { display:grid; gap:16px; min-width:0; }
.planning-resource-list { display:grid; gap:7px; }
.planning-resource { display:flex; align-items:center; gap:10px; padding:11px 12px; border:1px solid #eaf0f6; border-radius:9px; background:#f8fafd; min-width:0; }
.planning-resource__text { flex:1; min-width:0; }
.planning-resource strong { display:block; font-size:12px; font-weight:600; color:#3b526e; line-height:1.5; overflow-wrap:anywhere; }
.planning-resource small { display:block; font-size:11px; color:#8494aa; line-height:1.5; margin-top:2px; overflow-wrap:anywhere; }
.planning-resource__remove { display:grid; place-items:center; width:30px; height:32px; flex-shrink:0; border:0; border-radius:7px; background:transparent; color:#a0adbf; font-size:19px; cursor:pointer; }
.planning-resource__remove:hover { background:#ffedf0; color:#be5a6a; }
.planning-empty { padding:12px; border:1px dashed #dce5f0; border-radius:9px; background:#fcfdff; font-size:12px; line-height:1.6; color:#8b9cb2; }
.planning-add { margin-top:13px; padding-top:12px; border-top:1px solid #eef2f7; }
.planning-add > summary { display:flex; align-items:center; gap:7px; min-height:34px; list-style:none; cursor:pointer; color:#3d6ec4; font-size:12px; font-weight:600; }
.planning-add > summary::-webkit-details-marker { display:none; }
.planning-add > summary::before { content:'+'; display:grid; place-items:center; width:22px; height:22px; border-radius:6px; background:#edf3ff; color:#3870d8; font-size:18px; font-weight:400; }
.planning-add[open] > summary::before { content:'−'; }
.planning-add form { display:grid; gap:10px; margin-top:10px; }
.planning-field { min-width:0; }
.planning-field label { display:block; color:#7689a3; font-size:11px; font-weight:500; margin-bottom:6px; }
.planning-input,.planning-field input,.planning-field textarea,.planning-field select,.planning-workflow select,.planning-workflow textarea { display:block; width:100%; min-width:0; min-height:42px; padding:10px 12px; border:1px solid #dce4ef; border-radius:9px; background:#fff; color:#354e70; font-family:inherit; font-size:13px; line-height:1.5; }
.planning-input::placeholder,.planning-field input::placeholder,.planning-field textarea::placeholder { color:#9aa9bd; }
.planning-input:focus,.planning-field input:focus,.planning-field textarea:focus,.planning-field select:focus,.planning-workflow select:focus,.planning-workflow textarea:focus { outline:3px solid #2863e912; border-color:#7c9ff0; }
.planning-position-label { color:#7689a3; font-size:11px; margin-bottom:6px; }
.planning-position { padding:9px 12px; border-radius:8px; background:#f5f8fc; border:1px solid #e7edf5; color:#607894; font-size:12px; overflow-wrap:anywhere; }
.planning-workflow { display:grid; gap:8px; }
.planning-complete label { color:#7689a3; font-size:11px; }
.planning-workflow form:not(.planning-complete) { display:contents; }
.planning-workflow .planning-button { width:100%; }
.planning-complete { display:grid; gap:10px; }
.planning-workflow__hint { color:#8999ae; font-size:11px; line-height:1.6; margin-bottom:6px; }
/* Connected process steps: horizontal on desktop, compact vertical on phones. */
.planning-process__caption { margin-left:auto; flex-shrink:0; padding:5px 9px; border-radius:7px; background:#f0f5ff; color:#4374cd; font-size:11px; font-weight:600; }
.planning-process__steps { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); list-style:none; padding:8px 0 4px; margin:0; }
.planning-process__step { position:relative; min-width:0; text-align:center; padding:0 8px; }
.planning-process__step:not(:last-child)::after { content:''; position:absolute; left:50%; top:15px; width:100%; height:3px; background:#e8edf5; }
.planning-process__step.is-done:not(:last-child)::after { background:#6895ec; }
.planning-process__node { position:relative; z-index:1; display:grid; place-items:center; width:32px; height:32px; margin:0 auto 12px; border:2px solid #e1e8f2; border-radius:50%; background:#f9fbfe; color:#a3b0c2; font-size:11px; font-weight:600; box-shadow:0 0 0 5px #fff; }
.planning-process__node svg { width:17px; height:17px; }
.planning-process__step.is-done .planning-process__node { background:#6090e8; border-color:#6090e8; color:#fff; }
.planning-process__step.is-current .planning-process__node { background:#fff; border-color:#2863e9; color:#2863e9; box-shadow:0 0 0 5px #eaf1ff; }
.planning-process__text { position:relative; display:flex; align-items:center; flex-direction:column; gap:5px; font-size:11px; line-height:1.5; }
.planning-process__label { display:block; color:#8e9db2; font-weight:500; }
.planning-process__text time,.planning-process__text small { color:#a0adbe; font-size:10px; font-variant-numeric:tabular-nums; }
.planning-process__step.is-done .planning-process__label { color:#506e98; }
.planning-process__step.is-current .planning-process__label { color:#285fbd; font-weight:650; }
.planning-process__current { padding:2px 6px; border-radius:5px; color:#3974d5; background:#eff5ff; font-size:9px; }
.planning-process__stopped { display:flex; flex-wrap:wrap; justify-content:space-between; gap:8px; margin-top:18px; padding:10px 12px; border-radius:8px; background:#fff2f3; color:#b25d6b; font-size:12px; }
.planning-process--cancelled .planning-process__caption { color:#b25d6b; background:#fff2f3; }
@media (max-width:767px) {
  .planning-process__caption { font-size:10px; padding:4px 7px; }
  .planning-process .planning-card__header { flex-wrap:wrap; }
  .planning-process .planning-card__header p { display:none; }
  .planning-process__steps { grid-template-columns:minmax(0,1fr); padding:4px 0 0; }
  .planning-process__step { display:flex; align-items:flex-start; gap:14px; text-align:left; padding:0 0 18px; }
  .planning-process__step:last-child { padding-bottom:0; }
  .planning-process__node { flex-shrink:0; width:28px; height:28px; margin:0; }
  .planning-process__step:not(:last-child)::after { left:13px; top:28px; bottom:0; width:2px; height:auto; }
  .planning-process__text { flex:1; display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:3px 12px; padding-top:4px; }
  .planning-process__text time,.planning-process__text small { text-align:right; }
  .planning-process__label { font-size:12px; }
  .planning-process__current { grid-column:1/-1; justify-self:start; }
}
.planning-alert { grid-column:1/-1; border:1px solid #f1e2bf; background:#fffcf5; border-radius:12px; padding:15px 18px; color:#977337; }
.planning-alert h2 { font-size:13px; font-weight:600; }
.planning-alert ul { margin:7px 0 0; padding-left:16px; list-style:disc; font-size:12px; line-height:1.7; }
.planning-table-scroll { overflow:auto; border-radius:14px; }
.planning-table { width:100%; min-width:850px; border-collapse:collapse; font-size:12px; }
.planning-table th { padding:12px 17px; text-align:left; background:#f8fafd; color:#8394ad; font-size:10px; font-weight:600; text-transform:uppercase; letter-spacing:.4px; border-bottom:1px solid #e3eaf3; }
.planning-table td { padding:15px 17px; border-bottom:1px solid #edf1f6; color:#627992; vertical-align:top; }
.planning-table tr:last-child td { border-bottom:0; }
.planning-table tbody tr:hover { background:#f8fbff; }
.planning-table td:first-child { max-width:300px; }
.planning-table a { font-weight:600; color:#326bd0; overflow-wrap:anywhere; }
.planning-table small { display:block; margin-top:5px; color:#94a2b5; font-size:11px; line-height:1.5; }
.planning-resource-tags { display:flex; flex-wrap:wrap; gap:5px; max-width:210px; }
.planning-resource-tags span { padding:3px 6px; background:#f1f5fb; border-radius:5px; color:#7c90ac; font-size:10px; white-space:nowrap; }
.planning-mobile-list { display:none; }
.planning-list-footer { padding:12px 18px; border-top:1px solid #edf1f6; font-size:11px; color:#93a1b4; }
.planning-form { display:grid; gap:20px; }
.planning-fieldset { border:0; margin:0; padding:0 0 20px; border-bottom:1px solid #edf1f7; min-width:0; }
.planning-fieldset legend { width:100%; margin-bottom:14px; color:#435e80; font-size:13px; font-weight:600; }
.planning-fieldset legend span { margin-right:8px; color:#97acc9; font-size:10px; }
.planning-form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px 18px; }
.planning-field--full { grid-column:1/-1; }
.planning-field small { display:block; margin-top:6px; font-size:11px; line-height:1.5; color:#91a0b4; }
.planning-form__footer { display:flex; justify-content:flex-end; gap:8px; }
.planning-modal-heading { display:flex; gap:12px; align-items:center; padding:0 40px 18px 0; border-bottom:1px solid #edf1f7; margin-bottom:20px; }
.planning-modal-heading h2 { font-size:18px; font-weight:650; color:#284363; }
.planning-modal-heading p { color:#91a1b8; font-size:12px; margin-top:4px; overflow-wrap:anywhere; }
.planning-form-page { max-width:860px; }
.planning-select-menu { padding:5px; border:1px solid #dce5f0!important; border-radius:11px!important; box-shadow:0 10px 30px #18324f1a!important; overscroll-behavior:contain; }
.planning-select-menu [data-value] { padding:10px!important; border-radius:7px; }
.planning-select-menu [data-value]:hover { background:#eff5ff; }
.planning-select-menu [data-value] > div { white-space:normal; overflow-wrap:anywhere; color:#3b536f; }
.planning-select-menu [data-value] > div + div { margin-top:3px; color:#8b9cb2; }
.planning-page :is(a,button,summary,input[type=submit]):focus-visible,.planning-form :is(button,input[type=submit]):focus-visible { outline:3px solid #adc9ff; outline-offset:3px; }
@media (max-width:1279px) {
  .planning-layout { grid-template-columns:minmax(0,1fr); }
  .planning-aside { grid-template-columns:minmax(0,1fr); align-items:start; }
  .planning-heading { flex-wrap:wrap; gap:14px; }
}
@media (max-width:767px) {
  .planning-page { gap:12px; }
  .planning-heading { gap:12px; }
  .planning-heading__icon { width:36px; height:36px; border-radius:10px; }
  .planning-heading h1 { font-size:18px; letter-spacing:-.25px; }
  .planning-heading p { font-size:12px; }
  .planning-eyebrow { font-size:9px; }
  .planning-actions { gap:6px; width:100%; }
  .planning-actions > * { flex:1; }
  .planning-actions form .planning-button { width:100%; }
  .planning-button { min-height:44px; padding:9px 10px; font-size:12px; }
  .planning-status { white-space:normal; font-size:10px; }
  .planning-card { border-radius:12px; }
  .planning-card__header { padding:14px 14px 12px; }
  .planning-card__body { padding:0 14px 14px; }
  .planning-data { grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px 16px; }
  .planning-data dd { font-size:12px; }
  .planning-data dt { font-size:10px; }
  .planning-layout,.planning-resources,.planning-aside { grid-template-columns:minmax(0,1fr); gap:12px; }
  .planning-aside { grid-row:auto; }
  .planning-resources { grid-row:1; }
  .planning-resource__remove { width:44px; height:44px; }
  .planning-add > summary { min-height:44px; }
  .planning-add .planning-button { width:100%; }
  .planning-desktop-list { display:none; }
  .planning-mobile-list { display:grid; gap:10px; }
  .planning-mobile-request { display:block; padding:14px; }
  .planning-mobile-request__top { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:9px; }
  .planning-mobile-request__top small { color:#8a9bb2; font-size:11px; }
  .planning-mobile-request strong { display:block; font-size:13px; color:#3164b6; line-height:1.5; overflow-wrap:anywhere; }
  .planning-mobile-request p { margin-top:5px; font-size:12px; color:#5f7694; line-height:1.5; }
  .planning-mobile-request > small { display:block; margin:7px 0 10px; color:#95a3b8; font-size:11px; }
  .planning-resource-tags { max-width:none; }
  .planning-form-grid { grid-template-columns:minmax(0,1fr); gap:14px; }
  .planning-modal-heading h2 { font-size:17px; }
  .planning-modal-heading .planning-heading__icon { display:none; }
  .planning-form__footer > * { flex:1; }
  .planning-select-menu [data-value] { min-height:44px; }
}
@media (prefers-reduced-motion:reduce) { .planning-button { transition:none; } }
.planning-readiness { grid-column:1/-1; min-width:0; }
.planning-readiness:empty,.planning-save-feedback:empty { display:none; }
.planning-save-feedback { margin-top:10px; font-size:11px; line-height:1.5; color:#8294ac; overflow-wrap:anywhere; }
.planning-save-feedback .is-success { color:#368669; }
.planning-save-feedback .is-error { color:#b04d60; }
.planning-autosave-hint { margin-top:8px; font-size:10px; line-height:1.5; color:#98a6b9; }
.planning-resource-form[aria-busy=true] { pointer-events:none; opacity:.65; }
