/* Planejamento usa os tokens e controles AVNS da interface oficial. */
.plan-entry-actions,.plan-appointment-actions,.plan-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.plan-appointment-actions{margin-top:12px;padding-top:12px;border-top:1px solid var(--line)}
.plan-form,.plan-review{display:grid;gap:17px;min-width:0}
.plan-form>fieldset,.plan-appointments,.plan-choices,.plan-review{min-width:0}
.plan-field{display:grid;gap:6px;min-width:0;font-size:14px;font-weight:600}
.plan-field input,.plan-field select,.plan-field textarea{width:100%;min-width:0;max-width:100%;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--text);padding:10px 12px;font:inherit}
.plan-field textarea{min-height:82px;resize:vertical}
.plan-field small,.plan-muted{color:var(--muted);font-size:12px;font-weight:400;line-height:1.5}
.plan-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.plan-patient-search{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:10px}
.plan-selected-patient{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:var(--surface-alt);font-size:13px}
.plan-patient-results{display:flex;flex-wrap:wrap;gap:8px;max-height:180px;overflow:auto;padding:3px}
.plan-appointments,.plan-choices{display:grid;gap:12px;border:1px solid var(--line);border-radius:10px;padding:14px}
.plan-appointments>legend,.plan-choices>legend{padding:0 6px;font-weight:600;font-size:14px}
.plan-appointment-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:14px;border:1px solid var(--line);border-radius:9px;background:var(--surface-alt)}
.plan-appointment-row>button{align-self:end;justify-self:start}
.plan-actions{justify-content:flex-start}
.plan-error{padding:10px 12px;border:1px solid var(--danger);border-radius:8px;background:var(--danger-bg);color:var(--danger);font-size:13px}
.plan-occurrences{display:grid;gap:10px;max-height:min(42vh,440px);overflow:auto;padding:2px}
.plan-occurrence,.plan-origin,.plan-series-item{padding:13px;border:1px solid var(--line);border-radius:9px;background:var(--surface-alt)}
.plan-occurrence h3{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.plan-occurrence ul,.plan-bundle-list{margin:8px 0 0;padding-left:20px;display:grid;gap:6px;font-size:13px}
.plan-conflict-list{color:var(--danger)}
.plan-conflict-tag,.plan-free-tag{display:inline-flex;border-radius:999px;padding:3px 8px;font-size:11px;font-weight:600}
.plan-conflict-tag{color:var(--danger);background:var(--danger-bg)}
.plan-free-tag{color:var(--success);background:var(--success-bg)}
.plan-choices>label,.plan-confirm-choice{display:flex;align-items:flex-start;gap:9px;font-size:13px;font-weight:400;line-height:1.5}
.plan-choices input,.plan-confirm-choice input{width:18px;min-width:18px;height:18px;margin-top:1px;accent-color:var(--action)}
.plan-series-item{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:8px 0}
.plan-series-item p,.plan-origin p{margin-top:5px;font-size:13px;color:var(--muted)}
.plan-confirm-choice{padding:11px;border:1px solid var(--line);border-radius:8px}
.plan-report-scroll{max-width:100%;overflow:auto;border:1px solid var(--line);border-radius:9px}
.plan-report-table{min-width:980px;width:100%;border-collapse:collapse;font-size:12px}
.plan-report-table th,.plan-report-table td{padding:9px 10px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.plan-report-table th{position:sticky;top:0;background:var(--surface-alt);font-size:11px}
.plan-report-table tr:last-child td{border-bottom:0}
.plan-report-section{display:grid;gap:7px;padding:13px;border:1px solid var(--line);border-radius:9px;background:var(--surface-alt);font-size:13px}
.plan-report-section ul{margin:0;padding-left:20px;display:grid;gap:4px}
.plan-report-section>p{font-size:13px;color:var(--muted)}
.dialog-body>.plan-form,.dialog-body>.plan-review{max-width:none}
.plan-form fieldset:disabled{opacity:.72}
@media(max-width:720px){
 .plan-form-grid,.plan-appointment-row{grid-template-columns:minmax(0,1fr)}
 .plan-patient-search{grid-template-columns:minmax(0,1fr)}
 .plan-appointment-row{padding:12px}
 .plan-actions{align-items:stretch}
 .plan-actions>button{width:100%;white-space:normal}
 .plan-series-item{align-items:flex-start;flex-direction:column}
 .plan-occurrences{max-height:46vh}
}
