@charset "UTF-8";
/*!
 * Nova Theme Style for AUIPivot v2.8.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; }
   사용 예) 특정 피벗만 변경
     #pivot_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: #0ea5e9;
	--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("./images/wait.png");
	--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-ico-pivot-column: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' %3E%3Crect x='4' y='4.5' width='16' height='15' rx='2.5' fill='none' stroke='%2364748b' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3Crect x='9.6' y='5.4' width='4.8' height='13.2' fill='%234f46e5'/%3E%3C/svg%3E");
	--aui-ico-pivot-row: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' %3E%3Crect x='4' y='4.5' width='16' height='15' rx='2.5' fill='none' stroke='%2364748b' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3Crect x='4.9' y='9.6' width='14.2' height='4.8' fill='%234f46e5'/%3E%3C/svg%3E");
	--aui-ico-pivot-value: 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='M17 5.5H7.5l5 6.5-5 6.5H17'/%3E%3C/svg%3E");
	--aui-ico-settings: 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%3Cpath d='M4 7.5h8.5M17.5 7.5H20M4 16.5h2.5M11.5 16.5H20'/%3E%3Ccircle cx='15' cy='7.5' r='2.5'/%3E%3Ccircle cx='9' cy='16.5' r='2.5'/%3E%3C/svg%3E");
	--aui-ico-filter-clear: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3.5 4.5h13.5l-5.2 6.3v5.2l-3.1 1.6v-6.8z' stroke='%2364748b' stroke-width='1.8'/%3E%3Cpath d='M15.5 15.5l5 5M20.5 15.5l-5 5' stroke='%23e5484d' stroke-width='2'/%3E%3C/svg%3E");
	--aui-ico-plus: 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.6' stroke-linecap='round'%3E%3Cpath d='M12 6v12M6 12h12'/%3E%3C/svg%3E");
	--aui-ico-minus: 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.6' stroke-linecap='round'%3E%3Cpath d='M6 12h12'/%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("./images/wait-dark.png");
	--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");

	/* 아이콘 (피벗 전용, 다크) */
	--aui-ico-pivot-column: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' %3E%3Crect x='4' y='4.5' width='16' height='15' rx='2.5' fill='none' stroke='%239aa1ad' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3Crect x='9.6' y='5.4' width='4.8' height='13.2' fill='%238b87f5'/%3E%3C/svg%3E");
	--aui-ico-pivot-row: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' %3E%3Crect x='4' y='4.5' width='16' height='15' rx='2.5' fill='none' stroke='%239aa1ad' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3Crect x='4.9' y='9.6' width='14.2' height='4.8' fill='%238b87f5'/%3E%3C/svg%3E");
	--aui-ico-pivot-value: 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='M17 5.5H7.5l5 6.5-5 6.5H17'/%3E%3C/svg%3E");
	--aui-ico-settings: 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%3Cpath d='M4 7.5h8.5M17.5 7.5H20M4 16.5h2.5M11.5 16.5H20'/%3E%3Ccircle cx='15' cy='7.5' r='2.5'/%3E%3Ccircle cx='9' cy='16.5' r='2.5'/%3E%3C/svg%3E");
	--aui-ico-filter-clear: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3.5 4.5h13.5l-5.2 6.3v5.2l-3.1 1.6v-6.8z' stroke='%239aa1ad' stroke-width='1.8'/%3E%3Cpath d='M15.5 15.5l5 5M20.5 15.5l-5 5' stroke='%23f0616a' stroke-width='2'/%3E%3C/svg%3E");
	--aui-ico-plus: 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.6' stroke-linecap='round'%3E%3Cpath d='M12 6v12M6 12h12'/%3E%3C/svg%3E");
	--aui-ico-minus: 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.6' stroke-linecap='round'%3E%3Cpath d='M6 12h12'/%3E%3C/svg%3E");
}

/* 피벗 그리드 메인 외곽 DIV */
.aui-pivot {
	font-family: var(--aui-font);
	font-size: var(--aui-font-size);
	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;
	-webkit-user-select: none;
	-khtml-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
	touch-action: none;
	-ms-touch-action: 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);
	border-radius: var(--aui-grid-radius);
	box-shadow: var(--aui-grid-shadow);
}

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

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

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

/* 노데이터 메세지 레이어*/
.aui-pivot-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-pivot-body-panel .aui-pivot-table tr td {
	border-top: none;
	border-right: 1px solid var(--aui-line);
	border-bottom: none;
	border-left: none;
}
.aui-pivot-left-main-panel .aui-pivot-body-panel .aui-pivot-table tr td:last-child {
	border-right: none;
}

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

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

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

/* 그리드 수평, 수직 라인 - 엑셀, PDF */
.aui-pivot-grid-lines-for-export {
	background: #e2e6ec;
}

/* 그리드 오버 선택자 만들기 */
.aui-pivot-body-panel .aui-pivot-table tr td:hover {
	background: var(--aui-hover);
	color: var(--aui-text-strong);
}

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

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

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

/* 그리드 헤더 정렬 표시자 시작 */
.aui-pivot-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-pivot-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-pivot-sorting-ascending {
	background: var(--aui-ico-sort-asc) 50% 50% / 9px 6px no-repeat;
}

.aui-pivot-sorting-descending {
	background: var(--aui-ico-sort-desc) 50% 50% / 9px 6px no-repeat;
}
/* 그리드 헤더 정렬 표시자 끝*/

/* 스크롤 시작 */
.aui-scroll-track {
	box-sizing: border-box;
	background: var(--aui-scroll-track);
	border: 1px solid 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-pivot .aui-ajax-loader-showing {
	/*background: #ffffff url("./images/ajaxloader.gif") no-repeat 50% 50%;*/
	background: color-mix(in srgb, var(--aui-surface) 82%, transparent) var(--aui-ico-spinner) no-repeat 50% 50% / 36px 36px;
}

/* 내부 처리 로딩바 스타일 */
.aui-pivot .aui-process-loader-showing {
	/* 2배 해상도의 처리 이미지를 132px × 90px로 중앙에 배치합니다. */
	background: var(--aui-ico-process) no-repeat 50% 50%;
	background-size: 132px 90px;
}

/* 계층 트리 아이콘 */
.aui-pivot-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-pivot-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-pivot-tree-table-plus-icon {
	display: inline-block;
	box-sizing: border-box;
	vertical-align: middle;
	width: 16px;
	height: 16px;
	border: 1px solid var(--aui-border-strong);
	background: var(--aui-surface) var(--aui-ico-plus) 50% 50% / 10px 10px no-repeat;
	margin: 0px 4px 0 0;
	border-radius: 4px;
}

.aui-pivot-tree-table-minus-icon {
	display: inline-block;
	box-sizing: border-box;
	vertical-align: middle;
	width: 16px;
	height: 16px;
	border: 1px solid var(--aui-border-strong);
	background: var(--aui-surface) var(--aui-ico-minus) 50% 50% / 10px 10px no-repeat;
	margin: 0px 4px 0 0;
	border-radius: 4px;
}

.aui-pivot-tree-table-leaf-blank {
	display: inline-block;
	box-sizing: border-box;
	vertical-align: middle;
	width: 16px;
	height: 16px;
	margin: 0 4px 0 0;
}

.aui-pivot-tree-table-leaf-icon {
	margin: 0 4px 0 0;
}
/* 테이블 형식 계층 트리 아이콘 끝 */

.aui-pivot-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-pivot-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-pivot-tree-leaf-icon {
	display: inline-block;
	width: 16px;
	height: 16px;
	vertical-align: bottom;
	margin: 0 2px 0 4px;
}
/* 계층 트리 아이콘 끝*/

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

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

.aui-pivot-group-branch-header {
	cursor: default;
	text-align: left;
}

.aui-pivot-group-branch-header-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 !important;
	vertical-align: bottom;
	margin: 0 2px 0 0;
	border-radius: 4px;
}

.aui-pivot-group-branch-header-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-pivot-row-num-header {
	text-align: center;
	cursor: default;
	vertical-align: bottom;
	line-height: 2em !important;
}

/* 행 상태 헤더*/
.aui-pivot-row-state-header {
	cursor: default;
}

/* 값 영역 정보 헤더 스타일 */
.aui-pivot-value-field-header {
	text-align: center;
	color: var(--aui-accent-text);
}

