/* Shared wizard components, scoped so editor plan cards keep their own layout. */
/* Cubuk BILEREK `sticky` (temel kural: style.css `.wizard-action-bar`), fixed
   DEGIL. Fixed olunca akistan tamamen cikiyordu ve iki kusur dogurdu:
   (1) kisa sayfada icerikten kopup ekranin dibinde asili kaliyordu -- kullanici
       basligi doldurup butonu 700px asagida ariyordu;
   (2) akis disi oldugu icin `.sitefoot`u ortmemesi ancak main'e ve footer'a
       elle bosluk doldurarak saglanabiliyordu (yaklasik 100px olu alan) ve bu
       bosluk cubugun gercek yuksekligini JS ile olcmeye bagliydi.
   Sticky ikisini birden cozer: icerik kisa oldugunda cubuk iceriğin hemen
   altinda durur, uzun oldugunda ekranin dibine yapisir, sona gelindiginde
   akisa birakip yasal footer baglantilarini acar. Sol/genislik de normal kutu
   modelinden gelir, olcume gerek kalmaz. */
.wizard-action-bar { box-sizing:border-box; z-index:30; padding-bottom:calc(var(--space-4) + env(safe-area-inset-bottom)); }
.wizard-action-bar[hidden] { display:none !important; }
.wizard-action-bar.prep-action-bar { position:static !important; inset:auto !important; width:auto; margin-top:22px !important; border-bottom:1px solid var(--color-divider); }
.wizard-action-bar p { margin:4px 0 0; font-size:.8125rem; line-height:1.4; }
.wizard-action-bar strong { font-size:.875rem; }
.wizard-action-bar .btn { min-height:44px; white-space:normal; }
.wizard-hero h1 { font-size:clamp(1.5rem, 3vw, 2rem); text-transform:none; line-height:1.2; }
.wizard-hero p { max-width:65ch; margin-bottom:0; }
.wizard-steps { margin:20px 0; }
.wizard-step { min-height:64px; padding:12px 16px; }
.wizard-step-label { text-transform:none; }
#process-settings-form [hidden] { display: none !important; }
.settings-sources { font-size:.875rem; margin-bottom:16px; }
.settings-layout { display:grid; grid-template-columns:minmax(0,1fr) 260px; gap:20px; align-items:start; }
.settings-stack { display:grid; gap:12px; min-width:0; }
.settings-section { border:1px solid var(--color-divider); background:var(--color-surface); }
.settings-section > summary { display:flex; flex-wrap:wrap; align-items:center; gap:4px 12px; padding:16px 18px; cursor:pointer; min-height:56px; list-style:none; }
.settings-section > summary::-webkit-details-marker { display:none; }
.settings-section > summary::after { content:'+'; margin-inline-start:auto; font-size:1.25rem; }
.settings-section[open] > summary::after { content:'−'; }
.settings-section[open] > summary { border-bottom:1px solid var(--color-divider); }
.settings-section > summary > span { font-weight:600; }
.settings-section summary small { font-size:.8125rem; font-weight:400; color:var(--color-text-muted); overflow-wrap:anywhere; }
.settings-section > summary > small { max-width:52%; }
.settings-section-body { display:grid; gap:18px; padding:18px; }
.settings-section-body > .btn { justify-self:start; }
.operation-preferences { display:grid; gap:18px; border-top:1px solid var(--color-divider); padding-top:18px; }
.operation-preferences > .btn { justify-self:start; }
.operation-choice, .profile-choices { border:0; padding:0; margin:0; min-width:0; }
.profile-choices legend { margin-bottom:12px; font-weight:600; }
.operation-choice-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
.operation-choice-card { display:flex; flex-direction:column; gap:9px; text-align:start; border:1px solid var(--color-divider); padding:14px; background:var(--color-bg); color:var(--color-text); min-height:140px; }
.operation-choice-card strong { font-size:1rem; line-height:1.3; }
.operation-choice-card span, .operation-choice-card small { font-size:.8125rem; line-height:1.45; }
.operation-choice-card:disabled { opacity:.55; cursor:not-allowed; }
.operation-choice-card.is-selected { border-color:var(--color-accent); box-shadow:inset 0 0 0 1px var(--color-accent); background:color-mix(in srgb,var(--color-accent) 9%,var(--color-bg)); }
.profile-card { display:flex; align-items:flex-start; gap:12px; padding:14px; border:1px solid var(--color-divider); cursor:pointer; margin-bottom:10px; }
.profile-card span { display:grid; gap:5px; }
.profile-card small { color:var(--color-text-muted); font-size:.875rem; line-height:1.45; }
.profile-card input, #process-settings-form .plan-card input { width:18px; height:18px; flex-shrink:0; accent-color:var(--color-accent); margin:2px 0 0; }
.profile-card:has(:checked), #process-settings-form .plan-card:has(:checked) { border-color:var(--color-accent); box-shadow:inset 0 0 0 1px var(--color-accent); background:color-mix(in srgb,var(--color-accent) 7%,var(--color-bg)); }
.profile-card:focus-within, #process-settings-form .plan-card:focus-within { outline:2px solid var(--color-accent); outline-offset:3px; }
#process-settings-form .plan-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
#process-settings-form .plan-card { display:grid; grid-template-columns:18px 1fr; gap:8px 10px; align-content:start; padding:14px; border:1px solid var(--color-divider); cursor:pointer; min-width:0; }
#process-settings-form .plan-name { font-size:1.125rem; font-weight:600; }
#process-settings-form .plan-rate, #process-settings-form .plan-total { grid-column:1 / -1; font-size:.8125rem; line-height:1.4; }
#process-settings-form .plan-total { padding-top:8px; border-top:1px solid var(--color-divider); color:var(--color-text-muted); }
.settings-fields-grid { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.settings-sidebar { position:sticky; top:80px; min-width:0; padding:18px; gap:16px; }
.settings-sidebar .summary-list > div { display:grid; grid-template-columns:1fr; gap:4px; }
.settings-sidebar .summary-list dd { text-align:start; overflow-wrap:anywhere; margin:0; }
.settings-estimate { border-top:1px solid var(--color-divider); padding-top:14px; display:grid; gap:8px; font-size:.875rem; }
.settings-linked-note { font-size:.8125rem; margin:14px 0 0; }
.settings-action-controls { display:flex; gap:10px; margin-inline-start:auto; flex-shrink:0; }
.settings-section .toggle-row { margin-top:16px; }
.settings-section .advanced { margin-top:14px; font-size:.875rem; }
.settings-section .advanced summary { cursor:pointer; padding:10px 0; }
.text-error { color:var(--error); }
.upload-content { max-width:850px; margin:0 auto; }
.upload-dropzone { padding:32px 20px; text-align:center; border:1px dashed var(--color-accent); background:var(--color-surface); }
.upload-dropzone > strong { font-size:1.25rem; }
.upload-dropzone.is-dragging { background:color-mix(in srgb,var(--color-accent) 12%,var(--color-bg)); }
.queue-head { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:12px; margin-top:20px; }
.queue-head h2 { font-size:1.1rem; text-transform:none; margin:0; }
#queue-count { font-size:.8125rem; font-weight:400; }
.upload-file-list { padding:0; list-style:none; }
.upload-file-list li { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:12px 0; border-bottom:1px solid var(--color-divider); }
.upload-file-list li > div:first-child { display:grid; gap:5px; min-width:0; }
.upload-file-list strong { overflow-wrap:anywhere; font-size:.9rem; }
.upload-file-list small { color:var(--color-text-muted); }
.queue-row-actions { display:flex; gap:4px; flex-shrink:0; }
.queue-row-actions .btn { min-width:44px; min-height:44px; padding:8px; }
.upload-import-mode { border:0; padding:0; margin:20px 0; }
.upload-import-mode legend { font-weight:600; margin-bottom:12px; }
.upload-title { margin:20px 0; }
.imported-list { display:grid; gap:12px; }
.imported-list article { flex-direction:row; justify-content:space-between; align-items:center; gap:20px; }
.imported-list h2 { font-size:1.15rem; text-transform:none; overflow-wrap:anywhere; }
#upload-form [hidden] { display:none !important; }
.wizard-discard-dialog { max-width:480px; width:calc(100% - 32px); padding:24px; border:1px solid var(--color-divider); background:var(--color-bg); color:var(--color-text); }
.wizard-discard-dialog::backdrop { background:rgb(0 0 0 / .45); }
.wizard-dialog-actions { display:flex; flex-wrap:wrap; gap:10px; margin-top:20px; }
.wizard-discard-dialog h2 { font-size:1.3rem; text-transform:none; }
.wizard-action-bar :focus-visible { outline:2px solid var(--color-accent); outline-offset:3px; }
.has-wizard-bar { scroll-padding-bottom:calc(var(--wizard-bar-height, 100px) + 20px); }
html:has(.has-wizard-bar) { scroll-padding-bottom:calc(var(--wizard-bar-height, 140px) + 20px); }
@media(max-width:1100px) { .settings-layout { grid-template-columns:minmax(0,1fr) 230px; }.operation-choice-grid { grid-template-columns:1fr; }.operation-choice-card { min-height:0; } }
@media(max-width:920px) { .settings-layout { grid-template-columns:1fr; }.settings-sidebar { position:static; }.settings-sidebar .summary-list { display:grid; grid-template-columns:1fr 1fr; gap:12px; } }
@media(max-width:760px) {
  .wizard-action-bar { gap:10px; padding:12px 14px calc(12px + env(safe-area-inset-bottom)); }
  .wizard-action-bar > div, .settings-action-controls { width:100%; }
  .wizard-action-bar .btn { width:auto; }
  .settings-action-controls { justify-content:space-between; }
  .settings-action-controls .btn-primary { flex:1; }
  .wizard-step { padding:10px 12px; min-height:56px; }
}
@media(max-width:560px) {
  .upload-file-list li, .imported-list article { flex-direction:column; align-items:stretch; }
  .queue-row-actions { justify-content:flex-end; }
  #process-settings-form .plan-grid, .settings-fields-grid { grid-template-columns:1fr; }
  #process-settings-form .plan-card { grid-template-columns:18px 1fr; }
  .settings-section-body { padding:14px; }
  .settings-section > summary > small { max-width:80%; flex-basis:80%; }
  .settings-sidebar .summary-list { grid-template-columns:1fr; }
  .wizard-dialog-actions { flex-direction:column; }
}
