﻿button {
    background: inherit;
    border: none;
    box-shadow: none;
    border-radius: 0;
    padding: 0;
    overflow: visible;
    cursor: pointer
}

.top-logo-img > img {
    max-height: 28px;
    filter: var(--color-tab-icon-selected);
}

#home_banner {
    filter: var(--color-banner);
}

#app-side-nav-outer-toolbar {
    flex-direction: column;
    display: flex;
    height: 100%;
    width: 100%;
}

.layout-header {
    flex: 0 0 auto;
    box-shadow: 0 1px 0 #E4E7F0, 0 2px 8px rgba(0,0,0,.05);
    border-bottom: 2px solid var(--color-iz-main);
    background-color: var(--color-bg-layout-header);
    position: relative;
    padding: 0 10px;
    z-index: 1501;
}

#maintoptoolbar {
    background-color: var(--color-bg-layout-header);
}

.top-logo {
    display: table;
    min-width: 200px;
}

.top-logo-img {
    display: table-cell;
}

.top-logo-txt {
    display: table-cell;
    vertical-align: middle;
    font-weight: bold;
    color: var(--color-top-logo-txt);
}

.iz-card {
    /*20210221 cdb ����
    padding-top: 5px;*/
    background-color: var(--color-bg-body);
}

    .iz-card.wide-card {
        border-radius: 0;
        margin-left: 0;
        margin-right: 0;
        border-right: 0;
        border-left: 0;
    }

.header-submenu {
    /* �Ʒ������� ���Ľ�*/
    /*vertical-align: bottom;*/
    /* �������� ���Ľ�*/
    vertical-align: top;
}

.iz-submenu {
    display: flex;
    flex-direction: row;
    align-items: flex-end;
    margin-left: 18px;
    height: 25px !important;
}

    .iz-submenu .dx-tabs-wrapper .dx-tab {
        background-color: var(--color-submenu-bg);
        /*color: black;*/
        color: white;
        padding: 0;
        min-width: 100px;
        z-index: 1;
        box-shadow: rgba(0,0,0,.1) 3px 2px 5px, inset rgba(255,255,255,.09) -1px 0;
        border-radius: 0 0 8px 8px;
    }

        .iz-submenu .dx-tabs-wrapper .dx-tab::before,
        .iz-submenu .dx-tabs-wrapper .dx-tab::after {
            display: block;
            content: " ";
            position: absolute;
            top: 0;
            height: 100%;
            width: 10px;
            z-index: 1;
            background-color: #439AD3;
        }

        .iz-submenu .dx-tabs-wrapper .dx-tab::before {
            right: -5px;
            left: auto;
            transform: skew(-15deg, 0deg);
            box-shadow: rgba(0,0,0,.1) 3px 2px 5px, inset rgba(255,255,255,.09) -1px 0;
            border-radius: 0 0 8px 0;
            background-color: var(--color-submenu-bg);
        }

        .iz-submenu .dx-tabs-wrapper .dx-tab::after {
            left: -5px;
            transform: skew(15deg, 0deg);
            box-shadow: rgba(0,0,0,.1) -3px 2px 5px, inset rgba(255,255,255,.09) 1px 0;
            border-radius: 0 0 0 8px;
            background-color: var(--color-submenu-bg);
        }

        .iz-submenu .dx-tabs-wrapper .dx-tab.dx-tab-selected {
            background-color: var(--color-iz-main) !important;
            color: white !important;
            text-transform: uppercase;
            min-width: 100px;
            z-index: 2;
            font-weight: bold !important;
        }

            .iz-submenu .dx-tabs-wrapper .dx-tab.dx-tab-selected .dx-tab-text {
                font-weight: bold;
            }

            .iz-submenu .dx-tabs-wrapper .dx-tab.dx-tab-selected::before,
            .iz-submenu .dx-tabs-wrapper .dx-tab.dx-tab-selected::after {
                display: block;
                content: " ";
                position: absolute;
                top: 0;
                height: 100%;
                width: 10px;
                z-index: 2;
                background-color: var(--color-iz-main) !important;
            }

        .iz-submenu .dx-tabs-wrapper .dx-tab:hover {
            background-color: var(--color-iz-main);
            color: white;
            z-index: 2;
        }

            .iz-submenu .dx-tabs-wrapper .dx-tab:hover::before,
            .iz-submenu .dx-tabs-wrapper .dx-tab:hover::after {
                content: " ";
                background-color: var(--color-iz-main);
            }

.with-footer > div > div > .dx-scrollable-content {
    height: 100%;
}

    .with-footer > div > div > .dx-scrollable-content > .dx-scrollview-content {
        display: flex;
        flex-direction: column;
        min-height: 100%;
    }

.layout-body {
    background-color: #f2f2f2;
    flex: 1;
    height: 100%;
    min-height: 0;
}

    .layout-body .menu-container {
        height: 100%;
        width: 250px;
        min-width: 250px;
        position: relative;
    }

    .layout-body .content {
        flex-grow: 1;
        height: 100%;
        line-height: 1.5;
        position: relative;
    }

        .layout-body .content .iz-panel-right {
            position: absolute;
            top: 5px;
            right: 10px;
            width: 300px;
            height: 99%;
            z-index: 999;
            background-color: white;
            border: 1px solid #dddddd;
        }

        .layout-body .content .iz-panel-right-title {
            padding: 10px;
            text-align: center;
        }

        .layout-body .content h2 {
            font-size: 30px;
            font-weight: 300;
            letter-spacing: -.5px;
        }

        .layout-body .content .iz-panel-userinfo {
            position: absolute;
            top: 5px;
            right: 70px;
            width: 300px;
            height: 50%;
            z-index: 999;
            background-color: var(--color-bg-panel-content);
            box-shadow: 0 4px 20px rgba(0,0,0,.18);
            border-radius: 8px;
            overflow: hidden;
        }

        .layout-body .content .iz-panel-userinfo-header {
            width: 100%;
            padding: 5px;
            border-bottom: 1px solid var(--color-bg-panel-boxshadow);
            /*background: var(--color-bg-popup-title);*/
            background-color: var(--color-bg-panel);
            text-align: center;
        }

        .layout-body .content .iz-panel-userinfo-title {
            bottom: 0;
            width: 100%;
            padding: 5px;
            text-align: center;
            /*color: white;*/
        }

        .layout-body .content .iz-panel-userinfo-contents {
            display: flex;
            padding: 10px;
            flex-direction: column;
            gap: 10px;
        }

        .layout-body .content .iz-panel-userinfo-content {
            background-color: var(--color-bg-panel);
            padding: 10px;
            box-shadow: 2px 2px 2px var(--color-bg-panel-boxshadow);
        }

        .layout-body .content .iz-panel-userinfo-bottom {
            position: absolute;
            bottom: 0;
            width: 100%;
            padding: 10px;
            border-top: 1px solid var(--color-bg-panel-boxshadow);
            /*background-color: var(--color-bg-popup-title);*/
            background-color: var(--color-bg-panel);
            text-align: center;
        }

.iz-panel-userinfo-usertype {
    font-size: 10px;
    color: white;
    padding: 3px;
    margin-right: 5px;
}

    .iz-panel-userinfo-usertype.master {
        background-color: #E53935;
        border-radius: 4px;
        padding: 2px 8px;
        font-weight: 600;
    }

    .iz-panel-userinfo-usertype.normal {
        background-color: var(--color-iz-main);
        border-radius: 4px;
        padding: 2px 8px;
        font-weight: 600;
    }

/* ── 사용자 패널 리디자인 ────────────────────────────────────── */
.iz-upanel-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 12px 16px;
    border-bottom: 1px solid var(--color-common-border);
    font-weight: 700;
    font-size: 14px;
}

.iz-upanel-body {
    display: flex;
    flex-direction: column;
    gap: 12px;
    padding: 16px;
    flex: 1;
    overflow-y: auto;
}

.iz-upanel-company {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 10px 12px;
    background: var(--color-bg-tab-search);
    border-radius: 8px;
    font-weight: 600;
    font-size: 13px;
}

.iz-upanel-company-icon {
    width: 28px;
    height: 28px;
    border-radius: 6px;
    background: var(--color-iz-main);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

    .iz-upanel-company-icon svg {
        width: 16px;
        height: 16px;
        fill: white;
    }

.iz-upanel-user {
    padding: 12px;
    background: #fff;
    border: 1px solid var(--color-common-border);
    border-radius: 8px;
}

.iz-upanel-user-row {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 10px;
}

.iz-upanel-avatar {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--color-iz-main) 0%, #1358B8 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    font-weight: 800;
    font-size: 16px;
    flex-shrink: 0;
}

.iz-upanel-info {
    flex: 1;
    min-width: 0;
}

.iz-upanel-name {
    font-weight: 700;
    font-size: 14px;
    display: flex;
    align-items: center;
    gap: 6px;
}

.iz-upanel-id {
    color: rgba(0,0,0,.5);
    font-size: 12px;
}

.iz-upanel-ip {
    color: rgba(0,0,0,.4);
    font-size: 11px;
    margin-top: 3px;
    display: flex;
    align-items: center;
    gap: 4px;
}

    .iz-upanel-ip svg {
        width: 12px;
        height: 12px;
        fill: rgba(0,0,0,.35);
    }