/* 행 영역 필드명 헤더 스타일 */
.aui-pivot-row-label-field-header {
	text-align: center;
	vertical-align: bottom;
	line-height: 2em !important;
}

/* 열 영역 필드명 헤더 스타일 */
.aui-pivot-column-label-field-header {
	text-indent: 8px;
}

/* 행 영역에 해당되는 칼럼의 헤더에 있는 필터 아이콘 */
.aui-pivot-header-filter-icon {
	background: var(--aui-surface) var(--aui-ico-filter) 50% 50% / 12px 12px no-repeat;
	border: 1px solid var(--aui-border-strong);
	box-sizing: border-box;
	cursor: pointer;
	border-radius: 4px;
	transition:
		background-color 0.12s ease,
		border-color 0.12s ease;
}
.aui-pivot-header-filter-icon:hover {
	background: var(--aui-surface-3) var(--aui-ico-filter) 50% 50% / 12px 12px no-repeat;
}
/* 필터링 된 경우*/
.aui-pivot-header-filter-icon-filtered {
	background: var(--aui-accent) var(--aui-ico-filter-on) 50% 50% / 11px 11px no-repeat;
	border-color: var(--aui-accent);
}
.aui-pivot-header-filter-icon-filtered:hover {
	background: var(--aui-accent-hover) var(--aui-ico-filter-on) 50% 50% / 11px 11px no-repeat;
}

/*디폴트 푸터 스타일 */
.aui-pivot-default-footer {
	overflow: hidden !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: right;
	cursor: default;
}

/* 푸터 썸머리 텍스트 스타일 */
.aui-pivot-default-footer-sum-text {
	overflow: hidden !important;
	text-align: center;
	color: var(--aui-accent-text);
}

/** 그리드 툴팁 외형 */
.aui-pivot-tooltip-wrapper {
	padding: 2px 6px;
	border: 1px solid 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);
	--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-tooltip-text);
}

/* 디폴트 칼럼 스타일 */
.aui-pivot-default-column {
	text-align: right;
	font-size: 1em;
	cursor: default;
	box-sizing: border-box !important;
	overflow: hidden !important;
	text-overflow: ellipsis;
	white-space: nowrap !important;
}

/* 피벗 행 필드 칼럼 스타일 */
.aui-pivot-row-label-field-column {
	text-align: left;
}

/* 피벗 행 필드 칼럼 스타일 추가로 지정할 스타일 */
.aui-pivot-row-label-field-extra-column {
	text-align: center;
}

/* 피벗 행 필드 칼럼 스타일 - 테이블 셀 병합 형식인 경우*/
.aui-pivot-row-label-field-merge-column {
	text-align: left;
	vertical-align: top;
	padding-top: 2px !important;
}

/* 피벗 썸머리 칼럼 스타일 */
.aui-pivot-summary-column {
	background: var(--aui-surface-2);
}

/* 피벗 썸머리 토탈 칼럼 스타일 */
.aui-pivot-total-summary-column {
	background: var(--aui-surface-3);
}

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

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

/* 셀력션 행번호 칼럼 스타일 */
.aui-pivot-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-pivot-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-pivot-row-background {
	background: var(--aui-surface);
}

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

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

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

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

/* 컨텍스트 메뉴 */
.aui-pivot-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-pivot-context-list-ul {
	list-style: none;
	margin: 0;
	padding: 0;
}
/* 컨텍스트 아이템 */
.aui-pivot-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-pivot-context-item:hover {
	background-color: var(--aui-surface-3);
	color: var(--aui-text-strong);
}

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

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

/* 컨텍스트 서브 메뉴*/
.aui-pivot-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-pivot-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-pivot-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-pivot-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-pivot-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-pivot-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-pivot-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-pivot-row-fn-top-level-branch-style {
	font-weight: bold;
	border-bottom: 1px solid color-mix(in srgb, var(--aui-accent) 28%, var(--aui-surface));
}
.aui-pivot-row-fn-top-level-branch-bottom-style {
	font-weight: bold;
	border-top: 1px solid color-mix(in srgb, var(--aui-accent) 28%, var(--aui-surface));
	border-bottom: 1px solid color-mix(in srgb, var(--aui-accent) 28%, var(--aui-surface));
}
.aui-pivot-row-fn-branch-style {
	font-weight: bold;
}
.aui-pivot-row-fn-last-branch-style {
	font-weight: bold;
	border-bottom: 1px solid var(--aui-line);
}
.aui-pivot-row-fn-last-style {
	border-bottom: 1px solid var(--aui-line);
}

/**************************************************************************************************/
/*                                 피벗 패널 스타일                                                              */
/**************************************************************************************************/

/* 피벗 패널 메인*/
.aui-pivot-panel-main {
	font-family: var(--aui-font);
	font-size: 12px;
	border: 1px solid var(--aui-border);
	box-sizing: border-box;
	overflow: hidden;
	background: var(--aui-surface);
	z-index: 1049;
	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-pivot-panel-title {
	font-size: 20px;
	line-height: 1em;
	height: 30px;
	font-weight: bold;
	box-sizing: border-box;
}

/* 피벗 패널 닫기 버턴 */
.aui-pivot-panel-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-pivot-panel-field-list-title {
	border-top: 1px solid var(--aui-line);
	padding-top: 6px;
	line-height: 1em;
	height: 30px;
	box-sizing: border-box;
}

/* 피벗 패널 필드 리스트의 체크박스 아이템*/
.auipivot-panel-field-check-label {
	display: block;
	box-sizing: content-box;
}
.auipivot-panel-field-check-label:hover {
	background: var(--aui-hover);
}

/* 피벗 패널 필드 리스트의 체크박스 안의 텍스트 span */
.auipivot-panel-field-check-label span {
	display: inline-block;
	font-size: 12px;
	font-weight: bold;
	padding: 2px 4px;
	cursor: move;
	box-sizing: content-box;
}

/* 피벗 패널 피벗팅 영역 상단 타이틀  */
.aui-pivot-panel-field-area-title {
	border-top: 1px solid var(--aui-line);
	line-height: 1em;
	padding-top: 5px;
	height: 30px;
	box-sizing: border-box;
}

/* 피벗 패널 피벗팅 영역 */
.aui-pivot-panel-field-area {
	background: var(--aui-surface);
}

/* 제목 글자를 영역의 세로 중앙에 놓아 배경 아이콘의 중앙과 맞춥니다. */
.aui-pivot-panel-field-area-filter-title,
.aui-pivot-panel-field-area-column-title,
.aui-pivot-panel-field-area-row-title,
.aui-pivot-panel-field-area-value-title {
	display: flex;
	align-items: center;
}

/* 피벗 패널 피벗팅 영역 - 필터 타이틀 */
.aui-pivot-panel-field-area-filter-title {
	padding-left: 20px;
	box-sizing: border-box;
	line-height: 1.5em;
	cursor: default;
	background: var(--aui-ico-filter) 4px 50% / 13px 13px no-repeat;
}
/* 피벗 패널 피벗팅 영역 - 열 타이틀 */
.aui-pivot-panel-field-area-column-title {
	padding-left: 24px;
	box-sizing: border-box;
	line-height: 1.5em;
	cursor: default;
	background: var(--aui-ico-pivot-column) 8px 50% / 13px 13px no-repeat;
}
/* 피벗 패널 피벗팅 영역 - 행 타이틀 */
.aui-pivot-panel-field-area-row-title {
	padding-left: 20px;
	box-sizing: border-box;
	line-height: 1.5em;
	cursor: default;
	background: var(--aui-ico-pivot-row) 4px 50% / 13px 13px no-repeat;
}
/* 피벗 패널 피벗팅 영역 - 값 타이틀 */
.aui-pivot-panel-field-area-value-title {
	padding-left: 24px;
	box-sizing: border-box;
	line-height: 1.5em;
	cursor: default;
	background: var(--aui-ico-pivot-value) 8px 50% / 13px 13px no-repeat;
}

/* 피벗 패널 피벗팅 영역 가운데 수평, 수직 라인*/
.aui-pivot-panel-field-area-vertical-line,
.aui-pivot-panel-field-area-horizontal-line {
	background: var(--aui-line);
}


/* 피벗 패널 하단 업데이트 메인*/
.aui-pivot-panel-bottom-update-panel {
	line-height: 1em;
	height: 30px;
	box-sizing: border-box;
	vertical-align: middle;
}
.aui-pivot-panel-bottom-update-panel:after {
	display: block;
	clear: both;
	content: '';
}

/* 피벗 패널 하단 "나중에 업데이트" */
.aui-pivot-panel-bottom-update-check {
	margin-top: 14px;
	line-height: 1em;
	box-sizing: border-box;
	float: left;
}
.aui-pivot-panel-bottom-update-check span {
	padding-left: 4px;
	cursor: default;
}

/* 피벗 패널 하단 업데이트 버턴 */
.aui-pivot-panel-bottom-update-btn {
	color: var(--aui-accent-contrast);
	background: var(--aui-accent);
	border: 1px solid var(--aui-accent);
	background-clip: padding-box;
	line-height: 1em;
	border-radius: var(--aui-radius-sm);
	appearance: none;
	-webkit-appearance: none;
	font-weight: bold;
	text-align: center;
	cursor: pointer;
	margin-top: 5px;
	padding: 6px 12px;
	float: right;
	box-sizing: border-box;
	box-shadow: 0 1px 2px rgba(15, 23, 42, 0.08);
	transition:
		background-color 0.12s ease,
		border-color 0.12s ease;
}
.aui-pivot-panel-bottom-update-btn:hover {
	background: var(--aui-accent-hover);
}

/* 피벗 패널 하단 업데이트 버턴 비활성화 */
.aui-pivot-panel-bottom-update-btn-disable {
	color: var(--aui-text-subtle);
	background: var(--aui-surface-2);
	border: 1px solid var(--aui-line);
	background-clip: padding-box;
	line-height: 1em;
	border-radius: var(--aui-radius-sm);
	appearance: none;
	-webkit-appearance: none;
	font-weight: bold;
	text-align: center;
	cursor: default;
	margin-top: 5px;
	padding: 6px 12px;
	float: right;
	box-sizing: border-box;
}

/* 피벗 패널 필드 아이템 드랍다운리스트 시작 */
.aui-pivot-panel-drop-down-list {
	background: var(--aui-surface);
	border: 1px solid var(--aui-border-strong);
	border-radius: var(--aui-radius-sm);
	display: block;
	color: var(--aui-text) !important;
	font-weight: normal !important;
	font-size: 1em;
	line-height: 1em;
	margin: 4px 0;
	box-sizing: border-box;
	overflow: hidden;
	white-space: nowrap;
	transition: border-color 0.12s ease;
}
.aui-pivot-panel-drop-down-list:hover {
	border: 1px solid color-mix(in srgb, var(--aui-accent) 45%, var(--aui-border-strong));
}

.aui-pivot-panel-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-pivot-panel-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;
}

