/* Formulář je členěný podle zadání; pokročilé podmínky nezabírají výchozí pohled. */
.planner-tool { padding: 20px 22px; }
.planner-group { min-width: 0; margin: 0 0 16px; padding: 14px; border: 1px solid var(--line); border-radius: 4px; background: var(--bg); }
.planner-group > legend, .planner-group > summary { color: var(--heading); font-size: 14px; font-weight: 700; }
.planner-group > legend { padding: 0 7px; }
.planner-tool summary { cursor: pointer; }
.planner-group[open] > summary { margin-bottom: 16px; }
.planner-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px 20px; }
.planner-field { min-width: 0; display: grid; grid-template-columns: minmax(0,1fr) 76px; align-items: center; gap: 4px 10px; }
.planner-field label { min-width: 0; font-size: var(--font-size-base); font-weight: 600; cursor: pointer; }
.planner-field input:not([type=checkbox]), .planner-field select, #planner-search { width: 100%; min-width: 0; min-height: 40px; border: 1px solid var(--field-border); border-radius: 3px; background: var(--surface); color: var(--text); padding: 7px 9px; font: inherit; font-size: var(--font-size-base); }
.planner-field:has(select) { grid-template-columns: minmax(0,1fr); }
.planner-field:has([name=priority]) { grid-column: 1/-1; }
.planner-field input[type=checkbox] { width: 19px; height: 19px; justify-self: end; accent-color: var(--heading); }
.planner-help { margin: 4px 0; color: var(--muted); font-size: var(--font-size-base); line-height: 1.6; }
.planner-field .planner-help { grid-column: 1/-1; }
.planner-wide, .planner-ai { grid-column: 1/-1; }
.planner-ai { min-width: 0; padding: 0; margin: 0; border: 0; }
.planner-ai legend { font-size: 13px; font-weight: 600; padding: 0; margin: 0 0 7px; }
.planner-checks { display: flex; flex-wrap: wrap; gap: 9px 18px; font-size: var(--font-size-base); }
.planner-checks label { display: flex; align-items: center; gap: 6px; cursor: pointer; }
.planner-checks input { width: 17px; height: 17px; accent-color: var(--heading); }
#planner-status { margin: 20px 0 12px; padding: 12px; border-left: 3px solid var(--primary); background: var(--accent-bg); font-size: var(--font-size-base); }
.planner-result { min-width: 0; margin-bottom: 16px; padding: 16px; border: 1px solid var(--line); border-radius: 4px; background: var(--bg); }
.planner-result:first-child { border-top: 3px solid var(--heading); }
.planner-result-heading { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px 12px; align-items: center; }
.planner-result h3 { font-size: 18px; margin: 0; }
.planner-result h4 { font-size: 14px; margin: 16px 0 8px; }
.planner-confirmed, .planner-conditional { padding: 3px 8px; font-size: var(--font-size-base); border-radius: 3px; }
.planner-confirmed { color: var(--success); background: var(--success-bg); }
.planner-conditional { color: var(--accent); background: var(--accent-bg); }
.planner-metrics { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; padding: 12px 0; }
.planner-metrics strong { display: block; font-size: 24px; color: var(--heading); }
.planner-metrics span { font-size: var(--font-size-base); color: var(--muted); }
.planner-result details > summary { margin-top: 12px; color: var(--heading); font-size: var(--font-size-base); }
.planner-table-wrap { overflow-x: auto; max-width: 100%; margin: 12px 0; }
.planner-tool table { min-width: 420px; font-size: var(--font-size-base); }
.planner-tool tbody th { font-weight: 500; text-align: left; }
/* Popisy sestav se zalamují; zarovnání doprava ponecháváme jen počtům kusů. */
.planner-tool .planner-description-table { table-layout: fixed; }
.planner-tool .planner-description-table tr > :first-child { width: 34%; white-space: normal; overflow-wrap: anywhere; }
.planner-tool .planner-description-table tr > :nth-child(2) { width: 12%; }
.planner-tool .planner-description-table tr > :last-child { text-align: left; white-space: normal; overflow-wrap: anywhere; }
/* Důvody vyřazení jsou souvislý text, proto nepřebírají zarovnání číselného sloupce. */
#planner-results > .planner-group .config-table { min-width: 0; table-layout: fixed; }
#planner-results > .planner-group .config-table tr > :first-child { width: 28%; white-space: normal; overflow-wrap: anywhere; }
#planner-results > .planner-group .config-table tr > :nth-child(2) { text-align: left; white-space: normal; overflow-wrap: anywhere; }
.planner-notes, .planner-conditions { padding-left: 20px; font-size: var(--font-size-base); }
.planner-notes li + li, .planner-conditions li + li { margin-top: 6px; }
.planner-conditions { color: var(--accent); }
.planner-method { margin-top: 20px; color: var(--text-secondary); font-size: var(--font-size-base); }
.planner-search-label { display: block; font-size: var(--font-size-base); margin-bottom: 6px; }
@media(max-width:760px) {
    .planner-tool { padding: 16px; }
    .planner-grid { grid-template-columns: minmax(0,1fr); }
    .planner-group, .planner-result { padding: 12px; }
    .planner-metrics { gap: 8px; }
}
