/* /Components/Common/AddressPrintModal.razor.rz.scp.css */
/* モーダル内プレビュー用スタイル */
.bg-gray-100[b-fbod073rsn] { background-color: #f1f5f9; }

/* 封筒プレビュー (角3・長3など) */
.envelope-preview-paper[b-fbod073rsn] {
    background-color: #fffaf0; /* 和紙・クラフト調の淡い色 */
    border: 1px solid #d4c5b9;
    height: 94%;
    max-height: 480px;
    position: relative;
    padding: 5% 6%;
    box-sizing: border-box;
    border-radius: 4px;
    color: #1e293b;
    font-family: inherit;
    container-type: inline-size;
}
.envelope-preview-paper.horizontal-mode[b-fbod073rsn] {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}
.envelope-postal-box[b-fbod073rsn] {
    font-size: calc(clamp(11px, 5cqw, 16px) * var(--font-scale, 1));
    font-weight: bold;
    letter-spacing: clamp(1px, 0.8cqw, 3px);
    color: #0f172a;
    white-space: nowrap;
}
.envelope-address-box[b-fbod073rsn] {
    margin-top: 5%;
    font-size: calc(clamp(9.5px, 4cqw, 13px) * var(--font-scale, 1));
    line-height: 1.45;
}
.envelope-address-box .address-line1[b-fbod073rsn],
.envelope-address-box .address-line2[b-fbod073rsn] {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.envelope-name-box[b-fbod073rsn] {
    margin-top: 5%;
    text-align: center;
}
.envelope-name-box .department-line[b-fbod073rsn] {
    font-size: calc(clamp(8.5px, 3.4cqw, 11px) * var(--font-scale, 1));
    color: #475569;
    margin-bottom: 2px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.envelope-name-box .name-line[b-fbod073rsn] {
    display: flex;
    align-items: baseline;
    justify-content: center;
    white-space: nowrap;
    gap: 4px;
    width: 100%;
}
.envelope-name-box .party-name[b-fbod073rsn] {
    font-size: calc(clamp(13px, 6.5cqw, 20px) * var(--font-scale, 1));
    font-weight: bold;
    letter-spacing: clamp(1px, 1cqw, 3px);
    white-space: nowrap;
}
.envelope-name-box .honorific[b-fbod073rsn] {
    font-size: calc(clamp(10px, 4.8cqw, 15px) * var(--font-scale, 1));
    white-space: nowrap;
}
.envelope-sender-box[b-fbod073rsn] {
    margin-top: auto;
    font-size: calc(clamp(7.5px, 3.2cqw, 10px) * var(--font-scale, 1));
    line-height: 1.35;
    color: #475569;
    border-top: 1px dashed #cbd5e1;
    padding-top: 4px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* 縦書きモード */
.envelope-preview-paper.vertical-mode[b-fbod073rsn] {
    writing-mode: vertical-rl;
    text-orientation: upright;
    position: relative;
}
.envelope-preview-paper.vertical-mode .envelope-postal-box[b-fbod073rsn] {
    writing-mode: horizontal-tb;
    position: absolute;
    top: 6%;
    right: 18%;
    font-size: calc(clamp(12px, 5cqw, 17px) * var(--font-scale, 1));
    letter-spacing: clamp(3px, 1.2cqw, 6px);
    font-weight: 500;
}
.envelope-preview-paper.vertical-mode .envelope-address-box[b-fbod073rsn] {
    position: absolute;
    top: 18%;
    right: 12%;
    margin: 0;
    max-height: 70%;
    font-size: calc(clamp(10px, 3.8cqw, 14px) * var(--font-scale, 1));
    line-height: 1.7;
    display: flex;
    flex-direction: row;
    gap: clamp(8px, 3cqw, 14px);
}
.envelope-preview-paper.vertical-mode .envelope-address-box .address-line1[b-fbod073rsn],
.envelope-preview-paper.vertical-mode .envelope-address-box .address-line2[b-fbod073rsn] {
    white-space: nowrap;
}
.envelope-preview-paper.vertical-mode .envelope-name-box[b-fbod073rsn] {
    position: absolute;
    top: 22%;
    left: 50%;
    transform: translateX(-50%);
    margin: 0;
    writing-mode: vertical-rl;
    text-orientation: upright;
    display: block;
    text-align: center;
}
.envelope-preview-paper.vertical-mode .envelope-name-box .department-line[b-fbod073rsn] {
    font-size: calc(clamp(9.5px, 3.8cqw, 13px) * var(--font-scale, 1));
    color: #475569;
    white-space: nowrap;
    letter-spacing: 1px;
    display: inline-block;
    margin-left: clamp(10px, 3.5cqw, 16px);
}
.envelope-preview-paper.vertical-mode .envelope-name-box .name-line[b-fbod073rsn] {
    display: inline-block;
    writing-mode: vertical-rl;
    text-orientation: upright;
    white-space: nowrap;
    line-height: 1.15;
}
.envelope-preview-paper.vertical-mode .envelope-name-box .party-name[b-fbod073rsn] {
    font-size: calc(clamp(16px, 7.5cqw, 24px) * var(--font-scale, 1));
    font-weight: normal;
    letter-spacing: clamp(4px, 2cqw, 8px);
}
.envelope-preview-paper.vertical-mode .envelope-name-box .vertical-honorific-spacer[b-fbod073rsn] {
    display: inline-block;
    height: clamp(12px, 4cqw, 22px);
    width: 0;
}
.envelope-preview-paper.vertical-mode .envelope-name-box .honorific[b-fbod073rsn] {
    font-size: calc(clamp(13px, 5.5cqw, 18px) * var(--font-scale, 1));
    margin: 0;
    white-space: nowrap;
    letter-spacing: 0;
}
.envelope-preview-paper.vertical-mode .envelope-sender-card[b-fbod073rsn] {
    writing-mode: horizontal-tb;
    position: absolute;
    bottom: 5%;
    left: 50%;
    transform: translateX(-50%);
    width: 84%;
    max-width: 86%;
    border: 1.5px solid #1e293b;
    border-radius: 8px;
    padding: 6px 10px;
    background-color: white;
    box-shadow: 2px 2px 0px rgba(0, 0, 0, 0.4);
    font-size: calc(clamp(7.5px, 2.6cqw, 9.5px) * var(--font-scale, 1));
    line-height: 1.35;
    color: #0f172a;
    display: flex;
    flex-direction: column;
    gap: 1.5px;
    box-sizing: border-box;
}
.envelope-preview-paper.vertical-mode .envelope-sender-card .sender-card-name[b-fbod073rsn] {
    font-weight: bold;
    display: flex;
    justify-content: space-around;
    gap: 6px;
    font-size: calc(clamp(8.5px, 3.2cqw, 11px) * var(--font-scale, 1));
    margin-top: 1px;
}

/* スタンプ */
.stamp-badge[b-fbod073rsn] {
    position: absolute;
    top: 15px;
    left: 20px;
    border: 2px solid #ef4444;
    color: #ef4444;
    padding: 4px 10px;
    font-weight: bold;
    font-size: 0.85rem;
    letter-spacing: 1px;
    border-radius: 4px;
    writing-mode: horizontal-tb;
}
.stamp-badge.blue[b-fbod073rsn] {
    border-color: #0284c7;
    color: #0284c7;
}

/* ============================================================== */
/* 🏷️ ラベルシール 1片拡大プレビュー (レイアウト確認)               */
/* ============================================================== */
.single-label-preview-card[b-fbod073rsn] {
    background-color: white;
    border: 1px solid #cbd5e1;
    border-radius: 6px;
    box-shadow: 0 4px 12px rgba(15, 23, 42, 0.08);
    padding: 5% 6%;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    container-type: inline-size;
    position: relative;
    font-family: inherit;
    color: #0f172a;
}
.single-label-top-group[b-fbod073rsn] {
    display: flex;
    flex-direction: column;
    gap: clamp(6px, 2.2cqw, 10px);
}
.single-label-postal[b-fbod073rsn] {
    font-size: calc(clamp(11px, 4.4cqw, 15px) * var(--font-scale, 1));
    font-weight: normal;
    letter-spacing: 1px;
    color: #0f172a;
    white-space: nowrap;
    line-height: 1.25;
}
.single-label-meta[b-fbod073rsn] {
    display: flex;
    align-items: center;
    gap: 4px;
}
.single-label-address[b-fbod073rsn] {
    font-size: calc(clamp(10px, 3.8cqw, 13.5px) * var(--font-scale, 1));
    line-height: 1.4;
    color: #0f172a;
}
.single-label-address-line1[b-fbod073rsn],
.single-label-address-line2[b-fbod073rsn] {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.single-label-bottom-group[b-fbod073rsn] {
    display: flex;
    flex-direction: column;
    gap: 3px;
    margin-top: auto;
}
.single-label-department[b-fbod073rsn] {
    font-size: calc(clamp(9.5px, 3.6cqw, 12px) * var(--font-scale, 1));
    color: #334155;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.single-label-name-row[b-fbod073rsn] {
    display: flex;
    align-items: baseline;
    white-space: nowrap;
    gap: 6px;
}
.single-label-name[b-fbod073rsn] {
    font-size: calc(clamp(14px, 5.8cqw, 20px) * var(--font-scale, 1));
    font-weight: normal;
    letter-spacing: 2px;
    color: #0f172a;
    white-space: nowrap;
}
.single-label-hon[b-fbod073rsn] {
    font-size: calc(clamp(11px, 4.6cqw, 15.5px) * var(--font-scale, 1));
    color: #0f172a;
    white-space: nowrap;
}

/* ============================================================== */
/* 📄 A4ラベルシート プレビュー (配置俯瞰)                         */
/* ============================================================== */
.a4-sheet-preview[b-fbod073rsn] {
    background-color: white;
    border: 1px solid #cbd5e1;
    height: 95%;
    max-height: 480px;
    padding: 3.5% 3.5%;
    box-sizing: border-box;
}
.a4-sheet-grid[b-fbod073rsn] {
    display: grid;
    width: 100%;
    height: 100%;
    gap: 2px;
}
.label-cell-preview[b-fbod073rsn] {
    border: 1px solid #e2e8f0;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    padding: 2px 4px;
    box-sizing: border-box;
    position: relative;
    border-radius: 2px;
    cursor: pointer;
    transition: all 0.15s ease;
}
.label-cell-preview:hover[b-fbod073rsn] {
    border-color: #3b82f6;
    transform: scale(1.02);
    z-index: 1;
}
.label-cell-preview.printed[b-fbod073rsn] {
    background-color: #eff6ff;
    border-color: #93c5fd;
}
.label-cell-preview.empty[b-fbod073rsn] {
    background-color: #f8fafc;
    border: 1px dashed #cbd5e1;
    opacity: 0.7;
}
.label-cell-inner-sheet[b-fbod073rsn] {
    width: 100%;
    font-size: 0.6rem;
    line-height: 1.15;
}
.sheet-slot-badge[b-fbod073rsn] {
    font-size: 0.6rem;
    font-weight: bold;
    color: #2563eb;
    font-family: monospace;
}
.sheet-slot-name[b-fbod073rsn] {
    font-size: 0.62rem;
    font-weight: bold;
    color: #1e293b;
    margin-top: 1px;
}
.cell-empty-text[b-fbod073rsn] {
    font-size: 0.62rem;
    color: #94a3b8;
    font-family: monospace;
}

/* ラベルスロット選択用ミニチュアグリッド */
.label-grid-preview[b-fbod073rsn] {
    display: grid;
    gap: 3px;
}
.label-slot-btn[b-fbod073rsn] {
    background-color: white;
    border: 1px solid #cbd5e1;
    border-radius: 3px;
    height: 22px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 4px;
    cursor: pointer;
    transition: all 0.15s ease;
}
.label-slot-btn:hover[b-fbod073rsn] {
    border-color: #3b82f6;
    background-color: #eff6ff;
}
.label-slot-btn.selected[b-fbod073rsn] {
    background-color: #3b82f6;
    border-color: #2563eb;
    color: white;
    font-weight: bold;
}
.slot-number[b-fbod073rsn] { font-size: 0.68rem; line-height: 1; }
.slot-check[b-fbod073rsn] { font-size: 0.72rem; line-height: 1; }

/* ============================================================== */
/* 🖨️ 印刷専用CSS (@media print)                                   */
/* ============================================================== */
@media print {
    /* 管理画面・モーダル枠・その他すべての要素を隠す */
    body > *:not(.address-print-container)[b-fbod073rsn],
    .address-print-modal-backdrop[b-fbod073rsn],
    header[b-fbod073rsn], nav[b-fbod073rsn], .sidebar[b-fbod073rsn] {
        display: none !important;
    }

    /* 印刷コンテナのみを表示 */
    .address-print-container[b-fbod073rsn] {
        display: block !important;
        position: absolute !important;
        left: 0 !important;
        top: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        background: white !important;
    }

    /* 封筒印刷 */
    .print-envelope-page[b-fbod073rsn] {
        box-sizing: border-box;
        page-break-after: always;
        position: relative;
        padding: 20mm 20mm;
        font-family: inherit;
        color: black;
    }
    .print-envelope-page.horizontal-mode[b-fbod073rsn] {
        display: flex;
        flex-direction: column;
        justify-content: space-between;
    }
    .print-envelope-page.vertical-mode[b-fbod073rsn] {
        writing-mode: vertical-rl;
        text-orientation: upright;
        position: relative;
        padding: 0;
    }
    .print-envelope-page.vertical-mode .print-postal[b-fbod073rsn] {
        writing-mode: horizontal-tb;
        position: absolute;
        top: 10mm;
        right: 28mm;
        font-size: calc(18pt * var(--font-scale, 1));
        letter-spacing: 3mm;
        font-weight: normal;
    }
    .print-envelope-page.vertical-mode .print-address[b-fbod073rsn] {
        position: absolute;
        top: 32mm;
        right: 18mm;
        font-size: calc(14pt * var(--font-scale, 1));
        line-height: 1.7;
        margin: 0;
        display: flex;
        flex-direction: row;
        gap: 6mm;
    }
    .print-envelope-page.vertical-mode .print-name[b-fbod073rsn] {
        position: absolute;
        top: 38mm;
        left: 50%;
        transform: translateX(-50%);
        margin: 0;
        writing-mode: vertical-rl;
        text-orientation: upright;
        display: block;
        text-align: center;
    }
    .print-envelope-page.vertical-mode .print-department[b-fbod073rsn] {
        font-size: calc(14pt * var(--font-scale, 1));
        white-space: nowrap;
        display: inline-block;
        margin-left: 8mm;
    }
    .print-envelope-page.vertical-mode .print-name-row[b-fbod073rsn] {
        display: inline-block;
        writing-mode: vertical-rl;
        text-orientation: upright;
        white-space: nowrap;
        line-height: 1.15;
    }
    .print-envelope-page.vertical-mode .print-target-name[b-fbod073rsn] {
        font-size: calc(26pt * var(--font-scale, 1));
        font-weight: normal;
        letter-spacing: 4mm;
    }
    .print-envelope-page.vertical-mode .vertical-honorific-spacer[b-fbod073rsn] {
        display: inline-block;
        height: 10mm;
        width: 0;
    }
    .print-envelope-page.vertical-mode .print-target-hon[b-fbod073rsn] {
        font-size: calc(18pt * var(--font-scale, 1));
        margin: 0;
        white-space: nowrap;
        letter-spacing: 0;
    }
    .print-envelope-page.vertical-mode .print-sender.sender-card-box[b-fbod073rsn] {
        writing-mode: horizontal-tb;
        position: absolute;
        bottom: 12mm;
        left: 50%;
        transform: translateX(-50%);
        width: 84%;
        max-width: 86%;
        border: 1pt solid black;
        border-radius: 4mm;
        padding: 3mm 5mm;
        background: white;
        box-shadow: 1.5mm 1.5mm 0px rgba(0,0,0,0.4);
        font-size: calc(9pt * var(--font-scale, 1));
        line-height: 1.35;
        display: flex;
        flex-direction: column;
        gap: 1mm;
        box-sizing: border-box;
    }
    .print-envelope-page.vertical-mode .print-sender.sender-card-box .print-sender-name-row[b-fbod073rsn] {
        font-size: calc(11pt * var(--font-scale, 1));
        font-weight: bold;
        display: flex;
        justify-content: space-around;
        gap: 3mm;
    }

    .print-stamp[b-fbod073rsn] {
        position: absolute;
        top: 15mm;
        left: 15mm;
        border: 2pt solid red;
        color: red;
        padding: 2mm 5mm;
        font-size: 14pt;
        font-weight: bold;
    }

    /* ラベルシール印刷 (A4) */
    .print-label-page[b-fbod073rsn] {
        box-sizing: border-box;
        page-break-after: always;
    }
    .print-label-grid[b-fbod073rsn] {
        display: grid;
    }
    .print-label-cell[b-fbod073rsn] {
        box-sizing: border-box;
        overflow: hidden;
    }
    .print-label-cell-inner[b-fbod073rsn] {
        padding: 3mm 4mm;
        font-family: inherit;
        color: black;
        height: 100%;
        box-sizing: border-box;
        display: flex;
        flex-direction: column;
        justify-content: space-between;
    }
    .p-top-group[b-fbod073rsn] {
        display: flex;
        flex-direction: column;
        gap: 2.2mm;
    }
    .p-postal[b-fbod073rsn] {
        font-size: calc(10.5pt * var(--font-scale, 1));
        line-height: 1.25;
        letter-spacing: 0.5px;
    }
    .p-address[b-fbod073rsn] {
        font-size: calc(10pt * var(--font-scale, 1));
        line-height: 1.35;
        word-break: break-all;
    }
    .p-bottom-group[b-fbod073rsn] {
        display: flex;
        flex-direction: column;
        gap: 1mm;
        margin-top: auto;
    }
    .p-department[b-fbod073rsn] {
        font-size: calc(9pt * var(--font-scale, 1));
        color: #333;
    }
    .p-name[b-fbod073rsn] {
        display: flex;
        align-items: baseline;
        gap: 3mm;
    }
    .p-name-text[b-fbod073rsn] {
        font-size: calc(14pt * var(--font-scale, 1));
        letter-spacing: 2px;
    }
    .p-hon[b-fbod073rsn] {
        font-size: calc(11pt * var(--font-scale, 1));
    }
}
/* /Components/Common/EmptyComponent.razor.rz.scp.css */
.border-dashed[b-3ay1hk656s] {
    border-style: dashed !important;
}
/* /Components/Common/HeaderTimeChargeWidget.razor.rz.scp.css */
@keyframes pulse-b-dn22snesx5 {
    0% {
        opacity: 1;
    }

    50% {
        opacity: 0.3;
    }

    100% {
        opacity: 1;
    }
}
/* /Components/Common/LinkedMatterBanner.razor.rz.scp.css */
.linked-matter-banner[b-bmwskdjgc8] {
    background-color: #f8fafc;
    border: 1px solid #dbe4f0;
    border-left: 3.5px solid var(--legal-interactive, #0d6efd);
    border-radius: 0.6rem;
    padding: 0.45rem 0.7rem;
    font-size: 0.84rem;
    line-height: 1.35;
}

.linked-matter-item[b-bmwskdjgc8] {
    display: inline-flex;
    align-items: baseline;
    gap: 0.25rem;
    max-width: 100%;
}

.linked-matter-label[b-bmwskdjgc8] {
    font-size: 0.75rem;
    font-weight: 700;
    color: #64748b;
    white-space: nowrap;
}

.linked-matter-value[b-bmwskdjgc8] {
    font-size: 0.85rem;
    font-weight: 700;
    color: #1e293b;
}

.linked-matter-unassigned[b-bmwskdjgc8] {
    font-size: 0.8rem;
    font-weight: 700;
    color: #64748b;
}

.linked-matter-karte-btn[b-bmwskdjgc8] {
    font-size: 0.78rem;
    padding: 0.2rem 0.65rem;
    line-height: 1.35;
}
/* /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;
}

/* インライン・サジェスト用ドロップダウン */
.suggestion-dropdown[b-5hjulaej7e] {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    z-index: 1050;
    max-height: 380px;
    overflow-y: auto;
    background: #ffffff;
    border: 1px solid rgba(0, 0, 0, 0.12);
    border-radius: 12px;
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.15);
    margin-top: 4px;
}

.suggestion-item[b-5hjulaej7e] {
    cursor: pointer;
    transition: all 0.15s ease;
    border-left: 3px solid transparent;
}

.suggestion-item:hover[b-5hjulaej7e],
.suggestion-item.active[b-5hjulaej7e] {
    background-color: #f0fdf4 !important;
    border-left: 3px solid #16a34a;
}

/* /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 dynamic viewport */
        left: 0 !important;
        top: 0 !important;
        right: 0 !important;
        bottom: 0 !important;
        width: 100vw !important;
        height: 100vh !important;
        height: 100dvh !important;
        max-width: 100vw !important;
        max-height: 100vh !important;
        max-height: 100dvh !important;
        
        /* Remove border radius to feel like a full page */
        border-radius: 0 !important;
        margin: 0 !important;
        
        /* Ensure it sits on top of MobileBottomNav (1040) and Sidebar (1050) */
        z-index: 2000 !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] {
        /* Take exact remaining flex space within 100dvh without overflowing */
        max-height: none !important;
        height: auto !important;
        flex: 1 1 auto !important;
        min-height: 0 !important;
        overflow-y: auto !important;
        -webkit-overflow-scrolling: touch;
        padding-bottom: env(safe-area-inset-bottom, 0px) !important;
    }
}
/* /Components/Common/SidebarTaskPane.razor.rz.scp.css */
.sidebar-badge-personal[b-rfljzkzszx] {
    background-color: #f0fdfa;
    color: #0f766e;
    border: 1px solid #5eead4;
}

.sidebar-task-body-preview[b-rfljzkzszx] {
    font-size: 0.75rem;
    opacity: 0.82;
}

.sidebar-meeting-icon[b-rfljzkzszx] {
    transform: translateY(-1px);
}

.sidebar-task-tooltip[b-rfljzkzszx] {
    right: 0 !important;
    left: auto !important;
    transform: none !important;
}

.sidebar-empty-icon[b-rfljzkzszx] {
    font-size: 1.5rem;
    opacity: 0.5;
}
/* /Components/Form/ExpenseForm.razor.rz.scp.css */
/* 経費フォーム専用：スリムな入力スタイル */
.expense-form-control[b-zvyx6fmaon],
[b-zvyx6fmaon] .expense-form-control {
    height: auto !important;
    min-height: 1.875rem !important;
    font-size: 0.85rem !important;
    padding-top: 0.1rem !important;
    padding-bottom: 0.1rem !important;
}

.input-readonly[b-zvyx6fmaon],
[b-zvyx6fmaon] .input-readonly {
    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.5rem 0.75rem !important;
}

.refund-box[b-zvyx6fmaon] {
    background-color: #fff1f2 !important;
    border-color: #fecdd3 !important;
}

.receipt-thumb[b-zvyx6fmaon] {
    width: 52px;
    height: 52px;
    object-fit: cover;
}

.receipt-add-box[b-zvyx6fmaon] {
    width: 52px;
    height: 52px;
    border: 2px dashed #cbd5e1;
}

.fixed-amount-group[b-zvyx6fmaon] {
    width: 175px;
}

.rate-label-xs[b-zvyx6fmaon] {
    font-size: 0.7rem;
}

.amount-total-display[b-zvyx6fmaon] {
    line-height: 1;
}

.invoice-eligible-pill[b-zvyx6fmaon] {
    height: 30px;
}

.invoice-eligible-switch[b-zvyx6fmaon],
[b-zvyx6fmaon] .invoice-eligible-switch {
    width: 1.8rem;
    height: 0.9rem;
}


/* /Components/Form/ScheduleRoomReservationSection.razor.rz.scp.css */
.room-reserve-box[b-s93g73mx1v] {
    background-color: #f8fafc;
    border-color: #e2e8f0;
    transition: background-color 0.2s ease, border-color 0.2s ease;
}

.room-reserve-box.active[b-s93g73mx1v] {
    background-color: #f0f9ff;
    border-color: #bae6fd !important;
}

.room-reserve-checkbox[b-s93g73mx1v] {
    width: 1.05rem;
    height: 1.05rem;
}

.room-spinner[b-s93g73mx1v] {
    width: 0.85rem;
    height: 0.85rem;
}

.room-reserve-detail[b-s93g73mx1v] {
    border-top-color: #dbeafe !important;
}

.room-field-row[b-s93g73mx1v] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.room-field-label[b-s93g73mx1v] {
    min-width: 58px;
    flex-shrink: 0;
}

.room-branch-select[b-s93g73mx1v] {
    max-width: 220px;
}

.room-radio-option[b-s93g73mx1v] {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.3rem 0.7rem;
    border-radius: 999px;
    border: 1px solid #cbd5e1;
    background-color: #ffffff;
    cursor: pointer;
    font-size: 0.82rem;
    color: #1e293b;
    transition: all 0.15s ease;
    user-select: none;
}

.room-radio-option:hover:not(.disabled)[b-s93g73mx1v] {
    border-color: #3b82f6;
    background-color: #eff6ff;
}

.room-radio-option.selected[b-s93g73mx1v] {
    border-color: #2563eb;
    background-color: #dbeafe;
    color: #1d4ed8;
    box-shadow: 0 1px 2px rgba(37, 99, 235, 0.12);
}

.room-radio-option.occupied[b-s93g73mx1v],
.room-radio-option.disabled[b-s93g73mx1v] {
    background-color: #f1f5f9;
    border-color: #e2e8f0;
    color: #94a3b8;
    cursor: not-allowed;
}

.room-radio-input[b-s93g73mx1v] {
    cursor: inherit;
}

.room-color-dot[b-s93g73mx1v] {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    flex-shrink: 0;
}

.room-radio-option.occupied .room-color-dot[b-s93g73mx1v],
.room-radio-option.disabled .room-color-dot[b-s93g73mx1v] {
    opacity: 0.4;
}

.room-occupied-badge[b-s93g73mx1v] {
    font-size: 0.68rem;
    font-weight: 700;
    padding: 0.05rem 0.38rem;
    border-radius: 999px;
    background-color: #e2e8f0;
    color: #64748b;
}

.room-time-input[b-s93g73mx1v] {
    width: 122px;
}

.room-sync-btn[b-s93g73mx1v] {
    font-size: 0.72rem;
    font-weight: 700;
    padding: 0.15rem 0.55rem;
    color: #0369a1;
}

.room-sync-btn:hover[b-s93g73mx1v] {
    background-color: #e0f2fe !important;
    border-color: #38bdf8 !important;
    color: #075985 !important;
}

@media (max-width: 575.98px) {
    .room-field-row[b-s93g73mx1v] {
        flex-direction: column;
        align-items: flex-start;
        gap: 0.35rem;
    }

    .room-time-input[b-s93g73mx1v] {
        width: 112px;
    }
}
/* /Components/Form/TaskForm.razor.rz.scp.css */
.task-imp-switch[b-hgbh8yqdo9] {
    width: 2rem;
    height: 1rem;
}

.color-circle[b-hgbh8yqdo9] {
    cursor: pointer;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    border: 2px solid transparent;
    opacity: 0.42;
    transform: scale(1);
}

.color-circle.selected[b-hgbh8yqdo9] {
    border-color: #333;
    opacity: 1;
    transform: scale(1.15);
}

.color-check-icon[b-hgbh8yqdo9] {
    text-shadow: 0 0 3px rgba(0, 0, 0, 0.8);
    font-size: 1.1rem;
}

.task-body-textarea[b-hgbh8yqdo9],
[b-hgbh8yqdo9] .task-body-textarea {
    height: 120px;
    max-height: 50vh;
    resize: vertical;
}

.task-status-checkbox[b-hgbh8yqdo9] {
    width: 1rem;
    height: 1rem;
}

.task-findate-input[b-hgbh8yqdo9],
[b-hgbh8yqdo9] .task-findate-input {
    max-width: 220px;
}

.task-quick-date-btn[b-hgbh8yqdo9] {
    font-size: 0.72rem;
    font-weight: 700;
    padding: 0.1rem 0.55rem;
    color: #475569;
}

.task-quick-date-btn.active[b-hgbh8yqdo9],
.task-quick-date-btn:hover[b-hgbh8yqdo9] {
    background-color: #f0fdfa !important;
    border-color: #14b8a6 !important;
    color: #0f766e !important;
}

.task-due-date-input[b-hgbh8yqdo9],
[b-hgbh8yqdo9] .task-due-date-input {
    max-width: 220px;
}
/* /Components/Layout/LoginLayout.razor.rz.scp.css */
.login-background[b-v02sha2bnk] {
    background-image: linear-gradient(135deg, #001a17 0%, #00453e 100%);
    min-height: 100vh;
    width: 100%;
}
/* /Components/Layout/MainLayout.razor.rz.scp.css */
/* ============================================================
   1. レイアウト全体 (MainLayout)
   ============================================================ */
.page[b-m3hv6ixruy] {
    display: flex;
    flex-direction: column;
    height: 100vh;
    height: 100dvh;
    max-height: 100dvh;
    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;
}

.content:has(::deep .line-inbox-container)[b-m3hv6ixruy],
.content:has(.line-inbox-container)[b-m3hv6ixruy] {
    overflow-y: hidden !important;
}

/* ============================================================
   2. ヘッダー (Top Row & Mobile Top Header)
   ============================================================ */
[b-m3hv6ixruy] .mobile-top-header,
.mobile-top-header[b-m3hv6ixruy] {
    flex-shrink: 0;
    height: 54px;
    padding: 0 1rem;
    background-color: rgba(255, 255, 255, 0.95);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border-bottom: 1px solid #e2e8f0;
    z-index: 1000;
}

.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 (max-width: 767.98px) {
    main[b-m3hv6ixruy] {
        padding-top: 0 !important;
        padding-bottom: calc(62px + env(safe-area-inset-bottom, 0px)) !important;
    }

    .content[b-m3hv6ixruy] {
        padding-bottom: 0 !important;
    }

    .sidebar[b-m3hv6ixruy] {
        position: fixed !important;
        top: 0 !important;
        left: 0 !important;
        bottom: 0 !important;
        width: 280px !important;
        max-width: 85vw !important;
        height: 100% !important;
        height: 100dvh !important;
        max-height: 100% !important;
        max-height: 100dvh !important;
        z-index: 1050 !important;
        transform: translateX(-100%);
        transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
        box-shadow: none;
        overflow: hidden !important;
        display: flex !important;
        flex-direction: column !important;
    }

    .mobile-menu-open .sidebar[b-m3hv6ixruy] {
        transform: translateX(0) !important;
        box-shadow: 4px 0 24px rgba(0, 0, 0, 0.4) !important;
    }
}

.mobile-backdrop[b-m3hv6ixruy] {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.5);
    backdrop-filter: blur(2px);
    z-index: 1045;
    animation: fadeInBackdrop-b-m3hv6ixruy 0.2s ease;
}

@keyframes fadeInBackdrop-b-m3hv6ixruy {
    from { opacity: 0; }
    to { opacity: 1; }
}

@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;
        display: flex !important;
        flex-direction: column !important;
        overflow: hidden !important;
    }
}

/* ============================================================
   7. PC環境でのPCビュー固定 (is-desktop-device)
   ============================================================ */
.page.is-desktop-device[b-m3hv6ixruy] {
    flex-direction: row !important;
}

.page.is-desktop-device .sidebar[b-m3hv6ixruy] {
    position: sticky !important;
    top: 0 !important;
    width: var(--sidebar-width, 280px) !important;
    height: 100vh !important;
    transform: none !important;
    box-shadow: none !important;
    z-index: 100 !important;
    flex-shrink: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    overflow: hidden !important;
}

.page.is-desktop-device main[b-m3hv6ixruy] {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    min-width: 0 !important;
}

.page.is-desktop-device .content[b-m3hv6ixruy] {
    padding-bottom: 0 !important;
    overflow-x: auto !important;
}


.startup-loading-overlay[b-m3hv6ixruy] {
    height: 100vh;
    width: 100vw;
    background: #ffffff;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 9999;
}
/* /Components/Layout/MobileBottomNav.razor.rz.scp.css */
.mobile-bottom-nav[b-euqmh9ieke] {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 1040;
    background: rgba(255, 255, 255, 0.94);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    border-top: 1px solid rgba(226, 232, 240, 0.9);
    box-shadow: 0 -3px 12px rgba(0, 0, 0, 0.05);
    padding-bottom: env(safe-area-inset-bottom, 0px);
    user-select: none;
}

.bottom-nav-container[b-euqmh9ieke] {
    display: flex;
    align-items: center;
    justify-content: space-around;
    height: 56px;
    max-width: 600px;
    margin: 0 auto;
    padding: 0 4px;
}

.nav-tab-item[b-euqmh9ieke] {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    background: transparent;
    border: none;
    outline: none;
    padding: 4px 0;
    color: #64748b;
    transition: all 0.15s ease-in-out;
    cursor: pointer;
    position: relative;
    text-decoration: none;
    -webkit-tap-highlight-color: transparent;
}

.nav-tab-item:active[b-euqmh9ieke] {
    transform: scale(0.92);
}

.nav-tab-icon[b-euqmh9ieke] {
    font-size: 1.25rem;
    line-height: 1;
    margin-bottom: 3px;
    transition: color 0.15s ease, transform 0.15s ease;
}

.nav-tab-label[b-euqmh9ieke] {
    font-size: 0.65rem;
    font-weight: 500;
    line-height: 1;
    letter-spacing: 0.02em;
}

/* アクティブ状態 */
.nav-tab-item.active[b-euqmh9ieke] {
    color: var(--legal-primary, #0d6efd);
}

.nav-tab-item.active .nav-tab-icon[b-euqmh9ieke] {
    transform: translateY(-1px);
}

.nav-tab-item.active .nav-tab-label[b-euqmh9ieke] {
    font-weight: 700;
}

.nav-tab-item.menu-open[b-euqmh9ieke] {
    color: #ef4444;
}
/* /Components/Layout/NavMenu.razor.rz.scp.css */
/* --- レイアウト・スケルトン --- */
.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: flex;
    flex-direction: column;
    flex: 1 1 0% !important;
    min-height: 0 !important;
    height: auto !important;
    max-height: none !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch;
    padding-bottom: 2.5rem !important;
    box-sizing: border-box;
}

/* アイコン用 (既存の.biを拡張) */
.bi[b-nndwx6mbys] {
    display: inline-block;
    position: relative;
    width: 1.25rem;
    height: 1.25rem;
    margin-right: 0.75rem;
    top: 0;
    background-size: cover;
}

/* 案件受任へ進むボタン (アイコンと文字の完全整列) */
.btn-proceed-matter[b-nndwx6mbys] {
    font-size: 0.95rem;
    letter-spacing: 0.02em;
}

.btn-proceed-matter i[b-nndwx6mbys] {
    width: auto !important;
    height: auto !important;
    margin: 0 !important;
    font-size: 1.1rem;
    line-height: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.btn-proceed-matter i[b-nndwx6mbys]::before {
    vertical-align: 0 !important;
}



/* --- クイックアクションタイル (LINE / WEB / FAX) --- */
.quick-nav-grid[b-nndwx6mbys] {
    display: grid;
    grid-auto-columns: minmax(0, 1fr);
    grid-auto-flow: column;
    gap: 0.3rem;
}

.quick-nav-grid[b-nndwx6mbys]  .nav-link.quick-nav-tile {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 0.28rem;
    padding: 0.55rem 0.2rem 0.45rem !important;
    line-height: 1 !important;
    height: 100% !important;
    border-radius: 8px;
    border-left: none !important;
    transform: none !important;
}

.quick-nav-grid[b-nndwx6mbys]  .nav-link.quick-nav-tile.quick-nav-line {
    background-color: rgba(0, 195, 0, 0.1) !important;
}

.quick-nav-grid[b-nndwx6mbys]  .nav-link.quick-nav-tile.quick-nav-line:hover,
.quick-nav-grid[b-nndwx6mbys]  a.active.nav-link.quick-nav-tile.quick-nav-line {
    background-color: rgba(0, 195, 0, 0.22) !important;
    box-shadow: inset 0 0 0 1px rgba(34, 197, 94, 0.4);
}

.quick-nav-grid[b-nndwx6mbys]  .nav-link.quick-nav-tile.quick-nav-web {
    background-color: rgba(232, 62, 140, 0.1) !important;
}

.quick-nav-grid[b-nndwx6mbys]  .nav-link.quick-nav-tile.quick-nav-web:hover,
.quick-nav-grid[b-nndwx6mbys]  a.active.nav-link.quick-nav-tile.quick-nav-web {
    background-color: rgba(232, 62, 140, 0.22) !important;
    box-shadow: inset 0 0 0 1px rgba(232, 62, 140, 0.4);
}

.quick-nav-grid[b-nndwx6mbys]  .nav-link.quick-nav-tile.quick-nav-fax {
    background-color: rgba(13, 110, 253, 0.1) !important;
}

.quick-nav-grid[b-nndwx6mbys]  .nav-link.quick-nav-tile.quick-nav-fax:hover,
.quick-nav-grid[b-nndwx6mbys]  a.active.nav-link.quick-nav-tile.quick-nav-fax {
    background-color: rgba(13, 110, 253, 0.22) !important;
    box-shadow: inset 0 0 0 1px rgba(13, 110, 253, 0.4);
}

.quick-nav-grid[b-nndwx6mbys]  .quick-nav-icon-wrap {
    height: 24px;
    width: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.quick-nav-grid[b-nndwx6mbys]  .nav-link.quick-nav-tile .bi.quick-nav-icon {
    margin: 0 !important;
    padding: 0 !important;
    width: 24px !important;
    height: 24px !important;
    font-size: 1.2rem !important;
    line-height: 1 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    opacity: 1 !important;
    transform: none !important;
    top: 0 !important;
}

.quick-nav-grid[b-nndwx6mbys]  .nav-link.quick-nav-tile .bi.quick-nav-icon::before {
    margin: 0 !important;
    vertical-align: 0 !important;
    line-height: 1 !important;
}

.quick-nav-grid[b-nndwx6mbys]  .quick-nav-icon-line {
    color: #22c55e !important;
}

.quick-nav-grid[b-nndwx6mbys]  .quick-nav-icon-web {
    color: #e83e8c !important;
}

.quick-nav-grid[b-nndwx6mbys]  .quick-nav-label {
    font-size: 0.7rem;
    letter-spacing: 0.02em;
}

.quick-nav-grid[b-nndwx6mbys]  .quick-nav-badge-left,
.quick-nav-grid[b-nndwx6mbys]  .quick-nav-badge-right {
    font-size: 0.58rem;
    font-weight: 700;
    line-height: 1;
    min-width: 15px;
    height: 15px;
    padding: 0 4px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    top: -4px;
    z-index: 2;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.35);
}

.quick-nav-grid[b-nndwx6mbys]  .quick-nav-badge-left {
    right: calc(100% - 4px);
}

.quick-nav-grid[b-nndwx6mbys]  .quick-nav-badge-right {
    left: calc(100% - 4px);
}

.quick-nav-grid[b-nndwx6mbys]  .quick-nav-fax-sub-badge {
    font-size: 0.58rem;
    min-width: 15px;
    height: 15px;
    padding: 0 4px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    top: 50%;
    left: 100%;
    transform: translateY(-50%);
    margin-left: 4px;
}

.nav-item[b-nndwx6mbys]  .nav-link.context-line-link {
    background-color: rgba(0, 255, 0, 0.1);
    border-radius: 8px;
}
/* /Components/Layout/OutlookLayout.razor.rz.scp.css */
.outlook-layout[b-z1f7gy9qw2] {
    min-height: 100vh;
    overflow-x: hidden;
    overflow-y: auto;
    color: var(--legal-text-main, #1e293b);
}

.outlook-panel-title[b-z1f7gy9qw2],
[b-z1f7gy9qw2] .outlook-panel-title {
    font-size: 0.95rem;
    font-weight: 800;
    color: var(--legal-primary, #00453e);
    letter-spacing: 0.02em;
    line-height: 1.3;
}

.outlook-email-subject[b-z1f7gy9qw2],
[b-z1f7gy9qw2] .outlook-email-subject {
    font-size: 0.875rem;
    font-weight: 700;
    color: var(--legal-text-main, #1e293b);
    line-height: 1.35;
}

.outlook-layout .form-label[b-z1f7gy9qw2],
.outlook-layout[b-z1f7gy9qw2]  .form-label {
    font-size: 0.8rem;
    font-weight: 700;
    color: var(--legal-text-muted, #64748b);
    margin-bottom: 0.25rem;
}

.outlook-layout .form-control[b-z1f7gy9qw2],
.outlook-layout .form-select[b-z1f7gy9qw2],
.outlook-layout[b-z1f7gy9qw2]  .form-control,
.outlook-layout[b-z1f7gy9qw2]  .form-select {
    font-size: 0.85rem;
}
/* /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/Layout/TopHeader.razor.rz.scp.css */
/* モバイルヘッダー用 */
.mobile-brand-area[b-a1qlpounpr] {
    min-width: 0;
    flex: 1 1 auto;
}

.mobile-brand-link[b-a1qlpounpr] {
    font-size: 1.15rem;
    color: var(--legal-primary, #0d6efd) !important;
    gap: 7px;
}

.mobile-brand-icon[b-a1qlpounpr] {
    font-size: 1.25rem;
    line-height: 1;
}

.mobile-locked-matter-badge[b-a1qlpounpr] {
    max-width: 130px;
    min-width: 0;
    flex-shrink: 1;
    font-size: 0.75rem;
    padding: 4px 8px;
}

.mobile-dial-btn[b-a1qlpounpr] {
    width: 32px;
    height: 32px;
    border-width: 1.5px;
    border-color: #f59e0b;
    background-color: #fffbeb;
}

.mobile-print-btn[b-a1qlpounpr] {
    width: 32px;
    height: 32px;
    border-width: 1.5px;
}

.printer-icon-shift[b-a1qlpounpr] {
    line-height: 1;
    transform: translateY(1px);
}

.mobile-memo-trigger[b-a1qlpounpr] {
    width: 34px;
    height: 34px;
}

.mobile-memo-count[b-a1qlpounpr] {
    font-size: 0.55rem;
    padding: 0.2em 0.4em;
    top: 0;
    right: -2px;
}

.mobile-punch-btn[b-a1qlpounpr] {
    min-height: 2rem;
    height: auto;
    font-size: 0.8rem;
}

.mobile-logout-btn[b-a1qlpounpr] {
    width: 2rem;
    height: 2rem;
}

/* PC・タブレットヘッダー用 */
.pc-memo-count-pill[b-a1qlpounpr] {
    font-size: 0.65rem;
    padding: 0.2em 0.45em;
}

.header-print-btn[b-a1qlpounpr] {
    width: 2.25rem;
    height: 2rem;
    transform: translateY(-1.0px);
}

.header-print-icon[b-a1qlpounpr] {
    font-size: 1.05rem;
    line-height: 1;
    transform: translateY(1px);
}

.print-menu-backdrop[b-a1qlpounpr] {
    inset: 0;
    z-index: 1040;
}

.print-dropdown-menu[b-a1qlpounpr] {
    top: 38px;
    left: 0;
    min-width: 235px;
    z-index: 1050;
}

.header-dial-btn[b-a1qlpounpr] {
    min-height: 2rem;
    height: auto;
    transform: translateY(-1.0px);
}

.header-dial-label[b-a1qlpounpr] {
    font-size: 0.85rem;
    padding-top: 1px;
}

.header-vr[b-a1qlpounpr] {
    opacity: 0.15;
}

.logout-btn[b-a1qlpounpr] {
    min-height: 2rem;
    height: auto;
}
/* /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;
}

/* 検索ボックスの幅調整 (スマホ時は全幅、PC時は最小幅を確保) */
.search-box-wide[b-ihy0cntupq] {
    width: 100%;
    min-width: 0;
    max-width: 100%;
}

@media (min-width: 768px) {
    .search-box-wide[b-ihy0cntupq] {
        width: auto;
        min-width: 320px;
    }
}

/* サブタブの装飾 */
.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;
}


/* フィルタコントロール・ボタン */
.filter-date-input[b-ihy0cntupq] {
    min-width: 115px;
    font-size: 0.8rem;
    padding: 2px 6px;
}

.filter-select-compact[b-ihy0cntupq] {
    font-size: 0.8rem;
    padding-top: 2px;
    padding-bottom: 2px;
    padding-right: 1.75rem;
}

.filter-search-input[b-ihy0cntupq] {
    font-size: 0.8rem;
    padding-top: 2px;
    padding-bottom: 2px;
}

.btn-outline-purple[b-ihy0cntupq] {
    color: #6f42c1;
    border-color: #6f42c1;
}

.btn-outline-purple:hover[b-ihy0cntupq] {
    background-color: #6f42c1;
    color: #ffffff;
}

/* 複数事件ある顧客の出納帳：他事件行の薄色グレー背景 */
.ledger-other-matter-row[b-ihy0cntupq] {
    --bs-table-bg: #eff1f4;
    --bs-table-bg-type: #eff1f4;
    --bs-table-accent-bg: #eff1f4;
    --bs-table-hover-bg: #e3e7ed;
    background-color: #eff1f4;
}

.ledger-other-matter-row > td[b-ihy0cntupq] {
    background-color: #eff1f4;
}

.table-hover > tbody > tr.ledger-other-matter-row:hover > td[b-ihy0cntupq] {
    background-color: #e3e7ed;
}

/* 他事件かつ赤伝（取消）行の薄グレー×赤系背景 */
.ledger-other-matter-red-row[b-ihy0cntupq] {
    --bs-table-bg: #f3e8ea;
    --bs-table-bg-type: #f3e8ea;
    --bs-table-accent-bg: #f3e8ea;
    --bs-table-hover-bg: #ebdadd;
    background-color: #f3e8ea;
}

.ledger-other-matter-red-row > td[b-ihy0cntupq] {
    background-color: #f3e8ea;
}

.table-hover > tbody > tr.ledger-other-matter-red-row:hover > td[b-ihy0cntupq] {
    background-color: #ebdadd;
}

/* 事件切替チップ・凡例 */
.matter-chip-other[b-ihy0cntupq] {
    background-color: #eff1f4;
    color: #495057;
    border: 1px solid #d0d5dd;
    transition: background-color 0.15s ease, border-color 0.15s ease;
}

.matter-chip-other:hover[b-ihy0cntupq] {
    background-color: #e3e7ed;
    border-color: #adb5bd;
    color: #212529;
}

.ledger-other-legend-dot[b-ihy0cntupq] {
    display: inline-block;
    width: 10px;
    height: 10px;
    border-radius: 2px;
    background-color: #eff1f4;
    border: 1px solid #adb5bd;
    vertical-align: middle;
}
/* /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;
}



/* ダッシュボード用コントロール・入力クラス */
.date-input-compact[b-s1nyeuybow] {
    font-size: 0.8rem;
    padding: 2px 6px;
}

.toolbar-vr[b-s1nyeuybow] {
    height: 1.2rem;
}

.filter-control-compact[b-s1nyeuybow] {
    font-size: 0.8rem;
    padding-top: 3px;
    padding-bottom: 3px;
}

.actual-amount-input[b-s1nyeuybow] {
    width: 100%;
    max-width: 110px;
    display: inline-block;
    border-bottom: 1px dashed #cbd5e1 !important;
    border-radius: 0;
}
/* /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;
}

@media (max-width: 767.98px) {
    .btn-kana[b-idq50uhjww] {
        font-size: 0.72rem;
        padding: 3px 6px;
        border-radius: 6px;
    }
}

    .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;
}

/* 汎用マスタ追加の連絡先区分バッジ */
.bg-custom-category[b-idq50uhjww] {
    background-color: #f5f3ff;
    color: #6d28d9;
    border: 1px solid #ddd6fe;
}
/* /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: 100% !important;
    max-height: 100% !important;
    min-height: 0 !important;
    flex: 1 1 0% !important;
    overflow: hidden !important;
}

.attendance-wrapper[b-5etv9nbrx8] {
    display: flex;
    flex-direction: column;
    flex: 1 1 0% !important;
    min-height: 0 !important;
    overflow: hidden !important;
    gap: 0.5rem;
}

.attendance-action-pane[b-5etv9nbrx8] {
    width: 100%;
    flex: 1 1 0% !important;
    min-height: 0 !important;
    display: flex;
    flex-direction: column;
    overflow-y: auto;
}

.attendance-list-pane[b-5etv9nbrx8] {
    width: 100%;
    flex: 1 1 0% !important;
    min-height: 0 !important;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

@media (max-width: 991.98px) {
    .attendance-wrapper[b-5etv9nbrx8] {
        padding-top: 0.25rem !important;
        padding-bottom: 0 !important;
        gap: 0 !important;
    }

    [b-5etv9nbrx8] .attendance-action-pane,
    .attendance-action-pane[b-5etv9nbrx8] {
        height: auto !important;
        flex: 1 1 0% !important;
        min-height: 0 !important;
        max-height: none !important;
    }

    [b-5etv9nbrx8] .attendance-list-pane,
    .attendance-list-pane[b-5etv9nbrx8] {
        min-height: 0 !important;
        height: auto !important;
        flex: 1 1 0% !important;
        max-height: none !important;
    }

    .attendance-mobile-tabs-container[b-5etv9nbrx8] {
        flex-shrink: 0 !important;
        min-height: 52px !important;
        height: auto !important;
        padding-top: 6px !important;
        padding-bottom: 6px !important;
        padding-left: 12px !important;
        padding-right: 12px !important;
        z-index: 100;
        box-shadow: 0 -2px 8px rgba(0, 0, 0, 0.04);
    }
}

/* 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;
        flex: 0 0 360px !important;
        height: 100%;
        min-height: 0;
        overflow-y: auto;
    }

    .attendance-list-pane[b-5etv9nbrx8] {
        width: calc(100% - 360px - 1rem) !important;
        flex: 1 1 auto !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: 2rem;
    height: 2rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.attendance-clock-display[b-5etv9nbrx8] {
    font-size: min(3rem, 11vw);
}

.attendance-status-pill[b-5etv9nbrx8] {
    font-size: 0.85rem;
}

/* ホバー時の透明度 */
.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/Error.razor.rz.scp.css */
.error-page-wrap[b-56sv4uzntq] {
    min-height: 80vh;
}

.error-page-card[b-56sv4uzntq] {
    max-width: 520px;
    width: 100%;
}

.error-page-icon[b-56sv4uzntq] {
    font-size: 3.5rem;
}
/* /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は内部スクロールに任せる */
    }
}

/* 入力フォーム・コンボボックスのスリム化 (1.75rem基準で文字サイズ連動) */
.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],
[b-zs3mrr43rd] .form-control-xs, [b-zs3mrr43rd] .form-select-xs, .compact-selector[b-zs3mrr43rd]  .form-control, .compact-selector[b-zs3mrr43rd]  .form-select, .compact-selector[b-zs3mrr43rd]  input, .compact-selector[b-zs3mrr43rd]  button {
    height: auto !important;
    min-height: 1.75rem !important;
    line-height: 1.25 !important;
    padding-top: 0.15rem !important;
    padding-bottom: 0.15rem !important;
    font-size: 0.85rem !important;
}

.form-select-xs[b-zs3mrr43rd],
[b-zs3mrr43rd] .form-select-xs {
    padding-right: 1.8rem !important;
    background-position: right 0.35rem center !important;
}

textarea.form-control-xs[b-zs3mrr43rd],
[b-zs3mrr43rd] textarea.form-control-xs {
    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] {
    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: 1.75rem;
    font-size: 0.75rem;
    width: 4.5rem !important;
    flex-shrink: 0 !important;
    text-align: right;
}

.compact-row-gap[b-zs3mrr43rd] {
    margin-bottom: 0.25rem !important;
}

/* ツールバーのフィルターアイテム群（PC時は横1列を死守） */
.contact-log-toolbar-filters[b-zs3mrr43rd] {
    flex-shrink: 0;
}

@media (min-width: 768px) {
    .contact-log-toolbar-filters[b-zs3mrr43rd] {
        flex-wrap: nowrap !important;
        overflow-x: visible;
    }
}

.contact-log-toolbar-filters .form-control-xs[b-zs3mrr43rd],
.contact-log-toolbar-filters .form-select-xs[b-zs3mrr43rd] {
    height: auto !important;
    min-height: 1.75rem !important;
    font-size: 0.78rem !important;
    padding-top: 0.1rem !important;
    padding-bottom: 0.1rem !important;
    padding-left: 0.35rem !important;
    flex-shrink: 0 !important;
}

.contact-log-toolbar-filters .form-select-xs[b-zs3mrr43rd] {
    padding-right: 1.25rem !important;
    background-position: right 0.25rem center !important;
    background-size: 9px 9px !important;
}

.contact-filter-date-input[b-zs3mrr43rd] {
    width: 6.75rem !important;
    font-size: 0.76rem !important;
    min-height: 1.75rem !important;
    height: auto !important;
    padding: 0.1rem 0.15rem !important;
    text-align: center;
}

.contact-filter-keyword[b-zs3mrr43rd] {
    width: 95px !important;
}

.contact-filter-target[b-zs3mrr43rd] {
    width: 105px !important;
}

.contact-filter-mean[b-zs3mrr43rd] {
    width: 85px !important;
}

.contact-filter-kbn[b-zs3mrr43rd] {
    width: 90px !important;
}

.contact-filter-sort[b-zs3mrr43rd] {
    width: 85px !important;
}

.contact-filter-casetype[b-zs3mrr43rd] {
    width: 105px !important;
}

@media (min-width: 1400px) {
    .contact-filter-keyword[b-zs3mrr43rd] {
        width: 120px !important;
    }
    .contact-filter-target[b-zs3mrr43rd] {
        width: 120px !important;
    }
}


/* カード右側メタデータ項目の列揃え */
.log-target-badge[b-zs3mrr43rd] {
    min-width: 4.5rem;
    width: auto;
    min-height: 1.5rem;
    height: auto;
    font-size: 0.75rem;
    padding: 0.1rem 0.55rem;
}

.log-mean-label[b-zs3mrr43rd] {
    font-size: 0.82rem;
    width: auto;
}

.log-header-datetime[b-zs3mrr43rd] {
    font-size: 0.82rem !important;
    width: auto;
}

.log-header-user[b-zs3mrr43rd] {
    font-size: 0.82rem !important;
    max-width: 7.25rem;
    width: auto;
}

@media (min-width: 768px) {
    .log-target-badge[b-zs3mrr43rd] {
        width: 7.5rem !important;
        min-width: 7.5rem !important;
        max-width: 7.5rem !important;
        flex: 0 0 7.5rem !important;
    }

    .log-mean-label[b-zs3mrr43rd] {
        width: 5.25rem !important;
        min-width: 5.25rem !important;
        max-width: 5.25rem !important;
        flex: 0 0 5.25rem !important;
    }

    .log-header-datetime[b-zs3mrr43rd] {
        width: 8.25rem !important;
        min-width: 8.25rem !important;
        max-width: 8.25rem !important;
        flex: 0 0 8.25rem !important;
        text-align: center;
    }

    .log-header-user[b-zs3mrr43rd] {
        width: 7.25rem !important;
        min-width: 7.25rem !important;
        max-width: 7.25rem !important;
        flex: 0 0 7.25rem !important;
    }
}

.mobile-sheet-backdrop[b-zs3mrr43rd] {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background: rgba(0, 0, 0, 0.45);
    z-index: 2050;
}

.mobile-expense-bottom-sheet[b-zs3mrr43rd] {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 2060;
    max-height: 85vh;
    overflow-y: auto;
    box-shadow: 0 -8px 24px rgba(0, 0, 0, 0.15);
}

.form-select-xs[b-zs3mrr43rd],
.form-control-xs[b-zs3mrr43rd],
[b-zs3mrr43rd] .form-select-xs,
[b-zs3mrr43rd] .form-control-xs {
    height: auto !important;
    min-height: 1.75rem !important;
    font-size: 0.8rem !important;
    padding-top: 0.15rem !important;
    padding-bottom: 0.15rem !important;
}

.input-group-xs > .form-control[b-zs3mrr43rd],
.input-group-xs > .input-group-text[b-zs3mrr43rd],
.input-group-xs[b-zs3mrr43rd]  > .form-control,
.input-group-xs[b-zs3mrr43rd]  > .input-group-text {
    height: auto !important;
    min-height: 1.75rem !important;
    font-size: 0.8rem !important;
    padding: 0.15rem 0.4rem !important;
}

.btn-xs[b-zs3mrr43rd],
[b-zs3mrr43rd] .btn-xs {
    padding: 0.15rem 0.45rem !important;
    font-size: 0.75rem !important;
    line-height: 1.3 !important;
}

.customer-matter-select[b-zs3mrr43rd] {
    width: 100%;
}

@media (min-width: 576px) {
    .customer-matter-select[b-zs3mrr43rd] {
        width: auto;
        min-width: 240px;
        max-width: 420px;
    }
}
/* /Components/Pages/Expenses/ExpenseList.razor.rz.scp.css */
.expense-container[b-in7m8dkfd2] {
    display: flex;
    flex-direction: column;
    height: auto !important;
    min-height: 100% !important;
    flex-grow: 1 !important;
    overflow: visible !important;
}

@media (min-width: 768px) {
    .expense-container[b-in7m8dkfd2] {
        height: 100% !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: 360px;
}

@media (min-width: 768px) {
    .expense-list-pane[b-in7m8dkfd2] {
        min-height: 0; /* PC時は内部スクロール */
    }
}

.expense-filter-search[b-in7m8dkfd2] {
    width: 100%;
    min-width: 180px;
    flex-grow: 1;
}

@media (min-width: 768px) {
    .expense-filter-search[b-in7m8dkfd2] {
        width: auto;
        max-width: 260px;
        flex-grow: 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;
}

/* 請求書作成モーダル用 */
.invoice-modal-body[b-in7m8dkfd2] {
    max-height: 82vh;
    overflow-y: auto;
}

.invoice-table-container[b-in7m8dkfd2] {
    max-height: 220px;
    overflow-y: auto;
}

.col-inv-select[b-in7m8dkfd2] {
    width: 50px;
}

.col-inv-date[b-in7m8dkfd2] {
    width: 120px;
}

.col-inv-amount[b-in7m8dkfd2] {
    width: 150px;
}

.custom-split-table-wrap[b-in7m8dkfd2] {
    max-height: 280px;
    overflow-y: auto;
}

.col-split-no[b-in7m8dkfd2] {
    width: 78px;
}

.col-split-date[b-in7m8dkfd2] {
    width: 165px;
}

.col-split-amount[b-in7m8dkfd2] {
    width: 190px;
}

.col-split-action[b-in7m8dkfd2] {
    width: 125px;
}

.split-mode-btn[b-in7m8dkfd2] {
    font-size: 0.8rem;
    padding: 0.3rem 0.85rem;
}

.invoice-summary-grid[b-in7m8dkfd2] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
    gap: 0.75rem;
}

.refund-bank-textarea[b-in7m8dkfd2] {
    resize: vertical;
    min-height: 54px;
}
/* /Components/Pages/FaxInbox.razor.rz.scp.css */
@media (min-width: 768px) {
    .fax-inbox-container[b-yjcckbir3n] {
        height: 100% !important;
        max-height: 100% !important;
        min-height: 0 !important;
        overflow: hidden !important;
        flex: 1 1 0px !important;
        display: flex !important;
        flex-direction: column !important;
    }

    .fax-inbox-main-row[b-yjcckbir3n] {
        flex: 1 1 0px !important;
        height: 0px !important;
        min-height: 0 !important;
        overflow: hidden !important;
        flex-wrap: nowrap !important;
    }

    .fax-inbox-left-col[b-yjcckbir3n],
    .fax-inbox-right-col[b-yjcckbir3n] {
        height: 100% !important;
        max-height: 100% !important;
        min-height: 0 !important;
    }

    .fax-file-list-card[b-yjcckbir3n] {
        flex: 1 1 0px !important;
        height: 0px !important;
        min-height: 0 !important;
        overflow: hidden !important;
    }

    .fax-file-list-body[b-yjcckbir3n] {
        flex: 1 1 0px !important;
        min-height: 0 !important;
        max-height: none !important;
        overflow-y: auto !important;
    }

    .fax-preview-card[b-yjcckbir3n] {
        flex: 1 1 0px !important;
        height: 0px !important;
        min-height: 0 !important;
        overflow: hidden !important;
    }

    .fax-preview-body[b-yjcckbir3n] {
        flex: 1 1 0px !important;
        min-height: 0 !important;
        overflow: auto !important;
    }
}

@media (max-width: 767.98px) {
    .fax-file-list-body[b-yjcckbir3n] {
        max-height: 36vh;
        overflow-y: auto;
    }

    .fax-preview-body[b-yjcckbir3n] {
        min-height: 380px;
    }
}

.fax-inbox-header[b-yjcckbir3n]  .context-header {
    margin-bottom: 0 !important;
}

.fax-search-card[b-yjcckbir3n] {
    position: relative;
    z-index: 20;
}

.fax-action-btn[b-yjcckbir3n] {
    font-size: 0.8rem;
}

.fax-tiff-icon[b-yjcckbir3n] {
    font-size: 3rem;
}

.fax-master-checkbox[b-yjcckbir3n],
.fax-item-checkbox[b-yjcckbir3n] {
    width: 1.05rem;
    height: 1.05rem;
    margin-top: 0;
    cursor: pointer;
    flex-shrink: 0;
}

.fax-list-item[b-yjcckbir3n] {
    display: flex;
    align-items: center;
    padding: 0;
    border-left: 4px solid transparent;
    transition: background-color 0.12s ease, border-color 0.12s ease;
}

.fax-list-item:hover[b-yjcckbir3n] {
    background-color: #f8f9fa;
}

.fax-list-item.is-checked[b-yjcckbir3n] {
    background-color: #f0f7ff;
}

.fax-list-item.is-previewing[b-yjcckbir3n] {
    background-color: #e0edff;
    border-left-color: #0d6efd;
}

.fax-check-zone[b-yjcckbir3n] {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0.55rem 0.5rem 0.55rem 0.75rem;
    cursor: pointer;
    flex-shrink: 0;
}

.fax-item-main-btn[b-yjcckbir3n] {
    flex: 1 1 0px;
    min-width: 0;
    border: 0;
    background: transparent;
    text-align: left;
    padding: 0.55rem 0.75rem 0.55rem 0.25rem;
    color: #212529;
}

.fax-list-item.is-previewing .fax-item-main-btn[b-yjcckbir3n] {
    font-weight: 600;
    color: #0a58ca;
}
/* /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/Line/LineInbox.razor.rz.scp.css */
/* LINE受付 全体コンテナ */
.line-inbox-container[b-53m3wx08u5] {
    height: 100% !important;
    max-height: 100% !important;
    min-height: 0 !important;
    overflow: hidden !important;
    flex: 1 1 0 !important;
    display: flex !important;
    flex-direction: column !important;
}

/* ヘッダー内 ContextHeader の余白調整 */
.line-inbox-header[b-53m3wx08u5]  .context-header {
    margin-bottom: 0 !important;
}

/* メイン行（左リストと右チャット） */
.line-inbox-main-row[b-53m3wx08u5] {
    flex: 1 1 0 !important;
    min-height: 0 !important;
    height: 100% !important;
    overflow: hidden !important;
    flex-wrap: nowrap !important;
}

/* 右ペイン（チャットルーム） */
.line-inbox-chat-pane[b-53m3wx08u5] {
    height: 100% !important;
    max-height: 100% !important;
    min-height: 0 !important;
    flex: 1 1 0 !important;
    overflow: hidden !important;
    display: flex !important;
    flex-direction: column !important;
}

/* トークヘッダー（相手情報＋ボタン）固定 */
.line-chat-header[b-53m3wx08u5] {
    flex-shrink: 0 !important;
    z-index: 10;
}

/* メッセージ履歴エリア（スクロール領域） */
.line-chat-messages[b-53m3wx08u5] {
    flex: 1 1 0 !important;
    min-height: 0 !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    -webkit-overflow-scrolling: touch;
}

/* メッセージ入力エリア（下部固定） */
.line-chat-input[b-53m3wx08u5] {
    flex-shrink: 0 !important;
    z-index: 10;
}


/* ========================================================
   LineInbox Scoped Utility & Component Styles
   ======================================================== */
.line-channel-tabs[b-53m3wx08u5] {
    overflow-x: auto;
    white-space: nowrap;
    -webkit-overflow-scrolling: touch;
    min-height: 54px;
}

.line-avatar-40[b-53m3wx08u5] {
    width: 40px;
    height: 40px;
    object-fit: cover;
    border: 1px solid #e9ecef;
}

.line-avatar-placeholder-40[b-53m3wx08u5] {
    width: 40px;
    height: 40px;
}

.line-avatar-38[b-53m3wx08u5] {
    width: 38px;
    height: 38px;
    object-fit: cover;
}

.line-avatar-placeholder-38[b-53m3wx08u5] {
    width: 38px;
    height: 38px;
    font-size: 1.1rem;
}

.line-avatar-36[b-53m3wx08u5] {
    width: 36px;
    height: 36px;
    object-fit: cover;
}

.line-avatar-placeholder-36[b-53m3wx08u5] {
    width: 36px;
    height: 36px;
    font-size: 1.1rem;
}

.line-avatar-35[b-53m3wx08u5] {
    width: 35px;
    height: 35px;
    object-fit: cover;
}

.line-avatar-placeholder-35[b-53m3wx08u5] {
    width: 35px;
    height: 35px;
}

.line-chat-bg[b-53m3wx08u5] {
    background-color: #7494C0;
}

.line-chat-empty-state[b-53m3wx08u5] {
    opacity: 0.8;
}

.line-chat-empty-icon[b-53m3wx08u5] {
    font-size: 4rem;
}

.line-msg-col[b-53m3wx08u5] {
    max-width: 70%;
}

.line-msg-img[b-53m3wx08u5] {
    max-height: 250px;
    max-width: 100%;
    object-fit: contain;
}

.line-sticker-img[b-53m3wx08u5] {
    width: 110px;
    height: 110px;
    object-fit: contain;
}

.line-msg-meta[b-53m3wx08u5] {
    font-size: 0.7rem;
    opacity: 0.9;
}

.line-retry-btn[b-53m3wx08u5] {
    font-size: 0.65rem;
    border-color: #ffcccc;
}

.line-msg-textarea[b-53m3wx08u5] {
    border-radius: 12px;
    resize: none;
}

.line-preview-backdrop[b-53m3wx08u5] {
    background-color: rgba(0, 0, 0, 0.75);
    z-index: 3000;
}

.line-preview-img[b-53m3wx08u5] {
    max-height: 80vh;
    width: auto;
    object-fit: contain;
}

.line-mapping-scroll[b-53m3wx08u5] {
    max-height: 300px;
    overflow-y: auto;
}


.line-badge-closed[b-53m3wx08u5] {
    background-color: #f1f5f9;
    color: #475569;
    border: 1px solid #cbd5e1;
}

.line-item-closed[b-53m3wx08u5] {
    opacity: 0.92;
}
/* /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;
    }
}

[b-hpocdu8kss] .btn-litigation {
    background-color: #6f42c1 !important;
    border-color: #6f42c1 !important;
    color: #ffffff !important;
}

[b-hpocdu8kss] .btn-litigation:hover,
[b-hpocdu8kss] .btn-litigation:focus {
    background-color: #59359a !important;
    border-color: #59359a !important;
    color: #ffffff !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;
    }
}


.select-compact-pill[b-q7ggm901gz],
[b-q7ggm901gz] .select-compact-pill {
    padding: 0.15rem 1.85rem 0.15rem 0.6rem !important;
    background-position: right 0.45rem center !important;
    width: auto !important;
}

.note-card-editor[b-q7ggm901gz]  .ql-toolbar.ql-snow {
    border-top: none !important;
    border-left: none !important;
    border-right: none !important;
    border-bottom: 1px solid #dee2e6 !important;
    background-color: #f8f9fa;
}

.note-card-editor[b-q7ggm901gz]  .ql-container.ql-snow {
    border: none !important;
}

[b-q7ggm901gz] .btn-litigation {
    background-color: #6f42c1 !important;
    border-color: #6f42c1 !important;
    color: #ffffff !important;
}

[b-q7ggm901gz] .btn-litigation:hover,
[b-q7ggm901gz] .btn-litigation:focus {
    background-color: #59359a !important;
    border-color: #59359a !important;
    color: #ffffff !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.75rem;
    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;
}

.tenant-name-badge[b-itp9y8diva] {
    color: #334155 !important;
    background-color: #f1f5f9 !important;
    border: 1px solid #cbd5e1 !important;
}

/* ----------------------------------
   全体・カードの調整
   ---------------------------------- */
.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: 3.5rem 3rem;
}

.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;
        box-shadow: 0 0 0 4px rgba(0, 194, 168, 0.15);
    }

/* ----------------------------------
   MFA・新しいデバイス認証UI
   ---------------------------------- */
.new-device-info-box[b-itp9y8diva] {
    background-color: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 14px;
    padding: 0.7rem 0.95rem;
}

.trust-device-box[b-itp9y8diva] {
    background-color: #f8fafc;
    border: 1px solid #cbd5e1;
    border-radius: 12px;
    padding: 0.7rem 0.95rem;
    transition: border-color 0.2s ease, background-color 0.2s ease;
}

    .trust-device-box:hover[b-itp9y8diva] {
        border-color: var(--legal-accent);
        background-color: #f0fdfa;
    }

.mfa-verify-code-input[b-itp9y8diva] {
    letter-spacing: 0.25em;
}

.mfa-setup-qr-img[b-itp9y8diva] {
    width: 140px;
    height: 140px;
}

.mfa-setup-code-input[b-itp9y8diva] {
    max-width: 200px;
    letter-spacing: 0.18em;
}

.extra-small[b-itp9y8diva] {
    font-size: 0.75rem;
}

/* ----------------------------------
   ボタン・リンク
   ---------------------------------- */
.login-submit-btn[b-itp9y8diva] {
    background-color: var(--legal-accent) !important;
    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);
    }

/* アニメーション */
.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/MaintenanceMenu.razor.rz.scp.css */
.maintenance-section[b-dh1jrbo434] {
    margin-bottom: 1.5rem;
}

.maintenance-category-header[b-dh1jrbo434] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.45rem 0.85rem;
    margin-bottom: 0.75rem;
    border-radius: 8px;
    background-color: #f8fafc;
    border-left: 4px solid #cbd5e1;
}

