/** * Copyright since 2025 Mifos Initiative */ $blue: #1353a0; $navy: #0f172a; .crop-dialog { width: 620px; max-width: 95vw; } .crop-header { display: flex; align-items: center; justify-content: space-between; padding: 16px 24px 12px; border-bottom: 1px solid #e2e8f0; &__left { display: flex; align-items: center; gap: 10px; } &__icon { font-size: 16px; color: $blue; } &__title { font-size: 16px; font-weight: 600; color: $navy; } &__close { width: 30px; height: 30px; border: none; background: #f1f5f9; border-radius: 6px; cursor: pointer; display: flex; align-items: center; justify-content: center; color: #64748b; transition: all 0.15s; &:hover { background: #e2e8f0; color: $navy; } } } .crop-body { padding: 20px 24px !important; overflow: visible !important; max-height: 70vh !important; } .crop-loading { text-align: center; padding: 40px; color: #94a3b8; font-size: 14px; } .hidden { display: none !important; } .crop-workspace { display: flex; gap: 20px; align-items: flex-start; } .crop-source { flex: 1; min-width: 0; canvas { cursor: crosshair; border: 1px solid #e2e8f0; border-radius: 8px; display: block; max-width: 100%; } } .crop-hint { font-size: 11px; color: #94a3b8; margin-top: 6px; text-align: center; } .crop-preview-panel { width: 160px; flex-shrink: 0; display: flex; flex-direction: column; align-items: center; gap: 8px; } .crop-preview-label { font-size: 11px; font-weight: 600; color: #64748b; text-transform: uppercase; letter-spacing: 0.06em; } .crop-preview-box { width: 150px; height: 150px; border: 2px solid $blue; border-radius: 8px; overflow: hidden; display: flex; align-items: center; justify-content: center; background: #f8fafc; canvas { display: block; max-width: 100%; max-height: 100%; } } .crop-preview-size { font-size: 10px; color: #94a3b8; font-family: 'Roboto Mono', monospace; } .crop-actions { padding: 12px 24px 16px !important; border-top: 1px solid #e2e8f0; margin: 0 !important; display: flex !important; justify-content: flex-end !important; gap: 10px !important; button { border-radius: 8px !important; font-size: 13px !important; font-weight: 600 !important; } &__icon { margin-right: 6px; font-size: 12px; } } @media (width <= 600px) { .crop-workspace { flex-direction: column; } .crop-preview-panel { width: 100%; flex-direction: row; justify-content: center; } .crop-preview-box { width: 100px; height: 100px; } }