/* =====================================================================
   REMINDER MODAL - Consistent with Task Modal Styling
   ===================================================================== */

.tasknotes-plugin .tasknotes-reminder-modal {
    max-width: 600px;
    min-width: 480px;
    min-height: 400px;
    max-height: 75vh;
    display: flex;
    flex-direction: column;
    border-radius: var(--radius-l);
    box-shadow: var(--shadow-l);
}

/* =====================================================================
   HEADER SECTION
   ===================================================================== */

.tasknotes-plugin .reminder-modal__header {
    padding: var(--size-4-4) var(--size-4-4) var(--size-4-3);
    border-bottom: 1px solid var(--background-modifier-border);
}

.tasknotes-plugin .reminder-modal__header h2 {
    margin: 0 0 var(--size-4-1) 0;
    font-size: var(--font-ui-large);
    font-weight: 600;
    color: var(--text-normal);
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.tasknotes-plugin .reminder-modal__task-title {
    font-size: var(--font-ui-medium);
    font-weight: 500;
    color: var(--interactive-accent);
    display: block;
    margin-bottom: var(--size-4-1);
}

.tasknotes-plugin .reminder-modal__task-dates {
    font-size: var(--font-ui-small);
    color: var(--text-muted);
    font-style: italic;
}

/* =====================================================================
   CONTENT AREA
   ===================================================================== */

.tasknotes-plugin .reminder-modal__content {
    flex: 1;
    padding: var(--size-4-4);
    overflow-y: auto;
    display: flex;
    flex-direction: column;
    gap: var(--size-4-3);
}

/* Section Styling - Match Task Modal Details */
.tasknotes-plugin .reminder-modal__section {
    display: flex;
    flex-direction: column;
    gap: var(--size-4-2);
}

.tasknotes-plugin .reminder-modal__section-header {
    display: flex;
    align-items: center;
    gap: var(--size-4-2);
}

.tasknotes-plugin .reminder-modal__section-header h3 {
    margin: 0;
    font-size: var(--font-ui-small);
    font-weight: 600;
    color: var(--text-muted);
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.tasknotes-plugin .reminder-modal__reminder-count {
    font-size: var(--font-ui-small);
    color: var(--text-muted);
    font-weight: 400;
}

/* Empty State - Match Task Modal Secondary Background */
.tasknotes-plugin .reminder-modal__empty-state {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: var(--size-4-3);
    text-align: center;
    background: var(--background-secondary);
    border-radius: var(--radius-s);
    border: 1px dashed var(--background-modifier-border);
}

.tasknotes-plugin .reminder-modal__empty-icon {
    width: 24px;
    height: 24px;
    color: var(--text-faint);
    margin-bottom: var(--size-4-2);
}

.tasknotes-plugin .reminder-modal__empty-text {
    font-size: var(--font-ui-small);
    color: var(--text-muted);
    font-weight: 500;
}

/* =====================================================================
   REMINDER CARDS - Match Task Modal Item Styling
   ===================================================================== */

.tasknotes-plugin .reminder-modal__reminder-list {
    display: flex;
    flex-direction: column;
    gap: var(--size-4-2);
}

.tasknotes-plugin .reminder-modal__reminder-card {
    display: flex;
    align-items: center;
    gap: var(--size-4-2);
    padding: var(--size-4-2);
    background: var(--background-secondary);
    border: 1px solid var(--background-modifier-border);
    border-radius: var(--radius-s);
    transition: all 0.2s ease;
}

.tasknotes-plugin .reminder-modal__reminder-card:hover {
    border-color: var(--interactive-accent);
    background: var(--background-primary);
}

.tasknotes-plugin .reminder-modal__reminder-icon {
    width: 16px;
    height: 16px;
    color: var(--interactive-accent);
    flex-shrink: 0;
}

.tasknotes-plugin .reminder-modal__reminder-content {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: var(--size-4-1);
}

.tasknotes-plugin .reminder-modal__reminder-primary {
    font-weight: 500;
    color: var(--text-normal);
    font-size: var(--font-ui-medium);
}

.tasknotes-plugin .reminder-modal__reminder-description {
    font-size: var(--font-ui-small);
    color: var(--interactive-accent);
    font-style: italic;
}

.tasknotes-plugin .reminder-modal__reminder-actions {
    display: flex;
    flex-shrink: 0;
}

.tasknotes-plugin .reminder-modal__action-btn {
    padding: var(--size-4-1);
    background: transparent;
    border: none;
    cursor: pointer;
    color: var(--text-muted);
    transition: all 0.2s ease;
    width: 24px;
    height: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: var(--radius-s);
}

.tasknotes-plugin .reminder-modal__action-btn:hover {
    color: var(--text-error);
    background: var(--background-modifier-hover);
}

/* =====================================================================
   QUICK ACTIONS - Icon-Based Controls Like Task Modal
   ===================================================================== */

.tasknotes-plugin .reminder-modal__quick-actions {
    padding: var(--size-4-2);
    background: var(--background-secondary);
    border: 1px solid var(--background-modifier-border);
    border-radius: var(--radius-s);
    margin-bottom: var(--size-4-3);
}

.tasknotes-plugin .reminder-modal__quick-buttons {
    display: flex;
    gap: var(--size-4-1);
    justify-content: space-between;
}

.tasknotes-plugin .reminder-modal__quick-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: var(--size-4-1);
    padding: var(--size-4-1) var(--size-4-2);
    background: transparent;
    border: none;
    cursor: pointer;
    transition: all 0.2s ease;
    font-size: var(--font-ui-small);
    color: var(--text-muted);
    flex: 1;
    min-width: 0;
    border-radius: var(--radius-s);
}

.tasknotes-plugin .reminder-modal__quick-btn:hover {
    background: var(--background-modifier-hover);
    color: var(--text-normal);
    transform: translateY(-1px);
}

.tasknotes-plugin .reminder-modal__quick-btn-icon {
    width: 14px;
    height: 14px;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}

.tasknotes-plugin .reminder-modal__quick-btn-label {
    font-weight: 500;
}

/* =====================================================================
   FORM STYLING - Match Task Modal Input Styles
   ===================================================================== */

.tasknotes-plugin .reminder-modal__form {
    display: flex;
    flex-direction: column;
    gap: var(--size-4-2);
    background: var(--background-secondary);
    border: 1px solid var(--background-modifier-border);
    border-radius: var(--radius-s);
    padding: var(--size-4-3);
    margin-top: var(--size-4-2);
}

.tasknotes-plugin .reminder-modal__type-selector {
    display: flex;
    background: var(--background-primary);
    border-radius: var(--radius-s);
    padding: 2px;
    border: 1px solid var(--background-modifier-border);
}

.tasknotes-plugin .reminder-modal__type-tab {
    flex: 1;
    padding: var(--size-4-1) var(--size-4-3);
    background: transparent;
    border: none;
    border-radius: var(--radius-s);
    cursor: pointer;
    font-weight: 500;
    color: var(--text-muted);
    transition: all 0.2s ease;
    text-align: center;
    font-size: var(--font-ui-small);
    display: flex;
    align-items: center;
    justify-content: center;
}

.tasknotes-plugin .reminder-modal__type-tab--active {
    background: var(--interactive-accent);
    color: var(--text-on-accent);
}

.tasknotes-plugin .reminder-modal__type-tab:not(.reminder-modal__type-tab--active):hover {
    background: var(--background-modifier-hover);
    color: var(--text-normal);
}

.tasknotes-plugin .relative-fields,
.tasknotes-plugin .absolute-fields {
    padding: var(--size-4-2);
    background: var(--background-primary);
    border: 1px solid var(--background-modifier-border);
    border-radius: var(--radius-s);
    display: flex;
    flex-direction: column;
    gap: var(--size-4-2);
    margin-top: var(--size-4-2);
}

.tasknotes-plugin .absolute-fields {
    display: none;
}

/* Form controls - Match Task Modal Details Section */
.tasknotes-plugin .reminder-modal__form .setting-item {
    padding: var(--size-4-2) 0;
    border: none;
}

.tasknotes-plugin .reminder-modal__form .setting-item-name {
    font-size: var(--font-ui-small);
    font-weight: 600;
    color: var(--text-muted);
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.tasknotes-plugin .reminder-modal__form .setting-item-control input,
.tasknotes-plugin .reminder-modal__form .setting-item-control select {
    background: var(--background-secondary);
    border: 1px solid var(--background-modifier-border);
    border-radius: var(--radius-s);
    padding: var(--size-4-1) var(--size-4-2);
    font-size: var(--font-ui-medium);
    transition: all 0.2s ease;
}

.tasknotes-plugin .reminder-modal__form .setting-item-control input:focus,
.tasknotes-plugin .reminder-modal__form .setting-item-control select:focus {
    border-color: var(--interactive-accent);
    background: var(--background-primary);
    outline: none;
}

.tasknotes-plugin .reminder-add-btn {
    align-self: flex-start;
    padding: var(--size-4-2) var(--size-4-3);
    background: var(--tn-interactive-accent, var(--interactive-accent));
    color: var(--text-on-accent);
    border: none;
    cursor: pointer;
    font-weight: 500;
    font-size: var(--font-ui-medium);
    transition: all 0.2s ease;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: var(--size-4-1);
    border-radius: var(--radius-s);
    min-width: 80px;
}

.tasknotes-plugin .reminder-add-btn:hover {
    background: var(--tn-interactive-accent-hover, var(--interactive-accent-hover));
    box-shadow: none;
}

.tasknotes-plugin .reminder-add-btn:disabled,
.tasknotes-plugin .reminder-add-btn--loading {
    opacity: 0.6;
    cursor: not-allowed;
}

.tasknotes-plugin .reminder-add-btn--loading .reminder-add-btn-icon {
    animation: spin 1s linear infinite;
}

@keyframes spin {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}

/* =====================================================================
   ACTION BUTTONS - Match Task Modal Button Container
   ===================================================================== */

.tasknotes-plugin .reminder-modal__actions {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: var(--size-4-2);
    margin-top: var(--size-4-4);
    padding: var(--size-4-3) var(--size-4-4);
    border-top: 1px solid var(--background-modifier-border);
}

.tasknotes-plugin .reminder-modal__save-btn,
.tasknotes-plugin .reminder-modal__cancel-btn {
    padding: var(--size-4-2) var(--size-4-3);
    font-weight: 500;
    font-size: var(--font-ui-medium);
    cursor: pointer;
    transition: all 0.2s ease;
    border: none;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: var(--radius-s);
    min-width: 80px;
}

.tasknotes-plugin .reminder-modal__save-btn {
    background: var(--tn-interactive-accent, var(--interactive-accent));
    color: var(--text-on-accent);
    box-shadow: none;
}

.tasknotes-plugin .reminder-modal__save-btn:disabled {
    opacity: 0.5;
    cursor: not-allowed;
    background: var(--background-modifier-border);
    color: var(--text-muted);
}

.tasknotes-plugin .reminder-modal__save-btn:not(:disabled):hover {
    background: var(--tn-interactive-accent-hover, var(--interactive-accent-hover));
    box-shadow: none;
}

.tasknotes-plugin .reminder-modal__cancel-btn {
    background: transparent;
    color: var(--text-muted);
    box-shadow: none;
}

.tasknotes-plugin .reminder-modal__cancel-btn:hover {
    background: var(--tn-interactive-hover, var(--background-modifier-hover));
    box-shadow: none;
}

/* =====================================================================
   RESPONSIVE DESIGN - Match Task Modal Breakpoints
   ===================================================================== */

@media (max-width: 600px) {
    .tasknotes-plugin .tasknotes-reminder-modal {
        min-width: 90vw;
        max-width: 90vw;
        min-height: 60vh;
        max-height: 90vh;
    }
    
    .tasknotes-plugin .reminder-modal__quick-buttons {
        flex-wrap: wrap;
        gap: var(--size-4-2);
    }
    
    .tasknotes-plugin .reminder-modal__actions {
        flex-direction: column;
        gap: var(--size-4-2);
    }
    
    .tasknotes-plugin .reminder-modal__save-btn,
    .tasknotes-plugin .reminder-modal__cancel-btn {
        width: 100%;
    }
    
    .tasknotes-plugin .reminder-modal__shortcuts {
        order: -1;
    }
}

/* =====================================================================
   DARK MODE ADJUSTMENTS - Match Task Modal
   ===================================================================== */

.theme-dark .tasknotes-plugin .tasknotes-reminder-modal {
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.4);
}

/* =====================================================================
   BACKWARD COMPATIBILITY
   ===================================================================== */
.reminder-section {
    margin-bottom: var(--size-4-6);
}

.reminder-section h3 {
    margin-bottom: var(--size-4-3);
    color: var(--text-normal);
    font-size: var(--font-size-md);
    font-weight: var(--font-weight-semibold);
}

.no-reminders {
    padding: var(--size-4-4);
    text-align: center;
    color: var(--text-muted);
    font-style: italic;
    background: var(--background-secondary);
    border-radius: var(--radius-m);
}

.reminder-list {
    display: flex;
    flex-direction: column;
    gap: var(--size-4-2);
}

.reminder-item {
    display: flex;
    align-items: flex-start;
    gap: var(--size-4-3);
    padding: var(--size-4-3);
    background: var(--background-secondary);
    border-radius: var(--radius-m);
    border: 1px solid var(--border-color);
}

.reminder-item__content {
    flex: 1;
}

.reminder-item__timing {
    font-weight: var(--font-weight-semibold);
    color: var(--text-normal);
    margin-bottom: var(--size-4-1);
}

.reminder-item__description {
    font-size: var(--font-size-sm);
    color: var(--text-accent);
    margin-bottom: var(--size-4-1);
    font-style: italic;
}

.reminder-item__details {
    font-size: var(--font-size-xs);
    color: var(--text-muted);
}

.reminder-item__actions {
    display: flex;
    gap: var(--size-4-1);
}

.reminder-item__remove-btn {
    padding: var(--size-4-1);
    background: transparent;
    border: none;
    cursor: pointer;
    color: var(--text-muted);
    border-radius: var(--radius-s);
    transition: all 0.2s ease;
}

.reminder-item__remove-btn:hover {
    background: var(--background-modifier-error);
    color: var(--text-error);
}

.reminder-form {
    padding: var(--size-4-4);
    background: var(--background-secondary);
    border-radius: var(--radius-m);
    border: 1px solid var(--border-color);
}

/* Modal button styling */
.modal-button-container {
    display: flex;
    justify-content: flex-end;
    gap: var(--size-4-2);
    margin-top: var(--size-4-6);
    padding-top: var(--size-4-4);
    border-top: 1px solid var(--border-color);
}

/* =====================================================================
   REMINDER DEFAULTS SECTION - Settings Tab Styling
   ===================================================================== */

.tasknotes-plugin .reminder-defaults-section {
    margin-bottom: var(--size-4-4);
    padding: var(--size-4-3);
    background: var(--background-secondary);
    border: 1px solid var(--background-modifier-border);
    border-radius: var(--radius-s);
}

.tasknotes-plugin .reminder-defaults-list {
    margin-bottom: var(--size-4-3);
}

/* Empty State */
.tasknotes-plugin .reminder-defaults-empty {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: var(--size-4-3);
    text-align: center;
    background: var(--background-primary);
    border-radius: var(--radius-s);
    border: 1px dashed var(--background-modifier-border);
}

.tasknotes-plugin .reminder-defaults-empty-icon {
    width: 24px;
    height: 24px;
    color: var(--text-faint);
    margin-bottom: var(--size-4-2);
}

.tasknotes-plugin .reminder-defaults-empty-text {
    font-size: var(--font-ui-small);
    color: var(--text-muted);
    font-weight: 500;
}

/* Reminder Items */
.tasknotes-plugin .reminder-defaults-items {
    display: flex;
    flex-direction: column;
    gap: var(--size-4-2);
}

.tasknotes-plugin .reminder-defaults-card {
    display: flex;
    align-items: center;
    gap: var(--size-4-2);
    padding: var(--size-4-2);
    background: var(--background-primary);
    border: 1px solid var(--background-modifier-border);
    border-radius: var(--radius-s);
    transition: all 0.2s ease;
}

.tasknotes-plugin .reminder-defaults-card:hover {
    border-color: var(--interactive-accent);
    background: var(--background-secondary);
}

.tasknotes-plugin .reminder-defaults-icon {
    width: 16px;
    height: 16px;
    color: var(--interactive-accent);
    flex-shrink: 0;
}

.tasknotes-plugin .reminder-defaults-content {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: var(--size-4-1);
}

.tasknotes-plugin .reminder-defaults-primary {
    font-weight: 500;
    color: var(--text-normal);
    font-size: var(--font-ui-medium);
}

.tasknotes-plugin .reminder-defaults-description {
    font-size: var(--font-ui-small);
    color: var(--interactive-accent);
    font-style: italic;
}

.tasknotes-plugin .reminder-defaults-actions {
    display: flex;
    flex-shrink: 0;
}

.tasknotes-plugin .reminder-defaults-remove-btn {
    padding: var(--size-4-1);
    background: transparent;
    border: none;
    cursor: pointer;
    color: var(--text-muted);
    transition: all 0.2s ease;
    width: 24px;
    height: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: var(--radius-s);
}

.tasknotes-plugin .reminder-defaults-remove-btn:hover {
    color: var(--text-error);
    background: var(--background-modifier-hover);
}

/* Form Styling */
.tasknotes-plugin .reminder-defaults-form {
    display: flex;
    flex-direction: column;
    gap: var(--size-4-2);
    background: var(--background-primary);
    border: 1px solid var(--background-modifier-border);
    border-radius: var(--radius-s);
    padding: var(--size-4-3);
    margin-top: var(--size-4-3);
}

.tasknotes-plugin .reminder-defaults-form-header {
    margin: 0 0 var(--size-4-2) 0;
    font-size: var(--font-ui-small);
    font-weight: 600;
    color: var(--text-muted);
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

/* Type Selector */
.tasknotes-plugin .reminder-defaults-type-selector {
    display: flex;
    background: var(--background-secondary);
    border-radius: var(--radius-s);
    padding: 2px;
    border: 1px solid var(--background-modifier-border);
    margin-bottom: var(--size-4-2);
}

.tasknotes-plugin .reminder-defaults-type-tab {
    flex: 1;
    padding: var(--size-4-1) var(--size-4-3);
    background: transparent;
    border: none;
    border-radius: var(--radius-s);
    cursor: pointer;
    font-weight: 500;
    color: var(--text-muted);
    transition: all 0.2s ease;
    text-align: center;
    font-size: var(--font-ui-small);
    display: flex;
    align-items: center;
    justify-content: center;
}

.tasknotes-plugin .reminder-defaults-type-tab--active {
    background: var(--interactive-accent);
    color: var(--text-on-accent);
}

.tasknotes-plugin .reminder-defaults-type-tab:not(.reminder-defaults-type-tab--active):hover {
    background: var(--background-modifier-hover);
    color: var(--text-normal);
}

/* Form Fields */
.tasknotes-plugin .reminder-defaults-relative-fields,
.tasknotes-plugin .reminder-defaults-absolute-fields {
    padding: var(--size-4-2);
    background: var(--background-secondary);
    border: 1px solid var(--background-modifier-border);
    border-radius: var(--radius-s);
    display: flex;
    flex-direction: column;
    gap: var(--size-4-2);
    margin-bottom: var(--size-4-2);
}

.tasknotes-plugin .reminder-defaults-absolute-fields {
    display: none;
}

/* Form controls - Match Task Modal Details Section */
.tasknotes-plugin .reminder-defaults-form .setting-item {
    padding: var(--size-4-2) 0;
    border: none;
}

.tasknotes-plugin .reminder-defaults-form .setting-item-name {
    font-size: var(--font-ui-small);
    font-weight: 600;
    color: var(--text-muted);
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.tasknotes-plugin .reminder-defaults-form .setting-item-control input,
.tasknotes-plugin .reminder-defaults-form .setting-item-control select {
    background: var(--background-primary);
    border: 1px solid var(--background-modifier-border);
    border-radius: var(--radius-s);
    padding: var(--size-4-1) var(--size-4-2);
    font-size: var(--font-ui-medium);
    transition: all 0.2s ease;
}

.tasknotes-plugin .reminder-defaults-form .setting-item-control input:focus,
.tasknotes-plugin .reminder-defaults-form .setting-item-control select:focus {
    border-color: var(--interactive-accent);
    background: var(--background-secondary);
    outline: none;
}

/* Add Button */
.tasknotes-plugin .reminder-defaults-add-btn {
    align-self: flex-start;
    padding: var(--size-4-2) var(--size-4-3);
    background: var(--tn-interactive-accent, var(--interactive-accent));
    color: var(--text-on-accent);
    border: none;
    cursor: pointer;
    font-weight: 500;
    font-size: var(--font-ui-medium);
    transition: all 0.2s ease;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: var(--size-4-1);
    border-radius: var(--radius-s);
    min-width: 120px;
}

.tasknotes-plugin .reminder-defaults-add-btn:hover {
    background: var(--tn-interactive-accent-hover, var(--interactive-accent-hover));
    box-shadow: none;
}

.tasknotes-plugin .reminder-defaults-add-btn:disabled {
    opacity: 0.6;
    cursor: not-allowed;
}

.tasknotes-plugin .reminder-defaults-add-icon {
    width: 16px;
    height: 16px;
    flex-shrink: 0;
}

.tasknotes-plugin .reminder-defaults-add-text {
    font-weight: 500;
}