.maintenance-category-header.cat-green[b-dh1jrbo434] {
    border-left-color: #198754;
    background-color: rgba(25, 135, 84, 0.05);
}

.maintenance-category-header.cat-blue[b-dh1jrbo434] {
    border-left-color: #0d6efd;
    background-color: rgba(13, 110, 253, 0.05);
}

.maintenance-category-header.cat-amber[b-dh1jrbo434] {
    border-left-color: #d97706;
    background-color: rgba(245, 158, 11, 0.07);
}

.maintenance-category-header.cat-indigo[b-dh1jrbo434] {
    border-left-color: #4f46e5;
    background-color: rgba(79, 70, 229, 0.05);
}

.maintenance-card[b-dh1jrbo434] {
    transition: transform 0.15s ease, box-shadow 0.15s ease, border-color 0.15s ease;
    border: 1px solid #e9ecef !important;
}

.maintenance-card:hover[b-dh1jrbo434] {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08) !important;
    border-color: #cbd5e1 !important;
}

.maintenance-card .menu-icon-circle[b-dh1jrbo434] {
    width: 2.75rem;
    height: 2.75rem;
    min-width: 2.75rem;
    border-radius: 0.75rem;
}

.maintenance-card .menu-icon-circle i[b-dh1jrbo434] {
    font-size: 1.25rem !important;
}