/* 상단 필드와 항목 순서의 button 메뉴도 패널의 li 메뉴와 같은 테마 규칙을 사용합니다.
   외부 페이지의 버튼 장식은 먼저 초기화하고 항목의 높이와 간격은 아래에서 공유합니다. */
.aui-pivot-grid-fields .aui-pivot-grid-field-menu button,
.aui-pivot-item-order .aui-pivot-item-order-menu button {
    all: unset;
    box-sizing: border-box;
    display: block;
    position: relative;
    width: 100%;
    font: inherit;
    color: inherit;
}

/* 피벗 패널, 상단 필드와 항목 순서 메뉴의 글꼴, 테두리, 배경 및 그림자를 함께 관리합니다. */
.aui-pivot-panel-drop-list-item-wrapper,
.aui-pivot-grid-fields .aui-pivot-grid-field-menu,
.aui-pivot-item-order .aui-pivot-item-order-menu {
	font-family: var(--aui-font);
	background: var(--aui-surface);
	font-size: 12px;
	border: 1px solid var(--aui-border);
	overflow-y: auto;
	overflow-x: hidden;
	text-align: center;
	border-radius: var(--aui-radius);
	z-index: 1049;
	max-height: 300px;
	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);
	color: var(--aui-text);
	padding: 0;
	font-weight: normal;
	letter-spacing: normal;
}

.aui-pivot-panel-drop-list-ul {
	list-style: none;
	margin: 0;
	padding: 0;
}
.aui-pivot-panel-drop-list-item,
.aui-pivot-grid-fields .aui-pivot-grid-field-menu button,
.aui-pivot-item-order .aui-pivot-item-order-menu button {
	cursor: default;
	text-align: left;
	height: 24px;
	line-height: 24px;
	padding: 0 10px 0 24px;
	white-space: nowrap;
	margin: 0;
}
.aui-pivot-panel-drop-list-item-line {
	/*구분 라인*/
	height: 1px;
	padding: 0 10px 0 24px;
	margin: 0;
	border-bottom: 1px solid var(--aui-line);
}
.aui-pivot-panel-drop-list-item-disable,
.aui-pivot-grid-fields .aui-pivot-grid-field-menu button:disabled,
.aui-pivot-item-order .aui-pivot-item-order-menu button:disabled {
	/*disable 처리된 아이템*/
	color: var(--aui-text-subtle);
	cursor: default;
	text-align: left;
	height: 24px;
	line-height: 24px;
	padding: 0 10px 0 24px;
	white-space: nowrap;
	margin: 0;
}
.aui-pivot-panel-drop-list-item-row {
	/*행 아이콘*/
	background-image: var(--aui-ico-pivot-row);
	background-position: 6px 50%;
	background-repeat: no-repeat;
	background-size: 13px 13px;
}
.aui-pivot-panel-drop-list-item-column {
	/*열 아이콘*/
	background-image: var(--aui-ico-pivot-column);
	background-position: 6px 50%;
	background-repeat: no-repeat;
	background-size: 13px 13px;
}
.aui-pivot-panel-drop-list-item-filter {
	/*필터 아이콘*/
	background-image: var(--aui-ico-filter);
	background-position: 6px 50%;
	background-repeat: no-repeat;
	background-size: 13px 13px;
}
.aui-pivot-panel-drop-list-item-value {
	/*값 아이콘*/
	background-image: var(--aui-ico-pivot-value);
	background-position: 6px 50%;
	background-repeat: no-repeat;
	background-size: 13px 13px;
}
.aui-pivot-panel-drop-list-item-remove {
	/*제거 아이콘*/
	background-image: var(--aui-ico-state-removed);
	background-size: 15px 15px;
	background-position: 6px 50%;
	background-repeat: no-repeat;
}
.aui-pivot-panel-drop-list-item-setting {
	/*설정 아이콘*/
	background-image: var(--aui-ico-settings);
	background-size: 13px 13px;
	background-position: 6px 50%;
	background-repeat: no-repeat;
}
.aui-pivot-panel-drop-list-item:hover,
.aui-pivot-grid-fields .aui-pivot-grid-field-menu button:hover:not(:disabled),
.aui-pivot-grid-fields .aui-pivot-grid-field-menu button:focus-visible:not(:disabled),
.aui-pivot-item-order .aui-pivot-item-order-menu button:hover:not(:disabled),
.aui-pivot-item-order .aui-pivot-item-order-menu button:focus-visible:not(:disabled) {
	background-color: var(--aui-surface-3);
	color: var(--aui-text-strong);
}
/* 피벗 패널 필드 아이템 드랍다운리스트 끝 */

/* 피벗 패널에서 필드 드래깅 할 때 보이는 이미지 */
.aui-pivot-panel-dragging-proxy {
	background: var(--aui-surface) var(--aui-ico-accept-not) 98% 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 26px 3px 16px;
	font-size: 12px;
	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: var(--aui-text);
	border-radius: var(--aui-radius-sm);
	box-shadow: var(--aui-popup-shadow);
}

/* 피벗 패널에서 필드 드래깅 할 때 보이는 Accept 이미지 */
.aui-pivot-panel-dragging-proxy-accept {
	background: var(--aui-surface) var(--aui-ico-accept-ok) 98% 50% / 16px 16px no-repeat;
	border-color: var(--aui-accent);
}

/* 피벗 패널에서 개별 영역의 위치 표시하는 라인*/
.aui-pivot-panel-field-dragging-proxy-line {
	background: var(--aui-accent);
}

/* 피벗 필터 패널 스타일 */
.aui-pivot-filter-panel {
	font-family: var(--aui-font);
	font-size: 12px;
	font-size: 12px;
	color: var(--aui-text);
	background: var(--aui-surface);
	border: 1px solid var(--aui-border);
	border-bottom: none;
	border-radius: 0px;
	box-sizing: border-box;
	overflow: hidden;
}

