/* /Components/Common/HeaderTimeChargeWidget.razor.rz.scp.css */
@keyframes pulse-b-dn22snesx5 {
    0% {
        opacity: 1;
    }

    50% {
        opacity: 0.3;
    }

    100% {
        opacity: 1;
    }
}
/* /Components/Common/MatterSelector.razor.rz.scp.css */
/* 選択済みの際の状態（薄い緑色と太字） */
.matter-selected[b-5hjulaej7e] {
    background-color: #f0fdf4 !important; /* bg-success-subtle 相当 */
    border-color: #bbf7d0 !important;
    font-weight: bold;
    color: #166534 !important;
}

/* 検索結果アイテムのホバー演出 */
.list-group-item-action:hover[b-5hjulaej7e] {
    background-color: rgba(0, 194, 168, 0.05);
    border-left: 4px solid var(--legal-accent);
}

/* フォーム用ラベル */
.label-small[b-5hjulaej7e] {
    font-size: 0.8rem;
    font-weight: 700;
}

/* 補足テキスト */
.extra-small[b-5hjulaej7e] {
    font-size: 0.72rem;
}

/* プレビューアイコンのスタイル */
.preview-icon[b-5hjulaej7e] {
    font-size: 1.2rem;
    opacity: 0.7;
}
/* /Components/Common/ModelessDialog.razor.rz.scp.css */
@media (max-width: 768px) {
    .modeless-dialog-container[b-wb898vcwmo] {
        /* Override inline styles for positioning and size to cover full screen */
        left: 0 !important;
        top: 0 !important;
        width: 100vw !important;
        height: 100vh !important;
        max-width: 100vw !important;
        max-height: 100vh !important;
        
        /* Remove border radius to feel like a full page */
        border-radius: 0 !important;
        margin: 0 !important;
        
        /* Ensure it sits on top of everything */
        z-index: 1050 !important;
        
        /* Make the card itself a flex column so we can manage body height automatically */
        display: flex !important;
        flex-direction: column !important;
    }

    .modeless-dialog-header[b-wb898vcwmo] {
        /* Fix header at top */
        flex-shrink: 0;
        border-radius: 0 !important;
    }

    .modeless-dialog-body[b-wb898vcwmo] {
        /* Override inline max-height to take remaining space exactly */
        max-height: calc(100vh - 61px) !important; /* 61px is approx header height */
        height: calc(100vh - 61px) !important;
        flex-grow: 1;
        overflow-y: auto !important;
    }
}
/* /Components/Common/SidebarTaskPane.razor.rz.scp.css */
.sidebar-task-pane[b-rfljzkzszx] {
    width: 100%;
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
    min-height: 400px;
}
@media (min-width: 992px) {
    .sidebar-task-pane[b-rfljzkzszx] {
        width: 320px !important;
        height: 100%;
        min-height: 0;
        max-height: none !important;
        overflow: hidden;
    }
}
/* /Components/Dialog/ExpenseDialog.razor.rz.scp.css */
/* ダイアログの幅調整 */
.dialog-wide[b-2mcvyjitdq] {
    max-width: 800px;
}

.modal-header-gradient[b-2mcvyjitdq] {
    background: linear-gradient(135deg, var(--legal-primary) 0%, var(--legal-primary-dark) 100%);
    border-top-left-radius: 16px;
    border-top-right-radius: 16px;
}
/* /Components/Form/ExpenseForm.razor.rz.scp.css */
/* 経費フォーム専用：スリムな入力スタイル */
.expense-form-control[b-zvyx6fmaon] {
    height: 32px !important;
    min-height: 32px !important;
    font-size: 0.9rem !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

.input-readonly[b-zvyx6fmaon] {
    background-color: #f8fafc !important;
    color: #64748b !important;
    border-color: #e2e8f0 !important;
}

.tax-free-badge[b-zvyx6fmaon] {
    background-color: #f1f5f9;
    color: #64748b;
    border: 1px solid #e2e8f0;
}

/* 追加: 金額枠用のスリムパディング */
.slim-calc-box[b-zvyx6fmaon] {
    padding: 0.75rem 1rem !important;
}
/* /Components/Layout/MainLayout.razor.rz.scp.css */
/* ============================================================
   1. レイアウト全体 (MainLayout)
   ============================================================ */
.page[b-m3hv6ixruy] {
    display: flex;
    flex-direction: column;
    height: 100vh;
    width: 100%;
    overflow: hidden; 
}

@media (min-width: 768px) {
    .page[b-m3hv6ixruy] {
        flex-direction: row;
    }
}

main[b-m3hv6ixruy] {
    flex: 1;
    display: flex;
    flex-direction: column;
    height: 100%;
    min-width: 0;
    min-height: 0;
    overflow: hidden;
}

.content[b-m3hv6ixruy] {
    flex: 1;
    display: flex;
    flex-direction: column;
    min-height: 0; 
    overflow-y: auto !important;
    overflow-x: hidden;
    padding: 0;
}

/* ============================================================
   2. ヘッダー (Top Row)
   ============================================================ */
.top-row[b-m3hv6ixruy] {
    flex-shrink: 0; 
    height: auto !important;
    min-height: 3.5rem;
    padding: 0.5rem 1rem;
    background-color: rgba(255, 255, 255, 0.8);
    backdrop-filter: blur(8px);
    border-bottom: 1px solid #e2e8f0;
    display: flex;
    align-items: center;
    z-index: 1000;
}

    .top-row[b-m3hv6ixruy]  a,
    .top-row[b-m3hv6ixruy]  .btn-link {
        white-space: nowrap;
        margin-left: 1.5rem;
        text-decoration: none;
    }

        .top-row[b-m3hv6ixruy]  a:hover,
        .top-row[b-m3hv6ixruy]  .btn-link:hover {
            text-decoration: underline;
        }

        .top-row[b-m3hv6ixruy]  a:first-child {
            overflow: hidden;
            text-overflow: ellipsis;
        }
[b-m3hv6ixruy] .sidebar .nav-link .bi {
    transform: translateY(1.5px);
}

/* ユーザー情報・ログアウト */
.user-profile-info[b-m3hv6ixruy] {
    font-size: 0.9rem;
}

.logout-btn:hover[b-m3hv6ixruy] {
    background-color: #fff1f2 !important;
    color: #e11d48 !important;
    border-color: #fda4af !important;
}

/* ============================================================
   3. 伝言メモ 通知エリア
   ============================================================ */
.hover-primary-container[b-m3hv6ixruy] {
    transition: all 0.2s ease;
}

    .hover-primary-container:hover .memo-icon[b-m3hv6ixruy] {
        color: var(--legal-interactive) !important;
    }

.memo-badge[b-m3hv6ixruy] {
    font-size: 0.6rem;
    padding: 0.25em 0.45em;
    min-width: 1.5em;
    text-align: center;
    line-height: 1;
    transform: translate(-30%, -10%) !important;
}

/* ============================================================
   4. 勤怠打刻ボタン関連
   ============================================================ */
.attendance-btn-mono[b-m3hv6ixruy] {
    background-color: #ffffff !important;
    color: #64748b !important;
    border: 1px solid #cbd5e1 !important;
    transition: all 0.25s ease-in-out !important;
    box-shadow: 0 1px 2px rgba(0,0,0,0.05) !important;
    font-weight: 700;
}

    .attendance-btn-mono:disabled[b-m3hv6ixruy] {
        background-color: #f8fafc !important;
        color: #cbd5e1 !important;
        border-color: #f1f5f9 !important;
        box-shadow: none !important;
        transform: none !important;
        opacity: 0.7;
    }

.btn-hover-blue:hover:not(:disabled)[b-m3hv6ixruy] {
    background-color: rgba(13, 110, 253, 0.08) !important;
    color: #0d6efd !important;
    border-color: #93c5fd !important;
    transform: translateY(-2px);
}

.btn-hover-yellow:hover:not(:disabled)[b-m3hv6ixruy] {
    background-color: rgba(245, 158, 11, 0.08) !important;
    color: #d97706 !important;
    border-color: #fcd34d !important;
    transform: translateY(-2px);
}

.btn-hover-cyan:hover:not(:disabled)[b-m3hv6ixruy] {
    background-color: rgba(6, 182, 212, 0.08) !important;
    color: #0891b2 !important;
    border-color: #67e8f9 !important;
    transform: translateY(-2px);
}

.btn-hover-red:hover:not(:disabled)[b-m3hv6ixruy] {
    background-color: rgba(220, 53, 69, 0.08) !important;
    color: #dc2626 !important;
    border-color: #fca5a5 !important;
    transform: translateY(-2px);
}

.attendance-time[b-m3hv6ixruy] {
    font-size: 0.85em;
    opacity: 0.8;
    margin-left: 5px;
    font-weight: normal;
}

/* ============================================================
   5. 汎用ユーティリティ & エラーUI
   ============================================================ */
.hover-primary:hover[b-m3hv6ixruy] {
    color: var(--legal-interactive) !important;
}

.cursor-pointer[b-m3hv6ixruy] {
    cursor: pointer;
}

#blazor-error-ui[b-m3hv6ixruy] {
    color-scheme: light only;
    background: lightyellow;
    bottom: 0;
    box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.2);
    box-sizing: border-box;
    display: none;
    left: 0;
    padding: 0.6rem 1.25rem 0.7rem 1.25rem;
    position: fixed;
    width: 100%;
    z-index: 1000;
}

    #blazor-error-ui .dismiss[b-m3hv6ixruy] {
        cursor: pointer;
        position: absolute;
        right: 0.75rem;
        top: 0.5rem;
    }

/* ============================================================
   6. レスポンシブ・サイドバー制御
   ============================================================ */
@media (min-width: 768px) {
    .top-row[b-m3hv6ixruy] {
        justify-content: space-between;
    }

        .top-row[b-m3hv6ixruy]  a, .top-row[b-m3hv6ixruy]  .btn-link {
            margin-left: 0;
        }

    .page[b-m3hv6ixruy] {
        flex-direction: row;
    }

    .sidebar[b-m3hv6ixruy] {
        width: var(--sidebar-width, 280px);
        height: 100vh;
        position: sticky;
        top: 0;
        flex-shrink: 0;
    }
}
/* /Components/Layout/NavMenu.razor.rz.scp.css */
/* --- レイアウト・スケルトン --- */
.navbar-toggler[b-nndwx6mbys] {
    appearance: none;
    cursor: pointer;
    width: 3.5rem;
    height: 2.5rem;
    color: white;
    position: absolute;
    top: 0.5rem;
    right: 1rem;
    border: 1px solid rgba(255, 255, 255, 0.1);
    background: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e") no-repeat center/1.75rem rgba(255, 255, 255, 0.1);
    z-index: 10;
}

    .navbar-toggler:checked[b-nndwx6mbys] {
        background-color: rgba(255, 255, 255, 0.5);
    }

.top-row[b-nndwx6mbys] {
    min-height: 3.5rem;
    background-color: rgba(0,0,0,0.4);
    display: flex;
    align-items: center;
}

.navbar-brand[b-nndwx6mbys] {
    font-size: 1.1rem;
    font-weight: bold;
}

/* --- 標準ナビゲーション項目 --- */
.nav-item[b-nndwx6mbys] {
    font-size: 0.9rem;
    padding-bottom: 0.25rem;
}

    .nav-item:first-of-type[b-nndwx6mbys] {
        padding-top: 1rem;
    }

    .nav-item[b-nndwx6mbys]  .nav-link {
        color: #d7d7d7;
        background: none;
        border: none;
        border-radius: 8px;
        height: 3rem;
        display: flex;
        align-items: center;
        line-height: 3rem;
        width: 100%;
        transition: all 0.2s ease;
    }

    .nav-item[b-nndwx6mbys]  a.active {
        background-color: rgba(255, 255, 255, 0.2);
        color: white;
        font-weight: bold;
    }

    .nav-item[b-nndwx6mbys]  .nav-link:hover {
        background-color: rgba(255, 255, 255, 0.1);
        color: white;
    }

/* --- アクティブなコンテキスト (案件・顧客) セクション --- */
.context-section[b-nndwx6mbys] {
    background-color: rgba(255, 255, 255, 0.1);
    border-bottom: 1px solid rgba(255, 255, 255, 0.15);
    margin: 0 0.5rem;
    border-radius: 8px;
}

.context-label[b-nndwx6mbys] {
    display: block;
    color: rgba(255, 255, 255, 0.5);
    text-transform: uppercase;
    font-weight: bold;
    font-size: 0.62rem;
    letter-spacing: 1px;
}