.maintenance-card .card-body > .flex-grow-1[b-dh1jrbo434] {
    min-width: 0;
}

.maintenance-card h6[b-dh1jrbo434] {
    line-height: 1.3;
    font-size: 0.95rem;
}
/* /Components/Pages/Maintenance/AnalyticsDashboard.razor.rz.scp.css */
.analytics-progress[b-0ty53fyp63] {
    width: 100px;
    height: 8px;
}
/* /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/FaxSettings.razor.rz.scp.css */
.fax-select-max[b-98wzejdsso] {
    max-width: 450px;
}

.fax-col-name[b-98wzejdsso] {
    width: 50%;
}

.fax-col-date[b-98wzejdsso] {
    width: 30%;
}

.fax-col-actions[b-98wzejdsso] {
    width: 20%;
}

.fax-modal-backdrop[b-98wzejdsso] {
    background-color: rgba(0, 0, 0, 0.5);
}

.fax-perm-list[b-98wzejdsso] {
    max-height: 300px;
}
/* /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: calc(100vh - 14.5rem);
    min-height: 24rem;
    overflow-y: auto;
}

/* 左側にアクセントカラーのボーダーを付ける */
.border-accent[b-tk0toiozba] {
    border-left: 3px solid var(--legal-accent) !important;
}

