/* /Pages/Auth/Login.razor.rz.scp.css */
.column-layout[login_view-scope] {
    display: flex;
    flex-direction: column;
}
.login-view-container[login_view-scope] {
    justify-content: flex-start;
    align-items: stretch;
    align-content: flex-start;
    height: 100%;
    min-height: -webkit-fill-available;
}
.group[login_view-scope] {
    justify-content: center;
    align-items: center;
    align-content: flex-start;
    position: relative;
    min-width: 50px;
    min-height: 50px;
    flex-grow: 1;
    flex-basis: 0;
}
.group_1[login_view-scope] {
    border-color: var(--ig-primary-700);
    border-width: 1px;
    border-style: solid;
    justify-content: flex-start;
    align-items: stretch;
    align-content: flex-start;
    position: relative;
    padding: 24px 16px;
    min-width: 50px;
    min-height: 50px;
    flex-shrink: 0;
}
.group_2[login_view-scope] {
    justify-content: center;
    align-items: stretch;
    align-content: flex-start;
    position: relative;
    min-width: 50px;
    min-height: 50px;
    flex-shrink: 0;
}
.group_3[login_view-scope] {
    justify-content: flex-start;
    align-items: stretch;
    align-content: flex-start;
    position: relative;
    min-width: 50px;
    min-height: 50px;
}
.row-layout[login_view-scope] {
    display: flex;
}
.group_4[login_view-scope] {
    justify-content: center;
    align-items: center;
    align-content: flex-start;
    position: relative;
    margin: 32px 32px 48px;
    min-width: 50px;
    min-height: 50px;
    flex-shrink: 0;
}
.group_5[login_view-scope] {
    justify-content: stretch;
    align-items: stretch;
    align-content: flex-start;
    position: relative;
    margin: 0.75rem 0 1rem;
    min-width: 50px;
    min-height: 50px;
}
.avatar[login_view-scope] {
    --ig-size: var(--ig-size-medium);
    margin: 0 32px 0 0;
}
.login-brand[login_view-scope] {
    display: flex;
    flex-direction: column;
    gap: 2px;
}
.login-brand-title[login_view-scope] {
    font-size: 1.4rem;
    font-weight: 800;
    letter-spacing: 0.15em;
    color: var(--ig-primary-500);
    line-height: 1;
}
.login-brand-sub[login_view-scope] {
    font-size: 0.8rem;
    letter-spacing: 0.08em;
    color: var(--ig-secondary-400);
    opacity: 0.8;
}
.icon[login_view-scope] {
    --size: 24px;
    font-size: 24px;
    width: 24px;
    height: 24px;
    color: var(--ig-primary-300);
}
.avatar[login_view-scope]::part(base) {
    background-color: transparent;
}
.input[login_view-scope] {
    margin: 0 0 16px;
    height: max-content;
    min-width: min-content;
}
.input_1[login_view-scope] {
    margin: 0 0 32px;
    height: max-content;
    min-width: min-content;
}
.button[login_view-scope] {
    --ig-size: var(--ig-size-medium);
    height: max-content;
    width: 100%;
    flex-grow: 1;
    flex-shrink: 0;
}
.button[login_view-scope]::part(base) {
    height: 54px;
    font-size: 1.15rem;
    letter-spacing: 0.08em;
    color: var(--ig-primary-500, #388e3c);
}
.button:hover[login_view-scope]::part(base),
.button:focus-within[login_view-scope]::part(base),
.button:focus-visible[login_view-scope]::part(base) {
    color: #fff;
}
.db-toggle-wrapper[login_view-scope] {
    display: flex;
    margin: 14px 0 16px;
}
.db-toggle[login_view-scope] {
    display: flex;
    border: 1px solid var(--ig-primary-400);
    border-radius: 4px;
    overflow: hidden;
    width: 100%;
}
.db-toggle-btn[login_view-scope] {
    flex: 1;
    padding: 7px 12px;
    border: none;
    background: transparent;
    color: var(--ig-primary-300);
    font-size: 0.85rem;
    cursor: pointer;
    transition: background 0.2s, color 0.2s;
}
.db-toggle-btn.active-prod[login_view-scope] {
    background: var(--ig-primary-500);
    color: #fff;
    font-weight: 600;
}
.db-toggle-btn.active-test[login_view-scope] {
    background: #e53935;
    color: #fff;
    font-weight: 600;
}
/* /Pages/Dashboard/BranchDashboard.razor.rz.scp.css */
/* ── コンテナ ── */
.bd-container[b-6cs1n9q9jc] {
    height: 100%;
    overflow-y: auto;
    display: flex;
    flex-direction: column;
    padding: 16px 20px;
    gap: 14px;
    box-sizing: border-box;
}

/* ── タイトル ── */
.bd-header[b-6cs1n9q9jc] {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-shrink: 0;
}
.bd-header-icon[b-6cs1n9q9jc] {
    font-size: 28px;
    color: var(--ig-primary-500, #33997B);
}
.bd-heading[b-6cs1n9q9jc] {
    margin: 0;
    font-size: 1.25rem;
    font-weight: 600;
    color: var(--ig-gray-800, #333);
}

/* ── カード共通 ── */
.bd-card[b-6cs1n9q9jc] {
    background: #fff;
    border: 1px solid #e0e0e0;
    border-radius: 10px;
    padding: 0;
    box-shadow: 0 1px 4px rgba(0,0,0,0.06);
    box-sizing: border-box;
    overflow: hidden;
}

/* ── カードタイトル（HomeDashboard スタイルに統一） ── */
.bd-card-title[b-6cs1n9q9jc] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--ig-primary-500, #33997B);
    padding: 10px 16px;
    border-bottom: 1px solid #f0f0f0;
    background: #fafafa;
    flex-shrink: 0;
    gap: 12px;
}

/* ── カード内コンテンツ（padding） ── */
.bd-card-body[b-6cs1n9q9jc] {
    padding: 12px 16px;
}

/* ── チャートエリア ── */
.bd-chart-area[b-6cs1n9q9jc] {
    height: 200px;
    padding: 8px 4px 4px;
    box-sizing: border-box;
}

/* ── 上段レイアウト ── */
.bd-top-row[b-6cs1n9q9jc] {
    display: flex;
    gap: 14px;
    flex-wrap: wrap;
    flex-shrink: 0;
}
.bd-chart-card[b-6cs1n9q9jc] { flex: 3; min-width: 280px; }
.bd-grid-card[b-6cs1n9q9jc]  {
    flex: 2;
    min-width: 220px;
    padding: 0 16px 12px;
}

/* ── 当月区切り ── */
.bd-current-divider[b-6cs1n9q9jc] {
    height: 2px;
    background: var(--ig-primary-200, #b2dfdb);
    margin: 8px 0;
    border-radius: 2px;
}
.bd-current-row td[b-6cs1n9q9jc] {
    font-weight: 600;
    color: var(--ig-primary-700, #00695c);
}

/* ── 下段 ── */
.bd-bottom-card[b-6cs1n9q9jc] {
    flex-shrink: 0;
    min-height: 120px;
    display: flex;
    flex-direction: column;
}
.bd-table-scroll[b-6cs1n9q9jc] {
    overflow-x: auto;
    padding: 0 16px 12px;
}

/* ── テーブル共通 ── */
.bd-table[b-6cs1n9q9jc] {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.83rem;
}
.bd-table th[b-6cs1n9q9jc] {
    background: #f5f5f5;
    color: #555;
    font-weight: 600;
    padding: 6px 10px;
    text-align: left;
    border-bottom: 1px solid #e0e0e0;
    white-space: nowrap;
}
.bd-table td[b-6cs1n9q9jc] {
    padding: 5px 10px;
    border-bottom: 1px solid #f0f0f0;
    white-space: nowrap;
}
.bd-table tbody tr:hover[b-6cs1n9q9jc] { background: #f9f9f9; }
.bd-num[b-6cs1n9q9jc] { text-align: right; font-variant-numeric: tabular-nums; }

.bd-rep-table th:not(:first-child)[b-6cs1n9q9jc],
.bd-rep-table td:not(:first-child)[b-6cs1n9q9jc] { text-align: right; }

/* ── グリッドカード内（タイトルなしなので上パディング） ── */
.bd-grid-card[b-6cs1n9q9jc] {
    padding-top: 12px;
}

/* ── レスポンシブ ── */
@media (max-width: 900px) {
    .bd-top-row[b-6cs1n9q9jc] {
        flex-direction: column;
    }
    .bd-chart-card[b-6cs1n9q9jc],
    .bd-grid-card[b-6cs1n9q9jc] {
        min-width: 0;
        width: 100%;
    }
    .bd-chart-area[b-6cs1n9q9jc] {
        height: 220px;
    }
}

@media (max-width: 600px) {
    .bd-container[b-6cs1n9q9jc] {
        padding: 12px;
        gap: 12px;
    }
    .bd-table th[b-6cs1n9q9jc],
    .bd-table td[b-6cs1n9q9jc] {
        padding: 5px 8px;
        font-size: 0.8rem;
    }
}
/* /Pages/Dashboard/HomeDashboard.razor.rz.scp.css */
/* ── コンテナ ── */
.hd-container[home_dashboard-scope] {
    height: 100%;
    display: flex;
    flex-direction: column;
    padding: 16px 20px;
    gap: 16px;
    box-sizing: border-box;
    overflow-y: auto;
}

/* ── ページヘッダー ── */
.hd-header[home_dashboard-scope] {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-shrink: 0;
}
.hd-header-icon[home_dashboard-scope] {
    font-size: 28px;
    color: var(--ig-primary-500, #33997B);
}
.hd-heading[home_dashboard-scope] {
    margin: 0;
    font-size: 1.25rem;
    font-weight: 600;
    color: var(--ig-gray-800, #333);
}

/* ── 切り替えボタン ── */
.hd-toggle-group[home_dashboard-scope] {
    display: flex;
    flex-shrink: 0;
    background: #f0f0f0;
    border-radius: 8px;
    padding: 3px;
    width: fit-content;
}
.hd-toggle-btn[home_dashboard-scope] {
    padding: 7px 18px;
    border: none;
    background: transparent;
    border-radius: 6px;
    cursor: pointer;
    font-size: 0.85rem;
    font-weight: 500;
    color: #555;
    transition: all 0.15s;
    white-space: nowrap;
}
.hd-toggle-btn.active[home_dashboard-scope] {
    background: #fff;
    color: var(--ig-primary-600, #2a7f65);
    box-shadow: 0 1px 3px rgba(0,0,0,0.12);
    font-weight: 600;
}
.hd-toggle-btn:hover:not(.active)[home_dashboard-scope] {
    background: rgba(255,255,255,0.6);
    color: #333;
}

/* ── カード共通 ── */
.hd-card[home_dashboard-scope] {
    background: #fff;
    border: 1px solid #e0e0e0;
    border-radius: 10px;
    box-shadow: 0 1px 4px rgba(0,0,0,0.06);
    overflow: hidden;
}

.hd-card-title[home_dashboard-scope] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--ig-primary-500, #33997B);
    padding: 10px 16px;
    border-bottom: 1px solid #f0f0f0;
    background: #fafafa;
    flex-shrink: 0;
    gap: 12px;
}

/* ── 凡例（売上/症例チャート用） ── */
.hd-legend[home_dashboard-scope] {
    display: flex;
    gap: 16px;
    flex-shrink: 0;
}
.hd-legend-item[home_dashboard-scope] {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 0.75rem;
    color: #666;
    font-weight: 400;
}
.hd-legend-col[home_dashboard-scope] {
    width: 14px;
    height: 10px;
    background: #6366F1;
    border-radius: 2px;
    flex-shrink: 0;
}
.hd-legend-line-mark[home_dashboard-scope] {
    width: 22px;
    height: 3px;
    background: #F59E0B;
    border-radius: 2px;
    flex-shrink: 0;
    position: relative;
}
.hd-legend-line-mark[home_dashboard-scope]::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 7px;
    height: 7px;
    background: #F59E0B;
    border-radius: 50%;
}

/* ── メインレイアウト ── */
.hd-main-row[home_dashboard-scope] {
    display: flex;
    gap: 16px;
    flex-shrink: 0;
}

/* グラフカード */
.hd-chart-card[home_dashboard-scope] {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
}
.hd-chart-area[home_dashboard-scope] {
    height: 320px;
    padding: 8px 4px 4px;
    position: relative;
    display: grid;
    grid-template: 1fr / 1fr;
}

/* チャートパネル: CSS Grid で全パネルに常にサイズを与え visibility で切替
   display:none だとチャートが 0×0 初期化されて色/描画が壊れる */
.hd-chart-panel[home_dashboard-scope] {
    grid-row: 1;
    grid-column: 1;
    visibility: hidden;
    pointer-events: none;
    min-height: 0;
    min-width: 0;
}
.hd-chart-panel.active[home_dashboard-scope] {
    visibility: visible;
    pointer-events: auto;
}

/* ローディングカバー（チャートを破棄しないよう上に重ねる） */
.hd-loading-cover[home_dashboard-scope] {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    background: rgba(255, 255, 255, 0.85);
    z-index: 10;
    color: #999;
    font-size: 0.9rem;
}

/* データなしオーバーレイ */
.hd-nodata-overlay[home_dashboard-scope] {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #999;
    font-size: 0.9rem;
    pointer-events: none;
}

/* サマリカード */
.hd-stats-card[home_dashboard-scope] {
    width: 320px;
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
}
.hd-stats-body[home_dashboard-scope] {
    flex: 1;
    min-height: 0;
    overflow-y: auto;
}

/* ── テーブル ── */
.hd-table[home_dashboard-scope] {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.855rem;
}
.hd-table th[home_dashboard-scope] {
    position: sticky;
    top: 0;
    z-index: 1;
    padding: 9px 14px;
    background: #f5f5f5;
    font-weight: 600;
    color: #555;
    white-space: nowrap;
    border-bottom: 2px solid #e0e0e0;
    text-align: left;
}
.hd-table tbody td[home_dashboard-scope] {
    padding: 8px 14px;
    border-bottom: 1px solid #f0f0f0;
    color: #333;
    white-space: nowrap;
}
.hd-table tfoot td[home_dashboard-scope] {
    padding: 9px 14px;
    border-top: 2px solid #e0e0e0;
    font-weight: 600;
    color: var(--ig-primary-600, #2a7f65);
    white-space: nowrap;
}

/* 数値右寄せ */
.hd-num[home_dashboard-scope] {
    text-align: right !important;
    font-variant-numeric: tabular-nums;
}

/* 前年比カラー（tbody td / tfoot td より高い詳細度で上書き） */
.hd-table td.hd-pos[home_dashboard-scope] { color: #059669; font-weight: 600; }
.hd-table td.hd-neg[home_dashboard-scope] { color: #DC2626; font-weight: 600; }

/* ── 同月比較 凡例 ── */
.hd-legend-yr[home_dashboard-scope] {
    width: 14px;
    height: 10px;
    border-radius: 2px;
    flex-shrink: 0;
}
.hd-legend-yr.yr1[home_dashboard-scope] { background: #C7D2FE; }  /* Indigo 200: 前々年（淡） */
.hd-legend-yr.yr2[home_dashboard-scope] { background: #818CF8; }  /* Indigo 400: 前年（中） */
.hd-legend-yr.yr3[home_dashboard-scope] { background: #4F46E5; }  /* Indigo 600: 今年（濃） */

/* ── ローディング / データなし ── */
.hd-loading[home_dashboard-scope], .hd-nodata[home_dashboard-scope] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    height: 100%;
    color: #999;
    font-size: 0.9rem;
}
.hd-loading-icon[home_dashboard-scope] {
    animation: spin-home_dashboard-scope 1.2s linear infinite;
    font-size: 1.4rem;
    color: var(--ig-primary-400, #4db89a);
}
@keyframes spin-home_dashboard-scope { to { transform: rotate(360deg); } }

/* ── レスポンシブ ── */
@media (max-width: 900px) {
    .hd-main-row[home_dashboard-scope] {
        flex-direction: column;
    }
    .hd-chart-card[home_dashboard-scope] {
        flex-shrink: 0;
    }
    .hd-chart-area[home_dashboard-scope] {
        height: 260px;
    }
    .hd-stats-card[home_dashboard-scope] {
        width: 100%;
        height: auto;
        max-height: 280px;
    }
    .hd-toggle-group[home_dashboard-scope] {
        width: 100%;
    }
    .hd-toggle-btn[home_dashboard-scope] {
        flex: 1;
        text-align: center;
    }
}

@media (max-width: 600px) {
    .hd-container[home_dashboard-scope] {
        padding: 12px;
        gap: 12px;
    }
    .hd-chart-area[home_dashboard-scope] {
        height: 220px;
    }
    .hd-toggle-btn[home_dashboard-scope] {
        font-size: 0.78rem;
        padding: 6px 8px;
    }
    .hd-table th[home_dashboard-scope],
    .hd-table tbody td[home_dashboard-scope],
    .hd-table tfoot td[home_dashboard-scope] {
        padding: 7px 10px;
        font-size: 0.8rem;
    }
}
/* /Pages/Dashboard/SalesOverview.razor.rz.scp.css */
/* ── コンテナ ── */
.so-container[sales_overview-scope] {
    height: 100%;
    overflow-y: auto;
    display: flex;
    flex-direction: column;
    padding: 16px 20px;
    gap: 14px;
    box-sizing: border-box;
}

/* ── タイトル ── */
.so-header[sales_overview-scope] {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-shrink: 0;
}
.so-header-icon[sales_overview-scope] {
    font-size: 28px;
    color: var(--ig-primary-500, #33997B);
}
.so-heading[sales_overview-scope] {
    margin: 0;
    font-size: 1.25rem;
    font-weight: 600;
    color: var(--ig-gray-800, #333);
}

/* ── カード共通 ── */
.so-card[sales_overview-scope] {
    background: #fff;
    border: 1px solid #e0e0e0;
    border-radius: 10px;
    padding: 0;
    box-shadow: 0 1px 4px rgba(0,0,0,0.06);
    box-sizing: border-box;
    overflow: hidden;
}

/* ── カードタイトル（HomeDashboard スタイルに統一） ── */
.so-card-title[sales_overview-scope] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--ig-primary-500, #33997B);
    padding: 10px 16px;
    border-bottom: 1px solid #f0f0f0;
    background: #fafafa;
    flex-shrink: 0;
    gap: 12px;
}

/* ── チャートエリア ── */
.so-chart-area[sales_overview-scope] {
    height: 200px;
    padding: 8px 4px 4px;
    box-sizing: border-box;
}
.so-chart-area-sm[sales_overview-scope] {
    height: 180px;
}

/* ── 上段 ── */
.so-top-row[sales_overview-scope] {
    display: flex;
    gap: 14px;
    flex-wrap: wrap;
    flex-shrink: 0;
}
.so-chart-card[sales_overview-scope] { flex: 3; min-width: 280px; }
.so-grid-card[sales_overview-scope]  {
    flex: 2;
    min-width: 220px;
    padding: 12px 16px 12px;
}

/* ── 当月区切り ── */
.so-current-divider[sales_overview-scope] {
    height: 2px;
    background: var(--ig-primary-200, #b2dfdb);
    margin: 8px 0;
    border-radius: 2px;
}
.so-current-row td[sales_overview-scope] {
    font-weight: 600;
    color: var(--ig-primary-700, #00695c);
}

/* ── 中段 ── */
.so-middle-card[sales_overview-scope] {
    flex-shrink: 0;
}
.so-table-scroll[sales_overview-scope] {
    overflow-x: auto;
    padding: 0 16px 12px;
}

/* ── 下段 ── */
.so-bottom-row[sales_overview-scope] {
    display: flex;
    gap: 14px;
    flex-wrap: wrap;
    flex-shrink: 0;
}
.so-bottom-chart-card[sales_overview-scope] { flex: 1; min-width: 240px; }

/* ── テーブル共通 ── */
.so-table[sales_overview-scope] {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.83rem;
}
.so-table th[sales_overview-scope] {
    background: #f5f5f5;
    color: #555;
    font-weight: 600;
    padding: 6px 10px;
    text-align: left;
    border-bottom: 1px solid #e0e0e0;
    white-space: nowrap;
}
.so-table td[sales_overview-scope] {
    padding: 5px 10px;
    border-bottom: 1px solid #f0f0f0;
    white-space: nowrap;
}
.so-table tbody tr:hover[sales_overview-scope] { background: #f9f9f9; }
.so-num[sales_overview-scope] { text-align: right; font-variant-numeric: tabular-nums; }

/* 拠点別テーブル */
.so-loc-table th:not(:first-child)[sales_overview-scope],
.so-loc-table td:not(:first-child)[sales_overview-scope] { text-align: right; }
.so-ratio-hd[sales_overview-scope] { color: #888; font-size: 0.76rem; }

/* 全社行 */
.so-total-row td[sales_overview-scope] {
    font-weight: 700;
    background: #f0f7f4;
    border-top: 1px solid #cde5dc;
}

/* 前年比 */
.so-pos[sales_overview-scope] { color: #1565c0; font-weight: 600; }
.so-neg[sales_overview-scope] { color: #c62828; font-weight: 600; }

/* ── レスポンシブ ── */
@media (max-width: 900px) {
    .so-top-row[sales_overview-scope],
    .so-bottom-row[sales_overview-scope] {
        flex-direction: column;
    }
    .so-chart-card[sales_overview-scope],
    .so-grid-card[sales_overview-scope],
    .so-bottom-chart-card[sales_overview-scope] {
        min-width: 0;
        width: 100%;
    }
    .so-chart-area[sales_overview-scope] { height: 220px; }
    .so-chart-area-sm[sales_overview-scope] { height: 200px; }
}

@media (max-width: 600px) {
    .so-container[sales_overview-scope] {
        padding: 12px;
        gap: 12px;
    }
    .so-table th[sales_overview-scope],
    .so-table td[sales_overview-scope] {
        padding: 5px 8px;
        font-size: 0.8rem;
    }
}
/* /Pages/Dev/DialogTest.razor.rz.scp.css */
.test-container[b-ljbs97ggke] {
    padding: 32px 24px;
    max-width: 700px;
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.test-title[b-ljbs97ggke] {
    margin: 0 0 8px;
    color: #1a1a2e;
    font-size: 1.2rem;
}

.test-card[b-ljbs97ggke] {
    border: 1px solid #e0e0e0;
    border-radius: 10px;
    overflow: hidden;
    background: #fff;
    box-shadow: 0 1px 4px rgba(0,0,0,0.06);
}

.test-card-header[b-ljbs97ggke] {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 12px 16px;
    background: #f8f9fa;
    border-bottom: 1px solid #e0e0e0;
    font-weight: 600;
    font-size: 0.9rem;
    color: #333;
}

.card-icon[b-ljbs97ggke] {
    color: #33997B;
    font-size: 20px;
}

.test-card-body[b-ljbs97ggke] {
    padding: 16px;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.test-btn[b-ljbs97ggke] {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 20px;
    background: #33997B;
    color: #fff;
    border: none;
    border-radius: 6px;
    font-size: 0.875rem;
    cursor: pointer;
    transition: background 0.2s;
    width: fit-content;
}

.test-btn:hover[b-ljbs97ggke] { background: #2a7d65; }

.test-btn .material-icons[b-ljbs97ggke] { font-size: 18px; }

.result-box[b-ljbs97ggke] {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px 14px;
    background: #f0faf6;
    border: 1px solid #b2dfdb;
    border-radius: 6px;
    font-size: 0.875rem;
}

.result-label[b-ljbs97ggke] {
    font-size: 0.75rem;
    color: #33997B;
    font-weight: 600;
    white-space: nowrap;
}

.result-code[b-ljbs97ggke] {
    font-family: monospace;
    color: #666;
    font-size: 0.8rem;
}

.result-name[b-ljbs97ggke] {
    flex: 1;
    font-weight: 500;
    color: #1a1a2e;
}

.result-sub[b-ljbs97ggke] {
    color: #999;
    font-size: 0.8rem;
}

.clear-btn[b-ljbs97ggke] {
    background: none;
    border: none;
    color: #999;
    cursor: pointer;
    padding: 2px 6px;
    border-radius: 4px;
    font-size: 0.8rem;
    transition: background 0.2s;
}

.clear-btn:hover[b-ljbs97ggke] { background: #ffe0e0; color: #c62828; }
/* /Pages/Logistics/DeliveryStatus.razor.rz.scp.css */
.row-layout[delivery_status-scope] {
    display: flex;
}
.delivery-status-container[delivery_status-scope] {
    justify-content: flex-start;
    align-items: stretch;
    align-content: flex-start;
    height: 100%;
}
.column-layout[delivery_status-scope] {
    display: flex;
    flex-direction: column;
}
.group[delivery_status-scope] {
    justify-content: center;
    align-items: center;
    align-content: flex-start;
    position: relative;
    min-width: 50px;
    min-height: 50px;
    flex-grow: 1;
    flex-basis: 0;
}
.group_1[delivery_status-scope] {
    justify-content: flex-start;
    align-items: center;
    align-content: flex-start;
    position: relative;
    min-width: 50px;
    min-height: 50px;
}
.avatar[delivery_status-scope] {
    --ig-size: var(--ig-size-medium);
}
.icon[delivery_status-scope] {
    color: var(--ig-info-500);
}
.h5[delivery_status-scope] {
    color: var(--ig-info-500);
    height: max-content;
    min-width: min-content;
}
.avatar[delivery_status-scope]::part(base) {
    color: var(--ig-info-500);
    background-color: transparent;
}
/* /Pages/Logistics/ShipmentStatus.razor.rz.scp.css */
.row-layout[shipment_status-scope] {
    display: flex;
}
.shipment-status-container[shipment_status-scope] {
    justify-content: flex-start;
    align-items: stretch;
    align-content: flex-start;
    height: 100%;
}
.column-layout[shipment_status-scope] {
    display: flex;
    flex-direction: column;
}
.group[shipment_status-scope] {
    justify-content: center;
    align-items: center;
    align-content: flex-start;
    position: relative;
    min-width: 50px;
    min-height: 50px;
    flex-grow: 1;
    flex-basis: 0;
}
.group_1[shipment_status-scope] {
    justify-content: flex-start;
    align-items: center;
    align-content: flex-start;
    position: relative;
    min-width: 50px;
    min-height: 50px;
}
.avatar[shipment_status-scope] {
    --ig-size: var(--ig-size-medium);
}
.icon[shipment_status-scope] {
    color: var(--ig-info-500);
}
.h5[shipment_status-scope] {
    color: var(--ig-info-500);
    height: max-content;
    min-width: min-content;
}
.avatar[shipment_status-scope]::part(base) {
    color: var(--ig-info-500);
    background-color: transparent;
}
/* /Pages/Master/EmployeeList.razor.rz.scp.css */
/* ── コンテナ ── */
.el-container[employee_list-scope] {
    height: 100%;
    display: flex;
    flex-direction: column;
    padding: 20px 24px 16px;
    gap: 14px;
    overflow: hidden;
    box-sizing: border-box;
}

/* ── ヘッダー ── */
.el-header[employee_list-scope] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-shrink: 0;
    gap: 12px;
    flex-wrap: wrap;
}
.el-page-title[employee_list-scope] {
    display: flex;
    align-items: center;
    gap: 10px;
}
.el-page-icon[employee_list-scope] {
    font-size: 28px;
    color: var(--ig-primary-500, #33997B);
}
.el-page-heading[employee_list-scope] {
    margin: 0;
    font-size: 1.25rem;
    font-weight: 600;
    color: var(--ig-gray-800, #333);
}
.el-header-actions[employee_list-scope] {
    display: flex;
    gap: 8px;
    flex-shrink: 0;
}
.el-export-btn[employee_list-scope] {
    display: inline-flex;
    align-items: center;
    gap: 3px;
    height: 28px;
    padding: 0 10px;
    border: 1px solid #ccc;
    border-radius: 6px;
    background: #fff;
    color: #555;
    font-size: 0.78rem;
    cursor: pointer;
    white-space: nowrap;
    transition: border-color 0.15s, color 0.15s;
}
.el-export-btn:hover:not(:disabled)[employee_list-scope] {
    border-color: var(--ig-primary-500, #33997B);
    color: var(--ig-primary-500, #33997B);
}
.el-export-btn:disabled[employee_list-scope] { opacity: 0.4; cursor: default; }
.el-export-btn .material-icons[employee_list-scope] { font-size: 15px; }

/* ── フィルターバー ── */
.el-filter-bar[employee_list-scope] {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: flex-end;
    flex-shrink: 0;
}
.el-filter-field[employee_list-scope] {
    display: flex;
    flex-direction: column;
    gap: 3px;
    min-width: 140px;
    flex: 1 1 140px;
    max-width: 240px;
}
.el-filter-field-wide[employee_list-scope] {
    flex: 2 1 200px;
    max-width: 320px;
}
.el-filter-label[employee_list-scope] {
    font-size: 0.74rem;
    color: #555;
    font-weight: 500;
}
.el-filter-input[employee_list-scope],
.el-filter-select[employee_list-scope] {
    height: 36px;
    padding: 0 10px;
    border: 1px solid #ccc;
    border-radius: 6px;
    font-size: 0.875rem;
    color: #333;
    background: #fff;
    outline: none;
    width: 100%;
    box-sizing: border-box;
    transition: border-color 0.2s;
}
.el-filter-input:focus[employee_list-scope],
.el-filter-select:focus[employee_list-scope] {
    border-color: var(--ig-primary-500, #33997B);
    box-shadow: 0 0 0 2px rgba(51,153,123,0.12);
}
.el-filter-select[employee_list-scope] { appearance: auto; cursor: pointer; }

/* ── 件数ヘッダー + ページネーション ── */
.el-result-header[employee_list-scope] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-shrink: 0;
}
.el-count[employee_list-scope] {
    font-size: 0.8rem;
    color: #888;
}
.el-pagination[employee_list-scope] {
    display: flex;
    align-items: center;
    gap: 8px;
}
.el-page-label[employee_list-scope] {
    font-size: 0.78rem;
    color: #888;
}
.el-page-select[employee_list-scope] {
    border: 1px solid #d0d0d0;
    border-radius: 6px;
    padding: 4px 8px;
    font-size: 0.8rem;
    color: #333;
    background: #fff;
    cursor: pointer;
    height: 30px;
}
.el-page-btn[employee_list-scope] {
    background: none;
    border: 1px solid #d0d0d0;
    border-radius: 6px;
    width: 30px;
    height: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    color: #555;
    transition: background 0.2s;
}
.el-page-btn:hover:not(:disabled)[employee_list-scope] { background: #f0f0f0; }
.el-page-btn:disabled[employee_list-scope] { opacity: 0.35; cursor: default; }
.el-page-btn .material-icons[employee_list-scope] { font-size: 18px; }
.el-page-info[employee_list-scope] {
    font-size: 0.82rem;
    color: #555;
    min-width: 40px;
    text-align: center;
}

/* ── テーブルラッパー ── */
.el-table-wrap[employee_list-scope] {
    flex: 1;
    min-height: 0;
    min-width: 0;      /* flex 列方向での min-width:auto を上書き → 水平スクロール有効化 */
    overflow: auto;
    border: 1px solid #e0e0e0;
    border-radius: 10px;
    background: #fff;
    box-shadow: 0 1px 4px rgba(0,0,0,0.06);
}

/* ── テーブル本体 ── */
.el-table[employee_list-scope] {
    width: 100%;
    border-collapse: collapse;
    min-width: 860px;
}

/* ── ヘッダー行 ── */
.el-th[employee_list-scope] {
    padding: 10px 12px;
    font-size: 0.76rem;
    font-weight: 600;
    color: #555;
    text-align: left;
    background: #fafafa;
    border-bottom: 2px solid #e8e8e8;
    white-space: nowrap;
    user-select: none;
}
.el-th-action[employee_list-scope] {
    width: 48px;
    padding: 8px;
}

/* ── ソート可能ヘッダー ── */
.el-th-sort[employee_list-scope] {
    cursor: pointer;
    white-space: nowrap;
}
.el-th-sort:hover[employee_list-scope] { background: #f0f0f0; }
.el-th-sorted[employee_list-scope] {
    color: var(--ig-primary-600, #2a7f65);
    background: #edf7f3 !important;
}
.el-sort-icon[employee_list-scope] {
    font-size: 13px;
    vertical-align: middle;
    margin-left: 2px;
    opacity: 0.35;
    transition: opacity 0.15s;
}
.el-sort-active[employee_list-scope] {
    opacity: 1;
    color: var(--ig-primary-500, #33997B);
}

/* ── データ行 ── */
.el-tr[employee_list-scope] {
    cursor: pointer;
    transition: background 0.15s;
}
.el-tr:hover[employee_list-scope] { background: #f5fdf9; }
.el-tr-active[employee_list-scope] { background: #e8f7f1 !important; }

/* ── データセル ── */
.el-td[employee_list-scope] {
    padding: 10px 12px;
    font-size: 0.875rem;
    color: #222;
    border-bottom: 1px solid #f0f0f0;
    vertical-align: middle;
    white-space: nowrap;
}
.el-td-mono[employee_list-scope] {
    font-family: monospace;
    font-size: 0.82rem;
    color: #555;
}
.el-td-sm[employee_list-scope] { font-size: 0.82rem; }
.el-td-wrap[employee_list-scope] {
    white-space: normal;
    max-width: 200px;
    font-size: 0.82rem;
    color: #444;
    line-height: 1.4;
}
.el-td-action[employee_list-scope] {
    padding: 6px 8px;
    text-align: center;
}

/* ── モードバッジ ── */
.el-mode[employee_list-scope] {
    display: inline-block;
    padding: 2px 8px;
    border-radius: 10px;
    font-size: 0.72rem;
    font-weight: 600;
    white-space: nowrap;
}
.el-mode-personal[employee_list-scope] { background: #e3f2fd; color: #1565C0; }
.el-mode-branch[employee_list-scope]   { background: #e8f5e9; color: #2E7D32; }
.el-mode-all[employee_list-scope]      { background: #fff8e1; color: #F57F17; }  /* 黄色寄りオレンジ */
.el-mode-admin[employee_list-scope]    { background: #fde8e8; color: #b71c1c; }  /* 赤 */
.el-mode-system[employee_list-scope]   { background: #ede7f6; color: #4527A0; }  /* 紫 */
.el-no-setting[employee_list-scope]    { font-size: 0.72rem; color: #bbb; }

/* ── 編集ボタン ── */
.el-edit-btn[employee_list-scope] {
    background: none;
    border: 1px solid #d0d0d0;
    border-radius: 6px;
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    color: #666;
    transition: background 0.15s, border-color 0.15s;
}
.el-edit-btn:hover[employee_list-scope] { background: #f0f0f0; border-color: #bbb; }
.el-edit-btn-on[employee_list-scope] {
    background: var(--ig-primary-500, #33997B);
    border-color: var(--ig-primary-500, #33997B);
    color: #fff;
}
.el-edit-btn-on:hover[employee_list-scope] { background: var(--ig-primary-600, #2a7f65); }
.el-edit-btn .material-icons[employee_list-scope] { font-size: 16px; }

/* ── インライン編集行 ── */
.el-edit-row[employee_list-scope] { background: #f0f9f5; }
.el-edit-cell[employee_list-scope] {
    padding: 0 !important;
    border-bottom: 2px solid var(--ig-primary-300, #66c2a8);
}

.el-edit-panel[employee_list-scope] {
    padding: 14px 20px;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

/* 編集行 */
.el-ep-row[employee_list-scope] {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
}
.el-ep-label[employee_list-scope] {
    font-size: 0.78rem;
    color: #555;
    font-weight: 600;
    min-width: 72px;
    flex-shrink: 0;
}

/* ── モードセグメント ── */
.el-seg-group[employee_list-scope] {
    display: inline-flex;
    border: 1px solid #d0d0d0;
    border-radius: 6px;
    overflow: hidden;
    flex-shrink: 0;
}
.el-seg[employee_list-scope] {
    background: #fff;
    border: none;
    border-right: 1px solid #d0d0d0;
    padding: 6px 14px;
    font-size: 0.82rem;
    cursor: pointer;
    color: #555;
    transition: background 0.15s, color 0.15s;
    white-space: nowrap;
}
.el-seg:last-child[employee_list-scope] { border-right: none; }
.el-seg:hover:not(.el-seg-on)[employee_list-scope] { background: #f5f5f5; }
.el-seg-on[employee_list-scope] {
    background: var(--ig-primary-500, #33997B);
    color: #fff;
    font-weight: 600;
}

/* ── 担当拠点・担当者セレクター ── */
.el-ep-selector[employee_list-scope] {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
    /* flex: 1 なし → コンテンツ幅に自動収縮 */
}
.el-tags[employee_list-scope] {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
    /* flex: 1 なし → タグ分だけの幅 */
}
.el-tag[employee_list-scope] {
    display: inline-flex;
    align-items: center;
    background: var(--ig-primary-100, #c8ece3);
    color: var(--ig-primary-700, #1a5c48);
    border-radius: 12px;
    padding: 3px 10px;
    font-size: 0.78rem;
    font-weight: 500;
    white-space: nowrap;
}
.el-tag-empty[employee_list-scope] { font-size: 0.8rem; color: #bbb; }
.el-selector-btn[employee_list-scope] {
    display: flex;
    align-items: center;
    gap: 4px;
    background: #fff;
    border: 1px solid var(--ig-primary-500, #33997B);
    border-radius: 6px;
    padding: 5px 12px;
    font-size: 0.8rem;
    color: var(--ig-primary-500, #33997B);
    cursor: pointer;
    white-space: nowrap;
    flex-shrink: 0;
    transition: background 0.15s;
}
.el-selector-btn:hover[employee_list-scope] { background: #e8f5f0; }
.el-selector-btn .material-icons[employee_list-scope] { font-size: 15px; }

/* ── "全て" バッジ ── */
.el-all-badge[employee_list-scope] {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    background: #fff3e0;
    color: #E65100;
    border-radius: 12px;
    padding: 3px 12px;
    font-size: 0.8rem;
    font-weight: 600;
}
.el-all-icon[employee_list-scope] { font-size: 15px; }

/* ── メッセージ ── */
.el-msg[employee_list-scope] {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 0.82rem;
    padding: 6px 10px;
    border-radius: 6px;
}
.el-msg .material-icons[employee_list-scope] { font-size: 16px; }
.el-msg-error[employee_list-scope]   { background: #ffeaea; color: #c62828; }
.el-msg-success[employee_list-scope] { background: #e8f5e9; color: #2e7d32; }

/* ── フッターボタン ── */
.el-ep-footer[employee_list-scope] {
    display: flex;
    justify-content: flex-start;
    gap: 8px;
    padding-top: 4px;
}
.el-ep-btn[employee_list-scope] {
    border-radius: 6px;
    padding: 0 14px;
    height: 30px;
    min-width: 72px;
    font-size: 0.82rem;
    cursor: pointer;
    font-weight: 500;
    border: 1px solid transparent;
    transition: background 0.15s, border-color 0.15s;
}
.el-ep-btn:disabled[employee_list-scope] { opacity: 0.5; cursor: default; }
.el-ep-btn-cancel[employee_list-scope] {
    background: #fff;
    border-color: #ccc;
    color: #555;
}
.el-ep-btn-cancel:hover:not(:disabled)[employee_list-scope] { background: #f5f5f5; }
.el-ep-btn-save[employee_list-scope] {
    background: var(--ig-primary-500, #33997B);
    border-color: var(--ig-primary-500, #33997B);
    color: #fff;
}
.el-ep-btn-save:hover:not(:disabled)[employee_list-scope] { background: var(--ig-primary-600, #2a7f65); }

/* ── ローディング ── */
.el-loading[employee_list-scope] {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 48px;
    flex-grow: 1;
}
.el-spinner[employee_list-scope] {
    width: 36px;
    height: 36px;
    border: 3px solid #e0e0e0;
    border-top-color: #33997B;
    border-radius: 50%;
    animation: el-spin-employee_list-scope 0.8s linear infinite;
}
@keyframes el-spin-employee_list-scope { to { transform: rotate(360deg); } }

/* ── レスポンシブ ── */
@media (max-width: 768px) {
    .el-container[employee_list-scope]  { padding: 12px 12px 12px; }
    .el-filter-field[employee_list-scope] { max-width: 100%; }
    .el-table-wrap[employee_list-scope] { border-radius: 6px; }
    .el-ep-label[employee_list-scope]   { min-width: 60px; }
}
/* /Pages/Master/OptionToolList.razor.rz.scp.css */
/* ── コンテナ ── */
.otl-container[option_tool_list-scope] {
    height: 100%;
    display: flex;
    flex-direction: column;
    padding: 16px 20px;
    gap: 16px;
    overflow: hidden;
    box-sizing: border-box;
}

/* ── タイトル ── */
.otl-page-title[option_tool_list-scope] {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-shrink: 0;
}
.otl-page-icon[option_tool_list-scope] {
    font-size: 28px;
    color: var(--ig-primary-500, #33997B);
}
.otl-page-heading[option_tool_list-scope] {
    margin: 0;
    font-size: 1.25rem;
    font-weight: 600;
    color: var(--ig-gray-800, #333);
}

/* ── 検索バー ── */
.otl-search-bar[option_tool_list-scope] {
    display: flex;
    align-items: flex-end;
    gap: 10px;
    flex-shrink: 0;
    flex-wrap: nowrap;
}

.otl-search-field[option_tool_list-scope] {
    display: flex;
    flex-direction: column;
    gap: 3px;
    flex: 0 0 200px;
}

.otl-search-field-wide[option_tool_list-scope] {
    flex: 0 0 280px;
}

@media (max-width: 600px) {
    .otl-search-bar[option_tool_list-scope] { flex-wrap: wrap; }
    .otl-search-field[option_tool_list-scope],
    .otl-search-field-wide[option_tool_list-scope] { flex: 1 1 140px; }
    .otl-search-btn[option_tool_list-scope] { width: 100%; justify-content: center; }
}

.otl-label[option_tool_list-scope] {
    font-size: 0.74rem;
    color: #555;
    font-weight: 500;
}

.otl-select[option_tool_list-scope],
.otl-input[option_tool_list-scope] {
    height: 36px;
    padding: 0 10px;
    border: 1px solid #ccc;
    border-radius: 6px;
    font-size: 0.875rem;
    color: #333;
    background: #fff;
    outline: none;
    width: 100%;
    box-sizing: border-box;
    transition: border-color 0.2s;
}

.otl-select[option_tool_list-scope] { appearance: auto; cursor: pointer; font-weight: 500; }

.otl-select:focus[option_tool_list-scope],
.otl-input:focus[option_tool_list-scope] {
    border-color: var(--ig-primary-500, #33997B);
    box-shadow: 0 0 0 2px rgba(51,153,123,0.12);
}

.otl-search-btn[option_tool_list-scope] {
    display: flex;
    align-items: center;
    gap: 4px;
    background: var(--ig-primary-500, #33997B);
    color: #fff;
    border: none;
    border-radius: 6px;
    padding: 0 18px;
    height: 36px;
    font-size: 0.875rem;
    cursor: pointer;
    white-space: nowrap;
    flex-shrink: 0;
    transition: background 0.2s;
}

.otl-search-btn:hover:not(:disabled)[option_tool_list-scope] { background: var(--ig-primary-600, #2a7f65); }
.otl-search-btn:disabled[option_tool_list-scope] { opacity: 0.5; cursor: default; }
.otl-search-btn .material-icons[option_tool_list-scope] { font-size: 18px; }

/* ── コンテンツカード（結果エリア全体を枠で囲む） ── */
.otl-content-card[option_tool_list-scope] {
    flex: 1;
    min-height: 0;
    display: flex;
    flex-direction: column;
    background: #fff;
    border: 1px solid #e0e0e0;
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 1px 4px rgba(0,0,0,0.06);
}

/* ── 件数ヘッダー ── */
.otl-result-header[option_tool_list-scope] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-shrink: 0;
    padding: 10px 16px;
    border-bottom: 1px solid #f0f0f0;
    background: #fafafa;
}

.otl-result-count[option_tool_list-scope] {
    font-size: 0.8rem;
    color: #999;
}

.otl-pagination[option_tool_list-scope] {
    display: flex;
    align-items: center;
    gap: 8px;
}

.otl-page-label[option_tool_list-scope] {
    font-size: 0.78rem;
    color: #888;
}

.otl-page-select[option_tool_list-scope] {
    border: 1px solid #d0d0d0;
    border-radius: 6px;
    padding: 4px 8px;
    font-size: 0.8rem;
    color: #333;
    background: #fff;
    cursor: pointer;
    height: 30px;
}

.otl-page-btn[option_tool_list-scope] {
    background: none;
    border: 1px solid #d0d0d0;
    border-radius: 6px;
    width: 30px;
    height: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    color: #555;
    transition: background 0.2s;
}
.otl-page-btn:hover:not(:disabled)[option_tool_list-scope] { background: #f0f0f0; }
.otl-page-btn:disabled[option_tool_list-scope] { opacity: 0.35; cursor: default; }
.otl-page-btn .material-icons[option_tool_list-scope] { font-size: 18px; }

.otl-page-info[option_tool_list-scope] {
    font-size: 0.82rem;
    color: #555;
    min-width: 48px;
    text-align: center;
}

/* ── 状態メッセージ ── */
.otl-state-box[option_tool_list-scope] {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 12px;
    color: #bbb;
    font-size: 0.9rem;
}

.otl-state-icon[option_tool_list-scope] {
    font-size: 48px;
    opacity: 0.4;
}

.otl-spinner[option_tool_list-scope] {
    width: 36px;
    height: 36px;
    border: 3px solid #e0e0e0;
    border-top-color: #33997B;
    border-radius: 50%;
    animation: otl-spin-option_tool_list-scope 0.8s linear infinite;
}

@keyframes otl-spin-option_tool_list-scope { to { transform: rotate(360deg); } }

/* ── カードグリッド ── */
.otl-card-grid[option_tool_list-scope] {
    flex: 1;
    min-height: 0;        /* Flexbox縮小を許可してスクロール可能にする */
    overflow-y: auto;
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    align-content: start;
    gap: 14px;
    padding: 16px;
}

/* ── カード ── */
.otl-card[option_tool_list-scope] {
    background: #fff;
    border: 1px solid #e8e8e8;
    border-radius: 10px;
    display: flex;
    flex-direction: column;
    cursor: pointer;
    transition: box-shadow 0.2s, transform 0.15s;
    overflow: hidden;
}

.otl-card:hover[option_tool_list-scope] {
    box-shadow: 0 4px 16px rgba(0,0,0,0.12);
    transform: translateY(-2px);
}

/* カード：画像エリア */
.otl-card-image[option_tool_list-scope] {
    height: 150px;
    background: #f5f5f5;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    flex-shrink: 0;
}

.otl-img[option_tool_list-scope] {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.otl-img-placeholder[option_tool_list-scope] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    color: #ccc;
}
.otl-img-placeholder .material-icons[option_tool_list-scope] { font-size: 40px; }

.otl-img-loading[option_tool_list-scope] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
}

.otl-img-spinner[option_tool_list-scope] {
    width: 22px;
    height: 22px;
    border: 2px solid #e0e0e0;
    border-top-color: #33997B;
    border-radius: 50%;
    animation: otl-spin-option_tool_list-scope 0.8s linear infinite;
}

/* カード：情報エリア */
.otl-card-body[option_tool_list-scope] {
    padding: 10px 12px 8px;
    display: flex;
    flex-direction: column;
    gap: 3px;
    flex: 1;
}

.otl-ctlg-no[option_tool_list-scope] {
    font-size: 0.82rem;
    color: #777;
    font-family: monospace;
    font-weight: 500;
}

.otl-ctlg-nm[option_tool_list-scope] {
    font-size: 0.85rem;
    font-weight: 600;
    color: #1a1a2e;
    line-height: 1.3;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.otl-gp-nm[option_tool_list-scope] {
    font-size: 0.75rem;
    color: var(--ig-primary-500, #33997B);
}

.otl-tool-type[option_tool_list-scope] {
    font-size: 0.72rem;
    color: #fff;
    background: var(--ig-primary-400, #4db89a);
    border-radius: 4px;
    padding: 1px 6px;
    align-self: flex-start;
    white-space: nowrap;
}

/* カード：添付文書フッター */
.otl-card-footer[option_tool_list-scope] {
    display: flex;
    align-items: center;
    gap: 4px;
    padding: 8px 12px;
    border-top: 1px solid #f0f0f0;
    background: #fafafa;
}

.otl-doc-icon[option_tool_list-scope] {
    font-size: 14px;
    color: #999;
    flex-shrink: 0;
}

.otl-doc-title[option_tool_list-scope] {
    font-size: 0.72rem;
    color: #888;
    flex: 1;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.otl-doc-link[option_tool_list-scope] {
    color: var(--ig-primary-500, #33997B);
    display: flex;
    align-items: center;
    flex-shrink: 0;
    text-decoration: none;
}
.otl-doc-link .material-icons[option_tool_list-scope] { font-size: 14px; }

/* ── 詳細モーダル ── */
.otl-detail-overlay[option_tool_list-scope] {
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,0.45);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1000;
}

.otl-detail-panel[option_tool_list-scope] {
    background: #fff;
    border-radius: 12px;
    width: min(640px, 92vw);
    max-height: 85vh;
    display: flex;
    flex-direction: column;
    box-shadow: 0 8px 32px rgba(0,0,0,0.2);
    overflow: hidden;
}

/* ── モーダル前後ナビ ── */
.otl-detail-nav[option_tool_list-scope] {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background: rgba(255,255,255,0.9);
    border: none;
    border-radius: 50%;
    width: 44px;
    height: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    color: #333;
    box-shadow: 0 2px 8px rgba(0,0,0,0.2);
    transition: background 0.2s;
    z-index: 1001;
}
.otl-detail-nav:hover:not(:disabled)[option_tool_list-scope] { background: #fff; }
.otl-detail-nav:disabled[option_tool_list-scope] { opacity: 0.25; cursor: default; }
.otl-detail-nav .material-icons[option_tool_list-scope] { font-size: 26px; }
.otl-detail-nav-prev[option_tool_list-scope] { left: calc(50% - min(320px, 46vw) - 52px); }
.otl-detail-nav-next[option_tool_list-scope] { right: calc(50% - min(320px, 46vw) - 52px); }

.otl-detail-header[option_tool_list-scope] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 16px 20px;
    border-bottom: 1px solid #e0e0e0;
    flex-shrink: 0;
    gap: 8px;
}

.otl-detail-title[option_tool_list-scope] {
    font-size: 1rem;
    font-weight: 600;
    color: #1a1a2e;
    flex: 1;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.otl-detail-nav-info[option_tool_list-scope] {
    font-size: 0.78rem;
    color: #999;
    white-space: nowrap;
    flex-shrink: 0;
}

.otl-detail-close[option_tool_list-scope] {
    background: none;
    border: none;
    cursor: pointer;
    color: #666;
    padding: 4px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    transition: background 0.2s;
}
.otl-detail-close:hover[option_tool_list-scope] { background: #f0f0f0; }

.otl-detail-body[option_tool_list-scope] {
    display: flex;
    gap: 20px;
    padding: 20px;
    overflow-y: auto;
}

.otl-detail-image[option_tool_list-scope] {
    width: 220px;
    min-height: 200px;
    background: #f5f5f5;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    overflow: hidden;
}

.otl-detail-img[option_tool_list-scope] {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.otl-detail-img-placeholder[option_tool_list-scope] {
    display: flex;
    align-items: center;
    justify-content: center;
    color: #ccc;
}
.otl-detail-img-placeholder .material-icons[option_tool_list-scope] { font-size: 60px; }

.otl-detail-info[option_tool_list-scope] {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.otl-info-row[option_tool_list-scope] {
    display: flex;
    flex-direction: column;
    gap: 3px;
}

.otl-info-label[option_tool_list-scope] {
    font-size: 0.75rem;
    color: #999;
    font-weight: 500;
}

.otl-info-value[option_tool_list-scope] {
    font-size: 0.9rem;
    color: #1a1a2e;
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

.otl-pmda-link[option_tool_list-scope] {
    display: inline-flex;
    align-items: center;
    gap: 3px;
    font-size: 0.8rem;
    color: var(--ig-primary-500, #33997B);
    text-decoration: none;
    border: 1px solid var(--ig-primary-400, #4ab89a);
    border-radius: 4px;
    padding: 2px 8px;
}
.otl-pmda-link:hover[option_tool_list-scope] { background: #e8f5f0; }
.otl-pmda-link .material-icons[option_tool_list-scope] { font-size: 13px; }

/* ── ライトボックス ── */
.otl-lightbox[option_tool_list-scope] {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background: rgba(0,0,0,0.85);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 2000;
    cursor: zoom-out;
}

.otl-lightbox-img[option_tool_list-scope] {
    max-width: 90vw;
    max-height: 90vh;
    object-fit: contain;
    border-radius: 4px;
    box-shadow: 0 8px 40px rgba(0,0,0,0.5);
    cursor: default;
}

.otl-lightbox-close[option_tool_list-scope] {
    position: absolute;
    top: 16px;
    right: 16px;
    background: rgba(255,255,255,0.15);
    border: none;
    border-radius: 50%;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    color: #fff;
    transition: background 0.2s;
}
.otl-lightbox-close:hover[option_tool_list-scope] { background: rgba(255,255,255,0.3); }
.otl-lightbox-close .material-icons[option_tool_list-scope] { font-size: 22px; }

.otl-detail-img-clickable[option_tool_list-scope] {
    cursor: zoom-in;
}
.otl-detail-img-clickable:hover[option_tool_list-scope] {
    opacity: 0.9;
}
/* /Pages/Operation/OperationSchedule.razor.rz.scp.css */
.row-layout[operation_schedule-scope] {
    display: flex;
}
.operation-schedule-container[operation_schedule-scope] {
    justify-content: flex-start;
    align-items: stretch;
    align-content: flex-start;
    height: 100%;
}
.column-layout[operation_schedule-scope] {
    display: flex;
    flex-direction: column;
}
.group[operation_schedule-scope] {
    justify-content: center;
    align-items: center;
    align-content: flex-start;
    position: relative;
    min-width: 50px;
    min-height: 50px;
    flex-grow: 1;
    flex-basis: 0;
}
.group_1[operation_schedule-scope] {
    justify-content: flex-start;
    align-items: center;
    align-content: flex-start;
    position: relative;
    min-width: 50px;
    min-height: 50px;
}
.avatar[operation_schedule-scope] {
    --ig-size: var(--ig-size-medium);
}
.icon[operation_schedule-scope] {
    color: var(--ig-info-500);
}
.h5[operation_schedule-scope] {
    color: var(--ig-info-500);
    height: max-content;
    min-width: min-content;
}
.avatar[operation_schedule-scope]::part(base) {
    color: var(--ig-info-500);
    background-color: transparent;
}
/* /Pages/Operation/OrderStatus.razor.rz.scp.css */
/* ── コンテナ ── */
.os-container[order_status-scope] {
    height: 100%;
    display: flex;
    flex-direction: column;
    padding: 16px 20px;
    gap: 16px;
    box-sizing: border-box;
    overflow-y: auto;
}

/* ── ページヘッダー ── */
.os-header[order_status-scope] {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-shrink: 0;
}
.os-header-icon[order_status-scope] {
    font-size: 28px;
    color: var(--ig-primary-500, #33997B);
}
.os-heading[order_status-scope] {
    margin: 0;
    font-size: 1.25rem;
    font-weight: 600;
    color: var(--ig-gray-800, #333);
}

/* ── カード ── */
.os-card[order_status-scope] {
    background: #fff;
    border: 1px solid #e0e0e0;
    border-radius: 10px;
    box-shadow: 0 1px 4px rgba(0,0,0,0.06);
    overflow: hidden;
    display: flex;
    flex-direction: column;
    flex-shrink: 0;
}
.os-card-title[order_status-scope] {
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--ig-primary-500, #33997B);
    padding: 10px 16px;
    border-bottom: 1px solid #f0f0f0;
    background: #fafafa;
    flex-shrink: 0;
}

/* ── テーブルラッパー ── */
.os-table-wrapper[order_status-scope] {
    overflow-x: auto;
    overflow-y: auto;
}

/* ── テーブル ── */
.os-table[order_status-scope] {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.855rem;
}
.os-table thead[order_status-scope] {
    position: sticky;
    top: 0;
    z-index: 1;
}
.os-table th[order_status-scope] {
    padding: 9px 14px;
    background: #f5f5f5;
    font-weight: 600;
    color: #555;
    white-space: nowrap;
    border-bottom: 2px solid #e0e0e0;
    text-align: left;
}
.os-table td[order_status-scope] {
    padding: 8px 14px;
    border-bottom: 1px solid #f5f5f5;
    color: #333;
    white-space: nowrap;
}
.os-table tbody tr:hover[order_status-scope] { background: #f0f7f5; }

/* ── 土日カラー ── */
.os-row-sat td[order_status-scope] { color: #1565C0; }
.os-row-sun td[order_status-scope] { color: #C62828; }

/* ── ステータスバッジ ── */
.os-badge[order_status-scope] {
    display: inline-block;
    padding: 2px 10px;
    border-radius: 10px;
    font-size: 0.75rem;
    font-weight: 500;
    white-space: nowrap;
}
.os-badge-shipped[order_status-scope]    { background: #e8f5e9; color: #2e7d32; }
.os-badge-inprogress[order_status-scope] { background: #e3f2fd; color: #1565c0; }
.os-badge-confirmed[order_status-scope]  { background: #fff3e0; color: #e65100; }
.os-badge-pending[order_status-scope]    { background: #fce4ec; color: #c62828; }
.os-badge-default[order_status-scope]    { background: #f5f5f5; color: #555;    }

/* ── レスポンシブ ── */
@media (max-width: 600px) {
    .os-container[order_status-scope] { padding: 12px; gap: 12px; }
    .os-table th[order_status-scope],
    .os-table td[order_status-scope]  { padding: 7px 10px; font-size: 0.8rem; }
}
/* /Pages/Operation/PreOrder.razor.rz.scp.css */
.row-layout[b-qc45qjmspb] {
    display: flex;
}
.order-entry-container[b-qc45qjmspb] {
    justify-content: flex-start;
    align-items: stretch;
    align-content: flex-start;
    height: 100%;
}
.column-layout[b-qc45qjmspb] {
    display: flex;
    flex-direction: column;
}
.group[b-qc45qjmspb] {
    justify-content: center;
    align-items: center;
    align-content: flex-start;
    position: relative;
    min-width: 50px;
    min-height: 50px;
    flex-grow: 1;
    flex-basis: 0;
}
.group_1[b-qc45qjmspb] {
    justify-content: flex-start;
    align-items: center;
    align-content: flex-start;
    position: relative;
    min-width: 50px;
    min-height: 50px;
}
.avatar[b-qc45qjmspb] {
    --ig-size: var(--ig-size-medium);
}
.icon[b-qc45qjmspb] {
    color: var(--ig-info-500);
}
.h5[b-qc45qjmspb] {
    color: var(--ig-info-500);
    height: max-content;
    min-width: min-content;
}
.avatar[b-qc45qjmspb]::part(base) {
    color: var(--ig-info-500);
    background-color: transparent;
}
/* /Pages/Sales/SalesAnalysis.razor.rz.scp.css */
.row-layout[sales_analysis-scope] {
    display: flex;
}
.sales-analysis-container[sales_analysis-scope] {
    justify-content: flex-start;
    align-items: stretch;
    align-content: flex-start;
    height: 100%;
}
.column-layout[sales_analysis-scope] {
    display: flex;
    flex-direction: column;
}
.group[sales_analysis-scope] {
    justify-content: center;
    align-items: center;
    align-content: flex-start;
    position: relative;
    min-width: 50px;
    min-height: 50px;
    flex-grow: 1;
    flex-basis: 0;
}
.group_1[sales_analysis-scope] {
    justify-content: flex-start;
    align-items: center;
    align-content: flex-start;
    position: relative;
    min-width: 50px;
    min-height: 50px;
}
.avatar[sales_analysis-scope] {
    --ig-size: var(--ig-size-medium);
}
.icon[sales_analysis-scope] {
    color: var(--ig-info-500);
}
.h5[sales_analysis-scope] {
    color: var(--ig-info-500);
    height: max-content;
    min-width: min-content;
}
.avatar[sales_analysis-scope]::part(base) {
    color: var(--ig-info-500);
    background-color: transparent;
}
/* /Pages/Settings/UserSettings.razor.rz.scp.css */
/* ── コンテナ ─────────────────────────────── */
.us-container[b-thmx4b8wxe] {
    padding: 20px;
    width: 100%;
    max-width: 720px;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 16px;
    box-sizing: border-box;
}

/* ── ページタイトル ── */
.us-page-title[b-thmx4b8wxe] {
    display: flex;
    align-items: center;
    gap: 10px;
}

.us-page-icon[b-thmx4b8wxe] {
    font-size: 28px;
    color: var(--ig-primary-500);
}

.us-page-heading[b-thmx4b8wxe] {
    margin: 0;
    font-size: 1.25rem;
    font-weight: 600;
    color: var(--ig-gray-800);
}

/* ── カード（セクション） ── */
.us-card[b-thmx4b8wxe] {
    background: #fff;
    border-radius: 8px;
    box-shadow: 0 1px 4px rgba(0,0,0,0.08);
    padding: 20px 24px;
    display: flex;
    flex-direction: column;
    gap: 16px;
    width: 100%;
    box-sizing: border-box;
}

.us-card-title[b-thmx4b8wxe] {
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--ig-primary-500);
    border-bottom: 1px solid var(--ig-gray-200);
    padding-bottom: 8px;
    margin-bottom: 4px;
}

.us-card-note[b-thmx4b8wxe] {
    margin: -8px 0 0;
    font-size: 0.78rem;
    color: var(--ig-gray-500);
}

/* ── ユーザー情報行 ── */
.us-info-row[b-thmx4b8wxe] {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    align-items: flex-start;
}

.us-info-item[b-thmx4b8wxe] {
    display: flex;
    flex-direction: column;
    gap: 4px;
    min-width: 110px;
}

.us-info-item-wide[b-thmx4b8wxe] {
    min-width: 160px;
    flex: 1;
}

.us-info-label[b-thmx4b8wxe] {
    font-size: 0.72rem;
    color: var(--ig-gray-500);
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    height: 1.2em; /* ラベル高さを揃える */
}

.us-info-value[b-thmx4b8wxe] {
    font-size: 0.95rem;
    color: var(--ig-gray-800);
    padding: 6px 10px;
    background: var(--ig-gray-100);
    border-radius: 4px;
    min-height: 34px;
    display: flex;
    align-items: center;
}

/* 社員番号：数字幅を等幅にしてズレを防ぐ */
.us-info-mono[b-thmx4b8wxe] {
    font-variant-numeric: tabular-nums;
    letter-spacing: 0.05em;
}

/* ── フォーム行 ── */
.us-form-row[b-thmx4b8wxe] {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.us-label[b-thmx4b8wxe] {
    font-size: 0.8rem;
    font-weight: 500;
    color: var(--ig-gray-700);
}

/* ホーム画面セレクト：ラッパーで幅・サイズを制限
   --ig-size: 1 = small / 2 = medium / 3 = large（デフォルト） */
.us-select-wrap[b-thmx4b8wxe] {
    width: 260px;
    --ig-size: 2;
}

.us-select-wrap igb-select[b-thmx4b8wxe],
.us-select-wrap > *[b-thmx4b8wxe] {
    width: 100%;
}

/* ── セグメントボタン（オペ予定表） ── */
.us-seg-group[b-thmx4b8wxe] {
    display: flex;
    border: 1px solid var(--ig-gray-300);
    border-radius: 6px;
    overflow: hidden;
    width: fit-content;
}

.us-seg-btn[b-thmx4b8wxe] {
    /* 最も幅広い「日付表示」に全ボタンを揃える */
    min-width: 5.2em;
    padding: 8px 12px;
    border: none;
    border-right: 1px solid var(--ig-gray-300);
    background: #fff;
    color: var(--ig-gray-700);
    font-size: 0.875rem;
    cursor: pointer;
    transition: background 0.15s, color 0.15s;
    line-height: 1;
    text-align: center;
    white-space: nowrap;
    box-sizing: border-box;
}

.us-seg-btn:last-child[b-thmx4b8wxe] {
    border-right: none;
}

.us-seg-btn:hover:not(.us-seg-active)[b-thmx4b8wxe] {
    background: var(--ig-gray-100);
}

.us-seg-btn.us-seg-active[b-thmx4b8wxe] {
    background: var(--ig-primary-500);
    color: #fff;
    font-weight: 600;
}

.us-mode-desc[b-thmx4b8wxe] {
    font-size: 0.75rem;
    color: var(--ig-gray-500);
    font-style: italic;
    min-height: 1em;
}

/* ── モード 読み取り専用表示 ── */
.us-mode-readonly[b-thmx4b8wxe] {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
}

.us-mode-badge[b-thmx4b8wxe] {
    display: inline-flex;
    align-items: center;
    padding: 5px 14px;
    border-radius: 20px;
    font-size: 0.85rem;
    font-weight: 600;
    letter-spacing: 0.03em;
}

.us-mode-badge-personal[b-thmx4b8wxe] {
    background: #e3f2fd;
    color: #1565C0;
}

.us-mode-badge-branch[b-thmx4b8wxe] {
    background: #e8f5e9;
    color: #2E7D32;
}

.us-mode-badge-all[b-thmx4b8wxe] {
    background: #fff8e1;
    color: #F57F17;  /* 黄色寄りオレンジ */
}

.us-mode-badge-admin[b-thmx4b8wxe] {
    background: #fde8e8;
    color: #b71c1c;  /* 赤 */
}

.us-mode-badge-system[b-thmx4b8wxe] {
    background: #ede7f6;
    color: #4527A0;  /* 紫 */
}

/* ── 全て バッジ ── */
.us-all-badge[b-thmx4b8wxe] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 7px 14px;
    background: var(--ig-gray-200);
    color: var(--ig-gray-600);
    border-radius: 4px;
    font-size: 0.875rem;
    width: fit-content;
}

.us-all-icon[b-thmx4b8wxe] {
    font-size: 16px;
}

/* ── パスワード入力 ── */
.us-pw-wrapper[b-thmx4b8wxe] {
    max-width: 420px;
    width: 100%;
}

.us-pw-input[b-thmx4b8wxe] {
    width: 100%;
    box-sizing: border-box;
    padding: 10px 12px;
    border: 1px solid var(--ig-gray-300);
    border-radius: 4px;
    font-size: 0.9rem;
    color: var(--ig-gray-800);
    background: #fff;
    outline: none;
    transition: border-color 0.15s, box-shadow 0.15s;
}

.us-pw-input:focus[b-thmx4b8wxe] {
    border-color: var(--ig-primary-500);
    box-shadow: 0 0 0 2px rgba(0, 120, 212, 0.12);
}

/* ── エラー表示 ── */
.us-error-text[b-thmx4b8wxe] {
    font-size: 0.8rem;
    color: var(--ig-error-500, #c00);
}

.us-validation-error[b-thmx4b8wxe] {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 12px 16px;
    background: #fff5f5;
    border: 1px solid #fca5a5;
    border-radius: 6px;
    color: #b91c1c;
    font-size: 0.875rem;
}

.us-error-icon[b-thmx4b8wxe] {
    font-size: 18px;
    flex-shrink: 0;
}

.us-validation-success[b-thmx4b8wxe] {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 12px 16px;
    background: #f0fdf4;
    border: 1px solid #86efac;
    border-radius: 6px;
    color: #15803d;
    font-size: 0.875rem;
}

.us-success-icon[b-thmx4b8wxe] {
    font-size: 18px;
    flex-shrink: 0;
}

/* ── フッターボタン ── */
.us-footer[b-thmx4b8wxe] {
    display: flex;
    justify-content: flex-end;
    gap: 12px;
    padding-bottom: 8px;
}
/* app.css の igc-button[variant="contained"] が効かない場合の保険 */
.btn-save[b-thmx4b8wxe]::part(base) {
    color: #fff !important;
}

/* ── ダイアログ選択フィールド（担当拠点・担当者） ── */
.us-dialog-field[b-thmx4b8wxe] {
    display: flex;
    align-items: stretch;
    gap: 8px;
    max-width: 420px;
}

/* ── 読み取り専用フィールド（担当拠点・担当者） ── */
.us-readonly-field[b-thmx4b8wxe] {
    padding: 8px 12px;
    border: 1px solid var(--ig-gray-200);
    border-radius: 4px;
    font-size: 0.875rem;
    color: var(--ig-gray-700);
    background: var(--ig-gray-50, #f9fafb);
    min-height: 38px;
    max-width: 420px;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 4px;
    line-height: 1.5;
}

.us-readonly-placeholder[b-thmx4b8wxe] {
    color: var(--ig-gray-400);
    font-style: italic;
    font-size: 0.85rem;
}

.us-dialog-display[b-thmx4b8wxe] {
    flex: 1;
    padding: 8px 12px;
    border: 1px solid var(--ig-gray-300);
    border-radius: 4px;
    font-size: 0.875rem;
    color: var(--ig-gray-800);
    background: #fff;
    min-height: 38px;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 4px;
    line-height: 1.4;
}

.us-dialog-placeholder[b-thmx4b8wxe] {
    color: var(--ig-gray-400);
    font-style: italic;
}

/* ── タブバー ── */
.us-tab-bar[b-thmx4b8wxe] {
    display: flex;
    border-bottom: 2px solid var(--ig-gray-200);
    gap: 0;
}

.us-tab[b-thmx4b8wxe] {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 10px 20px;
    border: none;
    background: transparent;
    color: var(--ig-gray-500);
    font-size: 0.875rem;
    font-weight: 500;
    cursor: pointer;
    border-bottom: 2px solid transparent;
    margin-bottom: -2px;
    transition: color 0.15s, border-color 0.15s;
}

.us-tab:hover:not(.us-tab-active)[b-thmx4b8wxe] {
    color: var(--ig-gray-700);
    background: var(--ig-gray-100);
}

.us-tab.us-tab-active[b-thmx4b8wxe] {
    color: var(--ig-primary-500);
    border-bottom-color: var(--ig-primary-500);
    font-weight: 600;
}

.us-tab-icon[b-thmx4b8wxe] {
    font-size: 18px;
}

/* ── 初回ログインバナー ── */
.us-first-banner[b-thmx4b8wxe] {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 12px 16px;
    background: #fffbeb;
    border: 1px solid #fcd34d;
    border-radius: 8px;
    color: #92400e;
    font-size: 0.875rem;
    font-weight: 500;
}

.us-first-banner-icon[b-thmx4b8wxe] {
    font-size: 20px;
    color: #f59e0b;
    flex-shrink: 0;
}

/* ── 必須マーク ── */
.us-required[b-thmx4b8wxe] {
    color: var(--ig-error-500, #c00);
    margin-left: 3px;
}

/* ── レスポンシブ ── */
@media (max-width: 600px) {
    .us-container[b-thmx4b8wxe] {
        padding: 12px;
        gap: 12px;
    }

    .us-card[b-thmx4b8wxe] {
        padding: 16px;
    }

    .us-seg-btn[b-thmx4b8wxe] {
        min-width: 4.8em;
        padding: 8px 10px;
        font-size: 0.8rem;
    }

    .us-info-row[b-thmx4b8wxe] {
        gap: 12px;
    }

    .us-footer[b-thmx4b8wxe] {
        flex-direction: column-reverse;
    }
}
/* /Shared/MainLayout.razor.rz.scp.css */
.column-layout[b-uwcpxu6m9g] {
    display: flex;
    flex-direction: column;
}
.row-layout[b-uwcpxu6m9g] {
    display: flex;
}
.eig-web-container[b-uwcpxu6m9g] {
    justify-content: flex-start;
    align-items: stretch;
    height: 100%;
}
.navbar[b-uwcpxu6m9g] {
    height: max-content;
    min-width: min-content;
}

/* ─── ナビバー タイトルエリア ─── */
.navbar-title-area[b-uwcpxu6m9g] {
    display: flex;
    align-items: center;
    gap: 20px;
    overflow: hidden;
}
.group[b-uwcpxu6m9g] {
    justify-content: flex-start;
    align-items: center;
    gap: 0;
    overflow: hidden;
    flex-shrink: 0;
}
.app-title[b-uwcpxu6m9g] {
    font-size: 1rem;
    font-weight: 800;
    letter-spacing: 0.14em;
    flex-shrink: 0;
    color: var(--ig-primary-500, #388e3c);
}
.title-divider[b-uwcpxu6m9g] {
    width: 1px;
    height: 16px;
    background: rgba(0,0,0,0.18);
    margin: 0 12px;
    flex-shrink: 0;
}
.jurisdiction-block[b-uwcpxu6m9g] {
    display: flex;
    align-items: baseline;
    gap: 5px;
}
.jurisdiction-name[b-uwcpxu6m9g] {
    font-size: 0.8rem;
    opacity: 0.85;
    font-weight: 400;
    letter-spacing: 0.1em;
}
.jurisdiction-user[b-uwcpxu6m9g] {
    font-size: 0.875rem;
    font-weight: 600;
    padding-left: 2px;
}

/* ─── ナビバー右端 ─── */
.avatar[b-uwcpxu6m9g]::part(base) {
    background-color: transparent;
}

/* ─── メインエリア（サイドナビ + コンテンツ） ─── */
.group_1[b-uwcpxu6m9g] {
    justify-content: flex-start;
    align-items: stretch;
    position: relative;
    min-width: 50px;
    flex-grow: 1;
    flex-basis: 0;
}

/* ─── サイドナビ全体ラッパー ─── */
.nav-sidebar[b-uwcpxu6m9g] {
    display: flex;
    flex-direction: column;
    align-self: stretch;
    flex-shrink: 0;
}
.nav-drawer[b-uwcpxu6m9g] {
    flex: 1 1 0;
    min-height: 0;
    min-width: min-content;
    height: 100%;
}
.icon[b-uwcpxu6m9g] {
    --size: 24px;
    font-size: 24px;
    width: 24px;
    height: 24px;
    color: var(--ig-primary-300);
}

/* ─── ナビ：テストDBバッジ（mini モード） ─── */
.nav-db-badge-mini[b-uwcpxu6m9g] {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 48px;   /* NavDrawerItem と同じ高さに揃える */
    margin-bottom: 6px;
}
.nav-db-badge-icon[b-uwcpxu6m9g] {
    color: #e53935;
    font-size: 22px;
    animation: badge-pulse 2s ease-in-out infinite;
}

/* ─── ナビ：テストDBバッジ（展開モード） ─── */
.nav-db-badge-full[b-uwcpxu6m9g] {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 6px 16px;
    margin-bottom: 6px;
    background: rgba(229,57,53,0.10);
    border-left: 3px solid #e53935;
    color: #c62828;
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    white-space: nowrap;
    animation: badge-pulse 2s ease-in-out infinite;
}
.nav-db-badge-text[b-uwcpxu6m9g] {
    flex: 1;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* ─── ナビバー：基準日 ─── */
/* ─── ナビバー：集計期間 ─── */
.navbar-period-block[b-uwcpxu6m9g] {
    display: flex;
    align-items: center;
    gap: 5px;
    flex-shrink: 0;
    padding-right: 4px;
    border-right: 1px solid rgba(0,0,0,0.12);
    margin-right: 4px;
}
.navbar-period-range[b-uwcpxu6m9g] {
    font-size: 0.78rem;
    color: rgba(0,0,0,0.6);
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
    letter-spacing: 0.02em;
}
.navbar-period-input[b-uwcpxu6m9g] {
    width: 44px;
    height: 26px;
    text-align: center;
    border: 1px solid rgba(0,0,0,0.22);
    border-radius: 5px;
    font-size: 0.8rem;
    color: rgba(0,0,0,0.80);
    background: #fff;
    outline: none;
    padding: 0 2px;
    -moz-appearance: textfield;
    box-shadow: inset 0 1px 2px rgba(0,0,0,0.06);
}
.navbar-period-input[b-uwcpxu6m9g]::-webkit-inner-spin-button,
.navbar-period-input[b-uwcpxu6m9g]::-webkit-outer-spin-button { opacity: 0.6; }
.navbar-period-input:focus[b-uwcpxu6m9g] {
    border-color: var(--ig-primary-400, #43a047);
    box-shadow: 0 0 0 2px rgba(56,142,60,0.15);
}
.navbar-period-unit[b-uwcpxu6m9g] {
    font-size: 0.76rem;
    color: rgba(0,0,0,0.50);
    white-space: nowrap;
}

/* ─── ナビバー：基準日 ─── */
.navbar-date-block[b-uwcpxu6m9g] {
    display: flex;
    align-items: center;
    gap: 5px;
    flex-shrink: 0;
    padding-right: 8px;
}
.navbar-date-icon[b-uwcpxu6m9g] {
    font-size: 16px;
    color: var(--ig-primary-500, #388e3c);
    flex-shrink: 0;
}
.navbar-date-text[b-uwcpxu6m9g] {
    font-size: 0.82rem;
    color: rgba(0,0,0,0.65);
    font-weight: 500;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}
.navbar-date-input[b-uwcpxu6m9g] {
    background: #fff;
    border: 1px solid rgba(0,0,0,0.22);
    border-radius: 6px;
    color: rgba(0,0,0,0.80);
    padding: 2px 8px;
    font-size: 0.8rem;
    font-weight: 500;
    height: 26px;
    outline: none;
    cursor: pointer;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
    box-shadow: inset 0 1px 2px rgba(0,0,0,0.06);
}
.navbar-date-input:focus[b-uwcpxu6m9g] {
    border-color: var(--ig-primary-400, #43a047);
    box-shadow: 0 0 0 2px rgba(56,142,60,0.15);
}
.navbar-date-input[b-uwcpxu6m9g]::-webkit-calendar-picker-indicator {
    opacity: 0.55;
    cursor: pointer;
}

@@keyframes badge-pulse {
    0%[b-uwcpxu6m9g], 100%[b-uwcpxu6m9g] { opacity: 1; }
    50%[b-uwcpxu6m9g]       { opacity: 0.55; }
}

/* ─── コンテンツエリア ─── */
.view-container[b-uwcpxu6m9g] {
    overflow: auto;
    position: relative;
    flex-grow: 1;
}

/* ─── ログアウトダイアログ ─── */
.dialog-logout[b-uwcpxu6m9g] {
    position: absolute;
}

/* ─── ナビ アイコンツールチップ（mini モード時） ─── */
.nav-icon-wrap[b-uwcpxu6m9g] {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
.nav-icon-wrap[b-uwcpxu6m9g]::after {
    content: attr(data-tooltip);
    position: fixed;
    left: 60px;           /* mini ドロワー幅 + 余白 */
    transform: translateY(-50%);
    background: rgba(28, 28, 28, 0.92);
    color: #fff;
    padding: 5px 12px;
    border-radius: 7px;
    font-size: 0.78rem;
    font-weight: 500;
    letter-spacing: 0.02em;
    white-space: nowrap;
    pointer-events: none;
    opacity: 0;
    transition: opacity 0.08s ease;
    z-index: 10000;
    box-shadow: 0 3px 12px rgba(0,0,0,0.28);
}
.nav-icon-wrap:hover[b-uwcpxu6m9g]::after {
    opacity: 1;
}
/* /Shared/NavMenu.razor.rz.scp.css */
.navbar-toggler[b-xn9ce4ojwe] {
    background-color: rgba(255, 255, 255, 0.1);
}

.top-row[b-xn9ce4ojwe] {
    height: 3.5rem;
    background-color: rgba(0,0,0,0.4);
}

.navbar-brand[b-xn9ce4ojwe] {
    font-size: 1.1rem;
}

.oi[b-xn9ce4ojwe] {
    width: 2rem;
    font-size: 1.1rem;
    vertical-align: text-top;
    top: -2px;
}

.nav-item[b-xn9ce4ojwe] {
    font-size: 0.9rem;
    padding-bottom: 0.5rem;
}

    .nav-item:first-of-type[b-xn9ce4ojwe] {
        padding-top: 1rem;
    }

    .nav-item:last-of-type[b-xn9ce4ojwe] {
        padding-bottom: 1rem;
    }

    .nav-item[b-xn9ce4ojwe]  a {
        color: #d7d7d7;
        border-radius: 4px;
        height: 3rem;
        display: flex;
        align-items: center;
        line-height: 3rem;
    }

.nav-item[b-xn9ce4ojwe]  a.active {
    background-color: rgba(255,255,255,0.25);
    color: white;
}

.nav-item[b-xn9ce4ojwe]  a:hover {
    background-color: rgba(255,255,255,0.1);
    color: white;
}

@media (min-width: 641px) {
    .navbar-toggler[b-xn9ce4ojwe] {
        display: none;
    }

    .collapse[b-xn9ce4ojwe] {
        /* Never collapse the sidebar for wide screens */
        display: block;
    }
    
    .nav-scrollable[b-xn9ce4ojwe] {
        /* Allow sidebar to scroll for tall menus */
        height: calc(100vh - 3.5rem);
        overflow-y: auto;
    }
}