.nav-header-label[b-nndwx6mbys] {
    display: block;
    text-transform: uppercase;
    font-weight: bold;
    color: rgba(255, 255, 255, 0.4);
    font-size: 0.68rem;
    letter-spacing: 0.1em;
}

/* --- 特殊メニュー項目 --- */
.litigation-nav-link[b-nndwx6mbys] {
    color: #e9d5ff !important; /* 明るいパープル */
}

    .litigation-nav-link:hover[b-nndwx6mbys] {
        background-color: rgba(111, 66, 193, 0.2) !important;
    }

/* --- 最近のアクセス (履歴) --- */
.history-section-title[b-nndwx6mbys] {
    text-transform: uppercase;
    font-weight: bold;
    color: rgba(255, 255, 255, 0.4);
    font-size: 0.72rem;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    padding-bottom: 0.4rem;
}

.history-item-link[b-nndwx6mbys] {
    display: block;
    padding: 0.6rem;
    border-radius: 8px;
    background-color: rgba(255, 255, 255, 0.05);
    transition: all 0.2s ease;
    margin-bottom: 0.5rem;
}

    .history-item-link:hover[b-nndwx6mbys] {
        background-color: rgba(255, 255, 255, 0.1) !important;
        transform: translateX(4px);
    }

.history-title[b-nndwx6mbys] {
    font-size: 0.82rem;
    font-weight: bold;
}

.history-subtitle[b-nndwx6mbys] {
    font-size: 0.7rem;
    color: rgba(255, 255, 255, 0.5);
}

/* --- レスポンシブ制御 --- */
.nav-scrollable[b-nndwx6mbys] {
    display: none;
}

#nav-toggle-checkbox:checked ~ .nav-scrollable[b-nndwx6mbys] {
    display: block;
}

@media (min-width: 768px) {
    .navbar-toggler[b-nndwx6mbys] {
        display: none;
    }

    .nav-scrollable[b-nndwx6mbys] {
        display: block;
        height: calc(100vh - 3.5rem);
        overflow-y: auto;
    }
}

/* アイコン用 (既存の.biを拡張) */
.bi[b-nndwx6mbys] {
    display: inline-block;
    position: relative;
    width: 1.25rem;
    height: 1.25rem;
    margin-right: 0.75rem;
    top: 0;
    background-size: cover;
}


/* /Components/Layout/ReconnectModal.razor.rz.scp.css */
.components-reconnect-first-attempt-visible[b-z3ho7de2bc],
.components-reconnect-repeated-attempt-visible[b-z3ho7de2bc],
.components-reconnect-failed-visible[b-z3ho7de2bc],
.components-pause-visible[b-z3ho7de2bc],
.components-resume-failed-visible[b-z3ho7de2bc],
.components-rejoining-animation[b-z3ho7de2bc] {
    display: none;
}

#components-reconnect-modal.components-reconnect-show .components-reconnect-first-attempt-visible[b-z3ho7de2bc],
#components-reconnect-modal.components-reconnect-show .components-rejoining-animation[b-z3ho7de2bc],
#components-reconnect-modal.components-reconnect-paused .components-pause-visible[b-z3ho7de2bc],
#components-reconnect-modal.components-reconnect-resume-failed .components-resume-failed-visible[b-z3ho7de2bc],
#components-reconnect-modal.components-reconnect-retrying[b-z3ho7de2bc],
#components-reconnect-modal.components-reconnect-retrying .components-reconnect-repeated-attempt-visible[b-z3ho7de2bc],
#components-reconnect-modal.components-reconnect-retrying .components-rejoining-animation[b-z3ho7de2bc],
#components-reconnect-modal.components-reconnect-failed[b-z3ho7de2bc],
#components-reconnect-modal.components-reconnect-failed .components-reconnect-failed-visible[b-z3ho7de2bc] {
    display: block;
}


#components-reconnect-modal[b-z3ho7de2bc] {
    background: #ffffff;
    border: 1px solid rgba(0, 0, 0, 0.1);
    width: 24rem;
    margin: 20vh auto;
    padding: 2.5rem;
    border-radius: 1rem;
    box-shadow: 0 10px 40px 0 rgba(0, 0, 0, 0.2);
    color: var(--legal-text-main);
    opacity: 0;
    transition: display 0.5s allow-discrete, overlay 0.5s allow-discrete;
    animation: components-reconnect-modal-fadeOutOpacity-b-z3ho7de2bc 0.5s both;
    &[open]

{
    animation: components-reconnect-modal-slideUp-b-z3ho7de2bc 1.5s cubic-bezier(.05, .89, .25, 1.02) 0.3s, components-reconnect-modal-fadeInOpacity-b-z3ho7de2bc 0.5s ease-in-out 0.3s;
    animation-fill-mode: both;
}

}

#components-reconnect-modal[b-z3ho7de2bc]::backdrop {
    background-color: rgba(0, 0, 0, 0.4);
    animation: components-reconnect-modal-fadeInOpacity-b-z3ho7de2bc 0.5s ease-in-out;
    opacity: 1;
}

@keyframes components-reconnect-modal-slideUp-b-z3ho7de2bc {
    0% {
        transform: translateY(30px) scale(0.95);
    }

    100% {
        transform: translateY(0);
    }
}

@keyframes components-reconnect-modal-fadeInOpacity-b-z3ho7de2bc {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

@keyframes components-reconnect-modal-fadeOutOpacity-b-z3ho7de2bc {
    0% {
        opacity: 1;
    }

    100% {
        opacity: 0;
    }
}

.components-reconnect-container[b-z3ho7de2bc] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
}

#components-reconnect-modal p[b-z3ho7de2bc] {
    margin: 0;
    text-align: center;
}

#components-reconnect-modal button[b-z3ho7de2bc] {
    border: 0;
    background-color: var(--legal-interactive);
    color: white;
    padding: 8px 24px;
    border-radius: 50px;
    font-weight: 700;
    margin-top: 1rem;
    transition: all 0.2s;
}

    #components-reconnect-modal button:hover[b-z3ho7de2bc] {
        background-color: #0b5ed7;
        transform: translateY(-1px);
        box-shadow: 0 4px 8px rgba(13, 110, 253, 0.2);
    }

    #components-reconnect-modal button:active[b-z3ho7de2bc] {
        background-color: #6b9ed2;
    }

.components-rejoining-animation[b-z3ho7de2bc] {
    display: flex;
    justify-content: center;
    align-items: center;
}

.reconnect-logo[b-z3ho7de2bc] {
    font-size: 2.5rem;
    font-weight: 800;
    color: var(--legal-primary);
    animation: components-rejoining-animation-b-z3ho7de2bc 1s ease-in-out infinite alternate;
}

@keyframes components-rejoining-animation-b-z3ho7de2bc {
    0% {
        opacity: 0.4;
        text-shadow: 0 0 0px transparent;
    }
    100% {
        opacity: 1;
        text-shadow: 0 0 20px var(--legal-primary);
    }
}
/* /Components/Pages/Accounting/Accounting.razor.rz.scp.css */
.accounting-container[b-ihy0cntupq] {
    display: flex;
    flex-direction: column;
    height: auto !important; /* スマホは自然スクロール */
    min-height: 100% !important; flex-grow: 1 !important;
    overflow: visible !important;
}

.accounting-header-pane[b-ihy0cntupq] {
    flex-shrink: 0; /* ヘッダー・タブ部分は絶対に潰れないようにする */
}

.accounting-content-wrapper[b-ihy0cntupq] {
    display: flex;
    flex-direction: column; /* スマホ時は縦積み */
    flex-grow: 1;
    gap: 1rem;
    min-height: 500px;
}