/* 定休日（曜日）チェックボックスピル */
.weekday-check-pill[b-tk0toiozba] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.35rem;
    padding: 0.35rem 0.65rem;
    border-radius: 0.5rem;
    border: 1px solid #cbd5e1;
    background-color: #ffffff;
    cursor: pointer;
    user-select: none;
    transition: all 0.15s ease;
    font-size: 0.85rem;
    font-weight: 700;
    min-width: 3.4rem;
}

.weekday-check-pill:hover[b-tk0toiozba] {
    border-color: #94a3b8;
    background-color: #f8fafc;
}

.weekday-check-pill.checked[b-tk0toiozba] {
    background-color: rgba(25, 135, 84, 0.08);
    border-color: #198754;
}

.weekday-check-pill.checked.sun[b-tk0toiozba] {
    background-color: rgba(220, 53, 69, 0.08);
    border-color: #dc3545;
}

.weekday-check-pill.checked.sat[b-tk0toiozba] {
    background-color: rgba(13, 110, 253, 0.08);
    border-color: #0d6efd;
}

.weekday-check-pill .form-check-input[b-tk0toiozba] {
    margin-top: 0;
    cursor: pointer;
}

/* コンパクト一覧行 */
.holiday-compact-table > tbody > tr > td[b-tk0toiozba] {
    padding-top: 0.35rem !important;
    padding-bottom: 0.35rem !important;
    font-size: 0.85rem;
}