.iz-upanel-actions {
    display: flex;
    gap: 6px;
    margin-top: 10px;
}

.iz-upanel-settings {
    padding: 12px;
    background: var(--color-bg-tab-search);
    border-radius: 8px;
}

.iz-upanel-settings-title {
    font-weight: 600;
    font-size: 12px;
    color: rgba(0,0,0,.5);
    margin-bottom: 8px;
    letter-spacing: 0.3px;
}

.iz-upanel-footer {
    display: flex;
    gap: 8px;
    justify-content: flex-end;
    padding: 12px 16px;
    border-top: 1px solid var(--color-common-border);
    background: var(--color-bg-body);
}

#btnLogin2 {
    background: var(--color-iz-main) !important;
    color: white !important;
    border-radius: 6px !important;
    font-weight: 600 !important;
}



/*.layout-body .content .iz-panel-userinfo:before {
            content: '';
            position: absolute;
            top: -10px;
            left: 100px;
            width: 0;
            height: 0;
            border: 10px solid transparent;
            border-top: 0;
            border-bottom: 10px solid white;*/
/*z-index: 999999999999999999999;*/
/*}*/
.layout-body .content-block {
    /*dkim ����*/
    /*        
    margin-left: 20px;
    margin-right: 20px;
    margin-top: 20px;
    */
    /*20201126 cdb ����
    margin-left: 10px;
    margin-right: 10px;*/
    /*margin-top: 10px;*/
    /*margin-top: 1px;*/
}

.dx-form .dx-numberbox .dx-placeholder {
    display: none;
}

.layout-body .content-block .caption {
    color: #656565;
    background-color: #fff;
    font-size: 16px;
    padding: 10px 10px;
    margin: 0;
    border-bottom: 1px solid #ebebeb;
}

.layout-body .content-footer {
    display: flex;
    justify-content: start;
    align-items: center;
    gap: 10px;
    padding: 0 10px;
    min-height: 28px;
    color: var(--color-footer);
    border-top: 1px solid var(--color-footer-border);
    font-size: 11px;
    letter-spacing: 0.2px;
}

    .layout-body .content-footer .content-footer-message {
        width: 50%;
        opacity: 0.8;
    }

    .layout-body .content-footer .content-footer-copyright {
        margin-left: auto;
        opacity: 0.6;
    }

    .layout-body .content-footer .content-footer-userchange {
    }

.layout-body .responsive-paddings {
    /*dkim ����*/
    /*padding: 20px;*/
    padding: 0 15px;
}

.layout-body-hidden {
    visibility: hidden;
    opacity: 0;
}

.layout-body {
    transition: opacity 0.2s ease-out;
}

/* DevExtreme Drawer: iamz.common.css의 min-width:250px를 제거하여
   shrink+slide 마진 애니메이션이 정상 작동하도록 함 */
#layout-drawer .dx-drawer-panel-content {
    min-width: 0 !important;
}

/* 콘텐츠 영역 오버플로 방지 */
#layout-drawer .dx-drawer-content {
    overflow: hidden;
    min-width: 0;
}

.layout-body .content {
    overflow: hidden;
    min-width: 0;
    width: 100%;
    box-sizing: border-box;
}

.layout-body .content .tab-container {
    max-width: 100%;
    overflow: hidden;
    box-sizing: border-box;
    min-width: 0;
}

/* 팝업 반응형 - 작은 화면에서 팝업이 뷰포트를 넘지 않도록 */
@media screen and (max-width: 768px) {
    .dx-overlay-content.dx-popup-normal {
        max-width: calc(100vw - 20px) !important;
        max-height: calc(100vh - 40px) !important;
    }
}

/* 탭 콘텐츠 내부 프로그램 반응형 */
.dx-item-content.dx-multiview-item-content {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

/*@media screen and (min-width: 600px) {
    .layout-body .content-block {*/
/*dkim ����*/
/*        
        margin-left: 40px;
        margin-right: 40px;
        */
/*margin-left: 30px;
        margin-right: 10px;
    }
}*/

/*2024-09-13 �ֿ�ȯ ����*/
.dx-layout-manager.dx-layout-manager-one-col .dx-box-item:not(:first-child)
.dx-single-column-item-content > .dx-field-item {
    padding-top: 0px;
}

/*2024-09-13 �ֿ�ȯ ����*/
.dx-layout-manager.dx-widget.dx-layout-manager-one-col .dx-widget.dx-collection.dx-responsivebox-screen-xs.dx-responsivebox > .dx-box-flex.dx-box.dx-widget.dx-collection > .dx-item.dx-box-item:has(> .dx-item-content.dx-box-item-content >.dx-field-empty-item) {
    height: 0;
    border: 0;
}

/*2024-09-12 �ֿ�ȯ ����*/
@media screen and (max-width: 575px) {
    .iz-mobile-hidden {
        display: none !important;
    }

    #maintoptoolbar {
        height: 75px;
    }

        #maintoptoolbar .dx-toolbar-after {
            float: right;
        }

        #maintoptoolbar .dx-toolbar-before, #maintoptoolbar .dx-toolbar-after {
            position: relative !important;
        }

    .layout-body .content .iz-panel-userinfo {
        top: 80px !important;
    }

    .tab-container-header .dx-toolbar.dx-widget.dx-visibility-change-handler.dx-collection .dx-toolbar-after {
        float: right;
    }

    .tab-container-header .dx-toolbar.dx-widget.dx-visibility-change-handler.dx-collection .dx-toolbar-after, .tab-container-header .dx-toolbar.dx-widget.dx-visibility-change-handler.dx-collection .dx-toolbar-before {
        position: relative !important;
    }

    .tab-container {
        height: calc( 60% - 110px )
    }
}



/*2024-09-12 최용환 수정*/
@media screen and (min-width: 576px) {

    #maintoptoolbar {
        height: 38px;
    }

        #maintoptoolbar .dx-toolbar-before, #maintoptoolbar .dx-toolbar-after {
            position: absolute;
        }
}

/* 태블릿(576~767px): 패널 전체 너비 + 세로 배치 */
@media screen and (min-width: 576px) and (max-width: 767px) {
    #layout-drawer .dx-drawer-panel-content {
        width: 100% !important;
        height: calc( 40vh - 110px )
    }
}

/*2024-09-12 최용환 수정*/
@media screen and (min-width: 768px) {
    .iz-desktop-hidden {
        display: none !important;
    }

    /* 패널: DevExtreme이 인라인 width를 관리하므로 width !important 제거.
       shrink+slide 모드는 margin-left로 열고 닫으며,
       flexbox(flex:0 0 auto)가 패널 크기를 제어함 */
    #layout-drawer .dx-drawer-panel-content {
        height: 100%;
    }

    .tab-container {
        height: calc( 100% - 105px )
    }
}
/*2024-09-12 �ֿ�ȯ ����(���� ���̵��, ���̿��� ����� ȭ��)*/
@media screen and (max-width: 767px) {

    #layout-drawer .dx-drawer-wrapper {
        flex-direction: column;
    }

    #layout-drawer .dx-drawer-panel-content {
        width: 100% !important;
        height: calc( 40vh - 72px )
    }

    #layout-drawer .menu-container {
        width: 100%;
    }

    .layout-body .content .iz-panel-userinfo {
        top: 43px;
        position: fixed;
    }

    .tab-container {
        height: calc( 60% - 72px )
    }

    .dx-overlay-content.dx-popup-normal.dx-popup-draggable.dx-resizable
    .dx-toolbar.dx-widget.dx-visibility-change-handler.dx-collection.dx-popup-title > .dx-toolbar-items-container > .dx-toolbar-center {
        margin: 0 !important;
    }
}

@media screen and (min-width: 992px) {
    .iz-desktop-hidden {
        display: none !important;
    }
}

@media screen and (min-width: 1200px) {
    .iz-desktop-hidden {
        display: none !important;
    }
}


/* 사이드바 메뉴 스타일 */
/* (메뉴 변수는 iamz.common.css :root 에 통합됨) */

/* ======================== ���� ���� ���� ����(�߿�) ======================== */
/* Ʈ�� �����̳� �⺻ ���� ���� �� �ϸ�ũ ����/�� ���� ���� */
.menu-container .dx-treeview .dx-treeview-node-container {
    padding: 0 !important;
    margin: 0 !important;
}
/* �˻����� ���� ����(�ʿ�� 0���� ����) */
.menu-container .dx-treeview-search {
    margin: 4px 0 2px !important;
    line-height: 16px;
}
/* ���ø� ���� ���� ���� ���� �� 1������ ���� ���� */
.menu-container .dx-treeview .tv-section-wrap {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    margin: 0 !important;
}

/* ======================== �⺻ ���� ======================== */
.menu-container .dx-widget {
    color: #fff !important;
    font-weight: 700;
    line-height: 24px;
}