.accounting-side-pane[b-ihy0cntupq], .accounting-main-pane[b-ihy0cntupq] {
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

@media (min-width: 992px) {
    .accounting-container[b-ihy0cntupq] {
        height: 100% !important; flex-grow: 1 !important; /* PCは画面内にピタッと収める */
        overflow: hidden !important;
    }

    .accounting-content-wrapper[b-ihy0cntupq] {
        flex-direction: row; /* PCは左右に分割 */
        overflow: hidden !important;
    }

    .accounting-side-pane[b-ihy0cntupq] {
        width: 320px !important; /* 左側（サマリー・操作メニュー）の固定幅 */
        height: 100%;
        overflow-y: auto; /* 独立スクロール */
        overflow-x: hidden;
        padding-right: 0.5rem;
    }

    .accounting-main-pane[b-ihy0cntupq] {
        width: calc(100% - 320px - 1rem) !important; /* 右側（出納帳テーブル） */
        height: 100%;
        overflow-y: auto; /* 独立スクロール */
        overflow-x: hidden;
        padding-right: 0.5rem;
    }
}

/* サマリーカードの装飾 */
.card-summary[b-ihy0cntupq] {
    border: none;
    border-radius: 12px;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

    .card-summary:hover[b-ihy0cntupq] {
        transform: translateY(-2px);
        box-shadow: 0 10px 20px rgba(0,0,0,0.08) !important;
    }

.border-start-primary-thick[b-ihy0cntupq] {
    border-left: 5px solid var(--legal-primary) !important;
}

.border-start-danger-thick[b-ihy0cntupq] {
    border-left: 5px solid #dc3545 !important;
}

.border-start-success-thick[b-ihy0cntupq] {
    border-left: 5px solid #198754 !important;
}

.border-start-warning-thick[b-ihy0cntupq] {
    border-left: 5px solid #ffc107 !important;
}

/* 検索ボックスの幅調整 */
.search-box-wide[b-ihy0cntupq] {
    min-width: 300px;
    max-width: 100%;
}

/* サブタブの装飾 */
.sub-tab-link[b-ihy0cntupq] {
    border: none !important;
    border-bottom: 3px solid transparent !important;
    color: #6c757d;
    padding-bottom: 0.5rem;
    transition: all 0.2s ease;
}

.sub-tab-active[b-ihy0cntupq] {
    color: var(--legal-primary) !important;
    border-bottom-color: var(--legal-primary) !important;
}

.sub-tab-divider[b-ihy0cntupq] {
    margin-top: -2px;
    border-color: #e9ecef !important;
}

/* ウェルカム画面のアイコン */
.welcome-icon-large[b-ihy0cntupq] {
    font-size: 4rem;
    opacity: 0.5;
}

/* 出納帳テーブルのスクロール確保 */
.ledger-table-container[b-ihy0cntupq] {
    max-height: 500px; /* スマホ時の最低限の高さを確保 */
}

@media (min-width: 992px) {
    .ledger-table-container[b-ihy0cntupq] {
        max-height: none;
    }
}

/* テキストの切り詰め（2行） */
.text-truncate-250[b-ihy0cntupq] {
    max-width: 250px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
/* /Components/Pages/Accounting/DebtDashboard.razor.rz.scp.css */
.debt-container[b-s1nyeuybow] {
    display: flex;
    flex-direction: column;
    height: auto !important; /* スマホは自然スクロール */
    min-height: 100% !important; flex-grow: 1 !important;
    overflow: visible !important;
}

.debt-header-pane[b-s1nyeuybow] {
    flex-shrink: 0; /* ヘッダー・サマリー領域は絶対に潰れないようにする */
}

.debt-list-pane[b-s1nyeuybow] {
    flex-grow: 1;
    display: flex;
    flex-direction: column;
    min-height: 400px; /* スマホ時にテーブルが潰れないように高さを確保 */
}

@media (min-width: 992px) {
    .debt-container[b-s1nyeuybow] {
        height: 100% !important; flex-grow: 1 !important; /* PCは画面内にピタッと収める */
        overflow: hidden !important;
    }

    .debt-list-pane[b-s1nyeuybow] {
        min-height: 0;
        overflow: hidden; /* PCはテーブル内部のみをスクロールさせる */
    }
}

/* サブタブの装飾 */
.sub-tab-link[b-s1nyeuybow] {
    border: none !important;
    border-bottom: 3px solid transparent !important;
    color: #6c757d;
    padding-bottom: 0.5rem;
    transition: all 0.2s ease;
}

.sub-tab-active[b-s1nyeuybow] {
    color: var(--legal-primary) !important;
    border-bottom-color: var(--legal-primary) !important;
}

.sub-tab-divider[b-s1nyeuybow] {
    margin-top: -2px;
    border-color: #e9ecef !important;
}

/* 検索ボックスやセレクトの微調整 */
.search-box-wide[b-s1nyeuybow] {
    min-width: 250px;
    max-width: 100%;
}

/* テーブルホバー時の色 */
.table-hover-custom tbody tr:hover td[b-s1nyeuybow] {
    background-color: rgba(0, 194, 168, 0.03) !important;
}

.extra-small[b-s1nyeuybow] {
    font-size: 0.72rem;
}

.transition-all[b-s1nyeuybow] {
    transition: all 0.2s ease;
}

/* /Components/Pages/Address/AddressBook.razor.rz.scp.css */
.addressbook-container[b-idq50uhjww] {
    display: flex;
    flex-direction: column;
    height: auto !important; /* スマホは高さを固定しない */
    min-height: 100% !important; flex-grow: 1 !important;
    overflow: visible !important;
}

.addressbook-wrapper[b-idq50uhjww] {
    display: flex;
    flex-direction: column;
    flex-grow: 1;
    overflow: visible !important;
}

.addressbook-list-pane[b-idq50uhjww], .addressbook-detail-pane[b-idq50uhjww] {
    width: 100%;
    display: flex;
    flex-direction: column;
    min-height: 100% !important; flex-grow: 1 !important;
}

@media (min-width: 992px) {
    .addressbook-container[b-idq50uhjww] {
        height: 100% !important; flex-grow: 1 !important; /* PCは画面内にピタッと収める */
        overflow: hidden !important;
    }

    .addressbook-wrapper[b-idq50uhjww] {
        flex-direction: row; /* PCは左右に分割 */
        overflow: hidden !important;
    }

    .addressbook-list-pane[b-idq50uhjww] {
        width: 340px !important; /* 左側（リスト）の固定幅 */
        height: 100%;
        min-height: 0;
        overflow: hidden;
        border-right: 1px solid #e2e8f0; /* PC時のみ右に境界線を引く */
    }

    .addressbook-detail-pane[b-idq50uhjww] {
        width: calc(100% - 340px) !important; /* 右側（詳細） */
        height: 100%;
        min-height: 0;
        overflow: hidden;
    }
}

/* 左ペイン：リストアイテムの選択状態 */
.selected-item[b-idq50uhjww] {
    background-color: rgba(0, 194, 168, 0.08) !important;
    border-left: 4px solid var(--legal-accent) !important;
    z-index: 1;
}

.border-start-4[b-idq50uhjww] {
    border-left-width: 4px !important;
}

.border-transparent[b-idq50uhjww] {
    border-left-color: transparent !important;
}

/* 汎用アニメーション */
.transition-all[b-idq50uhjww] {
    transition: all 0.2s ease;
}

.hover-scale:hover[b-idq50uhjww] {
    transform: scale(1.1);
}

/* 五十音フィルターボタン */
.btn-kana[b-idq50uhjww] {
    font-size: 0.75rem;
    font-weight: bold;
    padding: 4px 10px;
    border: 1px solid #e2e8f0;
    background: white;
    border-radius: 8px;
    color: var(--legal-text-muted);
    transition: all 0.2s;
}

    .btn-kana.active[b-idq50uhjww] {
        background: var(--legal-primary);
        color: white;
        border-color: var(--legal-primary);
    }

    .btn-kana:hover:not(.active)[b-idq50uhjww] {
        background: #f8fafc;
        border-color: #cbd5e1;
    }

/* 詳細ペイン：アバター */
.avatar-circle[b-idq50uhjww] {
    width: 70px;
    height: 70px;
    background-color: var(--legal-primary);
    color: white;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 2rem;
    font-weight: 800;
}

/* 詳細ペイン：情報行 */
.info-row[b-idq50uhjww] {
    margin-bottom: 1.5rem;
}

    .info-row label[b-idq50uhjww] {
        display: block;
        font-size: 0.75rem;
        color: var(--legal-text-muted);
        font-weight: 800;
        margin-bottom: 0.4rem;
        text-transform: uppercase;
        letter-spacing: 0.05em;
    }

/* セクションタイトル */
.section-title[b-idq50uhjww] {
    font-size: 0.95rem;
    font-weight: 800;
    letter-spacing: 0.05em;
}

/* バッジの共通サイズと色分け */
.badge-category[b-idq50uhjww] {
    font-size: 0.65rem;
    padding: 0.35rem 0.8rem;
    border-radius: 50px;
    font-weight: 800;
    letter-spacing: 0.05em;
}

.bg-internal[b-idq50uhjww] {
    background-color: #f1f5f9;
    color: #475569;
    border: 1px solid #e2e8f0;
}

.bg-external[b-idq50uhjww] {
    background-color: #eff6ff;
    color: #2563eb;
    border: 1px solid #bfdbfe;
}

.bg-partner[b-idq50uhjww] {
    background-color: #f0fdf4;
    color: #16a34a;
    border: 1px solid #bbf7d0;
}

/* 電話ボタンのサイズ固定 */
.btn-phone-call[b-idq50uhjww] {
    width: 42px;
    height: 42px;
}

/* /Components/Pages/Address/AddressEdit.razor.rz.scp.css */
.edit-container[b-vd8wbowu4b] {
    max-width: 900px;
    margin: 0 auto;
}
/* /Components/Pages/Attendance/Attendance.razor.rz.scp.css */
.attendance-container[b-5etv9nbrx8] {
    display: flex;
    flex-direction: column;
    height: auto !important;
    min-height: 100% !important; flex-grow: 1 !important;
    overflow: visible !important;
}

.attendance-wrapper[b-5etv9nbrx8] {
    display: flex;
    flex-direction: column;
    flex-grow: 1;
    overflow: visible !important;
    gap: 1rem;
}

.attendance-action-pane[b-5etv9nbrx8] {
    width: 100%;
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
}

.attendance-list-pane[b-5etv9nbrx8] {
    width: 100%;
    flex-grow: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    min-height: 500px;
}

/* PC表示時のレイアウト */
@media (min-width: 992px) {
    .attendance-container[b-5etv9nbrx8] {
        height: 100% !important; flex-grow: 1 !important;
        overflow: hidden !important;
    }

    .attendance-wrapper[b-5etv9nbrx8] {
        flex-direction: row;
        overflow: hidden !important;
        gap: 1rem;
    }

    .attendance-action-pane[b-5etv9nbrx8] {
        width: 360px !important;
        height: 100%;
        min-height: 0;
        overflow-y: auto;
    }

    .attendance-list-pane[b-5etv9nbrx8] {
        width: calc(100% - 360px - 1rem) !important;
        height: 100%;
        min-height: 0;
        overflow: hidden;
    }
}

/* 文字間隔の調整 */
.letter-spacing-wide[b-5etv9nbrx8] {
    letter-spacing: 0.1em;
}

.letter-spacing-wider[b-5etv9nbrx8] {
    letter-spacing: 0.15em;
}

/* 丸ボタン */
.btn-circle-sm[b-5etv9nbrx8] {
    width: 32px;
    height: 32px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

/* ホバー時の透明度 */
.hover-opacity-100[b-5etv9nbrx8] {
    transition: opacity 0.2s ease;
}

    .hover-opacity-100:hover[b-5etv9nbrx8] {
        opacity: 1 !important;
    }

/* 打刻ボタンの押し込みアクション */
.attendance-btn-group .btn[b-5etv9nbrx8] {
    transition: transform 0.1s ease, box-shadow 0.1s ease;
}

    .attendance-btn-group .btn:active[b-5etv9nbrx8] {
        transform: scale(0.96);
    }

/* ★本日の行を強調する専用クラス（ズレ防止） */
.today-row[b-5etv9nbrx8] {
    background-color: rgba(13, 110, 253, 0.05) !important; /* 薄い青 */
}
/* /Components/Pages/Audit/AuditList.razor.rz.scp.css */
.avatar-circle-sm[b-ogoo9ojc8v] {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.8rem;
}

.extra-small[b-ogoo9ojc8v] {
    font-size: 0.75rem;
}

.input-refined-sm[b-ogoo9ojc8v] {
    border-radius: 6px;
    border: 1px solid #e2e8f0;
    padding: 0.4rem 0.8rem;
    font-size: 0.9rem;
    box-shadow: none;
}
/* /Components/Pages/Common/ErrorDisplay.razor.rz.scp.css */
/* エラー用カードの強調ボーダー */
.error-card[b-fnd88wf2ue] {
    border-left: 5px solid #dc3545 !important;
}

/* 技術詳細（スタックトレース等）を表示するボックス */
.error-details-box[b-fnd88wf2ue] {
    font-family: monospace;
    max-height: 200px;
    overflow-y: auto;
}
/* /Components/Pages/ContactLog/ContactLogList.razor.rz.scp.css */
.contact-log-container[b-zs3mrr43rd] {
    display: flex;
    flex-direction: column;
    height: auto !important; /* スマホは高さを固定しない */
    min-height: 100% !important; flex-grow: 1 !important;
    overflow: visible !important;
}

.contact-log-form-pane[b-zs3mrr43rd] {
    flex-shrink: 0;
    /* スマホ時でもフォームが潰れないように */
}

.contact-log-list-pane[b-zs3mrr43rd] {
    flex-grow: 1;
    display: flex;
    flex-direction: column;
    min-height: 500px; /* スマホ時にリストが潰れないように確保 */
}

@media (min-width: 992px) {
    .contact-log-container[b-zs3mrr43rd] {
        height: 100% !important; flex-grow: 1 !important; /* PCは画面内にピタッと収める */
        overflow: hidden !important;
    }

    .contact-log-list-pane[b-zs3mrr43rd] {
        height: 100%;
        min-height: 0;
        overflow: hidden; /* PCは内部スクロールに任せる */
    }
}

/* 入力フォーム・コンボボックスのスリム化 (28px) */
.form-control-xs[b-zs3mrr43rd], .form-select-xs[b-zs3mrr43rd], .compact-selector .form-control[b-zs3mrr43rd], .compact-selector .form-select[b-zs3mrr43rd], .compact-selector input[b-zs3mrr43rd], .compact-selector button[b-zs3mrr43rd] {
    height: 28px !important;
    min-height: 28px !important;
    line-height: 1.2 !important;
    padding-top: 0.15rem !important;
    padding-bottom: 0.15rem !important;
    font-size: 0.85rem !important;
}

.form-select-xs[b-zs3mrr43rd] {
    padding-right: 1.8rem !important;
    background-position: right 0.35rem center !important;
}

textarea.form-control-xs[b-zs3mrr43rd] {
    height: auto !important;
    min-height: 60px !important;
    padding: 0.3rem 0.5rem !important;
    line-height: 1.4 !important;
}

.label-xs[b-zs3mrr43rd] {
    font-size: 0.75rem !important;
    margin-bottom: 0.1rem !important;
    display: block;
    color: #64748b;
}

.log-badge-xs[b-zs3mrr43rd] {
    font-size: 0.72rem !important;
    padding: 0 0.45rem !important;
    height: 1.15rem !important;
    line-height: 1.15rem !important;
    font-weight: 700;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transform: translateY(1px);
    border: none !important;
}

.log-subject-text[b-zs3mrr43rd], .log-target-name[b-zs3mrr43rd], .log-header-datetime[b-zs3mrr43rd], .log-header-user[b-zs3mrr43rd] {
    font-size: 0.88rem !important;
}

.log-target-name[b-zs3mrr43rd] {
    display: inline-block;
    max-width: 350px !important;
    vertical-align: middle;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.log-header-container .bi[b-zs3mrr43rd] {
    font-size: 0.88rem !important;
    transform: translateY(1.5px) !important;
}

.text-truncate-2lines[b-zs3mrr43rd] {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: normal;
}

.active-log-item[b-zs3mrr43rd] {
    background-color: #f0fdfa !important;
    border-left: 4px solid var(--legal-accent) !important;
}

.inline-label[b-zs3mrr43rd] {
    white-space: nowrap;
    margin-right: 8px !important;
    margin-bottom: 0 !important;
    margin-left: 0 !important;
    padding: 0 !important;
    line-height: 28px;
    font-size: 0.75rem;
    width: 70px !important;
    flex-shrink: 0 !important;
    text-align: right;
}

.compact-row-gap[b-zs3mrr43rd] {
    margin-bottom: 0.25rem !important;
}
/* /Components/Pages/Expenses/ExpenseList.razor.rz.scp.css */
.expense-container[b-in7m8dkfd2] {
    display: flex;
    flex-direction: column;
    /* スマホ・PC問わず、画面の高さに絶対に収める（縦横無尽スクロールのため） */
    height: 100% !important; flex-grow: 1 !important;
    overflow: hidden !important;
}

.expense-header-pane[b-in7m8dkfd2] {
    flex-shrink: 0; /* ヘッダーは絶対に潰れないようにする */
}

.expense-list-pane[b-in7m8dkfd2] {
    flex-grow: 1;
    display: flex;
    flex-direction: column;
    min-height: 0; /* これが内部スクロールの魔法の鍵です！ */
}

/* テーブル列幅の固定 */
.col-invoice[b-in7m8dkfd2] {
    min-width: 80px;
}

.col-expense-id[b-in7m8dkfd2] {
    min-width: 70px;
}

.col-type[b-in7m8dkfd2] {
    min-width: 100px;
}

.col-title1[b-in7m8dkfd2] {
    min-width: 120px;
}

.col-title2[b-in7m8dkfd2] {
    min-width: 120px;
}

.col-tax[b-in7m8dkfd2] {
    min-width: 60px;
}

.col-settlement[b-in7m8dkfd2] {
    min-width: 80px;
}

.col-date[b-in7m8dkfd2] {
    min-width: 100px;
}

.col-base[b-in7m8dkfd2] {
    min-width: 90px;
}

.col-rate[b-in7m8dkfd2] {
    min-width: 70px;
}

.col-fixed[b-in7m8dkfd2] {
    min-width: 90px;
}

.col-amount[b-in7m8dkfd2] {
    min-width: 100px;
}

.col-desc[b-in7m8dkfd2] {
    min-width: 150px;
}

/* 右端固定列（操作） */
.col-action[b-in7m8dkfd2] {
    min-width: 80px;
    position: sticky !important;
    right: 0 !important;
    background-color: #fff;
    z-index: 5;
    border-left: 2px solid rgba(0,0,0,0.05) !important; /* 固定列の境界をわかりやすく */
}
/* ヘッダー行における右固定列のz-index補正 */
thead th.col-action[b-in7m8dkfd2] {
    background-color: #f8f9fa;
    z-index: 15 !important;
}

/* テーブルのホバー時に固定列の背景色も合わせる */
.table-hover-custom tbody tr:hover td[b-in7m8dkfd2] {
    background-color: rgba(0, 194, 168, 0.03) !important;
}

    .table-hover-custom tbody tr:hover td.col-action[b-in7m8dkfd2] {
        background-color: #f4fbf9 !important; /* ホバー色に近い白 */
    }

.sort-icon[b-in7m8dkfd2] {
    font-size: 0.85em;
}

/* /Components/Pages/Home.razor.rz.scp.css */
.shadow-inner[b-qtznk67ycz] {
    box-shadow: inset 0 2px 4px rgba(0,0,0,0.1);
}

/* --- メニュータイル全体のスタイル --- */
.menu-card-refined[b-qtznk67ycz] {
    cursor: pointer;
    border-radius: 20px;
    border: 1px solid rgba(0,0,0,0.05);
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-height: 120px;
    transition: transform 0.4s ease-out, box-shadow 0.4s ease-out, border-color 0.4s ease-out;
}

    .menu-card-refined:hover[b-qtznk67ycz] {
        transform: translateY(-8px);
        box-shadow: 0 15px 30px rgba(0,0,0,0.1) !important;
        border-color: var(--legal-accent);
    }

.home-icon-box[b-qtznk67ycz] {
    width: 64px;
    height: 64px;
    border-radius: 18px;
    box-shadow: 0 6px 12px rgba(0,0,0,0.18);
    transition: transform 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

.menu-card-refined:hover .home-icon-box[b-qtznk67ycz] {
    transform: scale(1.1);
}

.home-icon-box i[b-qtznk67ycz] {
    filter: drop-shadow(0 2px 3px rgba(0,0,0,0.25));
}


.fence-menu-item[b-qtznk67ycz] {
    transition: transform 0.25s ease-out !important;
}

    .fence-menu-item:hover[b-qtznk67ycz] {
        transform: translateY(-5px);
    }

        .fence-menu-item:hover .home-icon-box[b-qtznk67ycz] {
            box-shadow: 0 8px 15px rgba(0, 0, 0, 0.15) !important;
            filter: brightness(1.05);
        }

        .fence-menu-item:hover h6[b-qtznk67ycz] {
            color: #000 !important;
        }

@media (max-width: 767.98px) {
    .menu-card-refined[b-qtznk67ycz] {
        min-height: 100px; 
        border-radius: 16px;
    }

    .home-icon-box[b-qtznk67ycz] {
        width: 48px;
        height: 48px;
        border-radius: 14px;
    }

    [b-qtznk67ycz] p.text-muted, [b-qtznk67ycz] .majestic-subtitle, [b-qtznk67ycz] .context-header-subtitle {
        display: none;
    }
}
/* /Components/Pages/Litigation/LitigationDashboard.razor.rz.scp.css */
.litigation-container[b-hpocdu8kss] {
    display: flex;
    flex-direction: column;
    height: auto !important; /* スマホは自然スクロール */
    min-height: 100% !important; flex-grow: 1 !important;
    overflow: visible !important;
}

.litigation-header-pane[b-hpocdu8kss] {
    flex-shrink: 0;
}

.litigation-main-pane[b-hpocdu8kss] {
    flex-grow: 1;
    display: flex;
    flex-direction: column;
    min-height: 400px;
}

@media (min-width: 992px) {
    .litigation-container[b-hpocdu8kss] {
        height: 100% !important; flex-grow: 1 !important; /* PCは画面にピタッと収める */
        overflow: hidden !important;
    }

    .litigation-main-pane[b-hpocdu8kss] {
        min-height: 0;
        overflow-y: auto; /* PCはメイン領域のみをスクロール */
        padding-right: 0.5rem;
    }
}

.text-litigation[b-hpocdu8kss] {
    color: #6f42c1 !important;
}

.card-litigation[b-hpocdu8kss] {
    border-left: 5px solid #6f42c1 !important;
}

/* 訴訟用のアウトラインボタン */
.btn-outline-litigation[b-hpocdu8kss] {
    border-color: #6f42c1;
    color: #6f42c1;
    background-color: transparent;
}

    .btn-outline-litigation:hover[b-hpocdu8kss] {
        background-color: #6f42c1;
        color: #ffffff;
    }

/* 訴訟用のメインボタン */
.btn-litigation[b-hpocdu8kss] {
    background-color: #6f42c1;
    border-color: #6f42c1;
    color: #ffffff;
}

    .btn-litigation:hover[b-hpocdu8kss] {
        background-color: #59359a;
        border-color: #59359a;
        color: #ffffff;
    }

/* 訴訟用のダークボタン（一括完了など） */
.btn-litigation-dark[b-hpocdu8kss] {
    background-color: #6b21a8;
    border: none;
    color: #ffffff;
}

    .btn-litigation-dark:hover[b-hpocdu8kss] {
        background-color: #581c87;
        color: #ffffff;
    }

/* バッジと背景色 */
.badge-litigation-dark[b-hpocdu8kss] {
    background-color: #6b21a8;
    color: #ffffff;
    font-size: 0.75rem;
    padding: 3px 8px;
    border-radius: 4px;
    font-weight: 700;
    display: inline-block;
}

.bg-litigation-light[b-hpocdu8kss] {
    background-color: #fcfaff !important;
    border-color: #e9d5ff !important;
}

/* モーダルのヘッダー */
.modal-header-litigation[b-hpocdu8kss] {
    background-color: #f3e8ff;
    border-bottom: 2px solid #6f42c1;
}

.modal-header-purple[b-hpocdu8kss] {
    background-color: #f8f5fc;
}

@media (min-width: 992px) {
    .border-start-lg[b-hpocdu8kss] {
        border-left: 1px solid rgba(0, 0, 0, 0.08) !important;
    }
}
/* /Components/Pages/Litigation/LitigationDetail.razor.rz.scp.css */
/* 訴訟テーマカラー（紫系） */
.text-litigation[b-q7ggm901gz] {
    color: #6f42c1 !important;
}

.bg-litigation[b-q7ggm901gz] {
    background-color: #6f42c1 !important;
    color: white;
}

.border-top-litigation[b-q7ggm901gz] {
    border-top: 4px solid #6f42c1 !important;
}

.border-litigation[b-q7ggm901gz] {
    border-color: #6f42c1 !important;
}

/* 訴訟用のメインボタン */
.btn-litigation[b-q7ggm901gz] {
    background-color: #6f42c1;
    border-color: #6f42c1;
    color: #ffffff;
}

    .btn-litigation:hover[b-q7ggm901gz], .btn-litigation:focus[b-q7ggm901gz] {
        background-color: #59359a;
        border-color: #59359a;
        color: #ffffff;
    }

/* 訴訟用のアウトラインボタン */
.btn-outline-litigation[b-q7ggm901gz] {
    color: #6f42c1;
    border-color: #6f42c1;
    background-color: transparent;
}

    .btn-outline-litigation:hover[b-q7ggm901gz], .btn-outline-litigation:focus[b-q7ggm901gz] {
        background-color: #6f42c1;
        color: #ffffff;
    }

/* クライアントロール（原告・被告等）のセレクトボックス専用 */
.select-client-role[b-q7ggm901gz] {
    font-size: 0.85rem;
    padding: 4px 24px 4px 12px;
    background-color: #f0f7ff;
    border-color: #cce5ff;
}

/* 案件リストのスクロールコンテナ */
.matter-list-container[b-q7ggm901gz] {
    max-height: 350px;
    overflow-y: auto;
}

/* --- ビューポート収容 & 2カラムレイアウト --- */
.detail-container[b-q7ggm901gz] {
    display: flex;
    flex-direction: column;
    height: auto !important;
    min-height: 100% !important;
    flex-grow: 1 !important;
    overflow: visible !important;
}

.detail-header-pane[b-q7ggm901gz] {
    flex-shrink: 0;
}

.detail-content-wrapper[b-q7ggm901gz] {
    display: flex;
    flex-direction: column;
    flex-grow: 1;
    gap: 0.75rem;
    min-height: 350px;
}

.detail-pane[b-q7ggm901gz] {
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

@media (min-width: 992px) {
    .detail-container[b-q7ggm901gz] {
        height: 100% !important;
        flex-grow: 1 !important;
        overflow: hidden !important;
    }

    .detail-content-wrapper[b-q7ggm901gz] {
        flex-direction: row;
        overflow: hidden !important;
    }

    .detail-pane[b-q7ggm901gz] {
        width: 50% !important;
        height: 100%;
        overflow-y: auto;
        overflow-x: hidden;
        padding-right: 0.25rem;
    }

    .border-start-lg[b-q7ggm901gz] {
        border-left: 1px solid rgba(0, 0, 0, 0.08) !important;
    }
}
/* /Components/Pages/Login.razor.rz.scp.css */

/* ----------------------------------
   業務支援システム Legal-is by ATHLETE (株式会社アスリート Legal-is レガリス)
   メインデザイン
   ---------------------------------- */
.login-logo-title[b-itp9y8diva] {
    font-family: "Playfair Display", "Merriweather", "Noto Serif JP", "Yu Mincho", serif;
    color: var(--legal-primary);
    font-size: 3.5rem;
    white-space: nowrap;
    font-weight: 800;
    line-height: 1.1;
    margin-bottom: 0.2rem;
    text-shadow: 0 2px 4px rgba(0, 69, 62, 0.1);
    letter-spacing: 0.05em;
}

.login-logo-subtitle[b-itp9y8diva] {
    color: #6c757d;
    font-size: 0.85rem;
    font-weight: 600;
    letter-spacing: 0.4em;
    text-transform: uppercase;
    margin-left: 0.4em;
}

/* ----------------------------------
   全体・カードの調整
   ---------------------------------- */
.login-card[b-itp9y8diva] {
    width: 100%;
    max-width: 460px;
    border-radius: 24px;
    box-shadow: 0 2rem 5rem rgba(0, 69, 62, 0.25) !important;
    padding: 4rem 3.5rem;
}

.login-input[b-itp9y8diva] {
    background-color: #f8fafc;
    border: 2px solid transparent !important;
    border-radius: 12px;
    padding: 0.8rem 1rem;
    transition: all 0.2s ease;
}

    .login-input:focus[b-itp9y8diva] {
        background-color: #fff;
        border-color: var(--legal-accent) !important; /* app.cssの変数を利用 */
        box-shadow: 0 0 0 4px rgba(0, 194, 168, 0.15);
    }

/* ----------------------------------
   ボタン・リンク
   ---------------------------------- */
.login-submit-btn[b-itp9y8diva] {
    background-color: var(--legal-accent) !important; /* app.cssの変数を利用 */
    border-radius: 50px;
    font-weight: 700;
    padding: 1rem;
    border: none;
    transition: all 0.2s ease;
    letter-spacing: 0.05em;
}

    .login-submit-btn:hover[b-itp9y8diva] {
        background-color: #009688 !important;
        opacity: 1 !important;
        transform: translateY(-2px);
        box-shadow: 0 6px 20px rgba(0, 194, 168, 0.3);
        color: #ffffff !important;
    }

    .login-submit-btn:active[b-itp9y8diva] {
        transform: scale(0.98);
        background-color: #00796b !important;
    }

    .login-submit-btn:disabled[b-itp9y8diva] {
        background-color: #a0dcd6;
        cursor: not-allowed;
        transform: none;
    }

.forgot-password-link[b-itp9y8diva] {
    font-size: 0.85rem;
    color: #64748b;
    text-decoration: none;
    transition: color 0.2s;
}

    .forgot-password-link:hover[b-itp9y8diva] {
        color: var(--legal-accent); /* app.cssの変数を利用 */
    }

/* アニメーション */
.animate-fade[b-itp9y8diva] {
    animation: fadeIn-b-itp9y8diva 0.5s ease-out;
}

@keyframes fadeIn-b-itp9y8diva {
    from {
        opacity: 0;
        transform: translateY(10px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}
/* /Components/Pages/Maintenance/BranchMasterList.razor.rz.scp.css */
/* /Components/Pages/Maintenance/CaseTypeEdit.razor.rz.scp.css */
/* セクション全体の幅調整 */
.setup-container-sm[b-hj1t3yljse] {
    max-width: 800px;
}
/* カラーピッカーの形状調整 */
.form-control-color-refined[b-hj1t3yljse] {
    width: 60px;
    height: 45px;
    cursor: pointer;
    padding: 0.2rem;
    border-radius: 8px !important;
}

.color-code-input[b-hj1t3yljse] {
    width: 120px;
}
/* /Components/Pages/Maintenance/CaseTypeList.razor.rz.scp.css */
/* /Components/Pages/Maintenance/DocumentTemplateEdit.razor.rz.scp.css */
/* ファイルドロップ */
.file-drop-zone[b-ohc3ekpt7k] {
    min-height: 120px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

    .file-drop-zone:hover[b-ohc3ekpt7k] {
        background-color: #f0f8ff !important;
        border-color: var(--legal-accent) !important;
    }

/* マッピングテーブルのスクロール領域 */
.mapping-table-container[b-ohc3ekpt7k] {
    max-height: 400px;
    overflow-y: auto;
}
/* /Components/Pages/Maintenance/DocumentTemplateList.razor.rz.scp.css */
/* /Components/Pages/Maintenance/ExpenseMaster.razor.rz.scp.css */
/* バッジの微調整 */
.small-badge[b-c6ur1x7feb] {
    font-weight: normal;
    letter-spacing: 0.05em;
}

/* モーダルの重なり順調整（多段モーダル対応） */
.modal-backdrop-custom[b-c6ur1x7feb] {
    z-index: 1055;
}

.modal-custom[b-c6ur1x7feb] {
    z-index: 1056;
}

.modal-backdrop-deep[b-c6ur1x7feb] {
    z-index: 1060;
}

.modal-deep[b-c6ur1x7feb] {
    z-index: 1061;
}
/* /Components/Pages/Maintenance/GeneralMaster.razor.rz.scp.css */
/* カテゴリリスト（左サイドバー）のスクロール領域 */
.category-list-container[b-vlpij2q5ke] {
    max-height: 70vh;
    overflow-y: auto;
}
/* サイドバーの境界線強調 */
.border-start-4[b-vlpij2q5ke] {
    border-left: 4px solid transparent;
}
/* サイドバー選択時 */
.active-log-item[b-vlpij2q5ke] {
    background-color: var(--legal-accent-light) !important;
    border-left-color: var(--legal-accent) !important;
}
/* /Components/Pages/Maintenance/HolidayMaster.razor.rz.scp.css */
/* 休業日一覧のスクロール領域 */
.holiday-list-container[b-tk0toiozba] {
    max-height: 60vh;
    overflow-y: auto;
}

/* 左側にアクセントカラーのボーダーを付ける */
.border-accent[b-tk0toiozba] {
    border-left: 4px solid var(--legal-accent) !important;
}
/* /Components/Pages/Maintenance/RoomMaster.razor.rz.scp.css */
/* カラープレビューボックスの基本形状 */
.preview-box[b-bgibsdc8iw] {
    font-size: 0.85rem;
    font-weight: 800;
    border-radius: 8px;
    padding: 0.3rem 0.8rem;
    text-align: center;
    transition: transform 0.2s;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

/* モーダル内プレビューの最小幅 */
.preview-box-large[b-bgibsdc8iw] {
    min-width: 200px;
}
/* /Components/Pages/Maintenance/ServceIntegrationSettings.razor.rz.scp.css */
/* /Components/Pages/Maintenance/SystemSettings.razor.rz.scp.css */
/* 設定画面全体の幅制限 */
.settings-container[b-dbrhhgkw9n] {
    max-width: 1200px;
    margin: 0 auto;
}

/* タスクカラー設定用のカラーピッカー調整 */
.color-picker-refined[b-dbrhhgkw9n] {
    width: 35px;
    height: 35px;
    cursor: pointer;
    border-radius: 8px !important;
    transition: transform 0.2s;
}

    .color-picker-refined:hover[b-dbrhhgkw9n] {
        transform: scale(1.1);
    }

/* コード表示部分の固定幅 */
.code-display-box[b-dbrhhgkw9n] {
    min-width: 48px;
    text-align: center;
    white-space: nowrap;
    flex-shrink: 0;
}

/* レスポンシブな余白調整 */
@media (min-width: 768px) {
    .mt-md-header[b-dbrhhgkw9n] {
        margin-top: 1.8rem !important;
    }
}

/* カラー選択モーダル用チップ */
.color-chip[b-dbrhhgkw9n] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: transform 0.15s ease, box-shadow 0.15s ease;
}
.color-chip:hover[b-dbrhhgkw9n] {
    transform: scale(1.15);
    box-shadow: 0 4px 8px rgba(0,0,0,0.15) !important;
}
.active-chip[b-dbrhhgkw9n] {
    outline: 3px solid #3b82f6 !important;
    outline-offset: 2px !important;
    transform: scale(1.1);
}
/* /Components/Pages/Maintenance/UserMaster.razor.rz.scp.css */
/* ユーザー一覧のカラー表示ボックス */
.user-color-box[b-jo52k4fafl] {
    width: 16px;
    height: 16px;
    border-radius: 4px;
    border: 1px solid rgba(0,0,0,0.1);
}
/* ユーザー編集モーダルのカラーピッカー */
.user-edit-color[b-jo52k4fafl] {
    width: 35px;
    height: 35px;
    cursor: pointer;
    border-radius: 8px !important;
}
/* 職種マスタテーブルのスクロール */
.job-master-table[b-jo52k4fafl] {
    max-height: 500px;
    overflow-y: auto;
}
/* 背景色と境界線 */
.bg-accent-soft[b-jo52k4fafl] {
    background-color: rgba(0, 194, 168, 0.1);
}

.border-accent-soft[b-jo52k4fafl] {
    border-color: rgba(0, 194, 168, 0.3) !important;
}
/* /Components/Pages/Matter/CustomerPropertyList.razor.rz.scp.css */
.properties-container[b-u7ccht54y3] {
    display: flex;
    flex-direction: column;
    height: auto !important; /* スマホは高さを固定しない（自然スクロール） */
    min-height: 100% !important; flex-grow: 1 !important;
    overflow: visible !important;
}

.properties-search-pane[b-u7ccht54y3] {
    flex-shrink: 0; /* 検索エリアは絶対に潰れないようにする */
}

.properties-list-pane[b-u7ccht54y3] {
    flex-grow: 1;
    display: flex;
    flex-direction: column;
    min-height: 400px; /* スマホ時にテーブルが潰れないように高さを確保 */
}

@media (min-width: 992px) {
    .properties-container[b-u7ccht54y3] {
        height: 100% !important; flex-grow: 1 !important; /* PCは画面内にピタッと収める */
        overflow: hidden !important;
    }

    .properties-list-pane[b-u7ccht54y3] {
        min-height: 0;
        overflow: hidden; /* PCはテーブル内部のみをスクロールさせる */
    }
}

/* 検索条件：案件選択の最小幅 */
.search-matter-select[b-u7ccht54y3] {
    min-width: 220px;
}

/* テーブル列幅の固定 */
.col-received-date[b-u7ccht54y3] {
    width: 120px;
}

.col-prop-status[b-u7ccht54y3] {
    width: 100px;
}

.col-related-matter[b-u7ccht54y3] {
    width: 150px;
}

.col-actions[b-u7ccht54y3] {
    width: 120px;
}

/* 備考欄の省略表示制限 */
.note-truncate[b-u7ccht54y3] {
    max-width: 400px;
}

/* 背景色と境界線 */
.bg-accent-subtle[b-u7ccht54y3] {
    background-color: rgba(0, 194, 168, 0.1);
}

.border-accent-soft[b-u7ccht54y3] {
    border-color: rgba(0, 194, 168, 0.25) !important;
}

/* 検索結果テーブルのホバー挙動 */
.table-hover-custom tbody tr[b-u7ccht54y3] {
    transition: all 0.2s ease;
}

    .table-hover-custom tbody tr:hover[b-u7ccht54y3] {
        background-color: rgba(0, 194, 168, 0.03) !important;
    }

/* ソートアイコンの微調整 */
.sort-icon[b-u7ccht54y3] {
    font-size: 0.85em;
}
/* /Components/Pages/Matter/DynamicCaseForm.razor.rz.scp.css */
/* 動的フォーム全体のカード */
.card-refined[b-5iw6og2s4w] {
    border: none;
    border-radius: 1rem; /* rounded-4 相当 */
    overflow: hidden; /* ここはカードの角丸のために残す */
}

/* タブのスクロールバーを美しく */
.custom-scrollbar[b-5iw6og2s4w]::-webkit-scrollbar {
    height: 4px;
}

.custom-scrollbar[b-5iw6og2s4w]::-webkit-scrollbar-thumb {
    background: #ccc;
    border-radius: 4px;
}

/* カスタムタブデザイン */
.nav-tabs-majestic[b-5iw6og2s4w] {
    border-bottom: none;
}

    .nav-tabs-majestic .nav-link[b-5iw6og2s4w] {
        border: none;
        color: #6c757d;
        padding: 0.75rem 1.5rem;
        position: relative;
        transition: all 0.2s ease-in-out;
    }

        .nav-tabs-majestic .nav-link:hover[b-5iw6og2s4w] {
            border-color: transparent;
            color: #0d6efd;
            background-color: rgba(13, 110, 253, 0.05);
        }

        .nav-tabs-majestic .nav-link.active[b-5iw6og2s4w] {
            color: #0d6efd !important;
            background-color: transparent;
            border-color: transparent;
        }
            /* アクティブタブの下線アニメーション */
            .nav-tabs-majestic .nav-link.active[b-5iw6og2s4w]::after {
                content: '';
                position: absolute;
                bottom: 0;
                left: 0;
                width: 100%;
                height: 3px;
                background-color: #0d6efd;
                border-radius: 3px 3px 0 0;
            }

/* ラベルの微調整 */
.label-small[b-5iw6og2s4w] {
    font-size: 0.85rem;
}

.extra-small[b-5iw6og2s4w] {
    font-size: 0.65rem;
    vertical-align: text-top;
}

/* 見出し（Header）の装飾 */
.form-section-header[b-5iw6og2s4w] {
    border-bottom-color: #e9ecef !important;
}

.text-accent[b-5iw6og2s4w] {
    color: #0d6efd; /* 青系のアクセント */
}

/* ▼▼▼ コンボボックス見切れ対策の最重要CSS ▼▼▼ */
.dynamic-form-control[b-5iw6og2s4w] {
    border-radius: 0.375rem;
    border-color: #dee2e6;
    transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}

    .dynamic-form-control:focus[b-5iw6og2s4w] {
        border-color: #86b7fe;
        box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
    }

/* select要素（コンボボックス）特有の調整 */
select.dynamic-form-control[b-5iw6og2s4w] {
    /* 選択肢が長い場合に、コンボボックスの幅を親（col）に合わせる（はみ出させない） */
    width: 100%;
    /* テキストが長すぎる場合、「...」で省略させる（ドロップダウンを開けば全文見えます） */
    text-overflow: ellipsis;
}

    /* EdgeやChromeで、ドロップダウン（選択肢のリスト）自体の幅をテキストに合わせるおまじない */
    select.dynamic-form-control option[b-5iw6og2s4w] {
        /* 長い選択肢を開いた時、リスト自体が親要素の幅を突き破ってでも全体を表示するようにする */
        min-width: max-content;
        /* 余白を少し持たせて読みやすくする */
        padding: 4px 8px;
    }
/* /Components/Pages/Matter/MatterDetail.razor.rz.scp.css */
.karte-container[b-msqguimo8a] {
    display: flex;
    flex-direction: column;
    height: auto !important; /* スマホは高さを固定しない（自然スクロール） */
    min-height: 100% !important; flex-grow: 1 !important;
    overflow: visible !important;
}

.karte-header-pane[b-msqguimo8a] {
    flex-shrink: 0; /* ヘッダーは絶対に潰れないようにする */
}

.karte-content-wrapper[b-msqguimo8a] {
    display: flex;
    flex-direction: column; /* スマホ時は縦積み（メインが上、サイドが下） */
    flex-grow: 1;
    gap: 1rem;
    min-height: 500px;
}

.karte-main-pane[b-msqguimo8a], .karte-side-pane[b-msqguimo8a] {
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

@media (min-width: 992px) {
    .karte-container[b-msqguimo8a] {
        height: 100% !important; flex-grow: 1 !important; /* PCは画面内にピタッと収める */
        overflow: hidden !important;
    }

    .karte-content-wrapper[b-msqguimo8a] {
        flex-direction: row; /* PCは左右に分割 */
        overflow: hidden !important;
    }

    .karte-main-pane[b-msqguimo8a] {
        width: 66.666% !important; /* 左側（col-lg-8相当） */
        height: 100%;
        overflow-y: auto; /* 左側カラムを独立してスクロール */
        overflow-x: hidden;
        padding-right: 0.5rem; /* スクロールバー用の余白 */
    }

    .karte-side-pane[b-msqguimo8a] {
        width: 33.333% !important; /* 右側（col-lg-4相当） */
        height: 100%;
        overflow-y: auto; /* 右側カラムを独立してスクロール */
        overflow-x: hidden;
        padding-right: 0.5rem; /* スクロールバー用の余白 */
    }
}

/* ヘッダー内の垂直区切り線 */
.vr-divider[b-msqguimo8a] {
    min-height: 35px;
    border-left: 1px solid rgba(0,0,0,0.1);
}

/* 訴訟セクションの専用カラー */
.border-top-litigation[b-msqguimo8a] {
    border-top: 4px solid #6f42c1 !important;
}

.text-litigation[b-msqguimo8a] {
    color: #6f42c1 !important;
}

/* 特記事項のピン留め背景 */
.note-pinned[b-msqguimo8a] {
    background-color: rgba(220, 53, 69, 0.05);
    border-left: 4px solid #dc3545 !important;
}

/* Zoomボタンの微調整 */
.btn-zoom[b-msqguimo8a] {
    font-size: 0.72rem;
    height: 22px;
    background-color: #2D8CFF;
    border: none;
}

/* 関係者一覧のアクションボタン & プレースホルダー（縦一列整列・塗りつぶしなし） */
.action-party-btn[b-msqguimo8a] {
    width: 32px;
    height: 32px;
    padding: 0 !important;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    border: none !important;
    background-color: transparent !important;
    border-radius: 6px;
    transition: background-color 0.15s ease-in-out, transform 0.1s ease;
    flex-shrink: 0;
}

.action-party-btn.text-litigation:hover[b-msqguimo8a] {
    background-color: rgba(111, 66, 193, 0.12) !important;
    color: #59359a !important;
}

.action-party-btn.text-success:hover[b-msqguimo8a] {
    background-color: rgba(25, 135, 84, 0.12) !important;
}

.action-party-btn.text-primary:hover:not(:disabled)[b-msqguimo8a] {
    background-color: rgba(13, 110, 253, 0.12) !important;
}

.action-party-btn:active:not(:disabled)[b-msqguimo8a] {
    transform: scale(0.92);
}

.action-party-btn-placeholder[b-msqguimo8a] {
    width: 32px;
    height: 32px;
    display: inline-block;
    flex-shrink: 0;
}

/* /Components/Pages/Matter/MatterEdit.razor.rz.scp.css */

/* 顧客アバターの円形アイコン */
.avatar-circle[b-l2t9vwh6m8] {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.5rem;
}
/* コンフリクトチェックの警告ボックス */
.conflict-check-zone[b-l2t9vwh6m8] {
    border-left: 4px solid #ffc107 !important;
}
/* 利益相反警告のアラート内リスト */
.conflict-list[b-l2t9vwh6m8] {
    margin-bottom: 0;
    padding-left: 1.2rem;
    font-size: 0.85rem;
}
/* セクション区切りの装飾（受付管理と統一） */
.border-bottom-accent[b-l2t9vwh6m8] {
    border-bottom: 2px solid rgba(0, 194, 168, 0.2);
}
/* 入力フォーム・コンボボックスのスリム化 (PC時の視認性向上) */
.form-control-sm[b-l2t9vwh6m8], .form-select-sm[b-l2t9vwh6m8] {
    height: 32px !important;
    min-height: 32px !important;
    line-height: 1.4 !important;
    font-size: 0.9rem !important;
}
/* /Components/Pages/Matter/MatterList.razor.rz.scp.css */
.matter-container[b-2k58j6918d] {
    display: flex;
    flex-direction: column;
    height: auto !important; /* スマホは高さを固定しない（自然スクロール） */
    min-height: 100% !important; flex-grow: 1 !important;
    overflow: visible !important;
}

.matter-search-pane[b-2k58j6918d] {
    flex-shrink: 0; /* 検索エリアは絶対に潰れないようにする */
}

.matter-list-pane[b-2k58j6918d] {
    flex-grow: 1;
    display: flex;
    flex-direction: column;
    min-height: 400px; /* スマホ時にテーブルが潰れないように高さを確保 */
}

@media (min-width: 992px) {
    .matter-container[b-2k58j6918d] {
        height: 100% !important; flex-grow: 1 !important; /* PCは画面内にピタッと収める */
        overflow: hidden !important;
    }

    .matter-list-pane[b-2k58j6918d] {
        min-height: 0;
        overflow: hidden; /* PCはテーブル内部のみをスクロールさせる */
    }
}

/* テーブルのカラム幅固定 */
.col-case-type[b-2k58j6918d] {
    width: 95px;
}

.col-customer-cd[b-2k58j6918d] {
    width: 90px;
}

.col-matter-cd[b-2k58j6918d] {
    width: 90px;
}

.col-name[b-2k58j6918d] {
    min-width: 150px;
}

.col-title[b-2k58j6918d] {
    min-width: 200px;
}

.col-status[b-2k58j6918d] {
    width: 110px;
}

.col-staff[b-2k58j6918d] {
    width: 100px;
}

.col-lawyer[b-2k58j6918d] {
    width: 100px;
}

.col-phone[b-2k58j6918d] {
    width: 120px;
}

.col-address[b-2k58j6918d] {
    width: 150px;
}

.col-action[b-2k58j6918d] {
    width: 90px;
}

.badge-case-type[b-2k58j6918d] {
    display: inline-block;
    max-width: 85px;
    text-align: center;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    vertical-align: middle;
}

/* テーブルのホバー装飾 */
.table-hover-custom tbody tr[b-2k58j6918d] {
    transition: all 0.2s ease;
}

    .table-hover-custom tbody tr:hover[b-2k58j6918d] {
        background-color: rgba(0, 194, 168, 0.03) !important;
        box-shadow: inset 2px 0 0 var(--legal-accent);
    }

/* ステータスバッジのベース */
.status-badge[b-2k58j6918d] {
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    padding: 0.4em 0.8em;
}

/* データなしのハイフン表示用 */
.text-null[b-2k58j6918d] {
    color: #cbd5e1;
    font-family: var(--font-family-soft);
}

/* /Components/Pages/Matter/Parts/BalanceSheet.razor.rz.scp.css */
/* 入力フォーム・ボタンのスリム化 */
.balance-control-sm[b-97rwxhbsck] {
    height: 32px !important;
    min-height: 32px !important;
    line-height: 1.4 !important;
    font-size: 0.85rem !important;
}

/* 月切り替えインプットの微調整 */
.balance-month-input[b-97rwxhbsck] {
    max-width: 130px;
    text-align: center;
    font-weight: 700;
}

/* 収/支 切り替えボタン */
.btn-balance-toggle[b-97rwxhbsck] {
    font-size: 0.7rem;
    width: 75px;
    padding: 0.2rem 0.5rem;
}

/* テーブルホバー時の色 */
.table-hover-custom tbody tr:hover td[b-97rwxhbsck] {
    background-color: rgba(0, 194, 168, 0.03) !important;
}

/* フッターの金額表示 */
.balance-total-text[b-97rwxhbsck] {
    font-size: 1.1rem;
}

.balance-grand-total-text[b-97rwxhbsck] {
    font-size: 1.25rem;
}
/* /Components/Pages/Matter/Parts/DeadLineMonitor.razor.rz.scp.css */
.deadline-item[b-1da5ar5nw0] {
    transition: background-color 0.2s ease, border-left-color 0.2s ease;
    border-left: 4px solid transparent;
}

.deadline-item:hover[b-1da5ar5nw0] {
    background-color: #f8f9fa !important;
}

/* 期限切れ・間近の左ボーダー強調 */
.deadline-expired[b-1da5ar5nw0] {
    border-left-color: #343a40 !important;
}

.deadline-danger[b-1da5ar5nw0] {
    border-left-color: #dc3545 !important;
}

.deadline-warning[b-1da5ar5nw0] {
    border-left-color: #ffc107 !important;
}

.deadline-info[b-1da5ar5nw0] {
    border-left-color: #0dcaf0 !important;
}

/* 入力フォーム・ボタンのスリム化 */
.deadline-control-sm[b-1da5ar5nw0] {
    height: 32px !important;
    min-height: 32px !important;
    line-height: 1.4 !important;
    font-size: 0.9rem !important;
}

/* 入力欄（タイトルと日付）の独自装飾 */
.deadline-input-title[b-1da5ar5nw0] {
    border-bottom: 1px dashed transparent;
    transition: border-color 0.2s ease;
}

    .deadline-input-title:focus[b-1da5ar5nw0] {
        border-bottom-color: var(--legal-primary);
        background-color: #fff !important;
    }

.deadline-input-date[b-1da5ar5nw0] {
    max-width: 140px;
    cursor: pointer;
}

/* アイコンの微調整 */
.icon-trash[b-1da5ar5nw0] {
    opacity: 0.6;
    transition: opacity 0.2s ease;
}

    .icon-trash:hover[b-1da5ar5nw0] {
        opacity: 1;
    }
/* /Components/Pages/Matter/Parts/DebtManager.razor.rz.scp.css */
.debt-manager-container[b-o80x86u759] {
    display: flex;
    flex-direction: column;
    height: 100%;
    position: relative;
}

/* サマリーカードの装飾 */
.border-start-danger-thick[b-o80x86u759] {
    border-left: 5px solid #ef4444 !important;
}

.border-start-warning-thick[b-o80x86u759] {
    border-left: 5px solid #f59e0b !important;
}

.border-start-primary-thick[b-o80x86u759] {
    border-left: 5px solid #3b82f6 !important;
}

/* 詳細モーダルのセクションヘッダー */
.section-title[b-o80x86u759] {
    font-size: 0.9rem;
    font-weight: 700;
    color: var(--legal-primary);
    border-bottom: 2px solid var(--legal-primary);
    padding-bottom: 0.4rem;
    margin-bottom: 1rem;
    margin-top: 1.5rem;
}

    .section-title:first-child[b-o80x86u759] {
        margin-top: 0;
    }

/* モーダル内 入力スリム化 */
.form-control-sm[b-o80x86u759], .form-select-sm[b-o80x86u759] {
    height: 32px !important;
    min-height: 32px !important;
    line-height: 1.4 !important;
    font-size: 0.9rem !important;
}

/* テーブルホバー時の色 */
.table-hover-custom tbody tr:hover td[b-o80x86u759] {
    background-color: rgba(0, 194, 168, 0.03) !important;
}
/* /Components/Pages/Matter/Parts/ItemGrid.razor.rz.scp.css */
.table-hover-custom tbody tr:hover td[b-whf5hhedws] {
    background-color: rgba(0, 194, 168, 0.03) !important;
}

/* 入力フォーム・ボタンのスリム化 */
.grid-control-sm[b-whf5hhedws] {
    height: 32px !important;
    min-height: 32px !important;
    line-height: 1.4 !important;
    font-size: 0.9rem !important;
}

/* セル内の入力欄専用デザイン */
.grid-input-cell[b-whf5hhedws] {
    border: 1px dashed transparent;
    transition: all 0.2s ease;
    background-color: transparent;
}

    .grid-input-cell:focus[b-whf5hhedws] {
        border-color: var(--legal-primary);
        background-color: #fff !important;
        box-shadow: inset 0 1px 3px rgba(0,0,0,0.05);
    }

/* アイコンの微調整 */
.icon-trash[b-whf5hhedws] {
    opacity: 0.6;
    transition: opacity 0.2s ease;
}

    .icon-trash:hover[b-whf5hhedws] {
        opacity: 1;
    }
/* /Components/Pages/Matter/Parts/MatterLitigationSection.razor.rz.scp.css */
.border-top-litigation[b-g342bm547g] {
    border-top: 4px solid #6f42c1 !important;
}

.text-litigation[b-g342bm547g] {
    color: #6f42c1 !important;
}

.modal-header-purple[b-g342bm547g] {
    background-color: #f8f5fc;
}
/* /Components/Pages/Matter/Parts/Option/DebtBulkEdit.razor.rz.scp.css */
.bulk-edit-fullscreen[b-dy9wsjhint] {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    z-index: 9999;
    overflow: hidden;
    background-color: #f1f5f9;
    display: flex;
    flex-direction: column;
}

.bulk-edit-header[b-dy9wsjhint] {
    flex-shrink: 0;
}

.bulk-edit-main[b-dy9wsjhint] {
    flex-grow: 1;
    display: flex;
    flex-direction: column;
    min-height: 0; /* 内部スクロールの魔法の鍵 */
    background-color: #ffffff;
    margin: 0.5rem;
    border-radius: 1rem;
    box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);
    border: 1px solid #dee2e6;
    overflow: hidden;
}

@media (min-width: 768px) {
    .bulk-edit-main[b-dy9wsjhint] {
        margin: 1rem; /* PC/タブレット時は少し余白を広く */
    }
}

.spreadsheet-table[b-dy9wsjhint] {
    border-collapse: separate;
    border-spacing: 0;
    table-layout: fixed;
    width: max-content;
    min-width: 100%;
}

    .spreadsheet-table th[b-dy9wsjhint], .spreadsheet-table td[b-dy9wsjhint] {
        padding: 0;
        border: 1px solid #e2e8f0;
        border-top: none;
        border-left: none;
        white-space: nowrap;
        vertical-align: middle;
    }

    .spreadsheet-table th[b-dy9wsjhint] {
        background-color: #f8fafc;
        position: sticky;
        top: 0;
        z-index: 10;
        padding: 0.5rem;
        border-bottom: 2px solid #cbd5e1;
    }

/* PC/タブレット時のみ左の2列を固定 */
@media (min-width: 992px) {
    .fixed-col-1[b-dy9wsjhint] {
        position: sticky !important;
        left: 0;
        background-color: #ffffff;
        z-index: 5;
    }

    .spreadsheet-table th.fixed-col-1[b-dy9wsjhint] {
        z-index: 20;
        background-color: #f8fafc;
    }

    .fixed-col-2[b-dy9wsjhint] {
        position: sticky !important;
        left: 50px;
        background-color: #ffffff;
        z-index: 5;
        box-shadow: 2px 0 5px -2px rgba(0,0,0,0.1);
    }

    .spreadsheet-table th.fixed-col-2[b-dy9wsjhint] {
        z-index: 20;
        background-color: #f8fafc;
    }

    .opacity-50.bg-light .fixed-col-1[b-dy9wsjhint], .opacity-50.bg-light .fixed-col-2[b-dy9wsjhint] {
        background-color: #f8f9fa !important;
    }
}

/* セル内の入力コントロール */
.grid-input[b-dy9wsjhint] {
    border: none;
    width: 100%;
    height: 100%;
    min-height: 38px;
    padding: 4px 8px;
    font-size: 0.85rem;
    background-color: transparent;
}

    .grid-input:focus[b-dy9wsjhint] {
        background-color: #ffffff;
        outline: 2px solid var(--legal-primary);
        outline-offset: -2px;
        z-index: 5;
        position: relative;
    }

    .grid-input:disabled[b-dy9wsjhint] {
        background-color: #f8f9fa;
        color: #6c757d;
    }

.grid-select[b-dy9wsjhint] {
    border: none;
    background-color: transparent;
    font-size: 0.85rem;
    padding: 4px 8px;
    width: 100%;
    height: 100%;
    min-height: 38px;
    cursor: pointer;
}

    .grid-select:focus[b-dy9wsjhint] {
        background-color: #ffffff;
        outline: 2px solid var(--legal-primary);
        outline-offset: -2px;
    }
/* /Components/Pages/Matter/Parts/RelationGraph.razor.rz.scp.css */
/* 入力フォーム・ボタンのスリム化 */
.relation-control-sm[b-6lv7a40qeb] {
    height: 32px !important;
    min-height: 32px !important;
    line-height: 1.4 !important;
    font-size: 0.85rem !important;
}

/* 関係性入力欄（下線のみ）の装飾 */
.relation-input[b-6lv7a40qeb] {
    border: none !important;
    border-bottom: 2px solid var(--legal-primary) !important;
    border-radius: 0 !important;
    background-color: transparent !important;
    transition: border-color 0.2s ease;
}

    .relation-input:focus[b-6lv7a40qeb] {
        border-bottom-color: #2563eb !important; /* フォーカス時は少し明るい青に */
        box-shadow: none !important;
    }

/* 削除アイコン */
.icon-trash[b-6lv7a40qeb] {
    opacity: 0.6;
    transition: opacity 0.2s ease;
}

    .icon-trash:hover[b-6lv7a40qeb] {
        opacity: 1;
    }

/* カード内の区切り線 */
.border-dashed[b-6lv7a40qeb] {
    border-style: dashed !important;
}
/* /Components/Pages/Matter/ReceptionEdit.razor.rz.scp.css */
/* 顧客アバターの円形アイコン */
.avatar-circle[b-bbo8gwg1b3] {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.5rem;
    box-shadow: 0 2px 5px rgba(0,0,0,0.1);
}
/* 名前入力エリアの背景装飾 */
.name-input-zone[b-bbo8gwg1b3] {
    background-color: #fcfcfc;
    border: 1px solid #edf2f7;
}
/* ラジオボタン（区分選択）の高さ調整 */
.radio-group-container[b-bbo8gwg1b3] {
    height: 34px;
}
/* サブ連絡先の削除ボタン */
.subcontact-close-btn[b-bbo8gwg1b3] {
    font-size: 0.65rem;
    padding: 0.25rem;
}
/* セクション区切りの装飾 */
.section-border[b-bbo8gwg1b3] {
    border-bottom: 2px solid rgba(0, 194, 168, 0.2); /* var(--legal-accent-light) の代用 */
}
/* 入力フォーム・コンボボックスのスリム化 (PC時の視認性向上) */
.form-control-sm[b-bbo8gwg1b3], .form-select-sm[b-bbo8gwg1b3] {
    height: 32px !important;
    min-height: 32px !important;
    line-height: 1.4 !important;
    font-size: 0.9rem !important;
}
/* /Components/Pages/Matter/ReceptionList.razor.rz.scp.css */
.reception-container[b-eu4aho9wz8] {
    display: flex;
    flex-direction: column;
    height: auto !important; /* スマホは高さを固定しない（自然スクロール） */
    min-height: 100% !important; flex-grow: 1 !important;
    overflow: visible !important;
}

.reception-search-pane[b-eu4aho9wz8] {
    flex-shrink: 0; /* 検索エリアは絶対に潰れないようにする */
}

.reception-list-pane[b-eu4aho9wz8] {
    flex-grow: 1;
    display: flex;
    flex-direction: column;
    min-height: 400px; /* スマホ時にテーブルが潰れないように高さを確保 */
}

@media (min-width: 992px) {
    .reception-container[b-eu4aho9wz8] {
        height: 100% !important; flex-grow: 1 !important; /* PCは画面内にピタッと収める */
        overflow: hidden !important;
    }

    .reception-list-pane[b-eu4aho9wz8] {
        min-height: 0;
        overflow: hidden; /* PCはテーブル内部のみをスクロールさせる */
    }
}

/* テーブル列幅の固定 */
.col-customer-cd[b-eu4aho9wz8] {
    width: 120px;
}

.col-phone[b-eu4aho9wz8] {
    width: 140px;
}

.col-address[b-eu4aho9wz8] {
    max-width: 200px;
}

.col-matters[b-eu4aho9wz8] {
    min-width: 220px;
}

.col-actions[b-eu4aho9wz8] {
    width: 120px;
}

/* 関与案件のソフトなバッジ（チップ） */
.badge-pill-soft[b-eu4aho9wz8] {
    background-color: rgba(13, 110, 253, 0.08); /* bg-primary 相当の薄い色 */
    color: var(--legal-primary);
    border: 1px solid rgba(13, 110, 253, 0.15);
    border-radius: 50rem;
    font-size: 0.75rem;
    padding: 0.25rem 0.75rem;
    max-width: 140px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    transition: all 0.2s;
}

    .badge-pill-soft:hover[b-eu4aho9wz8] {
        background-color: var(--legal-primary);
        color: white;
    }

/* 「他○件」のバッジ */
.badge-more[b-eu4aho9wz8] {
    font-size: 0.7rem;
    padding: 0.35rem 0.6rem;
    cursor: help;
}

/* 検索結果テーブルのホバー挙動 */
.table-hover-custom tbody tr[b-eu4aho9wz8] {
    transition: all 0.2s ease;
}

    .table-hover-custom tbody tr:hover[b-eu4aho9wz8] {
        background-color: rgba(0, 194, 168, 0.03) !important;
    }

/* ソートアイコン */
.sort-icon[b-eu4aho9wz8] {
    font-size: 0.85em;
}
/* /Components/Pages/MessageList.razor.rz.scp.css */

.message-container[b-8jbgepel70] {
    display: flex;
    flex-direction: column;
    height: auto !important; /* スマホは高さを固定しない */
    min-height: 100% !important; flex-grow: 1 !important;
    overflow: visible !important;
}

.message-wrapper[b-8jbgepel70] {
    display: flex;
    flex-direction: column;
    flex-grow: 1;
    overflow: visible !important;
    gap: 1rem; /* スマホ時の上下の隙間 */
}

.message-list-pane[b-8jbgepel70] {
    width: 100%;
    flex-shrink: 0;
    max-height: 400px; /* スマホ時はリストの高さを制限してスクロール可能に */
    display: flex;
    flex-direction: column;
}

.message-detail-pane[b-8jbgepel70] {
    width: 100%;
    flex-grow: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    min-height: 500px; /* スマホ時に入力フォームが潰れないように確保 */
}

@media (min-width: 768px) {
    .message-container[b-8jbgepel70] {
        height: 100% !important; flex-grow: 1 !important; /* PCは画面内にピタッと収める */
        overflow: hidden !important;
    }

    .message-wrapper[b-8jbgepel70] {
        flex-direction: row; /* PCは左右に分割 */
        overflow: hidden !important;
        gap: 1rem;
    }

    .message-list-pane[b-8jbgepel70] {
        width: 380px !important; 
        max-height: none !important;
        height: 100%;
    }

    .message-detail-pane[b-8jbgepel70] {
        width: calc(100% - 380px - 1rem) !important;
        height: 100%;
        min-height: 0;
        overflow: hidden;
    }
}

/* ========================================================
       装飾コンポーネントCSS
       ======================================================== */
/* タブのガタつき防止 */
.message-tab-nav .nav-link[b-8jbgepel70] {
    height: 42px;
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
    transition: all 0.2s ease;
}

.message-tab-nav .badge[b-8jbgepel70] {
    padding: 0.35em 0.6em;
    font-size: 0.75rem;
    margin-bottom: -1px;
}
/* リスト表示の装飾 */
.unread-msg-bg[b-8jbgepel70] {
    background-color: #fefce8 !important;
    border-left: 4px solid #ef4444 !important;
}

.unread-dot[b-8jbgepel70] {
    width: 10px;
    height: 10px;
    background-color: #ef4444;
    border-radius: 50%;
    display: inline-block;
    flex-shrink: 0;
}

.fw-black[b-8jbgepel70] {
    font-weight: 900 !important;
}

.animate-pulse[b-8jbgepel70] {
    animation: pulse-b-8jbgepel70 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
}

@keyframes pulse-b-8jbgepel70 {
    0%, 100% {
        opacity: 1;
    }

    50% {
        opacity: .7;
    }
}

.hover-underline:hover[b-8jbgepel70] {
    text-decoration: underline !important;
}
/* ユーザー選択バッジのホバーエフェクト */
.hover-opacity-100[b-8jbgepel70] {
    transition: opacity 0.2s ease;
}

    .hover-opacity-100:hover[b-8jbgepel70] {
        opacity: 1 !important;
    }

.active-log-item[b-8jbgepel70] {
    background-color: rgba(0, 194, 168, 0.1) !important;
    border-left: 4px solid var(--legal-accent) !important;
}
/* /Components/Pages/PersonalSettings.razor.rz.scp.css */
/* フォーム共通 */
.label-small[b-mnanqkb8f5] {
    font-size: 0.8rem;
    font-weight: 700;
}

.extra-small[b-mnanqkb8f5] {
    font-size: 0.72rem;
}

/* メモ入力カード（点線ボーダー） */
.memo-input-card[b-mnanqkb8f5] {
    border-radius: 1.25rem;
    border-width: 2px;
    border-style: dashed;
}

/* メモカード（付箋風） */
.memo-card[b-mnanqkb8f5] {
    border-left: 8px solid rgba(0,0,0,0.08) !important;
    transition: all 0.2s ease;
}

    .memo-card:hover[b-mnanqkb8f5] {
        transform: translateY(-3px) rotate(0.5deg);
        box-shadow: 0 10px 20px rgba(0,0,0,0.1) !important;
    }

/* カラーピッカー（丸い点） */
.color-dot-wrapper[b-mnanqkb8f5] {
    cursor: pointer;
}

.color-dot[b-mnanqkb8f5] {
    width: 35px;
    height: 35px;
    border-radius: 50%;
    border: 2px solid rgba(0,0,0,0.1);
    display: flex;
    align-items: center;
    justify-content: center;
    transition: 0.2s;
}

    .color-dot.active[b-mnanqkb8f5] {
        border-color: var(--legal-primary);
        box-shadow: 0 0 10px rgba(59, 130, 246, 0.5);
        transform: scale(1.1);
    }

/* システム設定のトグルスイッチ */
.switch-lg[b-mnanqkb8f5] {
    transform: scale(1.3);
    margin: 0;
}

.switch-label-adjusted[b-mnanqkb8f5] {
    padding-top: 1px;
}

/* 階層構造のインデント */
.nested-setting[b-mnanqkb8f5] {
    margin-left: 3rem;
    transition: opacity 0.3s ease;
}

/* 汎用アニメーション */
.transition-color[b-mnanqkb8f5] {
    transition: background-color 0.3s ease, border-color 0.3s ease;
}

.transition-all[b-mnanqkb8f5] {
    transition: all 0.2s ease;
}
/* /Components/Pages/Reports/DocumentOutputModal.razor.rz.scp.css */
/* フォルダ選択のラジオボタン風UI */
.folder-option[b-hl26dgfrie] {
    display: flex;
    align-items: center;
    padding: 8px 12px;
    border-radius: 6px;
    cursor: pointer;
    border: 1px solid transparent;
    transition: all 0.2s;
    font-size: 0.9rem;
}

    .folder-option:hover[b-hl26dgfrie] {
        background-color: #e9ecef;
    }

    .folder-option.selected[b-hl26dgfrie] {
        background-color: #fff;
        border-color: var(--legal-primary);
        color: var(--legal-primary);
        font-weight: bold;
        box-shadow: 0 2px 4px rgba(0,0,0,0.05);
    }
/* /Components/Pages/Reports/ReportsList.razor.rz.scp.css */
/* ========================================================
       1. スマホ
       ======================================================== */
.report-container[b-7svrc7gawx] {
    display: flex;
    flex-direction: column;
    height: auto !important; /* スマホは高さを固定しない */
    min-height: 100% !important; flex-grow: 1 !important;
    overflow: visible !important; /* 画面外へのスクロールを許可 */
}

.majestic-wrapper[b-7svrc7gawx] {
    display: flex;
    flex-direction: column;
    flex-grow: 1;
    overflow: visible !important;
}

.majestic-sidebar[b-7svrc7gawx] {
    width: 100%;
    flex-shrink: 0;
    max-height: 200px; 
    overflow-y: auto;
}

.majestic-main[b-7svrc7gawx] {
    width: 100%;
    flex-grow: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    min-height: 500px; 
}

/* ========================================================
       2. PC
       ======================================================== */
@media (min-width: 768px) {
    .report-container[b-7svrc7gawx] {
        height: 100% !important; flex-grow: 1 !important;
        overflow: hidden !important;
    }

    .majestic-wrapper[b-7svrc7gawx] {
        flex-direction: row;
        overflow: hidden !important;
    }

    .majestic-sidebar[b-7svrc7gawx] {
        width: 250px !important;
        max-height: none;
        height: 100%;
    }

    .majestic-main[b-7svrc7gawx] {
        width: calc(100% - 250px) !important;
        height: 100%;
        min-height: 0;
        overflow: hidden;
    }
}
/* /Components/Pages/Rooms/RoomCreate.razor.rz.scp.css */
.create-container[b-y3z1xdnkzb] {
    max-width: 850px;
    margin: 0 auto;
}
/* /Components/Pages/Rooms/RoomEdit.razor.rz.scp.css */
.edit-container[b-qm0vgeci15] {
    max-width: 850px;
    margin: 0 auto;
}
/* /Components/Pages/Rooms/RoomList.razor.rz.scp.css */
.room-container[b-ono7op52c9] {
    display: flex;
    flex-direction: column;
    height: auto !important;
    min-height: 100% !important; flex-grow: 1 !important;
    overflow: visible !important;
}

.room-wrapper[b-ono7op52c9] {
    display: flex;
    flex-direction: column;
    flex-grow: 1;
    overflow: visible !important;
    gap: 1rem;
}

.room-calendar-pane[b-ono7op52c9] {
    width: 100%;
    min-width: 0;
    display: flex;
    flex-direction: column;
    height: 65vh; /* スマホ時の内部スクロール用 */
    min-height: 450px;
    max-height: 700px;
}

.room-task-pane[b-ono7op52c9] {
    width: 100%;
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
    min-height: 400px;
}

@media (min-width: 992px) {
    .room-container[b-ono7op52c9] {
        height: 100% !important; flex-grow: 1 !important;
        overflow: hidden !important;
    }

    .room-wrapper[b-ono7op52c9] {
        flex-direction: row;
        overflow: hidden !important;
        gap: 1rem;
    }

    .room-calendar-pane[b-ono7op52c9] {
        width: calc(100% - 320px) !important;
        height: 100% !important; /* PCでは100%に解除！ */
        min-height: 0 !important;
        max-height: none !important;
        overflow: hidden;
    }

    .room-task-pane[b-ono7op52c9] {
        width: 320px !important;
        height: 100%;
        min-height: 0;
        max-height: none !important;
        overflow: hidden;
    }
}

.branch-selector[b-ono7op52c9] {
    min-width: 200px;
}

.room-header[b-ono7op52c9], .time-axis-header[b-ono7op52c9], .user-header[b-ono7op52c9], .task-header[b-ono7op52c9] {
    height: 60px !important; /* 50pxから60pxに変更して隙間をゼロに！ */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.calendar-header-row[b-ono7op52c9] {
    box-shadow: 0 4px 10px rgba(0,0,0,0.05);
    min-width: max-content;
}

.calendar-body-row[b-ono7op52c9] {
    min-width: max-content;
}

.day-view-scroll[b-ono7op52c9] {
    height: 100%;
    background: #fff;
}

.bg-today[b-ono7op52c9] {
    background-color: #f0fdfa !important;
}
/* 時刻ラベルの表示位置を枠内に収める */
.time-label[b-ono7op52c9] {
    left: 0 !important;
    width: 100% !important;
    padding-right: 12px;
    text-align: right !important;
    top: -10px;
    color: #94a3b8;
    font-size: 0.75rem;
    font-weight: 600;
    position: absolute;
}

.room-column[b-ono7op52c9], .time-axis[b-ono7op52c9] {
    position: relative;
    border-right: 1px solid #e2e8f0;
    background-image: none !important;
}

    .time-axis .time-slot[b-ono7op52c9] {
        border: none !important;
    }

.hour-slot:hover[b-ono7op52c9] {
    background-color: rgba(13, 110, 253, 0.05);
}

.sidebar-task-tooltip[b-ono7op52c9] {
    right: 0 !important;
    left: auto !important;
    transform: none !important;
}


/* /Components/Pages/Tasks/Schedule.razor.rz.scp.css */
.schedule-container[b-erjkwgpyjt] {
    display: flex;
    flex-direction: column;
    height: auto !important;
    min-height: 100% !important; flex-grow: 1 !important;
    overflow: visible !important;
}

.schedule-wrapper[b-erjkwgpyjt] {
    display: flex;
    flex-direction: column;
    flex-grow: 1;
    overflow: visible !important;
    gap: 1rem;
}

.schedule-calendar-pane[b-erjkwgpyjt] {
    width: 100%;
    min-width: 0;
    display: flex;
    flex-direction: column;
    height: 65vh;
    min-height: 450px;
    max-height: 700px;
}

.schedule-task-pane[b-erjkwgpyjt] {
    width: 100%;
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
    min-height: 400px;
}

@media (min-width: 992px) {
    .schedule-container[b-erjkwgpyjt] {
        height: 100% !important; flex-grow: 1 !important;
        overflow: hidden !important;
    }

    .schedule-wrapper[b-erjkwgpyjt] {
        flex-direction: row;
        overflow: hidden !important;
        gap: 1rem;
    }

    .schedule-calendar-pane[b-erjkwgpyjt] {
        width: calc(100% - 320px) !important;
        height: 100% !important; /* PCでは100%に解除！ */
        min-height: 0 !important;
        max-height: none !important;
        overflow: hidden;
    }

    .schedule-task-pane[b-erjkwgpyjt] {
        width: 320px !important;
        height: 100%;
        min-height: 0;
        max-height: none !important;
        overflow: hidden;
    }
}

.time-axis-header[b-erjkwgpyjt], .user-header[b-erjkwgpyjt] {
    height: 60px !important; /* 50pxから60pxに変更して隙間をゼロに！ */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.calendar-header-row[b-erjkwgpyjt] {
    box-shadow: 0 4px 10px rgba(0,0,0,0.05);
    min-width: max-content;
}

.calendar-body-row[b-erjkwgpyjt] {
    min-width: max-content;
}

/* 時刻ラベル・罫線の調整 */
.time-label[b-erjkwgpyjt] {
    left: 0 !important;
    width: 100% !important;
    padding-right: 12px;
    text-align: right !important;
    top: -10px;
    color: #94a3b8;
    font-size: 0.75rem;
    font-weight: 600;
    position: absolute;
}

.time-axis .time-slot[b-erjkwgpyjt] {
    border: none !important;
}

.hour-slot:hover[b-erjkwgpyjt] {
    background-color: rgba(13, 110, 253, 0.05);
}

.user-column[b-erjkwgpyjt] {
    border-right: 1px solid #e2e8f0;
    background-color: #fafafa;
}

    .user-column:nth-child(even)[b-erjkwgpyjt] {
        background-color: #ffffff;
    }

.sidebar-task-tooltip[b-erjkwgpyjt] {
    right: 0 !important;
    left: auto !important;
    transform: none !important;
}


/* /Components/Pages/Tasks/TaskEdit.razor.rz.scp.css */
.edit-container[b-prsypv9v0l] {
    max-width: 850px;
    margin: 0 auto;
}

/* カラーピッカーの丸い点 */
.color-circle[b-prsypv9v0l] {
    width: 24px;
    height: 24px;
    border-radius: 50%;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 2px solid transparent;
    transition: all 0.2s ease;
}

    .color-circle:hover[b-prsypv9v0l] {
        transform: scale(1.1);
    }

    .color-circle.active[b-prsypv9v0l] {
        border-color: #3b82f6;
        transform: scale(1.15);
        box-shadow: 0 0 5px rgba(59, 130, 246, 0.5);
    }

    .color-circle.disabled-color[b-prsypv9v0l] {
        cursor: not-allowed;
        opacity: 0.5;
    }

/* ステータス行の装飾 */
.status-row-slim[b-prsypv9v0l] {
    transition: background-color 0.3s ease, border-color 0.3s ease;
}

/* 入力フォームのスリム化 */
.form-control-sm[b-prsypv9v0l], .form-select-sm[b-prsypv9v0l] {
    height: 32px !important;
    min-height: 32px !important;
    line-height: 1.4 !important;
    font-size: 0.9rem !important;
}
