/* ===========================================
   AGD THEME SYSTEM - Main Stylesheet
   Includes: Variables + Base Styles + Components
   =========================================== */

@import url('themes/_variables.css');

/* ===========================================
   BASE STYLES
   =========================================== */

html, body {
    margin: 0;
    padding: 0;
    font-family: 'Segoe UI', 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
    background: var(--agd-bg-base);
    color: var(--agd-text-primary);
    transition: background-color 0.3s ease, color 0.3s ease;
    min-height: 100vh;
    height: 100%;
}

.agd-main-content {
    height: 100vh;
    overflow: hidden;
}

/* Ambient glow effect for dark theme */
[data-theme="dark"] body::before {
    content: '';
    position: fixed;
    top: -50%;
    left: -50%;
    width: 200%;
    height: 200%;
    background: radial-gradient(ellipse at 50% 0%, rgba(99, 102, 241, 0.08) 0%, transparent 50%);
    pointer-events: none;
    z-index: -1;
}

/* Custom Scrollbar */
::-webkit-scrollbar {
    width: 8px;
    height: 8px;
}

::-webkit-scrollbar-track {
    background: var(--agd-scrollbar-track);
}

::-webkit-scrollbar-thumb {
    background: var(--agd-scrollbar-thumb);
    border-radius: 4px;
}

::-webkit-scrollbar-thumb:hover {
    background: var(--agd-scrollbar-thumb-hover);
}

/* ===========================================
   GLASS EFFECT COMPONENTS
   =========================================== */

.agd-glass {
    background: var(--agd-glass-bg);
    backdrop-filter: var(--agd-glass-blur);
    -webkit-backdrop-filter: var(--agd-glass-blur);
    border: 1px solid var(--agd-glass-border);
    box-shadow: var(--agd-glass-shadow);
}

.agd-card {
    background: var(--agd-card-bg);
    border: 1px solid var(--agd-border);
    border-radius: 12px;
    box-shadow: var(--agd-shadow-md);
}

/* ===========================================
   CALENDAR CONTAINER
   =========================================== */

.agd-calendar-container {
    display: flex;
    flex-direction: column;
    height: 100%;
    max-height: 100vh;
    background: var(--agd-bg-base);
    overflow: hidden;
}

/* ===========================================
   TOOLBAR
   =========================================== */

.agd-calendar-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 12px 20px;
    background: var(--agd-header-bg);
    backdrop-filter: var(--agd-glass-blur);
    -webkit-backdrop-filter: var(--agd-glass-blur);
    border-bottom: 1px solid var(--agd-glass-border);
    gap: 16px;
    flex-wrap: wrap;
    flex-shrink: 0;
}

[data-theme="dark"] .agd-calendar-toolbar {
    background: linear-gradient(135deg, #2d1f4e 0%, #3d2a6d 100%) !important;
    border-bottom-color: rgba(139, 92, 246, 0.3) !important;
}

.agd-toolbar-left,
.agd-toolbar-center,
.agd-toolbar-right {
    display: flex;
    align-items: center;
    gap: 8px;
}

.agd-toolbar-center {
    flex: 1;
    justify-content: center;
}

.agd-date-display {
    font-size: 1.1rem;
    font-weight: 600;
    color: var(--agd-text-primary);
    padding: 0 16px;
    min-width: 200px;
    text-align: center;
}

/* ===========================================
   CALENDAR BODY
   =========================================== */

.agd-calendar-body {
    display: flex;
    flex: 1;
    overflow: hidden;
    min-height: 0;
}

/* ===========================================
   AGENDA PANEL
   =========================================== */

.agd-agenda-panel {
    width: 260px;
    min-width: 260px;
    background: var(--agd-sidebar-bg);
    backdrop-filter: var(--agd-glass-blur);
    -webkit-backdrop-filter: var(--agd-glass-blur);
    border-right: 1px solid var(--agd-glass-border);
    display: flex;
    flex-direction: column;
    transition: width 0.3s ease, min-width 0.3s ease;
    overflow: hidden;
}

.agd-agenda-panel.collapsed {
    width: 48px;
    min-width: 48px;
}

.agd-panel-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 16px;
    border-bottom: 1px solid var(--agd-border);
    font-weight: 600;
    color: var(--agd-text-primary);
    min-height: 56px;
    box-sizing: border-box;
}

