@charset "UTF-8";
/*!
 * Nova Theme Style for AUIGrid v3.0.19.2
 *
 * 해당 원본을 직접 수정하지 마시고, 복사하여 사용하거나, CSS 클래스 재정의를 하여 스타일을 변경하십시오.
 * (DO NOT EDIT THIS FILE DIRECTLY. OVERRIDE CSS CLASSES OR COPY THIS FILE TO MAKE YOUR OWN.)
 *
 * Copyright © AUISoft Co., Ltd.
 * www.auisoft.net
 */

/* ==========================================================================
   1. 디자인 토큰 - 기본(라이트)
   --------------------------------------------------------------------------
   사용 예) 브랜드 색상 변경
     :root { --aui-accent: #0ea5e9; }
   사용 예) 특정 그리드만 변경
     #grid_wrap { --aui-accent: #16a34a; --aui-grid-radius: 0; }
   ========================================================================== */
:root {
	--aui-font: 'Malgun Gothic', '맑은 고딕', AppleSDGothicNeo-Light, sans-serif;
	--aui-font-size: 12px;
	--aui-color-scheme: light;

	/* 브랜드 색상 */
	--aui-accent: #4f46e5;
	--aui-accent-contrast: #ffffff;

	/* 표면(배경) */
	--aui-surface: #ffffff;
	--aui-surface-alt: #fafbfc;
	--aui-surface-2: #f7f8fa;
	--aui-surface-3: #f0f2f5;
	--aui-hover: #eef1f6;

	/* 텍스트 */
	--aui-text: #1e293b;
	--aui-text-strong: #0f172a;
	--aui-text-muted: #64748b;
	--aui-text-subtle: #94a3b8;

	/* 선 */
	--aui-border: #e2e6ec;
	--aui-border-strong: #cfd5de;
	--aui-line: #edf0f4;

	/* 상태 색상 */
	--aui-success: #10b981;
	--aui-danger: #e5484d;
	--aui-warning: #f59e0b;
	--aui-sunday: #e5484d;
	--aui-saturday: #3b82f6;

	/* 헤더 / 푸터 */
	--aui-header-bg: #f7f8fa;
	--aui-header-hover-bg: #eff1f5;
	--aui-header-text: #334155;
	--aui-footer-bg: #f7f8fa;

	/* 스크롤 */
	--aui-scroll-track: #ffffff;
	--aui-scroll-thumb: #d3d9e1;
	--aui-scroll-thumb-hover: #aeb7c4;

	/* 툴팁 */
	--aui-tooltip-bg: #1e293b;
	--aui-tooltip-text: #f8fafc;

	/* 모양 */
	--aui-grid-radius: 10px;
	--aui-radius: 8px;
	--aui-radius-sm: 6px;
	--aui-grid-shadow: 0 1px 2px rgba(15, 23, 42, 0.04), 0 1px 3px rgba(15, 23, 42, 0.03);
	--aui-popup-shadow: 0 12px 32px -6px rgba(15, 23, 42, 0.16), 0 4px 8px -2px rgba(15, 23, 42, 0.06);
	--aui-backdrop: rgba(15, 23, 42, 0.32);

	/* 아이콘 (라이트) */
	--aui-ico-chevron-up: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 15l6-6 6 6'/%3E%3C/svg%3E");
	--aui-ico-chevron-down: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
	--aui-ico-chevron-left: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 6l-6 6 6 6'/%3E%3C/svg%3E");
	--aui-ico-chevron-right: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 6l6 6-6 6'/%3E%3C/svg%3E");
	--aui-ico-chevrons-left: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M11 17l-5-5 5-5M18 17l-5-5 5-5'/%3E%3C/svg%3E");
	--aui-ico-chevrons-right: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M13 17l5-5-5-5M6 17l5-5-5-5'/%3E%3C/svg%3E");
	--aui-ico-tree-collapsed: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23475569' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9.5 7l5 5-5 5'/%3E%3C/svg%3E");
	--aui-ico-tree-expanded: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23475569' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 9.5l5 5 5-5'/%3E%3C/svg%3E");
	--aui-ico-caret-up: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 6'%3E%3Cpath d='M5 .8 9.2 5.2H.8z' fill='%2364748b' stroke='%2364748b' stroke-width='1' stroke-linejoin='round'/%3E%3C/svg%3E");
	--aui-ico-caret-down: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 6'%3E%3Cpath d='M.8 .8h8.4L5 5.2z' fill='%2364748b' stroke='%2364748b' stroke-width='1' stroke-linejoin='round'/%3E%3C/svg%3E");
	--aui-ico-caret-left: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 6 10'%3E%3Cpath d='M5.2.8v8.4L.8 5z' fill='%2364748b' stroke='%2364748b' stroke-width='1' stroke-linejoin='round'/%3E%3C/svg%3E");
	--aui-ico-caret-right: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 6 10'%3E%3Cpath d='M.8.8 5.2 5 .8 9.2z' fill='%2364748b' stroke='%2364748b' stroke-width='1' stroke-linejoin='round'/%3E%3C/svg%3E");
	--aui-ico-sort-asc: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 6'%3E%3Cpath d='M5 .8 9.2 5.2H.8z' fill='%234f46e5' stroke='%234f46e5' stroke-width='1' stroke-linejoin='round'/%3E%3C/svg%3E");
	--aui-ico-sort-desc: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 6'%3E%3Cpath d='M.8 .8h8.4L5 5.2z' fill='%234f46e5' stroke='%234f46e5' stroke-width='1' stroke-linejoin='round'/%3E%3C/svg%3E");
	--aui-ico-filter: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 5h16l-6.2 7.4V18l-3.6 1.8v-7.4z'/%3E%3C/svg%3E");
	--aui-ico-filter-on: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' %3E%3Cpath d='M4 5h16l-6.2 7.4V18l-3.6 1.8v-7.4z' fill='%23ffffff' stroke='%23ffffff' stroke-width='1.6' stroke-linejoin='round'/%3E%3C/svg%3E");
	--aui-ico-search: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='6.5'/%3E%3Cpath d='M20 20l-4.2-4.2'/%3E%3C/svg%3E");
	--aui-ico-close: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 7l10 10M17 7L7 17'/%3E%3C/svg%3E");
	--aui-ico-clear: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' %3E%3Ccircle cx='12' cy='12' r='9' fill='%23a3aebd'/%3E%3Cpath d='M9 9l6 6M15 9l-6 6' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
	--aui-ico-check-white: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5.5 12.5l4 4 9-9'/%3E%3C/svg%3E");
	--aui-ico-dash-white: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 12h10'/%3E%3C/svg%3E");
	--aui-ico-check-accent: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%234f46e5' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5.5 12.5l4 4 9-9'/%3E%3C/svg%3E");
	--aui-ico-folder: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' %3E%3Cpath d='M3.5 7.2c0-1 .8-1.7 1.7-1.7h3.9l2 2h7.7c1 0 1.7.8 1.7 1.7v7.6c0 1-.8 1.7-1.7 1.7H5.2c-1 0-1.7-.8-1.7-1.7z' fill='%23e9e8fd' stroke='%236760e8' stroke-width='1.6' stroke-linejoin='round'/%3E%3C/svg%3E");
	--aui-ico-folder-open: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' %3E%3Cpath d='M3.5 17V7.2c0-1 .8-1.7 1.7-1.7h3.9l2 2h6.7c1 0 1.7.8 1.7 1.7v1.3' fill='none' stroke='%236760e8' stroke-width='1.6' stroke-linejoin='round'/%3E%3Cpath d='M3.5 18.5l2.3-6.6c.2-.6.8-1 1.4-1h13.1c.6 0 1 .6.8 1.2l-2 5.3c-.2.6-.8 1.1-1.5 1.1z' fill='%23e9e8fd' stroke='%236760e8' stroke-width='1.6' stroke-linejoin='round'/%3E%3C/svg%3E");
	--aui-ico-help: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' %3E%3Ccircle cx='12' cy='12' r='9.5' fill='%23a3aebd'/%3E%3Cpath d='M9.4 9.3a2.7 2.7 0 1 1 3.8 2.5c-.7.3-1.2.9-1.2 1.6v.4' fill='none' stroke='%23ffffff' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3Ccircle cx='12' cy='17.2' r='1.3' fill='%23ffffff'/%3E%3C/svg%3E");
	--aui-ico-empty: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23a3aebd' stroke-width='1.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2.5 13.5h5.2l1.6 2.6h5.4l1.6-2.6h5.2'/%3E%3Cpath d='M5.6 5.5h12.8l3.1 8v4.8c0 1.2-1 2.2-2.2 2.2H4.7c-1.2 0-2.2-1-2.2-2.2v-4.8z'/%3E%3C/svg%3E");
	--aui-ico-spinner: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 40'%3E%3Ccircle cx='20' cy='20' r='16.5' fill='none' stroke='%23e5e8ee' stroke-width='3.5'/%3E%3Cpath d='M20 3.5a16.5 16.5 0 0 1 16.5 16.5' fill='none' stroke='%234f46e5' stroke-width='3.5' stroke-linecap='round'%3E%3CanimateTransform attributeName='transform' type='rotate' from='0 20 20' to='360 20 20' dur='0.75s' repeatCount='indefinite'/%3E%3C/path%3E%3C/svg%3E");
	--aui-ico-spinner-sm: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Ccircle cx='8' cy='8' r='6' fill='none' stroke='%23e5e8ee' stroke-width='2'/%3E%3Cpath d='M8 2a6 6 0 0 1 6 6' fill='none' stroke='%234f46e5' stroke-width='2' stroke-linecap='round'%3E%3CanimateTransform attributeName='transform' type='rotate' from='0 8 8' to='360 8 8' dur='0.75s' repeatCount='indefinite'/%3E%3C/path%3E%3C/svg%3E");
	--aui-ico-process: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 88 88'%3E%3Cdefs%3E%3Cfilter id='s' x='-30%25' y='-30%25' width='160%25' height='160%25'%3E%3CfeDropShadow dx='0' dy='6' stdDeviation='6' flood-color='%230f172a' flood-opacity='0.18'/%3E%3C/filter%3E%3C/defs%3E%3Crect x='12' y='10' width='64' height='64' rx='16' fill='%23ffffff' stroke='%23e2e6ec' filter='url(%23s)'/%3E%3Ccircle cx='44' cy='42' r='12' fill='none' stroke='%23e5e8ee' stroke-width='3.5'/%3E%3Cpath d='M44 30a12 12 0 0 1 12 12' fill='none' stroke='%234f46e5' stroke-width='3.5' stroke-linecap='round'%3E%3CanimateTransform attributeName='transform' type='rotate' from='0 44 42' to='360 44 42' dur='0.75s' repeatCount='indefinite'/%3E%3C/path%3E%3C/svg%3E");
	--aui-ico-grip: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23a3aebd'%3E%3Ccircle cx='9' cy='6' r='1.6'/%3E%3Ccircle cx='15' cy='6' r='1.6'/%3E%3Ccircle cx='9' cy='12' r='1.6'/%3E%3Ccircle cx='15' cy='12' r='1.6'/%3E%3Ccircle cx='9' cy='18' r='1.6'/%3E%3Ccircle cx='15' cy='18' r='1.6'/%3E%3C/svg%3E");
	--aui-ico-resizer: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8' fill='%23a3aebd'%3E%3Ccircle cx='6.5' cy='6.5' r='1'/%3E%3Ccircle cx='6.5' cy='3' r='1'/%3E%3Ccircle cx='3' cy='6.5' r='1'/%3E%3C/svg%3E");
	--aui-ico-accept-ok: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' %3E%3Ccircle cx='12' cy='12' r='9' fill='%2310b981'/%3E%3Cpath d='M8 12.3l2.7 2.7L16 9.7' fill='none' stroke='%23ffffff' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
	--aui-ico-accept-not: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' %3E%3Ccircle cx='12' cy='12' r='9' fill='%23e5484d'/%3E%3Cpath d='M9.2 9.2l5.6 5.6M14.8 9.2l-5.6 5.6' fill='none' stroke='%23ffffff' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
	--aui-ico-state-current: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' %3E%3Cpath d='M9 6.5l7 5.5-7 5.5z' fill='%234f46e5' stroke='%234f46e5' stroke-width='1.5' stroke-linejoin='round'/%3E%3C/svg%3E");
	--aui-ico-state-added: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' %3E%3Ccircle cx='12' cy='12' r='8' fill='%2310b981'/%3E%3Cpath d='M12 8.5v7M8.5 12h7' fill='none' stroke='%23ffffff' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
	--aui-ico-state-removed: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' %3E%3Ccircle cx='12' cy='12' r='8' fill='%23e5484d'/%3E%3Cpath d='M8.5 12h7' fill='none' stroke='%23ffffff' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
	--aui-ico-state-edited: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' %3E%3Ccircle cx='12' cy='12' r='8' fill='%23f59e0b'/%3E%3Cpath d='M9 15.2l.5-2.3 4.6-4.6 1.8 1.8-4.6 4.6z' fill='%23ffffff' stroke='%23ffffff' stroke-width='1' stroke-linejoin='round'/%3E%3C/svg%3E");
	--aui-ico-state-added-edited: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' %3E%3Ccircle cx='12' cy='12' r='8' fill='%2310b981'/%3E%3Cpath d='M9 15.2l.5-2.3 4.6-4.6 1.8 1.8-4.6 4.6z' fill='%23ffffff' stroke='%23ffffff' stroke-width='1' stroke-linejoin='round'/%3E%3Ccircle cx='18.5' cy='5.5' r='3.2' fill='%23f59e0b' stroke='%23ffffff' stroke-width='1.5'/%3E%3C/svg%3E");
	--aui-ico-ed-pad: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%2364748b'%3E%3Ccircle cx='6' cy='12' r='1.6'/%3E%3Ccircle cx='12' cy='12' r='1.6'/%3E%3Ccircle cx='18' cy='12' r='1.6'/%3E%3C/svg%3E");
	--aui-ico-ed-input: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 7V5.5h14V7M12 5.5v13M9.5 18.5h5'/%3E%3C/svg%3E");
	--aui-ico-ed-list: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 7h11M9 12h11M9 17h11'/%3E%3Cpath d='M4.5 7h.01M4.5 12h.01M4.5 17h.01' stroke-width='3'/%3E%3C/svg%3E");
	--aui-ico-ed-calendar: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4' y='5.5' width='16' height='14' rx='2.5'/%3E%3Cpath d='M4 10h16M8.5 3.5v4M15.5 3.5v4'/%3E%3C/svg%3E");

	/* 파생 토큰 (그리드·팝업 루트에서도 다시 계산됨) */
	--aui-accent-hover: color-mix(in srgb, var(--aui-accent) 86%, #000000);
	--aui-accent-soft: color-mix(in srgb, var(--aui-accent) 8%, var(--aui-surface));
	--aui-accent-soft-2: color-mix(in srgb, var(--aui-accent) 15%, var(--aui-surface));
	--aui-accent-text: color-mix(in srgb, var(--aui-accent) 72%, var(--aui-text-strong));
	--aui-focus-ring: color-mix(in srgb, var(--aui-accent) 24%, transparent);
	--aui-checked-row-bg: color-mix(in srgb, var(--aui-accent) 5%, var(--aui-surface));
}

/* ==========================================================================
   2. 디자인 토큰 - 다크 모드
   --------------------------------------------------------------------------
   <html data-aui-theme="dark"> 처럼 상위 요소에 지정하십시오.
   (필터, 컨텍스트 메뉴, 달력 등 팝업 레이어는 body 에 추가되므로 html 또는 body 에 지정을 권장합니다.)
   ========================================================================== */
[data-aui-theme='dark'] {
	--aui-color-scheme: dark;

	--aui-accent: #6e6af0;
	--aui-accent-contrast: #ffffff;

	--aui-surface: #18191d;
	--aui-surface-alt: #1b1c21;
	--aui-surface-2: #202227;
	--aui-surface-3: #2a2c33;
	--aui-hover: #2a2c33;

	--aui-text: #dfe2e8;
	--aui-text-strong: #f5f6f8;
	--aui-text-muted: #9aa1ad;
	--aui-text-subtle: #6b7280;

	--aui-border: #2c2f36;
	--aui-border-strong: #3a3e46;
	--aui-line: #25272d;

	--aui-success: #22c08a;
	--aui-danger: #f0616a;
	--aui-warning: #f5a524;
	--aui-sunday: #f0616a;
	--aui-saturday: #60a5fa;

	--aui-header-bg: #1f2126;
	--aui-header-hover-bg: #272a30;
	--aui-header-text: #c5cad3;
	--aui-footer-bg: #1f2126;

	--aui-scroll-track: #18191d;
	--aui-scroll-thumb: #3a3e46;
	--aui-scroll-thumb-hover: #555a64;

	--aui-tooltip-bg: #3a3d45;
	--aui-tooltip-text: #f5f6f8;

	--aui-grid-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
	--aui-popup-shadow: 0 16px 40px -8px rgba(0, 0, 0, 0.6), 0 4px 10px -2px rgba(0, 0, 0, 0.35);
	--aui-backdrop: rgba(0, 0, 0, 0.55);

	/* 아이콘 (다크) */
	--aui-ico-chevron-up: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%239aa1ad' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 15l6-6 6 6'/%3E%3C/svg%3E");
	--aui-ico-chevron-down: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%239aa1ad' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
	--aui-ico-chevron-left: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%239aa1ad' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 6l-6 6 6 6'/%3E%3C/svg%3E");
	--aui-ico-chevron-right: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%239aa1ad' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 6l6 6-6 6'/%3E%3C/svg%3E");
	--aui-ico-chevrons-left: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%239aa1ad' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M11 17l-5-5 5-5M18 17l-5-5 5-5'/%3E%3C/svg%3E");
	--aui-ico-chevrons-right: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%239aa1ad' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M13 17l5-5-5-5M6 17l5-5-5-5'/%3E%3C/svg%3E");
	--aui-ico-tree-collapsed: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23c5cad3' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9.5 7l5 5-5 5'/%3E%3C/svg%3E");
	--aui-ico-tree-expanded: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23c5cad3' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 9.5l5 5 5-5'/%3E%3C/svg%3E");
	--aui-ico-caret-up: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 6'%3E%3Cpath d='M5 .8 9.2 5.2H.8z' fill='%239aa1ad' stroke='%239aa1ad' stroke-width='1' stroke-linejoin='round'/%3E%3C/svg%3E");
	--aui-ico-caret-down: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 6'%3E%3Cpath d='M.8 .8h8.4L5 5.2z' fill='%239aa1ad' stroke='%239aa1ad' stroke-width='1' stroke-linejoin='round'/%3E%3C/svg%3E");
	--aui-ico-caret-left: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 6 10'%3E%3Cpath d='M5.2.8v8.4L.8 5z' fill='%239aa1ad' stroke='%239aa1ad' stroke-width='1' stroke-linejoin='round'/%3E%3C/svg%3E");
	--aui-ico-caret-right: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 6 10'%3E%3Cpath d='M.8.8 5.2 5 .8 9.2z' fill='%239aa1ad' stroke='%239aa1ad' stroke-width='1' stroke-linejoin='round'/%3E%3C/svg%3E");
	--aui-ico-sort-asc: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 6'%3E%3Cpath d='M5 .8 9.2 5.2H.8z' fill='%238b87f5' stroke='%238b87f5' stroke-width='1' stroke-linejoin='round'/%3E%3C/svg%3E");
	--aui-ico-sort-desc: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 6'%3E%3Cpath d='M.8 .8h8.4L5 5.2z' fill='%238b87f5' stroke='%238b87f5' stroke-width='1' stroke-linejoin='round'/%3E%3C/svg%3E");
	--aui-ico-filter: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%239aa1ad' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 5h16l-6.2 7.4V18l-3.6 1.8v-7.4z'/%3E%3C/svg%3E");
	--aui-ico-filter-on: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' %3E%3Cpath d='M4 5h16l-6.2 7.4V18l-3.6 1.8v-7.4z' fill='%23ffffff' stroke='%23ffffff' stroke-width='1.6' stroke-linejoin='round'/%3E%3C/svg%3E");
	--aui-ico-search: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%239aa1ad' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='6.5'/%3E%3Cpath d='M20 20l-4.2-4.2'/%3E%3C/svg%3E");
	--aui-ico-close: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%239aa1ad' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 7l10 10M17 7L7 17'/%3E%3C/svg%3E");
	--aui-ico-clear: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' %3E%3Ccircle cx='12' cy='12' r='9' fill='%236b7280'/%3E%3Cpath d='M9 9l6 6M15 9l-6 6' fill='none' stroke='%2318191d' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
	--aui-ico-check-white: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5.5 12.5l4 4 9-9'/%3E%3C/svg%3E");
	--aui-ico-dash-white: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 12h10'/%3E%3C/svg%3E");
	--aui-ico-check-accent: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238b87f5' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5.5 12.5l4 4 9-9'/%3E%3C/svg%3E");
	--aui-ico-folder: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' %3E%3Cpath d='M3.5 7.2c0-1 .8-1.7 1.7-1.7h3.9l2 2h7.7c1 0 1.7.8 1.7 1.7v7.6c0 1-.8 1.7-1.7 1.7H5.2c-1 0-1.7-.8-1.7-1.7z' fill='%232d2b5c' stroke='%23a09cf7' stroke-width='1.6' stroke-linejoin='round'/%3E%3C/svg%3E");
	--aui-ico-folder-open: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' %3E%3Cpath d='M3.5 17V7.2c0-1 .8-1.7 1.7-1.7h3.9l2 2h6.7c1 0 1.7.8 1.7 1.7v1.3' fill='none' stroke='%23a09cf7' stroke-width='1.6' stroke-linejoin='round'/%3E%3Cpath d='M3.5 18.5l2.3-6.6c.2-.6.8-1 1.4-1h13.1c.6 0 1 .6.8 1.2l-2 5.3c-.2.6-.8 1.1-1.5 1.1z' fill='%232d2b5c' stroke='%23a09cf7' stroke-width='1.6' stroke-linejoin='round'/%3E%3C/svg%3E");
	--aui-ico-leaf: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' %3E%3Ccircle cx='12' cy='12' r='3' fill='%236b7280'/%3E%3C/svg%3E");
	--aui-ico-help: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' %3E%3Ccircle cx='12' cy='12' r='9.5' fill='%236b7280'/%3E%3Cpath d='M9.4 9.3a2.7 2.7 0 1 1 3.8 2.5c-.7.3-1.2.9-1.2 1.6v.4' fill='none' stroke='%2318191d' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3Ccircle cx='12' cy='17.2' r='1.3' fill='%2318191d'/%3E%3C/svg%3E");
	--aui-ico-empty: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='1.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2.5 13.5h5.2l1.6 2.6h5.4l1.6-2.6h5.2'/%3E%3Cpath d='M5.6 5.5h12.8l3.1 8v4.8c0 1.2-1 2.2-2.2 2.2H4.7c-1.2 0-2.2-1-2.2-2.2v-4.8z'/%3E%3C/svg%3E");
	--aui-ico-spinner: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 40'%3E%3Ccircle cx='20' cy='20' r='16.5' fill='none' stroke='%2334373f' stroke-width='3.5'/%3E%3Cpath d='M20 3.5a16.5 16.5 0 0 1 16.5 16.5' fill='none' stroke='%238b87f5' stroke-width='3.5' stroke-linecap='round'%3E%3CanimateTransform attributeName='transform' type='rotate' from='0 20 20' to='360 20 20' dur='0.75s' repeatCount='indefinite'/%3E%3C/path%3E%3C/svg%3E");
	--aui-ico-spinner-sm: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Ccircle cx='8' cy='8' r='6' fill='none' stroke='%2334373f' stroke-width='2'/%3E%3Cpath d='M8 2a6 6 0 0 1 6 6' fill='none' stroke='%238b87f5' stroke-width='2' stroke-linecap='round'%3E%3CanimateTransform attributeName='transform' type='rotate' from='0 8 8' to='360 8 8' dur='0.75s' repeatCount='indefinite'/%3E%3C/path%3E%3C/svg%3E");
	--aui-ico-process: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 88 88'%3E%3Cdefs%3E%3Cfilter id='s' x='-30%25' y='-30%25' width='160%25' height='160%25'%3E%3CfeDropShadow dx='0' dy='6' stdDeviation='6' flood-color='%230f172a' flood-opacity='0.6'/%3E%3C/filter%3E%3C/defs%3E%3Crect x='12' y='10' width='64' height='64' rx='16' fill='%23202227' stroke='%2334373f' filter='url(%23s)'/%3E%3Ccircle cx='44' cy='42' r='12' fill='none' stroke='%2334373f' stroke-width='3.5'/%3E%3Cpath d='M44 30a12 12 0 0 1 12 12' fill='none' stroke='%238b87f5' stroke-width='3.5' stroke-linecap='round'%3E%3CanimateTransform attributeName='transform' type='rotate' from='0 44 42' to='360 44 42' dur='0.75s' repeatCount='indefinite'/%3E%3C/path%3E%3C/svg%3E");
	--aui-ico-grip: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%236b7280'%3E%3Ccircle cx='9' cy='6' r='1.6'/%3E%3Ccircle cx='15' cy='6' r='1.6'/%3E%3Ccircle cx='9' cy='12' r='1.6'/%3E%3Ccircle cx='15' cy='12' r='1.6'/%3E%3Ccircle cx='9' cy='18' r='1.6'/%3E%3Ccircle cx='15' cy='18' r='1.6'/%3E%3C/svg%3E");
	--aui-ico-resizer: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8' fill='%236b7280'%3E%3Ccircle cx='6.5' cy='6.5' r='1'/%3E%3Ccircle cx='6.5' cy='3' r='1'/%3E%3Ccircle cx='3' cy='6.5' r='1'/%3E%3C/svg%3E");
	--aui-ico-accept-ok: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' %3E%3Ccircle cx='12' cy='12' r='9' fill='%2322c08a'/%3E%3Cpath d='M8 12.3l2.7 2.7L16 9.7' fill='none' stroke='%23ffffff' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
	--aui-ico-accept-not: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' %3E%3Ccircle cx='12' cy='12' r='9' fill='%23f0616a'/%3E%3Cpath d='M9.2 9.2l5.6 5.6M14.8 9.2l-5.6 5.6' fill='none' stroke='%23ffffff' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
	--aui-ico-state-current: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' %3E%3Cpath d='M9 6.5l7 5.5-7 5.5z' fill='%238b87f5' stroke='%238b87f5' stroke-width='1.5' stroke-linejoin='round'/%3E%3C/svg%3E");
	--aui-ico-state-added: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' %3E%3Ccircle cx='12' cy='12' r='8' fill='%2322c08a'/%3E%3Cpath d='M12 8.5v7M8.5 12h7' fill='none' stroke='%23ffffff' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
	--aui-ico-state-removed: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' %3E%3Ccircle cx='12' cy='12' r='8' fill='%23f0616a'/%3E%3Cpath d='M8.5 12h7' fill='none' stroke='%23ffffff' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
	--aui-ico-state-edited: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' %3E%3Ccircle cx='12' cy='12' r='8' fill='%23f5a524'/%3E%3Cpath d='M9 15.2l.5-2.3 4.6-4.6 1.8 1.8-4.6 4.6z' fill='%23ffffff' stroke='%23ffffff' stroke-width='1' stroke-linejoin='round'/%3E%3C/svg%3E");
	--aui-ico-state-added-edited: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' %3E%3Ccircle cx='12' cy='12' r='8' fill='%2322c08a'/%3E%3Cpath d='M9 15.2l.5-2.3 4.6-4.6 1.8 1.8-4.6 4.6z' fill='%23ffffff' stroke='%23ffffff' stroke-width='1' stroke-linejoin='round'/%3E%3Ccircle cx='18.5' cy='5.5' r='3.2' fill='%23f5a524' stroke='%2318191d' stroke-width='1.5'/%3E%3C/svg%3E");
	--aui-ico-ed-pad: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%239aa1ad'%3E%3Ccircle cx='6' cy='12' r='1.6'/%3E%3Ccircle cx='12' cy='12' r='1.6'/%3E%3Ccircle cx='18' cy='12' r='1.6'/%3E%3C/svg%3E");
	--aui-ico-ed-input: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%239aa1ad' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 7V5.5h14V7M12 5.5v13M9.5 18.5h5'/%3E%3C/svg%3E");
	--aui-ico-ed-list: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%239aa1ad' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 7h11M9 12h11M9 17h11'/%3E%3Cpath d='M4.5 7h.01M4.5 12h.01M4.5 17h.01' stroke-width='3'/%3E%3C/svg%3E");
	--aui-ico-ed-calendar: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%239aa1ad' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4' y='5.5' width='16' height='14' rx='2.5'/%3E%3Cpath d='M4 10h16M8.5 3.5v4M15.5 3.5v4'/%3E%3C/svg%3E");
}

/* 그리드 메인 외곽 DIV */
.aui-grid {
	font-family: var(--aui-font);
	font-size: var(--aui-font-size);
	line-height: 1.2em;
	border: 1px solid var(--aui-border);
	background: var(--aui-surface);
	box-sizing: content-box;
	appearance: none;
	-webkit-appearance: none;
	outline: none;
	-webkit-touch-callout: none;
	contain: content;
	--aui-accent-hover: color-mix(in srgb, var(--aui-accent) 86%, #000000);
	--aui-accent-soft: color-mix(in srgb, var(--aui-accent) 8%, var(--aui-surface));
	--aui-accent-soft-2: color-mix(in srgb, var(--aui-accent) 15%, var(--aui-surface));
	--aui-accent-text: color-mix(in srgb, var(--aui-accent) 72%, var(--aui-text-strong));
	--aui-focus-ring: color-mix(in srgb, var(--aui-accent) 24%, transparent);
	--aui-checked-row-bg: color-mix(in srgb, var(--aui-accent) 5%, var(--aui-surface));
	color-scheme: var(--aui-color-scheme);
	accent-color: var(--aui-accent);
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	color: var(--aui-text);
	border-radius: var(--aui-grid-radius);
	box-shadow: var(--aui-grid-shadow);
}

/* 그리드 table, tr, td 기본 - 셀 기본 */
.aui-grid .aui-grid-table,
.aui-grid .aui-grid-table tr,
.aui-grid .aui-grid-table td {
	padding: 0 !important;
	margin: 0 !important;
	border-spacing: 0 !important;
	border-collapse: separate !important;
	box-sizing: border-box !important;
	font-size: var(--aui-font-size);
	line-height: 1.5em;
}

/* 편집 모드 기본 텍스트 인풋  */
.aui-grid .aui-textinputer {
	font-size: var(--aui-font-size);
	border: 2px solid var(--aui-accent);
	outline: none;
	box-sizing: border-box !important;
	background: var(--aui-surface) !important;
	transition: none !important;
	color: var(--aui-text-strong);
	caret-color: var(--aui-accent);
	border-radius: 2px;
}

.aui-grid .aui-textinputer::-ms-clear {
	display: none;
}

/* label */
.aui-label {
	display: inline-block !important;
	font-weight: normal !important;
	margin: 0 !important;
	padding: 0 !important;
}

/* 체크박스, 라디오  */
.aui-checkbox,
.aui-radio {
	vertical-align: middle;
	margin: 0;
	margin-top: 0 !important;
	padding: 0;
}
.aui-checkbox:disabled {
	cursor: not-allowed;
}

/* 이미지  */
.aui-grid .aui-img {
	box-sizing: content-box;
	-webkit-box-sizing: content-box;
	-moz-box-sizing: content-box;
}

/* 그리드 메세지 출력 레이어 */
.aui-grid-info-layer {
	background: var(--aui-surface);
	font-size: 20px;
	font-weight: bold;
	color: var(--aui-text-muted);
}

/** 그리드 유효성 검사 툴팁 레이어 */
.aui-grid-validator-message-layer {
	color: #ffffff;
	padding: 2px 6px;
	border: 1px solid var(--aui-danger);
	background: var(--aui-danger);
	background: var(--aui-danger);
	background: var(--aui-danger);
	background: var(--aui-danger);
	background: var(--aui-danger);
	background: var(--aui-danger);
	border-radius: var(--aui-radius-sm);
	line-height: 1.5em;
	z-index: 1065;
	box-shadow: 0 6px 16px -4px color-mix(in srgb, var(--aui-danger) 45%, transparent);
	-webkit-box-shadow: 0 6px 16px -4px color-mix(in srgb, var(--aui-danger) 45%, transparent);
	-moz-box-shadow: 0 6px 16px -4px color-mix(in srgb, var(--aui-danger) 45%, transparent);
	--aui-accent-hover: color-mix(in srgb, var(--aui-accent) 86%, #000000);
	--aui-accent-soft: color-mix(in srgb, var(--aui-accent) 8%, var(--aui-surface));
	--aui-accent-soft-2: color-mix(in srgb, var(--aui-accent) 15%, var(--aui-surface));
	--aui-accent-text: color-mix(in srgb, var(--aui-accent) 72%, var(--aui-text-strong));
	--aui-focus-ring: color-mix(in srgb, var(--aui-accent) 24%, transparent);
	--aui-checked-row-bg: color-mix(in srgb, var(--aui-accent) 5%, var(--aui-surface));
	color-scheme: var(--aui-color-scheme);
	accent-color: var(--aui-accent);
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

/* 노데이터 메세지 레이어*/
.aui-grid-nodata-msg-layer {
	background: var(--aui-ico-empty) 0 50% / 64px 64px no-repeat;
	position: absolute;
	padding: 44px 0 0 80px;
	margin: 0 auto;
	width: auto;
	height: 72px;
	box-sizing: content-box;
	color: var(--aui-text-muted);
}

/* 그리드 수평, 수직 라인 만들기 - 바디 */
.aui-grid-body-panel .aui-grid-table tr td {
	border-top: none;
	border-right: 1px solid var(--aui-line);
	border-bottom: 1px solid var(--aui-line);
	border-left: none;
}

.aui-grid-left-main-panel .aui-grid-body-panel .aui-grid-table tr td:last-child {
	border-right: none;
}

/* 그리드 수평, 수직 라인 만들기 - 헤더 */
.aui-grid-header-panel .aui-grid-table tr td {
	border-top: none;
	border-right: 1px solid var(--aui-line);
	border-bottom: 1px solid var(--aui-border);
	border-left: none;
}

.aui-grid-left-main-panel .aui-grid-header-panel .aui-grid-table tr td:last-child {
	border-right: none;
}

/* 그리드 수평 라인 만들기 - 그룹형  헤더 */
.aui-grid-group-branch-header {
	border-bottom: 1px solid var(--aui-line) !important;
}

/* 그리드 수평, 수직 라인 만들기 - 푸터 */
.aui-grid-footer-panel .aui-grid-table tr td {
	border-top: 1px solid var(--aui-line);
	border-right: 1px solid var(--aui-line);
	border-bottom: none;
	border-left: none;
}

/* 세로 병합으로 DOM의 마지막 셀이 달라져도 실제 고정 영역 끝에서만 선을 생략합니다. */
/* 표식이 없는 이전 엔진은 기존 마지막 셀 규칙을 유지합니다. */
.aui-grid-left-main-panel .aui-grid-footer-panel .aui-grid-table tr td:last-child:not([data-aui-footer-fixed-edge]),
.aui-grid-left-main-panel .aui-grid-footer-panel .aui-grid-table tr td[data-aui-footer-fixed-edge='true'] {
	border-right: none;
}

/* 그리드 오버 선택자 스타일 */
.aui-grid-cell-hover-style {
	background: var(--aui-hover) !important;
	color: var(--aui-text-strong) !important;
}

/* 셀 병합 시 실제 rowspan 처리 하지 않은 TD의 아랫선 처리 */
.aui-grid-cell-merge-none-row-span-border {
	border-bottom: 1px solid transparent !important;
}

/* 그리드 칼럼 리사이즈 시 나타나는 임시 선 */
.aui-grid-vertical-resizer-rule {
	border-left: 3px dashed var(--aui-accent);
	border-top: none;
	border-right: none;
	border-bottom: none;
}

/* 그리드 칼럼 위치 바꾸기(칼럼 드래깅) 시 나타나는 임시 선 */
.aui-grid-vertical-column-change-rule {
	border-left: 3px solid var(--aui-accent);
}

/* 행 번호 칼럼 */
.aui-grid-row-num-column {
	text-align: center;
	cursor: default;
	color: var(--aui-text-subtle);
}
.aui-grid-row-num-column:hover {
	background: var(--aui-hover);
	color: var(--aui-text-strong);
}

/*행 체크박스 칼럼 */
.aui-grid-row-check-column {
	text-align: center;
	line-height: 0.5em !important;
}

/* 행 체크박스 헤더 - 전체 선택 체크*/
.aui-grid-row-check-header {
	text-align: center;
	line-height: 0.5em !important;
}

/* 고정 칼럼과 일반 칼럼 경계선 */
.aui-grid-fixed-column-rule {
	background: var(--aui-border-strong);
	width: 1px;
}

/* 고정 로우와 일반 로우 경계선 */
.aui-grid-fixed-row-rule {
	background: var(--aui-border-strong);
	height: 1px;
}

/* 그리드 헤더 정렬 표시자 시작 */
.aui-grid-multi-sorting-ascending {
	color: var(--aui-accent-text);
	font-size: 9px;
	text-align: center;
	background: var(--aui-ico-sort-asc) 50% 10px / 8px 5px no-repeat;
}

.aui-grid-multi-sorting-descending {
	color: var(--aui-accent-text);
	font-size: 9px;
	text-align: center;
	background: var(--aui-ico-sort-desc) 50% 9px / 8px 5px no-repeat;
}

.aui-grid-sorting-ascending {
	background: var(--aui-ico-sort-asc) 50% 50% / 9px 6px no-repeat;
}

.aui-grid-sorting-descending {
	background: var(--aui-ico-sort-desc) 50% 50% / 9px 6px no-repeat;
}

/* 그리드 헤더 정렬 표시자 끝*/

/* 체크박스에 row-check-column-active 클래스 추가될 때 점선 테두리 */
.aui-grid-row-check-column:has(.aui-grid-row-check-active),
.aui-grid-row-check-header:has(.aui-grid-row-check-active) {
	outline: 2px dashed var(--aui-accent);
	outline-offset: -2px;
}
.aui-grid-row-check-active {
	outline: none;
}

.aui-sr-only {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	padding: 0 !important;
	margin: -1px !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
	white-space: nowrap !important;
	border: 0 !important;
}

/* 스크롤 시작 */
.aui-scroll-track {
	box-sizing: border-box;
	background: var(--aui-scroll-track);
	border: 1px solid var(--aui-scroll-track);
}

.aui-scroll-bottom-right {
	background: var(--aui-scroll-track);
}

.aui-hscrollbar .aui-scroll-thumb {
	box-sizing: border-box;
	background: var(--aui-scroll-thumb);
	border: 1px solid transparent;
	border-radius: 999px;
	touch-action: none;
	-ms-touch-action: none;
	background-clip: padding-box;
}

.aui-hscrollbar .aui-scroll-thumb:hover {
	background: var(--aui-scroll-thumb-hover);
}

.aui-vscrollbar .aui-scroll-thumb {
	box-sizing: border-box;
	background: var(--aui-scroll-thumb);
	border: 1px solid transparent;
	border-radius: 999px;
	touch-action: none;
	-ms-touch-action: none;
	background-clip: padding-box;
}

.aui-vscrollbar .aui-scroll-thumb:hover {
	background: var(--aui-scroll-thumb-hover);
}

.aui-vscrollbar .aui-scroll-up {
	box-sizing: border-box;
	background: var(--aui-scroll-track) var(--aui-ico-caret-up) no-repeat 50% 50% / 8px 5px;
	border: 1px solid var(--aui-scroll-track);
}

.aui-vscrollbar .aui-scroll-up:hover {
	background: var(--aui-surface-3) var(--aui-ico-caret-up) no-repeat 50% 50% / 8px 5px;
}

.aui-vscrollbar .aui-scroll-down {
	box-sizing: border-box;
	background: var(--aui-scroll-track) var(--aui-ico-caret-down) no-repeat 50% 50% / 8px 5px;
	border: 1px solid var(--aui-scroll-track);
}

.aui-vscrollbar .aui-scroll-down:hover {
	background: var(--aui-surface-3) var(--aui-ico-caret-down) no-repeat 50% 50% / 8px 5px;
}

.aui-hscrollbar .aui-scroll-up {
	box-sizing: border-box;
	background: var(--aui-scroll-track) var(--aui-ico-caret-left) no-repeat 50% 50% / 5px 8px;
	border: 1px solid var(--aui-scroll-track);
}

.aui-hscrollbar .aui-scroll-up:hover {
	background: var(--aui-surface-3) var(--aui-ico-caret-left) no-repeat 50% 50% / 5px 8px;
}

.aui-hscrollbar .aui-scroll-down {
	box-sizing: border-box;
	background: var(--aui-scroll-track) var(--aui-ico-caret-right) no-repeat 50% 50% / 5px 8px;
	border: 1px solid var(--aui-scroll-track);
}

.aui-hscrollbar .aui-scroll-down:hover {
	background: var(--aui-surface-3) var(--aui-ico-caret-right) no-repeat 50% 50% / 5px 8px;
}

.aui-vscrollbar .aui-tiny-scroll-thumb,
.aui-hscrollbar .aui-tiny-scroll-thumb {
	background: color-mix(in srgb, var(--aui-text-muted) 55%, transparent);
	border: none;
	border-radius: 999px;
}
/* 스크롤 끝 */

/* 로딩바 스타일 */
.aui-ajax-loader-showing {
	background: color-mix(in srgb, var(--aui-surface) 82%, transparent) var(--aui-ico-spinner) no-repeat 50% 50% / 36px 36px;
}

/* 내부 처리 로딩바 스타일 */
.aui-process-loader-showing {
	/*background: url("./images/wait.png") no-repeat 50% 50%;*/
	background: var(--aui-ico-process) no-repeat 50% 50% / 88px 88px;
}

/* 계층 트리 아이콘 */
.aui-grid-tree-plus-icon {
	display: inline-block;
	width: 16px;
	height: 16px;
	border: none;
	background: var(--aui-ico-tree-collapsed) 50% 50% / 14px no-repeat;
	background-size: 16px;
	vertical-align: bottom;
	margin: 0 2px 0 0;
	border-radius: 4px;
}

.aui-grid-tree-minus-icon {
	display: inline-block;
	width: 16px;
	height: 16px;
	border: none;
	background: var(--aui-ico-tree-expanded) 50% 50% / 14px no-repeat;
	background-size: 16px !important;
	vertical-align: bottom;
	margin: 0 2px 0 0;
	border-radius: 4px;
}

.aui-grid-tree-branch-icon {
	display: inline-block;
	width: 18px;
	height: 16px;
	background: var(--aui-ico-folder) 50% 50% / 16px no-repeat;
	background-size: 16px !important;
	vertical-align: bottom;
	margin: 0 2px 0 0;
}

.aui-grid-tree-branch-open-icon {
	display: inline-block;
	width: 18px;
	height: 16px;
	background: var(--aui-ico-folder-open) 50% 50% / 16px no-repeat;
	background-size: 16px !important;
	vertical-align: bottom;
	margin: 0 2px 0 0;
}

.aui-grid-tree-leaf-icon {
	display: inline-block;
	width: 16px;
	height: 16px;
	vertical-align: bottom;
	margin: 0 2px 0 4px;
}

/* 트리 lazyMode 프리로더 */
.aui-grid-tree-ajax-loader {
	display: inline-block;
	width: 16px;
	height: 16px;
	border: none;
	background: var(--aui-ico-spinner-sm) 50% 50% / 14px no-repeat;
	background-size: 16px;
	vertical-align: bottom;
	margin: 0 2px 0 0;
}

/* 계층 트리 아이콘 끝*/

/*디폴트 헤더 스타일*/
.aui-grid-default-header {
	position: relative !important;
	text-align: center;
	font-weight: bold;
	font-size: 1.1em;
	background: var(--aui-header-bg);
	cursor: pointer;
	color: var(--aui-header-text);
}

.aui-grid-default-header:hover {
	background: var(--aui-header-hover-bg);
}

.aui-grid-group-branch-header {
	cursor: default;
}

/** 헤더 툴팁 아이콘 스타일 */
.aui-grid-header-help-tooltip-icon {
	background: var(--aui-ico-help) no-repeat 50% 50% / 12px 12px;
	width: 12px;
	height: 12px;
	cursor: default;
}

/** 헤더 툴팁 아이콘 마우스 오버 시 나오는 툴팁 외형 */
.aui-grid-header-help-tooltip-wrapper {
	border: 1px solid var(--aui-border);
	border-radius: var(--aui-radius);
	padding: 4px;
	background: var(--aui-surface);
	font-size: 12px;
	line-height: 1.5em;
	z-index: 999;
	box-shadow: var(--aui-popup-shadow);
	-webkit-box-shadow: var(--aui-popup-shadow);
	-moz-box-shadow: var(--aui-popup-shadow);
	pointer-events: none;
	--aui-accent-hover: color-mix(in srgb, var(--aui-accent) 86%, #000000);
	--aui-accent-soft: color-mix(in srgb, var(--aui-accent) 8%, var(--aui-surface));
	--aui-accent-soft-2: color-mix(in srgb, var(--aui-accent) 15%, var(--aui-surface));
	--aui-accent-text: color-mix(in srgb, var(--aui-accent) 72%, var(--aui-text-strong));
	--aui-focus-ring: color-mix(in srgb, var(--aui-accent) 24%, transparent);
	--aui-checked-row-bg: color-mix(in srgb, var(--aui-accent) 5%, var(--aui-surface));
	color-scheme: var(--aui-color-scheme);
	accent-color: var(--aui-accent);
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	color: var(--aui-text);
}

/** 라이브 스크롤 사용하지 않을 때 나오는 스크롤 툴팁 외형 */
.aui-grid-scroll-tip-wrapper {
	border: 1px solid var(--aui-tooltip-bg);
	border-radius: 999px;
	padding: 2px 8px;
	background: var(--aui-tooltip-bg);
	font-family: var(--aui-font);
	font-size: 12px;
	z-index: 999;
	box-shadow: 0 6px 16px -4px rgba(15, 23, 42, 0.3);
	-webkit-box-shadow: 0 6px 16px -4px rgba(15, 23, 42, 0.3);
	-moz-box-shadow: 0 6px 16px -4px rgba(15, 23, 42, 0.3);
	--aui-accent-hover: color-mix(in srgb, var(--aui-accent) 86%, #000000);
	--aui-accent-soft: color-mix(in srgb, var(--aui-accent) 8%, var(--aui-surface));
	--aui-accent-soft-2: color-mix(in srgb, var(--aui-accent) 15%, var(--aui-surface));
	--aui-accent-text: color-mix(in srgb, var(--aui-accent) 72%, var(--aui-text-strong));
	--aui-focus-ring: color-mix(in srgb, var(--aui-accent) 24%, transparent);
	--aui-checked-row-bg: color-mix(in srgb, var(--aui-accent) 5%, var(--aui-surface));
	color-scheme: var(--aui-color-scheme);
	accent-color: var(--aui-accent);
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	color: var(--aui-tooltip-text);
}

/*디폴트 푸터 스타일 */
.aui-grid-default-footer {
	position: relative !important;
	background: var(--aui-footer-bg);
	border: 1px solid var(--aui-border);
	border-right: none;
	border-left: none;
	font-weight: bold;
	font-size: 1em;
	color: var(--aui-text-strong);
	text-align: center;
	cursor: default;
}

/* 푸터 상단(헤더 아래) 출력 스타일 */
.aui-grid-default-footer-top-position {
	border-top: none !important;
}

.aui-grid-footer-division-line-top-position {
	border-bottom: 3px double var(--aui-border-strong) !important;
}

/* 푸터와 바디간의 구분 선 스타일 */
.aui-grid-footer-division-line {
	border-top: 3px double var(--aui-border-strong) !important;
}

/** 그리드 툴팁 외형 */
.aui-grid-tooltip-wrapper {
	max-width: 600px;
	padding: 2px 6px;
	border: 1px solid var(--aui-tooltip-bg);
	background: var(--aui-tooltip-bg);
	background: var(--aui-tooltip-bg);
	background: var(--aui-tooltip-bg);
	background: var(--aui-tooltip-bg);
	background: var(--aui-tooltip-bg);
	background: var(--aui-tooltip-bg);
	border-radius: var(--aui-radius-sm);
	z-index: 999;
	box-shadow: 0 8px 20px -6px rgba(15, 23, 42, 0.35);
	-webkit-box-shadow: 0 8px 20px -6px rgba(15, 23, 42, 0.35);
	-moz-box-shadow: 0 8px 20px -6px rgba(15, 23, 42, 0.35);
	pointer-events: none;
	--aui-accent-hover: color-mix(in srgb, var(--aui-accent) 86%, #000000);
	--aui-accent-soft: color-mix(in srgb, var(--aui-accent) 8%, var(--aui-surface));
	--aui-accent-soft-2: color-mix(in srgb, var(--aui-accent) 15%, var(--aui-surface));
	--aui-accent-text: color-mix(in srgb, var(--aui-accent) 72%, var(--aui-text-strong));
	--aui-focus-ring: color-mix(in srgb, var(--aui-accent) 24%, transparent);
	--aui-checked-row-bg: color-mix(in srgb, var(--aui-accent) 5%, var(--aui-surface));
	color-scheme: var(--aui-color-scheme);
	accent-color: var(--aui-accent);
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	color: var(--aui-tooltip-text);
}

/* 디폴트 칼럼 스타일 */
.aui-grid-default-column {
	position: relative !important;
	background-color: inherit;
	text-align: center;
	font-size: 1em;
	cursor: default;
}

/* 셀력션 대표 백그라운드 스타일 */
.aui-grid-selection-bg {
	background: inherit;
	color: inherit;
}

/* 셀렉션 대표 셀 이외의 백그라운드 스타일 */
.aui-grid-selection-others-bg {
	background: var(--aui-accent-soft-2) !important;
	color: inherit;
}

/* 셀력션 행 대표 백그라운드 스타일 */
.aui-grid-selection-row-bg {
	background: var(--aui-accent-soft) !important;
	background: var(--aui-accent-soft) !important;
	background: var(--aui-accent-soft) !important;
	background: var(--aui-accent-soft) !important;
	background: var(--aui-accent-soft) !important;
	background: var(--aui-accent-soft) !important;
}

/* 셀력션 행 대표 셀 이외의 백그라운드 스타일 */
.aui-grid-selection-row-others-bg {
	background: var(--aui-accent-soft) !important;
	background: var(--aui-accent-soft) !important;
	background: var(--aui-accent-soft) !important;
	background: var(--aui-accent-soft) !important;
	background: var(--aui-accent-soft) !important;
	background: var(--aui-accent-soft) !important;
}

/* 셀렉션의 대표 셀 보더(테두리) 색상 스타일*/
.aui-grid-selection-cell-border-lines {
	background: var(--aui-accent);
}

/* 셀력션 행번호 칼럼 스타일 */
.aui-grid-selection-row-num-column {
	font-weight: bold !important;
	color: var(--aui-accent-text) !important;
	background: var(--aui-accent-soft-2) !important;
	background: var(--aui-accent-soft-2) !important;
	background: var(--aui-accent-soft-2) !important;
	background: var(--aui-accent-soft-2) !important;
	background: var(--aui-accent-soft-2) !important;
	background: var(--aui-accent-soft-2) !important;
	box-shadow: inset -2px 0 0 var(--aui-accent);
}

/* 셀렉션 헤더 칼럼 스타일 */
.aui-grid-selection-header-column {
	font-weight: bold !important;
	background: var(--aui-accent-soft-2) !important;
	background: var(--aui-accent-soft-2) !important;
	background: var(--aui-accent-soft-2) !important;
	background: var(--aui-accent-soft-2) !important;
	background: var(--aui-accent-soft-2) !important;
	background: var(--aui-accent-soft-2) !important;
	color: var(--aui-accent-text) !important;
	box-shadow: inset 0 -2px 0 var(--aui-accent);
}

/* 그리드 Row 배경색 */
.aui-grid-row-background {
	background: var(--aui-surface);
}

/* 그리드 Row 다음 배경색*/
.aui-grid-alternative-row-background {
	background: var(--aui-surface-alt);
}

/* 칼럼 위치 변경 할 때 보이는 이미지 - 칼럼 드래깅 */
.aui-grid-column-dragging-proxy {
	background: var(--aui-surface);
	-ms-filter: 'progid:DXImageTransform.Microsoft.Alpha(Opacity=80)';
	filter: alpha(opacity=80);
	opacity: 0.94;
	border: 1px solid var(--aui-accent);
	cursor: default;
	font-weight: bold;
	text-align: center;
	font-size: 13px;
	z-index: 9999;
	box-sizing: border-box;
	max-width: 600px;
	--aui-accent-hover: color-mix(in srgb, var(--aui-accent) 86%, #000000);
	--aui-accent-soft: color-mix(in srgb, var(--aui-accent) 8%, var(--aui-surface));
	--aui-accent-soft-2: color-mix(in srgb, var(--aui-accent) 15%, var(--aui-surface));
	--aui-accent-text: color-mix(in srgb, var(--aui-accent) 72%, var(--aui-text-strong));
	--aui-focus-ring: color-mix(in srgb, var(--aui-accent) 24%, transparent);
	--aui-checked-row-bg: color-mix(in srgb, var(--aui-accent) 5%, var(--aui-surface));
	color-scheme: var(--aui-color-scheme);
	accent-color: var(--aui-accent);
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	color: var(--aui-accent-text);
	border-radius: var(--aui-radius-sm);
	box-shadow: var(--aui-popup-shadow);
}

/* 셀 범위 드래깅의 드롭 대상 테두리. 포인터 입력은 아래 셀로 전달합니다. */
.aui-grid-dragging-cell-border-lines {
	background: var(--aui-text-strong);
	pointer-events: none;
	z-index: 9999;
}

/* 행 드래깅 손잡이 */
.aui-grid-row-drag-knob {
	cursor: move;
	width: 10px;
	height: 10px;
}

/* 행 드래깅 손잡이 칼럼 */
.aui-grid-row-drag-knob-column {
	background: var(--aui-ico-grip) 50% 50% / 16px 16px no-repeat !important;
	cursor: move;
}

/* 행 위치 바꾸기(행 드래깅) 시 나타나는 임시 선 */
.aui-grid-horizontal-row-change-rule {
	border-top: 3px solid var(--aui-accent);
	z-index: 9999;
}
/* 행 드래깅 시 트리의 자식으로 드랍될 때 나타나는 임시 화살표 */
.aui-grid-horizontal-row-arrow-rule {
	display: inline-block;
	width: 16px;
	height: 16px;
	z-index: 9999;
}
.aui-grid-horizontal-row-arrow-rule::after {
	content: '';
	position: absolute;
	bottom: 2px;
	left: 50%;
	transform: translateX(-50%) rotate(45deg);
	width: 10px;
	height: 10px;
	border-bottom: 4px solid var(--aui-accent);
	border-right: 4px solid var(--aui-accent);
	border-radius: 0 0 2px 0;
}
.aui-grid-horizontal-row-arrow-rule::before {
	content: '';
	position: absolute;
	top: 0px;
	left: 50%;
	transform: translateX(-50%);
	width: 6px;
	height: 14px;
	background-color: var(--aui-accent);
	border-radius: 2px;
}

/* 행 위치 변경 할 때 보이는 이미지 - 행 드래깅 */
.aui-grid-row-dragging-proxy {
	background: var(--aui-surface) var(--aui-ico-accept-not) 8px 50% / 16px 16px no-repeat;
	font-size: 13px;
	box-sizing: border-box;
	-ms-filter: 'progid:DXImageTransform.Microsoft.Alpha(Opacity=70)';
	filter: alpha(opacity=70);
	opacity: 0.94;
	border: 1px solid var(--aui-border-strong);
	cursor: default;
	font-weight: bold;
	text-align: center;
	padding: 4px 16px 4px 32px;
	min-width: 100px;
	z-index: 9999;
	--aui-accent-hover: color-mix(in srgb, var(--aui-accent) 86%, #000000);
	--aui-accent-soft: color-mix(in srgb, var(--aui-accent) 8%, var(--aui-surface));
	--aui-accent-soft-2: color-mix(in srgb, var(--aui-accent) 15%, var(--aui-surface));
	--aui-accent-text: color-mix(in srgb, var(--aui-accent) 72%, var(--aui-text-strong));
	--aui-focus-ring: color-mix(in srgb, var(--aui-accent) 24%, transparent);
	--aui-checked-row-bg: color-mix(in srgb, var(--aui-accent) 5%, var(--aui-surface));
	color-scheme: var(--aui-color-scheme);
	accent-color: var(--aui-accent);
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	color: var(--aui-text-strong);
	border-radius: var(--aui-radius-sm);
	box-shadow: var(--aui-popup-shadow);
}

/* 행 위치 변경 할 때 보이는 Accept 이미지 */
.aui-grid-row-dragging-proxy-accept {
	background: var(--aui-surface) var(--aui-ico-accept-ok) 8px 50% / 16px 16px no-repeat;
	border-color: var(--aui-accent);
}

/* 상태 칼럼에 출력 시킬 스타일 */
/* 현재 행 상태 스타일 */
.aui-grid-row-state-current {
	background: var(--aui-ico-state-current) 50% 50% / 14px 14px no-repeat !important;
}

/* 추가 행 상태 스타일 */
.aui-grid-row-state-added {
	background: var(--aui-ico-state-added) 50% 50% / 16px 16px no-repeat !important;
	cursor: pointer;
}

/* 삭제 행 상태 스타일 */
.aui-grid-row-state-removed {
	background: var(--aui-ico-state-removed) 50% 50% / 16px 16px no-repeat !important;
	cursor: pointer;
}

/* 수정 행 상태 스타일 */
.aui-grid-row-state-edited {
	background: var(--aui-ico-state-edited) 50% 50% / 16px 16px no-repeat !important;
	cursor: pointer;
}

/* 추가한 행-수정 상태 스타일 */
.aui-grid-row-state-added-edited {
	background: var(--aui-ico-state-added-edited) 50% 50% / 16px 16px no-repeat !important;
	cursor: pointer;
}

/* 상태 칼럼에 출력 시킬 스타일 끝*/

/* 소프트 모드 삭제한 행 스타일*/
.aui-grid-row-soft-removed-marker {
	color: var(--aui-text-subtle) !important;
	text-decoration: line-through !important;
	text-decoration-color: var(--aui-danger) !important;
}

/* 수정한 셀 표시 스타일(마커) */
.aui-grid-cell-edited-marker {
	top: 0px;
	margin: 0px !important;
	width: 0px;
	height: 0px;
	border-left: 4px solid var(--aui-accent);
	border-top: 4px solid var(--aui-accent);
	border-bottom: 4px solid transparent;
	border-right: 4px solid transparent;
}

/* 엑스트차 체크박스 체크된 행 스타일*/
.aui-grid-extra-checked-row {
	background: var(--aui-checked-row-bg);
}

/* 페이징 패널 스타일 */
.aui-grid-paging-panel {
	text-align: center;
	background: var(--aui-surface);
	background: var(--aui-surface);
	background: var(--aui-surface);
	background: var(--aui-surface);
	background: var(--aui-surface);
	background: var(--aui-surface);
	border-top: 1px solid var(--aui-border);
	box-sizing: border-box;
	color: var(--aui-text);
}

/* 페이징 넘버링 */
.aui-grid-paging-panel .aui-grid-paging-number {
	display: inline-block;
	border: 1px solid transparent;
	border-radius: var(--aui-radius-sm);
	min-width: 2em;
	line-height: 2em;
	font-size: 1em;
	font-weight: bold;
	text-align: center;
	margin: 4px 2px 0 2px;
	color: var(--aui-text);
	transition:
		background-color 0.12s ease,
		color 0.12s ease;
}

.aui-grid-paging-panel .aui-grid-paging-number:hover {
	background-color: var(--aui-surface-3);
	border: 1px solid transparent;
	cursor: pointer;
}

/* 페이징 현재 페이지 선택 넘버링 */
.aui-grid-paging-panel .aui-grid-paging-number-selected {
	background: var(--aui-accent) !important;
	border: 1px solid var(--aui-accent) !important;
	color: var(--aui-accent-contrast) !important;
	box-shadow: 0 2px 6px -1px color-mix(in srgb, var(--aui-accent) 45%, transparent);
}

/* 페이징 이전 버튼 */
.aui-grid-paging-panel .aui-grid-paging-prev {
	background: var(--aui-ico-chevron-left) 50% 50% / 14px 14px no-repeat;
	text-indent: -99999px;
}

/* 페이징 다음 버튼 */
.aui-grid-paging-panel .aui-grid-paging-next {
	background: var(--aui-ico-chevron-right) 50% 50% / 14px 14px no-repeat;
	text-indent: -99999px;
}

/* 페이징 처음 버튼 */
.aui-grid-paging-panel .aui-grid-paging-first {
	background: var(--aui-ico-chevrons-left) 50% 50% / 14px 14px no-repeat;
	text-indent: -99999px;
}

/* 페이징 마지막 버튼 */
.aui-grid-paging-panel .aui-grid-paging-last {
	background: var(--aui-ico-chevrons-right) 50% 50% / 14px 14px no-repeat;
	text-indent: -99999px;
}

/* 페이징 모드 simple 인 경우 나타나는 현재 페이지 */
.aui-grid-paging-number-simple-text {
	margin-left: 1em;
	margin-right: 1em;
	font-weight: bold;
	cursor: default;
	color: var(--aui-text-strong);
}

/* 페이징 정보 텍스트 */
.aui-grid-paging-panel .aui-grid-paging-info-text {
	position: absolute;
	right: 0px;
	margin: 8px 10px 0 0;
	color: var(--aui-text-muted);
}

/* 페이징 행 개수 변경 select */
.aui-grid-paging-row-count-select {
	width: 50px;
	border: 1px solid var(--aui-border-strong);
	margin-left: 10px;
	vertical-align: top;
	margin: 4px 2px 0 8px;
	font-size: 1em;
	min-width: 2em;
	height: 24px;
	line-height: 2em;
	color: var(--aui-text);
	background-color: var(--aui-surface);
	border-radius: var(--aui-radius-sm);
}

/* pagingMode button인 경우 좌우 버튼 공용*/
.aui-grid-paging-simple-button {
	border-radius: 20px;
	width: 40px;
	line-height: 40px;
	font-size: 1em;
	font-weight: bold;
	text-align: center;
	margin: 10px;
	text-indent: -99999px;
	box-shadow:
		0 8px 24px -6px rgba(15, 23, 42, 0.25),
		0 2px 4px rgba(15, 23, 42, 0.08),
		inset 0 0 0 1px var(--aui-border);
	cursor: pointer;
	transition: transform 0.12s ease;
}

/* pagingMode button인 좌-이전 버튼*/
.aui-grid-paging-simple-butotn-prev {
	left: 4px;
	bottom: 4px;
	background: var(--aui-surface) var(--aui-ico-chevron-left) 50% 50% / 18px 18px no-repeat;
}

/* pagingMode button인 우-다음 버튼*/
.aui-grid-paging-simple-butotn-next {
	right: 4px;
	bottom: 4px;
	background: var(--aui-surface) var(--aui-ico-chevron-right) 50% 50% / 18px 18px no-repeat;
}

/* 그룹핑 패널 스타일 */
.aui-grid-grouping-panel {
	background: var(--aui-surface-2);
	background: var(--aui-surface-2);
	background: var(--aui-surface-2);
	background: var(--aui-surface-2);
	background: var(--aui-surface-2);
	background: var(--aui-surface-2);
	border-bottom: 1px solid var(--aui-border);
	box-sizing: border-box !important;
	text-align: left;
}

/* 그룹핑 메세지 */
.aui-grid-grouping-message {
	display: inline-block;
	padding: 10px 0 0 15px;
	font-weight: bold;
	font-size: 1.2em;
	line-height: 1.2em;
	color: var(--aui-text-subtle);
	cursor: default;
}

/* 그룹핑 드래깅 할 때 보이는 이미지 */
.aui-grid-grouping-dragging-proxy {
	background: var(--aui-surface) var(--aui-ico-accept-not) calc(100% - 8px) 50% / 16px 16px no-repeat;
	-ms-filter: 'progid:DXImageTransform.Microsoft.Alpha(Opacity=70)';
	filter: alpha(opacity=70);
	opacity: 0.94;
	border: 1px solid var(--aui-border-strong);
	cursor: default;
	font-weight: bold;
	text-align: center;
	padding: 3px 0;
	font-size: 13px;
	z-index: 9999;
	max-width: 600px;
	--aui-accent-hover: color-mix(in srgb, var(--aui-accent) 86%, #000000);
	--aui-accent-soft: color-mix(in srgb, var(--aui-accent) 8%, var(--aui-surface));
	--aui-accent-soft-2: color-mix(in srgb, var(--aui-accent) 15%, var(--aui-surface));
	--aui-accent-text: color-mix(in srgb, var(--aui-accent) 72%, var(--aui-text-strong));
	--aui-focus-ring: color-mix(in srgb, var(--aui-accent) 24%, transparent);
	--aui-checked-row-bg: color-mix(in srgb, var(--aui-accent) 5%, var(--aui-surface));
	color-scheme: var(--aui-color-scheme);
	accent-color: var(--aui-accent);
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	color: var(--aui-text-strong);
	border-radius: var(--aui-radius-sm);
	box-shadow: var(--aui-popup-shadow);
}

/* 그룹핑 드래깅 할 때 보이는 Accept 이미지 */
.aui-grid-grouping-dragging-proxy-accept {
	background: var(--aui-surface) var(--aui-ico-accept-ok) calc(100% - 8px) 50% / 16px 16px no-repeat;
	border-color: var(--aui-accent);
}

/* 그룹핑 패널에 있는 그룹핑 패널 아이템 */
.aui-grid-grouping-item {
	background: var(--aui-surface) var(--aui-ico-close) calc(100% - 9px) 50% / 12px 12px no-repeat;
	border: 1px solid var(--aui-border-strong);
	cursor: pointer;
	font-weight: bold;
	text-align: center;
	line-height: 13px;
	padding: 4px 30px 4px 20px;
	white-space: nowrap;
	color: var(--aui-text);
	border-radius: 999px;
	box-shadow: 0 1px 2px rgba(15, 23, 42, 0.05);
	transition:
		border-color 0.12s ease,
		background-color 0.12s ease;
}
/* 새 조작형 패널에만 적용하여 이전 엔진의 배경 이미지 X도 보존합니다. */
.aui-grid-grouping-interactive {
	background-image: none;
	padding: 0;
	touch-action: none;
	user-select: none;
}
/* 그룹핑 버튼은 전역 button 및 hover/focus/active 스타일의 영향을 받지 않게 합니다.
 * 고객 CSS의 !important에도 테마 모양을 유지하도록 버튼의 표시 속성만 보호합니다.
 * 색상과 글꼴은 부모 필드를 따르며 전체 초기화(all)는 사용하지 않습니다. */
.aui-grid .aui-grid-grouping-interactive > button.aui-grid-grouping-label,
.aui-grid .aui-grid-grouping-interactive > button.aui-grid-grouping-remove {
	appearance: none !important;
	-webkit-appearance: none !important;
	display: inline-block !important;
	position: static !important;
	float: none !important;
	box-sizing: border-box !important;
	width: auto !important;
	height: auto !important;
	min-width: 0 !important;
	min-height: 0 !important;
	max-width: none !important;
	max-height: none !important;
	margin: 0 !important;
	border: 0 !important;
	border-radius: inherit !important;
	background: transparent !important;
	color: inherit !important;
	-webkit-text-fill-color: currentColor !important;
	font: inherit !important;
	line-height: inherit !important;
	letter-spacing: inherit !important;
	word-spacing: inherit !important;
	text-align: inherit !important;
	text-indent: 0 !important;
	text-transform: none !important;
	text-decoration: none !important;
	white-space: nowrap !important;
	vertical-align: middle !important;
	box-shadow: none !important;
	text-shadow: none !important;
	opacity: 1 !important;
	filter: none !important;
	transform: none !important;
	transition: none !important;
	animation: none !important;
	cursor: pointer !important;
	outline: none !important;
}
.aui-grid .aui-grid-grouping-interactive > button.aui-grid-grouping-label {
	padding: 4px 4px 4px 16px !important;
}
.aui-grid .aui-grid-grouping-interactive > button.aui-grid-grouping-remove {
	padding: 4px 10px 4px 6px !important;
	font-size: 15px !important;
}
/* 고객 버튼의 장식 문구나 아이콘이 필드 제목과 제거 표시 옆에 추가되지 않게 합니다. */
.aui-grid .aui-grid-grouping-interactive > button.aui-grid-grouping-label::before,
.aui-grid .aui-grid-grouping-interactive > button.aui-grid-grouping-label::after,
.aui-grid .aui-grid-grouping-interactive > button.aui-grid-grouping-remove::before,
.aui-grid .aui-grid-grouping-interactive > button.aui-grid-grouping-remove::after {
	content: none !important;
	display: none !important;
}
/* 마우스 상태의 외부 outline은 제거하되 키보드 위치 표시는 유지합니다. */
.aui-grid .aui-grid-grouping-interactive > button.aui-grid-grouping-label:focus-visible,
.aui-grid .aui-grid-grouping-interactive > button.aui-grid-grouping-remove:focus-visible {
	outline: 2px solid #2776cc !important;
	outline-offset: -2px !important;
}
/* 아이콘과 순서 번호의 색상/크기는 헤더 정렬 클래스를 사용하고 패널 안의 배치만 지정합니다. */
.aui-grid-grouping-sort {
	display: inline-block;
	min-width: 12px;
	height: 16px;
	margin-left: 4px;
	vertical-align: middle;
	line-height: normal;
	font-weight: normal;
}
.aui-grid-grouping-moving {
	opacity: 0.45;
}
.aui-grid-grouping-insertion {
	position: absolute;
	top: 4px;
	bottom: 4px;
	width: 3px;
	background: #2776cc;
	pointer-events: none;
	z-index: 20;
}
/* 색상, 테두리, 그림자와 체크/X는 기존 헤더 그룹핑 프록시 스타일을 공유합니다. */
.aui-grid-grouping-drag-preview {
	position: fixed;
	pointer-events: none;
}

/* 그룹핑 패널 좌 스크롤 버턴 */
.aui-grid-grouping-prev-btn {
	background: var(--aui-surface-3) var(--aui-ico-chevron-left) no-repeat 50% 50% / 14px 14px;
}

.aui-grid-grouping-prev-btn:hover {
	background: var(--aui-border) var(--aui-ico-chevron-left) no-repeat 50% 50% / 14px 14px;
	cursor: pointer;
}

/* 그룹핑 패널 우 스크롤 버턴 */
.aui-grid-grouping-next-btn {
	background: var(--aui-surface-3) var(--aui-ico-chevron-right) no-repeat 50% 50% / 14px 14px;
}

.aui-grid-grouping-next-btn:hover {
	background: var(--aui-border) var(--aui-ico-chevron-right) no-repeat 50% 50% / 14px 14px;
	cursor: pointer;
}

/* 헤더 필터 아이콘 스타일 */
.aui-grid-header-filter-icon {
	border-left: 1px solid transparent;
	border-right: none;
	background: var(--aui-ico-filter) 50% 50% / 13px 13px no-repeat;
	box-sizing: content-box;
	cursor: pointer;
}

.aui-grid-header-filter-icon:hover {
	background: var(--aui-surface-3) var(--aui-ico-filter) 50% 50% / 13px 13px no-repeat;
}

/* 현재 필터링 된 상태 아이콘 스타일 */
.aui-grid-header-filter-icon-filtered {
	border-left: 1px solid transparent;
	border-right: none;
	background: var(--aui-accent) var(--aui-ico-filter-on) 50% 50% / 12px 12px no-repeat;
	box-sizing: content-box;
	cursor: pointer;
}

/* 필터 팝업 레이어 */
.aui-grid-filter-popup-layer {
	font-family: var(--aui-font);
	font-size: 12px;
	background: var(--aui-surface);
	border: 1px solid var(--aui-border);
	border-radius: var(--aui-radius);
	box-sizing: border-box;
	box-shadow: var(--aui-popup-shadow);
	-webkit-box-shadow: var(--aui-popup-shadow);
	-moz-box-shadow: var(--aui-popup-shadow);
	z-index: 1999;
	--aui-accent-hover: color-mix(in srgb, var(--aui-accent) 86%, #000000);
	--aui-accent-soft: color-mix(in srgb, var(--aui-accent) 8%, var(--aui-surface));
	--aui-accent-soft-2: color-mix(in srgb, var(--aui-accent) 15%, var(--aui-surface));
	--aui-accent-text: color-mix(in srgb, var(--aui-accent) 72%, var(--aui-text-strong));
	--aui-focus-ring: color-mix(in srgb, var(--aui-accent) 24%, transparent);
	--aui-checked-row-bg: color-mix(in srgb, var(--aui-accent) 5%, var(--aui-surface));
	color-scheme: var(--aui-color-scheme);
	accent-color: var(--aui-accent);
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	color: var(--aui-text);
}

/* 계층 필터 도구줄: 전역 button 스타일과 분리하고 테마의 글자색을 따릅니다. */
.aui-grid-filter-popup-layer .aui-grid-filter-tree-tools {
	display: flex;
	align-items: center;
	gap: 10px;
	height: 24px;
	margin: 0 6px;
}
.aui-grid-filter-popup-layer .aui-grid-filter-tree-tools > button,
.aui-grid-filter-popup-layer .aui-grid-filter-tree-tools > button:hover,
.aui-grid-filter-popup-layer .aui-grid-filter-tree-tools > button:active,
.aui-grid-filter-popup-layer .aui-grid-filter-tree-tools > button:focus {
	appearance: none !important;
	background: transparent !important;
	color: inherit !important;
	font: inherit !important;
	line-height: 20px !important;
	border: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	margin: 0 !important;
	padding: 0 2px !important;
	width: auto !important;
	height: 20px !important;
	min-width: 0 !important;
	min-height: 0 !important;
	cursor: pointer !important;
	text-transform: none !important;
}
.aui-grid-filter-popup-layer .aui-grid-filter-tree-tools > button:hover {
	text-decoration: underline !important;
}
.aui-grid-filter-popup-layer .aui-grid-filter-tree-tools > button:focus-visible {
	outline: 1px solid currentColor !important;
	outline-offset: 1px;
}

/* 필터 초기화 */
.aui-grid-filter-popup-layer > span:first-child {
	background: var(--aui-ico-filter) 8px 50% / 14px 14px no-repeat;
	margin: 10px 0px 4px 0px;
	display: block;
	padding: 4px;
	padding-left: 24px;
	line-height: 18px;
	border-radius: var(--aui-radius-sm);
}

/* 필터 초기화 over */
.aui-grid-filter-popup-layer > span:first-child:hover {
	background: var(--aui-surface-3) var(--aui-ico-filter) 8px 50% / 14px 14px no-repeat;
	cursor: pointer;
}

/* 필터 - 확장 필터 */
.aui-grid-filter-popup-layer .aui-grid-filter-exmenu-span {
	background: var(--aui-ico-chevron-right) calc(100% - 6px) 50% / 12px 12px no-repeat;
	margin: 0;
	display: block;
	padding: 4px;
	padding-left: 24px;
	line-height: 18px;
	border-radius: var(--aui-radius-sm);
}

/* 필터 - 확장 필터 over */
.aui-grid-filter-popup-layer .aui-grid-filter-exmenu-span:hover {
	background-color: var(--aui-surface-3);
	cursor: pointer;
}

/* 필터 - 확장 필터 선택됨 */
.aui-grid-filter-popup-layer .aui-grid-filter-exmenu-span-selected {
	background-color: var(--aui-accent-soft);
	color: var(--aui-accent-text);
}

/* 필터 - 확장 필터 서브 메뉴 */
.aui-grid-filter-popup-filter-exmenu-sub-layer {
	font-family: var(--aui-font);
	font-size: 12px;
	background: var(--aui-surface);
	border: 1px solid var(--aui-border);
	box-sizing: border-box;
	box-shadow: var(--aui-popup-shadow);
	-webkit-box-shadow: var(--aui-popup-shadow);
	-moz-box-shadow: var(--aui-popup-shadow);
	z-index: 1999;
	--aui-accent-hover: color-mix(in srgb, var(--aui-accent) 86%, #000000);
	--aui-accent-soft: color-mix(in srgb, var(--aui-accent) 8%, var(--aui-surface));
	--aui-accent-soft-2: color-mix(in srgb, var(--aui-accent) 15%, var(--aui-surface));
	--aui-accent-text: color-mix(in srgb, var(--aui-accent) 72%, var(--aui-text-strong));
	--aui-focus-ring: color-mix(in srgb, var(--aui-accent) 24%, transparent);
	--aui-checked-row-bg: color-mix(in srgb, var(--aui-accent) 5%, var(--aui-surface));
	color-scheme: var(--aui-color-scheme);
	accent-color: var(--aui-accent);
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	color: var(--aui-text);
	border-radius: var(--aui-radius);
}

.aui-grid-filter-exmenu-sub-ul {
	list-style: none;
	padding: 0;
	margin: 0;
	display: block;
	outline: none;
}

.aui-grid-filter-exmenu-sub-ul .aui-grid-filter-exmenu-sub-li {
	position: relative;
	margin: 0;
	padding: 3px 20px 3px 30px;
	cursor: pointer;
	min-height: 0;
	min-width: 140px;
	box-sizing: border-box;
	border-radius: var(--aui-radius-sm);
}

.aui-grid-filter-exmenu-sub-ul .aui-grid-filter-exmenu-sub-li:hover {
	background: var(--aui-surface-3);
	cursor: pointer;
}

.aui-grid-filter-exmenu-sub-ul .aui-grid-filter-exmenu-sub-divider {
	margin: 2px 0;
	height: 0;
	font-size: 0;
	line-height: 0;
	border-width: 1px 0 0 0;
	border-top-color: var(--aui-line);
	border-top-style: solid;
}

/* 필드 - 확장 필터 사용자 지정 modal 컨테이너 */
.aui-grid-filter-modal {
	position: fixed;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 2050;
	display: block;
	overflow-x: hidden;
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
	outline: 0;
	--aui-accent-hover: color-mix(in srgb, var(--aui-accent) 86%, #000000);
	--aui-accent-soft: color-mix(in srgb, var(--aui-accent) 8%, var(--aui-surface));
	--aui-accent-soft-2: color-mix(in srgb, var(--aui-accent) 15%, var(--aui-surface));
	--aui-accent-text: color-mix(in srgb, var(--aui-accent) 72%, var(--aui-text-strong));
	--aui-focus-ring: color-mix(in srgb, var(--aui-accent) 24%, transparent);
	--aui-checked-row-bg: color-mix(in srgb, var(--aui-accent) 5%, var(--aui-surface));
	background: var(--aui-backdrop);
}

/* 사용자 필터 - 숫자, 텍스트 필터 Modal 다이얼로그 */
.aui-grid-filter-modal-dialog {
	font-family: var(--aui-font);
	font-size: 12px;
	position: relative;
	width: 100%;
	max-width: 480px;
	margin: 0 auto;
	top: 50%;
	margin-top: -130px;
	background-color: var(--aui-surface);
	-webkit-background-clip: padding-box;
	background-clip: padding-box;
	border: 1px solid var(--aui-border);
	border: 1px solid var(--aui-border);
	border-radius: 12px;
	outline: 0;
	box-shadow:
		0 24px 64px -12px rgba(15, 23, 42, 0.35),
		0 8px 16px -8px rgba(15, 23, 42, 0.15);
	box-sizing: border-box;
	color-scheme: var(--aui-color-scheme);
	accent-color: var(--aui-accent);
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	color: var(--aui-text);
}

.aui-grid-filter-modal-dialog-header {
	min-height: 18px;
	padding: 15px;
	border-bottom: 1px solid var(--aui-line);
}

/* 필터 modal 닫기 버턴 */
.aui-grid-filter-modal-close-btn {
	width: 16px;
	height: 16px;
	background: var(--aui-ico-close) 50% 50% / 16px 16px no-repeat;
	position: absolute;
	right: 10px;
	top: 10px;
	cursor: pointer;
	border-radius: var(--aui-radius-sm);
}

.aui-grid-filter-modal-dialog-header .aui-grid-filter-modal-header-title {
	font-size: 1.2em;
	font-weight: bold;
	color: var(--aui-text-strong);
}

.aui-grid-filter-modal-dialog-body {
	position: relative;
	padding: 5px 15px 15px 15px;
}

.aui-grid-filter-modal-dialog-body ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

.aui-grid-filter-modal-dialog-footer {
	padding: 15px;
	text-align: right;
	border-top: 1px solid var(--aui-line);
	background: var(--aui-surface-2);
	border-radius: 0 0 12px 12px;
}

.aui-grid-filter-modal-dialog-body .aui-grid-filter-modal-body-container li select {
	width: 120px;
	padding: 4px;
	border: 1px solid var(--aui-border-strong);
	font-size: inherit;
	color: var(--aui-text);
	background-color: var(--aui-surface);
	border-radius: var(--aui-radius-sm);
}

.aui-grid-filter-modal-dialog-body .aui-grid-filter-modal-body-container li input[type='text'] {
	padding: 4px;
	margin-left: 10px;
	width: 304px;
	box-sizing: border-box;
	border: 1px solid var(--aui-border-strong);
	font-size: inherit;
	color: var(--aui-text);
	background-color: var(--aui-surface);
	border-radius: var(--aui-radius-sm);
}

.aui-grid-filter-modal-dialog-body .aui-grid-filter-modal-body-container li input[type='radio'] {
	margin: 0 4px 2px 20px;
	vertical-align: middle;
}

.aui-grid-filter-modal-dialog-body .aui-grid-filter-modal-body-container > li {
	cursor: default;
	padding: 6px 4px;
}

/* 필드 설정 확인, 취소 버턴 */
.aui-grid-filter-modal-dialog-footer .aui-button {
	background: var(--aui-surface);
	border: 1px solid var(--aui-border-strong);
	background-clip: padding-box;
	display: inline-block;
	line-height: 1em;
	border-radius: var(--aui-radius-sm);
	appearance: none;
	-webkit-appearance: none;
	font-weight: bold;
	text-align: center;
	cursor: pointer;
	padding: 6px 2em;
	color: var(--aui-text);
	box-shadow: 0 1px 2px rgba(15, 23, 42, 0.05);
	transition:
		background-color 0.12s ease,
		border-color 0.12s ease;
}

.aui-grid-filter-modal-dialog-footer .aui-button:hover {
	background: var(--aui-surface-3);
}

/* 필터 - 확장 필터 modal 사용자 지정 종료.*/

/* 필터 스크롤 컨테이너 영역*/
.aui-grid-filter-popup-layer .aui-container {
	border: 1px solid var(--aui-border);
	margin: 10px 5px;
	border-radius: var(--aui-radius-sm);
}

/* 필터 스크롤 컨테이너 스크롤 재정의*/
.aui-grid-filter-popup-layer .aui-container .aui-hscrollbar .aui-scroll-thumb,
.aui-grid-filter-popup-layer .aui-container .aui-vscrollbar .aui-scroll-thumb {
	background: var(--aui-scroll-thumb);
}

/* 필터 안의 Too may Items..문구 */
.aui-grid-filter-popup-layer .aui-container .aui-grid-filter-info-message {
	padding-left: 4px;
	font-weight: bold;
	cursor: default;
	color: var(--aui-text-muted);
}

/* 필터 체크박스*/
.aui-grid-filter-popup-layer .aui-container .aui-check-label-box {
	padding: 2px 6px;
	cursor: default;
}

.aui-grid-filter-popup-layer .aui-container .aui-check-label-box:hover {
	background: var(--aui-hover);
}

.aui-grid-filter-popup-layer .aui-container .aui-check-label-box .aui-checkbox {
	vertical-align: bottom;
	margin-right: 4px;
	margin-top: 0 !important;
}

/* 필터 자동완성 검색 인풋 시작 */
.aui-grid-filter-popup-layer .aui-autocomplete-input {
	overflow: hidden;
	position: relative;
	height: 20px;
	margin: 10px 5px;
	border: 1px solid var(--aui-border-strong);
	vertical-align: middle;
	background: var(--aui-surface);
	border-radius: var(--aui-radius-sm);
	transition:
		border-color 0.12s ease,
		box-shadow 0.12s ease;
}

.aui-grid-filter-popup-layer .aui-autocomplete-input .aui-input-text {
	width: 166px;
	height: 18px;
	border: 0;
	font-size: 12px;
	outline: none;
	line-height: 18px;
	vertical-align: middle;
	padding: 0 4px;
	box-sizing: border-box;
	color: var(--aui-text);
	background: transparent;
}

.aui-input-text::-ms-clear {
	display: none;
}

.aui-grid-filter-popup-layer .aui-autocomplete-input .aui-autocomplete-btn {
	position: absolute;
	top: 1px;
	right: 1px;
	display: inline-block;
	background: var(--aui-ico-search) 50% 50% / 13px 13px no-repeat;
	width: 16px;
	height: 16px;
}

.aui-grid-filter-popup-layer-footer {
	text-align: right;
	padding-right: 5px;
	padding-bottom: 5px;
}

.aui-grid-filter-popup-layer-footer .aui-button-disable {
	cursor: default !important;
	border: 1px solid var(--aui-line) !important;
	color: var(--aui-text-subtle) !important;
	background: var(--aui-surface-2) !important;
}

.aui-grid-filter-popup-layer .filer-layer-resizer {
	background: var(--aui-ico-resizer) 0 0 / 8px 8px no-repeat;
	cursor: se-resize;
	right: 1px;
	bottom: 1px;
	width: 8px;
	height: 8px;
}

/* 인라인 필터 박스 */
.aui-grid-filter-inline-box {
	border: 1px solid var(--aui-border-strong);
	box-sizing: border-box !important;
	background: var(--aui-surface) !important;
	border-radius: var(--aui-radius-sm);
	transition:
		border-color 0.12s ease,
		box-shadow 0.12s ease;
}

.aui-grid-filter-inline-box-focus {
	border-color: var(--aui-accent);
	box-shadow: 0 0 0 3px var(--aui-focus-ring);
}

/* 인라인 필터 인풋에 표시되는 클리어(X) 버튼 */
.aui-grid-filter-inline-input-clear {
	display: inline-block;
	background: var(--aui-ico-clear) 50% 50% no-repeat;
	background-size: 14px 14px;
	vertical-align: middle;
	cursor: pointer;
	width: 16px;
	height: 16px;
	opacity: 0.85;
}

/* 인라인 필터 인풋 */
.aui-grid-filter-inline-input {
	font-size: 12px;
	height: 24px;
	padding: 0 4px;
	border: none !important;
	box-sizing: border-box !important;
	background: var(--aui-surface) !important;
	transition: none !important;
	color: var(--aui-text);
}

.aui-grid-filter-inline-input:focus {
	outline: none !important;
}

.aui-grid-filter-inline-input::-ms-clear {
	display: none;
}

/* 인라인 필터 행 스타일 */
.aui-grid-filter-inline-row {
	background: var(--aui-surface-2);
}

/* 컨텍스트 메뉴 */
.aui-grid-context-popup-layer {
	font-size: 12px;
	min-width: 180px;
	max-width: 300px;
	padding: 10px 0px;
	background: var(--aui-surface);
	border: 1px solid var(--aui-border);
	border-radius: var(--aui-radius);
	box-shadow: var(--aui-popup-shadow);
	-webkit-box-shadow: var(--aui-popup-shadow);
	-moz-box-shadow: var(--aui-popup-shadow);
	z-index: 99999;
	--aui-accent-hover: color-mix(in srgb, var(--aui-accent) 86%, #000000);
	--aui-accent-soft: color-mix(in srgb, var(--aui-accent) 8%, var(--aui-surface));
	--aui-accent-soft-2: color-mix(in srgb, var(--aui-accent) 15%, var(--aui-surface));
	--aui-accent-text: color-mix(in srgb, var(--aui-accent) 72%, var(--aui-text-strong));
	--aui-focus-ring: color-mix(in srgb, var(--aui-accent) 24%, transparent);
	--aui-checked-row-bg: color-mix(in srgb, var(--aui-accent) 5%, var(--aui-surface));
	color-scheme: var(--aui-color-scheme);
	accent-color: var(--aui-accent);
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	color: var(--aui-text);
}
.aui-grid-context-list-ul {
	list-style: none;
	margin: 0;
	padding: 0;
}
/* 컨텍스트 아이템 */
.aui-grid-context-item {
	position: relative;
	cursor: default;
	text-align: left;
	height: 28px;
	line-height: 28px;
	padding: 0 24px 0 24px;
	white-space: nowrap;
	margin: 0;
	text-overflow: ellipsis;
	overflow: hidden;
	border-radius: var(--aui-radius-sm);
}

.aui-grid-context-item:hover {
	background-color: var(--aui-surface-3);
	color: var(--aui-text-strong);
}

.aui-grid-context-item-disable {
	color: var(--aui-text-subtle) !important;
	background: transparent !important;
	cursor: default !important;
	opacity: 0.7;
}

/* 컨텍스트 아이템 구분 라인 */
.aui-grid-context-item-line {
	height: 1px;
	padding: 0 10px 0 24px;
	margin: 0;
	border-bottom: 1px solid var(--aui-line);
}

/* 컨텍스트 서브 메뉴*/
.aui-grid-context-list-ul-sub {
	position: absolute;
	list-style: none;
	margin: 0;
	padding: 0;
	min-width: 180px;
	max-width: 300px;
	padding: 10px 0px;
	background: var(--aui-surface);
	border: 1px solid var(--aui-border);
	border-radius: var(--aui-radius);
	box-shadow: var(--aui-popup-shadow);
	-webkit-box-shadow: var(--aui-popup-shadow);
	-moz-box-shadow: var(--aui-popup-shadow);
	z-index: 99999;
	color: var(--aui-text);
}
.aui-grid-context-item-has-sub-menu {
	background-size: 14px 14px;
	background-position: calc(100% - 8px) 50%;
	background-image: var(--aui-ico-chevron-right);
	background-repeat: no-repeat;
	overflow: visible !important;
}

/* 내보내기 진행 표시 스타일 */
.aui-grid-export-progress-container {
	width: 280px;
	height: 80px;
	border: 1px solid var(--aui-border);
	box-sizing: border-box !important;
	margin: 0 auto;
	background: var(--aui-surface);
	background: var(--aui-surface);
	background: var(--aui-surface);
	background: var(--aui-surface);
	background: var(--aui-surface);
	background: var(--aui-surface);
	box-shadow: var(--aui-popup-shadow);
	-webkit-box-shadow: var(--aui-popup-shadow);
	-moz-box-shadow: var(--aui-popup-shadow);
	--aui-accent-hover: color-mix(in srgb, var(--aui-accent) 86%, #000000);
	--aui-accent-soft: color-mix(in srgb, var(--aui-accent) 8%, var(--aui-surface));
	--aui-accent-soft-2: color-mix(in srgb, var(--aui-accent) 15%, var(--aui-surface));
	--aui-accent-text: color-mix(in srgb, var(--aui-accent) 72%, var(--aui-text-strong));
	--aui-focus-ring: color-mix(in srgb, var(--aui-accent) 24%, transparent);
	--aui-checked-row-bg: color-mix(in srgb, var(--aui-accent) 5%, var(--aui-surface));
	color-scheme: var(--aui-color-scheme);
	accent-color: var(--aui-accent);
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	color: var(--aui-text);
	border-radius: var(--aui-radius);
}

.aui-grid-export-progress-wrapper {
	position: relative;
	width: 260px;
	margin-left: 10px;
	margin-top: 14px;
	height: 20px;
	overflow: hidden;
	box-sizing: border-box !important;
	background-color: var(--aui-surface-3);
	border: 1px solid var(--aui-surface-3);
	-webkit-box-shadow: none;
	box-shadow: none;
	border-radius: 999px;
}

.aui-grid-export-progress-bar {
	background-color: var(--aui-accent);
	width: 0%;
	height: 20px;
	background-image: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.18));
	border-radius: 999px;
	transition: width 0.2s ease;
}

.aui-grid-export-progress-percent {
	position: absolute;
	display: inline-block;
	top: 1px;
	left: 48%;
	color: var(--aui-text-strong);
	font-weight: bold;
	text-shadow:
		0 0 3px var(--aui-surface),
		0 0 1px var(--aui-surface);
}

.aui-grid-export-progress-title {
	margin-top: 10px;
	margin-right: 40px;
	text-indent: 10px;
	color: var(--aui-text-strong);
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
}

/* 내보내기 진행 표시 스타일 끝 */

/* 모든 칼럼 렌더러의 베이스 */
.aui-grid-renderer-base {
	text-overflow: ellipsis;
	box-sizing: content-box;
	-webkit-box-sizing: content-box;
	-moz-box-sizing: content-box;
}

.aui-grid-custom-complex-renderer {
	position: relative;
}

/* 버턴 렌더러 스타일 */
.aui-grid-button-renderer {
	color: var(--aui-text);
	background: var(--aui-surface);
	border: 1px solid var(--aui-border-strong);
	background-clip: padding-box;
	box-sizing: border-box;
	display: inline-block;
	line-height: 1em;
	border-radius: var(--aui-radius-sm);
	appearance: none;
	-webkit-appearance: none;
	font-weight: bold;
	text-align: center;
	cursor: pointer;
	padding: 4px;
	box-shadow: 0 1px 2px rgba(15, 23, 42, 0.05);
	transition:
		background-color 0.12s ease,
		border-color 0.12s ease,
		color 0.12s ease;
}

.aui-grid-button-renderer:hover {
	background: var(--aui-accent-soft);
	color: var(--aui-accent-text);
	border-color: color-mix(in srgb, var(--aui-accent) 45%, var(--aui-border-strong));
}

.aui-grid-button-percent-width {
	width: 80%;
}

/* 버튼 비활성화 처리 */
.aui-grid-button-renderer-disabled {
	cursor: not-allowed;
	border: 1px solid var(--aui-line);
	color: var(--aui-text-subtle);
	background: var(--aui-surface-2);
	box-shadow: none;
}

/* 버턴 렌더러 스타일 끝 */

/** 넘버 스텝퍼 렌더러 시작 */
.aui-grid-number-step-renderer {
	/*border-radius: 3px;*/
	margin: 0;
	overflow: hidden;
	position: relative;
}

.aui-grid-number-step-input {
	background: var(--aui-surface);
	border: 1px solid var(--aui-border-strong);
	overflow: hidden;
	z-index: 49;
	text-align: inherit;
	padding: 0;
	padding-right: 26px;
	font-size: var(--aui-font-size);
	color: var(--aui-text-strong);
	max-height: 26px;
	line-height: 1em;
	appearance: none;
	-webkit-appearance: none;
	outline: none;
	cursor: default;
	box-sizing: content-box;
	-webkit-box-sizing: content-box;
	-moz-box-sizing: content-box;
	text-indent: 12px;
}

.aui-grid-number-step-input::-ms-clear {
	display: none;
}

.aui-grid-number-step-up-btn {
	border: 1px solid var(--aui-border-strong);
	background: var(--aui-surface-2) var(--aui-ico-caret-up) 50% 50% / 8px 5px no-repeat;
	border-bottom: none;
	cursor: pointer;
	display: block;
	height: 50%;
	top: 0;
	right: 0;
	text-indent: -99999px;
	box-sizing: content-box;
	-webkit-box-sizing: content-box;
	-moz-box-sizing: content-box;
}

.aui-grid-number-step-down-btn {
	border: 1px solid var(--aui-border-strong);
	background: var(--aui-surface-2) var(--aui-ico-caret-down) 50% 50% / 8px 5px no-repeat;
	border-top: none;
	cursor: pointer;
	display: block;
	height: 50%;
	right: 0;
	bottom: 0;
	text-indent: -99999px;
	box-sizing: content-box;
	-webkit-box-sizing: content-box;
	-moz-box-sizing: content-box;
}

.aui-grid-number-step-up-btn:hover {
	background: var(--aui-accent-soft-2) var(--aui-ico-caret-up) 50% 50% / 8px 5px no-repeat;
}

.aui-grid-number-step-down-btn:hover {
	background: var(--aui-accent-soft-2) var(--aui-ico-caret-down) 50% 50% / 8px 5px no-repeat;
}

.aui-grid-number-step-btn-horizontal {
	border-top: 1px solid var(--aui-border-strong);
	border-bottom: 1px solid var(--aui-border-strong);
	height: 100%;
	box-sizing: border-box;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
}

/** 넘버 스텝퍼 렌더러 끝 */

/* 드랍다운리스트 렌더러 시작 */
.aui-grid-drop-list-wrapper {
	background: var(--aui-surface);
	background: var(--aui-surface);
	background: var(--aui-surface);
	background: var(--aui-surface);
	background: var(--aui-surface);
	background: var(--aui-surface);
	border: 1px solid var(--aui-border-strong);
	border-radius: var(--aui-radius-sm);
	display: block;
	height: 22px;
	color: var(--aui-text);
	font-weight: normal;
	font-size: 1em;
	line-height: 1em;
	box-sizing: content-box;
	transition: border-color 0.12s ease;
}

.aui-grid-drop-list-content {
	display: inline-block;
	border-radius: 0px;
	margin: 0;
	padding: 0;
	cursor: pointer;
	overflow: hidden;
	font-size: 1em;
	line-height: 2em;
	vertical-align: top;
	text-align: center;
}

.aui-grid-drop-list-icon {
	display: inline-block;
	border-left: 1px solid var(--aui-line);
	background: var(--aui-ico-chevron-down) 50% 50% / 12px 12px no-repeat;
	cursor: pointer;
	height: 22px;
}

/* 드랍다운리스트 비활성화 처리 */
.aui-grid-drop-list-renderer-disabled {
	border: 1px solid var(--aui-line);
	background: var(--aui-surface-2);
}

.aui-grid-drop-list-renderer-disabled .aui-grid-drop-list-content {
	cursor: not-allowed;
	color: var(--aui-text-subtle);
}

/* 드랍다운리스트 렌더러 끝 */

/* 드랍다운리스트, 콤보박스에서 나오는 리스트의 상위 랩퍼 */
.aui-grid-drop-list-item-wrapper {
	background: var(--aui-surface);
	font-size: 12px;
	border: 1px solid var(--aui-border);
	overflow-y: auto;
	overflow-x: auto;
	text-align: center;
	border-radius: var(--aui-radius);
	z-index: 1999;
	max-height: 300px;
	max-width: 600px;
	box-shadow: var(--aui-popup-shadow);
	-webkit-box-shadow: var(--aui-popup-shadow);
	-moz-box-shadow: var(--aui-popup-shadow);
	--aui-accent-hover: color-mix(in srgb, var(--aui-accent) 86%, #000000);
	--aui-accent-soft: color-mix(in srgb, var(--aui-accent) 8%, var(--aui-surface));
	--aui-accent-soft-2: color-mix(in srgb, var(--aui-accent) 15%, var(--aui-surface));
	--aui-accent-text: color-mix(in srgb, var(--aui-accent) 72%, var(--aui-text-strong));
	--aui-focus-ring: color-mix(in srgb, var(--aui-accent) 24%, transparent);
	--aui-checked-row-bg: color-mix(in srgb, var(--aui-accent) 5%, var(--aui-surface));
	color-scheme: var(--aui-color-scheme);
	accent-color: var(--aui-accent);
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	color: var(--aui-text);
}

/* 드랍다운리스트, 콤보박스에서 나오는 리스트 개별 아이템 ul */
.aui-grid-drop-list-ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

/* 드랍다운리스트, 콤보박스에서 나오는 리스트 개별 아이템 li */
.aui-grid-drop-list-item {
	cursor: default;
	height: 24px;
	line-height: 24px;
	padding: 0 4px;
	white-space: nowrap;
	margin: 0;
}

.aui-grid-drop-list-item-selected {
	background: var(--aui-accent-soft-2);
	color: var(--aui-accent-text);
}

.aui-grid-drop-list-item:hover {
	background: var(--aui-surface-3);
	color: var(--aui-text-strong);
}

/* 드랍다운리스트 다중 선택에서 선택된 아이템 체크박스 표시 li */
.aui-grid-drop-list-item-checked {
	background: var(--aui-accent-soft) var(--aui-ico-check-accent) no-repeat 6px 50% / 13px 13px;
	color: var(--aui-accent-text);
}

.aui-grid-drop-list-item-checked:hover {
	background: var(--aui-accent-soft-2) var(--aui-ico-check-accent) no-repeat 6px 50% / 13px 13px;
	color: var(--aui-accent-text);
}

.aui-grid-drop-list-all-check {
	border-bottom: 1px solid var(--aui-line);
	font-weight: bold;
}

/* 바렌더러 바게이지 시작*/
/* 바게이지 전체 랩핑 div */
.aui-grid-bar-renderer {
	position: relative;
}

/* 바게이지 텍스트 span*/
.aui-grid-bar-renderer span {
	position: relative;
	margin-top: 4px;
	padding: 0 2px;
}

/* 바게이지 바 베이스*/
.aui-grid-bar-renderer-bar-base {
	box-sizing: border-box;
	border: 1px solid transparent;
	border-radius: 3px;
}

/* 바게이지 일반 바 */
.aui-grid-bar-renderer-normal {
	background: linear-gradient(to right, color-mix(in srgb, var(--aui-accent) 55%, var(--aui-surface)), var(--aui-accent));
	background: linear-gradient(to right, color-mix(in srgb, var(--aui-accent) 55%, var(--aui-surface)), var(--aui-accent));
	background: linear-gradient(to right, color-mix(in srgb, var(--aui-accent) 55%, var(--aui-surface)), var(--aui-accent));
	background: linear-gradient(to right, color-mix(in srgb, var(--aui-accent) 55%, var(--aui-surface)), var(--aui-accent));
	background: linear-gradient(to right, color-mix(in srgb, var(--aui-accent) 55%, var(--aui-surface)), var(--aui-accent));
	background: linear-gradient(to right, color-mix(in srgb, var(--aui-accent) 55%, var(--aui-surface)), var(--aui-accent));
}

/* 바게이지 오른쪽에서 왼쪽으로 렌더링 될 때  바 */
.aui-grid-bar-renderer-reverse {
	background: linear-gradient(to left, color-mix(in srgb, var(--aui-danger) 55%, var(--aui-surface)), var(--aui-danger));
	background: linear-gradient(to left, color-mix(in srgb, var(--aui-danger) 55%, var(--aui-surface)), var(--aui-danger));
	background: linear-gradient(to left, color-mix(in srgb, var(--aui-danger) 55%, var(--aui-surface)), var(--aui-danger));
	background: linear-gradient(to left, color-mix(in srgb, var(--aui-danger) 55%, var(--aui-surface)), var(--aui-danger));
	background: linear-gradient(to left, color-mix(in srgb, var(--aui-danger) 55%, var(--aui-surface)), var(--aui-danger));
	background: linear-gradient(to left, color-mix(in srgb, var(--aui-danger) 55%, var(--aui-surface)), var(--aui-danger));
}

/* 바게이지 양수 음수 함께 사용되는 영역에서 음수 바 */
.aui-grid-bar-renderer-negative {
	background: var(--aui-danger);
}

/* 바게이지 양수 음수 함께 사용되는 영역에서 양수 바 */
.aui-grid-bar-renderer-positive {
	background: var(--aui-success);
}

/* 바렌더러 바게이지 끝*/

/* 달력 */
.aui-grid-calendar-wrapper {
	z-index: 1999;
	background: var(--aui-surface);
	box-shadow: var(--aui-popup-shadow);
	-webkit-box-shadow: var(--aui-popup-shadow);
	-moz-box-shadow: var(--aui-popup-shadow);
	--aui-accent-hover: color-mix(in srgb, var(--aui-accent) 86%, #000000);
	--aui-accent-soft: color-mix(in srgb, var(--aui-accent) 8%, var(--aui-surface));
	--aui-accent-soft-2: color-mix(in srgb, var(--aui-accent) 15%, var(--aui-surface));
	--aui-accent-text: color-mix(in srgb, var(--aui-accent) 72%, var(--aui-text-strong));
	--aui-focus-ring: color-mix(in srgb, var(--aui-accent) 24%, transparent);
	--aui-checked-row-bg: color-mix(in srgb, var(--aui-accent) 5%, var(--aui-surface));
	color-scheme: var(--aui-color-scheme);
	accent-color: var(--aui-accent);
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	border-radius: var(--aui-radius);
}

.aui-grid-calendar-wrapper .aui-calendar {
	font-family: var(--aui-font);
	background: var(--aui-surface);
	font-size: 12px;
	width: 190px;
	height: auto;
	border: 1px solid var(--aui-border);
	border-radius: var(--aui-radius);
	color: var(--aui-text);
}

.aui-grid-calendar-wrapper .aui-calendar .aui-calendar-header {
	height: 38px;
	background: var(--aui-surface);
	background: var(--aui-surface);
	background: var(--aui-surface);
	background: var(--aui-surface);
	background: var(--aui-surface);
	background: var(--aui-surface);
	border-bottom: 1px solid var(--aui-line);
}

.aui-grid-calendar-wrapper .aui-calendar .aui-calendar-left-btn {
	display: inline-block;
	position: absolute;
	top: 2px;
	left: 2px;
	width: 20px;
	height: 36px;
	box-sizing: border-box;
	background: var(--aui-ico-chevron-left) no-repeat 50% 50% / 14px 14px;
	border-radius: var(--aui-radius-sm);
}

.aui-grid-calendar-wrapper .aui-calendar .aui-calendar-right-btn {
	display: inline-block;
	position: absolute;
	top: 2px;
	right: 2px;
	width: 20px;
	height: 36px;
	box-sizing: border-box;
	background: var(--aui-ico-chevron-right) no-repeat 50% 50% / 14px 14px;
	border-radius: var(--aui-radius-sm);
}

.aui-grid-calendar-wrapper .aui-calendar .aui-calendar-left-btn:hover,
.aui-grid-calendar-wrapper .aui-calendar .aui-calendar-right-btn:hover {
	cursor: pointer;
	background-color: var(--aui-surface-3);
}

.aui-grid-calendar-wrapper .aui-calendar .aui-calendar-footer {
	background: var(--aui-surface-2);
	background: var(--aui-surface-2);
	background: var(--aui-surface-2);
	background: var(--aui-surface-2);
	background: var(--aui-surface-2);
	background: var(--aui-surface-2);
	height: 30px;
	position: relative;
	text-align: center;
}

.aui-grid-calendar-wrapper .aui-calendar .aui-calendar-today-btn {
	display: inline-block;
	position: absolute;
	font-weight: bold;
	top: 3px;
	right: 2px;
	padding: 2px 4px;
	border: 1px solid var(--aui-accent);
	color: var(--aui-accent-contrast);
	background: var(--aui-accent);
	border-radius: var(--aui-radius-sm);
	cursor: pointer;
	box-sizing: border-box;
	transition: background-color 0.12s ease;
}

.aui-grid-calendar-wrapper .aui-calendar .aui-calendar-today-btn:hover {
	border: 1px solid var(--aui-accent-hover);
	background: var(--aui-accent-hover);
}

.aui-grid-calendar-wrapper .aui-calendar .aui-calendar-delete-btn {
	display: inline-block;
	position: absolute;
	top: 3px;
	left: 2px;
	padding: 2px 4px;
	border: 1px solid var(--aui-border-strong);
	background: var(--aui-surface);
	border-radius: var(--aui-radius-sm);
	cursor: pointer;
	box-sizing: border-box;
	color: var(--aui-text);
	transition: background-color 0.12s ease;
}

.aui-grid-calendar-wrapper .aui-calendar .aui-calendar-delete-btn:hover {
	border: 1px solid var(--aui-border-strong);
	background: var(--aui-surface-3);
}

.aui-grid-calendar-wrapper .aui-calendar .aui-calendar-title {
	display: inline-block;
	text-align: center;
	width: 100%;
	font-size: 14px;
	margin-top: 10px;
	box-sizing: border-box;
	color: var(--aui-text-strong);
}

.aui-grid-calendar-wrapper .aui-calendar .aui-calendar-title:hover {
	cursor: pointer;
	color: var(--aui-accent-text);
}

.aui-grid-calendar-wrapper .aui-calendar .aui-calendar-table {
	font-size: 12px;
	width: 100%;
	border-spacing: 1px;
	border-collapse: separate;
}

.aui-grid-calendar-wrapper .aui-calendar .day-title {
	font-weight: bold;
	text-align: center;
	color: var(--aui-text-subtle);
}

.aui-grid-calendar-wrapper .aui-calendar .weekday {
	text-align: center;
	color: var(--aui-text);
	padding: 4px;
	border: 1px solid transparent;
	box-sizing: border-box;
	background: transparent;
	background: transparent;
	background: transparent;
	background: transparent;
	background: transparent;
	background: transparent;
	border-radius: var(--aui-radius-sm);
}

.aui-grid-calendar-wrapper .aui-calendar .weekday:hover {
	cursor: pointer;
	border: 1px solid transparent;
	background: var(--aui-surface-3);
}

.aui-grid-calendar-wrapper .aui-calendar .sunday {
	color: var(--aui-sunday);
}

.aui-grid-calendar-wrapper .aui-calendar .saturday {
	color: var(--aui-saturday);
}

.aui-grid-calendar-wrapper .aui-calendar .selected-day {
	background: var(--aui-accent);
	background: var(--aui-accent);
	background: var(--aui-accent);
	background: var(--aui-accent);
	background: var(--aui-accent);
	background: var(--aui-accent);
	color: var(--aui-accent-contrast) !important;
	box-shadow: 0 2px 6px -1px color-mix(in srgb, var(--aui-accent) 50%, transparent);
}

.aui-grid-calendar-wrapper .aui-calendar .today {
	border: 1px solid var(--aui-accent);
	box-sizing: border-box;
}

/* 이전, 다음 달의 여분 날짜(day) */
.aui-grid-calendar-wrapper .aui-calendar .extraday {
	text-align: center;
	color: var(--aui-text-subtle);
	padding: 4px;
	border: 1px solid transparent;
	box-sizing: border-box;
	opacity: 0.7;
	border-radius: var(--aui-radius-sm);
}

.aui-grid-calendar-wrapper .aui-calendar .extraday:hover {
	cursor: pointer;
	border: 1px solid transparent;
	background: var(--aui-surface-3);
}

.aui-grid-calendar-wrapper .aui-calendar .month,
.aui-grid-calendar-wrapper .aui-calendar .year {
	text-align: center;
	color: var(--aui-text);
	text-align: center;
	padding: 14px 4px;
	border: 1px solid transparent;
	box-sizing: border-box;
	background: transparent;
	background: transparent;
	background: transparent;
	background: transparent;
	background: transparent;
	background: transparent;
	border-radius: var(--aui-radius-sm);
}

.aui-grid-calendar-wrapper .aui-calendar .month:hover,
.aui-grid-calendar-wrapper .aui-calendar .year:hover {
	cursor: pointer;
	border: 1px solid transparent;
	background: var(--aui-surface-3);
}

.aui-grid-calendar-wrapper .aui-calendar .selected-month,
.aui-grid-calendar-wrapper .aui-calendar .selected-year {
	background: var(--aui-accent);
	background: var(--aui-accent);
	background: var(--aui-accent);
	background: var(--aui-accent);
	background: var(--aui-accent);
	background: var(--aui-accent);
	color: var(--aui-accent-contrast) !important;
}
.aui-grid-calendar-wrapper .aui-calendar .aui-calendar-confirm-btn {
	display: inline-block;
	position: absolute;
	font-weight: bold;
	top: 3px;
	right: 2px;
	padding: 2px 4px;
	border: 1px solid var(--aui-accent);
	color: var(--aui-accent-contrast);
	background: var(--aui-accent);
	border-radius: var(--aui-radius-sm);
	cursor: pointer;
	box-sizing: border-box;
	transition: background-color 0.12s ease;
}
.aui-grid-calendar-wrapper .aui-calendar .aui-calendar-confirm-btn:hover {
	border: 1px solid var(--aui-accent-hover);
	background: var(--aui-accent-hover);
}

/* 달력 시간 */
.aui-grid-calendar-wrapper .aui-calendar .aui-calendar-body-time {
	text-align: center;
}
.aui-grid-calendar-wrapper .aui-calendar .aui-grid-calendar-time-select {
	font-size: 12px;
	width: 40%;
	border: 1px solid var(--aui-border-strong);
	margin-left: 0px;
	vertical-align: top;
	margin: 4px 2px 4px 2px;
	min-width: 2em;
	height: 28px;
	line-height: 2em;
	color: var(--aui-text);
	background-color: var(--aui-surface);
	border-radius: var(--aui-radius-sm);
}
.aui-grid-calendar-wrapper .aui-calendar .aui-grid-calendar-time-colon {
	margin-top: 8px;
	display: inline-block;
	margin-left: 3px;
	font-size: 20px;
	margin-right: 3px;
	font-weight: bold;
	color: var(--aui-text-subtle);
}
/* 달력 끝 */

/* bootstrap-datepicker, jquery-datepicker 달력 시작*/
.aui-grid-bootstrap-calendar-wrapper,
.aui-grid-jq-calendar-wrapper {
	font-family: var(--aui-font);
	font-size: 13px;
	padding: 4px;
	position: absolute;
	z-index: 1060;
	min-width: 160px;
	margin: 2px 0 0;
	list-style: none;
	box-sizing: border-box;
	background-color: var(--aui-surface);
	border: 1px solid var(--aui-border);
	border-radius: var(--aui-radius);
	-webkit-box-shadow: var(--aui-popup-shadow);
	box-shadow: var(--aui-popup-shadow);
	background-clip: padding-box;
	--aui-accent-hover: color-mix(in srgb, var(--aui-accent) 86%, #000000);
	--aui-accent-soft: color-mix(in srgb, var(--aui-accent) 8%, var(--aui-surface));
	--aui-accent-soft-2: color-mix(in srgb, var(--aui-accent) 15%, var(--aui-surface));
	--aui-accent-text: color-mix(in srgb, var(--aui-accent) 72%, var(--aui-text-strong));
	--aui-focus-ring: color-mix(in srgb, var(--aui-accent) 24%, transparent);
	--aui-checked-row-bg: color-mix(in srgb, var(--aui-accent) 5%, var(--aui-surface));
	color: var(--aui-text);
}

.aui-grid-bootstrap-calendar-wrapper *,
.aui-grid-bootstrap-calendar-wrapper * {
	box-sizing: content-box;
}
/* bootstrap-datepicker,jquery-datepicker 달력 끝*/

/* 사용자 정의 에디트 렌더러 */
.aui-grid-edit-renderer-custom {
	font-family: var(--aui-font);
	font-size: 12px;
	background: var(--aui-surface);
	border: 1px solid var(--aui-border);
	border-radius: var(--aui-radius);
	box-sizing: border-box;
	box-shadow: var(--aui-popup-shadow);
	-webkit-box-shadow: var(--aui-popup-shadow);
	-moz-box-shadow: var(--aui-popup-shadow);
	z-index: 1999;
	--aui-accent-hover: color-mix(in srgb, var(--aui-accent) 86%, #000000);
	--aui-accent-soft: color-mix(in srgb, var(--aui-accent) 8%, var(--aui-surface));
	--aui-accent-soft-2: color-mix(in srgb, var(--aui-accent) 15%, var(--aui-surface));
	--aui-accent-text: color-mix(in srgb, var(--aui-accent) 72%, var(--aui-text-strong));
	--aui-focus-ring: color-mix(in srgb, var(--aui-accent) 24%, transparent);
	--aui-checked-row-bg: color-mix(in srgb, var(--aui-accent) 5%, var(--aui-surface));
	color-scheme: var(--aui-color-scheme);
	accent-color: var(--aui-accent);
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	color: var(--aui-text);
}

/* 링크 렌더러 */
.aui-grid-link-renderer > a {
	text-decoration: underline;
	color: var(--aui-accent-text);
	text-decoration-color: color-mix(in srgb, var(--aui-accent) 35%, transparent);
	text-underline-offset: 3px;
}
/* 링크 렌더러 끝*/

/* 스위치 렌더러 */
.aui-switch-toggle-label {
	position: relative;
}

.aui-switch-toggle-label-disabled {
	cursor: not-allowed !important;
	opacity: 0.5;
}

.aui-switch-toggle-label .aui-checkbox {
	opacity: 0 !important;
	width: 0 !important;
	height: 0 !important;
}

.aui-switch-toggle-slider {
	position: absolute;
	cursor: pointer;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background-color: var(--aui-border-strong);
	-webkit-transition: 0.2s;
	transition: 0.2s;
	--bar-total-width: 56px;
	--bar-width: 20px;
}

.aui-switch-toggle-slider:before {
	position: absolute;
	content: '';
	width: var(--bar-width);
	height: var(--bar-width);
	left: 2px;
	bottom: 2px;
	background-color: #ffffff;
	-webkit-transition: 0.2s cubic-bezier(0.3, 0.7, 0.4, 1);
	transition: 0.2s cubic-bezier(0.3, 0.7, 0.4, 1);
	box-shadow: 0 1px 3px rgba(15, 23, 42, 0.25);
}

.aui-switch-toggle-label .aui-checkbox:checked + .aui-switch-toggle-slider {
	background-color: var(--aui-accent);
}

.aui-checkbox:checked + .aui-switch-toggle-slider:before {
	transform: translateX(calc(var(--bar-total-width) - var(--bar-width)));
}

.aui-switch-toggle-slider-round:before {
	border-radius: 50%;
}
/* 스위치 렌더러 끝 */

/* 셀 에디터 버턴 기본 스타일 */
.aui-grid-cell-editor-button {
	cursor: pointer;
	background: var(--aui-ico-ed-pad) 50% 50% no-repeat;
	background-size: 14px;
	border: none;
	border-radius: 4px;
}

/* 셀 에디터 버턴 텍스트 인풋 스타일 */
.aui-grid-cell-editor-button-inputer {
	background: var(--aui-ico-ed-input) 50% 50% / 14px 14px no-repeat;
}

/* 셀 에디터 버턴 콤보박스, 드랍다운리스트 스타일 */
.aui-grid-cell-editor-button-combo-list,
.aui-grid-cell-editor-button-drop-list {
	background: var(--aui-ico-ed-list) 50% 50% / 14px 14px no-repeat;
}

/* 셀 에디터 버턴 달력 스타일 */
.aui-grid-cell-editor-button-calendar {
	background: var(--aui-ico-ed-calendar) 50% 50% / 14px 14px no-repeat;
}

/* 셀 에디터 버턴 리모트리스트 검색 스타일 */
.aui-grid-cell-editor-button-remote-search {
	background: var(--aui-ico-search) 50% 50% / 14px 14px no-repeat;
}

/* 셀 에디터 버턴 리모트리스트 프리로더 */
.aui-grid-cell-editor-button-ajax-loader {
	background: var(--aui-ico-spinner-sm) 50% 50% / 14px 14px no-repeat;
}

/* 계층형인 경우 Depth 에 따른 ROW 간 스타일 */
.aui-grid-row-depth1-style {
	font-weight: bold;
	color: var(--aui-text-strong);
	background: color-mix(in srgb, var(--aui-accent) 14%, var(--aui-surface));
}

.aui-grid-row-depth2-style {
	font-weight: bold;
	color: var(--aui-text-strong);
	background: color-mix(in srgb, var(--aui-accent) 7%, var(--aui-surface));
}

.aui-grid-row-depth3-style {
	font-weight: bold;
	color: var(--aui-text);
	background: var(--aui-surface-2);
}

.aui-grid-row-depth-default-style {
	font-weight: bold;
	color: var(--aui-text-strong);
}

/* 밴드형 Body의 외부 셀 크기는 고정하고 기존 Renderer에서 내용을 정렬합니다.
 * 낮은 우선순위로 middle을 지정하여 사용자 vertical-align을 보존합니다. */
:where([data-aui-body-cell]) {
	display: block;
	vertical-align: middle;
}
/* 이전 엔진의 직접 자식 Renderer도 같은 테마를 사용할 수 있도록 선택자를 보존합니다. */
:where([data-aui-body-cell]) > :where([data-aui-body-content]),
:where([data-aui-body-cell]) > :where([data-aui-body-align]) {
	display: table-cell;
	vertical-align: inherit;
	/* 정렬 host만 셀 높이를 사용하고 내부 Renderer의 고유 크기와 표시 상태는 유지합니다. */
	box-sizing: border-box !important;
	width: var(--aui-body-width) !important;
	max-width: var(--aui-body-width);
	height: var(--aui-body-height);
	/* 내용이 지정 높이보다 크더라도 외부 셀은 늘리지 않고 가운데 부분을 표시합니다. */
	translate: 0 min(0px, calc((var(--aui-body-height) - 100%) / 2));
}

/* 막대 자체는 셀 높이를 사용하므로 숫자 라벨도 막대의 중앙에 둡니다. */
:where([data-aui-body-cell]) > [data-aui-body-align] .aui-grid-bar-renderer > span {
	margin-top: 0;
	top: 50%;
	translate: 0 -50%;
}

/* 자식으로 드롭할 대상 행은 테마 색상으로 강조하며 기존 드래그 판정과 포인터 입력을 유지합니다. */
.aui-grid-horizontal-row-arrow-rule.aui-grid-row-child-drop-target {
	box-sizing: border-box;
	pointer-events: none;
	background-color: color-mix(in srgb, var(--aui-accent) 10%, transparent);
	box-shadow:
		inset 0 0 0 1px var(--aui-accent),
		inset 3px 0 0 var(--aui-accent);
}
/* 대상 행을 강조할 때에만 이전 화살표 가상 요소를 숨깁니다. */
.aui-grid-row-child-drop-target::before,
.aui-grid-row-child-drop-target::after {
	content: none;
}
/* 테마의 프록시 배경과 위치는 유지하고 자식 드롭 상태의 아이콘만 구분합니다. */
.aui-grid-row-dragging-proxy-accept.aui-grid-row-dragging-proxy-child {
	background-image: url(./images/accept-child.svg);
	background-size: 16px 16px;
}

/* 그룹 제목은 기존 셀을 유지하며 텍스트만 다음 빈 셀까지 표시합니다. */
.aui-grid-group-title-interior {
	border-right-color: transparent !important;
}
.aui-grid-group-title-host {
	position: relative;
	overflow: visible !important;
	z-index: 1;
}
.aui-grid-group-title-host > [data-aui-body-content] {
	overflow: visible !important;
}
/* 제목 정렬 래퍼가 table-cell의 최소 너비로 커져 옆 칼럼 클릭을 가로채지 않도록 합니다. */
.aui-grid-group-title-host > [data-aui-body-align] {
	display: block !important;
}

/* 최소 접근성 모드의 헤더 및 페이지 키보드 포커스입니다. 기존 셀 선택 스타일과 분리합니다. */
[data-aui-a11y-header]:focus-visible,
[data-aui-a11y-page]:focus-visible {
	outline: 2px solid currentColor !important;
	outline-offset: -3px;
}

/* Excel 및 PDF 내보내기 전용 스타일 (v3.0.18 이상 지원)
 * 화면 테마와 독립된 밝은 서식입니다. 모든 테마에서 같은 값을 유지합니다.
 * 내보내기에서 클래스명을 직접 조회하므로 선택자를 쉼표로 묶지 않습니다.
 * 기존 경계선 클래스는 이름을 유지하며 이 영역에서 함께 관리합니다.
 */

/* 내보내기의 기본 글자와 배경입니다. 화면용 색상 변수를 참조하지 않습니다. */
.aui-grid-for-export {
	font-family: 'Malgun Gothic', '맑은 고딕', 'Apple SD Gothic Neo', AppleSDGothicNeo-Light, sans-serif;
	font-size: 12px;
	font-weight: normal;
	font-style: normal;
	text-decoration: none;
	color: #000000;
	background: #ffffff;
}

/* 칼럼 헤더, 본문 및 푸터의 기본 서식입니다. */
.aui-grid-default-header-for-export {
	font-size: 13px;
	font-weight: bold;
	text-align: center;
	vertical-align: middle;
	color: #000000;
	background: #f1f1f1;
}

.aui-grid-default-column-for-export {
	font-size: 12px;
	text-align: center;
	vertical-align: middle;
	color: #000000;
	background: #ffffff;
}

.aui-grid-default-footer-for-export {
	font-size: 12px;
	font-weight: bold;
	text-align: center;
	vertical-align: middle;
	color: #000000;
	background: #f3f3f3;
}

/* 기존 내보내기 엔진은 background 값을 셀 경계선 색상으로 사용합니다. */
.aui-grid-grid-lines-for-export {
	background: #dcdcdc;
}

/* 일반 행과 교대 행의 배경을 구분합니다. */
.aui-grid-row-background-for-export {
	background: #ffffff;
}

.aui-grid-alternative-row-background-for-export {
	background: #fafafa;
}

/* 행 번호도 화면 테마의 색상과 독립적으로 출력합니다. */
.aui-grid-row-num-header-for-export {
	font-size: 13px;
	font-weight: bold;
	text-align: center;
	vertical-align: middle;
	color: #000000;
	background: #f1f1f1;
}

.aui-grid-row-num-column-for-export {
	text-align: center;
	vertical-align: middle;
	color: #000000;
	background: #ffffff;
}

/* 막대는 그라데이션 없이 양수와 음수의 색상을 일정하게 유지합니다. */
.aui-grid-bar-renderer-normal-for-export {
	background: #2f9d27;
}

.aui-grid-bar-renderer-reverse-for-export {
	background: #df4d4d;
}

.aui-grid-bar-renderer-positive-for-export {
	background: #2f9d27;
}

.aui-grid-bar-renderer-negative-for-export {
	background: #df4d4d;
}

/* 막대는 100% 폭까지 채우고 실제 백분율은 별도 라벨로 표시합니다. */
.aui-grid-percentage-renderer {
	display: flex;
	align-items: center;
	gap: 20px;
	box-sizing: content-box;
	font-variant-numeric: tabular-nums;
}
.aui-grid-percentage-track {
	flex: 1 1 0;
	min-width: 0;
	height: 8px;
	margin-left: 12px;
	border-radius: 8px;
	overflow: hidden;
	background: var(--aui-percentage-track, #e4e9f1);
}
.aui-grid-percentage-bar {
	height: 100%;
	border-radius: inherit;
	background: var(--aui-percentage-color, #387eb6);
}
.aui-grid-percentage-label {
	color: var(--aui-percentage-text, #657180);
	flex: 0 0 auto;
	min-width: 4em;
	margin-right: 12px;
	font-weight: 600;
	line-height: 1.2;
	text-align: right;
}

.aui-grid-percentage-renderer { --aui-percentage-text: var(--aui-text-muted); --aui-percentage-track: var(--aui-border, #e4e9f1); --aui-percentage-color: var(--aui-accent, #387eb6); }

/* 막대가 없으면 칼럼의 정렬, 색상과 굵기를 따르고 라벨이 셀 너비를 사용합니다. */
.aui-grid-percentage-text-only .aui-grid-percentage-label {
	flex: 1 1 0;
	min-width: 0;
	margin: 0;
	text-align: inherit;
	color: inherit;
	font-weight: inherit;
}