.menu-container .dx-treeview {
    white-space: nowrap;
}

    /* ������ �⺻ */
    .menu-container .dx-treeview .dx-treeview-item {
        background: transparent !important;
        padding: 5px 8px; /* 6 �� 5 */
        min-height: 26px; /* 28 �� 26 */
        border-radius: 8px;
        line-height: 1.25; /* 2�� Ŭ������ �ϰ� */
    }

        /* ȣ��/���� */
        .menu-container .dx-treeview .dx-treeview-item.dx-state-hover {
            color: #fff;
        }

    .menu-container .dx-treeview .dx-treeview-node-container
    .dx-treeview-node:not(.dx-state-focused) > .dx-treeview-item.dx-state-hover {
        background: var(--hover-bg) !important;
        transition: background-color .15s ease;
    }
    /* 1������ ���� �� ���� */
    .menu-container .dx-treeview .dx-treeview-node[aria-level="1"] > .dx-treeview-item.dx-state-hover {
        background: var(--section-bg) !important;
    }

    /* 메뉴 선택 스타일: dx-state-selected (DevExtreme) 또는 iamz-menu-selected (커스텀) */
    .menu-container .dx-treeview .dx-treeview-node-container
    .dx-treeview-node.dx-state-selected > .dx-treeview-item *,
    .menu-container .dx-treeview .dx-treeview-node-container
    .dx-treeview-node.iamz-menu-selected > .dx-treeview-item *,
    .menu-container .dx-treeview .dx-treeview-node-container
    .dx-treeview-node > .dx-treeview-item.iamz-menu-selected * {
        color: var(--selected-fg) !important;
    }

    .menu-container .dx-treeview .dx-treeview-node-container
    .dx-treeview-node.dx-state-selected > .dx-treeview-item,
    .menu-container .dx-treeview .dx-treeview-node-container
    .dx-treeview-node.iamz-menu-selected > .dx-treeview-item,
    .menu-container .dx-treeview .dx-treeview-node-container
    .dx-treeview-node > .dx-treeview-item.iamz-menu-selected {
        background: rgba(255, 112, 67, 0.15) !important;
        border-left: 3px solid #FF7043;
    }

    /* ���(caret) �߾����� */
    /* 토글 위치는 #mainmenutree 전용 스타일에서 관리 */
    .menu-container .dx-treeview .dx-treeview-toggle-item-visibility {
        /* position handled by #mainmenutree rules below */
    }

.dx-rtl .dx-treeview .dx-treeview-toggle-item-visibility {
    left: 10px;
    right: auto;
}

/* ������/�ؽ�Ʈ ���̾ƿ� */
.menu-container .dx-treeview .dx-treeview-item .dx-treeview-item-content {
    display: grid;
    grid-template-columns: var(--menu-icon-w) 1fr;
    align-items: center;
    column-gap: var(--menu-icon-gap);
}

.menu-container .dx-treeview .dx-treeview-item .dx-icon {
    grid-column: 1;
    width: var(--menu-icon-w);
    text-align: center;
    line-height: 1;
    transform: translateY(1px);
    margin: 0;
}

.menu-container .dx-treeview .dx-treeview-item .dx-treeview-item-text,
.menu-container .dx-treeview .dx-treeview-item .dx-treeview-item-content > span {
    grid-column: 2;
    min-width: 0;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2; /* 2�� */
    white-space: normal;
    overflow: hidden;
    text-overflow: ellipsis;
    line-height: 1.25;
}

/* ======================== ������ ��Ÿ��(����/����) ======================== */
/* 1����(���� ��) : ���� ���� 6/2 ����, ù/������ ���� ���� */
.menu-container .dx-treeview .dx-treeview-node[aria-level="1"] {
    padding-bottom: 2px;
}

    .menu-container .dx-treeview .dx-treeview-node[aria-level="1"]:first-child {
        padding-top: 0;
    }

    .menu-container .dx-treeview .dx-treeview-node[aria-level="1"]:last-child {
        padding-bottom: 0;
    }

    .menu-container .dx-treeview .dx-treeview-node[aria-level="1"] > .dx-treeview-item {
        margin: 0;
        background: var(--section-bg) !important;
        border-bottom: 1px solid var(--section-border) !important;
        font-weight: 800;
        padding: 5px 10px;
        text-shadow: 0 1px 2px rgba(0,0,0,.15);
        transition: background-color .15s ease;
    }

/* 2~4����: ����Ʈ + �鿩���� ���� */
.menu-container .dx-treeview .dx-treeview-node[aria-level="2"] > .dx-treeview-item {
    min-height: 22px;
    margin: 0;
    background: transparent;
    padding: var(--menu-vpad) 10px var(--menu-vpad) calc(10px + var(--indent-l2));
}

.menu-container .dx-treeview .dx-treeview-node[aria-level="3"] > .dx-treeview-item {
    min-height: 22px;
    margin: 0;
    background: transparent;
    padding: var(--menu-vpad) 10px var(--menu-vpad) calc(10px + var(--indent-l3));
}

.menu-container .dx-treeview .dx-treeview-node[aria-level="4"] > .dx-treeview-item {
    min-height: 22px;
    margin: 0;
    background: transparent;
    padding: var(--menu-vpad) 10px var(--menu-vpad) calc(10px + var(--indent-l4));
}

.menu-container .dx-treeview .dx-treeview-node[aria-level="2"] .dx-treeview-item-content {
    font-weight: 600;
}

.menu-container .dx-treeview .dx-treeview-node[aria-level="3"] .dx-treeview-item-content {
    font-weight: 500;
}

.menu-container .dx-treeview .dx-treeview-node[aria-level="4"] .dx-treeview-item-content {
    font-weight: 500;
}

/* ======================== ������(FA5/6 ȣȯ) ======================== */
.menu-container .dx-treeview .dx-treeview-item-content i.fa-circle-o {
    display: none;
}
/* FA4 ���� */
.menu-container .dx-treeview .dx-treeview-item-content i.fa-regular.fa-circle,
.menu-container .dx-treeview .dx-treeview-item-content i.fa.fa-circle-o {
    font-size: 1em;
    opacity: .85;
}

.menu-container .dx-treeview .dx-treeview-item-content i.fa-folder,
.menu-container .dx-treeview .dx-treeview-item-content i.fa-solid.fa-folder,
.menu-container .dx-treeview .dx-treeview-item-content i.fa-folder-open,
.menu-container .dx-treeview .dx-treeview-item-content i.fa-solid.fa-folder-open {
    font-size: 1.1em;
}
/* ���� ������ ��¦ ��� */
.menu-container .dx-treeview .dx-treeview-item-content i.fa-regular.fa-file,
.menu-container .dx-treeview .dx-treeview-item-content i.fa-regular.fa-file-lines {
    font-size: 1.0em;
}

/* ======================== BookMark ����(�׻� 1������ �����ϰ� ���̵���) ======================== */
/* ���ø��� ����, �����Ͱ� ���� ������ 1���� ���ǰ� ���� ��(���/����/����)�� ���� */
.menu-container .dx-treeview .tv-section {
    display: block;
    min-height: 26px; /* 1������ ���� ���� */
    margin: 0;
    padding: 5px 10px; /* 1������ ���� �е� */
    border-radius: 8px;
    background: var(--section-bg);
    border-bottom: 1px solid var(--section-border);
}
/* ���ø� ���� Ŭ����(�ִ� ��츸) */
.menu-container .dx-treeview .tv-item {
    margin: 0 6px;
    border-radius: 8px;
}

    .menu-container .dx-treeview .tv-item:hover {
        background: rgba(148,163,184,.15);
    }

    .menu-container .dx-treeview .tv-item .tv-badge {
        margin-left: 6px;
    }

    .menu-container .dx-treeview .tv-item .tv-icon {
        width: 14px;
        text-align: center;
        opacity: .85;
    }

.menu-container .dx-treeview .tv-section .tv-section-row {
    display: flex;
    align-items: center;
    gap: 8px;
}

.menu-container .dx-treeview .tv-section .tv-section-text {
    font-weight: 800;
    font-size: 13px;
}

/* ======================== ��ũ��� ======================== */
:root.dark .menu-container .dx-treeview
.dx-treeview-node:not(.dx-state-focused) > .dx-treeview-item.dx-state-hover {
    background-color: rgba(93,103,116,.9);
}

/* ======================== (����) 1�� ���� ��� ======================== */
.menu-container.menu--singleline .dx-treeview .dx-treeview-item .dx-treeview-item-text,
.menu-container.menu--singleline .dx-treeview .dx-treeview-item .dx-treeview-item-content > span {
    display: block;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    -webkit-line-clamp: unset;
}

/* ======================== �ý��� �޴� ��� ======================== */
#sysmenu .dx-button-content {
    justify-content: center;
    color: #fff;
}

#sysmenu .dx-icon-preferences {
    color: rgba(255,255,255,.9);
    margin-right: auto;
}

#sysmenu .dx-icon-spindown {
    color: rgba(255,255,255,.9);
    margin-left: auto;
}

#sysmenu .dx-buttongroup-item {
    border: none;
    width: 100%;
}

/* ======================== textarea ��������Ʈ ======================== */
.dx-textarea .dx-texteditor-input {
    line-height: 1.2857;
}
/**/

