/* Wizard — form multi-step */
.wizard [hidden] { display: none !important; }
.wizard { max-width: 720px; margin: 0 auto; }
.wizard-progress { display: flex; gap: 8px; margin-bottom: 8px; }
.wizard-progress .dot { flex: 1; height: 6px; background: #e5e7eb; border-radius: 3px; transition: background .2s; }
.wizard-progress .dot.active { background: #3b82f6; }
.wizard-progress .dot.done { background: #10b981; }
.wizard-meta { display: flex; justify-content: space-between; font-size: 13px; color: #6b7280; margin-bottom: 20px; }
.wizard-meta strong { color: #111827; }

.wizard-step { display: none; }
.wizard-step.active { display: block; animation: wizFade .25s ease; }
@keyframes wizFade { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
.wizard-step h2 { margin-top: 0; font-size: 22px; }
.wizard-step h3 { margin-top: 0; }

.wizard-explain {
    background: #eff6ff; border-left: 3px solid #3b82f6;
    padding: 12px 16px; border-radius: 4px; margin: 12px 0 20px;
    font-size: 14px; color: #1e40af; line-height: 1.5;
}
.wizard-suggest {
    background: #fef3c7; border-left: 3px solid #f59e0b;
    padding: 10px 14px; border-radius: 4px; margin: 8px 0 20px;
    font-size: 13px; color: #78350f; line-height: 1.5;
}
.wizard-suggest strong { display: block; margin-bottom: 4px; }

.wizard-summary {
    background: #f9fafb; border: 1px solid #e5e7eb; border-radius: 6px;
    padding: 16px; margin-bottom: 20px;
}
.wizard-summary h3 {
    margin: 0 0 12px; font-size: 12px; color: #6b7280;
    text-transform: uppercase; letter-spacing: .5px; font-weight: 600;
}
.wizard-summary dl,
.wizard-review dl {
    display: grid; grid-template-columns: 1fr 2fr; gap: 8px 16px; margin: 0; font-size: 14px;
}
.wizard-summary dt,
.wizard-review dt { color: #6b7280; }
.wizard-summary dd,
.wizard-review dd { margin: 0; color: #111827; font-weight: 500; }
.wizard-summary .empty,
.wizard-review .empty { color: #9ca3af; font-style: italic; font-weight: normal; }

.wizard-review {
    background: #f0fdf4; border: 1px solid #86efac;
    padding: 20px; border-radius: 6px;
}
.wizard-review h3 { margin-top: 0; color: #14532d; margin-bottom: 14px; }
.wizard-review dt { color: #166534; font-weight: 600; }
.wizard-review dd { color: #064e3b; }

.wizard-nav {
    display: flex; flex-wrap: wrap; justify-content: space-between; gap: 12px;
    margin-top: 24px; padding-top: 20px; border-top: 1px solid #e5e7eb;
}
.wizard-nav .spacer { flex: 1; }
.wizard-nav .btn {
    padding: 10px 20px; border-radius: 6px; font-size: 14px; font-weight: 500;
    border: 1px solid #d1d5db; cursor: pointer; transition: all .15s;
}
.wizard-nav .btn-back { background: #f3f4f6; color: #374151; }
.wizard-nav .btn-back:hover { background: #e5e7eb; }
.wizard-nav .btn-primary { background: #2563eb; color: #fff; border-color: #2563eb; }
.wizard-nav .btn-primary:hover { background: #1d4ed8; }
.wizard-nav .btn-pause { background: #fef3c7; color: #78350f; border-color: #fcd34d; font-size: 13px; }
.wizard-nav .btn-pause:hover { background: #fde68a; }

.wizard-approval-notice {
    background: #fef3c7; border: 1px solid #fcd34d; border-radius: 8px;
    padding: 16px; margin: 20px 0; text-align: center;
    font-size: 14px; color: #78350f;
}
.wizard-approval-notice strong { display: block; margin-bottom: 4px; }

.wizard .hint { font-size: 12px; color: #6b7280; margin-top: 4px; display: block; }
.wizard .form-group { margin-bottom: 16px; }
.wizard .form-group label { display: block; font-weight: 500; margin-bottom: 4px; font-size: 14px; }
.wizard .form-group input[type="text"],
.wizard .form-group input[type="email"],
.wizard .form-group input[type="tel"],
.wizard .form-group input[type="number"],
.wizard .form-group input[type="date"],
.wizard .form-group input[type="url"],
.wizard .form-group select,
.wizard .form-group textarea {
    width: 100%; padding: 10px 14px; border: 1px solid #d1d5db; border-radius: 6px;
    font-size: 15px; font-family: inherit;
}
.wizard .form-group textarea { resize: vertical; }

/* Draft/pending badges on dashboard cards */
.giftlist-badge-draft { background: #e5e7eb; color: #4b5563; }
.giftlist-badge-pending { background: #fef3c7; color: #92400e; }
.giftlist-badge-rejected { background: #fee2e2; color: #991b1b; }
.giftlist-badge-approved { background: #d1fae5; color: #065f46; }

@media (max-width: 600px) {
    .wizard-summary dl, .wizard-review dl { grid-template-columns: 1fr; }
    .wizard-nav { flex-direction: column; }
    .wizard-nav .spacer { display: none; }
}