/* When collapsed, center the button and hide text */
.agd-agenda-panel.collapsed .agd-panel-header {
    justify-content: center;
    padding: 16px 8px;
}

.agd-agenda-panel.collapsed .agd-panel-header > span {
    display: none;
}

/* Keep button visible when collapsed */
.agd-agenda-panel.collapsed .agd-panel-header .k-button {
    flex-shrink: 0;
}

[data-theme="dark"] .agd-panel-header {
    background: #2d2352 !important;
    border-bottom-color: rgba(139, 92, 246, 0.3) !important;
}

.agd-agenda-groups,
.agd-agenda-list {
    padding: 12px;
    overflow-y: auto;
    flex: 1;
}

.agd-agenda-group,
.agd-agenda-item {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 12px;
    border-radius: 8px;
    cursor: pointer;
    transition: background-color 0.2s ease;
}

.agd-agenda-group:hover,
.agd-agenda-item:hover {
    background: var(--agd-input-bg);
}

.agd-agenda-color {
    width: 14px;
    height: 14px;
    border-radius: 4px;
    flex-shrink: 0;
    box-shadow: var(--agd-shadow-sm);
}

.agd-agenda-name {
    flex: 1;
    font-size: 0.9rem;
    color: var(--agd-text-primary);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* ===========================================
   SCHEDULER CONTAINER
   =========================================== */

.agd-scheduler-container {
    flex: 1;
    overflow: hidden;
    padding: 16px;
    background: var(--agd-bg-base);
    display: flex;
    flex-direction: column;
    min-height: 0;
}

/* Make Telerik Scheduler fill container */
.agd-scheduler-container .k-scheduler {
    flex: 1;
    display: flex;
    flex-direction: column;
    min-height: 0;
    max-height: 100%;
}

.agd-scheduler-container .k-scheduler-layout {
    flex: 1;
    min-height: 0;
    overflow: auto;
}

/* Month view - fill available height */
.agd-scheduler-container .k-scheduler-monthview {
    flex: 1;
    display: flex;
    flex-direction: column;
}

.agd-scheduler-container .k-scheduler-monthview .k-scheduler-table {
    flex: 1;
    height: 100%;
}

.agd-scheduler-container .k-scheduler-monthview .k-scheduler-body {
    flex: 1;
}

.agd-scheduler-container .k-scheduler-monthview .k-scheduler-content {
    flex: 1;
}

/* ===========================================
   APPOINTMENT ITEM
   =========================================== */

.agd-appo-item {
    display: flex;
    flex-direction: column;
    padding: 4px 8px;
    border-radius: 6px;
    height: 100%;
    overflow: hidden;
    box-shadow: var(--agd-shadow-sm);
    transition: transform 0.15s ease, box-shadow 0.15s ease;
}

.agd-appo-item:hover {
    transform: translateY(-1px);
    box-shadow: var(--agd-shadow-md);
}

.agd-appo-icons {
    display: flex;
    gap: 4px;
    margin-bottom: 2px;
}

.agd-appo-icon {
    font-size: 0.75rem;
}

.agd-appo-title {
    font-size: 0.85rem;
    font-weight: 500;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* ===========================================
   FORM STYLES
   =========================================== */

.agd-appo-edit-form {
    padding: 8px 0;
}

.agd-form-row {
    display: flex;
    gap: 16px;
    align-items: center;
}

.agd-form-col {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.agd-form-col label {
    font-size: 0.85rem;
    font-weight: 500;
    color: var(--agd-text-secondary);
}

.agd-checkbox-label {
    margin-left: 8px;
    font-size: 0.9rem;
    color: var(--agd-text-primary);
}

.agd-form-text {
    font-size: 0.9rem;
    color: var(--agd-text-secondary);
    margin-left: 8px;
}

.agd-form-buttons {
    display: flex;
    align-items: center;
    gap: 12px;
    padding-top: 16px;
    border-top: 1px solid var(--agd-border);
    margin-top: 16px;
}

.agd-spacer {
    flex: 1;
}

/* ===========================================
   THEME SELECTOR
   =========================================== */

.agd-theme-selector {
    display: flex;
    align-items: center;
    gap: 4px;
    padding: 4px;
    background: var(--agd-input-bg);
    border-radius: 10px;
    border: 1px solid var(--agd-border);
}

.agd-theme-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border-radius: 8px;
    border: none;
    background: transparent;
    cursor: pointer;
    transition: all 0.2s ease;
    font-size: 1rem;
    color: var(--agd-text-secondary);
}

.agd-theme-btn:hover {
    background: var(--agd-primary-light);
    color: var(--agd-primary);
}

.agd-theme-btn.active {
    background: var(--agd-primary);
    color: white;
    box-shadow: var(--agd-shadow-sm);
}

/* ===========================================
   LOGIN PAGE
   =========================================== */

.agd-login-container {
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
    background: var(--agd-bg-base);
}

.agd-login-card {
    position: relative;
    width: 100%;
    max-width: 420px;
    padding: 40px;
    background: var(--agd-glass-bg);
    backdrop-filter: var(--agd-glass-blur);
    -webkit-backdrop-filter: var(--agd-glass-blur);
    border: 1px solid var(--agd-glass-border);
    border-radius: 20px;
    box-shadow: var(--agd-glass-shadow);
}

.agd-register-card {
    max-width: 480px;
}

.agd-login-header {
    text-align: center;
    margin-bottom: 32px;
    padding-top: 16px;
}

.agd-login-logo-placeholder {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 72px;
    height: 72px;
    margin: 0 auto 16px;
    background: linear-gradient(135deg, var(--agd-primary) 0%, var(--agd-accent) 100%);
    border-radius: 16px;
    box-shadow: var(--agd-shadow-lg), var(--agd-shadow-glow);
}

.agd-logo-icon {
    font-size: 2rem;
}

.agd-login-title {
    font-size: 1.75rem;
    font-weight: 700;
    color: var(--agd-text-primary);
    margin: 0 0 8px 0;
}

.agd-login-subtitle {
    color: var(--agd-text-secondary);
    font-size: 0.95rem;
    margin: 0;
}

.agd-login-logo {
    font-size: 2.5rem;
    font-weight: 700;
    background: linear-gradient(135deg, var(--agd-primary) 0%, var(--agd-accent) 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    margin-bottom: 8px;
}

.agd-login-error {
    background: rgba(239, 68, 68, 0.1);
    border: 1px solid rgba(239, 68, 68, 0.3);
    color: var(--agd-error);
    padding: 12px 16px;
    border-radius: 8px;
    margin-bottom: 20px;
    font-size: 0.9rem;
}

.agd-login-success {
    background: rgba(34, 197, 94, 0.1);
    border: 1px solid rgba(34, 197, 94, 0.3);
    color: var(--agd-success);
    padding: 12px 16px;
    border-radius: 8px;
    margin-bottom: 20px;
    font-size: 0.9rem;
    display: flex;
    align-items: center;
    gap: 10px;
}

.agd-login-pending {
    background: rgba(251, 191, 36, 0.1);
    border: 1px solid rgba(251, 191, 36, 0.3);
    color: var(--agd-warning, #f59e0b);
    padding: 16px;
    border-radius: 8px;
    margin-bottom: 20px;
    font-size: 0.9rem;
    display: flex;
    align-items: flex-start;
    gap: 12px;
}

.agd-login-pending .agd-pending-message {
    flex: 1;
}

.agd-login-pending .agd-pending-message strong {
    display: block;
    margin-bottom: 8px;
    font-size: 1rem;
}

.agd-login-pending .agd-pending-message p {
    margin: 0;
    line-height: 1.5;
}

.agd-login-footer {
    margin-top: 24px;
    text-align: center;
}

.agd-login-footer a {
    color: var(--agd-primary);
    text-decoration: none;
}

.agd-login-footer a:hover {
    text-decoration: underline;
}

.agd-remember-options {
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin: 16px 0;
    padding: 16px;
    background: var(--agd-input-bg);
    border-radius: 8px;
}

.agd-remember-option {
    display: flex;
    align-items: center;
    gap: 10px;
}

.agd-remember-option label {
    font-size: 0.9rem;
    color: var(--agd-text-secondary);
    cursor: pointer;
}

.agd-mobile-notice {
    margin-top: 20px;
    padding: 16px;
    background: var(--agd-primary-light);
    border: 1px solid var(--agd-border);
    border-radius: 8px;
    text-align: center;
    font-size: 0.85rem;
    color: var(--agd-text-secondary);
}

.agd-login-theme-toggle {
    position: absolute;
    top: 16px;
    right: 16px;
}

.agd-login-form {
    margin-top: 24px;
}

.agd-form-label {
    display: block;
    font-size: 0.875rem;
    font-weight: 500;
    color: var(--agd-text-secondary);
    margin-bottom: 6px;
}

.agd-login-btn {
    width: 100%;
    height: 44px;
    margin-top: 16px;
    font-weight: 600;
}

.agd-login-options {
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin: 20px 0;
    padding: 16px;
    background: var(--agd-input-bg);
    border-radius: 10px;
    border: 1px solid var(--agd-border);
}

.agd-login-option {
    display: flex;
    align-items: center;
    gap: 10px;
}

.agd-login-option .agd-checkbox-label {
    font-size: 0.9rem;
    color: var(--agd-text-secondary);
    cursor: pointer;
}

.agd-login-option .agd-checkbox-label.agd-disabled {
    opacity: 0.5;
    cursor: not-allowed;
}

.agd-login-links {
    text-align: center;
    margin-top: 16px;
}

.agd-link {
    color: var(--agd-primary);
    text-decoration: none;
    font-size: 0.9rem;
    transition: color 0.2s ease;
}

.agd-link:hover {
    color: var(--agd-primary-hover);
    text-decoration: underline;
}

.agd-login-create-account {
    text-align: center;
    margin-top: 24px;
    padding-top: 24px;
    border-top: 1px solid var(--agd-border);
    font-size: 0.9rem;
    color: var(--agd-text-secondary);
}

.agd-login-create-account .agd-link {
    margin-left: 6px;
    font-weight: 500;
}

.agd-login-notice {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 14px 16px;
    background: var(--agd-primary-light);
    border: 1px solid var(--agd-border);
    border-radius: 10px;
    margin-bottom: 20px;
    font-size: 0.9rem;
    color: var(--agd-text-secondary);
}

.agd-login-autologin {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 16px;
    padding: 40px 0;
    color: var(--agd-text-secondary);
}

/* ===========================================
   CENTERED WINDOW
   =========================================== */

.agd-centered-window {
    border-radius: 16px !important;
    overflow: hidden;
}

/* ===========================================
   TELERIK OVERRIDES - DARK THEME
   =========================================== */

[data-theme="dark"] .k-scheduler,
[data-theme="dark"] .k-window,
[data-theme="dark"] .k-dialog,
[data-theme="dark"] .k-popup,
[data-theme="dark"] .k-animation-container-shown {
    background: var(--agd-bg-surface);
    color: var(--agd-text-primary);
    border-color: var(--agd-border);
}

[data-theme="dark"] .k-scheduler-layout {
    background: var(--agd-bg-surface);
}

[data-theme="dark"] .k-scheduler-head,
[data-theme="dark"] .k-scheduler-header,
[data-theme="dark"] .k-scheduler-header-wrap {
    background: var(--agd-cal-header-bg);
    backdrop-filter: var(--agd-glass-blur);
    border-color: var(--agd-cal-grid-line);
}

[data-theme="dark"] .k-scheduler-table td,
[data-theme="dark"] .k-scheduler-table th {
    border-color: var(--agd-cal-grid-line);
}

[data-theme="dark"] .k-scheduler-cell {
    border-color: var(--agd-cal-grid-line);
}

[data-theme="dark"] .k-scheduler-cell:hover {
    background: var(--agd-cal-slot-hover);
}

[data-theme="dark"] .k-today {
    background: var(--agd-cal-today-bg) !important;
}

[data-theme="dark"] .k-input,
[data-theme="dark"] .k-textbox,
[data-theme="dark"] .k-textarea,
[data-theme="dark"] .k-picker,
[data-theme="dark"] .k-picker-solid,
[data-theme="dark"] .k-dropdown,
[data-theme="dark"] .k-dropdownlist,
[data-theme="dark"] .k-multiselect,
[data-theme="dark"] .k-autocomplete,
[data-theme="dark"] .k-datepicker,
[data-theme="dark"] .k-datetimepicker,
[data-theme="dark"] .k-numerictextbox {
    background: var(--agd-input-bg);
    border-color: var(--agd-input-border);
    color: var(--agd-text-primary);
}

[data-theme="dark"] .k-input:focus,
[data-theme="dark"] .k-input.k-focus,
[data-theme="dark"] .k-picker.k-focus,
[data-theme="dark"] .k-dropdown.k-focus {
    background: var(--agd-input-focus-bg);
    border-color: var(--agd-primary);
    box-shadow: 0 0 0 2px rgba(var(--agd-primary-rgb), 0.25);
}

[data-theme="dark"] .k-button {
    background: var(--agd-input-bg);
    border-color: var(--agd-border);
    color: var(--agd-text-primary);
}

[data-theme="dark"] .k-button:hover {
    background: var(--agd-input-focus-bg);
    border-color: var(--agd-border-hover);
}

[data-theme="dark"] .k-button-solid-primary,
[data-theme="dark"] .k-button.k-primary {
    background: var(--agd-primary);
    border-color: var(--agd-primary);
    color: white;
}

[data-theme="dark"] .k-button-solid-primary:hover,
[data-theme="dark"] .k-button.k-primary:hover {
    background: var(--agd-primary-hover);
    border-color: var(--agd-primary-hover);
}

[data-theme="dark"] .k-window {
    background: var(--agd-modal-bg);
    backdrop-filter: var(--agd-glass-blur);
    -webkit-backdrop-filter: var(--agd-glass-blur);
    border: 1px solid var(--agd-glass-border);
    box-shadow: var(--agd-shadow-lg);
}

[data-theme="dark"] .k-window-titlebar {
    background: transparent;
    border-bottom: 1px solid var(--agd-border);
    color: var(--agd-text-primary);
}

[data-theme="dark"] .k-window-content {
    background: transparent;
    color: var(--agd-text-primary);
}

[data-theme="dark"] .k-list-container,
[data-theme="dark"] .k-popup {
    background: var(--agd-bg-elevated);
    border-color: var(--agd-border);
}

[data-theme="dark"] .k-list-item,
[data-theme="dark"] .k-list-optionlabel {
    color: var(--agd-text-primary);
}

[data-theme="dark"] .k-list-item:hover,
[data-theme="dark"] .k-list-item.k-hover {
    background: var(--agd-input-bg);
}

[data-theme="dark"] .k-list-item.k-selected {
    background: var(--agd-primary);
    color: white;
}

[data-theme="dark"] .k-checkbox:checked,
[data-theme="dark"] .k-checkbox.k-checked {
    background-color: var(--agd-primary);
    border-color: var(--agd-primary);
}

/* Radio buttons - purple theme */
[data-theme="dark"] .k-radio:checked,
[data-theme="dark"] .k-radio.k-checked {
    background-color: var(--agd-primary);
    border-color: var(--agd-primary);
}

[data-theme="dark"] .k-radio:checked::before,
[data-theme="dark"] .k-radio.k-checked::before {
    background-color: white;
}

[data-theme="dark"] .k-radio:focus,
[data-theme="dark"] .k-radio:focus-visible {
    border-color: var(--agd-primary);
    box-shadow: 0 0 0 2px rgba(var(--agd-primary-rgb), 0.25);
}

[data-theme="dark"] .k-radio-list .k-radio-item:hover .k-radio {
    border-color: var(--agd-primary);
}

/* Light theme radio buttons */
[data-theme="light"] .k-radio:checked,
[data-theme="light"] .k-radio.k-checked {
    background-color: var(--agd-primary);
    border-color: var(--agd-primary);
}

[data-theme="light"] .k-radio:checked::before,
[data-theme="light"] .k-radio.k-checked::before {
    background-color: white;
}

[data-theme="light"] .k-radio:focus,
[data-theme="light"] .k-radio:focus-visible {
    border-color: var(--agd-primary);
    box-shadow: 0 0 0 2px rgba(var(--agd-primary-rgb), 0.25);
}

[data-theme="light"] .k-radio-list .k-radio-item:hover .k-radio {
    border-color: var(--agd-primary);
}

[data-theme="dark"] .k-form-label,
[data-theme="dark"] .k-label {
    color: var(--agd-text-secondary);
}

[data-theme="dark"] .k-dialog {
    background: var(--agd-modal-bg);
    backdrop-filter: var(--agd-glass-blur);
}

[data-theme="dark"] .k-dialog-titlebar {
    background: transparent;
    border-bottom: 1px solid var(--agd-border);
}

[data-theme="dark"] .k-dialog-content {
    color: var(--agd-text-primary);
}

/* Non-working hours in scheduler - must be dark */
[data-theme="dark"] .k-scheduler .k-nonwork-hour,
[data-theme="dark"] .k-scheduler-table .k-nonwork-hour,
[data-theme="dark"] .k-scheduler td.k-nonwork-hour {
    background: var(--agd-bg-base) !important;
    background-color: var(--agd-bg-base) !important;
}

/* Working hours in scheduler - slightly lighter */
[data-theme="dark"] .k-scheduler-table td:not(.k-nonwork-hour),
[data-theme="dark"] .k-scheduler td:not(.k-nonwork-hour):not(.k-scheduler-times) {
    background: var(--agd-bg-surface) !important;
}

/* Scheduler times column */
[data-theme="dark"] .k-scheduler-times,
[data-theme="dark"] .k-scheduler-times td,
[data-theme="dark"] .k-scheduler-times th {
    background: var(--agd-bg-elevated) !important;
    border-color: var(--agd-cal-grid-line) !important;
    color: var(--agd-text-secondary) !important;
}

/* Dropdown/Combobox popup - DARK background */
[data-theme="dark"] .k-animation-container,
[data-theme="dark"] .k-animation-container .k-popup,
[data-theme="dark"] .k-list-container,
[data-theme="dark"] .k-list,
[data-theme="dark"] .k-list-content {
    background: var(--agd-bg-elevated) !important;
    background-color: var(--agd-bg-elevated) !important;
    border-color: var(--agd-border) !important;
}

/* Input inner element */
[data-theme="dark"] .k-input-inner,
[data-theme="dark"] .k-input-value-text {
    background: transparent !important;
    color: var(--agd-text-primary) !important;
}

/* Picker wrapper - the container around date/time pickers */
[data-theme="dark"] .k-picker-wrap,
[data-theme="dark"] .k-picker-md,
[data-theme="dark"] .k-picker-solid {
    background: var(--agd-bg-elevated) !important;
    background-color: var(--agd-bg-elevated) !important;
    border-color: var(--agd-input-border) !important;
}

/* Calendar popup (date picker) */
[data-theme="dark"] .k-calendar,
[data-theme="dark"] .k-calendar-container {
    background: var(--agd-bg-elevated) !important;
    border-color: var(--agd-border) !important;
}

[data-theme="dark"] .k-calendar-header,
[data-theme="dark"] .k-calendar-view,
[data-theme="dark"] .k-calendar-table {
    background: var(--agd-bg-elevated) !important;
}

[data-theme="dark"] .k-calendar th,
[data-theme="dark"] .k-calendar td,
[data-theme="dark"] .k-calendar .k-calendar-td {
    color: var(--agd-text-primary) !important;
}

[data-theme="dark"] .k-calendar .k-today .k-link,
[data-theme="dark"] .k-calendar .k-selected .k-link {
    background: var(--agd-primary) !important;
    color: white !important;
}

/* Time picker popup */
[data-theme="dark"] .k-time-list,
[data-theme="dark"] .k-time-container {
    background: var(--agd-bg-elevated) !important;
}

[data-theme="dark"] .k-time-list-wrapper {
    background: var(--agd-bg-elevated) !important;
}

/* Multiselect chip/tag */
[data-theme="dark"] .k-chip,
[data-theme="dark"] .k-chip-solid {
    background: var(--agd-primary) !important;
    border-color: var(--agd-primary) !important;
    color: white !important;
}

/* Context menu */
[data-theme="dark"] .k-menu,
[data-theme="dark"] .k-menu-popup,
[data-theme="dark"] .k-context-menu {
    background: var(--agd-bg-elevated) !important;
    border-color: var(--agd-border) !important;
}

[data-theme="dark"] .k-menu-item,
[data-theme="dark"] .k-menu-item .k-link {
    color: var(--agd-text-primary) !important;
}

[data-theme="dark"] .k-menu-item:hover,
[data-theme="dark"] .k-menu-item.k-hover {
    background: var(--agd-input-bg) !important;
}

/* Numeric textbox buttons */
[data-theme="dark"] .k-spinner-increase,
[data-theme="dark"] .k-spinner-decrease {
    background: var(--agd-bg-elevated) !important;
    border-color: var(--agd-border) !important;
    color: var(--agd-text-primary) !important;
}

[data-theme="dark"] .k-spinner-increase:hover,
[data-theme="dark"] .k-spinner-decrease:hover {
    background: var(--agd-input-focus-bg) !important;
}

/* ===========================================
   TELERIK OVERRIDES - LIGHT THEME
   =========================================== */

[data-theme="light"] .k-scheduler,
[data-theme="light"] .k-window,
[data-theme="light"] .k-dialog {
    background: var(--agd-bg-surface);
    color: var(--agd-text-primary);
}

[data-theme="light"] .k-scheduler-layout {
    background: var(--agd-bg-surface);
}

[data-theme="light"] .k-today {
    background: var(--agd-cal-today-bg) !important;
}

[data-theme="light"] .k-button-solid-primary,
[data-theme="light"] .k-button.k-primary {
    background: var(--agd-primary);
    border-color: var(--agd-primary);
    color: white;
}

[data-theme="light"] .k-window {
    box-shadow: var(--agd-shadow-lg);
}

/* ===========================================
   RESPONSIVE
   =========================================== */

@media (max-width: 768px) {
    .agd-calendar-toolbar {
        padding: 10px 12px;
    }

    .agd-toolbar-center {
        order: 3;
        flex-basis: 100%;
        justify-content: center;
    }

    .agd-agenda-panel {
        width: 220px;
    }

    .agd-agenda-panel.collapsed {
        width: 0;
        border: none;
    }

    .agd-date-display {
        font-size: 1rem;
        min-width: auto;
    }

    .agd-login-card {
        padding: 24px;
    }
}

/* ===========================================
   ANIMATIONS
   =========================================== */

@keyframes agd-fade-in {
    from { opacity: 0; transform: translateY(10px); }
    to { opacity: 1; transform: translateY(0); }
}

.agd-fade-in {
    animation: agd-fade-in 0.3s ease-out;
}

@keyframes agd-pulse {
    0%, 100% { opacity: 1; }
    50% { opacity: 0.5; }
}

.agd-loading {
    animation: agd-pulse 1.5s ease-in-out infinite;
}

/* Theme transition */
* {
    transition: background-color 0.2s ease,
                border-color 0.2s ease,
                box-shadow 0.2s ease;
}

/* Website preview window - no special centering to allow free dragging */