/*�޴� �˻�*/
/*240830 �ֿ�ȯ ����*/
#mainmenutree .dx-placeholder {
    font-weight: 500;
    color: #d0d0d0;
    padding-left: 20px;
    font-size: 13px;
}

#mainmenutree .dx-texteditor-input {
    margin-left: 20px;
    padding-bottom: 0;
}

#mainmenutree .dx-texteditor-container {
    padding-bottom: 5px;
}

#mainmenutree .dx-icon-search {
    font-size: 22px;
    top: 30%;
}

    #mainmenutree .dx-icon-search:before {
        color: white;
        padding-left: 10px;
        margin-bottom: -5px;
    }

#mainmenutree .dx-texteditor.dx-editor-underlined:after {
    width: 90%;
    border-bottom: 1px solid white;
    position: absolute;
    left: 5%;
}

#mainmenutree .dx-treeview-node {
    padding-left: 0px;
}

/* 토글 화살표: 위치 고정 + 애니메이션 */
#mainmenutree .dx-treeview-toggle-item-visibility {
    color: rgba(255,255,255,.35) !important;
    right: 4px !important;
    left: auto !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    width: 20px !important;
    height: 20px !important;
    display: flex !important;
    align-items: center;
    justify-content: center;
    font-size: 14px !important;
    transition: color .2s, transform .25s ease;
    position: absolute !important;
}
#mainmenutree .dx-treeview-toggle-item-visibility:hover {
    color: rgba(255,255,255,.8) !important;
}
/* 펼침 상태: 화살표 90도 회전 + 밝게 */
#mainmenutree .dx-treeview-node[aria-expanded="true"] > .dx-treeview-toggle-item-visibility {
    color: rgba(255,255,255,.7) !important;
    transform: translateY(-50%) rotate(90deg) !important;
}
/* 대메뉴 아이템에 우측 여백 (화살표 공간 확보) */
#mainmenutree .dx-treeview-node .dx-treeview-item {
    padding-right: 28px !important;
    position: relative;
}

/* 서브메뉴 열림 영역 */
#mainmenutree .dx-treeview-node-container .dx-treeview-node .dx-treeview-node-container-opened {
    background: rgba(0,0,0,.12) !important;
}

/* 서브메뉴 펼침/접힘 슬라이드 애니메이션 */
#mainmenutree .dx-treeview-node-container {
    transition: max-height .3s ease, opacity .25s ease;
    overflow: hidden;
}

/* 폴더 아이콘 전환 애니메이션 */
#mainmenutree .dx-treeview-item-content i.fa-folder,
#mainmenutree .dx-treeview-item-content i.fa-folder-open {
    transition: transform .2s ease, color .2s;
}
#mainmenutree .dx-treeview-item-content i.fa-folder-open {
    color: #fbbf24 !important;
}

/* 대메뉴(Level 1) 열림 시 좌측 강조 바 */
#mainmenutree .dx-treeview-node[aria-level="1"][aria-expanded="true"] > .dx-treeview-item {
    border-left: 3px solid var(--color-iz-main, #1A6FDB);
    background: rgba(26,111,219,.08);
}
#mainmenutree .dx-treeview-node[aria-level="1"][aria-expanded="false"] > .dx-treeview-item,
#mainmenutree .dx-treeview-node[aria-level="1"]:not([aria-expanded]) > .dx-treeview-item {
    border-left: 3px solid transparent;
}

/** �� ������*/

.tab-container {
    display: flex;
    height: 100%;
    flex-direction: column;
    gap: 5px;
    margin-bottom: -5px;
    overflow: hidden;
}

.tab-container-header {
    flex-shrink: 0;
}

.tab-container-search {
    flex-shrink: 0;
    display: flex;
    flex-direction: row;
    box-shadow: none;
    justify-content: start;
    align-items: center;
    padding: 8px 14px;
    gap: 20px;
    background-color: var(--color-bg-tab-search);
    border-radius: 8px;
    border: 1px solid var(--color-common-border);
}

.tab-container-body {
    flex: 1;
    min-height: 0;
    overflow: auto;
}

.tab-container-body-tables {
    display: flex;
    flex-direction: row;
    gap: 5px;
    flex-shrink: 0;
}

.tab-container-footer {
    flex-shrink: 0;
}

.search-panel {
    background-color: var(--color-bg-tab-search);
    border-radius: 8px;
    padding-top: 10px !important;
    margin: 3px 0;
    border: 1px solid var(--color-common-border);
}

.iz_widget {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 10px;
    flex-shrink: 0;
}

.iz_widget-label {
    margin-top: 5px;
    color: var(--color-default);
    opacity: .65;
    font-weight: 600;
    font-size: 12px;
    white-space: nowrap;
    flex-shrink: 0;
}

.iz_widget-value {
}

.iz_form-label {
    color: var(--color-default);
    opacity: .6;
    margin-right: 40px;
}

.iz_form-value {
    /*margin-top: 5px;*/
}

.home_banner {
    width: 100%;
    height: 100%;
    /*margin-top: 10px;*/
}

/*myjob badge ������ ����*/
#myjob_message_icon .dx-tab .dx-badge {
    background-color: #ff5722;
    color: #fff;
    margin-top: -3px;
    margin-left: -10px;
    padding: 3px 9px;
}

.iz-myjob-button {
    padding: 0 3px;
}

.iz-myjob-button-icon {
    margin-top: -3px;
    margin-right: 3px;
}

.iz-myjob-button-badge {
    background-color: #444E5C;
    color: #fff;
    margin-top: -4px;
    margin-left: -6px;
    padding: 3px 7px;
}

.iz-myjob-button-badge-fill {
    background-color: #ff5722;
    color: #fff;
    margin-top: -4px;
    margin-left: -6px;
    padding: 3px 7px;
}

.iz-myjob-button-progress {
    width: 100%;
    height: 4px;
    position: absolute;
    bottom: 6px;
}

/**
    Common
*/
.common-header-border {
    border-bottom: 1px solid var(--color-common-header-border);
}

/*Form Editor ��ư*/
/*.iz-editorbtn {
    margin: 0 !important;
}*/
.dx-widget.dx-button.dx-button-mode-contained.dx-button-success.dx-button-has-icon.iz-editorbtn {
    /*margin: 0 2px;*/
    /*max-height: 20px;*/
    margin: 1px 1px 1px 0;
    max-height: 23px;
    max-width: 20px;
}

/* */
.mainmenutree-logo {
    color: #dddddd;
    /*border-top: 1px solid #eee;*/
    /*border-top: 1px solid #eee;*/
    border-top: 1px solid #73737A;
    width: 100%;
    min-height: 30px;
    display: flex;
    justify-content: center;
    align-items: center;
    position: absolute;
    bottom: 0;
}

/*��ũ���*/
.sw_darkmode {
    display: flex;
    justify-content: end;
    gap: 10px;
    align-items: center;
    font-size: 13px;
}

.btn-UserChange > div > img {
    filter: invert(0);
}

.btn-UserChange.dark > div > img {
    filter: invert(1);
}

/*textbox, selectbox �ʼ��� ��������*/
.edt-basic {
    background-color: var(--color-bg-edit-basic) !important;
}

.edt-readonly {
    background-color: var(--color-bg-edit-readonly) !important;
    color: var(--color-bg-edit);
}

.edt-false {
    background-color: var(--color-bg-edit) !important;
}

.iz-tablist {
    margin-bottom: 10px;
}

    .iz-tablist .dx-tabs {
        background-color: var(--color-tablist-bg);
        border-bottom: 2px solid var(--color-iz-main) !important;
    }

    .iz-tablist .dx-tabs-wrapper {
        /*margin-left: 10px;*/
        display: flex;
        position: relative;
        z-index: 1;
        background-color: #FFFFFF00;
    }

        .iz-tablist .dx-tabs-wrapper .dx-tab {
            padding: 0 6px 0 6px;
            background-color: var(--color-iz-main) !important;
            min-width: 100px;
            border-radius: 8px 8px 0 0;
            margin-left: 3px;
            color: white;
            z-index: 3;
        }

            /*.iz-tablist .dx-tabs-wrapper .dx-tab::before,
            .iz-tablist .dx-tabs-wrapper .dx-tab::after {
                display: block;
                content: " ";*/
            /*                position: absolute;
                top: 0;
                height: 100%;
                width: 10px;
*/ /*background-color: var(--color-iz-main);
            }*/

            .iz-tablist .dx-tabs-wrapper .dx-tab::before {
                display: block;
                content: " ";
                background-color: var(--color-iz-main) !important;
            }

            .iz-tablist .dx-tabs-wrapper .dx-tab::after {
                /*                left: -5px;
                transform: skew(-15deg, 0deg);
                box-shadow: rgba(0,0,0,.1) -3px -2px 5px, inset rgba(255,255,255,.09) 1px 0;
                border-radius: 8px 0 0 0;
*/
            }

            .iz-tablist .dx-tabs-wrapper .dx-tab dx-tab-selected,
            .iz-tablist .dx-tabs-wrapper .dx-tab dx-tab-selected::before,
            .iz-tablist .dx-tabs-wrapper .dx-tab dx-tab-selected::after {
                background-color: var(--color-iz-main) !important;
            }

                .iz-tablist .dx-tabs-wrapper .dx-tab dx-tab-selected,
                .iz-tablist .dx-tabs-wrapper .dx-tab dx-tab-selected:hover::before,
                .iz-tablist .dx-tabs-wrapper .dx-tab dx-tab-selected:hover::after {
                    background-color: var(--color-iz-main) !important;
                }

            .iz-tablist .dx-tabs-wrapper .dx-tab:not(.dx-tab-selected),
            .iz-tablist .dx-tabs-wrapper .dx-tab:not(.dx-tab-selected)::before,
            .iz-tablist .dx-tabs-wrapper .dx-tab:not(.dx-tab-selected)::after {
                background-color: rgba(26,111,219,.55) !important;
                border: 0;
                color: #FFFFFF;
                z-index: 2;
            }

            .iz-tablist .dx-tabs-wrapper .dx-tab:hover,
            .iz-tablist .dx-tabs-wrapper .dx-tab:hover::before,
            .iz-tablist .dx-tabs-wrapper .dx-tab:hover::after {
                /*background-color: #4FA6DF;*/
                background-color: var(--color-iz-main);
                color: white;
            }

