/* planforge-dashboard.css */

/* Goal grid */
.pf-active-profile-badge { font-size: 0.8rem; color: rgba(255,255,255,0.5); margin-bottom: 1rem; }
.pf-active-profile-badge strong { color: rgba(255,255,255,0.85); }
.pf-switch-profile { color: var(--color-primary); text-decoration: none; margin-left: 0.5rem; font-size: 0.75rem; }
.pf-profile-card { display: flex; align-items: center; justify-content: space-between; padding: 0.875rem 1rem; background: rgba(255,255,255,0.04); border: 1px solid rgba(255,255,255,0.08); border-radius: 0.5rem; margin-bottom: 0.5rem; }
.pf-profile-card.active { border-color: var(--color-primary); }
.pf-profile-card-main { display: flex; flex-direction: column; gap: 0.2rem; }
.pf-profile-name { font-weight: 500; font-size: 0.9rem; }
.pf-profile-desc { font-size: 0.75rem; color: rgba(255,255,255,0.4); }
.pf-profile-card-actions { display: flex; align-items: center; gap: 0.5rem; }
.pf-profile-active-label { font-size: 0.75rem; color: var(--color-primary); font-weight: 500; }
.pf-profile-no-facts { font-size: 0.75rem; color: rgba(255,255,255,0.25); font-style: italic; }
.pf-row-actions { display: flex; align-items: center; gap: 0.5rem; }
.pf-export-wrap { position: relative; }
.pf-export-toggle { font-size: 0.8rem; }
.pf-export-dropdown { display: none; position: absolute; right: 0; top: 100%; z-index: 100; background: var(--color-surface); border: 1px solid var(--color-border); border-radius: 0.375rem; min-width: 10rem; padding: 0.25rem 0; box-shadow: 0 4px 12px rgba(0,0,0,0.3); }
.pf-export-wrap.open .pf-export-dropdown { display: block; }
.pf-export-item { display: block; width: 100%; text-align: left; background: none; border: none; padding: 0.4rem 0.75rem; font-size: 0.8125rem; color: var(--color-text); cursor: pointer; }
.pf-export-item:hover { background: rgba(255,255,255,0.06); }
.pf-plan-name { display: block; font-weight: 500; }
.pf-plan-date-sub { display: block; font-size: 0.75rem; color: rgba(255,255,255,0.4); margin-top: 0.125rem; }
.pf-goal-grid { display: flex; flex-direction: column; gap: 1.5rem; }
.pf-goal-category { display: flex; flex-direction: column; gap: 0.5rem; }
.pf-goal-category-label { font-size: 0.75rem; font-weight: 600; text-transform: uppercase; letter-spacing: 0.05em; color: var(--color-text-muted); }
.pf-goal-card { background: var(--color-surface); border: 1px solid var(--color-border); border-radius: var(--radius); padding: 0.875rem 1rem; text-align: left; cursor: pointer; transition: border-color 0.15s; margin-bottom: 0.5rem; }
.pf-goal-card:hover { border-color: var(--color-primary); }
.pf-goal-name { font-weight: 600; font-size: 0.9375rem; color: var(--color-text); }
.pf-goal-desc { font-size: 0.8125rem; color: var(--color-text-muted); margin-top: 0.25rem; }

/* Facts form */
.pf-form-wrap { max-width: 36rem; }

/* Chat */
.pf-progress-bar-wrap { height: 4px; background: var(--color-border); border-radius: 2px; margin-bottom: 0.75rem; }
.pf-progress-bar-inner { height: 100%; background: var(--color-primary); border-radius: 2px; transition: width 0.3s; }
.pf-topic-pills { display: flex; flex-wrap: wrap; gap: 0.5rem; margin-bottom: 1rem; }
.pf-topic-pill { padding: 0.25rem 0.75rem; border-radius: 999px; border: 1px solid var(--color-border); background: var(--color-surface); font-size: 0.8125rem; cursor: pointer; color: var(--color-text-muted); }
.pf-topic-pill.active { border-color: var(--color-primary); color: var(--color-primary); }
.pf-topic-pill.locked { background: var(--color-primary); border-color: var(--color-primary); color: #fff; }
.pf-chat-messages { min-height: 200px; max-height: 400px; overflow-y: auto; display: flex; flex-direction: column; gap: 0.75rem; margin-bottom: 1rem; padding: 0.5rem 0; }
.pf-chat-bubble { max-width: 80%; padding: 0.625rem 0.875rem; border-radius: 0.75rem; font-size: 0.9rem; line-height: 1.5; }
.pf-chat-bubble.agent { background: var(--color-surface); border: 1px solid var(--color-border); align-self: flex-start; color: var(--color-text); }
.pf-chat-bubble.user { background: var(--color-primary); color: #fff; align-self: flex-end; }
.pf-chat-bubble.pf-lock-hint { border-color: var(--color-accent); color: var(--color-accent); font-style: italic; }
.pf-chat-input-row { display: flex; flex-direction: column; gap: 0.5rem; }
.pf-chat-textarea { resize: vertical; }
.pf-chat-btns { display: flex; gap: 0.5rem; flex-wrap: wrap; }

/* Readiness */
.pf-readiness-score { font-size: 3rem; font-weight: 700; line-height: 1; }
.pf-readiness-verdict { font-size: 1rem; text-transform: capitalize; color: var(--color-text-muted); margin-bottom: 1rem; }
.pf-readiness-section { margin-top: 1rem; }
.pf-readiness-section ul { margin: 0.5rem 0 0 1.25rem; }
.pf-readiness-section li { font-size: 0.9rem; margin-bottom: 0.25rem; }
.pf-action-row { margin-top: 1.5rem; }

/* Generating */
.pf-generating-status { display: flex; align-items: center; gap: 1rem; padding: 2rem 0; color: var(--color-text-muted); }

/* Plan detail */
.pf-plan-actions { display: flex; gap: 0.5rem; margin-left: auto; }
.pf-plan-content { margin-top: 1rem; }
.pf-plan-markdown h1, .pf-plan-markdown h2, .pf-plan-markdown h3, .pf-plan-markdown h4 { margin: 1.5rem 0 0.5rem; color: var(--color-text); }
.pf-plan-markdown p { margin: 0.5rem 0; line-height: 1.7; color: var(--color-text); }
.pf-plan-markdown strong { color: var(--color-text); }
