.schedule-generation-form .schedule-generation-context { margin:0; color:var(--color-muted); font-size:12px; }
.schedule-generation-form .form-section { margin:0; }
.schedule-generation-form .form-section h3 { margin-bottom:16px; }
.schedule-generation-heading { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:6px 12px; }
.schedule-generation-form .schedule-generation-heading h3 { margin-bottom:0; }
.schedule-generation-selection { color:var(--color-muted); font-size:var(--font-size-label); font-variant-numeric:tabular-nums; }
.schedule-generation-actions { display:flex; flex-wrap:wrap; gap:8px 18px; margin:5px 0 12px; }
.schedule-generation-actions[hidden] { display:none; }
.schedule-generation-actions button { min-height:36px; padding:0; font-size:var(--font-size-detail); }
.schedule-generation-categories { display:grid; gap:8px; min-width:0; padding:0; margin:16px 0 0; border:0; }
.schedule-generation-actions:not([hidden]) + .schedule-generation-categories { margin-top:0; }
.schedule-generation-category { display:flex; align-items:center; gap:12px; padding:13px 14px; cursor:pointer; transition:background .15s, border-color .15s; }
.schedule-generation-category:has(input:checked) { border-color:var(--color-border-accent); background:var(--color-soft); }
.schedule-generation-category:has(input:focus-visible) { outline:2px solid var(--color-primary); outline-offset:2px; }
.schedule-generation-category input { flex:none; width:18px; height:18px; margin:0; accent-color:var(--color-primary); }
.schedule-generation-category > span { display:flex; flex:1; min-width:0; flex-direction:column; gap:4px; }
.schedule-generation-category strong { color:var(--color-primary); font-size:12px; font-weight:600; line-height:1.5; overflow-wrap:anywhere; }
.schedule-generation-category small { color:var(--color-muted); font-size:var(--font-size-label); line-height:1.5; }
.schedule-generation-category > .icon { flex:none; width:15px; height:15px; color:var(--color-primary); opacity:0; }
.schedule-generation-category:has(input:checked) > .icon { opacity:1; }
.schedule-generation-category.is-disabled { opacity:.55; cursor:default; }
.schedule-generation-note { margin:0; color:var(--color-muted); font-size:var(--font-size-detail); line-height:1.7; }
.schedule-generation-page { max-width:680px; margin-inline:auto; }
.schedule-generation-drawer .overlay-footer { position:sticky; bottom:0; z-index:1; border-top:1px solid var(--color-border); }
.generation-monitor-summary { display:flex; align-items:center; flex-wrap:wrap; gap:14px; padding:20px; border-color:var(--color-border-accent); background:var(--color-soft); }
.generation-monitor-summary > div { flex:1; min-width:0; }
.generation-monitor-summary h3 { margin:0 0 6px; color:var(--color-primary); font-size:15px; }
.generation-monitor-summary p { margin:0; font-size:12px; line-height:1.6; color:var(--color-muted); }
.generation-monitor-summary .generation-monitor-count { flex-basis:100%; padding-top:14px; border-top:1px solid var(--color-border-strong); color:var(--color-primary); font-weight:600; }
.schedule-generation-progress { display:flex; align-items:center; gap:14px; padding:16px; border:1px solid var(--color-border-accent); border-radius:10px; background:var(--color-soft); color:var(--color-primary); }
.schedule-generation-progress[hidden], .generation-unconfirmed[hidden] { display:none; }
.schedule-generation-progress strong { font-size:13px; }
.schedule-generation-progress p { margin:5px 0 0; font-size:12px; line-height:1.6; }
.generation-spinner { flex:none; width:23px; height:23px; border:2px solid color-mix(in srgb, var(--color-primary) 20%, transparent); border-top-color:var(--color-primary); border-radius:50%; animation:generation-spin .9s linear infinite; }
@keyframes generation-spin { to { transform:rotate(360deg); } }
.schedule-generation-drawer [aria-disabled=true] { pointer-events:none; opacity:.55; }
.schedule-generation-result { flex:1; display:flex; flex-direction:column; min-width:0; }
.schedule-generation-result > .overlay-body { flex:1; display:flex; flex-direction:column; gap:18px; padding:22px 26px 28px; }
.schedule-generation-result > .overlay-footer { justify-content:flex-end; padding:16px 26px; background:var(--color-bg); }
.generation-result-summary { display:flex; align-items:center; flex-wrap:wrap; gap:14px; padding:20px; border-color:var(--color-border-accent); background:var(--color-soft); }
.generation-result-icon { display:grid; place-items:center; flex:none; width:38px; height:38px; border-radius:50%; color:var(--color-on-primary); background:var(--color-primary-surface); }
.generation-result-summary h3 { margin:0; color:var(--color-primary); font-size:15px; }
.generation-result-summary p { margin:5px 0 0; color:var(--color-muted); font-size:12px; }
.generation-result-totals { flex-basis:100%; display:grid; grid-template-columns:1fr 1fr; gap:12px; margin:6px 0 0; padding-top:16px; border-top:1px solid var(--color-border-strong); }
.generation-result-totals > div { display:flex; flex-direction:column-reverse; gap:5px; }
.generation-result-totals dt { color:var(--color-muted); font-size:var(--font-size-label); }
.generation-result-totals dd { margin:0; color:var(--color-primary); font:600 32px/1.2 var(--font-heading); font-variant-numeric:tabular-nums; }
.generation-result-totals .has-pending dd { color:#8d5b17; }
.generation-result-days .collection-heading h3, .generation-result-pending .collection-heading h3 { font-size:13px; color:var(--color-primary); }
.generation-result-day { display:flex; align-items:center; gap:12px; padding:16px; color:var(--color-text); text-decoration:none; }
.generation-result-day + .generation-result-day { border-top:1px solid var(--collection-rule); }
.generation-result-day:hover { background:var(--collection-hover); }
.generation-result-day:focus-visible { outline:2px solid var(--color-primary); outline-offset:-2px; }
.generation-day-icon { display:grid; place-items:center; flex:none; width:32px; height:36px; border:1px solid var(--color-border); border-radius:8px; color:var(--color-primary); }
.generation-result-day > span:nth-child(2) { display:flex; flex:1; flex-direction:column; gap:5px; }
.generation-result-day strong { font-size:13px; font-weight:600; }
.generation-result-day small { color:var(--color-muted); font-size:var(--font-size-label); }
.generation-day-action { display:flex; align-items:center; gap:6px; color:var(--color-primary); font-size:var(--font-size-detail); white-space:nowrap; }
.generation-day-action .icon { width:14px; height:14px; }
.generation-pending-category { padding:16px; }
.generation-pending-category + .generation-pending-category { border-top:1px solid var(--collection-rule); }
.generation-pending-category h4 { margin:0 0 8px; font-size:12px; }
.generation-pending-category ul { margin:0; padding-left:18px; color:var(--color-muted); font-size:12px; line-height:1.7; }
.generation-result-complete { display:flex; align-items:center; gap:8px; margin:0; color:var(--color-primary); font-size:12px; line-height:1.6; }
.generation-result-complete .icon { flex:none; width:16px; height:16px; }
@media(max-width:600px) {
  .schedule-generation-category { padding:12px; gap:10px; }
  .schedule-generation-actions button { min-height:40px; }
  .schedule-generation-form .overlay-footer .button { min-height:44px; }
  .schedule-generation-result > .overlay-body { padding:16px 14px 22px; gap:14px; }
  .schedule-generation-result > .overlay-footer { padding:12px 14px; }
  .generation-result-summary { padding:16px; }
  .generation-result-day { padding:14px 12px; gap:10px; }
}
@media(prefers-reduced-motion:reduce) { .generation-spinner { animation:none !important; } }