.iz-grid-button {
    margin: 0 auto;
    padding: 2px 0;
    max-width: 45px;
    border: 1px solid #dddddd;
    background-color: var(--color-accent);
    color: white;
}

.iz-grid-button-zero {
    margin: 0 auto;
    padding: 2px 0;
    max-width: 45px;
    border: 1px solid var(--color-zero);
    /*background-color: white;*/
    color: var(--color-zero);
}

.iz-group-hidden {
    display: none;
}

.iz-treelist-button {
    margin: 0 auto;
    padding: 2px 0;
    max-width: 45px;
    color: var(--color-accent);
}

    .iz-treelist-button:hover {
        text-decoration: underline;
        cursor: pointer;
    }

.iz-help-list {
}

.iz-help-list-question {
    margin: 10px 0;
}

.iz-popup-button-group {
    display: flex;
    margin: 5px 0;
    gap: 3px;
}

/*datagrid ����� �������� ��*/
.iz-grid-delete-line {
    text-decoration: line-through red 2px;
}

.iz-grid-delete-none-line {
    text-decoration: none;
}

/* �׸��� A ��ư��Ÿ�� */
.iz-grid-a-bg-orange {
    background-color: #ff5722;
    color: #ffffff !important;
    border-radius: 10px 10px;
    padding: 4px;
    cursor: pointer
}

.iz-current-form {
    width: 580px;
    background-color: var(--color-current-form-bg);
    border: solid 1px var(--color-current-form-bd);
    position: absolute;
    padding: 10px;
    left: 0.5%;
    top: 11%;
    z-index: 2;
    display: none;
}

    .iz-current-form .dx-layout-manager .dx-field-item:not(.dx-first-col) {
        padding-left: 0;
    }

    .iz-current-form .dx-layout-manager .dx-field-item:not(.dx-last-col) {
        padding-right: 0;
    }

    .iz-current-form .dx-layout-manager .dx-field-item:has(.dx-field-item-label):not(.dx-first-col) {
        padding-left: 0;
    }


/*
    ������ �׽�Ʈ
*/

.iz-field-item-label {
    background-color: var(--color-bg-form-label);
    padding: 6px 10px 6px 10px;
    display: flex;
    align-items: center;
}

.iz-field-item-content {
    padding: 4px 6px;
    background-color: var(--color-bg-body);
}

.dx-item.dx-box-item:has(.dx-field-empty-item) {
    background-color: var(--color-bg-body);
}

.dx-field-item:not(.dx-field-item-has-group):not(.dx-field-item-has-tabs):not(.dx-first-row):not(.dx-label-v-align) {
    padding: 0 !important;
}
/*20240906 �ֿ�ȯ ����*/
/*.dx-widget.dx-collection.dx-responsivebox-screen-lg.dx-responsivebox > .dx-box-flex.dx-box.dx-widget.dx-collection > .dx-item.dx-box-item:not(:has(.dx-form-group-caption)) {*/
.dx-widget.dx-collection.dx-responsivebox > .dx-box-flex.dx-box.dx-widget.dx-collection > .dx-item.dx-box-item:not(:has(.dx-form-group-caption)) {
    border-top: 1px solid var(--color-common-border);
    border-left: 1px solid var(--color-common-border);
    /* border-right: 1px solid grey; */
    background-color: var(--color-bg-form-label);
}

    /*20240906 �ֿ�ȯ ����*/
    /*.dx-widget.dx-collection.dx-responsivebox-screen-lg.dx-responsivebox > .dx-box-flex.dx-box.dx-widget.dx-collection > .dx-item.dx-box-item:not(:has(.dx-form-group-caption)):last-child {*/
    .dx-widget.dx-collection.dx-responsivebox > .dx-box-flex.dx-box.dx-widget.dx-collection > .dx-item.dx-box-item:not(:has(.dx-form-group-caption)):last-child {
        border-bottom: 1px solid var(--color-common-border);
    }

/*.dx-item.dx-box-item:has(.dx-root-simple-item) {
    border-top: 1px solid var(--color-common-border);
}*/
/*20240906 �ֿ�ȯ ����*/
/*.iz-form-none-border .dx-widget.dx-collection.dx-responsivebox-screen-lg.dx-responsivebox > .dx-box-flex.dx-box.dx-widget.dx-collection > .dx-item.dx-box-item:not(:has(.dx-form-group-caption)) {*/
.iz-form-none-border .dx-widget.dx-collection.dx-responsivebox > .dx-box-flex.dx-box.dx-widget.dx-collection > .dx-item.dx-box-item:not(:has(.dx-form-group-caption)) {
    border: none;
    background-color: transparent;
}

.dx-field-item-content.dx-field-item-content-location-right.iz-field-item-content:not(:has(.dx-form-group-caption)) {
    border-right: 1px solid var(--color-common-border);
    border-left: 1px solid var(--color-common-border);
}

.dx-field-item-content.dx-field-item-content-location-right.iz-field-item-content:has(.dx-htmleditor-outlined) {
    border-top: 1px solid var(--color-common-border);
    border-right: 1px solid var(--color-common-border);
    border-left: none;
}

.iz-field-item-label:has(.dx-field-item-label-location-top) {
    border-right: 1px solid var(--color-common-border);
    padding-top: 3px;
    padding-bottom: 3px;
}

.dx-field-item.dx-field-item-required {
    position: relative;
}

.dx-field-item-required::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    width: 3px;
    height: auto;
    border: none;
    border-radius: 0 2px 2px 0;
    background: var(--form-required-accent);
    transform: none;
    z-index: 1;
}

.dx-field-item-content > .dx-widget .dx-texteditor-container {
    border: 1px solid var(--color-formfield-border);
}

.dx-show-invalid-badge.dx-radiogroup.dx-radiogroup-horizontal.dx-widget {
    height: 27px;
}

.dx-field-empty-item.dx-last-col {
    border-right: 1px solid var(--color-common-border);
    height: 100%;
}

.dx-item-content.dx-box-item-content.dx-box-flex.dx-box.dx-widget.dx-collection > .dx-item.dx-box-item:nth-last-child(1):has(.dx-field-empty-item.dx-last-col) {
    /*border-right: 1px solid var(--color-common-border);*/
    /*margin-left: -1px;*/
}

/*20240906 �ֿ�ȯ ����*/
/*.dx-widget.dx-collection.dx-responsivebox-screen-lg.dx-responsivebox > .dx-box-flex.dx-box.dx-widget.dx-collection > .dx-item.dx-box-item:not(:has(.dx-form-group-caption)) + :has(.dx-form-group-caption) {*/
.dx-widget.dx-collection.dx-responsivebox > .dx-box-flex.dx-box.dx-widget.dx-collection > .dx-item.dx-box-item:not(:has(.dx-form-group-caption)) + :has(.dx-form-group-caption) {
    border-top: 1px solid var(--color-common-border);
}

.dx-field-item-content.dx-field-item-content-location-right.iz-field-item-content:only-child:not(:has(.dx-form-group-caption)) {
    border-left: none;
}

/* ── single-column 모드 (반응형 전환 시) 깨짐 방지 ────────── */
.dx-layout-manager-one-col .dx-widget.dx-collection.dx-responsivebox > .dx-box-flex.dx-box.dx-widget.dx-collection > .dx-item.dx-box-item:not(:has(.dx-form-group-caption)) {
    border-left: none;
    border-right: none;
}

.dx-layout-manager-one-col .dx-field-item-content.iz-field-item-content:not(:has(.dx-form-group-caption)) {
    border-right: none !important;
    border-left: none !important;
}

.dx-layout-manager-one-col .iz-field-item-label:has(.dx-field-item-label-location-top) {
    border-right: none;
}

.dx-layout-manager-one-col .dx-field-empty-item.dx-last-col {
    border-right: none;
    height: 0;
    overflow: hidden;
}

.dx-layout-manager-one-col .dx-widget.dx-collection.dx-responsivebox > .dx-box-flex.dx-box.dx-widget.dx-collection > .dx-item.dx-box-item:not(:has(.dx-form-group-caption)):last-child {
    border-bottom: 1px solid var(--color-common-border);
}

