integrated onboarding tutorial for citizen portal

This commit is contained in:
2026-04-30 15:28:45 +02:00
parent ffc53f23e2
commit e1cf6f21f5
4 changed files with 434 additions and 8 deletions

View File

@@ -764,6 +764,123 @@ select.form-input { cursor: pointer; }
.popup-comment-submit:hover { filter: brightness(1.15); }
/* -----------------------------------------------------------------
4.9 Onboarding Tour (Shepherd.js Overrides)
----------------------------------------------------------------- */
/* Step Container */
.shepherd-element {
max-width: 340px;
border-radius: 12px !important;
box-shadow: 0 8px 32px rgba(0, 0, 0, 0.2) !important;
font-family: var(--font-body) !important;
z-index: 2100 !important;
overflow: hidden;
}
.shepherd-element .shepherd-content {
border-radius: 12px !important;
padding: 0;
overflow: hidden;
}
/* Header */
.shepherd-element .shepherd-header {
background: var(--color-primary) !important;
padding: 14px 20px !important;
border-radius: 0 !important;
}
.shepherd-element .shepherd-title {
color: white !important;
font-size: 1rem !important;
font-weight: 600 !important;
font-family: var(--font-body) !important;
display: flex !important;
align-items: center !important;
gap: 6px !important;
}
.shepherd-element .shepherd-cancel-icon {
color: white !important;
opacity: 0.7;
font-size: 1.2rem;
}
.shepherd-element .shepherd-cancel-icon:hover { opacity: 1; }
/* Body Text */
.shepherd-element .shepherd-text {
padding: 16px 20px !important;
font-size: 0.88rem !important;
line-height: 1.6 !important;
color: var(--color-text) !important;
}
/* Footer Buttons */
.shepherd-element .shepherd-footer {
padding: 0 20px 16px 20px !important;
border-top: none !important;
display: flex !important;
justify-content: flex-end !important;
gap: 8px !important;
}
.shepherd-element .shepherd-button {
border: none !important;
border-radius: 6px !important;
padding: 8px 16px !important;
font-size: 0.85rem !important;
font-weight: 600 !important;
font-family: var(--font-body) !important;
cursor: pointer !important;
transition: filter 150ms ease !important;
}
.shepherd-element .shepherd-button:hover { filter: brightness(1.1); }
/* Primary Button */
.shepherd-button-primary {
background: var(--color-primary) !important;
color: white !important;
}
/* Secondary Button */
.shepherd-button-secondary {
background: var(--color-bg) !important;
color: var(--color-text) !important;
border: 1px solid var(--color-border) !important;
}
.shepherd-button-secondary:hover {
background: var(--color-border) !important;
}
/* Modal Overlay */
.shepherd-modal-overlay-container {
z-index: 2050 !important;
}
/* Arrow Colors */
.shepherd-arrow:before {
background: var(--color-primary) !important;
}
/* Welcome Step */
.shepherd-element:not([data-popper-placement]) {
position: fixed !important;
top: 50% !important;
left: 50% !important;
transform: translate(-50%, -50%) !important;
}
/* Mobile */
@media (max-width: 768px) {
.shepherd-element { max-width: 300px !important; }
.shepherd-element .shepherd-text { font-size: 0.82rem !important; }
}
/* =================================================================
SECTION 5: Admin-specific Styles (admin.php)
================================================================= */