/* Planning follow-up shares the existing light Bruno’s identity. */
.planning-followup-layout{min-width:0}
.planning-followup-layout .classic-planning{height:auto;min-height:100dvh}
.planning-followup-layout .classic-card{flex:none;height:clamp(320px,65dvh,760px)}
.planning-followup-layout .planning-heading{position:relative;padding-right:56px;min-width:150px}
.planning-followup-layout .followup-bell{position:absolute;right:0;top:0}
.followup-card,.followup-dialog{--followup-text:#16203a;--followup-muted:#5b6579;--followup-border:#dce1e9;box-sizing:border-box;background:#fff;color:var(--followup-text);border:1px solid var(--followup-border);border-radius:12px;font-family:'IBM Plex Sans',system-ui,sans-serif;min-width:0}
.followup-card{flex:none;margin:14px 16px;padding:16px}
.followup-card header{display:flex;align-items:center;justify-content:space-between;gap:12px}
.followup-card h2,.followup-dialog h2{font-family:Archivo,system-ui,sans-serif;font-size:18px;line-height:1.3;margin:0}
.followup-month{font-size:13px;color:var(--followup-muted);margin:4px 0 0;text-transform:capitalize}
.followup-button{background:#fff;color:var(--followup-text);border:1px solid var(--followup-border);border-radius:8px;padding:10px 12px;min-height:44px;font:600 14px 'IBM Plex Sans',system-ui,sans-serif;cursor:pointer;white-space:normal}
.followup-button:hover{border-color:#aeb8c8;background:#f4f6f9}
.followup-button:disabled{opacity:.5;cursor:default}
.followup-button.approve{background:#d7262e;color:#fff;border-color:#d7262e}
.followup-button:focus-visible,.followup-card summary:focus-visible,.followup-bell:focus-visible{outline:2px solid #d7262e;outline-offset:3px}
.followup-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:14px 0 10px}
.followup-summary>div{min-width:0;border-right:1px solid var(--followup-border)}
.followup-summary>div:last-child{border:0}
.followup-summary span{display:block;font-size:13px;line-height:1.35;color:var(--followup-muted)}
.followup-summary strong{display:block;font:500 23px/1.4 'IBM Plex Mono',monospace;margin-top:3px}
.followup-progress{display:block;width:100%;height:5px;appearance:none;-webkit-appearance:none;border:0;background:#eef1f6;border-radius:99px;overflow:hidden}
.followup-progress::-webkit-progress-bar{background:#eef1f6;border-radius:99px}
.followup-progress::-webkit-progress-value{background:#d7262e;border-radius:99px}
.followup-progress::-moz-progress-bar{background:#d7262e;border-radius:99px}
.followup-lists{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:14px}
.followup-response-list{min-width:0}
.followup-response-list h3{font:600 13px 'IBM Plex Sans',system-ui,sans-serif;margin:0 0 7px}
.followup-response-list h3>span{color:var(--followup-muted);font-weight:400;margin-left:4px}
.followup-name-list{display:flex;flex-wrap:wrap;gap:5px;list-style:none;padding:0;margin:0}
.followup-name-list li{display:flex;align-items:center;gap:5px;padding:3px 7px;border-radius:6px;background:#f4f6f9;font-size:13px;line-height:1.5;overflow-wrap:anywhere;max-width:100%;box-sizing:border-box}
.followup-name-list li>span{min-width:0}
.followup-empty{font-size:13px;color:var(--followup-muted);margin:0}
.followup-modified{font-size:11px;color:#865600}
.followup-more{margin-top:5px}
.followup-more summary{display:list-item;cursor:pointer;color:#b32027;font-size:13px;line-height:1.5;padding:5px 0;min-height:28px}
.followup-more .followup-name-list{margin-top:5px}
.followup-more-open,.followup-more[open] .followup-more-closed{display:none}
.followup-more[open] .followup-more-open{display:inline}
.followup-phase{font-size:12px;color:var(--followup-muted);line-height:1.5;margin:12px 0 0}
.followup-phase.highlight,.followup-phase.warning,.followup-phase.final{color:#865600}
.followup-phase.final{font-weight:600}
.followup-history{font-size:12px;color:var(--followup-muted);margin-top:8px;line-height:1.5}
.followup-history summary{cursor:pointer;padding:4px 0}
.followup-history p{margin:6px 0;overflow-wrap:anywhere}
.followup-bell{display:flex;gap:6px;align-items:center;justify-content:center;min-width:48px;min-height:44px;border:1px solid #dce1e9;background:#fff;border-radius:8px;color:#16203a;cursor:pointer;margin-left:auto}
.followup-bell svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8}
.followup-bell span{font:500 12px 'IBM Plex Mono',monospace;background:#d7262e;color:#fff;border-radius:20px;padding:3px 5px}
.followup-dialog{overflow-y:auto;margin:0;max-height:86dvh;padding:20px!important}
.followup-dialog p{font-size:14px;line-height:1.5;overflow-wrap:anywhere}
.followup-dialog h2{margin-bottom:12px}
.followup-dialog .followup-notifications article{padding:14px 12px;margin-top:10px;border:1px solid var(--followup-border);border-left:3px solid #d7262e;border-radius:8px;background:#fff}
.followup-dialog article.is-read{border-left-color:#dce1e9;background:#f8f9fc}
.followup-dialog .followup-actions{display:flex;gap:8px;flex-wrap:wrap}
.followup-dialog .followup-pending{color:#865600;background:#fff5dd;border-radius:6px;padding:6px 8px}
.followup-explanation{font-size:12px!important;color:var(--followup-muted);line-height:1.5}
.availability-month{max-width:650px;margin:auto}.availability-day-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;margin:16px 0}.availability-weekday{text-align:center;font-weight:600;color:#59677e}.availability-day{min-width:0;min-height:60px;background:#fff;border:1px solid #d9dfeb;border-radius:10px;padding:6px 2px;color:#1d2d47;cursor:pointer;font-family:'IBM Plex Sans',sans-serif}.availability-day b,.availability-day small{display:block}.availability-day small{margin-top:5px;font-size:11px;min-height:14px}.availability-day.is-ind{background:#e4e4fa;color:#3b3c8d;border-color:#7877bf}.availability-day:disabled{cursor:default;opacity:.55}.availability-day.is-protected{background:#edf1f7}.availability-confirmation{border-top:1px solid #d9dfeb;margin-top:18px;padding-top:12px}.availability-confirmation .is-modified{color:#865600}.availability-deadline{font-size:14px;color:#5b6780}.availability-month .button{white-space:normal}
@media(max-width:600px){.followup-card{padding:12px;margin:12px 16px}.followup-card h2{font-size:17px}.followup-card header{align-items:flex-start}.followup-summary{gap:7px}.followup-summary span{font-size:12px;min-height:32px}.followup-summary strong{font-size:20px}.followup-lists{gap:14px;grid-template-columns:minmax(0,1fr)}.followup-dialog{padding:16px!important}.availability-day-grid{gap:4px}.availability-day{min-height:52px}.followup-bell{min-width:43px;gap:3px}.planning-heading .classic-save-status{max-width:140px}}
@media(max-width:500px){.planning-followup-layout .classic-navbar{flex-wrap:wrap}.planning-followup-layout .planning-heading{flex-basis:100%;min-height:44px}.planning-followup-layout .classic-period{width:100%;justify-content:center;margin-top:4px}}
body.planning-focus .skip-link:not(:focus){opacity:0;pointer-events:none}
