@import '_content/SurveyApp.Identity/SurveyApp.Identity.daxo7k6pwa.bundle.scp.css';

/* _content/SurveyApp.Web/Components/Layout/MainLayout.razor.rz.scp.css */
/* �S�̂̕����T�C�Y������� */
[b-tlbkip6u65] body {
    font-size: 0.85rem;
}

.page-wrapper[b-tlbkip6u65] {
    height: 100vh;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    /* �S�̓I�ɕ�������������ď�񖧓x��グ�� */
    font-size: 0.85rem;
}

/* �w�b�_�[�F������45px�ɗ}�� */
.header-nav[b-tlbkip6u65] {
    height: 45px;
    background-color: #ffffff;
    border-bottom: 1px solid #003366;
    flex-shrink: 0;
}

.app-title[b-tlbkip6u65] {
    font-size: 0.95rem;
    white-space: nowrap;
}

.content-wrapper[b-tlbkip6u65] {
    flex: 1;
    display: flex;
    overflow: hidden;
}

/* �T�C�h�o�[�F����220px�ɏk�� */
.sidebar-container[b-tlbkip6u65] {
    height: 100%;
    background-color: #f8fafc;
    transition: width 0.25s ease-out;
    overflow: hidden;
    width: 220px;
    border-right: 1px solid #e2e8f0;
    flex-shrink: 0;
}

    .sidebar-container.collapsed[b-tlbkip6u65] {
        width: 0;
        border-right: none;
    }

/* ���C���̈�F�]����ŏ����� */
.main-content[b-tlbkip6u65] {
    flex: 1;
    overflow-y: auto;
    background-color: #f1f5f9;
    padding: 0.75rem; /* 1.5rem���甼�� */
}

@media print {
    .page-wrapper[b-tlbkip6u65],
    .content-wrapper[b-tlbkip6u65],
    .main-content[b-tlbkip6u65] {
        height: auto !important;
        min-height: auto !important;
        max-height: none !important;
        overflow: visible !important;
        display: block !important;
    }

    .sidebar-container[b-tlbkip6u65],
    .header-nav[b-tlbkip6u65] {
        display: none !important;
    }

    .main-content[b-tlbkip6u65] {
        padding: 0 !important;
        background: #fff !important;
    }
}
/* _content/SurveyApp.Web/Components/Layout/NavMenu.razor.rz.scp.css */
.nav-menu-container[b-271jimk0wu] {
    display: flex;
    flex-direction: column;
    height: 100%;
    width: 100%;
    min-height: 0;
    white-space: nowrap;
    background-color: #0b3d91;
    color: #f8fafc;
}

.menu-items-area[b-271jimk0wu] {
    flex: 1 1 auto;
    overflow-y: auto;
    overflow-x: hidden;
    padding: 0.5rem 0;
    min-height: 0;
}

.logout-area[b-271jimk0wu] {
    flex: 0 0 auto;
    padding: 0.8rem 1rem;
    border-top: 1px solid rgba(255, 255, 255, 0.2);
    background-color: #082f6b;
}

/* =========================================
   DxTreeView カスタマイズ
========================================= */
[b-271jimk0wu] .dxbs-treeview {
    background-color: transparent !important;
    color: #f8fafc;
}

/* 🎯 全ノード共通の基本設定 */
[b-271jimk0wu] .dxbs-tv-node {
    padding: 0.15rem 0.5rem !important;
}

    [b-271jimk0wu] .dxbs-tv-node-content,
    [b-271jimk0wu] .dxbs-tv-node .dxbs-tv-node-icon {
        color: #f8fafc !important;
    }

/* 🎯 親ノード（第一階層）を太字にして目立たせる */
[b-271jimk0wu] .parent-node > .dxbs-tv-node-content > .dxbs-tv-node-text {
    font-weight: bold;
    font-size: 0.9rem;
    color: #ffffff !important;
}

/* 🎯 子ノード（第二階層以降）の色を少し落としてインデントを深くする */
[b-271jimk0wu] .dxbs-tv-node-container .dxbs-tv-node-container .dxbs-tv-node > .dxbs-tv-node-content > .dxbs-tv-node-text {
    font-weight: normal;
    font-size: 0.85rem;
    color: #cbd5e1 !important; /* 少し落ち着いたシルバー系グレー */
}

[b-271jimk0wu] .dxbs-tv-node-container .dxbs-tv-node-container .dxbs-tv-node > .dxbs-tv-node-content {
    padding-left: 1.5rem !important; /* インデントを下げて親子関係を強調 */
}

/* 選択中（アクティブ）のノードの装飾 */
[b-271jimk0wu] .dxbs-tv-node.dxbs-tv-node-selected > .dxbs-tv-node-text {
    background-color: rgba(255, 255, 255, 0.16) !important;
    border-left: 4px solid #D4AF37; /* ゴールドのアクセント */
    color: #ffffff !important;
    font-weight: bold;
    border-radius: 0 4px 4px 0;
}

/* ホバー時の装飾 */
[b-271jimk0wu] .dxbs-tv-node:hover > .dxbs-tv-node-text {
    background-color: rgba(255, 255, 255, 0.1);
}

/* 🎯 見出し専用ノード（計算メニューなど） */
[b-271jimk0wu] .menu-category-header > .dxbs-tv-node-content {
    font-weight: bold;
    color: rgba(255,255,255,0.4) !important;
    margin-top: 15px;
    margin-bottom: 5px;
    font-size: 0.75rem;
    pointer-events: none;
    text-align: center;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

/* 🎯 セパレーター（区切り線）専用ノード */
[b-271jimk0wu] .separator-node > .dxbs-tv-node-content {
    height: 1px;
    margin: 0.2rem 1rem;
    border-bottom: 1px dashed rgba(255, 255, 255, 0.2);
    pointer-events: none;
}

    [b-271jimk0wu] .separator-node > .dxbs-tv-node-content > .dxbs-tv-node-text {
        display: none; /* テキスト（文字）は非表示にする */
    }

/* ボタン類の装飾 */
[b-271jimk0wu] .logout-area .btn {
    color: #f8fafc;
    border-color: rgba(255, 255, 255, 0.35);
    background-color: transparent;
}

    [b-271jimk0wu] .logout-area .btn:hover {
        color: #ffffff;
        background-color: rgba(255, 255, 255, 0.12);
        border-color: rgba(255, 255, 255, 0.5);
    }
