costco-grocery-list/frontend/src/styles/components/ConfirmSlideModal.css
Nico 77ae5be445
All checks were successful
Build & Deploy Costco Grocery List / build (push) Successful in 1m10s
Build & Deploy Costco Grocery List / verify-images (push) Successful in 3s
Build & Deploy Costco Grocery List / deploy (push) Successful in 11s
Build & Deploy Costco Grocery List / notify (push) Successful in 1s
refactor
2026-02-22 01:27:03 -08:00

145 lines
3.0 KiB
CSS

.confirm-slide-overlay {
position: fixed;
inset: 0;
z-index: var(--z-modal);
display: flex;
align-items: center;
justify-content: center;
padding: var(--spacing-md);
background: var(--modal-backdrop-bg);
}
.confirm-slide-modal {
width: 100%;
max-width: 420px;
background: var(--modal-bg);
border: var(--border-width-thin) solid var(--color-border-light);
border-radius: var(--border-radius-xl);
box-shadow: var(--shadow-xl);
padding: var(--spacing-lg);
}
.confirm-slide-title {
margin: 0;
font-size: var(--font-size-xl);
color: var(--color-text-primary);
}
.confirm-slide-description {
margin: var(--spacing-sm) 0 0;
font-size: var(--font-size-sm);
color: var(--color-text-secondary);
}
.confirm-slide-track-wrap {
margin-top: var(--spacing-lg);
}
.confirm-slide-helper {
font-size: var(--font-size-xs);
color: var(--color-text-secondary);
}
.confirm-slide-track {
position: relative;
margin-top: var(--spacing-sm);
height: 40px;
border-radius: 999px;
border: var(--border-width-thin) solid var(--color-border-medium);
background: var(--color-bg-body);
overflow: hidden;
user-select: none;
}
.confirm-slide-track.is-active {
border-color: var(--color-primary);
background: var(--color-primary-light);
}
.confirm-slide-progress {
position: absolute;
inset: 0 auto 0 0;
border-radius: 999px;
background: rgba(30, 144, 255, 0.2);
min-width: 40px;
z-index: 1;
pointer-events: none;
}
.confirm-slide-ready {
position: absolute;
left: 50%;
top: 50%;
transform: translate(-50%, -50%) scale(0.9);
opacity: 0;
z-index: 2;
font-size: var(--font-size-xs);
font-weight: var(--font-weight-semibold);
color: var(--color-primary);
white-space: nowrap;
transition: var(--transition-fast);
pointer-events: none;
}
.confirm-slide-ready.is-visible {
opacity: 1;
transform: translate(-50%, -50%) scale(1);
}
.confirm-slide-handle {
position: absolute;
top: 0;
left: 0;
z-index: 3;
width: 40px;
height: 40px;
margin: 0;
padding: 0;
border-radius: 50%;
border: var(--border-width-thin) solid var(--color-primary);
background: var(--modal-bg);
color: var(--color-text-primary);
font-size: 1.1rem;
font-weight: var(--font-weight-semibold);
line-height: 1;
display: flex;
align-items: center;
justify-content: center;
cursor: grab;
transition: box-shadow var(--transition-fast), border-color var(--transition-fast);
touch-action: none;
}
.confirm-slide-handle:active {
cursor: grabbing;
}
.confirm-slide-handle.is-active {
border-color: var(--color-primary-dark);
box-shadow: 0 0 0 2px rgba(30, 144, 255, 0.2);
}
.confirm-slide-footer {
margin-top: var(--spacing-lg);
display: flex;
align-items: center;
justify-content: space-between;
gap: var(--spacing-md);
}
.confirm-slide-label {
font-size: var(--font-size-xs);
color: var(--color-text-secondary);
}
.confirm-slide-cancel {
width: auto;
margin: 0;
}
@media (max-width: 480px) {
.confirm-slide-modal {
padding: var(--spacing-md);
}
}