.preset-chip[b-tk0toiozba] {
    font-size: 0.75rem;
    padding: 0.15rem 0.55rem;
    border-radius: 50rem;
    border: 1px solid #cbd5e1;
    background-color: #f8fafc;
    color: #475569;
    cursor: pointer;
    transition: all 0.15s ease;
}

.preset-chip:hover[b-tk0toiozba] {
    background-color: #e2e8f0;
    color: #1e293b;
}

/* /Components/Pages/Maintenance/InvoiceTemplateEdit.razor.rz.scp.css */
.file-drop-zone[b-66o6f1qxgu] {
    min-height: 120px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

    .file-drop-zone:hover[b-66o6f1qxgu] {
        background-color: #f0f8ff !important;
        border-color: var(--legal-accent) !important;
    }

.mapping-table-container[b-66o6f1qxgu] {
    max-height: 480px;
    overflow-y: auto;
}

.col-map-ph[b-66o6f1qxgu] {
    width: 24%;
}

.col-map-src[b-66o6f1qxgu] {
    width: 31%;
}

.col-map-list[b-66o6f1qxgu] {
    width: 10%;
}

.col-map-fmt[b-66o6f1qxgu] {
    width: 15%;
}

.col-map-def[b-66o6f1qxgu] {
    width: 15%;
}

.col-map-del[b-66o6f1qxgu] {
    width: 5%;
}
/* /Components/Pages/Maintenance/InvoiceTemplateList.razor.rz.scp.css */
.col-inv-name[b-bg3gtosnyj] {
    width: 24%;
}

.col-inv-case[b-bg3gtosnyj] {
    width: 15%;
}

.col-inv-billing[b-bg3gtosnyj] {
    width: 12%;
}

.col-inv-type[b-bg3gtosnyj] {
    width: 10%;
}

.col-inv-file[b-bg3gtosnyj] {
    width: 16%;
}

.col-inv-order[b-bg3gtosnyj] {
    width: 7%;
}

.col-inv-updated[b-bg3gtosnyj] {
    width: 10%;
}

.col-inv-actions[b-bg3gtosnyj] {
    width: 6%;
}
/* /Components/Pages/Maintenance/LineSettings.razor.rz.scp.css */
.line-read-mode-card[b-qtruy4ejj4] {
    border: 2px solid #dee2e6;
    border-radius: 0.75rem;
    padding: 0.875rem 1rem;
    background-color: #ffffff;
    cursor: pointer;
    transition: border-color 0.15s ease, background-color 0.15s ease, box-shadow 0.15s ease;
    text-align: left;
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
}

.line-read-mode-card:hover:not(:disabled)[b-qtruy4ejj4] {
    border-color: #198754;
    background-color: #f8fdf9;
}

.line-read-mode-card.is-selected[b-qtruy4ejj4] {
    border-color: #198754;
    background-color: #f0faf3;
    box-shadow: 0 2px 6px rgba(25, 135, 84, 0.12);
}

.line-read-mode-card:disabled[b-qtruy4ejj4] {
    opacity: 0.65;
    cursor: not-allowed;
}

.line-read-mode-radio[b-qtruy4ejj4] {
    width: 18px;
    height: 18px;
    border-radius: 50%;
    border: 2px solid #adb5bd;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    margin-top: 2px;
}

.line-read-mode-card.is-selected .line-read-mode-radio[b-qtruy4ejj4] {
    border-color: #198754;
    background-color: #198754;
}

.line-read-mode-radio-dot[b-qtruy4ejj4] {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background-color: #ffffff;
}
/* /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 */
.test-email-input[b-cnp4xb5sy5] {
    max-width: 320px;
}
/* /Components/Pages/Maintenance/SystemSettings.razor.rz.scp.css */
/* 設定画面全体 */
.settings-container[b-dbrhhgkw9n] {
    width: 100%;
}

/* タスクカラー設定用のカラーピッカー調整 */
.color-picker-refined[b-dbrhhgkw9n] {
    width: 2.1875rem;
    height: 2.1875rem;
    cursor: pointer;
    border-radius: 0.5rem !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);
}


.sec-number-group[b-dbrhhgkw9n] {
    width: 120px;
    max-width: 100%;
}
/* /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], [b-jo52k4fafl] .user-edit-color {
    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], [b-jo52k4fafl] .border-accent-soft {
    border-color: rgba(0, 194, 168, 0.3) !important;
}
/* /Components/Pages/Maintenance/WebFormBuilder.razor.rz.scp.css */
/* WebFormBuilder Scoped Styles */

.wf-editor-pane[b-94g67nz8aq] {
    max-height: 78vh;
    overflow-y: auto;
    overflow-x: hidden;
}

.wf-notify-users-box[b-94g67nz8aq] {
    min-height: 2.5rem;
}

.wf-select-compact[b-94g67nz8aq] {
    padding-right: 2.25rem;
}

.wf-embed-textarea[b-94g67nz8aq] {
    font-size: 0.82rem;
}

/* Field Builder Cards */
.wf-field-card[b-94g67nz8aq] {
    border: 1px solid #e2e8f0;
    border-radius: 0.625rem;
    background-color: #f8fafc;
    transition: border-color 0.15s ease, box-shadow 0.15s ease, background-color 0.15s ease;
}

.wf-field-card.wf-system-card[b-94g67nz8aq] {
    background-color: #f8faff;
    border-color: #cbd5e1;
    border-left: 4px solid #3b82f6;
}

.wf-field-card.wf-card-dragging[b-94g67nz8aq] {
    opacity: 0.55;
}

.wf-field-card.wf-card-drag-over[b-94g67nz8aq] {
    border-color: #2563eb;
    box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.18);
    background-color: #eff6ff;
}

.wf-order-col[b-94g67nz8aq] {
    width: 2.5rem;
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 2px;
}

.wf-step-badge[b-94g67nz8aq] {
    font-size: 0.68rem;
    font-weight: 700;
    color: #64748b;
    background: #e2e8f0;
    border-radius: 999px;
    padding: 1px 6px;
    line-height: 1.3;
}

.wf-drag-handle[b-94g67nz8aq] {
    cursor: grab;
    color: #64748b;
    padding: 2px 4px;
    border-radius: 4px;
    line-height: 1;
    user-select: none;
}

.wf-drag-handle:hover[b-94g67nz8aq] {
    background-color: #e2e8f0;
    color: #1e293b;
}

.wf-drag-handle:active[b-94g67nz8aq] {
    cursor: grabbing;
}

.wf-move-btn[b-94g67nz8aq] {
    padding: 0 4px;
    line-height: 1.1;
    font-size: 0.72rem;
    color: #475569;
    border: 1px solid #cbd5e1;
    background: #ffffff;
    border-radius: 4px;
}

.wf-move-btn:hover:not(:disabled)[b-94g67nz8aq] {
    background: #f1f5f9;
    color: #0f172a;
}

.wf-move-btn:disabled[b-94g67nz8aq] {
    opacity: 0.35;
    cursor: not-allowed;
}

.wf-sys-badge[b-94g67nz8aq] {
    font-size: 0.68rem;
    font-weight: 600;
    padding: 2px 7px;
    border-radius: 999px;
    background-color: #dbeafe;
    color: #1d4ed8;
    border: 1px solid #bfdbfe;
    white-space: nowrap;
}

/* Sticky Live Preview */
.wf-preview-sticky[b-94g67nz8aq] {
    top: 76px;
}

.wf-preview-stage[b-94g67nz8aq] {
    background-color: #f1f5f9;
    border-radius: 0 0 0.75rem 0.75rem;
    padding: 16px;
    max-height: 72vh;
    overflow-y: auto;
    position: relative;
}