.theme-switch {
    display: flex;
    flex: 0 0 56px;
    width: 56px;
    height: 28px;
    box-sizing: border-box;
    border-radius: 999px;
    padding: 1px;
    overflow: hidden;
    cursor: pointer;
    border: 1.5px solid rgba(0,0,0,.15);
    background: linear-gradient(135deg, #f0f3fa 0%, #ffffff 100%);
    transition: background .3s ease, border-color .3s ease;
    box-shadow: 0 1px 4px rgba(0,0,0,.1);
}

.theme-switch-wrapper {
    display: inline-flex;
    align-items: center;
    width: 52px;
    height: 24px;
}

body .theme-toogle {
    flex: 0 0 20px;
    padding: 2px;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-right: 4px;
}

.dx-color-scheme-orange-dark .theme-toogle.light {
    margin-right: -24px;
}

body .theme-toogle.light {
    transition: .4s;
}

.theme-toogle {
    flex: 0 0 20px;
    padding: 2px;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-right: 4px;
}

    .theme-toogle svg {
        width: 20px;
        height: 20px;
        border-radius: 10px;
        transition: opacity .2s ease;
    }

svg:not(:root) {
    overflow-clip-margin: content-box;
    overflow: hidden;
}

.theme-input {
    background: linear-gradient(135deg, #1A6FDB 0%, #1358B8 100%);
    width: 20px;
    height: 20px;
    border-radius: 10px;
    box-shadow: 0 1px 4px rgba(26,111,219,.4);
    transition: transform .3s cubic-bezier(.4,0,.2,1);
}

.dx-swatch-dark .theme-toogle.light {
    margin-right: -24px;
}

body .theme-switch {
    background: linear-gradient(135deg, #f0f3fa 0%, #ffffff 100%);
    border-color: rgba(0,0,0,.12);
}

body.dx-swatch-dark .theme-switch {
    background: linear-gradient(135deg, #1e2840 0%, #2d3a52 100%);
    border-color: rgba(255,255,255,.15);
}

body.dx-swatch-dark .theme-input {
    background: linear-gradient(135deg, #3B9FFF 0%, #1A6FDB 100%);
}

body .theme-toogle.dark {
    width: 0;
}


.systemmenu-switch {
    display: flex;
    flex: 0 0 56px;
    width: 56px;
    height: 28px;
    border: 1px solid;
    box-sizing: border-box;
    border-radius: 50px;
    padding: 1px;
    overflow: hidden;
    cursor: pointer;
    border: 1px solid gray;
}

.systemmenu-switch-wrapper {
    display: inline-flex;
    align-items: center;
    width: 52px;
    height: 24px;
}

.systemmenu-toogle {
    flex: 0 0 20px;
    padding: 2px;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-right: 4px;
}

    .systemmenu-toogle.left-open {
        transition: 0.4s;
    }

    .systemmenu-toogle svg {
        width: 20px;
        height: 20px;
        border-radius: 10px;
    }

.systemmenu-input {
    background-color: #0e8bc1;
    width: 20px;
    height: 20px;
    border-radius: 10px;
}

.dx-swatch-systemmenu-open .systemmenu-toogle.left-open {
    margin-right: -24px;
}

.dx-swatch-systemmenu-open .systemmenu-switch {
    background-color: #2a2a2a;
    /*border-color: #626262;*/
}

.dx-swatch-systemmenu-open .systemmenu-input {
    background-color: #2fbcf9;
}

body.dx-swatch-dark .systemmenu-toogle.left-open svg {
    fill: #FFFFFF;
}

body.dx-swatch-dark .systemmenu-toogle.left-close svg {
    fill: #E8E8E8;
}


/* Chatting ���� */
/* ä�� ��� ��Ÿ�� */
.livechatting-modal {
    display: none;
    position: fixed;
    bottom: 230px;
    right: 20px;
    width: 350px;
    height: 500px;
    background-color: white;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
    z-index: 2000;
    border-radius: 8px;
}

/* ��� ��� ��Ÿ�� */
.livechatting-modal-header {
    background-color: #007bff;
    color: white;
    padding: 12px;
    font-size: 18px;
    font-weight: bold;
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-top-left-radius: 8px;
    border-top-right-radius: 8px;
}

/* ��� ���� ��Ÿ�� */
.livechatting-modal-body {
    padding: 10px;
    height: calc(100% - 100px); /* ����� Ǫ�� ���̸�ŭ ���̱� */
    overflow-y: auto;
    display: flex;
    flex-direction: column;
}

/* �޽��� ����Ʈ ��Ÿ�� */
.livechatting-messages-list {
    list-style-type: none;
    padding: 0;
    margin: 0;
    overflow-y: auto;
}

/* ����� ��� ��Ÿ�� */
.livechatting-users-list {
    overflow-y: auto;
    max-height: 150px; /* ���� ���� */
}

/* ��� Ǫ�� ��Ÿ�� */
.livechatting-modal-footer {
    padding: 12px;
    border-top: 1px solid #eee;
    background-color: #f9f9f9;
    display: flex;
    flex-direction: column;
    gap: 8px;
    border-bottom-left-radius: 8px;
    border-bottom-right-radius: 8px;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
}

    .livechatting-modal-footer input {
        padding: 8px;
        border: 1px solid #ddd;
        border-radius: 4px;
    }

    .livechatting-modal-footer button {
        background-color: #007bff;
        color: white;
        border: none;
        border-radius: 4px;
        padding: 10px;
        cursor: pointer;
        font-size: 16px;
    }

        .livechatting-modal-footer button:hover {
            background-color: #0056b3;
        }

/* ��� �ݱ� ��ư ��Ÿ�� */
.livechatting-close-btn {
    cursor: pointer;
    font-size: 24px;
    background: none;
    border: none;
    color: white;
}

/* 채팅 버튼 스타일 */
.livechatting-chat-button {
    position: fixed;
    bottom: 35px;
    right: 20px;
    padding: 12px 20px;
    background: linear-gradient(135deg, #1A6FDB 0%, #1358B8 100%);
    color: white;
    border: none;
    border-radius: 999px;
    cursor: pointer;
    box-shadow: 0 4px 14px rgba(26,111,219,.4);
    z-index: 1001;
    transition: transform .2s ease, box-shadow .2s ease;
}

    .livechatting-chat-button:hover {
        transform: translateY(-2px);
        box-shadow: 0 8px 22px rgba(26,111,219,.5);
    }

    .livechatting-chat-button.new-message {
        background: linear-gradient(135deg, #E53935 0%, #FF5722 100%);
        box-shadow: 0 4px 14px rgba(229,57,53,.5);
        animation: iz-pulse-red 1.4s infinite;
    }

@keyframes blink {
    0% {
        background-color: #ff5722;
    }

    50% {
        background-color: #ff7043;
    }

    100% {
        background-color: #ff5722;
    }
}

/* �� ���� �� ���� ��ư ��Ÿ�� */
.livechatting-create-room-btn, .livechatting-delete-room-btn {
    background-color: #28a745;
    color: white;
    border: none;
    border-radius: 4px;
    padding: 10px;
    cursor: pointer;
    font-size: 16px;
    margin-top: 5px;
}

.livechatting-delete-room-btn {
    background-color: #dc3545;
}

.livechatting-create-room-btn:hover {
    background-color: #218838;
}

.livechatting-delete-room-btn:hover {
    background-color: #c82333;
}

/* ������ ������ */
@media (max-width: 768px) {
    .livechatting-modal {
        width: 95%;
        max-width: none;
        height: 90%;
        max-height: none;
    }

    .livechatting-modal-footer {
        flex-direction: column;
    }

        .livechatting-modal-footer input,
        .livechatting-modal-footer button {
            width: 100%;
            box-sizing: border-box;
        }

    .livechatting-chat-button {
        /*        font-size: 16px;*/
        padding: 5px 10px;
    }
}

@media (max-width: 480px) {
    .livechatting-chat-button {
        /*        font-size: 16px;*/
        padding: 5px 10px;
    }

    .livechatting-modal-footer {
        flex-direction: column;
    }

        .livechatting-modal-footer input,
        .livechatting-modal-footer button {
            width: 100%;
            box-sizing: border-box;
        }

    .livechatting-modal {
        bottom: 10px;
        right: 10px;
        width: 100%;
        height: 90%;
    }
}

/* ä�� ��ư�� �˸� ȿ�� */
.livechatting-chat-button.new-message {
    background-color: red; /* �˸� ���� */
    animation: blink 1s infinite; /* �����̴� ȿ�� */
}

/* ä�� ���� �� ����� ��� ��Ÿ�� */
#livechatting-messagesList-private,
#livechatting-messagesList-general {
    list-style-type: none;
    padding: 0;
    margin: 0;
    height: 200px;
    overflow-y: auto;
    border: 1px solid #ccc;
}

#livechatting-userList {
    list-style-type: none;
    padding: 0;
    margin: 0;
    border: 1px solid #ccc;
}

/* �⺻ ��ư ��Ÿ�� */
.livechatting-chat-button {
    /*        font-size: 16px;*/
    padding: 5px 10px;
}

/* �� �޽��� �˸� ��Ÿ�� */
.new-message::after {
    content: '!';
    background-color: red;
    color: white;
    border-radius: 50%;
    animation: blink 1s infinite;
}

.livechatting-chat-button.new-message {
    background-color: #ff0000; /* ���ο� �޽��� �˸� ���� */
    animation: blink 1s infinite; /* ������ �ִϸ��̼� */
}

@keyframes blink {
    0% {
        background-color: red;
    }

    50% {
        background-color: transparent;
    }

    100% {
        background-color: red;
    }
}


/* �˸� */
.noti_fems {
    position: fixed;
    top: 20px;
    right: 20px;
    background-color: #4CAF50;
    color: white;
    padding: 10px 20px;
    border-radius: 5px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
    font-size: 16px;
    z-index: 9999;
}


/* main */
/* Header Section */
.home_header {
    height: 100vh;
    background-size: cover;
    background-repeat: no-repeat;
    overflow-x: hidden;
}

.home_navbar {
    padding-top: 20px !important;
}

.home_nav-item {
    margin-left: 40px !important;
    margin-bottom: 10px !important;
}

.home_nav-link {
    color: #fff !important;
    font-size: 21px !important;
    padding: 0 0 5px 0 !important;
    display: unset;
    font-weight: 500;
    letter-spacing: .5px;
    text-shadow: 2px 4px 3px rgba(0,0,0,0.3);
    transition: .3s linear;
}

.home_navbar-brand img {
    width: 300px;
}

.active-home {
    border-bottom: 2px solid #fff;
}

.home_nav-link:hover {
    border-bottom: 2px solid #fff;
}

.home_banner {
    color: #fff;
    /*margin-top: 8%;*/
    right: 0;
}

    .home_banner h1 {
        margin: 80px 20px 00px;
        font-weight: 600;
        font-size: 60px;
    }

    .home_banner p {
        margin: 0 20px;
    }

.dx-item-content.dx-multiview-item-content {
    padding: 0 10px;
}

#home_hero {
    color: #D3AB35;
    -webkit-text-stroke-color: rgba(152,66,45);
    -webkit-text-stroke-width: 1.5px;
    text-shadow: 2px 4px 3px rgba(0,0,0,0.6);
}

.home_banner a {
    padding: 12px;
    width: 150px;
    display: block;
    text-decoration: none !important;
    color: rgba(152,66,45);
    background: #D3AB01;
    border: 1.5px solid rgba(152,66,45);
    border-radius: 5px;
    text-align: center;
    margin: 30px auto;
    font-weight: bold;
    font-size: 14px;
    box-shadow: 2px 4px 3px rgba(0,0,0,0.2);
    transition: .38s ease;
}

    .home_banner a:hover {
        color: #fff;
        background: #FF5733;
    }

.home_banner img {
    position: absolute;
    right: -100%;
}

/* Footer Section */
.home_tab-container-footer {
    background-color: #333;
    color: #fff;
    padding: 20px;
    text-align: center;
    position: relative;
    bottom: 0;
    width: 100%;
}

.home_footer-content {
    display: inline-block;
}

.home_footer-link {
    color: #D3AB35;
    text-decoration: none;
    font-weight: bold;
    margin: 0 10px;
    transition: color 0.3s;
}

    .home_footer-link:hover {
        color: #FF5733;
    }



/* Grid Lookup ���� ����*/
.dx-show-invalid-badge.dx-selectbox.dx-textbox.dx-texteditor.dx-dropdowneditor-button-visible.dx-editor-underlined.dx-texteditor-empty.dx-widget.dx-dropdowneditor .dx-texteditor-input-container > input::placeholder {
    text-align: left;
}

/* ── 테마 토글 SVG 아이콘 색상 ────────────────────────────────── */
.theme-toogle.light svg path {
    fill: #8090A8;
}

.theme-toogle.dark svg path {
    fill: #8090A8;
}

body.dx-swatch-dark .theme-toogle.light svg path {
    fill: #4A5568;
}

body.dx-swatch-dark .theme-toogle.dark svg path {
    fill: #B8C4D4;
}

/* ── 채팅 버튼 애니메이션 ────────────────────────────────────── */
@keyframes iz-pulse-red {
    0% {
        box-shadow: 0 0 0 0 rgba(229,57,53,.5);
    }

    70% {
        box-shadow: 0 0 0 8px rgba(229,57,53,0);
    }

    100% {
        box-shadow: 0 0 0 0 rgba(229,57,53,0);
    }
}

/* ── 로그아웃 버튼 ───────────────────────────────────────────── */
#btnLogin {
    border-radius: 6px !important;
    font-weight: 600 !important;
    letter-spacing: .3px;
}

/* ── 유틸리티 배지 ───────────────────────────────────────────── */
.iz-badge {
    display: inline-flex;
    align-items: center;
    padding: 2px 8px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 600;
}

.iz-badge-primary {
    background: #E8F0FD;
    color: #1A6FDB;
}

.iz-badge-success {
    background: rgba(16,185,129,.12);
    color: #10B981;
}

.iz-badge-warning {
    background: rgba(245,158,11,.12);
    color: #F59E0B;
}

.iz-badge-danger {
    background: rgba(239,68,68,.12);
    color: #EF4444;
}

/* ══════════════════════════════════════════════════════════════
   다크모드 오버라이드
   body.dx-swatch-dark 또는 body.dx-color-scheme-orange-dark
   ══════════════════════════════════════════════════════════════ */

/* ── 다크 폼 필드 ─────────────────────────────────────────────── */
body.dx-swatch-dark .iz-field-item-label {
    background-color: var(--color-bg-form-label);
    border-color: var(--color-common-border);
}

body.dx-swatch-dark .iz-field-item-content {
    background-color: var(--color-bg-body);
}

body.dx-swatch-dark .dx-field-item-required::before {
    background: #FF7B54;
}

/* 다크 필수 필드 테두리 */
body.dx-swatch-dark .dx-field-item.dx-field-item-required > .dx-field-item-content > .dx-show-invalid-badge:not(.dx-htmleditor) .dx-texteditor-container {
    border-color: #FF7B54 !important;
    background-color: var(--color-bg-edit-basic);
}

/* 다크 입력가능 필드: 본문보다 약간 밝은 배경 (폼 필드 내부만) */
body.dx-swatch-dark .dx-field-item-content .dx-texteditor:not(.dx-state-readonly):not(.dx-state-disabled) .dx-texteditor-container {
    background-color: var(--color-bg-edit-editable);
}

/* 다크 읽기전용 필드: 회색 배경 + 점선 (폼 필드 내부만) */
body.dx-swatch-dark .dx-field-item-content .dx-state-readonly .dx-texteditor-container {
    border-color: var(--color-formfield-border) !important;
    background-color: var(--color-bg-edit-readonly);
}

/* 다크 비활성 필드 (폼 필드 내부만) */
body.dx-swatch-dark .dx-field-item-content .dx-state-disabled .dx-texteditor-container {
    background-color: var(--color-bg-edit-readonly);
}

/* 다크 읽기전용 체크박스 (폼 필드 내부만) */
body.dx-swatch-dark .dx-field-item-content .dx-checkbox.dx-state-readonly .dx-checkbox-icon {
    background-color: var(--color-bg-edit-readonly);
}

/* 다크 드롭다운 버튼 구분선 (폼 필드 내부만) */
body.dx-swatch-dark .dx-field-item-content .dx-dropdowneditor .dx-dropdowneditor-button {
    border-left-color: var(--color-formfield-border);
}

body.dx-swatch-dark .dx-field-item-label .dx-field-item-label-content .dx-field-item-label-text {
    color: rgba(255,255,255,.75);
}

/* ── 다크 헤더 (CommonHeader) ─────────────────────────────────── */
/* → 주요 스타일은 iamz.common.css에서 관리 (CSS 변수 오버라이드 포함) */

/* ── 다크 검색패널 ────────────────────────────────────────────── */
body.dx-swatch-dark .tab-container-search {
    background-color: #1e2332;
    border-color: var(--color-common-border);
    border-top: none;
}

body.dx-swatch-dark .search-panel {
    background-color: #1e2332;
    border-color: var(--color-common-border);
}

body.dx-swatch-dark .iz_widget-label {
    color: rgba(255,255,255,.7);
    opacity: 1;
}

body.dx-swatch-dark .iz_form-label {
    color: rgba(255,255,255,.65);
    opacity: 1;
}

/* ── 다크 카드 / 패널 ─────────────────────────────────────────── */
body.dx-swatch-dark .card {
    background-color: var(--color-bg-card);
    border-color: var(--color-card-border);
}

body.dx-swatch-dark .card-header {
    border-color: var(--color-card-header-border);
}

body.dx-swatch-dark .iz-card {
    background-color: var(--color-bg-body);
}

/* ── 다크 인풋 필드 포커스 ─────────────────────────────────────── */
body.dx-swatch-dark .dx-texteditor.dx-editor-outlined.dx-state-focused .dx-texteditor-container {
    border-color: #5B9EF4 !important;
    box-shadow: 0 0 0 2px rgba(91,158,244,.2);
}

body.dx-swatch-dark .dx-dropdowneditor.dx-state-focused .dx-texteditor-container {
    border-color: #5B9EF4 !important;
    box-shadow: 0 0 0 2px rgba(91,158,244,.2);
}

/* ── 다크 폼 테두리 ───────────────────────────────────────────── */
body.dx-swatch-dark .dx-field-item-content > .dx-widget .dx-texteditor-container {
    border-color: var(--color-formfield-border);
}

body.dx-swatch-dark .dx-widget.dx-collection.dx-responsivebox > .dx-box-flex.dx-box.dx-widget.dx-collection > .dx-item.dx-box-item:not(:has(.dx-form-group-caption)) {
    border-color: var(--color-common-border);
    background-color: var(--color-bg-form-label);
}

body.dx-swatch-dark .dx-field-item-content.dx-field-item-content-location-right.iz-field-item-content:not(:has(.dx-form-group-caption)) {
    border-color: var(--color-common-border);
}

body.dx-swatch-dark .dx-field-empty-item.dx-last-col {
    border-color: var(--color-common-border);
}

/* ── 다크 그룹 캡션 ───────────────────────────────────────────── */
body.dx-swatch-dark .dx-form-group-caption::after,
body.dx-swatch-dark .dx-form-group-custom-caption::after {
    background: var(--color-common-border);
}

body.dx-swatch-dark .dx-form-group-caption::before,
body.dx-swatch-dark .dx-form-group-custom-caption::before {
    background: #5B9EF4;
}

/* ── 다크 팝업 ────────────────────────────────────────────────── */
body.dx-swatch-dark .dx-overlay-content.dx-popup-normal {
    box-shadow: 0 20px 60px rgba(0,0,0,.35), 0 8px 24px rgba(0,0,0,.25) !important;
}

/* ── 다크 유저패널 ────────────────────────────────────────────── */
body.dx-swatch-dark .iz-upanel-user {
    background: var(--color-bg-card);
    border-color: var(--color-common-border);
}

body.dx-swatch-dark .iz-upanel-id {
    color: rgba(255,255,255,.5);
}

body.dx-swatch-dark .iz-upanel-ip {
    color: rgba(255,255,255,.4);
}

body.dx-swatch-dark .iz-upanel-ip svg {
    fill: rgba(255,255,255,.35);
}

body.dx-swatch-dark .iz-upanel-settings-title {
    color: rgba(255,255,255,.5);
}

/* ── 다크 사이드 패널 ─────────────────────────────────────────── */
body.dx-swatch-dark .iz-panel-right .dx-list .dx-list-item {
    border-color: var(--color-common-border);
    color: rgba(255,255,255,.85);
}

body.dx-swatch-dark .iz-panel-right .dx-list .dx-list-item:first-of-type {
    border-color: var(--color-common-border);
    color: rgba(255,255,255,.85);
}

body.dx-swatch-dark .iz-panel-right .dx-list .dx-list-item:last-of-type {
    border-color: var(--color-common-border);
    color: rgba(255,255,255,.85);
}

/* ── 다크 스크롤바 ────────────────────────────────────────────── */
body.dx-swatch-dark ::-webkit-scrollbar-thumb {
    background: rgba(255,255,255,.15);
}

body.dx-swatch-dark ::-webkit-scrollbar-thumb:hover {
    background: rgba(255,255,255,.25);
}

/* ── 다크 배지 ────────────────────────────────────────────────── */
body.dx-swatch-dark .iz-badge-primary {
    background: rgba(26,111,219,.2);
    color: #5B9EF4;
}

body.dx-swatch-dark .iz-badge-success {
    background: rgba(16,185,129,.18);
    color: #34D399;
}

body.dx-swatch-dark .iz-badge-warning {
    background: rgba(245,158,11,.18);
    color: #FBBF24;
}

body.dx-swatch-dark .iz-badge-danger {
    background: rgba(239,68,68,.18);
    color: #F87171;
}

/* ── 다크 아코디언 ────────────────────────────────────────────── */
body.dx-swatch-dark .dx-accordion-item {
    border-color: var(--color-common-border);
}

body.dx-swatch-dark .dx-accordion-item-opened > .dx-accordion-item-title,
body.dx-swatch-dark .dx-accordion-item-opened.dx-state-hover > .dx-accordion-item-title {
    border-color: var(--color-common-border);
}

body.dx-swatch-dark .dx-accordion-item-closed > .dx-accordion-item-title,
body.dx-swatch-dark .dx-accordion-item-closed.dx-state-hover > .dx-accordion-item-title {
    border-color: var(--color-common-border);
}

/* ── 다크 레이아웃 헤더 ───────────────────────────────────────── */
body.dx-swatch-dark .layout-header {
    box-shadow: 0 1px 0 rgba(255,255,255,.05), 0 2px 8px rgba(0,0,0,.2);
}

/* ── 다크 탭 호버 ─────────────────────────────────────────────── */
body.dx-swatch-dark .dx-tab.dx-state-hover {
    background-color: rgba(255,255,255,.08);
    color: rgba(255,255,255,.9);
}

/* ── 인쇄 ────────────────────────────────────────────────────── */
@media print {
    .dx-datagrid-headers .dx-datagrid-table .dx-row:not(.dx-datagrid-filter-row) > td {
        background-color: #E0E0E0 !important;
        color: #000 !important;
        print-color-adjust: exact;
    }
}

/* ── 시스템 전환 (QPS/MPS) ─────────────────────────────────── */
.sol-switch-wrap {
    display: flex;
    align-items: center;
    padding: 0 6px;
}

.sol-switch {
    display: flex;
    background: var(--color-bg-panel, #f0f2f5);
    border-radius: 6px;
    padding: 2px;
    gap: 2px;
    border: 1px solid var(--color-common-border, #dde1ef);
}

.sol-btn {
    padding: 4px 12px;
    font-size: 11px;
    font-weight: 700;
    border-radius: 4px;
    border: none;
    cursor: pointer;
    transition: all 0.2s ease;
    letter-spacing: 0.5px;
    color: var(--color-default, #666);
    background: transparent;
    line-height: 1.4;
}

.sol-btn:hover {
    background: rgba(var(--color-iz-main-rgb, 59,126,255), 0.08);
}

.sol-btn.active {
    color: #fff;
    box-shadow: 0 1px 4px rgba(0,0,0,0.15);
}

.sol-btn.sol-qps.active {
    background: #1976D2;
}

.sol-btn.sol-mps.active {
    background: #E67E22;
}

/* ═══════════════════════════════════════════
   화면 전환 애니메이션 (AI 솔루션 느낌)
   ═══════════════════════════════════════════ */

/* 탭 콘텐츠 fade + slide-up 효과 */
@keyframes iamzPageIn {
    0%   { opacity: 0; transform: translateY(12px); }
    100% { opacity: 1; transform: translateY(0); }
}
@keyframes iamzPageOut {
    0%   { opacity: 1; transform: scale(1); }
    100% { opacity: 0; transform: scale(0.98); }
}

/* iframe이 로드될 때 자연스럽게 나타남 */
.dx-tabpanel .dx-multiview-item-content {
    animation: iamzPageIn 0.35s cubic-bezier(0.22, 1, 0.36, 1) both;
}

/* 페이지 전환 오버레이 (JS에서 트리거) */
.iamz-page-transition {
    position: fixed;
    inset: 0;
    z-index: 99998;
    pointer-events: none;
    background: radial-gradient(ellipse at center, rgba(59,126,255,0.06) 0%, transparent 70%);
    opacity: 0;
    transition: opacity 0.3s ease;
}
.iamz-page-transition.active {
    opacity: 1;
}
body.dx-swatch-dark .iamz-page-transition {
    background: radial-gradient(ellipse at center, rgba(59,126,255,0.08) 0%, transparent 70%);
}

/* 로그인 → 메인 화면 전환 효과 */
@keyframes iamzFadeScale {
    0%   { opacity: 0; transform: scale(0.96); filter: blur(4px); }
    100% { opacity: 1; transform: scale(1);    filter: blur(0);   }
}
.iamz-main-enter {
    animation: iamzFadeScale 0.5s cubic-bezier(0.22, 1, 0.36, 1) both;
}

/* AI 솔루션 전환 시 글로우 라인 효과 */
@keyframes iamzGlowLine {
    0%   { transform: translateX(-100%); }
    100% { transform: translateX(200%); }
}
.iamz-glow-line {
    position: fixed;
    top: 0; left: 0; right: 0;
    height: 2px;
    z-index: 99999;
    overflow: hidden;
    pointer-events: none;
    opacity: 0;
    transition: opacity 0.2s;
}
.iamz-glow-line.active { opacity: 1; }
.iamz-glow-line::after {
    content: '';
    position: absolute;
    top: 0; left: 0;
    width: 40%;
    height: 100%;
    background: linear-gradient(90deg, transparent, #3b7eff, #60a5fa, transparent);
    animation: iamzGlowLine 0.8s ease-in-out;
}
body.dx-swatch-dark .iamz-glow-line::after {
    background: linear-gradient(90deg, transparent, #60a5fa, #93c5fd, transparent);
}
