/* new-schedule-dialog.css — P6 Schedule Authoring, Phase 4 ("New schedule" 2-step dialog).
   Design contract: tests/p6-authoring-mockup-workflows.html #pane-new (.pm-card / .pm-form-grid /
   .pm-sub-head / .pm-inline-3 / .pm-card-foot). Reuses the app's CANONICAL `.modal-overlay`
   (src/modules/shared/ui/modal-base.css) for the scrim, and authoring.css's existing
   `.authoring-general-*` / `.authoring-confirm-*` token set for form fields + footer buttons —
   only the dialog frame + the few new layout pieces (step label, inline-3 grid, error line) are
   defined here. Namespaced `.authoring-newschedule-*` (grepped repo-wide — no collisions), theme
   tokens with Classic-mode fallbacks only (dark mode adapts via the shared grid-chrome tokens,
   same convention as authoring.css). `!important` per house modal rule on the two properties most
   likely to be fought by page-level layout rules (display/z-index) — the shared `.modal-overlay`
   already owns position/inset/z-index reliably, so those are not duplicated here. */

.authoring-newschedule-dialog {
    display: flex !important;
    flex-direction: column;
    width: 640px;
    max-width: calc(100vw - 32px);
    max-height: calc(100vh - 64px);
    z-index: var(--z-modal-fullscreen, 100000) !important;
    border-radius: var(--btn-radius, 8px);
    background: var(--tb-btn-bg, #ffffff);
    color: var(--cell-text, #1f2937);
    border: 1px solid var(--tb-btn-border, #d1d5db);
    box-shadow: 0 12px 40px var(--authoring-shadow, rgba(0, 0, 0, 0.30));
    overflow: hidden;
}

.authoring-newschedule-header {
    flex-shrink: 0;
    padding: 16px 22px 14px;
    border-bottom: 1px solid var(--hdr-border, #e2e8f0);
}
.authoring-newschedule-step {
    font-size: 10.5px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.4px;
    color: var(--accent, #2563eb);
    margin-bottom: 6px;
}
.authoring-newschedule-title {
    font-size: 15px;
    font-weight: 700;
}
.authoring-newschedule-subtitle {
    margin-top: 4px;
    font-size: 12px;
    color: var(--authoring-muted, #64748b);
}

.authoring-newschedule-body {
    flex: 1 1 auto;
    overflow-y: auto;
    padding: 18px 22px;
}

.authoring-newschedule-subhead {
    margin: 18px 0 12px;
    padding-top: 14px;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.4px;
    color: var(--authoring-muted, #64748b);
    border-top: 1px dashed var(--hdr-border, #e2e8f0);
}

.authoring-newschedule-inline-3 {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 8px;
}

.authoring-newschedule-error {
    margin-top: 4px;
    padding: 8px 10px;
    font-size: 12px;
    line-height: 1.45;
    color: var(--authoring-danger-text, #b71c1c);
    background: var(--authoring-danger-soft, #fdecea);
    border: 1px solid var(--authoring-danger, #d32f2f);
    border-radius: var(--btn-radius, 6px);
}

.authoring-newschedule-footer {
    flex-shrink: 0;
    padding: 13px 22px;
    border-top: 1px solid var(--hdr-border, #e2e8f0);
    background: var(--panel-bg, #f8fafc);
}