.wf-preview-stage.wf-stage-embed[b-94g67nz8aq] {
    background-color: #f8fafc;
    background-image: radial-gradient(#cbd5e1 0.75px, transparent 0.75px);
    background-size: 16px 16px;
}

.wf-mock-urlbar[b-94g67nz8aq] {
    display: flex;
    align-items: center;
    gap: 6px;
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    padding: 5px 10px;
    margin-bottom: 12px;
    font-size: 0.72rem;
    color: #64748b;
}

.wf-mock-dot[b-94g67nz8aq] {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #cbd5e1;
    display: inline-block;
}

.wf-mock-site-shell[b-94g67nz8aq] {
    background: rgba(255, 255, 255, 0.9);
    border: 1px dashed #cbd5e1;
    border-radius: 12px;
    padding: 14px;
}

.wf-mock-site-skeleton[b-94g67nz8aq] {
    height: 8px;
    border-radius: 4px;
    background: #e2e8f0;
    margin-bottom: 6px;
}

/* Faithful Widget Preview Card (mirrors widget.css) */
.wf-widget-card[b-94g67nz8aq] {
    background: #ffffff;
    border-radius: 14px;
    border: 1px solid #e2e8f0;
    box-shadow: 0 12px 28px -8px rgba(15, 23, 42, 0.12);
    display: flex;
    flex-direction: column;
    overflow: hidden;
    font-family: 'Inter', system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    color: #334155;
}

.wf-widget-header[b-94g67nz8aq] {
    background: linear-gradient(135deg, var(--li-preview-theme, #3b82f6) 0%, var(--li-preview-theme-dark, #2563eb) 100%);
    color: #ffffff;
    padding: 14px 18px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.wf-widget-title[b-94g67nz8aq] {
    margin: 0;
    font-size: 0.98rem;
    font-weight: 600;
    display: flex;
    align-items: center;
    gap: 8px;
    min-width: 0;
}

.wf-widget-avatar-img[b-94g67nz8aq] {
    width: 24px;
    height: 24px;
    border-radius: 50%;
    object-fit: cover;
    flex-shrink: 0;
}

.wf-widget-close[b-94g67nz8aq] {
    color: rgba(255, 255, 255, 0.85);
    font-size: 1rem;
    line-height: 1;
}

.wf-widget-body[b-94g67nz8aq] {
    padding: 18px;
    background: #ffffff;
    flex: 1;
}

.wf-widget-body.wf-chat-body[b-94g67nz8aq] {
    background: #ffffff;
    min-height: 230px;
    max-height: 320px;
    overflow-y: auto;
}

.wf-widget-footer[b-94g67nz8aq] {
    padding: 14px 18px;
    border-top: 1px solid #f1f5f9;
    background: #ffffff;
}

/* Form Elements inside Preview */
.wf-form-group[b-94g67nz8aq] {
    margin-bottom: 14px;
}

.wf-form-label[b-94g67nz8aq] {
    display: block;
    font-size: 0.82rem;
    font-weight: 600;
    margin-bottom: 5px;
    color: #334155;
}

.wf-form-req[b-94g67nz8aq] {
    color: #ef4444;
    margin-left: 3px;
    font-weight: 700;
}

.wf-form-input[b-94g67nz8aq],
.wf-form-textarea[b-94g67nz8aq],
.wf-form-select[b-94g67nz8aq] {
    width: 100%;
    padding: 8px 12px;
    font-size: 0.85rem;
    color: #1e293b;
    background-color: #f8fafc;
    border: 1.5px solid #cbd5e1;
    border-radius: 8px;
}

.wf-form-textarea[b-94g67nz8aq] {
    min-height: 76px;
    resize: vertical;
}

.wf-form-msg-block[b-94g67nz8aq] {
    white-space: pre-wrap;
    font-size: 0.84rem;
    color: #334155;
    line-height: 1.55;
    padding: 10px 12px;
    background: #f8fafc;
    border-radius: 8px;
    border-left: 4px solid var(--li-preview-theme, #3b82f6);
}

.wf-choice-list[b-94g67nz8aq] {
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.wf-choice-item[b-94g67nz8aq] {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 0.85rem;
    color: #334155;
    padding: 4px 8px;
    border-radius: 6px;
    cursor: pointer;
}

.wf-choice-item:hover[b-94g67nz8aq] {
    background: #f8fafc;
}

.wf-choice-input[b-94g67nz8aq] {
    width: 15px;
    height: 15px;
    accent-color: var(--li-preview-theme, #3b82f6);
}

.wf-file-drop[b-94g67nz8aq] {
    padding: 12px;
    border: 1.5px dashed #cbd5e1;
    border-radius: 8px;
    background: #f8fafc;
    text-align: center;
    color: #64748b;
    font-size: 0.8rem;
}

.wf-submit-btn[b-94g67nz8aq] {
    width: 100%;
    padding: 10px 16px;
    font-size: 0.9rem;
    font-weight: 600;
    color: #ffffff;
    background: var(--li-preview-theme, #3b82f6);
    border: none;
    border-radius: 8px;
    text-align: center;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
}

.wf-skip-btn[b-94g67nz8aq] {
    padding: 10px 12px;
    font-size: 0.85rem;
    font-weight: 600;
    color: #ffffff;
    background: #94a3b8;
    border: none;
    border-radius: 8px;
    text-align: center;
}

/* Chatbot Elements inside Preview */
.wf-chat-row[b-94g67nz8aq] {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    margin-bottom: 10px;
}

.wf-chat-row.wf-chat-user[b-94g67nz8aq] {
    justify-content: flex-end;
}

.wf-chat-avatar[b-94g67nz8aq] {
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: var(--li-preview-theme, #3b82f6);
    color: #ffffff;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    font-size: 0.88rem;
    overflow: hidden;
}

.wf-chat-avatar img[b-94g67nz8aq] {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.wf-chat-bubble[b-94g67nz8aq] {
    max-width: 82%;
    padding: 8px 12px;
    border-radius: 13px;
    font-size: 0.83rem;
    line-height: 1.5;
    white-space: pre-wrap;
    word-break: break-word;
    background: #f1f5f9;
    color: #1e293b;
    border: 1px solid #e2e8f0;
    border-top-left-radius: 4px;
}

.wf-chat-row.wf-chat-user .wf-chat-bubble[b-94g67nz8aq] {
    background: var(--li-preview-theme, #3b82f6);
    color: #ffffff;
    border: none;
    border-top-right-radius: 4px;
}

.wf-quick-replies[b-94g67nz8aq] {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-bottom: 6px;
}

.wf-quick-pill[b-94g67nz8aq] {
    padding: 5px 12px;
    border-radius: 999px;
    border: 1.5px solid var(--li-preview-theme, #3b82f6);
    background: #ffffff;
    color: var(--li-preview-theme, #3b82f6);
    font-size: 0.78rem;
    font-weight: 600;
}

.wf-quick-pill.wf-quick-skip[b-94g67nz8aq] {
    border-color: #94a3b8;
    color: #64748b;
}

.wf-chat-ctrl-bar[b-94g67nz8aq] {
    display: flex;
    justify-content: space-between;
    margin-top: 6px;
    font-size: 0.72rem;
    color: #64748b;
    text-decoration: underline;
}

/* Chatbot FAB Preview (HP Embed mode only) */
.wf-fab-row[b-94g67nz8aq] {
    display: flex;
    justify-content: flex-end;
    margin-top: 12px;
}

.wf-fab-btn[b-94g67nz8aq] {
    background: var(--li-preview-theme, #3b82f6);
    color: #ffffff;
    height: 52px;
    min-width: 52px;
    border-radius: 999px;
    padding: 0 18px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    box-shadow: 0 10px 20px -5px rgba(0, 0, 0, 0.22);
    font-weight: 700;
    font-size: 0.85rem;
}

.wf-fab-btn.wf-fab-icon-only[b-94g67nz8aq] {
    width: 52px;
    padding: 0;
    border-radius: 50%;
}

.wf-fab-icon-img[b-94g67nz8aq] {
    width: 26px;
    height: 26px;
    border-radius: 50%;
    object-fit: cover;
}
/* /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;
}


/* カード右側メタデータ項目の列揃え */
.prop-location-badge[b-u7ccht54y3] {
    min-width: 4.5rem;
    width: auto;
    min-height: 1.5rem;
    height: auto;
    font-size: 0.75rem;
    padding: 0.1rem 0.55rem;
}

.prop-received-date[b-u7ccht54y3] {
    font-size: 0.82rem;
    width: auto;
}

.prop-return-badge[b-u7ccht54y3] {
    min-height: 1.5rem;
    height: auto;
    font-size: 0.78rem;
    width: auto;
}

@media (min-width: 768px) {
    .prop-location-badge[b-u7ccht54y3] {
        width: 7.5rem !important;
        min-width: 7.5rem !important;
        max-width: 7.5rem !important;
        flex: 0 0 7.5rem !important;
    }

    .prop-received-date[b-u7ccht54y3] {
        width: 7.75rem !important;
        min-width: 7.75rem !important;
        max-width: 7.75rem !important;
        flex: 0 0 7.75rem !important;
        justify-content: center;
    }

    .prop-return-badge[b-u7ccht54y3] {
        width: 9rem !important;
        min-width: 9rem !important;
        max-width: 9rem !important;
        flex: 0 0 9rem !important;
    }
}
/* /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;
    width: 100%;
    max-width: 100%;
    min-width: 0;
}

.karte-header-pane[b-msqguimo8a] {
    flex-shrink: 0; /* ヘッダーは絶対に潰れないようにする */
    width: 100%;
    max-width: 100%;
    min-width: 0;
}

.karte-meta-item[b-msqguimo8a] {
    padding-left: 0.5rem !important; /* 8px: PC・スマホ共通で確実に左余白を確保 */
    padding-right: 0.35rem !important;
}

.karte-meta-item select[b-msqguimo8a] {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    padding-left: 0.25rem !important;
    padding-right: 1.6rem !important;
    background-position: right 0.35rem center !important;
    background-size: 10px 8px !important;
    cursor: pointer;
}

@media (max-width: 767.98px) {
    .karte-header-pane .card-body[b-msqguimo8a] {
        padding: 0.6rem 0.75rem !important; /* スマホ時のカード内部左右余白を12pxに確保して窮屈感を解消 */
    }

    .karte-header-meta-group[b-msqguimo8a] {
        display: flex !important;
        flex-wrap: wrap !important;
        gap: 0.35rem !important;
        width: 100%;
        margin-top: 0.25rem !important;
    }

    .karte-meta-item[b-msqguimo8a] {
        flex: 1 1 calc(50% - 0.35rem);
        min-width: 125px !important;
        padding-left: 0.55rem !important; /* スマホでもしっかり約9pxの左余白 */
        padding-right: 0.35rem !important;
    }

    .karte-meta-item select[b-msqguimo8a] {
        padding-right: 1.25rem !important;
        background-position: right 0.25rem center !important;
        background-size: 10px 8px !important;
    }

    .resign-btn[b-msqguimo8a] {
        flex: 0 0 auto;
        margin-left: auto;
    }
}

.karte-content-wrapper[b-msqguimo8a] {
    display: flex;
    flex-direction: column; /* スマホ時は縦積み（メインが上、サイドが下） */
    flex-grow: 1;
    gap: 1rem;
    min-height: 500px;
    width: 100%;
    max-width: 100%;
    min-width: 0;
}

.karte-main-pane[b-msqguimo8a], .karte-side-pane[b-msqguimo8a] {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.karte-main-pane > .card-refined[b-msqguimo8a],
.karte-side-pane > .card-refined[b-msqguimo8a] {
    width: 100%;
    max-width: 100%;
    min-width: 0;
}

@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;
    min-height: 1.375rem;
    height: auto;
    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;
}

/* カルテ右側クイックアクションボタン（bg-white 併用時でもホバーで背景色と文字色がくっきり反転するように指定） */
.karte-quick-action-btn.btn-outline-success:hover[b-msqguimo8a],
.karte-quick-action-btn.btn-outline-success:focus-visible[b-msqguimo8a],
.karte-quick-action-btn.btn-outline-success:active[b-msqguimo8a] {
    background-color: var(--bs-success, #198754) !important;
    border-color: var(--bs-success, #198754) !important;
    color: #ffffff !important;
}

.karte-quick-action-btn.btn-outline-primary:hover[b-msqguimo8a],
.karte-quick-action-btn.btn-outline-primary:focus-visible[b-msqguimo8a],
.karte-quick-action-btn.btn-outline-primary:active[b-msqguimo8a] {
    background-color: var(--bs-primary, #0d6efd) !important;
    border-color: var(--bs-primary, #0d6efd) !important;
    color: #ffffff !important;
}

.karte-quick-action-btn.btn-outline-info:hover[b-msqguimo8a],
.karte-quick-action-btn.btn-outline-info:focus-visible[b-msqguimo8a],
.karte-quick-action-btn.btn-outline-info:active[b-msqguimo8a] {
    background-color: var(--bs-info, #0dcaf0) !important;
    border-color: var(--bs-info, #0dcaf0) !important;
    color: #000000 !important;
}



/* ========================================================
   MatterDetail Scoped Utility & Component Styles
   ======================================================== */
.karte-client-title[b-msqguimo8a] {
    max-width: 240px;
    font-size: 1.05rem;
}

.karte-legacy-no-input[b-msqguimo8a] {
    width: 4.25rem;
    min-height: 1.25rem;
    height: auto;
    font-size: 0.75rem;
    border-bottom: 1px dashed rgba(255, 255, 255, 0.6) !important;
    border-radius: 0;
}

.karte-title-input[b-msqguimo8a] {
    max-width: 600px;
    font-size: 1rem;
    border-bottom: 1px dashed #ccc !important;
}

.karte-meta-h24[b-msqguimo8a] {
    min-height: 1.5rem;
    height: auto;
}

.karte-meta-select[b-msqguimo8a] {
    width: auto;
    min-width: 0;
    font-size: 0.75rem;
}

.karte-vr-18[b-msqguimo8a] {
    height: 1.125rem;
}

.karte-resign-btn[b-msqguimo8a] {
    min-height: 1.5rem;
    height: auto;
    font-size: 0.72rem;
    border-radius: 4px;
}

.karte-party-table-scroll[b-msqguimo8a] {
    max-height: 380px;
    overflow-y: auto;
}

.karte-party-ng-badge-sm[b-msqguimo8a] {
    font-size: 0.6rem;
    padding: 1px 4px;
}

.karte-lh-135[b-msqguimo8a] {
    line-height: 1.35;
}

.karte-flow-scroll[b-msqguimo8a] {
    max-height: 280px;
    overflow-y: auto;
}

.karte-schedule-scroll[b-msqguimo8a] {
    max-height: 350px;
    overflow-y: auto;
}

.karte-notes-scroll[b-msqguimo8a] {
    max-height: 300px;
    overflow-y: auto;
}

.karte-done-badge[b-msqguimo8a] {
    font-size: 0.7rem;
    white-space: nowrap;
    min-height: 22px;
}

.karte-note-content[b-msqguimo8a] {
    white-space: pre-wrap;
    line-height: 1.5;
}

.karte-ng-check-box[b-msqguimo8a] {
    min-height: 31px;
}

.karte-subcontact-type[b-msqguimo8a] {
    width: 115px;
    flex-shrink: 0;
}

.karte-subcontact-name[b-msqguimo8a] {
    min-width: 110px;
    width: 135px;
}
/* /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],
[b-l2t9vwh6m8] .form-control-sm, [b-l2t9vwh6m8] .form-select-sm {
    height: auto !important;
    min-height: 2rem !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: auto !important;
    min-height: 2rem !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/CustomerEditForm.razor.rz.scp.css */
.reception-mode-check-box[b-slsbs9to1w] {
    border-top: 1px dashed rgba(13, 110, 253, 0.25);
}

.reception-slim-tabs-min[b-slsbs9to1w] {
    min-width: max-content;
}
/* /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: auto !important;
    min-height: 2rem !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],
[b-o80x86u759] .form-control-sm, [b-o80x86u759] .form-select-sm {
    height: auto !important;
    min-height: 2rem !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;
}


/* サマリー・テーブル・モーダル用クラス */
.summary-card-label[b-o80x86u759] {
    font-size: 0.75rem;
    margin-bottom: 2px;
}

.summary-reduction-badge[b-o80x86u759] {
    font-size: 0.75rem;
    margin-bottom: 3px;
}

.summary-pool-header[b-o80x86u759] {
    margin-bottom: 2px;
}

.creditor-table-scroll[b-o80x86u759] {
    max-height: 420px;
    overflow-y: auto;
}

.master-linked-icon[b-o80x86u759] {
    font-size: 0.8em;
}

.modal-body-scroll-75[b-o80x86u759] {
    max-height: 75vh;
}

.plan-table-scroll[b-o80x86u759] {
    max-height: 350px;
}

.bulk-sim-scroll[b-o80x86u759] {
    max-height: 50vh;
}

.memo-textarea[b-o80x86u759],
[b-o80x86u759] .memo-textarea {
    line-height: 1.5;
    font-size: 0.9rem;
}
/* /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: auto !important;
    min-height: 2rem !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/MatterNotesTab.razor.rz.scp.css */
.note-card-editor[b-vnx389dwdr]  .ql-toolbar.ql-snow {
    border-top: none !important;
    border-left: none !important;
    border-right: none !important;
    border-bottom: 1px solid #dee2e6 !important;
    background-color: #f8f9fa;
}

.note-card-editor[b-vnx389dwdr]  .ql-container.ql-snow {
    border: none !important;
}
/* /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;
    }


.bulk-add-row-bar[b-dy9wsjhint] {
    position: sticky;
    left: 0;
    bottom: 0;
    z-index: 15;
}
/* /Components/Pages/Matter/Parts/RelationGraph.razor.rz.scp.css */
/* 入力フォーム・ボタンのスリム化 */
.relation-control-sm[b-6lv7a40qeb] {
    height: auto !important;
    min-height: 2rem !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] {
    min-height: 2.125rem;
    height: auto;
}
/* サブ連絡先の削除ボタン */
.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],
[b-bbo8gwg1b3] .form-control-sm, [b-bbo8gwg1b3] .form-select-sm {
    height: auto !important;
    min-height: 2rem !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はテーブル内部のみをスクロールさせる */
    }
}

/* テーブル列幅の固定 (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] {
    width: 25%;
    min-width: 220px;
}

.col-matters-cell[b-eu4aho9wz8] {
    max-width: 250px;
    white-space: normal;
}

.col-actions[b-eu4aho9wz8] {
    width: 155px;
    min-width: 155px;
}

.reception-kana-text[b-eu4aho9wz8] {
    max-width: 120px;
}

.reception-phone-cell[b-eu4aho9wz8] {
    line-height: 1.35;
}

.reception-log-row[b-eu4aho9wz8] {
    background-color: rgba(245, 158, 11, 0.035);
}

.reception-log-badge[b-eu4aho9wz8] {
    background-color: rgba(245, 158, 11, 0.14);
    color: #b45309;
    border: 1px solid rgba(245, 158, 11, 0.35);
    font-size: 0.7rem;
    font-weight: 700;
    padding: 0.25rem 0.55rem;
    border-radius: 50rem;
    font-family: var(--font-family-soft);
}

.reception-casetype-badge[b-eu4aho9wz8] {
    background-color: rgba(13, 110, 253, 0.09);
    color: #1d4ed8;
    border: 1px solid rgba(13, 110, 253, 0.2);
    font-size: 0.7rem;
    font-weight: 700;
    padding: 0.2rem 0.55rem;
    border-radius: 50rem;
}

.reception-memo-preview[b-eu4aho9wz8] {
    max-width: 220px;
    font-size: 0.75rem;
}

.reception-promote-btn[b-eu4aho9wz8] {
    background-color: rgba(16, 185, 129, 0.12);
    color: #047857;
    border: 1px solid rgba(16, 185, 129, 0.35);
    border-radius: 50rem;
    font-size: 0.72rem;
    padding: 0.2rem 0.6rem;
    white-space: nowrap;
    transition: all 0.15s ease-in-out;
}

.reception-promote-btn:hover:not(:disabled)[b-eu4aho9wz8] {
    background-color: #059669;
    color: #ffffff;
    border-color: #059669;
}

.reception-filter-btn[b-eu4aho9wz8] {
    font-size: 0.73rem;
    padding: 0.2rem 0.65rem;
}

.reception-result-title[b-eu4aho9wz8] {
    font-size: 0.95rem;
}

.reception-quick-filter-wrap[b-eu4aho9wz8] {
    width: 250px;
    max-width: 100%;
}

.reception-thead-sticky[b-eu4aho9wz8] {
    z-index: 10;
}

/* 関与案件のソフトなバッジ（チップ） */
.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.7rem;
    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;
}

/* 操作ボタン（案件カルテの関係者ボタンと同等のサイズ・間隔） */
.action-reception-btn[b-eu4aho9wz8] {
    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-reception-btn.text-primary:hover:not(:disabled)[b-eu4aho9wz8] {
    background-color: rgba(13, 110, 253, 0.12) !important;
}

.action-reception-btn.text-warning:hover:not(:disabled)[b-eu4aho9wz8] {
    background-color: rgba(245, 158, 11, 0.12) !important;
}

.action-reception-btn.text-danger:hover:not(:disabled)[b-eu4aho9wz8] {
    background-color: rgba(230, 55, 87, 0.12) !important;
}

.action-reception-btn:active:not(:disabled)[b-eu4aho9wz8] {
    transform: scale(0.92);
}
/* /Components/Pages/MessageList.razor.rz.scp.css */

.message-container[b-8jbgepel70] {
    display: flex;
    flex-direction: column;
    height: 100% !important;
    min-height: 0 !important;
    flex-grow: 1 !important;
    overflow: hidden !important;
}

.message-wrapper[b-8jbgepel70] {
    display: flex;
    flex-direction: column;
    flex-grow: 1;
    min-height: 0;
    overflow: hidden !important;
    gap: 0.5rem;
}

.message-list-pane[b-8jbgepel70] {
    width: 100%;
    flex: 1 1 0%;
    min-height: 0;
    height: 100% !important;
    max-height: none !important;
    display: flex;
    flex-direction: column;
}

.message-detail-pane[b-8jbgepel70] {
    width: 100%;
    flex: 1 1 0%;
    min-height: 0;
    height: 100% !important;
    max-height: none !important;
    display: flex;
    flex-direction: column;
}

@media (min-width: 768px) {
    .message-container[b-8jbgepel70] {
        height: 100% !important; flex-grow: 1 !important;
        overflow: hidden !important;
    }

    .message-wrapper[b-8jbgepel70] {
        flex-direction: row;
        overflow: hidden !important;
        gap: 1rem;
    }

    .message-list-pane[b-8jbgepel70] {
        width: 380px !important;
        flex: 0 0 380px !important;
        max-height: none !important;
        height: 100%;
    }

    .message-detail-pane[b-8jbgepel70] {
        width: calc(100% - 380px - 1rem) !important;
        flex: 1 1 auto !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/OutlookPanel.razor.rz.scp.css */
.outlook-search-results[b-ck1zzw45g8] {
    max-height: 170px;
}
/* /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;
}


/* ページレイアウト・タブ・テーブル */
.personal-settings-page[b-mnanqkb8f5] {
    height: calc(100vh - 75px);
    overflow: hidden;
}

.settings-main-tabs[b-mnanqkb8f5] {
    flex-wrap: nowrap;
    overflow-x: auto;
    max-width: 100%;
}

.settings-tab-content[b-mnanqkb8f5] {
    overflow-y: auto;
    overflow-x: hidden;
}

.share-table-scroll[b-mnanqkb8f5] {
    max-height: 360px;
}

.share-perm-check[b-mnanqkb8f5] {
    width: 0.9rem;
    height: 0.9rem;
}

.align-text-bottom[b-mnanqkb8f5] {
    vertical-align: text-bottom;
}

.theme-color-picker[b-mnanqkb8f5] {
    width: 50px;
    height: 50px;
    border-radius: 50%;
}

/* 外部連携・セキュリティカードのブランドカラー */
.card-top-connect[b-mnanqkb8f5] { border-top-color: #0d9488 !important; }
.text-brand-connect[b-mnanqkb8f5] { color: #0d9488; }

.card-top-gray[b-mnanqkb8f5] { border-top-color: #6c757d !important; }
.text-brand-gray[b-mnanqkb8f5] { color: #6c757d; }

.card-top-teams[b-mnanqkb8f5] { border-top-color: #464EB8 !important; }
.text-brand-teams[b-mnanqkb8f5] { color: #464EB8; }

.card-top-slack[b-mnanqkb8f5] { border-top-color: #ECB22E !important; }
.text-brand-slack[b-mnanqkb8f5] { color: #ECB22E; }

.card-top-chatwork[b-mnanqkb8f5] { border-top-color: #F7444E !important; }
.text-brand-chatwork[b-mnanqkb8f5] { color: #F7444E; }

.card-top-google[b-mnanqkb8f5] { border-top-color: #4285F4 !important; }
.text-brand-google[b-mnanqkb8f5] { color: #4285F4; }

.card-top-mfa[b-mnanqkb8f5] { border-top-color: #0f172a !important; }
.text-brand-mfa[b-mnanqkb8f5] { color: #0f172a; }

.card-top-password[b-mnanqkb8f5] { border-top-color: #047857 !important; }
.text-brand-password[b-mnanqkb8f5] { color: #047857; }

.mfa-qr-img[b-mnanqkb8f5] {
    width: 180px;
    height: 180px;
}

.mfa-code-input[b-mnanqkb8f5] {
    letter-spacing: 0.15em;
}

.card-top-device[b-mnanqkb8f5] {
    border-top-color: #0284c7 !important;
}

.text-brand-device[b-mnanqkb8f5] {
    color: #0284c7;
}

.device-icon-circle[b-mnanqkb8f5] {
    width: 42px;
    height: 42px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #f1f5f9;
    color: #334155;
    flex-shrink: 0;
}

.device-item-card[b-mnanqkb8f5] {
    border: 1px solid #e2e8f0;
    border-radius: 1rem;
    background-color: #ffffff;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

    .device-item-card:hover[b-mnanqkb8f5] {
        border-color: #cbd5e1;
        box-shadow: 0 4px 12px rgba(15, 23, 42, 0.04);
    }

.device-item-current[b-mnanqkb8f5] {
    border-color: #86efac;
    background-color: #f0fdf4;
}
/* /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: 100% !important;
    min-height: 0 !important;
    flex-grow: 1 !important;
    overflow: hidden !important;
}

.majestic-wrapper[b-7svrc7gawx] {
    display: flex;
    flex-direction: column;
    flex-grow: 1;
    min-height: 0;
    overflow: hidden !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;
    height: 100%;
    min-height: 0;
    overflow: hidden;
}

/* ========================================================
       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: 260px !important;
        max-height: none;
        height: 100%;
    }

    .majestic-main[b-7svrc7gawx] {
        width: calc(100% - 260px) !important;
        height: 100%;
        min-height: 0;
        overflow: hidden;
    }
}

/* ========================================================
   ReportsList Scoped Utility & Component Styles
   ======================================================== */
.report-nav-btn-mob[b-7svrc7gawx] {
    width: 28px;
    height: 28px;
}

.report-cat-pills-mob[b-7svrc7gawx] {
    max-width: calc(100% - 70px);
}

.report-vr-muted[b-7svrc7gawx] {
    opacity: 0.2;
}

.report-drop-overlay[b-7svrc7gawx] {
    z-index: 1050;
    pointer-events: none;
    backdrop-filter: blur(2px);
}

.report-row-drop-target[b-7svrc7gawx] {
    transform: scale(1.01);
    outline: 2px dashed #0d6efd;
    outline-offset: -2px;
}

.report-draggable-row[b-7svrc7gawx] {
    user-select: none;
    -webkit-user-select: none;
}

.report-filter-group[b-7svrc7gawx] {
    width: 170px;
    max-width: 100%;
}

.report-action-grid[b-7svrc7gawx] {
    grid-template-columns: repeat(8, 32px);
    gap: 2px;
    justify-content: center;
}

.report-preview-dialog[b-7svrc7gawx] {
    max-width: 900px;
    width: 95vw;
}

.report-preview-card[b-7svrc7gawx] {
    height: 85vh;
}

.report-preview-media[b-7svrc7gawx] {
    max-height: 100%;
    object-fit: contain;
}

.report-preview-video[b-7svrc7gawx] {
    max-height: 100%;
    outline: none;
}

.report-preview-pre[b-7svrc7gawx] {
    font-family: inherit;
    white-space: pre-wrap;
    word-wrap: break-word;
    font-size: 0.9rem;
}

.report-modal-sm[b-7svrc7gawx] {
    max-width: 450px;
    width: 90vw;
}

.report-modal-md[b-7svrc7gawx] {
    max-width: 700px;
    width: 95vw;
}

.report-ocr-header[b-7svrc7gawx] {
    background-color: #f0fdfa;
}

.report-ocr-title[b-7svrc7gawx] {
    color: #0f766e;
}

/* ========================================================
   3. 左ペイン エクスプローラー風フォルダツリー
   ======================================================== */
.report-sidebar-top[b-7svrc7gawx] {
    flex-shrink: 0;
}

.report-tree-section[b-7svrc7gawx] {
    flex-grow: 1;
    min-height: 0;
    display: flex;
    flex-direction: column;
}

.report-tree-collapse-btn[b-7svrc7gawx] {
    font-size: 0.78rem;
    line-height: 1;
    border: 0;
    background: transparent;
    transition: color 0.15s ease;
}

.report-tree-collapse-btn:hover[b-7svrc7gawx] {
    color: var(--legal-primary) !important;
}

.report-tree-list[b-7svrc7gawx] {
    flex-grow: 1;
    min-height: 0;
    overflow-y: auto;
    overflow-x: hidden;
}

.report-tree-item[b-7svrc7gawx] {
    display: flex;
    align-items: center;
    gap: 4px;
    padding: 5px 8px 5px 4px;
    margin-bottom: 2px;
    border-radius: 6px;
    cursor: pointer;
    user-select: none;
    color: var(--legal-text-main, #1e293b);
    font-size: 0.82rem;
    line-height: 1.3;
    min-width: 0;
    transition: background-color 0.12s ease, color 0.12s ease;
}

.report-tree-item:hover[b-7svrc7gawx] {
    background-color: rgba(15, 23, 42, 0.05);
}

.report-tree-item-active[b-7svrc7gawx] {
    background-color: rgba(0, 69, 62, 0.09) !important;
    color: var(--legal-primary, #00453e);
    font-weight: 700;
    box-shadow: inset 3px 0 0 var(--legal-accent, #00c2a8);
}

.report-tree-item-drop[b-7svrc7gawx] {
    background-color: rgba(13, 110, 253, 0.12) !important;
    outline: 2px dashed #0d6efd;
    outline-offset: -2px;
}

.report-tree-dragging .report-tree-item > *[b-7svrc7gawx] {
    pointer-events: none;
}

.report-tree-toggle[b-7svrc7gawx] {
    width: 18px;
    height: 18px;
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--legal-text-muted, #64748b);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    border-radius: 4px;
    font-size: 0.7rem;
    transition: background-color 0.12s ease, color 0.12s ease;
}

.report-tree-toggle:hover[b-7svrc7gawx] {
    background-color: rgba(15, 23, 42, 0.08);
    color: var(--legal-text-main, #1e293b);
}

.report-tree-toggle-spacer[b-7svrc7gawx] {
    width: 18px;
    height: 18px;
    display: inline-block;
    flex-shrink: 0;
}

.report-tree-icon[b-7svrc7gawx] {
    font-size: 0.95rem;
    line-height: 1;
    flex-shrink: 0;
}

.report-tree-label[b-7svrc7gawx] {
    flex-grow: 1;
    min-width: 0;
}

.report-tree-empty[b-7svrc7gawx] {
    font-size: 0.75rem;
    padding: 4px 8px 4px 28px;
}
/* /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: 100% !important;
    max-height: 100% !important;
    min-height: 0 !important;
    flex: 1 1 0% !important;
    overflow: hidden !important;
}

.room-wrapper[b-ono7op52c9] {
    display: flex;
    flex-direction: column;
    flex: 1 1 0% !important;
    min-height: 0 !important;
    overflow: hidden !important;
    gap: 0.5rem;
}

.room-calendar-pane[b-ono7op52c9] {
    width: 100%;
    min-width: 0;
    display: flex;
    flex-direction: column;
    flex: 1 1 0% !important;
    min-height: 0 !important;
    overflow: hidden;
}

.room-task-pane[b-ono7op52c9] {
    width: 100%;
    flex: 1 1 0% !important;
    min-height: 0 !important;
    border-top: none;
    overflow: hidden;
}

@media (max-width: 991.98px) {
    .room-wrapper[b-ono7op52c9] {
        padding-top: 0.25rem !important;
        padding-bottom: 0 !important;
        gap: 0 !important;
    }

    [b-ono7op52c9] .room-calendar-pane,
    .room-calendar-pane[b-ono7op52c9] {
        height: auto !important;
        flex: 1 1 0% !important;
        min-height: 0 !important;
        max-height: none !important;
    }

    [b-ono7op52c9] .room-task-pane,
    .room-task-pane[b-ono7op52c9] {
        min-height: 0 !important;
        height: auto !important;
        flex: 1 1 0% !important;
        max-height: none !important;
        border-top: none !important;
        border-radius: 1rem !important;
    }

    .room-mobile-tabs-container[b-ono7op52c9] {
        flex-shrink: 0 !important;
        min-height: 52px !important;
        height: auto !important;
        padding-top: 6px !important;
        padding-bottom: 6px !important;
        padding-left: 12px !important;
        padding-right: 12px !important;
        z-index: 100;
        box-shadow: 0 -2px 8px rgba(0, 0, 0, 0.04);
    }
}

@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;
        padding-top: 0.375rem !important;
        padding-bottom: 0.375rem !important;
        gap: 0.75rem;
    }

    .room-calendar-pane[b-ono7op52c9] {
        width: calc(100% - 312px) !important;
        height: 100% !important;
        min-height: 0 !important;
        max-height: none !important;
        overflow: hidden;
    }

    .room-task-pane[b-ono7op52c9] {
        width: 312px !important;
        height: 100%;
        min-height: 0;
        max-height: none !important;
        overflow: hidden;
        border-top: none;
        border-radius: 0 1rem 1rem 0 !important;
    }
}

.room-top-header[b-ono7op52c9]  .majestic-title {
    font-size: 1.35em;
    transform: none;
}

.room-top-header[b-ono7op52c9]  .context-lead-icon {
    font-size: 1.5rem;
}

.room-pill-group[b-ono7op52c9] {
    padding: 2px;
}

.branch-selector[b-ono7op52c9] {
    min-width: 120px;
    max-width: 160px;
}

@media (min-width: 992px) {
    .branch-selector[b-ono7op52c9] {
        min-width: 200px;
        max-width: none;
    }
}

@media (max-width: 991.98px) {
    .branch-selector[b-ono7op52c9] {
        min-height: 2rem;
        height: auto;
        min-width: 105px;
        max-width: 145px;
        display: flex;
        align-items: center;
    }
    .branch-selector select[b-ono7op52c9] {
        font-size: 0.82rem;
        min-height: 2rem;
        height: auto;
        padding-top: 0.2rem;
        padding-bottom: 0.2rem;
        padding-left: 0.5rem;
        padding-right: 1.5rem;
    }
}

.room-header[b-ono7op52c9], .time-axis-header[b-ono7op52c9], .user-header[b-ono7op52c9], .task-header[b-ono7op52c9] {
    height: 34px !important;
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
}

.room-color-dot[b-ono7op52c9] {
    width: 9px;
    height: 9px;
    border-radius: 50%;
}

.room-date-picker-overlay[b-ono7op52c9] {
    opacity: 0;
    cursor: pointer;
    z-index: 10;
}

.room-caret-icon[b-ono7op52c9] {
    font-size: 0.7em;
}

.room-caret-icon-sm[b-ono7op52c9] {
    font-size: 0.6em;
}

.room-vr-muted[b-ono7op52c9] {
    opacity: 0.2;
}

.room-vr-muted-mob[b-ono7op52c9] {
    opacity: 0.25;
    align-self: stretch;
}

.room-date-nav-mob[b-ono7op52c9] {
    max-width: calc(100% - 105px);
}

.room-filter-mob-wrap[b-ono7op52c9] {
    min-width: 150px;
    max-width: 220px;
}

.room-filter-mob-select[b-ono7op52c9] {
    font-size: 0.75rem;
    height: 26px;
}

.room-sticky-axis-header[b-ono7op52c9] {
    position: sticky;
    left: 0;
    z-index: 110;
}

.room-sticky-axis-col[b-ono7op52c9] {
    position: sticky;
    left: 0;
    z-index: 40;
}

.room-time-slot-row[b-ono7op52c9] {
    height: 52px !important;
    position: relative;
}

.room-time-label-first[b-ono7op52c9] {
    top: 2px !important;
}

.room-now-dot[b-ono7op52c9] {
    position: absolute;
    right: -5px;
    left: auto !important;
    width: 10px;
    height: 10px;
    background: #ef4444;
    border-radius: 50%;
    z-index: 50;
}

.room-now-indicator[b-ono7op52c9] {
    position: absolute;
    left: 0;
    right: 0;
    z-index: 15;
    pointer-events: none;
}

.room-now-line[b-ono7op52c9] {
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    height: 2px;
    background: #ef4444;
}

.calendar-header-row[b-ono7op52c9] {
    box-shadow: 0 2px 6px rgba(0,0,0,0.04);
    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: 10px;
    text-align: right !important;
    top: -9px;
    color: #94a3b8;
    font-size: 0.72rem;
    font-weight: 600;
    position: absolute;
}

.room-column[b-ono7op52c9], .time-axis[b-ono7op52c9] {
    position: relative;
    min-height: 0 !important;
    border-right: 1px solid #e2e8f0;
    background-image: none !important;
}

    .time-axis .time-slot[b-ono7op52c9] {
        border: none !important;
    }

.hour-slot[b-ono7op52c9] {
    cursor: cell;
    box-sizing: border-box;
}

.room-hour-slot-top[b-ono7op52c9] {
    border-top: 1px solid #cbd5e1;
}

.room-hour-slot-sub[b-ono7op52c9] {
    border-top: 1px dashed #e2e8f0;
}

.hour-slot:hover[b-ono7op52c9] {
    background-color: rgba(13, 110, 253, 0.05);
}

.room-column:hover[b-ono7op52c9] {
    z-index: 60;
}

.entry-card:hover[b-ono7op52c9] {
    z-index: 300 !important;
}

.week-col:hover[b-ono7op52c9],
.month-cell:hover[b-ono7op52c9] {
    z-index: 80;
    position: relative;
}

.room-events-overlay[b-ono7op52c9] {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    pointer-events: none;
    z-index: 20;
}

.room-entry-meta[b-ono7op52c9] {
    font-size: 0.65rem;
    opacity: 0.82;
    line-height: 1.2;
}

.room-mini-entry-text[b-ono7op52c9] {
    font-size: 0.7rem;
}

.room-week-grid[b-ono7op52c9] {
    grid-template-columns: repeat(7, minmax(110px, 1fr)) !important;
    min-height: 100%;
    border-radius: 0 !important;
    border: none !important;
}

.room-week-grid .week-col[b-ono7op52c9] {
    padding: 0 !important;
}

.room-week-header[b-ono7op52c9] {
    position: sticky;
    top: 0;
    z-index: 70;
    background-color: inherit;
}

.room-month-grid[b-ono7op52c9] {
    display: grid;
    grid-template-columns: repeat(7, minmax(110px, 1fr)) !important;
    grid-template-rows: auto repeat(6, minmax(110px, 1fr));
    background: #e2e8f0;
    gap: 1px;
    height: auto !important;
    min-height: 100%;
    min-width: 770px;
    overflow: visible !important;
    border-radius: 0 !important;
    border: none !important;
}

.room-month-weekday-header[b-ono7op52c9] {
    position: sticky;
    top: 0;
    z-index: 70;
    box-shadow: 0 1px 0 #cbd5e1;
}

.room-month-cell[b-ono7op52c9] {
    min-height: 110px !important;
    display: flex;
    flex-direction: column;
}

.room-holiday-text-month[b-ono7op52c9] {
    font-size: 0.65rem;
    max-width: 75%;
}

.room-month-cell-entries[b-ono7op52c9] {
    min-width: 0;
    overflow: visible;
}
/* /Components/Pages/Setup.razor.rz.scp.css */
.setup-card[b-a1zrfx6u1b] {
    max-width: 450px;
}

.setup-brand-title[b-a1zrfx6u1b] {
    letter-spacing: 0.05em;
    color: #00453e !important;
}

.setup-success-icon[b-a1zrfx6u1b] {
    font-size: 3rem;
}
/* /Components/Pages/Tasks/Schedule.razor.rz.scp.css */
.schedule-container[b-erjkwgpyjt] {
    display: flex;
    flex-direction: column;
    height: 100% !important;
    max-height: 100% !important;
    min-height: 0 !important;
    flex: 1 1 0% !important;
    overflow: hidden !important;
}

.schedule-wrapper[b-erjkwgpyjt] {
    display: flex;
    flex-direction: column;
    flex: 1 1 0% !important;
    min-height: 0 !important;
    overflow: hidden !important;
    gap: 0.5rem;
}

.schedule-calendar-pane[b-erjkwgpyjt] {
    width: 100%;
    min-width: 0;
    display: flex;
    flex-direction: column;
    flex: 1 1 0% !important;
    min-height: 0 !important;
    overflow: hidden;
}

.schedule-task-pane[b-erjkwgpyjt] {
    width: 100%;
    flex: 1 1 0% !important;
    min-height: 0 !important;
    border-top: none;
    overflow: hidden;
}

@media (max-width: 991.98px) {
    .schedule-wrapper[b-erjkwgpyjt] {
        padding-top: 0.25rem !important;
        padding-bottom: 0 !important;
        gap: 0 !important;
    }

    [b-erjkwgpyjt] .schedule-calendar-pane,
    .schedule-calendar-pane[b-erjkwgpyjt] {
        height: auto !important;
        flex: 1 1 0% !important;
        min-height: 0 !important;
        max-height: none !important;
    }

    [b-erjkwgpyjt] .schedule-task-pane,
    .schedule-task-pane[b-erjkwgpyjt] {
        min-height: 0 !important;
        height: auto !important;
        flex: 1 1 0% !important;
        max-height: none !important;
        border-top: none !important;
        border-radius: 1rem !important;
    }

    .schedule-mobile-tabs-container[b-erjkwgpyjt] {
        flex-shrink: 0 !important;
        min-height: 52px !important;
        height: auto !important;
        padding-top: 6px !important;
        padding-bottom: 6px !important;
        padding-left: 12px !important;
        padding-right: 12px !important;
        z-index: 100;
        box-shadow: 0 -2px 8px rgba(0, 0, 0, 0.04);
    }
}

@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;
        padding-top: 0.375rem !important;
        padding-bottom: 0.375rem !important;
        gap: 0.75rem;
    }

    .schedule-calendar-pane[b-erjkwgpyjt] {
        width: calc(100% - 312px) !important;
        height: 100% !important;
        min-height: 0 !important;
        max-height: none !important;
        overflow: hidden;
    }

    .schedule-task-pane[b-erjkwgpyjt] {
        width: 312px !important;
        height: 100%;
        min-height: 0;
        max-height: none !important;
        overflow: hidden;
        border-top: none;
    }
}

.schedule-top-header[b-erjkwgpyjt]  .majestic-title {
    font-size: 1.35em;
    transform: none;
}

.schedule-top-header[b-erjkwgpyjt]  .context-lead-icon {
    font-size: 1.5rem;
}

.schedule-pill-group[b-erjkwgpyjt] {
    padding: 2px;
}

.time-axis-header[b-erjkwgpyjt], .user-header[b-erjkwgpyjt] {
    height: 34px !important;
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
}

.user-color-box[b-erjkwgpyjt] {
    width: 9px;
    height: 9px;
    border-radius: 50%;
}

.schedule-mini-user-dot[b-erjkwgpyjt] {
    width: 6px;
    height: 6px;
    border-radius: 50%;
}

.calendar-header-row[b-erjkwgpyjt] {
    box-shadow: 0 2px 6px rgba(0,0,0,0.04);
    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: 10px;
    text-align: right !important;
    top: -9px;
    color: #94a3b8;
    font-size: 0.72rem;
    font-weight: 600;
    position: absolute;
}

.schedule-time-label-first[b-erjkwgpyjt] {
    top: 2px !important;
}

.time-axis[b-erjkwgpyjt] {
    background-image: none !important;
    min-height: 0 !important;
}

.time-axis .time-slot[b-erjkwgpyjt] {
    border: none !important;
}

.hour-slot[b-erjkwgpyjt] {
    cursor: cell;
    box-sizing: border-box;
}

.schedule-hour-slot-top[b-erjkwgpyjt] {
    border-top: 1px solid #cbd5e1;
}

.schedule-hour-slot-sub[b-erjkwgpyjt] {
    border-top: 1px dashed #e2e8f0;
}

.hour-slot:hover[b-erjkwgpyjt] {
    background-color: rgba(13, 110, 253, 0.05);
}

.user-column[b-erjkwgpyjt] {
    min-height: 0 !important;
    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;
}

/* ========================================================
   Schedule Scoped Utility & Component Styles
   ======================================================== */
.schedule-badge-amber[b-erjkwgpyjt] {
    color: #f59e0b;
}

.schedule-badge-emerald[b-erjkwgpyjt] {
    color: #10b981;
}

.schedule-date-picker-overlay[b-erjkwgpyjt] {
    opacity: 0;
    cursor: pointer;
    z-index: 10;
}

.schedule-caret-icon[b-erjkwgpyjt] {
    font-size: 0.7em;
}

.schedule-caret-icon-sm[b-erjkwgpyjt] {
    font-size: 0.6em;
}

.schedule-vr-muted[b-erjkwgpyjt] {
    opacity: 0.2;
}

.schedule-vr-muted-mob[b-erjkwgpyjt] {
    opacity: 0.25;
    align-self: stretch;
}

.schedule-date-nav-mob[b-erjkwgpyjt] {
    max-width: calc(100% - 105px);
}

.schedule-sticky-axis-header[b-erjkwgpyjt] {
    position: sticky;
    left: 0;
    z-index: 110;
}

.schedule-sticky-axis-col[b-erjkwgpyjt] {
    position: sticky;
    left: 0;
    z-index: 40;
}

.schedule-job-meta[b-erjkwgpyjt] {
    opacity: 0.9;
}

.schedule-time-slot-row[b-erjkwgpyjt] {
    height: 52px !important;
    position: relative;
}

.schedule-now-dot[b-erjkwgpyjt] {
    position: absolute;
    right: -5px;
    left: auto !important;
    width: 10px;
    height: 10px;
    background: #ef4444;
    border-radius: 50%;
    z-index: 50;
}

.schedule-now-indicator[b-erjkwgpyjt] {
    position: absolute;
    left: 0;
    right: 0;
    z-index: 15;
    pointer-events: none;
}

.schedule-clickable-card[b-erjkwgpyjt] {
    pointer-events: auto;
}

.schedule-empty-users[b-erjkwgpyjt] {
    min-height: 300px;
}

.schedule-now-line[b-erjkwgpyjt] {
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    height: 2px;
    background: #ef4444;
}

.schedule-events-overlay[b-erjkwgpyjt] {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    pointer-events: none;
    z-index: 20;
}

.schedule-entry-meta[b-erjkwgpyjt] {
    font-size: 0.65rem;
    opacity: 0.8;
    line-height: 1.2;
}

.schedule-tooltip-details[b-erjkwgpyjt] {
    white-space: pre-wrap;
    font-size: 0.8rem;
}

.schedule-week-grid[b-erjkwgpyjt] {
    grid-template-columns: repeat(7, minmax(120px, 1fr)) !important;
    min-height: 100%;
    border-radius: 0 !important;
    border: none !important;
}

.schedule-week-grid .week-col[b-erjkwgpyjt] {
    padding: 0 !important;
}

.schedule-week-header[b-erjkwgpyjt] {
    position: sticky;
    top: 0;
    z-index: 70;
    background-color: inherit;
}

.schedule-month-grid[b-erjkwgpyjt] {
    display: grid;
    grid-template-columns: repeat(7, minmax(120px, 1fr)) !important;
    grid-template-rows: auto repeat(6, minmax(110px, 1fr));
    background: #e2e8f0;
    gap: 1px;
    height: auto !important;
    min-height: 100%;
    min-width: 840px;
    overflow: visible !important;
    border-radius: 0 !important;
    border: none !important;
}

.schedule-month-weekday-header[b-erjkwgpyjt] {
    position: sticky;
    top: 0;
    z-index: 70;
    box-shadow: 0 1px 0 #cbd5e1;
}

.schedule-month-cell[b-erjkwgpyjt] {
    min-height: 110px !important;
    display: flex;
    flex-direction: column;
}

.schedule-holiday-text-month[b-erjkwgpyjt] {
    font-size: 0.65rem;
    max-width: 75%;
}

.user-column:hover[b-erjkwgpyjt] {
    z-index: 60;
}

.schedule-entry-card:hover[b-erjkwgpyjt] {
    z-index: 300 !important;
}

.week-col:hover[b-erjkwgpyjt],
.month-cell:hover[b-erjkwgpyjt] {
    z-index: 80;
    position: relative;
}

.schedule-month-cell-entries[b-erjkwgpyjt] {
    min-width: 0;
    overflow: visible;
}
/* /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],
[b-prsypv9v0l] .form-control-sm, [b-prsypv9v0l] .form-select-sm {
    height: auto !important;
    min-height: 2rem !important;
    line-height: 1.4 !important;
    font-size: 0.9rem !important;
}
/* /Components/Pages/WebLeads/WebLeadList.razor.rz.scp.css */
.weblead-attachment-thumb[b-whwmghpn6o] {
    max-height: 13.75rem;
    object-fit: contain;
}

.weblead-field-pre[b-whwmghpn6o] {
    white-space: pre-wrap;
}

.weblead-ua-text[b-whwmghpn6o] {
    vertical-align: bottom;
}

.weblead-promote-box[b-whwmghpn6o] {
    background-color: #f8faff;
    border: 1px solid #bfdbfe;
    border-radius: 0.75rem;
}
