/* Kalli – Eintragungsassistent */ .kalli-wizard { width: 90%; max-width: 1400px; margin: var(--space-xl) auto; overflow: hidden; background: #fff; box-shadow: var(--shadow-md); } .kalli-progress { display: flex; align-items: center; justify-content: center; gap: 0; padding: 20px 28px 16px; background: var(--gray-50); border-bottom: 1px solid var(--gray-200); } .kalli-progress-step { display: flex; flex-shrink: 0; flex-direction: column; align-items: center; gap: 4px; } .kalli-progress-circle { display: flex; align-items: center; justify-content: center; width: 32px; height: 32px; color: var(--gray-500); font-size: var(--font-size-sm); font-weight: 600; background: var(--gray-200); border: 2px solid var(--gray-300); transition: all 250ms ease; } .kalli-progress-step.active .kalli-progress-circle { color: #fff; background: var(--nak-blue); border-color: var(--nak-blue); box-shadow: 0 2px 8px rgba(39, 134, 207, 0.35); } .kalli-progress-step.done .kalli-progress-circle { color: var(--nak-blue); background: #fff; border-color: var(--nak-blue); } .kalli-progress-label { color: var(--gray-500); font-size: var(--font-size-xs); font-weight: 500; white-space: nowrap; transition: color 250ms ease; } .kalli-progress-step.active .kalli-progress-label, .kalli-progress-step.done .kalli-progress-label { color: var(--nak-blue); } .kalli-progress-line { flex: 1; min-width: 20px; max-width: 60px; height: 2px; margin: 0 6px 20px; background: var(--gray-300); transition: background 250ms ease; } .kalli-progress-line.done { background: var(--nak-blue); } .kalli-step[hidden] { display: none !important; } .kalli-modal-body { padding: 22px 28px 16px; } .kalli-section-title { margin: 0 0 16px; color: var(--gray-600); font-size: var(--font-size-sm); font-weight: 600; letter-spacing: 0.04em; text-transform: uppercase; } .kalli-category-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: var(--space-lg); } .kalli-category { display: flex; flex-direction: column; gap: 2px; } .kalli-category-label { margin-bottom: 4px; color: var(--gray-700); font-size: var(--font-size-sm); font-weight: 600; letter-spacing: 0.03em; text-transform: uppercase; } .kalli-category-label--custom { color: var(--nak-red); } label.kalli-radio-item { display: flex; align-items: center; gap: 8px; padding: 0 5px; color: var(--gray-600); font-size: var(--font-size-sm); font-weight: 300; letter-spacing: normal; text-transform: none; cursor: pointer; border: 1px solid transparent; transition: background 150ms ease, border-color 150ms ease; } label.kalli-radio-item:hover { background: var(--gray-50); border-color: var(--gray-200); } label.kalli-radio-item input[type="radio"] { flex-shrink: 0; align-self: center; width: 16px; height: 16px; margin: 0; accent-color: var(--nak-blue); } label.kalli-radio-item span { overflow-wrap: break-word; line-height: 1.4; word-break: break-word; hyphens: auto; } .kalli-custom-section { margin-top: var(--space-lg); padding: var(--space-md); background: hsl(0, 60%, 98%); border: 1px solid hsl(0, 60%, 90%); } .kalli-custom-hint { margin: 0 0 var(--space-sm); color: var(--gray-600); font-size: var(--font-size-sm); } .kalli-custom-options { display: flex; flex-wrap: wrap; gap: var(--space-lg); margin-bottom: var(--space-sm); } .kalli-field-grid { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-md); } .kalli-field-grid-single { grid-template-columns: 1fr; } .kalli-field-group { display: flex; flex-direction: column; gap: 4px; } .kalli-label { color: var(--gray-700); font-size: var(--font-size-sm); font-weight: 500; } .kalli-label-note { color: var(--gray-500); font-weight: 300; } .kalli-required { color: var(--nak-red); } .kalli-field { box-sizing: border-box; width: 100%; padding: 12px 14px; color: inherit; font-family: var(--font-primary); font-size: var(--font-size-base); font-weight: 300; background: var(--gray-50); border: 1px solid var(--gray-300); outline: none; transition: border-color 150ms ease, box-shadow 150ms ease; } .kalli-field:focus { background: #fff; border-color: var(--nak-blue); box-shadow: 0 0 0 3px rgba(39, 134, 207, 0.2); } .kalli-summary { display: flex; flex-direction: column; border: 1px solid var(--gray-200); } .kalli-summary-row { display: flex; align-items: center; justify-content: space-between; padding: 12px 16px; border-bottom: 1px solid var(--gray-100); } .kalli-summary-row:last-child { border-bottom: 0; } .kalli-summary-label { color: var(--gray-600); font-size: var(--font-size-sm); font-weight: 500; } .kalli-summary-value { color: var(--gray-900); font-size: var(--font-size-sm); font-weight: 500; text-align: right; } .kalli-validation-error { margin: var(--space-md) 28px 0; padding: 10px 14px; color: hsl(0, 78%, 40%); font-size: var(--font-size-sm); font-weight: 600; background: hsl(0, 78%, 95%); } .kalli-validation-error--step { margin: var(--space-md) 0 0; } .kalli-modal-actions { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 16px 28px 20px; border-top: 1px solid var(--gray-200); } .kalli-modal-actions-left, .kalli-modal-actions-right { display: flex; gap: 8px; } .kalli-btn { display: inline-flex; align-items: center; justify-content: center; min-height: 38px; padding: 8px 18px; color: var(--gray-800); font-family: var(--font-primary); font-size: var(--font-size-sm); font-weight: 600; white-space: nowrap; cursor: pointer; background: #fff; border: 1px solid var(--gray-300); transition: background 150ms ease, transform 150ms ease; } .kalli-btn:hover { background: var(--gray-100); transform: translateY(-1px); } .kalli-btn:disabled { opacity: 0.65; cursor: wait; transform: none; } .kalli-btn-primary { color: #fff; background: var(--nak-blue); border-color: var(--nak-blue); } .kalli-btn-primary:hover { background: var(--nak-blue-hover); border-color: var(--nak-blue-hover); } .kalli-btn-submit { padding: 10px 24px; color: #fff; font-weight: 700; background: linear-gradient(135deg, var(--nak-blue), var(--nak-blue-hover)); border-color: var(--nak-blue-hover); } .kalli-btn-submit:hover { background: linear-gradient(135deg, var(--nak-blue-hover), #185d8f); } @media (max-width: 600px) { .kalli-wizard { width: 100%; margin: 0; } .kalli-progress { padding: 14px 12px 10px; } .kalli-progress-label { font-size: 0.65rem; } .kalli-progress-circle { width: 26px; height: 26px; font-size: 0.7rem; } .kalli-progress-line { min-width: 12px; margin-bottom: 16px; } .kalli-modal-body { padding: 16px; } .kalli-category-grid, .kalli-field-grid { grid-template-columns: 1fr; } .kalli-validation-error { margin-right: 16px; margin-left: 16px; } .kalli-validation-error--step { margin-right: 0; margin-left: 0; } .kalli-modal-actions { flex-wrap: wrap; padding: 12px 16px 16px; } }