/* Global Radzen dialog behavior
   - Mobile (<= 767px): dialogs are full-screen (native mobile experience)
   - Desktop (>= 768px): dialogs use standard Radzen positioning (centered, respects DialogOptions)
*/

 /* CoachLink Dialog System */
 :root {
     --dialog-bg: var(--cl-bg, #F8F9FB);
     --dialog-card: var(--cl-card, #FFFFFF);
     --dialog-border: var(--cl-border, #E0E6EB);
     --dialog-text: var(--cl-text, #1E293B);
     --dialog-text-secondary: var(--cl-text-secondary, #6C757D);
     --dialog-primary: var(--cl-primary, #70AFFB);
     --dialog-shadow: var(--cl-shadow-soft, 0 2px 12px rgba(15,23,42,0.06));
 }

/* Mobile: full screen dialogs */
@media (max-width: 767.98px) {
    .rz-dialog:not(.cl-action-sheet) {
        position: fixed !important;
        top: 0 !important;
        left: 0 !important;
        width: 100vw !important;
        height: 100vh !important;
        max-width: none !important;
        margin: 0 !important;
        border-radius: 0 !important;
        overflow: hidden !important;
        inset-block-start: 0px !important;
    }

    .rz-dialog:not(.cl-action-sheet) .rz-dialog-content {
        height: 100% !important;
        padding: 1rem !important;
        border-radius: 0 !important;
    }

    /* Override Radzen's default positioning for action sheets */
    .cl-action-sheet .rz-dialog {
        position: fixed !important;
        inset-block-start: auto !important;
        inset-block-end: 0 !important;
        top: auto !important;
        bottom: 0 !important;
        left: 0 !important;
        right: 0 !important;
        width: 100% !important;
        height: auto !important;
        max-height: 60vh !important;
        border-radius: 18px 18px 0 0 !important;
        margin: 0 !important;
    }

    /* Make Radzen dialogs stack above everything on mobile */
    .rz-overlay {
        z-index: 99999 !important;
    }

    .cl-action-sheet.rz-dialog-wrapper {
        top: auto !important;
        bottom: 0 !important;
        height: auto !important;
        max-height: 60vh !important;
        inset-block-start: auto !important;
        inset-block-end: 0 !important;
    }
}

/* FIX: force wrapper to bottom for action sheets (ALL screen sizes) */
.cl-action-sheet.rz-dialog-wrapper {
    position: fixed !important;
    bottom: 0 !important;
    top: auto !important;
    left: 0 !important;
    right: 0 !important;
    height: auto !important;
    max-height: 90vh !important;
    margin: 0 !important;
    display: flex !important;
    align-items: flex-end !important;
    pointer-events: none;
    inset-block-start: auto !important;
    inset-block-end: 0 !important;
}

/* Override Radzen's default dialog positioning for action sheets */
.cl-action-sheet .rz-dialog {
    position: fixed !important;
    bottom: 0 !important;
    top: auto !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    max-width: 600px !important;
    margin: 0 auto !important;
    height: 450px !important;
    max-height: 90vh !important;
    border-radius: 18px 18px 0 0 !important;
    overflow: hidden !important;
    pointer-events: auto !important;
    inset-block-start: auto !important;
    inset-block-end: 0 !important;
    animation: sheet-slide-up 0.28s ease-out !important;
}

/* Slide animation */
@keyframes sheet-slide-up {
    from {
        transform: translateY(100%);
    }
    to {
        transform: translateY(0);
    }
}

/* Desktop: Standard centered dialogs - let Radzen handle positioning */
@media (min-width: 768px) {
    /* Let Radzen position dialogs normally (centered) */
    .rz-dialog:not(.cl-action-sheet .rz-dialog) {
        border-radius: 16px !important;
        box-shadow: 0 20px 60px rgba(15,23,42,0.15) !important;
    }

    .rz-dialog:not(.cl-action-sheet .rz-dialog) .rz-dialog-content {
        padding: 1rem !important;
        border-radius: 16px !important;
    }

    .rz-overlay {
        background: rgba(2,6,23,0.45) !important;
    }

    /* For fullscreen dialogs (like training plan viewer) */
    .tp-fullscreen-dialog.rz-dialog {
        position: fixed !important;
        left: 50% !important;
        top: 50% !important;
        transform: translate(-50%, -50%) !important;
        width: 100% !important;
        max-width: 900px !important;
        height: 90vh !important;
        border-radius: 12px !important;
    }

    /* Action sheets stay at bottom on desktop */
    .cl-action-sheet .rz-dialog {
        position: fixed !important;
        bottom: 0 !important;
        top: auto !important;
        left: 50% !important;
        right: auto !important;
        transform: translateX(-50%) !important;
        width: 100% !important;
        max-width: 600px !important;
        height: 450px !important;
        max-height: 60vh !important;
        border-radius: 18px 18px 0 0 !important;
        inset-block-start: auto !important;
        inset-block-end: 0 !important;
    }
}

/* General dialog layout */
.cl-dialog {
    background: var(--dialog-bg);
    display: flex;
    flex-direction: column;
    height: 100%;
}

.cl-dialog-header {
    background: var(--dialog-card);
    border-bottom: 1px solid var(--dialog-border);
    padding: 16px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.cl-dialog-header h4 {
    margin: 0;
    color: var(--dialog-text);
    font-weight: 600;
}

.cl-close-btn {
    background: none;
    border: none;
    font-size: 2rem;
    cursor: pointer;
    color: var(--dialog-text-secondary);
    transition: color 0.2s;
}

.cl-close-btn:hover {
    color: var(--dialog-text);
}

/* Dialog body */
.cl-dialog-body {
    flex: 1;
    overflow-y: auto;
    padding: 16px;
    color: var(--dialog-text);
}

/* Dialog footer */
.cl-dialog-footer {
    background: var(--dialog-card);
    border-top: 1px solid var(--dialog-border);
    padding: 16px;
    display: flex;
    gap: 8px;
    justify-content: flex-end;
}

/* Empty state */
.cl-empty-state {
    text-align: center;
    padding: 3rem 1rem;
    color: var(--dialog-text-secondary);
}

.cl-empty-state h5 {
    color: var(--dialog-text);
    font-weight: 600;
    margin-top: 1rem;
}

/* Primary button */
.cl-primary-btn {
    background: var(--dialog-primary);
    color: white;
    border: none;
    padding: 10px 20px;
    border-radius: 12px;
    cursor: pointer;
    font-weight: 600;
    transition: all 0.2s;
}

.cl-primary-btn:hover {
    background: var(--cl-primary-dark, #32677E);
}

/* Notes-specific */
.note-card {
    background: var(--dialog-card);
    border: 1px solid var(--dialog-border);
    border-radius: 12px;
    padding: 12px;
    margin-bottom: 12px;
    box-shadow: var(--dialog-shadow);
}

.note-card-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 8px;
}

.note-date {
    color: var(--dialog-text-secondary);
    font-size: 0.85rem;
}

.note-title {
    color: var(--dialog-text);
    font-weight: 600;
    margin-bottom: 8px;
}

.note-card-content {
    color: var(--dialog-text);
}

.note-delete {
    background: none;
    border: none;
    font-size: 1.5rem;
    cursor: pointer;
    color: var(--dialog-text-secondary);
    transition: color 0.2s;
}

.note-delete:hover {
    color: var(--rz-danger, #EF4444);
}

/* QuickView specific */
.quickview-dialog .rz-dialog-wrapper {
    margin: 0;
    max-width: none;
    box-shadow: var(--dialog-shadow);
}
