Spaces:
Sleeping
Sleeping
| /* ============================================================ | |
| StepSequencePanel — fixed bottom panel for guided step sequences | |
| Elderly-friendly: high contrast, large buttons, clear progress | |
| ============================================================ */ | |
| .step-panel { | |
| flex-shrink: 0; | |
| background-color: var(--color-surface); | |
| border-top: 3px solid var(--color-primary); | |
| padding: var(--spacing-md) var(--spacing-lg); | |
| display: flex; | |
| flex-direction: column; | |
| gap: var(--spacing-md); | |
| box-shadow: 0 -4px 16px var(--color-shadow); | |
| animation: slideUp 300ms ease forwards; | |
| } | |
| /* ---- Header row ---- */ | |
| .step-panel__header { | |
| display: flex; | |
| align-items: center; | |
| justify-content: space-between; | |
| gap: var(--spacing-md); | |
| flex-wrap: wrap; | |
| } | |
| .step-panel__task-name { | |
| font-size: var(--font-size-md); | |
| font-weight: 700; | |
| color: var(--color-primary); | |
| } | |
| .step-panel__step-count { | |
| font-size: var(--font-size-base); | |
| font-weight: 600; | |
| color: var(--color-text-light); | |
| white-space: nowrap; | |
| } | |
| /* ---- Progress bar ---- */ | |
| .step-panel__progress { | |
| display: flex; | |
| gap: 4px; | |
| height: 10px; | |
| border-radius: var(--radius-full); | |
| overflow: hidden; | |
| } | |
| .step-panel__progress-segment { | |
| flex: 1; | |
| background-color: var(--color-border); | |
| border-radius: var(--radius-full); | |
| transition: background-color var(--transition); | |
| } | |
| .step-panel__progress-segment--filled { | |
| background-color: var(--color-primary); | |
| } | |
| /* ---- Current step box ---- */ | |
| .step-panel__current-step { | |
| background-color: var(--color-primary-light); | |
| border: 2px solid var(--color-primary); | |
| border-radius: var(--radius-md); | |
| padding: var(--spacing-md) var(--spacing-lg); | |
| } | |
| .step-panel__step-text { | |
| font-size: var(--font-size-md); | |
| font-weight: 600; | |
| color: var(--color-text); | |
| line-height: var(--line-height); | |
| margin: 0; | |
| } | |
| /* ---- Action buttons ---- */ | |
| .step-panel__actions { | |
| display: flex; | |
| gap: var(--spacing-md); | |
| flex-wrap: wrap; | |
| } | |
| .step-panel__btn { | |
| flex: 1; | |
| min-width: 180px; | |
| font-size: var(--font-size-md); | |
| font-weight: 700; | |
| padding: var(--spacing-md) var(--spacing-lg); | |
| min-height: 56px; | |
| border-radius: var(--radius-md); | |
| cursor: pointer; | |
| transition: background-color var(--transition), box-shadow var(--transition), transform var(--transition); | |
| } | |
| .step-panel__btn--primary { | |
| background-color: var(--color-primary); | |
| color: var(--color-white); | |
| border: none; | |
| } | |
| .step-panel__btn--primary:hover:not(:disabled) { | |
| background-color: var(--color-primary-dark); | |
| box-shadow: 0 4px 12px var(--color-shadow); | |
| } | |
| .step-panel__btn--secondary { | |
| background-color: var(--color-white); | |
| color: var(--color-text); | |
| border: 2px solid var(--color-border); | |
| } | |
| .step-panel__btn--secondary:hover:not(:disabled) { | |
| background-color: var(--color-surface-alt); | |
| border-color: var(--color-primary); | |
| } | |
| .step-panel__btn:focus-visible { | |
| outline: 3px solid var(--color-primary); | |
| outline-offset: 3px; | |
| } | |
| .step-panel__btn:active { | |
| transform: scale(0.98); | |
| } | |
| /* ---- Responsive: stack buttons vertically on narrow screens ---- */ | |
| @media (max-width: 480px) { | |
| .step-panel__actions { | |
| flex-direction: column; | |
| } | |
| .step-panel__btn { | |
| min-width: 0; | |
| width: 100%; | |
| } | |
| } | |