/*
 * AAI "Option 2" Kendo theme layer (CRS-01 restyle stage R1). Loaded after aai-kendo-theme.css; sits on top of the Telerik bootstrap-main theme.
 * Grid = themed Kendo grid (not a custom table): light #eef0f3 header, hairline rows, white pager with brand-blue selected page.
 * Tokens come from Content/aai-o2.css. Specific selectors, with !important only where the legacy rules (bootstrap5-compat.css long :not() chain,
 * Style.css) use it or out-rank a plain class selector.
 */

/* ---------- Grid ---------- */
body.aai-o2 .k-grid {
    font-family: var(--aai-font); font-size: var(--aai-fs-base); color: var(--aai-text-body); background: #fff;
    border: 1px solid var(--aai-line); border-radius: var(--aai-radius-card); overflow: hidden; box-shadow: none;
}
body.aai-o2 .k-grid .k-grid-header, body.aai-o2 .k-grid .k-grid-header-wrap, body.aai-o2 .k-grid .k-grid-header-table,
body.aai-o2 .k-grid .k-table-thead, body.aai-o2 .k-grid th.k-header, body.aai-o2 .k-grid .k-table-th {
    background-color: var(--aai-table-head); color: #1f2937; border-color: var(--aai-line-soft);
}
body.aai-o2 .k-grid th.k-header, body.aai-o2 .k-grid .k-table-th {
    padding: 0 14px; height: 44px; font-size: var(--aai-fs-base); font-weight: 700; line-height: 1.3; text-align: left !important;
    border-width: 0 0 1px 0; border-style: solid; border-color: var(--aai-line-soft); vertical-align: middle;
}
body.aai-o2 .k-grid .k-grid-header .k-link, body.aai-o2 .k-grid .k-grid-header .k-cell-inner > .k-link, body.aai-o2 .k-grid .k-grid-header th a {
    color: #1f2937; font-weight: 700; justify-content: flex-start; text-decoration: none;
}
body.aai-o2 .k-grid .k-grid-header .k-sort-icon, body.aai-o2 .k-grid .k-grid-header .k-svg-icon { color: #94a3b8; fill: #94a3b8; }
body.aai-o2 .k-grid .k-grid-filter, body.aai-o2 .k-grid .k-header-column-menu { color: #64748b !important; }
body.aai-o2 .k-grid th.gridContent-center, body.aai-o2 .k-grid td.gridContent-center { text-align: center !important; }
/* filter row: white, light controls */
body.aai-o2 .k-filter-row, body.aai-o2 .k-filter-row td, body.aai-o2 .k-filter-row th, body.aai-o2 .k-grid .k-filter-row .k-table-th, body.aai-o2 .k-grid .k-filter-row .k-table-td {
    background-color: #fff; border-color: var(--aai-line-soft); padding: 6px 10px; height: auto;
}
body.aai-o2 .k-filtercell .k-filtercell-wrapper > .k-autocomplete, body.aai-o2 .k-filtercell .k-filtercell-wrapper > .k-input, body.aai-o2 .k-filtercell .k-filtercell-wrapper > .k-textbox {
    height: 30px; min-height: 30px; border: 1px solid var(--aai-line-ctl); border-radius: 4px; background: #fff;
}
body.aai-o2 .k-filtercell .k-filtercell-wrapper input.k-input-inner { color: var(--aai-text-body); font-size: var(--aai-fs-sm); }
body.aai-o2 .k-filtercell span.k-dropdown-operator { border: 1px solid var(--aai-line-ctl) !important; border-radius: 4px; background: #fff !important; height: 30px; min-height: 30px; }
body.aai-o2 .k-filtercell .k-dropdown-operator .k-input-button { background: transparent !important; color: #64748b !important; border: 0 !important; }
body.aai-o2 .k-filtercell .k-dropdown-operator .k-input-button .k-svg-icon, body.aai-o2 .k-filtercell .k-dropdown-operator .k-input-button .k-icon { fill: #64748b !important; color: #64748b !important; }
body.aai-o2 .k-filtercell .k-button[title="Clear"] { border: 1px solid var(--aai-line-ctl) !important; background: #fff !important; color: #64748b !important; border-radius: 4px; height: 30px; width: 30px; }
body.aai-o2 .k-filtercell .k-button[title="Clear"] .k-svg-icon { fill: #64748b; }
body.aai-o2 .k-filtercell label { color: var(--aai-text-body); }
/* body cells */
body.aai-o2 .k-grid td, body.aai-o2 .k-grid .k-table-td {
    padding: 0 14px; height: 40px; font-size: var(--aai-fs-base); line-height: 1.4; color: var(--aai-text-body);
    border-width: 0 0 1px 0; border-style: solid; border-color: var(--aai-line-soft); vertical-align: middle;
}
body.aai-o2 .k-grid tr.k-alt, body.aai-o2 .k-grid .k-table-alt-row { background-color: #fff; }
body.aai-o2 .k-grid tr:hover, body.aai-o2 .k-grid .k-table-row:hover { background-color: var(--aai-surface-alt); }
body.aai-o2 .k-grid tr.k-selected, body.aai-o2 .k-grid .k-table-row.k-selected { background-color: var(--aai-brand-soft); color: var(--aai-text); }
body.aai-o2 .k-grid td a, body.aai-o2 .k-grid .k-grid-content td a[style*="underline"] { color: var(--aai-brand); text-decoration: underline; }
body.aai-o2 .k-grid td a:hover { color: var(--aai-brand-hover); }
body.aai-o2 .k-grid .k-grid-content td a[style*="underline"] { color: var(--aai-brand) !important; }
body.aai-o2 .k-grid td .k-button, body.aai-o2 .k-grid td .btn { min-height: 28px; }
body.aai-o2 .k-grid-norecords { color: var(--aai-text-muted); padding: 24px 0; }
body.aai-o2 .k-grid-toolbar, body.aai-o2 .k-toolbar { background: #fff; border-color: var(--aai-line-soft); }

/* ---------- Pager: white bar, brand-blue selected page ---------- */
body.aai-o2 .k-pager, body.aai-o2 .k-grid-pager {
    background-color: #fff; color: var(--aai-text-muted); border-top: 1px solid var(--aai-line-soft); min-height: 56px; padding: 8px 16px; font-size: var(--aai-fs-base);
}
body.aai-o2 .k-pager .k-pager-info, body.aai-o2 .k-pager .k-pager-input { color: var(--aai-text-muted); font-size: var(--aai-fs-base); }
body.aai-o2 .k-pager .k-pager-nav, body.aai-o2 .k-pager .k-pager-first, body.aai-o2 .k-pager .k-pager-last, body.aai-o2 .k-pager .k-pager-numbers .k-button {
    color: var(--aai-text-muted); min-width: 32px; height: 32px; border-radius: var(--aai-radius-ctl);
}
body.aai-o2 .k-pager .k-pager-nav .k-svg-icon, body.aai-o2 .k-pager .k-button .k-svg-icon, body.aai-o2 .k-pager .k-icon { fill: var(--aai-text-muted); color: var(--aai-text-muted); }
body.aai-o2 .k-pager .k-pager-nav:hover:not(.k-disabled), body.aai-o2 .k-pager .k-button:hover:not(.k-disabled):not(.k-selected), body.aai-o2 .k-pager .k-pager-numbers .k-button:hover:not(.k-disabled):not(.k-selected) { background: var(--aai-brand-soft); color: var(--aai-brand); }
body.aai-o2 .k-pager .k-pager-numbers .k-button.k-button-flat { color: var(--aai-text-muted) !important; background: transparent !important; border: 0 !important; }
body.aai-o2 .k-pager .k-pager-numbers .k-selected, body.aai-o2 .k-pager .k-pager-numbers .k-button.k-selected, body.aai-o2 .k-pager .k-pager-numbers .k-button.k-button-flat.k-selected {
    background-color: var(--aai-brand) !important; color: #fff !important; font-weight: 700;
}
body.aai-o2 .k-pager .k-pager-sizes .k-picker.k-dropdownlist {
    background-color: #fff !important; border: 1px solid var(--aai-line-ctl) !important; color: var(--aai-text) !important; border-radius: var(--aai-radius-ctl); height: 32px; min-height: 32px;
}
body.aai-o2 .k-pager .k-pager-sizes .k-input-inner, body.aai-o2 .k-pager .k-pager-sizes .k-input-value-text { color: var(--aai-text) !important; padding: 0 8px; }
body.aai-o2 .k-pager .k-pager-sizes .k-input-button.k-button { background: transparent !important; border: 0 !important; color: var(--aai-text-muted) !important; }
body.aai-o2 .k-pager .k-pager-sizes .k-input-button .k-svg-icon { fill: var(--aai-text-muted); color: var(--aai-text-muted); }
body.aai-o2 .k-pager .k-pager-input input, body.aai-o2 .k-pager .k-numerictextbox .k-input-inner { color: var(--aai-text); background: #fff; }

/* ---------- Buttons ---------- */
body.aai-o2 .k-button { font-family: var(--aai-font); font-size: var(--aai-fs-base); font-weight: 600; border-radius: var(--aai-radius-ctl); }
body.aai-o2 button.k-button.k-primary, body.aai-o2 .k-button.k-primary, body.aai-o2 .k-button.k-button-solid-primary, body.aai-o2 a.k-primary {
    min-height: var(--aai-ctl-h); padding: 0 20px; font-size: var(--aai-fs-base); font-weight: 600; gap: 6px;
    color: #fff; background-color: var(--aai-brand); background-image: none; border: 1px solid var(--aai-brand); border-radius: var(--aai-radius-ctl);
}
body.aai-o2 button.k-button.k-primary:hover, body.aai-o2 .k-button.k-primary:hover, body.aai-o2 .k-button.k-button-solid-primary:hover, body.aai-o2 a.k-primary:hover {
    background-color: var(--aai-brand-hover); border-color: var(--aai-brand-hover); color: #fff;
}
/* secondary / default Kendo buttons: outline, white (replaces the dark #363940 button) */
body.aai-o2 .k-button:not(.k-primary):not(.k-button-solid-primary):not(.k-pager-nav):not(.k-pager-refresh):not(.k-input-button):not(.k-icon-button):not(.k-button-flat):not(.k-selected),
body.aai-o2 .k-grid-excel, body.aai-o2 .k-grid-pdf, body.aai-o2 button.k-grid-excel, body.aai-o2 button.k-grid-pdf, body.aai-o2 .k-button:has(.k-i-excel), body.aai-o2 .k-button:has(.k-i-pdf) {
    min-height: var(--aai-ctl-h); padding: 0 16px; display: inline-flex; align-items: center; justify-content: center; gap: 6px;
    color: var(--aai-text) !important; background-color: #fff !important; background-image: none !important; border: 1px solid var(--aai-line-ctl) !important; border-radius: var(--aai-radius-ctl) !important;
    font-size: var(--aai-fs-base); font-weight: 600;
}
body.aai-o2 .k-button:not(.k-primary):not(.k-button-solid-primary):not(.k-pager-nav):not(.k-pager-refresh):not(.k-input-button):not(.k-icon-button):not(.k-button-flat):not(.k-selected):hover,
body.aai-o2 .k-grid-excel:hover, body.aai-o2 .k-grid-pdf:hover, body.aai-o2 button.k-grid-excel:hover, body.aai-o2 button.k-grid-pdf:hover, body.aai-o2 .k-button:has(.k-i-excel):hover, body.aai-o2 .k-button:has(.k-i-pdf):hover {
    color: var(--aai-brand) !important; background-color: var(--aai-surface-alt) !important; border-color: var(--aai-brand) !important;
}
body.aai-o2 .k-grid-excel .k-icon, body.aai-o2 .k-grid-pdf .k-icon, body.aai-o2 .k-grid-excel .k-svg-icon, body.aai-o2 .k-grid-pdf .k-svg-icon { color: currentColor; fill: currentColor; }
body.aai-o2 .k-button.k-button-flat { color: var(--aai-brand); }
body.aai-o2 .k-button.btn-icon, body.aai-o2 .btn-icon.k-button { min-height: 0; padding: 0 6px; }
/* icon-only primary arrow buttons (RankHierarchy btnTop.., ChecklistQuestion btnMove..): the primary rule above must not stretch them to 36 px / 20 px padding */
body.aai-o2 button.k-button.k-primary.btn-icon, body.aai-o2 .k-button.k-primary.btn-icon { min-height: 0; padding: 4px 8px; }
/* icon-only arrow buttons keep the compact legacy box (34 x 26) and still get the light look */
body.aai-o2 button.btn-icon { background: #fff; border: 1px solid var(--aai-line-ctl); color: var(--aai-text); border-radius: var(--aai-radius-ctl); }

/* ---------- Pickers / inputs ---------- */
body.aai-o2 .k-dropdownlist, body.aai-o2 .k-picker, body.aai-o2 .k-combobox, body.aai-o2 .k-datepicker, body.aai-o2 .k-timepicker, body.aai-o2 .k-datetimepicker, body.aai-o2 .k-numerictextbox,
body.aai-o2 .k-textbox, body.aai-o2 .k-input.k-textbox, body.aai-o2 .k-multiselect, body.aai-o2 .k-autocomplete {
    height: var(--aai-ctl-h); min-height: var(--aai-ctl-h); border-radius: var(--aai-radius-ctl); border: 1px solid var(--aai-line-ctl);
    background-color: #fff; font-family: var(--aai-font); font-size: var(--aai-fs-base); line-height: 1.4; box-sizing: border-box; box-shadow: none;
}
body.aai-o2 .k-multiselect { height: auto; max-height: 150px; }
body.aai-o2 .k-dropdownlist:not(.k-dropdown-operator):not(.k-pager-sizes .k-dropdownlist), body.aai-o2 .k-picker.k-dropdownlist:not(.k-dropdown-operator):not(.k-pager-sizes .k-picker) {
    background-color: #fff; color: var(--aai-text); border: 1px solid var(--aai-line-ctl);
}
body.aai-o2 .k-dropdownlist .k-input-inner, body.aai-o2 .k-picker .k-input-inner, body.aai-o2 .k-combobox .k-input-inner, body.aai-o2 .k-datepicker .k-input-inner, body.aai-o2 .k-timepicker .k-input-inner,
body.aai-o2 .k-datetimepicker .k-input-inner, body.aai-o2 .k-numerictextbox .k-input-inner, body.aai-o2 .k-textbox .k-input-inner, body.aai-o2 .k-multiselect .k-input-inner, body.aai-o2 .k-autocomplete .k-input-inner,
body.aai-o2 .k-dropdownlist:not(.k-dropdown-operator):not(.k-pager-sizes .k-dropdownlist) .k-input-inner, body.aai-o2 .k-dropdownlist:not(.k-dropdown-operator):not(.k-pager-sizes .k-dropdownlist) .k-input-value-text {
    padding: 6px 12px; font-size: var(--aai-fs-base); color: var(--aai-text); line-height: 1.4; font-family: var(--aai-font);
}
body.aai-o2 .k-datepicker, body.aai-o2 .k-timepicker, body.aai-o2 .k-datetimepicker, body.aai-o2 .k-multiselect { color: var(--aai-text); }
body.aai-o2 .k-dropdownlist:not(.k-dropdown-operator):not(.k-pager-sizes .k-dropdownlist) .k-input-button, body.aai-o2 .k-datepicker .k-input-button, body.aai-o2 .k-timepicker .k-input-button,
body.aai-o2 .k-datetimepicker .k-input-button, body.aai-o2 .k-combobox .k-input-button, body.aai-o2 .k-numerictextbox .k-input-spinner .k-button {
    background-color: transparent !important; background-image: none !important; color: var(--aai-text-muted) !important; border: 0 !important; border-left: 0;
}
body.aai-o2 .k-dropdownlist:not(.k-dropdown-operator):not(.k-pager-sizes .k-dropdownlist) .k-input-button .k-svg-icon, body.aai-o2 .k-datepicker .k-input-button .k-svg-icon, body.aai-o2 .k-timepicker .k-input-button .k-svg-icon,
body.aai-o2 .k-datetimepicker .k-input-button .k-svg-icon, body.aai-o2 .k-datepicker .k-input-button .k-icon, body.aai-o2 .k-timepicker .k-input-button .k-icon, body.aai-o2 .k-combobox .k-input-button .k-svg-icon {
    fill: var(--aai-text-muted); color: var(--aai-text-muted);
}
body.aai-o2 .k-dropdownlist:focus-within, body.aai-o2 .k-picker:focus-within, body.aai-o2 .k-combobox:focus-within, body.aai-o2 .k-datepicker:focus-within, body.aai-o2 .k-timepicker:focus-within,
body.aai-o2 .k-numerictextbox:focus-within, body.aai-o2 .k-textbox:focus-within, body.aai-o2 .k-multiselect:focus-within, body.aai-o2 .k-autocomplete:focus-within {
    border-color: var(--aai-brand); box-shadow: 0 0 0 3px var(--aai-brand-ring);
}
body.aai-o2 .k-input.k-disabled, body.aai-o2 .k-disabled.k-picker, body.aai-o2 .k-dropdownlist.k-disabled { background-color: #f1f5f9 !important; opacity: 1; }
body.aai-o2 .k-multiselect .k-chip { background: var(--aai-brand-soft); color: var(--aai-brand); border-color: transparent; border-radius: var(--aai-radius-pill); }
body.aai-o2 .k-checkbox:checked, body.aai-o2 .k-radio:checked { background-color: var(--aai-brand); border-color: var(--aai-brand); }

/* popups / lists / calendar */
body.aai-o2 .k-popup, body.aai-o2 .k-list-container { border: 1px solid var(--aai-line); border-radius: var(--aai-radius-card); box-shadow: var(--aai-shadow-pop); font-family: var(--aai-font); font-size: var(--aai-fs-base); }
body.aai-o2 .k-list .k-list-item:hover, body.aai-o2 .k-list-item.k-hover { background: var(--aai-brand-soft); color: var(--aai-brand); }
body.aai-o2 .k-list .k-list-item.k-selected { background: var(--aai-brand); color: #fff; }
body.aai-o2 .k-calendar .k-calendar-header, body.aai-o2 .k-calendar .k-header { background-color: #fff; color: var(--aai-text); }
body.aai-o2 .k-calendar .k-calendar-header .k-button { color: var(--aai-text) !important; background: transparent !important; border: 0 !important; }
body.aai-o2 .k-calendar td.k-selected, body.aai-o2 .k-calendar .k-calendar-td.k-selected .k-link { background-color: var(--aai-brand); color: #fff; }
body.aai-o2 .k-calendar .k-calendar-td.k-today .k-link { color: var(--aai-brand); }

/* ---------- Kendo window (modal) ---------- */
body.aai-o2 .k-window { border: 1px solid var(--aai-line); border-radius: var(--aai-radius-card); box-shadow: var(--aai-shadow-pop); font-family: var(--aai-font); overflow: hidden; }
body.aai-o2 .k-window-titlebar { background-color: #fff; color: var(--aai-text); border-bottom: 1px solid var(--aai-line); padding: 14px 20px; }
body.aai-o2 .k-window-title { color: var(--aai-text); font-weight: 700; font-size: var(--aai-fs-lg); }
body.aai-o2 .k-window-titlebar .k-window-actions .k-button, body.aai-o2 .k-window-titlebar .k-window-action { color: #475569 !important; background: transparent !important; border: 0 !important; }
body.aai-o2 .k-window-content { padding: 18px 20px; }

/* ---------- Tabs, tooltips, progress, notifications ---------- */
body.aai-o2 .k-tabstrip-items .k-item { font-weight: 600; color: var(--aai-text-muted); }
body.aai-o2 .k-tabstrip-items .k-item.k-active, body.aai-o2 .k-tabstrip-items .k-item.k-state-active { color: var(--aai-brand); border-color: var(--aai-brand); }
body.aai-o2 .k-tooltip { background: #0f172a; color: #fff; border-radius: 6px; font-family: var(--aai-font); }
body.aai-o2 .k-loading-mask .k-loading-color { background-color: rgba(255, 255, 255, .6); }
body.aai-o2 .k-notification { border-radius: var(--aai-radius-card); font-family: var(--aai-font); }
body.aai-o2 .k-chart, body.aai-o2 .k-chart text { font-family: var(--aai-font); }

/* ---------- converted anchors (button-parity.spec): the <button class="aai-link-button|aai-plain-button"> twins of grid anchors keep the anchor colours ---------- */
body.aai-o2 .k-grid td button.aai-link-button, body.aai-o2 .k-grid td button.aai-plain-button { color: var(--aai-brand); }
body.aai-o2 .k-grid td button.aai-link-button:hover, body.aai-o2 .k-grid td button.aai-plain-button:hover { color: var(--aai-brand-hover); }
body.aai-o2 .k-grid button.aai-plain-button[style*="underline"] { color: var(--aai-brand); }
