/* ATLAS — Planning */
.pl-root { display:grid; gap:18px; }
.pl-stats { display:grid; grid-template-columns:repeat(4, minmax(0,1fr)); gap:14px; }
.pl-stat { display:flex; flex-direction:column; gap:4px; padding:18px 20px !important; min-width:0; }
.pl-stat small { font-size:12px; font-weight:700; color:#72809a; }
.pl-stat strong { font-size:26px; line-height:1.15; color:#17243d; letter-spacing:-.02em; }
.pl-stat span { font-size:12px; color:#8a97ab; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.pl-ok { color:#17803d !important; }
.pl-mid { color:#b86a00 !important; }
.pl-bad { color:#c62828 !important; font-style:normal; }

.pl-list { display:grid; gap:14px; }
.pl-section { margin:8px 2px 0; font-size:12px; font-weight:800; letter-spacing:.07em; text-transform:uppercase; color:#72809a; }
.pl-section small { margin-left:6px; padding:1px 7px; border-radius:99px; background:#eef2f7; font-size:11px; letter-spacing:0; }
.pl-toggle { border:0; background:none; padding:0; font:inherit; color:inherit; letter-spacing:inherit; text-transform:inherit; cursor:pointer; }

.pl-card { padding:20px 22px !important; border-left:4px solid transparent; }
.pl-card.pl-risk-mid { border-left-color:#f0a000; }
.pl-card.pl-risk-bad { border-left-color:#e03b3b; }
.pl-card-head { display:flex; justify-content:space-between; align-items:flex-start; gap:16px; }
.pl-card-head h3 { margin:4px 0 0; font-size:19px; color:#17243d; letter-spacing:-.02em; }
.pl-loc { margin:4px 0 0; font-size:13px; color:#536783; }
.pl-card-side { display:flex; align-items:center; gap:10px; flex-wrap:wrap; justify-content:flex-end; }
.pl-next { padding:5px 11px; border-radius:99px; background:#eaf1ff; color:#165cf5; font-size:12.5px; font-weight:800; white-space:nowrap; }
.pl-next-done { background:#e8f7ee; color:#17803d; }
.pl-link { border:0; background:none; color:#165cf5; font:inherit; font-size:13px; font-weight:700; cursor:pointer; padding:0; white-space:nowrap; }

.pl-alert { margin-top:14px; padding:10px 12px; border-radius:10px; font-size:13px; font-weight:600; }
.pl-alert-mid { background:#fff6e5; color:#7a4f00; }
.pl-alert-bad { background:#fdecec; color:#a11d1d; }

.pl-timeline { display:grid; grid-template-columns:repeat(5, minmax(0,1fr)); gap:10px; margin-top:16px; position:relative; }
.pl-ms { display:flex; flex-direction:column; gap:3px; padding:12px; border:1px solid #e6ebf3; border-radius:12px; background:#fbfcfe; min-width:0; }
.pl-ms-dot { width:26px; height:26px; display:grid; place-items:center; border-radius:50%; background:#eaf1ff; color:#165cf5; font-size:13px; margin-bottom:4px; }
.pl-ms small { font-size:11px; font-weight:800; color:#72809a; text-transform:uppercase; letter-spacing:.05em; }
.pl-ms b { font-size:13px; color:#17243d; }
.pl-ms em { font-style:normal; font-size:12px; color:#536783; }
.pl-ms.is-empty { opacity:.55; border-style:dashed; }
.pl-ms.is-empty b { color:#8a97ab; font-weight:600; }
.pl-ms.is-past { background:#f5f6f8; }
.pl-ms.is-past .pl-ms-dot { background:#e6e9ee; color:#8a97ab; }
.pl-ms.is-today { border-color:#165cf5; background:#f3f7ff; }
.pl-ms.is-today em { color:#165cf5; font-weight:800; }
.pl-ms.is-soon { border-color:#f0b54a; background:#fffaf0; }
.pl-ms.is-soon .pl-ms-dot { background:#fff0d1; color:#b86a00; }
.pl-ms.is-soon em { color:#b86a00; font-weight:800; }

.pl-ready { display:flex; align-items:center; gap:16px; margin-top:16px; }
.pl-ready-text { display:flex; gap:8px; align-items:baseline; flex:1; min-width:0; font-size:13px; color:#536783; }
.pl-ready-text b { color:#17243d; }
.pl-bar { width:220px; max-width:40%; height:8px; border-radius:99px; background:#eef2f7; overflow:hidden; }
.pl-bar i { display:block; height:100%; border-radius:99px; transition:width .3s; }
.pl-bar-ok { background:#22a35a; }
.pl-bar-mid { background:#f0a000; }
.pl-bar-bad { background:#e03b3b; }
.pl-note { margin:12px 0 0; padding:9px 12px; border-radius:9px; background:#f6f8fb; font-size:13px; color:#536783; }

.pl-form { display:grid; grid-template-columns:repeat(5, minmax(0,1fr)); gap:12px; margin-top:16px; padding:16px; border:1px solid #dfe6f0; border-radius:12px; background:#fbfcfe; }
.pl-form label { display:flex; flex-direction:column; gap:5px; font-size:11.5px; font-weight:700; color:#536783; min-width:0; }
.pl-form input { height:38px; border:1px solid #d9e1ec; border-radius:8px; padding:0 10px; font:inherit; font-size:13px; color:#18253a; background:#fff; min-width:0; }
.pl-form .pl-wide { grid-column:span 5; }
.pl-form-msg { grid-column:1/-1; font-size:13px; font-weight:600; color:#a11d1d; }
.pl-form-msg:empty { display:none; }
.pl-form-actions { grid-column:1/-1; display:flex; justify-content:flex-end; gap:8px; }

.pl-empty { display:flex; flex-direction:column; align-items:center; gap:6px; padding:40px 20px !important; text-align:center; color:#72809a; font-size:13px; }
.pl-empty strong { color:#17243d; font-size:15px; }

@media (max-width: 1100px) {
  .pl-stats { grid-template-columns:repeat(2, minmax(0,1fr)); }
  .pl-timeline, .pl-form { grid-template-columns:repeat(3, minmax(0,1fr)); }
  .pl-form .pl-wide { grid-column:span 3; }
}
@media (max-width: 640px) {
  .pl-stats { grid-template-columns:1fr 1fr; }
  .pl-timeline, .pl-form { grid-template-columns:1fr 1fr; }
  .pl-form .pl-wide { grid-column:span 2; }
  .pl-card-head { flex-direction:column; }
  .pl-card-side { justify-content:flex-start; }
  .pl-ready { flex-direction:column; align-items:stretch; }
  .pl-bar { width:100%; max-width:none; }
}