/* 피벗 필터 패널 헤더 아이템 */
.aui-pivot-filter-menu-header-item {
	text-align: center;
	display: inline-block;
	background: var(--aui-surface);
	border: 1px solid var(--aui-border-strong);
	border-radius: var(--aui-radius-sm);
	font-weight: normal;
	line-height: 1em;
	box-sizing: border-box;
	overflow: hidden;
	white-space: nowrap;
	margin: 8px 6px;
	color: var(--aui-text);
	box-shadow: 0 1px 2px rgba(15, 23, 42, 0.05);
}
.aui-pivot-filter-menu-header-item-content {
	display: inline-block;
	margin: 0;
	padding: 0;
	overflow: hidden;
	font-size: 1em;
	line-height: 2em;
	vertical-align: top;
	box-sizing: content-box;
}
.aui-pivot-filter-menu-header-item-icon {
	display: inline-block;
	background: var(--aui-ico-filter) 50% 50% / 12px 12px no-repeat;
	border-left: 1px solid var(--aui-line);
	box-sizing: border-box;
	cursor: pointer;
	transition:
		background-color 0.12s ease,
		border-color 0.12s ease;
}
.aui-pivot-filter-menu-header-item-icon:hover {
	background: var(--aui-surface-3) var(--aui-ico-filter) 50% 50% / 12px 12px no-repeat;
}
/* 필터링 된 경우*/
.aui-pivot-filter-menu-header-item-icon-filtered {
	background: var(--aui-accent) var(--aui-ico-filter-on) 50% 50% / 11px 11px no-repeat;
}
.aui-pivot-filter-menu-header-item-icon-filtered:hover {
	background: var(--aui-accent-hover) var(--aui-ico-filter-on) 50% 50% / 11px 11px no-repeat;
}
/* 피벗 필드 지정 시 그리드 상단의 필터 헤더 아이템 끝*/

/* 값 설정 창은 현재 화면 중앙에 배치하고 작은 화면에서도 내부 내용을 스크롤합니다. */
.aui-pivot-modal {
	position: fixed;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 1050;
	display: flex;
	box-sizing: border-box;
	padding: 12px;
	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);
}

/* 슬라이서 삽입은 호스트의 dialog/button 기본값을 지운 뒤 기존 값 설정 테마를 공유합니다. */
dialog.aui-pivot-slicer-dialog { all:initial; color:var(--pivot-ui-text); font:12px/1.5 var(--pivot-ui-font); }
dialog.aui-pivot-slicer-dialog button { all:initial; box-sizing:border-box; font:inherit; color:inherit; cursor:pointer; }

.aui-pivot-modal-dialog,
dialog.aui-pivot-slicer-dialog {
	font-family: var(--aui-font);
	font-size: 12px;
	position: relative;
	width: 340px;
	margin: auto;
	flex: 0 0 auto;
	max-width: 100%;
	max-height: 100%;
	overflow: auto;
	background-color: var(--aui-surface);
	-webkit-background-clip: padding-box;
	background-clip: padding-box;
	border: 1px solid var(--aui-border);
	border-radius: 12px;
	outline: 0;
	-webkit-box-shadow:
		0 24px 64px -12px rgba(15, 23, 42, 0.35),
		0 8px 16px -8px rgba(15, 23, 42, 0.15);
	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-pivot-modal-dialog-header,
.aui-pivot-slicer-dialog-header {
	min-height: 18px;
	padding: 15px;
	border-bottom: 1px solid var(--aui-line);
}

.aui-pivot-modal-dialog-header .aui-pivot-modal-header-title,
.aui-pivot-slicer-dialog .aui-pivot-slicer-dialog-title {
	font-size: 1.2em;
	font-weight: bold;
}

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

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

.aui-pivot-modal-dialog-footer,
.aui-pivot-slicer-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-pivot-modal-dialog-body .aui-pivot-modal-body-container li input[type='text'] {
	font-size: 12px;
	padding: 4px;
	width: 160px;
	color: var(--aui-text);
	background-color: var(--aui-surface);
}

.aui-pivot-modal-dialog-body .aui-pivot-modal-body-container li select {
	font-size: 12px;
	padding: 4px;
	color: var(--aui-text);
	background-color: var(--aui-surface);
}

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

.aui-pivot-modal-dialog-body .aui-pivot-operation-container,
.aui-pivot-slicer-dialog-list {
	max-height: 140px;
	border: 1px solid var(--aui-line);
	overflow-x: hidden;
	overflow-y: auto;
	border-radius: var(--aui-radius-sm);
}
.aui-pivot-modal-dialog-body .aui-pivot-operation-container ul {
	padding: 0;
	margin: 0;
	list-style: none;
}

.aui-pivot-modal-dialog-body .aui-pivot-operation-container ul li,
.aui-pivot-slicer-dialog .aui-pivot-slicer-dialog-field {
	padding: 2px 4px;
	margin: 0;
}

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

.aui-pivot-modal-dialog-body .aui-pivot-operation-container li label {
	margin: 0;
	display: inline-block;
	font-weight: normal;
}

/* 계산 편집 버튼은 전역 button 꾸밈을 초기화하고 아래 값 설정 버튼의 테마를 공유합니다. */
.aui-pivot-calculation-editor .aui-pivot-calculation-actions > button {
    all: initial;
    box-sizing: border-box;
    font: inherit;
    font-size: 12px;
    color: #000;
}

/* 필드 설정 확인, 취소와 계산 편집 버튼의 공통 테마입니다. */
.aui-pivot-modal-dialog-footer .aui-button,
.aui-pivot-slicer-dialog .aui-pivot-slicer-dialog-footer > button,
.aui-pivot-calculation-editor .aui-pivot-calculation-actions > 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: 4px 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-pivot-modal-dialog-footer .aui-button:hover,
.aui-pivot-slicer-dialog .aui-pivot-slicer-dialog-footer > button:hover:not(:disabled),
.aui-pivot-calculation-editor .aui-pivot-calculation-actions > button:hover:not(:disabled) {
	background: var(--aui-surface-3);
}

/**************************************************************************************************/
/*                                 필터 팝업 윈도우                                                               */
/**************************************************************************************************/

/* 필터 팝업 레이어 */
.aui-pivot-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: 1049;
	--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);
	color: var(--aui-text);
}

/* 필터 팝업 레이어 헤더 */
.aui-pivot-filter-popup-layer-header {
}

/* 필터 팝업 상단 이동 레이어 */
.aui-pivot-filter-popup-mover {
	display: block;
	height: 10px;
	cursor: move;
}

/* 필터 전체 초기화 */
.aui-pivot-filter-popup-clear-all-text {
	background: var(--aui-ico-filter-clear) 0 50% / 15px 15px no-repeat;
	margin: 2px 5px;
	display: block;
	padding: 4px;
	padding-left: 20px;
	line-height: 18px;
	border-top: 1px solid var(--aui-line);
}
.aui-pivot-filter-popup-clear-all-text:hover {
	background-color: var(--aui-surface-3);
	color: var(--aui-text-strong);
	cursor: pointer;
}
.aui-pivot-filter-popup-clear-all-text-disable {
	margin: 2px 5px;
	display: block;
	padding: 4px;
	line-height: 18px;
	border-top: 1px solid var(--aui-line);
	color: var(--aui-text-subtle);
}
/* 필터 초기화*/
.aui-pivot-filter-popup-clear-text {
	margin: 2px 5px;
	display: block;
	padding: 4px;
	line-height: 18px;
}
.aui-pivot-filter-popup-clear-text:hover {
	background-color: var(--aui-surface-3);
	color: var(--aui-text-strong);
	cursor: pointer;
}
.aui-pivot-filter-popup-clear-text-disable {
	margin: 2px 5px;
	display: block;
	padding: 4px;
	line-height: 18px;
	color: var(--aui-text-subtle);
}

/* 필드 선택 텍스트*/
.aui-pivot-filter-popup-fled-select-text {
	font-weight: bold;
	margin: 2px 5px;
	display: block;
	padding: 4px;
	line-height: 18px;
}
/* 필드 선택 select */
.aui-pivot-filter-popup-fled-selector {
	font-family: var(--aui-font);
	font-size: 12px;
	margin: 2px 5px 5px 5px;
	display: block;
	padding: 1px;
	border: 1px solid var(--aui-border-strong);
	border-radius: var(--aui-radius-sm);
	color: var(--aui-text);
	background-color: var(--aui-surface);
}

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

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

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

