.fe-plan-page,.fe-plan-state{display:grid;gap:16px;min-width:0;color:var(--text-primary,#142033)}
.fe-plan-page h1,.fe-plan-state h1{margin:0;font-size:clamp(1.6rem,3vw,2.2rem);overflow-wrap:anywhere}
.fe-plan-page h2,.fe-plan-state h2{margin:0;font-size:1.15rem}
.fe-plan-page p,.fe-plan-state p{margin:0;overflow-wrap:anywhere}
.fe-plan-back{width:max-content;color:var(--primary,#315cf5);font-weight:650;text-decoration:none}
.fe-plan-back:hover{text-decoration:underline}
.fe-plan-summary,.fe-plan-status,.fe-plan-date,.fe-plan-priority,.fe-plan-progress{color:var(--text-secondary,#526176)}
.fe-plan-view-switch{display:flex;gap:8px;flex-wrap:wrap}
.fe-plan-button{min-width:44px;min-height:44px;padding:8px 13px;border:1px solid var(--border-strong,#b8c4d4);border-radius:8px;background:var(--surface,#fff);color:var(--text-primary,#142033);font:inherit;cursor:pointer}
.fe-plan-button[aria-pressed=true]{border-color:var(--primary,#315cf5);background:var(--primary,#315cf5);color:var(--color-on-primary,#fff)}
.fe-plan-button:focus-visible,.fe-plan-page a:focus-visible{outline:3px solid var(--focus-ring,#315cf5);outline-offset:2px}
.fe-plan-board{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(230px,100%),1fr));gap:14px;align-items:start;min-width:0}
.fe-plan-lane{display:grid;gap:12px;min-width:0;min-height:150px;padding:14px;border:1px solid var(--border,#dbe2eb);border-radius:12px;background:var(--surface-muted,#eef2f7)}
.fe-plan-lane-title{overflow-wrap:anywhere}
.fe-plan-lane-cards{display:grid;gap:10px;min-width:0}
.fe-plan-empty-lane,.fe-plan-empty{color:var(--text-secondary,#526176)}
.fe-plan-card{display:grid;gap:7px;min-width:0;padding:14px;border:1px solid var(--border,#dbe2eb);border-radius:10px;background:var(--surface,#fff);color:var(--text-primary,#142033);text-decoration:none;overflow-wrap:anywhere}
.fe-plan-card:hover{border-color:var(--primary,#315cf5)}
.fe-plan-list{min-width:0;overflow-x:auto}
.fe-plan-table{width:100%;border-collapse:collapse;background:var(--surface,#fff)}
.fe-plan-table th,.fe-plan-table td{padding:11px 12px;border-bottom:1px solid var(--border,#dbe2eb);text-align:left;vertical-align:top;overflow-wrap:anywhere}
.fe-plan-table th{background:var(--surface-muted,#eef2f7)}
.fe-plan-table a{color:var(--primary,#315cf5);font-weight:650}
.fe-plan-description,.fe-plan-timeline{display:grid;gap:12px;min-width:0;padding:18px;border:1px solid var(--border,#dbe2eb);border-radius:12px;background:var(--surface,#fff)}
.fe-plan-description>p,.fe-plan-record>p{white-space:pre-wrap;overflow-wrap:anywhere}
.fe-plan-caveat{color:var(--text-secondary,#526176)}
.fe-plan-record{display:grid;gap:8px;min-width:0;padding:14px;border-inline-start:3px solid var(--primary,#315cf5);background:var(--surface-muted,#eef2f7);border-radius:5px}
.fe-plan-record h3{margin:0;font-size:1rem}
.fe-plan-record-time,.fe-plan-record-actor{color:var(--text-secondary,#526176);font-size:.9rem}
.fe-plan-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.fe-plan-error{padding:20px;border:1px solid var(--danger,#c43d51);border-radius:12px;background:var(--surface,#fff)}
@media(max-width:600px){.fe-plan-board{grid-template-columns:minmax(0,1fr)}.fe-plan-table th,.fe-plan-table td{padding:9px 8px}.fe-plan-page{gap:13px}.fe-plan-description,.fe-plan-timeline{padding:14px}}
@media(prefers-reduced-motion:reduce){.fe-plan-page *{scroll-behavior:auto!important;transition:none!important}}

.fe-plan-editor{display:grid;gap:12px;max-width:680px;padding:18px;border:1px solid var(--border,#dbe2eb);border-radius:12px;background:var(--surface,#fff)}
.fe-plan-field{display:grid;gap:6px;font-weight:600}
.fe-plan-input{width:100%;min-height:44px;padding:9px 11px;border:1px solid var(--border-strong,#b8c4d4);border-radius:8px;background:var(--surface,#fff);color:var(--text-primary,#142033);font:inherit}
.fe-plan-input:focus-visible{outline:3px solid var(--focus-ring,#315cf5);outline-offset:2px}
textarea.fe-plan-input{min-height:110px;resize:vertical}
.fe-plan-form-error{color:var(--danger,#c43d51)}
.fe-plan-primary{width:max-content;background:var(--primary,#315cf5);color:var(--color-on-primary,#fff)}