/* 필터 체크박스 아이템*/
.aui-pivot-filter-popup-layer .aui-container .aui-checkLabelBox {
	padding: 2px 6px;
	cursor: default;
}
.aui-pivot-filter-popup-layer .aui-container .aui-checkLabelBox:hover {
	background: var(--aui-hover);
}

.aui-pivot-filter-popup-layer .aui-container .aui-checkLabelBox .aui-checkbox {
	vertical-align: middle;
	margin-right: 4px !important;
	margin-top: 0 !important;
}
/* 필터 자동완성 검색 인풋 시작 */
.aui-pivot-filter-popup-layer .aui-autocomplete-input {
	overflow: hidden;
	position: relative;
	height: 20px;
	margin: 5px 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-pivot-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-pivot-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-pivot-filter-popup-layer-footer {
	text-align: right;
	padding-right: 5px;
	padding-bottom: 5px;
}

/* 필터 레이어 확인, 취소 버턴 */
.aui-pivot-filter-popup-layer .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: 4px 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-pivot-filter-popup-layer .aui-button:hover {
	background: var(--aui-surface-3);
}
/* 버턴 disable 스타일*/
.aui-button-disable,
.aui-pivot-slicer-dialog .aui-pivot-slicer-dialog-footer > button:disabled {
	cursor: default !important;
	border: 1px solid var(--aui-line) !important;
	color: var(--aui-text-subtle) !important;
}
.aui-button-disable:hover,
.aui-pivot-slicer-dialog .aui-pivot-slicer-dialog-footer > button:disabled:hover {
	background: var(--aui-surface-2) !important;
}

.aui-pivot-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-pivot-selection-row-bg,
.aui-pivot-selection-others-bg {
	box-shadow: inset 0 0 0 9999px color-mix(in srgb, var(--aui-accent) 12%, transparent);
}

/* 2.8 설정 창과 슬라이서는 값 설정의 테마를 공유하며 본문 12px, 제목 1.2em을 유지합니다. */
.aui-pivot-slicer, .aui-pivot-slicer-dialog, .aui-pivot-calculation-editor, .aui-pivot-subtotal-dialog {
    --pivot-ui-error: var(--aui-danger);
    --pivot-ui-bg: var(--aui-surface);
    --pivot-ui-text: var(--aui-text);
    --pivot-ui-muted: var(--aui-text-muted);
    --pivot-ui-border: var(--aui-border);
    --pivot-ui-line: var(--aui-line);
    --pivot-ui-footer: var(--aui-footer-bg);
    --pivot-ui-input: var(--aui-surface);
    --pivot-ui-hover: var(--aui-hover);
    --pivot-ui-button: var(--aui-surface);
    --pivot-ui-buttonHover: var(--aui-surface-3);
    --pivot-ui-buttonBorder: var(--aui-border-strong);
    --pivot-ui-buttonText: var(--aui-text);
    --pivot-ui-selected: var(--aui-accent);
    --pivot-ui-selectedText: var(--aui-accent-contrast);
    --pivot-ui-accent: var(--aui-accent);
    --pivot-ui-radius: var(--aui-radius);
    --pivot-ui-smallRadius: var(--aui-radius-sm);
    --pivot-ui-shadow: var(--aui-popup-shadow);
    --pivot-ui-buttonShadow: 0 1px 2px rgba(15, 23, 42, 0.05);
    --pivot-ui-backdrop: var(--aui-backdrop);
    --pivot-ui-scheme: var(--aui-color-scheme);
    --pivot-ui-font: var(--aui-font);
    --pivot-ui-close: var(--aui-ico-close);
}
.aui-pivot-slicer { position:relative; box-sizing:border-box; display:flex; flex-direction:column; height:280px; min-width:160px; padding:10px; border:1px solid var(--pivot-ui-border); border-radius:var(--pivot-ui-radius); background:var(--pivot-ui-bg); color:var(--pivot-ui-text); font:12px/1.4 var(--pivot-ui-font); color-scheme:var(--pivot-ui-scheme); }
.aui-pivot-slicer *, .aui-pivot-slicer *::before, .aui-pivot-slicer *::after { box-sizing:border-box; }
.aui-pivot-slicer-header { display:flex; align-items:center; flex-wrap:wrap; gap:6px; margin-bottom:8px; }
.aui-pivot-slicer .aui-pivot-slicer-title { margin:0; padding:0; font:bold 1.2em/1.4 var(--pivot-ui-font); color:inherit; flex:1; min-width:60px; overflow-wrap:anywhere; }
/* 전역 버튼 규칙이 삽입 창, 항목, 도구 버튼 및 크기 조절 손잡이에 섞이지 않게 합니다. */
.aui-pivot-slicer button, .aui-pivot-subtotal-dialog button {
    all:initial; box-sizing:border-box; appearance:none; display:inline-flex; align-items:center; justify-content:center;
    font:12px/1.4 var(--pivot-ui-font); color:var(--pivot-ui-buttonText); background:var(--pivot-ui-button);
    border:1px solid var(--pivot-ui-buttonBorder); border-radius:var(--pivot-ui-smallRadius); cursor:pointer; text-align:center;
}
.aui-pivot-slicer button::before, .aui-pivot-slicer button::after,
.aui-pivot-slicer-dialog button::before, .aui-pivot-slicer-dialog button::after,
.aui-pivot-subtotal-dialog button::before, .aui-pivot-subtotal-dialog button::after { content:none; display:none; }
.aui-pivot-slicer .aui-pivot-slicer-header > button { color:var(--pivot-ui-buttonText); padding:4px 6px; white-space:nowrap; box-shadow:var(--pivot-ui-buttonShadow); }
.aui-pivot-slicer .aui-pivot-slicer-header > button:hover:not(:disabled) { background:var(--pivot-ui-buttonHover); }
.aui-pivot-slicer .aui-pivot-slicer-header > button[aria-pressed="true"] { background:var(--pivot-ui-selected); border-color:var(--pivot-ui-accent); color:var(--pivot-ui-selectedText); }
.aui-pivot-slicer button:focus-visible, .aui-pivot-slicer input:focus-visible,
.aui-pivot-slicer-dialog button:focus-visible, .aui-pivot-subtotal-dialog button:focus-visible { outline:2px solid var(--pivot-ui-accent); outline-offset:2px; }
.aui-pivot-slicer .aui-pivot-slicer-search { all:initial; box-sizing:border-box; width:100%; flex:none; padding:6px; margin:0 0 8px; border:1px solid var(--pivot-ui-buttonBorder); border-radius:var(--pivot-ui-smallRadius); background:var(--pivot-ui-input); color:var(--pivot-ui-text); font:12px/1.4 var(--pivot-ui-font); }
.aui-pivot-slicer .aui-pivot-slicer-search::placeholder { color:var(--pivot-ui-muted); opacity:1; }
.aui-pivot-slicer .aui-pivot-slicer-search[hidden] { display:none; }
.aui-pivot-slicer-viewport { flex:1; min-height:36px; overflow:auto; position:relative; }
.aui-pivot-slicer-space { position:relative; }
/* 가상 행의 높이/좌표는 기존 계약을 유지하고 선택, 후보 없음, 잠금의 색상만 분리합니다. */
.aui-pivot-slicer .aui-pivot-slicer-item { position:absolute; display:block; height:30px; padding:4px 8px; text-align:left; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; background:var(--pivot-ui-input); color:var(--pivot-ui-text); border-color:var(--pivot-ui-buttonBorder); }
.aui-pivot-slicer .aui-pivot-slicer-item:hover:not([aria-disabled="true"]) { background:var(--pivot-ui-hover); border-color:var(--pivot-ui-accent); }
.aui-pivot-slicer .aui-pivot-slicer-item[aria-pressed="true"] { background:var(--pivot-ui-selected); border-color:var(--pivot-ui-accent); color:var(--pivot-ui-selectedText); }
/* 선택된 항목과 복수 선택 버튼은 hover 중에도 선택 색과 글자 대비를 유지합니다. */
.aui-pivot-slicer .aui-pivot-slicer-header > button[aria-pressed="true"]:hover:not(:disabled),
.aui-pivot-slicer .aui-pivot-slicer-item[aria-pressed="true"]:hover:not([aria-disabled="true"]) { background:var(--pivot-ui-selected); color:var(--pivot-ui-selectedText); box-shadow:inset 0 0 0 1px var(--pivot-ui-selectedText); }
.aui-pivot-slicer .aui-pivot-slicer-item[data-available="false"] { opacity:.5; }
.aui-pivot-slicer .aui-pivot-slicer-item[aria-disabled="true"] { cursor:default; }
.aui-pivot-slicer button:disabled { background:var(--pivot-ui-button); color:var(--pivot-ui-buttonText); opacity:.45; cursor:default; }
.aui-pivot-slicer-status { min-height:18px; padding-top:6px; font-size:12px; color:var(--pivot-ui-muted); }

/* 슬라이서의 기존 배치 공간을 보존하며 제목 이동/우하단 크기 조절을 기본 제공합니다. */
.aui-pivot-slicer-frame { position:relative; }
.aui-pivot-slicer[data-movable="true"] .aui-pivot-slicer-header { cursor:move; }
.aui-pivot-slicer[data-movable="true"] .aui-pivot-slicer-title { user-select:none; }
.aui-pivot-slicer-title:focus-visible { outline:2px solid currentColor; outline-offset:2px; }
/* 기존 피벗 패널의 8px 점 모양 손잡이를 두 UI에 동일하게 사용합니다. */
.aui-pivot-panel-resizer,
.aui-pivot-slicer > button.aui-pivot-slicer-resizer { position:absolute; right:1px; bottom:1px; width:8px; height:8px; padding:0; border:0; background:var(--aui-ico-resizer) 0 0 / 8px 8px no-repeat; opacity:1; cursor:se-resize; }
.aui-pivot-panel-resizer[hidden],
.aui-pivot-slicer > button.aui-pivot-slicer-resizer[hidden] { display:none; }
.aui-pivot-slicer-status { padding-right:16px; }

/* 제목의 이동 커서와 같은 키보드 포커스 표시를 제공합니다. */
.aui-pivot-panel-title { user-select:none; }
.aui-pivot-panel-title:focus-visible, .aui-pivot-panel-resizer:focus-visible { outline:2px solid currentColor; outline-offset:2px; }

/* 필드 글자를 직접 끌어 이동합니다. 빈 공간과 메뉴 화살표의 목록 스크롤은 유지합니다. */
.aui-pivot-panel-main .aui-pivot-panel-field-drag-target {
    touch-action: none;
    user-select: none;
    -webkit-user-select: none;
    -webkit-touch-callout: none;
}

/* 그룹은 제목 버튼으로 접고 펼치며 색상은 각 테마의 패널 글자색을 따릅니다. */
.aui-pivot-panel-main .aui-pivot-field-group-toggle {
    display: flex;
    align-items: center;
    gap: 6px;
    width: 100%;
    border: 0;
    padding: 5px 3px;
    margin: 0;
    background: transparent;
    color: inherit;
    font: inherit;
    font-weight: bold;
    text-align: left;
    cursor: grab;
    /* 제목을 손가락으로 끌 때 브라우저 스크롤로 전환되지 않게 합니다. */
    touch-action: none;
}
.aui-pivot-panel-main .aui-pivot-field-group-toggle::before {
    content: "";
    width: 0;
    height: 0;
    border-top: 4px solid transparent;
    border-bottom: 4px solid transparent;
    border-left: 5px solid currentColor;
    flex: 0 0 auto;
}
.aui-pivot-panel-main .aui-pivot-field-group-toggle[aria-expanded="true"]::before { transform: rotate(90deg); }
.aui-pivot-panel-main .aui-pivot-field-group-toggle:focus-visible { outline: 2px solid currentColor; outline-offset: -2px; }
.aui-pivot-panel-main .aui-pivot-field-group-children { padding-left: 14px; }
.aui-pivot-panel-main .aui-pivot-field-group-children[hidden] { display: none; }

/* 표 안의 필드 편집: 셀, 헤더, 기존 패널의 버튼 스타일에는 적용하지 않습니다. */
.aui-pivot-grid-fields {
    --field-bg: #f4f6f8; --field-chip: #fff; --field-text: #263442; --field-border: #bbc5cf; --field-accent: #337ab7;
    box-sizing: border-box; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    grid-template-rows: repeat(2, minmax(0, 1fr)); gap: 2px; height: 84px; padding: 1px;
    border: 1px solid var(--field-border); background: var(--field-bg); color: var(--field-text);
    /* 아래 필터 영역 또는 그리드의 상단 테두리와 겹치지 않도록 구분선은 아래쪽 영역에 맡깁니다. */
    border-bottom: 0;
    font: 12px/1.4 Arial, 'Malgun Gothic', sans-serif; position: relative;
}
.aui-pivot-grid-fields.aui-pivot-grid-fields-narrow { grid-template-columns: minmax(0, 1fr); grid-template-rows: repeat(4, minmax(0, 1fr)); height: 164px; }
.aui-pivot-grid-fields .aui-pivot-grid-field-zone { display: flex; align-items: center; min-width: 0; box-sizing: border-box; padding: 2px 6px; border: 1px solid transparent; }
.aui-pivot-grid-fields .aui-pivot-grid-field-title { flex: 0 0 auto; min-width: 36px; margin-right: 6px; font-weight: bold; }
.aui-pivot-grid-fields .aui-pivot-grid-field-list { display: flex; align-items: center; gap: 5px; min-width: 0; flex: 1; overflow-x: auto; scrollbar-width: thin; height: 34px; }
.aui-pivot-grid-fields .aui-pivot-grid-field-chip { box-sizing: border-box; flex: 0 0 auto; max-width: 220px; height: 27px; padding: 3px 9px; margin: 0; border: 1px solid var(--field-border); border-radius: 3px; background: var(--field-chip); color: var(--field-text); font: inherit; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; cursor: grab; touch-action: none; user-select: none; }
.aui-pivot-grid-fields .aui-pivot-grid-field-chip:hover { border-color: var(--field-accent); }
.aui-pivot-grid-fields .aui-pivot-grid-field-chip:focus-visible { outline: 2px solid var(--field-accent); outline-offset: -2px; }
.aui-pivot-grid-fields .aui-pivot-grid-field-empty { white-space: nowrap; opacity: .7; pointer-events: none; }
.aui-pivot-grid-fields .aui-pivot-grid-field-zone-active { border-color: var(--field-accent); }
.aui-pivot-grid-fields .aui-pivot-grid-field-before { box-shadow: inset 3px 0 var(--field-accent); }
.aui-pivot-grid-fields .aui-pivot-grid-field-at-end { box-shadow: inset -3px 0 var(--field-accent); }
.aui-pivot-grid-fields .aui-pivot-grid-field-status { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
/* 위치와 키보드 조작은 상단 메뉴가 담당하고 외형은 위의 패널 메뉴 규칙을 따릅니다. */
.aui-pivot-grid-fields .aui-pivot-grid-field-menu { position: fixed; z-index: 1101; min-width: 150px; }
/* 패널의 배경 아이콘과 같은 왼쪽 6px 위치, 12px 크기로 맞춰 글자 시작점을 유지합니다. */
.aui-pivot-grid-fields .aui-pivot-grid-field-menu-icon { position: absolute; left: 6px; top: 50%; width: 12px; height: 12px; transform: translateY(-50%); background-position: center; pointer-events: none; }

/* 항목 이동 손잡이는 한 인스턴스에 하나만 만들고 실제 보이는 셀 경계에 표시합니다. */
.aui-pivot-item-order { --item-bg: #fff; --item-text: #222729; --item-border: #c4ccd6; --item-accent: #337ab7; }
.aui-pivot-item-order [hidden] { display: none !important; }
.aui-pivot-item-order-handle { position: fixed; z-index: 1102; box-sizing: border-box; width: 18px; height: 22px; padding: 0; border: 1px solid var(--item-accent); border-radius: 2px; background: var(--item-bg); color: var(--item-accent); cursor: grab; font: 18px/20px sans-serif; touch-action: none; }
/* 드래그 중에는 손잡이 대신 항목 이름을 테마 글꼴로 표시하며 대상 셀 입력을 가리지 않습니다. */
.aui-pivot-item-order-handle.is-dragging { width: auto; min-width: 18px; max-width: min(360px, calc(100vw - 24px)); height: auto; min-height: 22px; padding: 2px 8px; font: 12px/20px var(--aui-font); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; background: var(--aui-surface); color: var(--aui-text); border-color: var(--aui-accent); pointer-events: none; cursor: grabbing; }
.aui-pivot-item-order-line { position: fixed; z-index: 1103; pointer-events: none; background: var(--item-accent); }
/* 위치만 별도로 관리하고 메뉴 외형은 위의 패널 메뉴 선언을 그대로 사용합니다. */
.aui-pivot-item-order .aui-pivot-item-order-menu { position: fixed; z-index: 1104; box-sizing: border-box; min-width: 150px; max-width: calc(100vw - 8px); }
/* 제목과 적용 범위 안내도 메뉴와 같은 글꼴과 좌우 간격을 사용합니다. */
.aui-pivot-item-order-menu strong, .aui-pivot-item-order-menu p { display: block; box-sizing: border-box; margin: 0; padding: 0 10px 0 24px; font: inherit; line-height: 24px; text-align: left; }
.aui-pivot-item-order-status { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }

/* 계산 편집창은 제품 테마만 사용하며 기본 대화상자의 초점 관리와 키보드 닫기를 유지합니다. */
/* 값 제목은 Flex 배치이므로 float 대신 자동 왼쪽 여백으로 버튼을 오른쪽 끝에 놓습니다.
   전역 button 규칙의 영향을 초기화하고 버튼 크기, 글꼴과 상태를 제품 안에서 정의합니다. */
.aui-pivot-panel-main .aui-pivot-panel-field-area-value-title > button.aui-pivot-calculation-open {
    all: initial;
    box-sizing: border-box;
    appearance: none;
    -webkit-appearance: none;
    display: block;
    position: static;
    float: none;
    flex: 0 1 auto;
    align-self: center;
    width: auto;
    min-width: 0;
    max-width: calc(100% - 4px);
    height: 20px;
    min-height: 20px;
    max-height: 20px;
    margin: 0 4px 0 auto;
    padding: 0 7px;
    /* 기존 테마 버튼의 배경과 글자색을 사용하며 외부 button 색상은 상속하지 않습니다. */
    border: 1px solid var(--aui-border-strong);
    border-radius: 3px;
    background: var(--aui-surface);
    background-image: none;
    color: var(--aui-text);
    font: 600 12px/18px Arial, 'Malgun Gothic', sans-serif;
    letter-spacing: normal;
    word-spacing: normal;
    text-align: center;
    text-indent: 0;
    text-transform: none;
    text-decoration: none;
    text-shadow: none;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    box-shadow: none;
    outline: none;
    opacity: 1;
    visibility: visible;
    /* 주변 필드 배치를 바꾸지 않고 버튼 표시 위치만 2px 내립니다. */
    transform: translateY(2px);
    transition: none;
    animation: none;
    cursor: pointer;
    pointer-events: auto;
    user-select: none;
    touch-action: manipulation;
    /* all 속성이 초기화하지 않는 방향 속성도 버튼 안에서는 명시합니다. */
    direction: ltr;
    unicode-bidi: isolate;
}
.aui-pivot-panel-main .aui-pivot-panel-field-area-value-title > button.aui-pivot-calculation-open:hover:not(:disabled) {
    background: var(--aui-surface-3);
    background-image: none;
    border-color: var(--aui-accent);
    color: var(--aui-text);
}
.aui-pivot-panel-main .aui-pivot-panel-field-area-value-title > button.aui-pivot-calculation-open:active:not(:disabled) {
    background: var(--aui-hover);
    border-color: var(--aui-accent);
    color: var(--aui-text);
}
.aui-pivot-panel-main .aui-pivot-panel-field-area-value-title > button.aui-pivot-calculation-open:focus-visible {
    outline: 2px solid var(--aui-accent);
    outline-offset: -3px;
}
.aui-pivot-panel-main .aui-pivot-panel-field-area-value-title > button.aui-pivot-calculation-open:disabled {
    background: var(--aui-surface-2);
    border-color: var(--aui-line);
    color: var(--aui-text-subtle);
    cursor: default;
}
/* 페이지 공통 버튼에 붙인 장식 아이콘도 계산 필드 버튼에는 추가하지 않습니다. */
.aui-pivot-panel-main .aui-pivot-panel-field-area-value-title > button.aui-pivot-calculation-open::before,
.aui-pivot-panel-main .aui-pivot-panel-field-area-value-title > button.aui-pivot-calculation-open::after {
    all: initial;
    content: none;
    display: none;
}
/* 계산 편집은 값 필드 설정처럼 본문 12px, 제목 1.2em으로 표시합니다. */
.aui-pivot-calculation-editor { --calc-bg: var(--pivot-ui-bg); --calc-text: var(--pivot-ui-text); --calc-border: var(--pivot-ui-border); box-sizing: border-box; width: 660px; max-width: calc(100vw - 24px); max-height: calc(100vh - 24px); padding: 22px; border: 1px solid var(--calc-border); border-radius: var(--pivot-ui-radius); background: var(--calc-bg); color: var(--calc-text); box-shadow: var(--pivot-ui-shadow); color-scheme: var(--pivot-ui-scheme); font: 12px/1.5 var(--pivot-ui-font); overflow: auto; }
/* 기본 dialog 스타일에 의존하지 않고 화면 크기가 바뀌어도 중앙을 유지합니다. */
dialog.aui-pivot-calculation-editor, dialog.aui-pivot-subtotal-dialog {
    position: fixed; inset: 0; margin: auto; height: fit-content;
    max-height: calc(100dvh - 24px);
}
.aui-pivot-calculation-editor::backdrop { background: var(--pivot-ui-backdrop); }
.aui-pivot-calculation-editor h2 { font-size: 1.2em; margin: 0 28px 16px 0; color: inherit; }
.aui-pivot-calculation-editor label { display: grid; grid-template-columns: 130px minmax(0, 1fr); gap: 10px; align-items: center; margin: 8px 0; }
.aui-pivot-calculation-editor input, .aui-pivot-calculation-editor select, .aui-pivot-calculation-editor textarea { box-sizing: border-box; min-width: 0; width: 100%; border: 1px solid var(--calc-border); border-radius: 4px; padding: 7px; background: var(--pivot-ui-input); color: var(--calc-text); font: inherit; }
.aui-pivot-calculation-editor [hidden] { display: none !important; }
.aui-pivot-calculation-operands { display: grid; grid-template-columns: minmax(0, 1fr) 70px minmax(0, 1fr); gap: 12px; align-items: center; }
.aui-pivot-calculation-operands fieldset { min-width: 0; border: 1px solid var(--calc-border); border-radius: 5px; padding: 10px; }
.aui-pivot-calculation-operands label { display: block; }
.aui-pivot-calculation-operands label > span { display: none; }
.aui-pivot-calculation-editor p { font-size: 12px; margin: 10px 0; }
.aui-pivot-calculation-editor .aui-pivot-calculation-preview-title { font-size: 12px; margin: 16px 0 6px; }
.aui-pivot-calculation-preview { display: block; min-height: 24px; padding: 8px; border: 1px solid var(--calc-border); white-space: pre-wrap; }
.aui-pivot-calculation-editor .aui-pivot-calculation-error { color: var(--pivot-ui-error); min-height: 18px; }
.aui-pivot-calculation-actions { display: flex; justify-content: flex-end; gap: 8px; flex-wrap: wrap; }
/* 제목 오른쪽 닫기 버튼도 테마의 기존 X 아이콘을 사용합니다. */
.aui-pivot-subtotal-dialog > button.aui-pivot-subtotal-close,
.aui-pivot-calculation-editor > button.aui-pivot-calculation-close {
    all: initial; box-sizing: border-box; position: absolute; top: 10px; right: 10px;
    width: 24px; height: 24px; border: 0; border-radius: 3px;
    background: var(--aui-ico-close) center / 16px 16px no-repeat; cursor: pointer;
}
.aui-pivot-subtotal-dialog > button.aui-pivot-subtotal-close:focus-visible,
.aui-pivot-calculation-editor > button.aui-pivot-calculation-close:focus-visible,
.aui-pivot-calculation-editor .aui-pivot-calculation-actions > button:focus-visible { outline: 2px solid var(--pivot-ui-accent); outline-offset: 2px; }
.aui-pivot-subtotal-dialog > button.aui-pivot-subtotal-close::before,
.aui-pivot-calculation-editor > button.aui-pivot-calculation-close::before,
.aui-pivot-subtotal-dialog > button.aui-pivot-subtotal-close::after,
.aui-pivot-calculation-editor > button.aui-pivot-calculation-close::after,
.aui-pivot-calculation-editor .aui-pivot-calculation-actions > button::before,
.aui-pivot-calculation-editor .aui-pivot-calculation-actions > button::after { content: none; display: none; }
.aui-pivot-calculation-editor .aui-pivot-calculation-actions > button:disabled { opacity: .55; cursor: default; }
.aui-pivot-calculation-editor :disabled { opacity: .55; cursor: default; }
@media (max-width: 520px) { .aui-pivot-calculation-editor { padding: 16px; } .aui-pivot-calculation-editor label { grid-template-columns: 1fr; gap: 3px; } .aui-pivot-calculation-operands { grid-template-columns: 1fr; gap: 6px; } }

/* 행 부분합 설정은 제품 테마 안에서 표시하며 좁은 화면에서도 가로 넘침을 만들지 않습니다. */
.aui-pivot-subtotal-open { display: block; box-sizing: border-box; width: 100%; border: 0; padding: 7px 12px; background: transparent; color: inherit; text-align: left; font: inherit; cursor: pointer; }
.aui-pivot-subtotal-open:hover, .aui-pivot-subtotal-open:focus-visible { background: #337ab7; color: #fff; }
.aui-pivot-subtotal-dialog { --subtotal-bg: var(--pivot-ui-bg); --subtotal-text: var(--pivot-ui-text); --subtotal-border: var(--pivot-ui-border); box-sizing: border-box; width: 440px; max-width: calc(100vw - 24px); max-height: calc(100vh - 24px); padding: 22px; border: 1px solid var(--subtotal-border); border-radius: var(--pivot-ui-radius); background: var(--subtotal-bg); color: var(--subtotal-text); box-shadow: var(--pivot-ui-shadow); color-scheme: var(--pivot-ui-scheme); font: 12px/1.5 var(--pivot-ui-font); overflow: auto; }
.aui-pivot-subtotal-dialog::backdrop { background: var(--pivot-ui-backdrop); }
.aui-pivot-subtotal-dialog h2 { font-size: 1.2em; margin: 0 28px 12px 0; color: inherit; }
.aui-pivot-subtotal-dialog p { margin: 12px 0; overflow-wrap: anywhere; }
.aui-pivot-subtotal-dialog label { display: flex; gap: 8px; align-items: center; padding: 8px 0; }
.aui-pivot-subtotal-dialog input { accent-color: var(--pivot-ui-accent); }
.aui-pivot-subtotal-dialog .aui-pivot-subtotal-error { color: var(--pivot-ui-error); min-height: 22px; }
.aui-pivot-subtotal-actions { display: flex; justify-content: flex-end; gap: 8px; }
.aui-pivot-subtotal-dialog .aui-pivot-subtotal-actions > button { color:var(--pivot-ui-buttonText); padding: 4px 2em; font-weight: bold; line-height: 1em; box-shadow: var(--pivot-ui-buttonShadow); }
.aui-pivot-subtotal-dialog .aui-pivot-subtotal-actions > button:hover:not(:disabled) { background: var(--pivot-ui-buttonHover); }
.aui-pivot-subtotal-dialog button:disabled { background:var(--pivot-ui-button); color:var(--pivot-ui-buttonText); }
.aui-pivot-subtotal-dialog :disabled { opacity: .55; cursor: default; }

/* 자유 수식 입력도 현재 테마의 배경과 글자색을 사용합니다. */
.aui-pivot-calculation-editor textarea { resize: vertical; font-family: Consolas, monospace; }
.aui-pivot-calculation-editor input[type="checkbox"] { width: auto; justify-self: start; }

/* 외형은 위의 값 설정 규칙을 공유하고, 삽입 창에 필요한 중앙 배치와 목록 높이만 지정합니다. */
dialog.aui-pivot-slicer-dialog {
    position:fixed; inset:0; margin:auto; height:fit-content; padding:0;
    max-width:calc(100vw - 24px); max-height:calc(100dvh - 24px);
    display:none; overflow:hidden;
}
.aui-pivot-slicer-dialog[open] { display:flex; flex-direction:column; }
.aui-pivot-slicer-dialog::backdrop { background:var(--pivot-ui-backdrop); }
.aui-pivot-slicer-dialog *, .aui-pivot-slicer-dialog *::before, .aui-pivot-slicer-dialog *::after { box-sizing:border-box; }
.aui-pivot-slicer-dialog-header { position:relative; flex-shrink:0; padding-right:42px; }
.aui-pivot-slicer-dialog-title { display:block; margin:0; padding:0; color:inherit; }
.aui-pivot-slicer-dialog-hint { flex-shrink:0; margin:12px 15px 8px; padding:0; font:inherit; color:inherit; }
.aui-pivot-slicer-dialog-list { flex:0 1 240px; min-height:0; height:240px; max-height:240px; margin:0 15px 15px; padding:0; }
.aui-pivot-slicer-dialog .aui-pivot-slicer-dialog-field { display:flex; align-items:center; gap:4px; font:inherit; color:inherit; cursor:pointer; overflow-wrap:anywhere; }
.aui-pivot-slicer-dialog-field:hover:not(:has(input:disabled)), .aui-pivot-slicer-dialog-field:has(input:checked) { background:var(--pivot-ui-hover); }
/* 키보드 초점만 가는 점선으로 구분합니다. 처음 열린 창의 굵은 행 테두리는 없앱니다. */
.aui-pivot-slicer-dialog-field:has(input:focus-visible) { outline:1px dotted var(--pivot-ui-accent); outline-offset:-1px; }
.aui-pivot-slicer-dialog .aui-pivot-slicer-dialog-field input { all:initial; box-sizing:border-box; appearance:auto; width:13px; height:13px; flex:0 0 13px; margin:0; accent-color:inherit; color-scheme:var(--pivot-ui-scheme); cursor:pointer; }
.aui-pivot-slicer-dialog .aui-pivot-slicer-dialog-field:has(input:disabled) { color:var(--pivot-ui-muted); cursor:default; }
.aui-pivot-slicer-dialog .aui-pivot-slicer-dialog-field input:disabled { opacity:.5; cursor:default; }
.aui-pivot-slicer-dialog-field small { margin-left:auto; font:inherit; color:var(--pivot-ui-muted); white-space:nowrap; }
.aui-pivot-slicer-dialog-empty { margin:8px; font:inherit; color:var(--pivot-ui-muted); }
.aui-pivot-slicer-dialog-footer { display:flex; flex-shrink:0; justify-content:flex-end; gap:10px; }
/* 버튼 크기와 비활성 색상은 값 설정의 공통 규칙이 결정합니다. */
.aui-pivot-slicer-dialog .aui-pivot-slicer-dialog-footer > button { margin:0; white-space:nowrap; }
.aui-pivot-slicer-dialog button.aui-pivot-slicer-dialog-close { position:absolute; top:8px; right:8px; }
/* 기존 닫기 이름과 클릭 영역은 유지하고 테마의 X 아이콘만 표시합니다. */
.aui-pivot-slicer-dialog button.aui-pivot-slicer-dialog-close,
.aui-pivot-slicer .aui-pivot-slicer-header > button.aui-pivot-slicer-close {
    flex:0 0 26px; width:26px; min-width:26px; height:26px; padding:0; margin:0; font-size:0;
    border:1px solid transparent; background:var(--pivot-ui-close) center / 16px 16px no-repeat; box-shadow:none;
}
.aui-pivot-slicer-dialog button.aui-pivot-slicer-dialog-close:hover,
.aui-pivot-slicer .aui-pivot-slicer-header > button.aui-pivot-slicer-close:hover { background:var(--pivot-ui-close) center / 16px 16px no-repeat var(--pivot-ui-hover); border-color:var(--pivot-ui-buttonBorder); }
/* 자동 영역만 문서 위의 독립 창으로 표시하며 수동 배치 영역은 변경하지 않습니다. */
.aui-pivot-slicer-floating { position:absolute; box-sizing:border-box; height:330px; }
.aui-pivot-slicer-floating .aui-pivot-slicer { box-shadow:var(--pivot-ui-shadow); }
