/* /Components/Auth/Login.razor.rz.scp.css */
body[b-2esav8dkr9] {
}


.auth-page[b-2esav8dkr9] {
    min-height: calc(100vh - 120px);
    display: grid;
    place-items: center;
    padding: 24px;
    background: var(--rz-base-background-color, #f6f7f9);
}

.auth-card[b-2esav8dkr9] {
    width: 440px;
    padding: 22px;
    border-radius: 12px;
}

.auth-header[b-2esav8dkr9] {
    margin-bottom: 14px;
}

.auth-sub[b-2esav8dkr9] {
    margin-top: 6px;
    font-size: 12px;
    opacity: .7;
}

.auth-error[b-2esav8dkr9] {
    padding: 10px 12px;
    border-radius: 8px;
    background: rgba(211, 47, 47, .08);
    color: #d32f2f;
    margin: 12px 0 10px;
    font-size: 13px;
}

.auth-form[b-2esav8dkr9] {
    display: block;
}

.auth-field[b-2esav8dkr9] {
    margin-top: 12px;
}

.auth-row[b-2esav8dkr9] {
    margin-top: 10px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}

.auth-remember[b-2esav8dkr9] {
    display: flex;
    align-items: center;
    gap: 8px;
    user-select: none;
    font-size: 13px;
}

.auth-link[b-2esav8dkr9] {
    font-size: 13px;
}
/* /Components/Layout/BotPanel.razor.rz.scp.css */
.bot-wrapper[b-9yfxpllevg] {
    position: fixed;
    bottom: 24px;
    right: 24px;
    z-index: 1000;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 12px;
}

/* トグルボタン */
.bot-toggle-btn[b-9yfxpllevg] {
    width: 52px;
    height: 52px;
    border-radius: 50%;
    border: none;
    background: var(--rz-primary, #3d63db);
    color: #fff;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 4px 12px rgba(0,0,0,0.25);
    transition: background 0.2s, transform 0.2s;
    font-size: 24px;
}

.bot-toggle-btn:hover[b-9yfxpllevg] {
    background: var(--rz-primary-dark, #2d4fb8);
    transform: scale(1.07);
}

.bot-toggle-btn.open[b-9yfxpllevg] {
    background: var(--rz-danger, #e53935);
}

/* パネル */
.bot-panel[b-9yfxpllevg] {
    width: 360px;
    max-height: 520px;
    display: flex;
    flex-direction: column;
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 8px 32px rgba(0,0,0,0.18);
    overflow: hidden;
    animation: bot-slide-in-b-9yfxpllevg 0.18s ease-out;
}

@keyframes bot-slide-in-b-9yfxpllevg {
    from { opacity: 0; transform: translateY(16px); }
    to   { opacity: 1; transform: translateY(0); }
}

/* ヘッダー */
.bot-header[b-9yfxpllevg] {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 12px 14px;
    background: var(--rz-primary, #3d63db);
    color: #fff;
    font-weight: 600;
    font-size: 14px;
}

.bot-header-icon[b-9yfxpllevg] {
    font-size: 20px;
}

.bot-icon-btn[b-9yfxpllevg] {
    background: transparent;
    border: none;
    color: rgba(255,255,255,0.85);
    cursor: pointer;
    padding: 2px;
    display: flex;
    align-items: center;
    border-radius: 4px;
    transition: color 0.15s, background 0.15s;
}

.bot-icon-btn:hover[b-9yfxpllevg] {
    color: #fff;
    background: rgba(255,255,255,0.15);
}

/* メッセージ一覧 */
.bot-messages[b-9yfxpllevg] {
    flex: 1;
    overflow-y: auto;
    padding: 14px;
    display: flex;
    flex-direction: column;
    gap: 10px;
    background: #f5f7fb;
    min-height: 200px;
}

.bot-placeholder[b-9yfxpllevg] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: 100%;
    color: #9aa0b0;
    text-align: center;
    font-size: 13px;
    gap: 8px;
    padding: 24px 0;
}

.bot-placeholder .rzi[b-9yfxpllevg] {
    font-size: 36px;
    opacity: 0.5;
}

/* バブル */
.bot-bubble-row[b-9yfxpllevg] {
    display: flex;
}

.bot-bubble-row.user[b-9yfxpllevg] {
    justify-content: flex-end;
}

.bot-bubble-row.assistant[b-9yfxpllevg] {
    justify-content: flex-start;
}

.bot-bubble[b-9yfxpllevg] {
    max-width: 82%;
    padding: 9px 13px;
    border-radius: 14px;
    font-size: 13px;
    line-height: 1.55;
    word-break: break-word;
}

.bot-bubble-row.user .bot-bubble[b-9yfxpllevg] {
    background: var(--rz-primary, #3d63db);
    color: #fff;
    border-bottom-right-radius: 4px;
}

.bot-bubble-row.assistant .bot-bubble[b-9yfxpllevg] {
    background: #fff;
    color: #333;
    border: 1px solid #e0e4ef;
    border-bottom-left-radius: 4px;
}

/* タイピングアニメーション */
.bot-typing[b-9yfxpllevg] {
    display: flex;
    align-items: center;
    gap: 4px;
    padding: 12px 16px;
}

.bot-typing span[b-9yfxpllevg] {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #9aa0b0;
    animation: bot-dot-b-9yfxpllevg 1.2s infinite ease-in-out;
}

.bot-typing span:nth-child(2)[b-9yfxpllevg] { animation-delay: 0.2s; }
.bot-typing span:nth-child(3)[b-9yfxpllevg] { animation-delay: 0.4s; }

@keyframes bot-dot-b-9yfxpllevg {
    0%, 80%, 100% { transform: scale(0.7); opacity: 0.5; }
    40%            { transform: scale(1);   opacity: 1; }
}

/* 入力エリア */
.bot-input-area[b-9yfxpllevg] {
    display: flex;
    align-items: flex-end;
    gap: 8px;
    padding: 10px 12px;
    border-top: 1px solid #e0e4ef;
    background: #fff;
}

.bot-textarea[b-9yfxpllevg] {
    flex: 1;
    resize: none;
    border: 1px solid #d0d4e0;
    border-radius: 8px;
    padding: 8px 10px;
    font-size: 13px;
    font-family: inherit;
    outline: none;
    transition: border-color 0.15s;
    color: #333;
}

.bot-textarea:focus[b-9yfxpllevg] {
    border-color: var(--rz-primary, #3d63db);
}

.bot-textarea:disabled[b-9yfxpllevg] {
    background: #f5f7fb;
    cursor: not-allowed;
}

.bot-send-btn[b-9yfxpllevg] {
    width: 36px;
    height: 36px;
    border-radius: 8px;
    border: none;
    background: var(--rz-primary, #3d63db);
    color: #fff;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    transition: background 0.15s;
}

.bot-send-btn:hover:not(:disabled)[b-9yfxpllevg] {
    background: var(--rz-primary-dark, #2d4fb8);
}

.bot-send-btn:disabled[b-9yfxpllevg] {
    background: #c0c8e0;
    cursor: not-allowed;
}
/* /Components/Layout/MainLayout.razor.rz.scp.css */
.page[b-jrfba9e9rx] {
    position: relative;
    display: flex;
    flex-direction: column;
}

main[b-jrfba9e9rx] {
    flex: 1;
}

.sidebar[b-jrfba9e9rx] {
    background-image: linear-gradient(180deg, rgb(5, 39, 103) 0%, #3a0647 70%);
}

.top-row[b-jrfba9e9rx] {
    background-color: #f7f7f7;
    border-bottom: 1px solid #d6d5d5;
    justify-content: flex-end;
    height: 3.5rem;
    display: flex;
    align-items: center;
}

    .top-row[b-jrfba9e9rx]  a, .top-row[b-jrfba9e9rx]  .btn-link {
        white-space: nowrap;
        margin-left: 1.5rem;
        text-decoration: none;
    }

    .top-row[b-jrfba9e9rx]  a:hover, .top-row[b-jrfba9e9rx]  .btn-link:hover {
        text-decoration: underline;
    }

    .top-row[b-jrfba9e9rx]  a:first-child {
        overflow: hidden;
        text-overflow: ellipsis;
    }

@media (max-width: 640.98px) {
    .top-row[b-jrfba9e9rx] {
        justify-content: space-between;
    }

    .top-row[b-jrfba9e9rx]  a, .top-row[b-jrfba9e9rx]  .btn-link {
        margin-left: 0;
    }
}

@media (min-width: 641px) {
    .page[b-jrfba9e9rx] {
        flex-direction: row;
    }

    .sidebar[b-jrfba9e9rx] {
        width: 250px;
        height: 100vh;
        position: sticky;
        top: 0;
    }

    .top-row[b-jrfba9e9rx] {
        position: sticky;
        top: 0;
        z-index: 1;
    }

    .top-row.auth[b-jrfba9e9rx]  a:first-child {
        flex: 1;
        text-align: right;
        width: 0;
    }

    .top-row[b-jrfba9e9rx], article[b-jrfba9e9rx] {
        padding-left: 2rem !important;
        padding-right: 1.5rem !important;
    }
}

#blazor-error-ui[b-jrfba9e9rx] {
    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-jrfba9e9rx] {
        cursor: pointer;
        position: absolute;
        right: 0.75rem;
        top: 0.5rem;
    }


/* RadzenBody �̗]�������� */
.rz-body[b-jrfba9e9rx] {
    padding: 0 !important;
}

/* MainLayout �� Body ���b�p�[ */
article.content[b-jrfba9e9rx] {
    padding: 0 !important;
    margin: 0;
}












.hl-header-link[b-jrfba9e9rx] {
    text-decoration: none;
    color: var(--rz-text-color);
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-weight: 500;
}

    .hl-header-link:hover[b-jrfba9e9rx] {
        text-decoration: underline;
        opacity: 0.8;
    }

/* POST�p�{�^���������N���� */
.hl-header-link-button[b-jrfba9e9rx] {
    background: none;
    border: none;
    padding: 0;
    cursor: pointer;
    color: var(--rz-text-color);
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-weight: 500;
}

    .hl-header-link-button:hover[b-jrfba9e9rx] {
        text-decoration: underline;
        opacity: 0.8;
    }


.rz-icon[b-jrfba9e9rx] {
    font-size: 18px;
}


.hl-header-link[b-jrfba9e9rx],
.hl-header-link-button[b-jrfba9e9rx] {
    text-decoration: none;
    color: var(--rz-text-color);
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-weight: 500;
}

    .hl-header-link:hover[b-jrfba9e9rx],
    .hl-header-link-button:hover[b-jrfba9e9rx] {
        text-decoration: underline;
        opacity: 0.85;
    }

/* POST�p�{�^���������N���� */
.hl-header-link-button[b-jrfba9e9rx] {
    background: none;
    border: none;
    padding: 0;
    cursor: pointer;
    font: inherit; /* ���d�v�F�ςȕ�������/�t�H���g����h�~ */
}

/* �A�C�R���T�C�Y */
.hl-header-icon[b-jrfba9e9rx] {
    font-size: 18px;
    line-height: 1;
}

/* �E��̃��[�U�[�\���{���O�A�E�g��1�s�Ŋ��S�ɑ����� */
.hl-header-auth[b-jrfba9e9rx] {
    display: inline-flex;
    align-items: center; /* ���c�ʒu���� */
    gap: 14px;
    height: 32px; /* �������Œ�i�����������j */
    line-height: 32px; /* ���x�[�X���C�������ׂ� */
}

/* ���[�U�[���̍s����������/�s���ɂ��� */
.hl-header-user[b-jrfba9e9rx] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    height: 32px;
    line-height: 32px;
}

/* form ������ɍ����������Ȃ��悤�� */
.hl-header-form[b-jrfba9e9rx] {
    margin: 0;
    display: inline-flex;
    align-items: center;
    height: 32px;
}

/* POST�p�{�^���������N�����ڂɁi������������j */
.hl-header-link-button[b-jrfba9e9rx] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    height: 32px;
    line-height: 32px;
    background: none;
    border: none;
    padding: 0;
    cursor: pointer;
    font: inherit;
    color: inherit;
}

    .hl-header-link-button:hover[b-jrfba9e9rx] {
        text-decoration: underline;
        opacity: 0.85;
    }

/* アイコンの上下ズレ対策 */
.hl-header-icon[b-jrfba9e9rx] {
    font-size: 18px;
    line-height: 1;
    display: inline-flex;
    align-items: center;
}

/* =========================
   Mobile (<= 768px)
========================= */
@media (max-width: 768px) {
    /* ログインユーザー名を非表示 */
    .hl-header-user[b-jrfba9e9rx] {
        display: none !important;
    }

    /* ログアウトのテキスト部分を非表示（アイコンのみ） */
    .hl-header-logout-text[b-jrfba9e9rx] {
        display: none;
    }

    /* ログアウトボタンをコンパクトに */
    .hl-header-link-button[b-jrfba9e9rx] {
        padding: 4px !important;
        gap: 0 !important;
    }

    /* ヘッダー右側の余白を詰める */
    .hl-header-auth[b-jrfba9e9rx] {
        gap: 4px !important;
    }
}
/* /Components/Layout/NavMenu.razor.rz.scp.css */
.navbar-toggler[b-wj6us62jrv] {
    appearance: none;
    cursor: pointer;
    width: 3.5rem;
    height: 2.5rem;
    color: white;
    position: absolute;
    top: 0.5rem;
    right: 1rem;
    border: 1px solid rgba(255, 255, 255, 0.1);
    background: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e") no-repeat center/1.75rem rgba(255, 255, 255, 0.1);
}

.navbar-toggler:checked[b-wj6us62jrv] {
    background-color: rgba(255, 255, 255, 0.5);
}

.top-row[b-wj6us62jrv] {
    min-height: 3.5rem;
    background-color: rgba(0,0,0,0.4);
}

.navbar-brand[b-wj6us62jrv] {
    font-size: 1.1rem;
}

.bi[b-wj6us62jrv] {
    display: inline-block;
    position: relative;
    width: 1.25rem;
    height: 1.25rem;
    margin-right: 0.75rem;
    top: -1px;
    background-size: cover;
}

.bi-house-door-fill-nav-menu[b-wj6us62jrv] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-house-door-fill' viewBox='0 0 16 16'%3E%3Cpath d='M6.5 14.5v-3.505c0-.245.25-.495.5-.495h2c.25 0 .5.25.5.5v3.5a.5.5 0 0 0 .5.5h4a.5.5 0 0 0 .5-.5v-7a.5.5 0 0 0-.146-.354L13 5.793V2.5a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5v1.293L8.354 1.146a.5.5 0 0 0-.708 0l-6 6A.5.5 0 0 0 1.5 7.5v7a.5.5 0 0 0 .5.5h4a.5.5 0 0 0 .5-.5Z'/%3E%3C/svg%3E");
}

.bi-plus-square-fill-nav-menu[b-wj6us62jrv] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-plus-square-fill' viewBox='0 0 16 16'%3E%3Cpath d='M2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2zm6.5 4.5v3h3a.5.5 0 0 1 0 1h-3v3a.5.5 0 0 1-1 0v-3h-3a.5.5 0 0 1 0-1h3v-3a.5.5 0 0 1 1 0z'/%3E%3C/svg%3E");
}

.bi-list-nested-nav-menu[b-wj6us62jrv] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-list-nested' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M4.5 11.5A.5.5 0 0 1 5 11h10a.5.5 0 0 1 0 1H5a.5.5 0 0 1-.5-.5zm-2-4A.5.5 0 0 1 3 7h10a.5.5 0 0 1 0 1H3a.5.5 0 0 1-.5-.5zm-2-4A.5.5 0 0 1 1 3h10a.5.5 0 0 1 0 1H1a.5.5 0 0 1-.5-.5z'/%3E%3C/svg%3E");
}

.bi-lock-nav-menu[b-wj6us62jrv] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-list-nested' viewBox='0 0 16 16'%3E%3Cpath d='M8 1a2 2 0 0 1 2 2v4H6V3a2 2 0 0 1 2-2zm3 6V3a3 3 0 0 0-6 0v4a2 2 0 0 0-2 2v5a2 2 0 0 0 2 2h6a2 2 0 0 0 2-2V9a2 2 0 0 0-2-2zM5 8h6a1 1 0 0 1 1 1v5a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1V9a1 1 0 0 1 1-1z'/%3E%3C/svg%3E");
}

.bi-person-nav-menu[b-wj6us62jrv] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-person' viewBox='0 0 16 16'%3E%3Cpath d='M8 8a3 3 0 1 0 0-6 3 3 0 0 0 0 6Zm2-3a2 2 0 1 1-4 0 2 2 0 0 1 4 0Zm4 8c0 1-1 1-1 1H3s-1 0-1-1 1-4 6-4 6 3 6 4Zm-1-.004c-.001-.246-.154-.986-.832-1.664C11.516 10.68 10.289 10 8 10c-2.29 0-3.516.68-4.168 1.332-.678.678-.83 1.418-.832 1.664h10Z'/%3E%3C/svg%3E");
}

.bi-person-badge-nav-menu[b-wj6us62jrv] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-person-badge' viewBox='0 0 16 16'%3E%3Cpath d='M6.5 2a.5.5 0 0 0 0 1h3a.5.5 0 0 0 0-1h-3zM11 8a3 3 0 1 1-6 0 3 3 0 0 1 6 0z'/%3E%3Cpath d='M4.5 0A2.5 2.5 0 0 0 2 2.5V14a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2.5A2.5 2.5 0 0 0 11.5 0h-7zM3 2.5A1.5 1.5 0 0 1 4.5 1h7A1.5 1.5 0 0 1 13 2.5v10.795a4.2 4.2 0 0 0-.776-.492C11.392 12.387 10.063 12 8 12s-3.392.387-4.224.803a4.2 4.2 0 0 0-.776.492V2.5z'/%3E%3C/svg%3E");
}

.bi-person-fill-nav-menu[b-wj6us62jrv] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-person-fill' viewBox='0 0 16 16'%3E%3Cpath d='M3 14s-1 0-1-1 1-4 6-4 6 3 6 4-1 1-1 1H3Zm5-6a3 3 0 1 0 0-6 3 3 0 0 0 0 6Z'/%3E%3C/svg%3E");
}

.bi-arrow-bar-left-nav-menu[b-wj6us62jrv] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-arrow-bar-left' viewBox='0 0 16 16'%3E%3Cpath d='M12.5 15a.5.5 0 0 1-.5-.5v-13a.5.5 0 0 1 1 0v13a.5.5 0 0 1-.5.5ZM10 8a.5.5 0 0 1-.5.5H3.707l2.147 2.146a.5.5 0 0 1-.708.708l-3-3a.5.5 0 0 1 0-.708l3-3a.5.5 0 1 1 .708.708L3.707 7.5H9.5a.5.5 0 0 1 .5.5Z'/%3E%3C/svg%3E");
}

.nav-item[b-wj6us62jrv] {
    font-size: 0.9rem;
    padding-bottom: 0.5rem;
}

    .nav-item:first-of-type[b-wj6us62jrv] {
        padding-top: 1rem;
    }

    .nav-item:last-of-type[b-wj6us62jrv] {
        padding-bottom: 1rem;
    }

    .nav-item[b-wj6us62jrv]  .nav-link {
        color: #d7d7d7;
        background: none;
        border: none;
        border-radius: 4px;
        height: 3rem;
        display: flex;
        align-items: center;
        line-height: 3rem;
        width: 100%;
    }

.nav-item[b-wj6us62jrv]  a.active {
    background-color: rgba(255,255,255,0.37);
    color: white;
}

.nav-item[b-wj6us62jrv]  .nav-link:hover {
    background-color: rgba(255,255,255,0.1);
    color: white;
}

.nav-scrollable[b-wj6us62jrv] {
    display: none;
}

.navbar-toggler:checked ~ .nav-scrollable[b-wj6us62jrv] {
    display: block;
}

@media (min-width: 641px) {
    .navbar-toggler[b-wj6us62jrv] {
        display: none;
    }

    .nav-scrollable[b-wj6us62jrv] {
        /* Never collapse the sidebar for wide screens */
        display: block;

        /* Allow sidebar to scroll for tall menus */
        height: calc(100vh - 3.5rem);
        overflow-y: auto;
    }
}
/* /Components/Layout/ReconnectModal.razor.rz.scp.css */
.components-reconnect-first-attempt-visible[b-a8h3pn5aol],
.components-reconnect-repeated-attempt-visible[b-a8h3pn5aol],
.components-reconnect-failed-visible[b-a8h3pn5aol],
.components-pause-visible[b-a8h3pn5aol],
.components-resume-failed-visible[b-a8h3pn5aol],
.components-rejoining-animation[b-a8h3pn5aol] {
    display: none;
}

#components-reconnect-modal.components-reconnect-show .components-reconnect-first-attempt-visible[b-a8h3pn5aol],
#components-reconnect-modal.components-reconnect-show .components-rejoining-animation[b-a8h3pn5aol],
#components-reconnect-modal.components-reconnect-paused .components-pause-visible[b-a8h3pn5aol],
#components-reconnect-modal.components-reconnect-resume-failed .components-resume-failed-visible[b-a8h3pn5aol],
#components-reconnect-modal.components-reconnect-retrying[b-a8h3pn5aol],
#components-reconnect-modal.components-reconnect-retrying .components-reconnect-repeated-attempt-visible[b-a8h3pn5aol],
#components-reconnect-modal.components-reconnect-retrying .components-rejoining-animation[b-a8h3pn5aol],
#components-reconnect-modal.components-reconnect-failed[b-a8h3pn5aol],
#components-reconnect-modal.components-reconnect-failed .components-reconnect-failed-visible[b-a8h3pn5aol] {
    display: block;
}


#components-reconnect-modal[b-a8h3pn5aol] {
    background-color: white;
    width: 20rem;
    margin: 20vh auto;
    padding: 2rem;
    border: 0;
    border-radius: 0.5rem;
    box-shadow: 0 3px 6px 2px rgba(0, 0, 0, 0.3);
    opacity: 0;
    transition: display 0.5s allow-discrete, overlay 0.5s allow-discrete;
    animation: components-reconnect-modal-fadeOutOpacity-b-a8h3pn5aol 0.5s both;
    &[open]

{
    animation: components-reconnect-modal-slideUp-b-a8h3pn5aol 1.5s cubic-bezier(.05, .89, .25, 1.02) 0.3s, components-reconnect-modal-fadeInOpacity-b-a8h3pn5aol 0.5s ease-in-out 0.3s;
    animation-fill-mode: both;
}

}

#components-reconnect-modal[b-a8h3pn5aol]::backdrop {
    background-color: rgba(0, 0, 0, 0.4);
    animation: components-reconnect-modal-fadeInOpacity-b-a8h3pn5aol 0.5s ease-in-out;
    opacity: 1;
}

@keyframes components-reconnect-modal-slideUp-b-a8h3pn5aol {
    0% {
        transform: translateY(30px) scale(0.95);
    }

    100% {
        transform: translateY(0);
    }
}

@keyframes components-reconnect-modal-fadeInOpacity-b-a8h3pn5aol {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

@keyframes components-reconnect-modal-fadeOutOpacity-b-a8h3pn5aol {
    0% {
        opacity: 1;
    }

    100% {
        opacity: 0;
    }
}

.components-reconnect-container[b-a8h3pn5aol] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
}

#components-reconnect-modal p[b-a8h3pn5aol] {
    margin: 0;
    text-align: center;
}

#components-reconnect-modal button[b-a8h3pn5aol] {
    border: 0;
    background-color: #6b9ed2;
    color: white;
    padding: 4px 24px;
    border-radius: 4px;
}

    #components-reconnect-modal button:hover[b-a8h3pn5aol] {
        background-color: #3b6ea2;
    }

    #components-reconnect-modal button:active[b-a8h3pn5aol] {
        background-color: #6b9ed2;
    }

.components-rejoining-animation[b-a8h3pn5aol] {
    position: relative;
    width: 80px;
    height: 80px;
}

    .components-rejoining-animation div[b-a8h3pn5aol] {
        position: absolute;
        border: 3px solid #0087ff;
        opacity: 1;
        border-radius: 50%;
        animation: components-rejoining-animation-b-a8h3pn5aol 1.5s cubic-bezier(0, 0.2, 0.8, 1) infinite;
    }

        .components-rejoining-animation div:nth-child(2)[b-a8h3pn5aol] {
            animation-delay: -0.5s;
        }

@keyframes components-rejoining-animation-b-a8h3pn5aol {
    0% {
        top: 40px;
        left: 40px;
        width: 0;
        height: 0;
        opacity: 0;
    }

    4.9% {
        top: 40px;
        left: 40px;
        width: 0;
        height: 0;
        opacity: 0;
    }

    5% {
        top: 40px;
        left: 40px;
        width: 0;
        height: 0;
        opacity: 1;
    }

    100% {
        top: 0px;
        left: 0px;
        width: 80px;
        height: 80px;
        opacity: 0;
    }
}
/* /Components/Pages/ClientUser/Home.razor.rz.scp.css */
.db-page[b-d5xef8xj74] {
    display: flex; flex-direction: column;
    height: 100%; background: #f1f5f9;
}

/* ── Header ── */
.db-header[b-d5xef8xj74] {
    display: flex; align-items: center; justify-content: space-between;
    padding: 14px 24px;
    background: #fff; border-bottom: 1px solid #e2e8f0;
    box-shadow: 0 1px 4px rgba(0,0,0,.06);
}
.db-header-left[b-d5xef8xj74] { display: flex; align-items: baseline; gap: 12px; }
.db-title[b-d5xef8xj74] { font-size: 1.05rem; font-weight: 700; color: #0f172a; }
.db-date[b-d5xef8xj74]  { font-size: .78rem; color: #94a3b8; }

.db-refresh[b-d5xef8xj74] {
    display: inline-flex; align-items: center; gap: 6px;
    padding: 7px 15px;
    background: #3b82f6; color: #fff;
    border: none; border-radius: 8px;
    font-size: .82rem; font-weight: 600;
    cursor: pointer; white-space: nowrap;
    transition: background .15s, transform .1s;
}
.db-refresh:hover:not(:disabled)[b-d5xef8xj74]  { background: #2563eb; }
.db-refresh:active:not(:disabled)[b-d5xef8xj74] { transform: scale(.97); }
.db-refresh:disabled[b-d5xef8xj74],
.db-refresh--busy[b-d5xef8xj74] { background: #94a3b8; cursor: not-allowed; }

/* ── Body / cards wrapper ── */
.db-body[b-d5xef8xj74] {
    flex: 1; overflow-y: auto;
    padding: 28px 24px;
}

.db-cards[b-d5xef8xj74] {
    display: flex; flex-direction: column; gap: 16px;
}
.db-card-row[b-d5xef8xj74] {
    display: flex; gap: 20px; flex-wrap: wrap;
}

/* ── Card ── */
.db-card[b-d5xef8xj74] {
    flex: 1; min-width: 220px; max-width: 320px;
    background: #fff;
    border-radius: 16px;
    border: 1px solid #e2e8f0;
    box-shadow: 0 2px 8px rgba(0,0,0,.06);
    padding: 24px 28px;
    display: flex; flex-direction: column; gap: 8px;
    transition: box-shadow .15s, transform .15s, outline .1s;
    cursor: pointer;
    user-select: none;
}
.db-card:hover[b-d5xef8xj74] {
    box-shadow: 0 6px 20px rgba(0,0,0,.10);
    transform: translateY(-2px);
}
.db-card--active[b-d5xef8xj74] {
    outline: 2px solid #3b82f6;
    outline-offset: 2px;
    box-shadow: 0 0 0 5px rgba(59,130,246,.12), 0 6px 20px rgba(0,0,0,.10);
    transform: translateY(-2px);
}
.db-card--inbound-today.db-card--active[b-d5xef8xj74],
.db-card--inbound-future.db-card--active[b-d5xef8xj74] {
    outline-color: #10b981;
    box-shadow: 0 0 0 5px rgba(16,185,129,.12), 0 6px 20px rgba(0,0,0,.10);
}
.db-card--storage-today.db-card--active[b-d5xef8xj74],
.db-card--storage-future.db-card--active[b-d5xef8xj74] {
    outline-color: #f59e0b;
    box-shadow: 0 0 0 5px rgba(245,158,11,.12), 0 6px 20px rgba(0,0,0,.10);
}

.db-card--today[b-d5xef8xj74]          { border-top: 4px solid #3b82f6; }
.db-card--future[b-d5xef8xj74]         { border-top: 4px solid #64748b; }
.db-card--inbound-today[b-d5xef8xj74]  { border-top: 4px solid #10b981; }
.db-card--inbound-future[b-d5xef8xj74] { border-top: 4px solid #6ee7b7; }
.db-card--storage-today[b-d5xef8xj74]  { border-top: 4px solid #f59e0b; }
.db-card--storage-future[b-d5xef8xj74] { border-top: 4px solid #fcd34d; }
.db-card--inventory[b-d5xef8xj74]      { border-top: 4px solid #8b5cf6; cursor: default; }

.db-card-icon[b-d5xef8xj74] { color: #94a3b8; margin-bottom: 4px; }
.db-card--today          .db-card-icon[b-d5xef8xj74] { color: #3b82f6; }
.db-card--future         .db-card-icon[b-d5xef8xj74] { color: #64748b; }
.db-card--inbound-today  .db-card-icon[b-d5xef8xj74] { color: #10b981; }
.db-card--inbound-future .db-card-icon[b-d5xef8xj74] { color: #6ee7b7; }
.db-card--storage-today  .db-card-icon[b-d5xef8xj74] { color: #f59e0b; }
.db-card--storage-future .db-card-icon[b-d5xef8xj74] { color: #fcd34d; }
.db-card--inventory      .db-card-icon[b-d5xef8xj74] { color: #8b5cf6; }

.db-card-label[b-d5xef8xj74] {
    font-size: .78rem; font-weight: 600;
    text-transform: uppercase; letter-spacing: .06em;
    color: #64748b;
}
.db-card--today          .db-card-label[b-d5xef8xj74] { color: #1d4ed8; }
.db-card--inbound-today  .db-card-label[b-d5xef8xj74] { color: #065f46; }
.db-card--inbound-future .db-card-label[b-d5xef8xj74] { color: #047857; }
.db-card--storage-today  .db-card-label[b-d5xef8xj74] { color: #92400e; }
.db-card--storage-future .db-card-label[b-d5xef8xj74] { color: #b45309; }
.db-card--inventory      .db-card-label[b-d5xef8xj74] { color: #5b21b6; }

.db-card-count[b-d5xef8xj74] {
    font-size: 3rem; font-weight: 800; line-height: 1;
    color: #0f172a; font-variant-numeric: tabular-nums;
    display: flex; align-items: baseline; gap: 4px;
}
.db-card-unit[b-d5xef8xj74] { font-size: 1rem; font-weight: 600; color: #64748b; }

.db-card-sub[b-d5xef8xj74] {
    display: flex; align-items: center; gap: 8px;
    margin-top: 4px;
}
.db-card-stat[b-d5xef8xj74]  { display: flex; align-items: baseline; gap: 3px; }
.db-card-val[b-d5xef8xj74]   { font-size: 1.1rem; font-weight: 700; color: #334155; font-variant-numeric: tabular-nums; }
.db-card-uname[b-d5xef8xj74] { font-size: .72rem; font-weight: 600; color: #94a3b8; }
.db-card-divider[b-d5xef8xj74] { color: #cbd5e1; font-size: .85rem; }

/* ── Detail panel ── */
.db-detail[b-d5xef8xj74] {
    width: 100%;
    background: #fff;
    border-radius: 12px;
    border: 1px solid #e2e8f0;
    box-shadow: 0 2px 8px rgba(0,0,0,.06);
    overflow: hidden;
    max-height: 70vh;
    display: flex; flex-direction: column;
    animation: db-detail-in-b-d5xef8xj74 .18s ease-out;
}
.db-detail-scroll[b-d5xef8xj74] {
    flex: 1; min-height: 0;
    overflow-y: auto; overflow-x: clip;
}
@keyframes db-detail-in-b-d5xef8xj74 {
    from { opacity: 0; transform: translateY(-6px); }
    to   { opacity: 1; transform: translateY(0); }
}

/* ── Date navigation ── */
.db-detail-nav[b-d5xef8xj74] {
    display: flex; align-items: center; justify-content: flex-start;
    gap: 10px;
    padding: 10px 16px;
    background: #f8fafc;
    border-bottom: 1px solid #e2e8f0;
    flex-shrink: 0;
}
.db-detail-date[b-d5xef8xj74] {
    font-size: .95rem; font-weight: 700; color: #0f172a;
    letter-spacing: .01em;
}
.db-nav-btn[b-d5xef8xj74] {
    display: inline-flex; align-items: center; justify-content: center;
    width: 28px; height: 28px; padding: 0; flex-shrink: 0;
    background: #fff; color: #475569;
    border: 1px solid #e2e8f0; border-radius: 6px;
    cursor: pointer;
    transition: background .12s, border-color .12s;
}
.db-nav-btn:hover:not(:disabled)[b-d5xef8xj74] { background: #f1f5f9; border-color: #94a3b8; }
.db-nav-btn:disabled[b-d5xef8xj74] { opacity: .35; cursor: not-allowed; }

.db-detail-empty[b-d5xef8xj74] {
    font-size: .88rem; color: #94a3b8;
    text-align: center; padding: 24px 0; margin: 0;
}

/* ── Detail grid（10列: toggle / 配送先・出荷拠点 / 温度帯 / 品名 / 着予定日 / 数量 / 合数 / 重量 / 連絡 / 右余白） ── */
.db-detail-grid[b-d5xef8xj74] {
    display: grid;
    grid-template-columns:
        20px   /* 1:  トグル */
        200px  /* 2:  配送先/出荷拠点 */
        60px   /* 3:  温度帯（子行）/ 配送先スパン内（親行） */
        140px  /* 4:  品名前半（子行）/ 配送先スパン内（親行） */
        200px  /* 5:  着予定日（親行）/ 品名後半（子行） */
        64px   /* 6:  数量/CS */
        52px   /* 7:  合数 */
        72px   /* 8:  重量/KG */
        200px  /* 9:  連絡/note */
        1fr;   /* 10: 右余白（将来の料金表示用）*/
    align-items: start;
}
.db-col-r[b-d5xef8xj74] { text-align: right; }
.db-cell-lbl[b-d5xef8xj74] {
    position: absolute; top: 3px; left: 10px;
    font-size: .55rem; font-weight: 700;
    text-transform: uppercase; letter-spacing: .03em;
    color: #94a3b8; line-height: 1; pointer-events: none;
}
.db-gi-has-lbl.db-col-r .db-cell-lbl[b-d5xef8xj74] { left: auto; right: 10px; }

/* ── 親行（subgrid で親グリッド列に整列） ── */
.db-group-header[b-d5xef8xj74] {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: subgrid;
    align-items: baseline;
    background: #eff6ff;
    border-top: 2px solid #bfdbfe;
    font-variant-numeric: tabular-nums;
    cursor: pointer;
}
.db-group-header:hover[b-d5xef8xj74] { filter: brightness(.97); }
.db-group-header--inbound[b-d5xef8xj74] {
    background: #f0fdf4;
    border-top-color: #bbf7d0;
}
.db-group-header--storage[b-d5xef8xj74] {
    background: #fffbeb;
    border-top-color: #fde68a;
}
.db-gh-toggle[b-d5xef8xj74] {
    grid-column: 1;
    display: flex; align-items: center; justify-content: center;
    color: #94a3b8;
}
.db-gh-dest[b-d5xef8xj74] {
    grid-column: 2 / 5;
    padding: 9px 10px;
    font-size: .92rem; font-weight: 700; color: #0f172a;
    display: flex; align-items: center; gap: 6px;
    min-width: 0; overflow: hidden;
}
.db-gh-dest-text[b-d5xef8xj74] {
    overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
    flex: 1; min-width: 0;
}
.db-gh-date[b-d5xef8xj74] {
    grid-column: 5;
    padding: 9px 8px;
    font-size: .92rem; font-weight: 700; color: #0f172a;
    white-space: nowrap;
}
.db-gh-cs[b-d5xef8xj74] {
    grid-column: 6;
    padding: 9px 10px;
    font-size: .86rem; font-weight: 600; color: #1e40af;
    text-align: right; white-space: nowrap;
}
.db-gh-kg[b-d5xef8xj74] {
    grid-column: 8;
    padding: 9px 10px;
    font-size: .86rem; font-weight: 600; color: #1e40af;
    text-align: right; white-space: nowrap;
}
.db-gh-note[b-d5xef8xj74] {
    grid-column: 9;
    padding: 9px 10px;
    color: #475569; font-weight: 500; font-size: .8rem;
    overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.db-group-header--inbound .db-gh-cs[b-d5xef8xj74],
.db-group-header--inbound .db-gh-kg[b-d5xef8xj74] { color: #166534; }
.db-group-header--storage .db-gh-cs[b-d5xef8xj74],
.db-group-header--storage .db-gh-kg[b-d5xef8xj74] { color: #b45309; }
.db-badge[b-d5xef8xj74] {
    display: inline-block; padding: 1px 5px; border-radius: 3px;
    font-size: .62rem; font-weight: 700; vertical-align: middle; margin-right: 4px;
}
.db-badge--ok[b-d5xef8xj74]      { background: #dcfce7; color: #166534; }
.db-badge--pending[b-d5xef8xj74] { background: #fef3c7; color: #92400e; }

/* ── 子行 ── */
.db-gi[b-d5xef8xj74] {
    padding: 7px 10px;
    font-size: .84rem; color: #334155;
    border-top: 1px solid #f1f5f9;
    overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
    font-variant-numeric: tabular-nums;
    position: relative;
}
.db-gi-pickup[b-d5xef8xj74] { grid-column: 2; padding-left: 20px; }
.db-gi-has-lbl[b-d5xef8xj74] { padding-top: 15px; }
.db-gi-indent[b-d5xef8xj74] {
    padding: 0;
    border-top: 1px solid #f1f5f9;
    border-right: 2px solid #e2e8f0;
    background: #f8fafc;
}
.db-gi-product[b-d5xef8xj74] { grid-column: 4 / 6; }
.db-gi-temp[b-d5xef8xj74] {
    grid-column: 3;
    font-size: .75rem; font-weight: 700;
    color: #166534; text-align: center;
}
.db-gi-note[b-d5xef8xj74] { color: #64748b; font-size: .78rem; white-space: normal; }

/* ── お届け先セクションヘッダー（入荷） ── */
.db-inbound-dest-header[b-d5xef8xj74] {
    grid-column: 1 / -1;
    padding: 5px 16px;
    background: #bbf7d0;
    border-top: 2px solid #86efac;
    font-size: .78rem; font-weight: 700;
    color: #166534;
    letter-spacing: .02em;
}

/* Group separator */
.db-group-sep[b-d5xef8xj74] {
    grid-column: 1 / -1;
    height: 6px;
    background: #f1f5f9;
}

/* ── 親行ラベル（最初のグループのみ） ── */
.db-gh-has-lbl[b-d5xef8xj74] { align-items: start; }
.db-gh-has-lbl .db-gh-dest[b-d5xef8xj74],
.db-gh-has-lbl .db-gh-date[b-d5xef8xj74],
.db-gh-has-lbl .db-gh-cs[b-d5xef8xj74],
.db-gh-has-lbl .db-gh-kg[b-d5xef8xj74],
.db-gh-has-lbl .db-gh-note[b-d5xef8xj74] {
    position: relative;
    padding-top: 18px;
}
.db-gh-has-lbl .db-gh-cs .db-cell-lbl[b-d5xef8xj74],
.db-gh-has-lbl .db-gh-kg .db-cell-lbl[b-d5xef8xj74] { left: auto; right: 10px; }
.db-gh-dest--lbl[b-d5xef8xj74] { position: relative; padding-top: 18px; }

/* ── State ── */
.db-state[b-d5xef8xj74] {
    flex: 1; display: flex; align-items: center; justify-content: center;
}
.db-spinner[b-d5xef8xj74] {
    width: 32px; height: 32px;
    border: 3px solid #e2e8f0; border-top-color: #3b82f6;
    border-radius: 50%;
    animation: db-spin-b-d5xef8xj74 .7s linear infinite;
}
@keyframes db-spin-b-d5xef8xj74 { to { transform: rotate(360deg); } }
/* /Components/Pages/Maintenances/FreightRateManager/CharterRateProfileEditDialog.razor.rz.scp.css */
body[b-vrbzypspl4] {
}
/* =========================================================
   FreightRateManager - CharterRateProfileEditDialog
   対象: CharterRateProfileEditDialog.razor
   方針:
     - inline style を撤去してクラスに集約
     - 未使用だった hl-cr-* を廃止し、実際に使うクラスだけ残す
   ========================================================= */

/* ダイアログの外枠（元: style="width:100%; max-width:1200px; overflow-x:hidden;"） */
.hl-charter-edit[b-vrbzypspl4] {
    width: 100%;
    max-width: 1200px;
    overflow-x: hidden;
}

/* 折り返し前提の共通ラッパ */
.hl-cr-wrap[b-vrbzypspl4] {
    flex-wrap: wrap;
}

/* “太字”共通 */
.hl-cr-strong[b-vrbzypspl4] {
    font-weight: 700;
}

/* =========================
   幅ユーティリティ（このダイアログ内だけ）
   ========================= */
.hl-cr-w-220[b-vrbzypspl4] {
    width: 220px;
}

.hl-cr-w-260[b-vrbzypspl4] {
    width: 260px;
}

.hl-cr-w-300[b-vrbzypspl4] {
    width: 300px;
}

/* 説明欄（可変＋最小幅） */
.hl-cr-desc[b-vrbzypspl4] {
    flex: 1 1 auto;
    min-width: 420px;
}

/* 操作エリア（右端固定気味） */
.hl-cr-actions[b-vrbzypspl4] {
    width: 260px;
    display: flex;
    flex-direction: column;
}

.hl-cr-actions-spacer[b-vrbzypspl4] {
    height: 22px;
}

.hl-cr-actions-inner[b-vrbzypspl4] {
    margin-top: auto;
}

/* Version SelectBar の見やすい配分 */
.hl-cr-version-label[b-vrbzypspl4] {
    flex: 0 0 auto;
}

.hl-cr-version-select[b-vrbzypspl4] {
    flex: 1 1 auto;
    min-width: 520px;
}

/* Version + Grid 横並びレイアウト */
.hl-cr-version-layout[b-vrbzypspl4] {
    display: flex;
    gap: 12px;
    align-items: flex-start;
}

.hl-cr-version-main[b-vrbzypspl4] {
    flex: 1 1 auto;
    min-width: 0;
}

/* 右サイドバー：ボタン類を縦並び */
.hl-cr-version-actions[b-vrbzypspl4] {
    flex: 0 0 150px;
    width: 150px;
    display: flex;
    flex-direction: column;
    align-self: stretch;    /* 左主エリアと同じ高さに伸ばす（margin-top:auto を効かせるため） */
    gap: 0;
    padding-top: 22px;      /* ヘッダーラベル行の高さ分オフセット */
}

/* “上限の扱い” 1行の縦ズレ防止 */
.hl-cr-toggleline[b-vrbzypspl4] {
    height: 36px;
}

/* =========================================================
   VehicleRates Grid Header Align (within CharterRateProfileEditDialog)
   ========================================================= */

/* ヘッダーを強制左寄せ（Radzenのflexヘッダー対策） */
.hl-charter-edit .hl-vehiclerate-grid thead th[b-vrbzypspl4],
.hl-charter-edit .hl-vehiclerate-grid thead th *[b-vrbzypspl4] {
    text-align: left !important;
}

    .hl-charter-edit .hl-vehiclerate-grid thead th .rz-column-title[b-vrbzypspl4],
    .hl-charter-edit .hl-vehiclerate-grid thead th .rz-column-title-content[b-vrbzypspl4],
    .hl-charter-edit .hl-vehiclerate-grid thead th .rz-sortable-column[b-vrbzypspl4],
    .hl-charter-edit .hl-vehiclerate-grid thead th .rz-sortable-column-content[b-vrbzypspl4] {
        justify-content: flex-start !important;
    }

        .hl-charter-edit .hl-vehiclerate-grid thead th .rz-column-title span[b-vrbzypspl4],
        .hl-charter-edit .hl-vehiclerate-grid thead th .rz-column-title-content span[b-vrbzypspl4] {
            text-align: left !important;
        }

    /* 「有効」列だけ中央寄せに戻す */
    .hl-charter-edit .hl-vehiclerate-grid thead th.hl-col-active[b-vrbzypspl4],
    .hl-charter-edit .hl-vehiclerate-grid thead th.hl-col-active *[b-vrbzypspl4] {
        text-align: center !important;
    }

        .hl-charter-edit .hl-vehiclerate-grid thead th.hl-col-active .rz-column-title[b-vrbzypspl4],
        .hl-charter-edit .hl-vehiclerate-grid thead th.hl-col-active .rz-column-title-content[b-vrbzypspl4],
        .hl-charter-edit .hl-vehiclerate-grid thead th.hl-col-active .rz-sortable-column[b-vrbzypspl4],
        .hl-charter-edit .hl-vehiclerate-grid thead th.hl-col-active .rz-sortable-column-content[b-vrbzypspl4] {
            justify-content: center !important;
        }



/* 上段Profile：FareEditDialogと同じ2段グリッド構成 */
.hl-crp-grid[b-vrbzypspl4] {
    display: grid;
    grid-template-columns: 220px 1fr 160px 160px;
    grid-template-rows: auto auto;
    gap: 10px 12px;
    align-items: end;
}

/* グリッドセル共通 */
.hl-crp-cell[b-vrbzypspl4] {
    min-width: 0; /* 1fr列を正しく伸縮させる必須 */
}

/* 2段目左：空白 */
.hl-crp-spacer[b-vrbzypspl4] {
    /* nothing */
}

/* 2段目：削除（右寄せ） */
.hl-crp-actions[b-vrbzypspl4] {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    min-height: 36px;
}

/* 2段目：保存（右寄せ） */
.hl-crp-save[b-vrbzypspl4] {
    display: flex;
    justify-content: flex-end;
    align-items: center;
}

/* Radzen入力系の幅保険（wrapper対策） */
.hl-crp-grid .rz-textbox[b-vrbzypspl4],
.hl-crp-grid .rz-datepicker[b-vrbzypspl4],
.hl-crp-grid .rz-dropdown[b-vrbzypspl4] {
    width: 100%;
    box-sizing: border-box;
}

/* 狭い画面では縦積み（必要なら） */
@media (max-width: 900px) {
    .hl-crp-grid[b-vrbzypspl4] {
        grid-template-columns: 1fr;
    }

    .hl-crp-actions[b-vrbzypspl4],
    .hl-crp-save[b-vrbzypspl4] {
        justify-content: flex-start;
    }
}
/* /Components/Pages/Maintenances/FreightRateManager/CharterRateProfileGrid.razor.rz.scp.css */
body[b-sf43stzzpt] {
}
/* =========================================================
   CharterRateProfileGrid.razor.css（CSS Isolation）
   方針:
     - 選択行は Radzen 標準（tr.rz-state-highlight）
     - hover/選択色は Radzen テーマ変数
     - linked は未選択時のみ薄く
     - 内部DOMへ届かせるため ::deep を使用
   ========================================================= */


/* =========================================================
   Row Layout（カード表示）
   ※ここはそのまま使えます（選択系だけ整理）
   ========================================================= */

.hl-chartergrid .hl-charter-row[b-sf43stzzpt] {
    display: grid;
    grid-template-columns: 520px 1fr;
    gap: 12px;
    padding: 10px 12px;
}

.hl-chartergrid .hl-left[b-sf43stzzpt] {
    display: grid;
    grid-template-columns: 70px 1fr;
    grid-template-rows: auto auto auto;
    gap: 6px 10px;
    align-items: start;
}

.hl-chartergrid .hl-badge[b-sf43stzzpt] {
    grid-column: 1;
    grid-row: 1;
}

.hl-chartergrid .hl-title[b-sf43stzzpt] {
    grid-column: 2;
    grid-row: 1;
    font-weight: 900;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.hl-chartergrid .hl-desc[b-sf43stzzpt] {
    grid-column: 2;
    grid-row: 2;
    color: #666;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.hl-chartergrid .hl-desc-empty[b-sf43stzzpt] {
    color: #aaa;
}

.hl-chartergrid .hl-term[b-sf43stzzpt] {
    grid-column: 2;
    grid-row: 3;
    color: #666;
    font-weight: 700;
    white-space: nowrap;
}

.hl-chartergrid .hl-state[b-sf43stzzpt] {
    grid-column: 2;
    font-size: 0.75rem;
    font-weight: 800;
    white-space: nowrap;
}

.hl-chartergrid .hl-state.active[b-sf43stzzpt] {
    color: #166534;
}

.hl-chartergrid .hl-state.ended[b-sf43stzzpt] {
    color: #b91c1c;
}

.hl-chartergrid .hl-right[b-sf43stzzpt] {
    display: grid;
    grid-template-columns: 170px 1fr;
    gap: 10px;
    align-items: start;
}

.hl-chartergrid .hl-apply[b-sf43stzzpt] {
    display: flex;
    flex-direction: column;
    gap: 2px;
    padding-top: 2px;
}

.hl-chartergrid .hl-apply-label[b-sf43stzzpt] {
    font-size: 0.75rem;
    color: #777;
    font-weight: 800;
}

.hl-chartergrid .hl-apply-value[b-sf43stzzpt] {
    font-weight: 900;
    white-space: nowrap;
}

.hl-chartergrid .hl-next[b-sf43stzzpt] {
    margin-top: 8px;
    min-width: 120px;
}

.hl-chartergrid .hl-next-label[b-sf43stzzpt] {
    font-size: .75rem;
    color: #6b7280;
}

.hl-chartergrid .hl-next-value[b-sf43stzzpt] {
    font-weight: 800;
    white-space: nowrap;
}

.hl-chartergrid .hl-detail[b-sf43stzzpt] {
    display: grid;
    grid-template-columns: 200px 120px 120px 120px;
    row-gap: 6px;
    column-gap: 10px;
    align-items: center;
}

.hl-chartergrid .hl-dh[b-sf43stzzpt] {
    font-size: 0.75rem;
    color: #777;
    font-weight: 800;
}

.hl-chartergrid .hl-cell[b-sf43stzzpt] {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.hl-chartergrid .hl-num[b-sf43stzzpt] {
    text-align: right;
    font-variant-numeric: tabular-nums;
}

.hl-chartergrid .hl-empty[b-sf43stzzpt] {
    grid-column: 1 / -1;
    color: #888;
    padding: 6px 0;
}


/* 次回変更あり：行全体に“気づき”を付与（選択色と喧嘩しない） */
.hl-chartergrid .hl-charter-row.hl-has-next[b-sf43stzzpt] {
    border-left: 4px solid #f59e0b; /* amber */
    padding-left: 8px; /* 左ボーダー分の調整 */
    background: linear-gradient(90deg, rgba(245, 158, 11, 0.10), transparent 40%);
    border-radius: 8px;
}

.hl-chartergrid .hl-charter-row.hl-ended[b-sf43stzzpt] {
    border-left: 4px solid #dc2626;
    padding-left: 8px;
    background: linear-gradient(90deg, rgba(220, 38, 38, 0.10), transparent 40%);
    border-radius: 8px;
}

/* 選択時はRadzenのハイライトを優先しつつ、左ボーダーだけ残す */
.hl-chartergrid[b-sf43stzzpt]  tr.rz-state-highlight .hl-charter-row.hl-has-next {
    background: none;
    border-left-color: #f59e0b;
}

/* 次回変更の見出しを“バッジ化” */
.hl-chartergrid .hl-next-head[b-sf43stzzpt] {
    display: flex;
    align-items: baseline;
    gap: 8px;
}

.hl-chartergrid .hl-next-badge[b-sf43stzzpt] {
    display: inline-block;
    font-size: .70rem;
    font-weight: 900;
    padding: 2px 8px;
    border-radius: 999px;
    background: rgba(245, 158, 11, 0.18);
    border: 1px solid rgba(245, 158, 11, 0.35);
    color: #92400e;
    white-space: nowrap;
}

.hl-chartergrid .hl-next-date[b-sf43stzzpt] {
    font-weight: 900;
    white-space: nowrap;
}

.hl-chartergrid .hl-next-sub[b-sf43stzzpt] {
    margin-top: 2px;
    font-size: .75rem;
    color: #6b7280;
    font-weight: 700;
}


/* 左のバッジを縦積みにする */
.hl-badges[b-sf43stzzpt] {
    display: flex;
    flex-direction: column;
    gap: 4px;
    align-items: flex-start;
}

/* “選択中” バッジ（固定表示） */
.hl-linked-badge[b-sf43stzzpt] {
    font-size: 0.70rem;
    padding: 2px 6px;
    border-radius: 6px;
    background: var(--rz-info-light, #e6f2ff);
    color: var(--rz-info, #1d4f8a);
    border: 1px solid var(--rz-info, #1d4f8a);
}
/* /Components/Pages/Maintenances/FreightRateManager/DeliveryFreightLinkGrid.razor.rz.scp.css */
body[b-8ry43yapi4] {
}


/* =========================================================
   FreightRateManager - DeliveryFreightLinkGrid
   対象: DeliveryFreightLinkGrid.razor
   目的: location cell（集荷先/配送先）の表示を整える
   ========================================================= */

.hl-loc[b-8ry43yapi4] {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
    width: 100%; /* ★セル幅いっぱいを使う */
}

.hl-loc-top[b-8ry43yapi4] {
    display: flex;
    align-items: baseline;
    gap: 8px;
    min-width: 0;
    width: 100%; /* ★これが無いと右寄せが効きにくい */
}

.hl-loc-short[b-8ry43yapi4] {
    font-weight: 700;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.hl-loc-phone[b-8ry43yapi4] {
    margin-left: auto; /* ★右へ押し出す（space-betweenより確実） */
    text-align: right;
    white-space: nowrap;
    color: var(--rz-text-secondary);
    font-variant-numeric: tabular-nums;
}

/* 下段：住所（左）+ ID（右）の横並び */
.hl-loc-bottom[b-8ry43yapi4] {
    display: flex;
    align-items: baseline;
    gap: 6px;
    min-width: 0;
    width: 100%;
}

.hl-loc-addr[b-8ry43yapi4] {
    color: var(--rz-text-secondary);
    min-width: 0;
    flex: 1 1 auto;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

a.hl-loc-addr-link[b-8ry43yapi4] {
    text-decoration: underline;
    text-decoration-style: dotted;
    text-underline-offset: 2px;
    cursor: pointer;
}

a.hl-loc-addr-link:hover[b-8ry43yapi4] {
    text-decoration-style: solid;
    color: var(--rz-primary);
}

.hl-loc-id[b-8ry43yapi4] {
    flex: 0 0 auto;
    margin-left: auto;
    text-align: right;
    white-space: nowrap;
    color: var(--rz-text-secondary);
    font-variant-numeric: tabular-nums;
    font-size: 0.8em;
    opacity: 0.7;
}

.hl-dfl-badges[b-8ry43yapi4] {
    display: flex;
    flex-direction: column;
    gap: 4px;
    align-items: flex-start;
    width: 100%;
    min-width: 0;
}

/* バッジが列幅を超えないよう制限 */
.hl-dfl-badges .rz-badge[b-8ry43yapi4] {
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    display: inline-block;
}

.hl-dfl-new-badge[b-8ry43yapi4] {
    display: inline-flex;
    align-items: center;
    padding: 2px 8px;
    border-radius: 999px;
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.02em;
    background: #fff4d6;
    color: #9a5b00;
    border: 1px solid #e4b64f;
    box-shadow: 0 1px 2px rgba(154, 91, 0, 0.08);
}

.hl-dfl-new-panel[b-8ry43yapi4] {
    padding: 6px 8px;
    border-radius: 8px;
    border: 1px dashed #e4b64f;
    background: linear-gradient(90deg, #fff9e8 0%, #fffdf5 100%);
    /* 選択行（白テキスト継承）でも文字が見えるよう明示指定 */
    color: #444 !important;
}

.hl-dfl-new-panel span[b-8ry43yapi4] {
    color: #444 !important;
}

.hl-dfl-new-panel .rz-text-muted[b-8ry43yapi4] {
    color: #888 !important;
}

.hl-dfl-delegated-group[b-8ry43yapi4] {
    display: inline-flex;
    align-items: center;
    gap: 2px;
    margin-left: auto;
    flex: 0 0 auto;
}

.hl-dfl-delegated-badge[b-8ry43yapi4] {
    display: inline-flex;
    align-items: center;
    padding: 2px 8px;
    border-radius: 999px;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    background: #e8f0fe;
    color: #1a56db;
    border: 1px solid #93b4f7;
    white-space: nowrap;
}

.hl-dfl-required-badge[b-8ry43yapi4] {
    display: inline-flex;
    align-items: center;
    padding: 2px 8px;
    border-radius: 999px;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    background: #fde8e8;
    color: #c81e1e;
    border: 1px solid #f7a0a0;
    white-space: nowrap;
}

/* /Components/Pages/Maintenances/FreightRateManager/EstimateDialog.razor.rz.scp.css */
body[b-3q3nt9x3ds] {
}
/* =========================
   Root layout
========================= */
.hl-estimate-dialog[b-3q3nt9x3ds] {
    height: 100%;
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: 8px;
    min-width: 0;
    min-height: 0;
    /* ★列幅をここで一元管理（全ブロック共通） */
    --col1: 110px; /* ①カテゴリ/ルール */
    --col2: 220px; /* ②条件 */
    --col3: 80px; /* ③単位/車格 */
    --col4: 180px; /* ④レンジ */
    --col5: 80px; /* ⑤単価/金額 */
    --col6: 60px; /*⑥適用列*/
    --col8: 140px; /* ⑧金額（右固定） */
    --gap: 12px;
}

    /* box sizing を揃える（幅ズレ防止） */
    .hl-estimate-dialog[b-3q3nt9x3ds],
    .hl-estimate-dialog *[b-3q3nt9x3ds] {
        box-sizing: border-box;
    }

/* =========================
   Header
========================= */
.hl-est-header[b-3q3nt9x3ds] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
}

.hl-est-title[b-3q3nt9x3ds] {
    font-weight: 800;
    font-size: 20px;
    letter-spacing: 0.02em;
}

/* =========================
   Toolbar
========================= */
.hl-est-toolbar[b-3q3nt9x3ds] {
    padding: 6px;
}

.hl-est-toolbar-row[b-3q3nt9x3ds] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
}

.hl-est-field[b-3q3nt9x3ds] {
    min-width: 0;
}

.hl-w-220[b-3q3nt9x3ds] {
    min-width: 220px;
}

.hl-w-180[b-3q3nt9x3ds] {
    min-width: 180px;
}

.hl-est-relayflag[b-3q3nt9x3ds] {
    min-width: 220px;
    display: flex;
    align-items: center;
    gap: 10px;
}

/* =========================
   Blocks
========================= */
.hl-est-blocks[b-3q3nt9x3ds] {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.hl-est-block[b-3q3nt9x3ds] {
    padding: 4px 6px;
}

/* =========================
   7-column shared grid (ALL blocks)
   ①カテゴリ/ルール
   ②条件
   ③単位（チャーターは車格）
   ④レンジ
   ⑤単価（チャーターは金額）
   ⑥適用列
   ⑦計算式（可変）
   ⑧金額（右寄せ固定）
========================= */
.hl-est-grid7[b-3q3nt9x3ds] {
    display: grid;
    grid-template-columns: var(--col1) var(--col2) var(--col3) var(--col4) var(--col5) var(--col6) 1fr var(--col8);
    column-gap: var(--gap);
    align-items: start;
    min-width: 0;
    width: 100%;
}

.hl-est-cell[b-3q3nt9x3ds] {
    min-width: 0;
}

/* ① */
.hl-est-cat[b-3q3nt9x3ds] {
    font-weight: 800;
    font-size: 16px;
    line-height: 1.2;
}

.hl-est-rule[b-3q3nt9x3ds] {
    font-size: 12px;
    font-weight: 500;
    color: var(--rz-text-secondary, #666);
    margin-top: 3px;
}

/* ② */
.hl-est-cond-title[b-3q3nt9x3ds] {
    font-size: 11px;
    font-weight: 600;
    color: var(--rz-text-secondary, #666);
}

.hl-est-cond-body[b-3q3nt9x3ds] {
    margin-top: 2px;
    font-size: 13px;
}

/* ⑥ */
.hl-est-formula-label[b-3q3nt9x3ds] {
    font-size: 11px;
    font-weight: 600;
    color: var(--rz-text-secondary, #666);
}

.hl-est-formula-body[b-3q3nt9x3ds] {
    margin-top: 4px;
    font-size: 13px;
}

/* ⑦ */
.hl-est-adopt[b-3q3nt9x3ds] {
    text-align: right;
}

.hl-est-adopt-label[b-3q3nt9x3ds] {
    font-size: 11px;
    font-weight: 600;
    color: var(--rz-text-secondary, #666);
}

.hl-est-adopt-amount[b-3q3nt9x3ds] {
    margin-top: 4px;
    font-weight: 800;
    font-size: 16px;
    font-variant-numeric: tabular-nums;
}

.hl-est-muted[b-3q3nt9x3ds] {
    color: var(--rz-text-secondary, #666);
}

/* =========================
   ③④⑤ “一体”テーブル（subgrid 不使用で安定化）
   - 親の③④⑤と同じ列幅に固定（変数参照）
   - ③ foreach の中に ④⑤ foreach をネストしても崩れない
========================= */
.hl-est-upr[b-3q3nt9x3ds] {
    grid-column: 3 / 7; /* ③〜⑤をまたぐ */
    min-width: 0;
}

/* ③④⑤の中身：常に同じ列幅で固定（＝どのブロックも必ず揃う） */
.hl-est-upr-gap[b-3q3nt9x3ds] {
    display: grid;
    grid-template-columns: var(--col3) var(--col4) var(--col5) var(--col6); /* ★4列に */
    column-gap: var(--gap);
    row-gap: 6px;
    min-width: 0;
    align-items: start;
}

/* 見出し：列に直置き */
.hl-est-upr-head[b-3q3nt9x3ds] {
    display: contents;
}

    .hl-est-upr-head > div[b-3q3nt9x3ds] {
        font-size: 11px;
        font-weight: 600;
        color: var(--rz-text-secondary, #666);
        padding-bottom: 2px;
    }

/* 1行（③④⑤）を同じ foreach で出すため */
.hl-est-upr-row[b-3q3nt9x3ds] {
    display: contents;
}

/* ③単位/車格 */
.hl-est-upr-unit[b-3q3nt9x3ds] {
    font-weight: 700;
    font-size: 13px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    min-width: 0;
}

/* 2行目以降の単位欄：背景を生かすため visibility を使わない */
.hl-est-upr-unit-blank[b-3q3nt9x3ds] {
    visibility: visible; /* 念のため明示 */
    color: transparent; /* 文字だけ消す */
}

/* ④レンジ */
.hl-est-upr-range[b-3q3nt9x3ds] {
    font-size: 12px;
    color: var(--rz-text-secondary, #666);
    white-space: nowrap;
}

/* ⑤単価/金額 */
.hl-est-upr-price[b-3q3nt9x3ds] {
    font-weight: 700;
    font-size: 13px;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
    text-align: right; /* 要望：左位置固定 */
}



/* ⑥適用列（中身は後で使う） */
.hl-est-apply[b-3q3nt9x3ds] {
    display: flex;
    align-items: center;
    justify-content: center;
}

/* =========================
   Charter（条件欄のタイトル/説明）
========================= */
.hl-est-ch-title[b-3q3nt9x3ds] {
    font-weight: 700;
    font-size: 13px;
    line-height: 1.2;
}

.hl-est-ch-desc[b-3q3nt9x3ds] {
    margin-top: 2px;
    font-size: 12px;
    line-height: 1.2;
}

/* =========================
   Bottom
========================= */
.hl-est-bottom[b-3q3nt9x3ds] {
    flex: 0 0 auto;
    padding: 6px;
}

    .hl-est-bottom .rz-card-content[b-3q3nt9x3ds] {
        padding: 6px;
    }


/* =========================
   適用強調（セル塗り方式）
   - display: contents のため「行」背景ではなくセルに塗る
   - 既存クラスは変更せず、追加クラスのみ
========================= */
.hl-est-applied-cell[b-3q3nt9x3ds] {
    background: rgba(34, 197, 94, 0.12);
    border-radius: 6px;
    padding: 2px 6px;
}

/* 条件欄の適用強調 */
.hl-est-applied-cond[b-3q3nt9x3ds] {
    background: rgba(34, 197, 94, 0.10);
    border-radius: 6px;
    padding: 4px 6px;
    white-space: pre-line; /* \n 改行を効かせる */
}

/* =========================
   適用強調：条件OFF時の “選択行” を薄グレーに
========================= */
.hl-est-blocked-cell[b-3q3nt9x3ds] {
    background: rgba(148, 163, 184, 0.18); /* 薄グレー */
    border-radius: 6px;
    padding: 2px 6px;
}

/* 条件行：1行ずつ（①/②の別色対応） */
.hl-est-cond-line[b-3q3nt9x3ds] {
    padding: 2px 6px;
    border-radius: 6px;
    white-space: pre-line;
    margin-top: 4px;
}

/* 条件OFF時（グレー） */
.hl-est-blocked-cond[b-3q3nt9x3ds] {
    background: rgba(148, 163, 184, 0.18);
}








/* 下段カード（レイアウトは維持。書式だけ上段に寄せる） */
.hl-est-bottom-card[b-3q3nt9x3ds] {
    min-height: 0;
}

/* 見出し：基本の左上見出し相当（フォントサイズ/太さを合わせる） */
.hl-est-bottom-title[b-3q3nt9x3ds] {
    font-size: 16px;
    font-weight: 600;
    line-height: 1.2;
    margin: 0; /* ←詰める */
}

/* 金額：「採用金額」と同等の強さ */
.hl-est-bottom-amount[b-3q3nt9x3ds] {
    font-size: 18px;
    font-weight: 700;
    line-height: 1.2;
    white-space: nowrap;
}

/* ==== 通行料：1行（左=表題 / 右=金額） ==== */
.hl-est-tollrow[b-3q3nt9x3ds] {
    display: flex;
    align-items: flex-start; /* 表題上揃え */
    justify-content: space-between;
    gap: 12px;
}

/* ==== 計算結果（結果比較） ==== */
/* 3カラム×2行、左見出しは2行span（表題は上揃え） */
.hl-est-resultgrid[b-3q3nt9x3ds] {
    display: grid;
    grid-template-columns: 90px 1fr 140px;
    grid-template-rows: auto auto;
    column-gap: 14px;
    row-gap: 6px; /* ←詰める */
    align-items: start; /* ←上揃え（重要） */
}

.hl-est-resulttitle[b-3q3nt9x3ds] {
    grid-row: 1 / span 2; /* 2行ぶん縦にまたがる */
    align-self: start; /* ←上揃え */
    font-weight: 600; /* 基本の表題と同格に寄せるなら 600 */
    font-size: 16px; /* ←「基本」と揃える */
    line-height: 1.2;
    white-space: nowrap;
    margin: 0;
}

.hl-est-rowlabel[b-3q3nt9x3ds] {
    font-size: 13px; /* 少し小さめで詰める */
    line-height: 1.2;
    white-space: nowrap;
    margin: 0;
}

.hl-est-amount[b-3q3nt9x3ds] {
    text-align: right;
    font-weight: 700;
    font-size: 18px; /* ←採用金額と揃える */
    line-height: 1.2;
    white-space: nowrap;
}

/* ==== 合計運賃 ==== */
.hl-est-totalgrid[b-3q3nt9x3ds] {
    min-height: 0;
}

/* 1行目：合計運賃（左）/ 方式（右） */
.hl-est-totalhead[b-3q3nt9x3ds] {
    display: flex;
    align-items: flex-start; /* 表題上揃え */
    justify-content: space-between;
    gap: 12px;
}

.hl-est-totalmethod[b-3q3nt9x3ds] {
    font-size: 13px;
    font-weight: 600;
    line-height: 1.2;
    white-space: nowrap;
    margin: 0;
    margin-right: 100px;
}

/* 2行目：金額（ちょっと大きめ） */
.hl-est-totalamount[b-3q3nt9x3ds] {
    margin-top: 6px; /* ←詰める */
    font-size: 22px;
    font-weight: 800;
    line-height: 1.1;
    white-space: nowrap;
    text-align: right;
    margin-right: 100px;
}












/* /Components/Pages/Maintenances/FreightRateManager/FareEditDialog.razor.rz.scp.css */
body[b-buhu7u5j1x] {
}

/* =========================================================
   FreightRateManager - FareEditDialog (Scroll Reset)
   対象: FareEditDialog.razor
   方針:
     - このCSS内のスクロール要素(overflow auto/scroll)を全撤去
     - 不要CSSを削除
   ========================================================= */

.hl-fe-dialog-header[b-buhu7u5j1x] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    padding: 4px 8px;
}

.hl-fe-dialog-title[b-buhu7u5j1x] {
    font-weight: 700;
}


/* =========================
   ダイアログ本体（ルート）
========================= */
.hl-fare-edit-dialog[b-buhu7u5j1x] {
    width: 100%;
    height: 100%;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    min-width: 0;
    min-height: 0;
}

    /* dropdownが背面に潜る対策 */
    .hl-fare-edit-dialog[b-buhu7u5j1x]  .rz-dropdown-panel {
        z-index: 30000;
    }

/* 折り返し前提 */
.hl-fe-wrap[b-buhu7u5j1x] {
    flex-wrap: wrap;
}

/* 太字 */
.hl-fe-strong[b-buhu7u5j1x] {
    font-weight: 700;
}

/* 幅ユーティリティ（このダイアログ内だけ） */
.hl-fe-w-260[b-buhu7u5j1x] {
    width: 260px;
}

.hl-fe-w-300[b-buhu7u5j1x] {
    width: 300px;
}

/* 説明欄（可変＋最小幅） */
.hl-fe-desc[b-buhu7u5j1x] {
    flex: 1 1 auto;
    min-width: 420px;
}

/* 操作エリア */
.hl-fe-actions[b-buhu7u5j1x] {
    width: 320px;
    display: flex;
    flex-direction: column;
}

.hl-fe-actions-spacer[b-buhu7u5j1x] {
    height: 22px;
}

.hl-fe-actions-inner[b-buhu7u5j1x] {
    margin-top: auto;
}

/* 削除済バッジ */
.hl-required-mark[b-buhu7u5j1x] {
    color: #e53935;
    font-weight: 800;
    margin-left: 3px;
}

.hl-badge-deleted[b-buhu7u5j1x] {
    display: inline-flex;
    align-items: center;
    padding: 2px 10px;
    border-radius: 999px;
    font-size: 0.75rem;
    font-weight: 800;
    background: #f2f2f2;
    color: #666;
    border: 1px solid #ddd;
}

/* ================================
   中段：左右カード（履歴 / 条件区分）
================================ */
.hl-fe-midrow[b-buhu7u5j1x] {
    width: 100%;
    display: flex;
    gap: 10px;
    align-items: stretch;
    flex-wrap: nowrap;
}

/* 左：履歴（残り幅すべて） */
.hl-fe-history[b-buhu7u5j1x] {
    flex: 1 1 auto;
    min-width: 0;
}

/* 右：条件区分（右寄せ・最小400px） */
.hl-fe-condcard[b-buhu7u5j1x] {
    flex: 0 0 auto;
    min-width: 400px;
    margin-left: auto;
}

/* 条件区分：タイトル＋SelectBarは1行 */
.hl-fe-condleft[b-buhu7u5j1x] {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    white-space: nowrap;
}

.hl-fe-condtitle[b-buhu7u5j1x] {
    font-weight: 800;
    white-space: nowrap;
}

/* SelectBar：スクロールさせない（リセット） */
.hl-fe-condselect[b-buhu7u5j1x] {
    display: inline-flex;
    min-width: 0;
}

    .hl-fe-condselect[b-buhu7u5j1x]  .rz-selectbar {
        width: 100%;
        min-width: 0;
    }

    /* 各アイテムは折り返さない（見た目維持） */
    .hl-fe-condselect[b-buhu7u5j1x]  .rz-selectbar-item,
    .hl-fe-condselect[b-buhu7u5j1x]  .rz-selectbar-item span {
        white-space: nowrap;
    }

/* 右側のアイコンは固定 */
.hl-fe-condicons[b-buhu7u5j1x] {
    flex: 0 0 auto;
    white-space: nowrap;
}

/* 履歴 SelectBar：スクロール撤去（リセット） */
.fare-history-selectbar[b-buhu7u5j1x] {
    width: 100%;
    white-space: nowrap;
}

/* 狭い画面では折り返し */
@media (max-width: 1100px) {
    .hl-fe-midrow[b-buhu7u5j1x] {
        flex-wrap: wrap;
    }

    .hl-fe-history[b-buhu7u5j1x] {
        flex: 1 1 100%;
    }

    .hl-fe-condcard[b-buhu7u5j1x] {
        margin-left: 0;
        width: 100%;
        min-width: 400px;
    }
}

/* =========================
   ミニ表（表示専用）
========================= */
.hl-mini-table[b-buhu7u5j1x] {
    width: 100%;
    border-collapse: collapse;
    table-layout: fixed;
    font-size: 12px;
    line-height: 1.2;
}

    .hl-mini-table td[b-buhu7u5j1x] {
        padding: 4px 6px;
        border-top: 1px solid var(--rz-base-300, #e5e7eb);
        vertical-align: top;
    }

.hl-mini-range[b-buhu7u5j1x] {
    width: 70%;
    text-align: left;
    white-space: normal;
    word-break: break-word;
}

.hl-mini-price[b-buhu7u5j1x] {
    width: 30%;
    text-align: right;
    white-space: nowrap;
    font-variant-numeric: tabular-nums;
}

.hl-mini-table tfoot td[b-buhu7u5j1x] {
    border-top: 1px solid var(--rz-base-400, #d1d5db);
    padding-top: 6px;
}

.hl-mini-min-label[b-buhu7u5j1x] {
    text-align: left;
    font-weight: 700;
    white-space: nowrap;
}

.hl-mini-min-value[b-buhu7u5j1x] {
    text-align: right;
    white-space: nowrap;
}

.hl-mini-min-amount[b-buhu7u5j1x] {
    font-weight: 700;
    font-variant-numeric: tabular-nums;
}

.hl-mini-min-unit[b-buhu7u5j1x] {
    margin-left: 6px;
    opacity: 0.8;
}

.hl-mini-unit[b-buhu7u5j1x] {
    margin-left: 6px;
    opacity: 0.75;
    font-size: 12px;
}

.hl-mini-none[b-buhu7u5j1x] {
    opacity: 0.75;
}

/* =========================
   中継・割増：条件入力（スクロールなし）
========================= */
.hl-relay-condtext[b-buhu7u5j1x],
.hl-surcharge-condtext[b-buhu7u5j1x] {
    font-size: 12px;
    overflow-wrap: anywhere;
}

.hl-field .hl-label[b-buhu7u5j1x] {
    font-size: 12px;
    color: var(--rz-text-secondary-color);
    margin-bottom: 4px;
    line-height: 1.1;
    white-space: nowrap;
}

.hl-relay-condinputs[b-buhu7u5j1x],
.hl-surcharge-condinputs[b-buhu7u5j1x] {
    margin-top: 10px;
    display: grid;
    gap: 10px;
    width: 100%;
    align-items: end;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    grid-template-areas:
        "unit upper"
        "judge judge";
}

.hl-surcharge-condinputs[b-buhu7u5j1x] {
    grid-template-areas:
        "unit lower"
        "judge judge";
}

    .hl-relay-condinputs > *[b-buhu7u5j1x],
    .hl-surcharge-condinputs > *[b-buhu7u5j1x] {
        min-width: 0;
    }

.hl-relay-cond-unit[b-buhu7u5j1x] {
    grid-area: unit;
}

.hl-relay-cond-upper[b-buhu7u5j1x] {
    grid-area: upper;
}

.hl-relay-cond-judge[b-buhu7u5j1x] {
    grid-area: judge;
}

.hl-surcharge-cond-unit[b-buhu7u5j1x] {
    grid-area: unit;
}

.hl-surcharge-cond-lower[b-buhu7u5j1x] {
    grid-area: lower;
}

.hl-surcharge-cond-judge[b-buhu7u5j1x] {
    grid-area: judge;
}

    .hl-relay-cond-judge[b-buhu7u5j1x]  .rz-selectbar,
    .hl-surcharge-cond-judge[b-buhu7u5j1x]  .rz-selectbar {
        width: 100%;
    }

/* OFF時 */
.hl-relay-condinputs.is-off[b-buhu7u5j1x],
.hl-surcharge-condinputs.is-off[b-buhu7u5j1x] {
    grid-template-columns: 1fr;
    grid-template-areas: "unit";
}

    .hl-relay-condinputs.is-off .hl-relay-cond-upper[b-buhu7u5j1x],
    .hl-relay-condinputs.is-off .hl-relay-cond-judge[b-buhu7u5j1x],
    .hl-surcharge-condinputs.is-off .hl-surcharge-cond-lower[b-buhu7u5j1x],
    .hl-surcharge-condinputs.is-off .hl-surcharge-cond-judge[b-buhu7u5j1x] {
        display: none;
    }

.hl-relay-condhint[b-buhu7u5j1x] {
    margin-top: 6px;
    font-size: 11px;
    opacity: 0.8;
}

@media (max-width: 900px) {
    .hl-relay-condinputs[b-buhu7u5j1x] {
        grid-template-columns: 1fr;
        grid-template-areas:
            "unit"
            "upper"
            "judge";
        align-items: stretch;
    }

    .hl-surcharge-condinputs[b-buhu7u5j1x] {
        grid-template-columns: 1fr;
        grid-template-areas:
            "unit"
            "lower"
            "judge";
        align-items: stretch;
    }
}

/* =========================
   単量割増（スクロールなし）
========================= */
.hl-unitws-head[b-buhu7u5j1x] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 6px;
}

.hl-unitws-grid[b-buhu7u5j1x] {
    margin-top: 8px;
    display: grid;
    gap: 10px;
    width: 100%;
    align-items: end;
    grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr);
    grid-template-areas:
        "base round"
        "rate rate";
}

    .hl-unitws-grid > *[b-buhu7u5j1x] {
        min-width: 0;
    }

.hl-unitws-base[b-buhu7u5j1x] {
    grid-area: base;
}

.hl-unitws-round[b-buhu7u5j1x] {
    grid-area: round;
}

.hl-unitws-rate[b-buhu7u5j1x] {
    grid-area: rate;
}

.hl-unitws-hint[b-buhu7u5j1x] {
    margin-top: 6px;
    font-size: 12px;
    opacity: 0.8;
    white-space: nowrap;
    line-height: 1.1;
    color: var(--rz-text-secondary-color);
}

@media (max-width: 900px) {
    .hl-unitws-grid[b-buhu7u5j1x] {
        grid-template-columns: 1fr;
        grid-template-areas:
            "base"
            "round"
            "rate";
        align-items: stretch;
    }
}

/* =========================
   下段：3カラム（独立スクロール撤去＝単なるレイアウト枠）
========================= */
.fare-edit-lower[b-buhu7u5j1x] {
    width: 100%;
    height: clamp(420px, 68vh, 720px);
    min-height: 420px;
    box-sizing: border-box;
}

.fare-lower-layout[b-buhu7u5j1x] {
    height: 100%;
    display: flex;
    gap: 10px;
    align-items: stretch;
    min-width: 0;
}

.fare-col[b-buhu7u5j1x] {
    height: 100%;
    min-width: 0;
    display: flex;
}

/* ★スクロールを持たせない（リセット） */
.fare-col-scroll[b-buhu7u5j1x] {
    height: 100%;
    width: 100%;
    min-width: 0;
    box-sizing: border-box;
}

/* 左：日付（固定幅） */
.fare-col-date[b-buhu7u5j1x] {
    flex: 0 0 220px;
}

/* 中：メイン（可変幅） */
.fare-col-main[b-buhu7u5j1x] {
    flex: 1 1 auto;
}

.fare-col-main-stack[b-buhu7u5j1x] {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

/* 右：高速＋設定（固定幅） */
.fare-col-right[b-buhu7u5j1x] {
    flex: 0 0 280px;
}

/* エリアカード */
.fare-area[b-buhu7u5j1x] {
    width: 100%;
    min-width: 0;
    box-sizing: border-box;
}

    .fare-area *[b-buhu7u5j1x] {
        min-width: 0;
    }

/* 4列レイアウト */
.fare-area-body4[b-buhu7u5j1x] {
    display: grid;
    grid-template-columns: 170px minmax(0, 1fr) 200px 200px;
    gap: 10px;
    align-items: start;
    min-width: 0;
}

.fare-area-col[b-buhu7u5j1x] {
    min-width: 0;
}

.fare-area-colhead[b-buhu7u5j1x] {
    display: none;
}

/* 適用ルールDropDownを短く */
.fare-applyrule-dd[b-buhu7u5j1x]  .rz-dropdown {
    width: 170px !important;
    min-width: 170px !important;
}

/* 単位ブロック */
.fare-units-stack[b-buhu7u5j1x] {
    display: flex;
    flex-direction: column;
    gap: 10px;
    min-width: 0;
}

.fare-unit-tablewrap[b-buhu7u5j1x] {
    flex: 1 1 auto;
    min-width: 0;
}

/* 条件カード */
.fare-condcard[b-buhu7u5j1x] {
    background: var(--rz-base-50, #fafafa);
    border: 1px solid var(--rz-base-300, #e5e7eb);
    border-radius: 6px;
    padding: 8px;
    min-width: 0;
}

    .fare-condcard .fare-condtitle[b-buhu7u5j1x] {
        font-weight: 800;
        font-size: 12px;
        margin-bottom: 6px;
    }

@media (max-width: 1200px) {
    .fare-area-body4[b-buhu7u5j1x] {
        grid-template-columns: 220px minmax(0, 1fr);
        grid-auto-rows: auto;
    }
}

@media (max-width: 900px) {
    .fare-area-body4[b-buhu7u5j1x] {
        grid-template-columns: 1fr;
    }
}

/* 単位行 */
.fare-unit-row[b-buhu7u5j1x] {
    display: grid;
    grid-template-columns: 62px minmax(0, 1fr) 34px;
    gap: 10px;
    align-items: start;
    min-width: 0;
}

    .fare-unit-row.is-empty[b-buhu7u5j1x] {
        grid-template-columns: 62px 34px minmax(0, 1fr);
        gap: 6px;
    }

.fare-unit-name[b-buhu7u5j1x] {
    font-weight: 900;
    font-size: 14px;
    line-height: 1.2;
    padding-top: 2px;
    white-space: nowrap;
}

.fare-unit-btn[b-buhu7u5j1x] {
    display: flex;
    justify-content: flex-end;
    align-items: flex-start;
}

.fare-unit-btn-inline[b-buhu7u5j1x] {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
}

.fare-unit-emptyhint[b-buhu7u5j1x] {
    font-size: 12px;
    color: var(--rz-text-secondary-color);
    padding-top: 3px;
    white-space: nowrap;
    opacity: 0.9;
}

/* =========================
   チャーター表示（見切れは維持：スクロールではない）
========================= */
.hl-charter-selected[b-buhu7u5j1x] {
    background: var(--rz-base-50, #fafafa);
    border: 1px solid var(--rz-base-300, #e5e7eb);
    border-radius: 8px;
    padding: 10px;
    font-size: 12px;
    line-height: 1.15;
}

.hl-charter-row[b-buhu7u5j1x] {
    display: grid;
    grid-template-columns: 340px minmax(0, 1fr);
    gap: 14px;
    align-items: start;
}

.hl-left[b-buhu7u5j1x], .hl-right[b-buhu7u5j1x] {
    min-width: 0;
}

.hl-left[b-buhu7u5j1x] {
    display: grid;
    grid-template-columns: 64px minmax(0, 1fr);
    grid-template-areas:
        "badge title"
        "badge desc"
        "badge term";
    gap: 6px 10px;
}

.hl-right[b-buhu7u5j1x] {
    display: grid;
    grid-template-columns: 190px minmax(0, 1fr);
    gap: 10px;
    align-items: start;
    min-width: 0;
}

.hl-badge[b-buhu7u5j1x] {
    grid-area: badge;
    display: flex;
    align-items: flex-start;
    justify-content: flex-start;
    padding-top: 2px;
}

.hl-title[b-buhu7u5j1x] {
    grid-area: title;
    font-weight: 800;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.hl-desc[b-buhu7u5j1x] {
    grid-area: desc;
    color: var(--rz-text-secondary-color);
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}

.hl-desc-empty[b-buhu7u5j1x] {
    opacity: 0.6;
}

.hl-term[b-buhu7u5j1x] {
    grid-area: term;
    font-size: 12px;
    color: var(--rz-text-secondary-color);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.hl-apply[b-buhu7u5j1x] {
    display: grid;
    grid-template-columns: 56px 1fr;
    gap: 2px 8px;
    align-items: baseline;
    margin-top: 2px;
}

.hl-apply-label[b-buhu7u5j1x], .hl-next-label[b-buhu7u5j1x] {
    font-size: 11px;
}

.hl-apply-value[b-buhu7u5j1x], .hl-next-value[b-buhu7u5j1x] {
    font-weight: 800;
    font-size: 13px;
}

.hl-next[b-buhu7u5j1x] {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: 56px 1fr;
    gap: 2px 8px;
    margin-top: 4px;
}

.hl-detail[b-buhu7u5j1x] {
    display: grid;
    grid-template-columns: minmax(120px, 1.2fr) minmax(72px, 0.8fr) minmax(64px, 0.7fr) minmax(84px, 0.9fr);
    column-gap: 8px;
    row-gap: 4px;
    align-items: center;
    min-width: 0;
}

.hl-dh[b-buhu7u5j1x] {
    font-size: 12px;
    font-weight: 700;
    color: var(--rz-text-secondary-color);
    white-space: nowrap;
}

.hl-cell[b-buhu7u5j1x] {
    font-size: 13.5px;
    line-height: 1.25;
    min-width: 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.hl-detail > .hl-cell:nth-child(4n + 1)[b-buhu7u5j1x] {
    font-weight: 700;
    text-align: left;
}

.hl-detail > .hl-cell:nth-child(4n + 2)[b-buhu7u5j1x] {
    text-align: right;
    font-variant-numeric: tabular-nums;
    font-weight: 400;
}

.hl-detail > .hl-cell:nth-child(4n + 3)[b-buhu7u5j1x] {
    text-align: left;
}

.hl-detail > .hl-cell:nth-child(4n + 4)[b-buhu7u5j1x] {
    text-align: right;
    font-weight: 800;
    font-variant-numeric: tabular-nums;
}

.hl-detail > .hl-dh:nth-child(4n + 2)[b-buhu7u5j1x],
.hl-detail > .hl-dh:nth-child(4n + 4)[b-buhu7u5j1x] {
    text-align: right;
}

.hl-empty[b-buhu7u5j1x] {
    grid-column: 1 / -1;
    font-size: 11px;
    opacity: 0.8;
    text-align: right;
}

@media (max-width: 1100px) {
    .hl-charter-row[b-buhu7u5j1x] {
        grid-template-columns: 1fr;
    }

    .hl-apply[b-buhu7u5j1x] {
        grid-template-columns: 70px 1fr;
    }

    .hl-detail[b-buhu7u5j1x] {
        grid-template-columns: 140px 80px 80px 100px;
    }
}

/* 2段グリッド：
   [担当区分][タイトル(伸びる)][開始日][終了日]
   [スペース][説明(伸びる)][復活削除][保存]
*/
.hl-fe-grid[b-buhu7u5j1x] {
    display: grid;
    grid-template-columns: 220px 220px 1fr 160px 160px;
    grid-template-rows: auto auto;
    gap: 10px 12px; /* row-gap, col-gap */
    align-items: end;
}

/* 各セル */
.hl-fe-cell[b-buhu7u5j1x] {
    min-width: 0; /* これが無いと 1fr が縮まない/はみ出すことがある */
}

/* タイトル/説明は伸びる列のセル。見た目調整があればここで */
.hl-fe-title[b-buhu7u5j1x], .hl-fe-desc[b-buhu7u5j1x] {
    min-width: 0;
}

.hl-fe-title[b-buhu7u5j1x] {
    grid-column: 2 / 4;
}

.hl-fe-desc[b-buhu7u5j1x] {
    grid-column: 3 / 4;
}

/* 2段目左：空白 */
.hl-fe-spacer[b-buhu7u5j1x] {
    /* 何も置かない */
}

/* 2段目：復活削除 は右寄せにしたければ */
.hl-fe-actions[b-buhu7u5j1x] {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 10px;
    min-height: 36px;
}

/* 2段目：保存ボタンは右端固定 */
.hl-fe-save[b-buhu7u5j1x] {
    display: flex;
    justify-content: flex-end;
    align-items: center;
}

/* RadzenTextBox/DatePicker の幅保険 */
.hl-fe-grid .rz-textbox[b-buhu7u5j1x],
.hl-fe-grid .rz-datepicker[b-buhu7u5j1x] {
    width: 100%;
    box-sizing: border-box;
}

/* 画面が狭いときは2段 → 縦積みに落とす（任意） */
@media (max-width: 900px) {
    .hl-fe-grid[b-buhu7u5j1x] {
        grid-template-columns: 1fr;
    }

    .hl-fe-actions[b-buhu7u5j1x], .hl-fe-save[b-buhu7u5j1x] {
        justify-content: flex-start;
    }
}



.hl-audit[b-buhu7u5j1x] {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.hl-audit-row[b-buhu7u5j1x] {
    display: flex;
    align-items: center;
    gap: 8px;
}

.hl-audit-label[b-buhu7u5j1x] {
    min-width: 64px; /* ラベル幅を固定して詰める */
    font-size: 12px;
    color: var(--rz-text-secondary-color);
    white-space: nowrap;
}
/* /Components/Pages/Maintenances/FreightRateManager/FareGrid.razor.rz.scp.css */
body[b-cjdozy77qf] {
}

/* =========================
   重要：Template(td)の中で右端が消えないように
   横スクロールは外側ラッパーに持たせる
   ========================= */
.fare-row-wrap[b-cjdozy77qf] {
    overflow-x: auto; /* 行全体の横スクロール */
    overflow-y: hidden;
}

/* Fare row（1行）
   - 最低幅 + 余裕があれば伸びる
   - 狭ければ fare-row-wrap が横スクロール
*/
.fare-row[b-cjdozy77qf] {
    display: inline-grid; /* ★ここが肝：td内でも “内容幅” を保てる */
    grid-template-columns: minmax(72px, 72px) /* badge */
    minmax(200px, 200px) /* info */
    minmax(560px, 4fr) /* conditions */
    minmax(120px,120px) /* pickups */
    minmax(120px,120px); /* deliveries */
    gap: 6px;
    padding: 6px 8px;
    align-items: stretch;
    min-width: max-content; /* ★5列の合計が最小幅を下回らない */
}

.fare-col[b-cjdozy77qf] {
    min-width: 0;
}

    /* ① バッジ */
    .fare-col.badge[b-cjdozy77qf] {
        display: flex;
        justify-content: left;
        align-items: flex-start;
        padding-left: 2px;
        padding-right: 4px;
    }

        .fare-col.badge .rz-badge[b-cjdozy77qf] {
            font-size: 0.70rem;
            padding: 2px 6px;
            border-radius: 6px;
        }

    /* ② 運賃情報 */
    .fare-col.info[b-cjdozy77qf] {
        display: flex;
        flex-direction: column;
        gap: 2px;
    }

.fare-title[b-cjdozy77qf], .fare-desc[b-cjdozy77qf], .fare-billing-posting-date-category[b-cjdozy77qf], .fare-period[b-cjdozy77qf] {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.fare-title[b-cjdozy77qf] {
    font-weight: 800;
}

.fare-desc[b-cjdozy77qf] {
    font-size: 0.78rem;
    color: var(--rz-text-secondary);
}

.fare-period[b-cjdozy77qf] {
    font-size: 0.72rem;
    color: var(--rz-text-secondary);
}

.fare-billing-posting-date-category[b-cjdozy77qf] {
    font-size: 0.72rem;
    color: var(--rz-text-secondary);
}

/* ③ 条件区分エリア */
.fare-col.conditions[b-cjdozy77qf] {
    display: flex;
    flex-direction: column;
    gap: 4px;
    min-width: 0;
}

/* 条件区分 1行（必ず横並び・行内スクロール禁止） */
.cc-row[b-cjdozy77qf] {
    display: flex;
    flex-wrap: nowrap;
    align-items: flex-start;
    gap: 6px;
    padding: 4px 0;
    border-top: 1px solid var(--rz-border-normal);
    overflow: hidden; /* ★cc-row単体の横スクロールは禁止 */
}

    .cc-row:first-child[b-cjdozy77qf] {
        border-top: none;
    }

/* 条件区分の境界線（複数時に視認性を出す） */
.fare-col.conditions .cc-row[b-cjdozy77qf] {
    border-top: 1px solid #dcdfe3; /* ← rz-border-normal より少し薄め */
    padding-top: 6px;
    margin-top: 4px;
}

    /* 先頭行は線を出さない */
    .fare-col.conditions .cc-row:first-child[b-cjdozy77qf] {
        border-top: none;
        padding-top: 0;
        margin-top: 0;
    }




.cc-cell[b-cjdozy77qf] {
    min-width: 0;
}

/* 左①②（固定） */
.cc-name[b-cjdozy77qf] {
    flex: 0 0 96px;
    min-width: 96px;
    font-weight: 800;
}

.cc-dates[b-cjdozy77qf] {
    flex: 0 0 84px;
    min-width: 84px;
}
/* yyyy/MM/dd ギリ */

/* 右側カード（固定） */
.cc-base[b-cjdozy77qf] {
    flex: 0 0 180px;
    min-width: 180px;
}

.cc-relay[b-cjdozy77qf] {
    flex: 0 0 180px;
    min-width: 180px;
}

.cc-surcharge[b-cjdozy77qf] {
    flex: 0 0 180px;
    min-width: 180px;
}

.cc-charter[b-cjdozy77qf] {
    flex: 0 0 200px;
    min-width: 200px;
    max-width: 200px;
}

.cc-title[b-cjdozy77qf] {
    font-size: 0.74rem;
    font-weight: 700;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.cc-status[b-cjdozy77qf] {
    font-size: 0.68rem;
    line-height: 1.1;
}

    .cc-status.active[b-cjdozy77qf] {
        color: var(--rz-success);
    }

    .cc-status.inactive[b-cjdozy77qf] {
        color: var(--rz-text-secondary);
    }

    .cc-status.ended[b-cjdozy77qf] {
        color: #b91c1c;
        font-weight: 800;
    }

.date-stack[b-cjdozy77qf] {
    display: grid;
    grid-auto-rows: min-content;
    row-gap: 1px;
}

.date-label[b-cjdozy77qf] {
    font-size: 0.62rem;
    line-height: 1.05;
    color: var(--rz-text-secondary);
    white-space: nowrap;
}

.date-value[b-cjdozy77qf] {
    font-size: 0.68rem;
    line-height: 1.05;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}

.date-muted[b-cjdozy77qf] {
    font-size: 0.68rem;
    line-height: 1.05;
    color: var(--rz-text-secondary);
    white-space: nowrap;
}

/* 共通枠 */
.base-area[b-cjdozy77qf],
.relay-area[b-cjdozy77qf] {
    display: flex;
    flex-direction: column;
    gap: 4px;
    padding: 4px 6px;
    border: 1px solid var(--rz-border-normal);
    border-radius: 6px;
    min-width: 0;
}

.base-head[b-cjdozy77qf] {
    display: flex;
    justify-content: space-between;
    gap: 8px;
    font-size: 0.70rem;
    line-height: 1.05;
}

.base-title[b-cjdozy77qf] {
    font-weight: 800;
    white-space: nowrap;
}

.base-rule[b-cjdozy77qf] {
    flex: 1;
    text-align: right;
    color: var(--rz-text-secondary);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.base-muted[b-cjdozy77qf] {
    font-size: 0.68rem;
    color: var(--rz-text-secondary);
}

/* 単価表 */
.base-units[b-cjdozy77qf] {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.unit-row[b-cjdozy77qf] {
    display: grid;
    grid-template-columns: 40px 1fr;
    gap: 8px;
    align-items: start;
}

.unit-name[b-cjdozy77qf] {
    font-weight: 700;
    font-size: 0.70rem;
    line-height: 1.05;
    white-space: nowrap;
}

.unit-prices[b-cjdozy77qf] {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
}

.price-row[b-cjdozy77qf] {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 8px;
    font-size: 0.68rem;
    line-height: 1.05;
}

.price-range[b-cjdozy77qf] {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.price-value[b-cjdozy77qf] {
    white-space: nowrap;
    text-align: right;
    font-variant-numeric: tabular-nums;
}

.price-per[b-cjdozy77qf] {
    padding: 0 2px;
    color: var(--rz-text-secondary);
}

.price-row.muted[b-cjdozy77qf] {
    color: var(--rz-text-secondary);
}

.min-row[b-cjdozy77qf] {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 8px;
    font-size: 0.68rem;
    line-height: 1.05;
    margin-top: 2px;
}

.min-label[b-cjdozy77qf] {
    color: var(--rz-text-secondary);
    white-space: nowrap;
}

.min-value[b-cjdozy77qf] {
    white-space: nowrap;
    text-align: right;
    font-variant-numeric: tabular-nums;
}

/* 中継 下段 */
.relay-foot[b-cjdozy77qf] {
    margin-top: 4px;
    padding-top: 3px;
    border-top: 1px dashed var(--rz-border-normal);
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.relay-condline[b-cjdozy77qf] {
    display: grid;
    grid-template-columns: 38px 1fr;
    gap: 6px;
    font-size: 0.66rem;
    line-height: 1.05;
}

.relay-condlabel[b-cjdozy77qf] {
    color: var(--rz-text-secondary);
    white-space: nowrap;
}

.relay-condvalue[b-cjdozy77qf] {
    min-width: 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    font-variant-numeric: tabular-nums;
    text-align: right;
}

/* チャーター表 */
.charter-table[b-cjdozy77qf] {
    display: flex;
    flex-direction: column;
    gap: 2px;
    margin-top: 4px;
}

.charter-row[b-cjdozy77qf] {
    display: grid;
    grid-template-columns: 32px 1fr auto;
    gap: 6px;
    font-size: 0.72rem;
    line-height: 1.1;
    white-space: nowrap;
}

.charter-vc[b-cjdozy77qf] {
    width: 32px;
    min-width: 32px;
    max-width: 32px;
    text-align: center;
    font-weight: 700;
}

.charter-range[b-cjdozy77qf] {
    overflow: hidden;
    text-overflow: ellipsis;
}

.charter-price[b-cjdozy77qf] {
    font-variant-numeric: tabular-nums;
    text-align: right;
}

/* ④⑤ 集荷先/配送先：行高を増やさない（中身は absolute で逃がす） */
.fare-col.pickups[b-cjdozy77qf],
.fare-col.deliveries[b-cjdozy77qf] {
    position: relative; /* absolute の基準 */
    min-height: 0; /* flex/grid で潰れないための必須 */
}

    /* side-box を absolute 化して “高さ計算に参加させない” */
    .fare-col.pickups .side-box[b-cjdozy77qf],
    .fare-col.deliveries .side-box[b-cjdozy77qf] {
        position: absolute;
        inset: 0; /* 上下左右 0 でセルいっぱい */
        min-height: 0;
        display: flex;
        flex-direction: column;
    }

.side-box[b-cjdozy77qf] {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 0;
    border: 1px solid var(--rz-border-normal);
    border-radius: 6px;
    padding: 4px 6px;
}

.side-title[b-cjdozy77qf] {
    font-weight: 800;
    font-size: 0.70rem;
    white-space: nowrap;
    margin-bottom: 2px;
}

.side-scroll[b-cjdozy77qf] {
    flex: 1 1 auto;
    min-height: 0; /* ★これがないと最後が見切れたりする */
    overflow-y: auto; /* ★縦スクロール */
    overflow-x: hidden;
    padding-right: 2px;
}

.side-muted[b-cjdozy77qf] {
    font-size: 0.70rem;
    color: var(--rz-text-secondary);
}

.side-item[b-cjdozy77qf] {
    font-size: 0.72rem;
    line-height: 1.15;
    padding: 2px 0;
    border-top: 1px dashed var(--rz-border-normal);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

    .side-item:first-child[b-cjdozy77qf] {
        border-top: none;
    }

/* 割増（単量割増など）の Key/Value 行：他の base-head/price-row と同じ粒度に */
.base-kv[b-cjdozy77qf] {
    display: grid;
    grid-template-columns: 58px 1fr;
    gap: 6px;
    align-items: baseline;
    font-size: 0.68rem; /* price-row と同等 */
    line-height: 1.05;
}

    .base-kv .kv-label[b-cjdozy77qf] {
        color: var(--rz-text-secondary);
        white-space: nowrap;
    }

    .base-kv .kv-value[b-cjdozy77qf] {
        text-align: right;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
        font-variant-numeric: tabular-nums;
    }


/* 次回変更あり：条件区分行を軽く強調（うるさくない程度） */
.cc-row.cc-has-next[b-cjdozy77qf] {
    border-left: 4px solid #f59e0b; /* amber */
    padding-left: 6px;
    border-radius: 6px;
    background: linear-gradient(90deg, rgba(245, 158, 11, 0.10), transparent 45%);
}

/* 次回変更：小さめのバッジ＋日数 */
.date-next[b-cjdozy77qf] {
    display: flex;
    align-items: baseline;
    gap: 6px;
    margin-top: 1px;
}

.date-next-badge[b-cjdozy77qf] {
    display: inline-block;
    font-size: 0.62rem;
    font-weight: 900;
    padding: 1px 6px;
    border-radius: 999px;
    background: rgba(245, 158, 11, 0.18);
    border: 1px solid rgba(245, 158, 11, 0.35);
    color: #92400e;
    white-space: nowrap;
}

.date-next-sub[b-cjdozy77qf] {
    font-size: 0.62rem;
    font-weight: 800;
    color: #6b7280;
    white-space: nowrap;
}

/* 次回変更日（yyyy/MM/dd） */
.date-next-value[b-cjdozy77qf] {
    font-size: 0.68rem;
    line-height: 1.05;
    font-weight: 900; /* ここは少し強め */
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}

.date-ended-value[b-cjdozy77qf] {
    font-size: 0.68rem;
    line-height: 1.05;
    font-weight: 900;
    color: #b91c1c;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}

.fare-badges[b-cjdozy77qf] {
    display: flex;
    flex-direction: column;
    gap: 4px;
    align-items: flex-start;
}

.fare-linked-badge[b-cjdozy77qf] {
    font-size: 0.68rem;
    padding: 2px 6px;
    border-radius: 6px;
    background: rgba(59, 130, 246, 0.14);
    border: 1px solid rgba(59, 130, 246, 0.35);
    color: #1d4f8a;
}

.cc-row.cc-ended[b-cjdozy77qf] {
    border-left: 4px solid #dc2626;
    padding-left: 6px;
    border-radius: 6px;
    background: linear-gradient(90deg, rgba(220, 38, 38, 0.10), transparent 45%);
}




/* /Components/Pages/Maintenances/FreightRateManager/Home.razor.rz.scp.css */
body[b-tc0uoh0u23] {
}


/* =========================================================
   Home Tabs: タブ側はスクロールさせない（スクロールはGrid側）
   ========================================================= */

.hl-home-tabs[b-tc0uoh0u23] {
    height: calc(100vh - 210px);
    overflow: hidden;
    display: flex;
    flex-direction: column;
    min-height: 0;
}

    /* RadzenTabs 自体を伸ばす */
    .hl-home-tabs[b-tc0uoh0u23]  .rz-tabview {
        flex: 1 1 auto;
        min-height: 0;
        display: flex;
        flex-direction: column;
    }

    /* パネル領域（タブ本文側）はスクロール禁止 */
    .hl-home-tabs[b-tc0uoh0u23]  .rz-tabview-panels {
        flex: 1 1 auto;
        min-height: 0;
        overflow: hidden;
    }

    /* 各タブ本文も高さを受け取れるように */
    .hl-home-tabs[b-tc0uoh0u23]  .rz-tabview-panel {
        height: 100%;
        min-height: 0;
    }

/* タブ内：ツールバー + Grid領域 の縦レイアウト */
.hl-tab-body[b-tc0uoh0u23] {
    height: 100%;
    min-height: 0;
    display: flex;
    flex-direction: column;
}

/* ★Grid領域：ここが “残り全部” を取る。Tab側スクロールは禁止。 */
.hl-tab-content[b-tc0uoh0u23] {
    flex: 1 1 auto;
    min-height: 0;
    overflow: hidden;
}

/* 横はみ出し保険 */
.hl-home-tabs[b-tc0uoh0u23],
.hl-home-tabs[b-tc0uoh0u23]  .rz-tabview,
.hl-home-tabs[b-tc0uoh0u23]  .rz-tabview-panels {
    max-width: 100%;
    overflow-x: hidden;
}


/* /Components/Pages/Maintenances/Masters/Index.razor.rz.scp.css */
.masters-index-root[b-9i5uy78mzd] {
    max-width: 1200px;
}

.masters-header[b-9i5uy78mzd] {
    border-left: 4px solid #f0ad4e;
}

.section-title[b-9i5uy78mzd] {
    font-size: 0.95rem;
    font-weight: 700;
    color: #374151;
    margin-bottom: 10px;
}

.master-tile[b-9i5uy78mzd] {
    height: 100%;
    background: #f8fbfd;
    border: 1px solid #d9e4ea;
    border-radius: 8px;
}

.tile-title[b-9i5uy78mzd] {
    font-weight: 700;
    color: #1f2937;
    display: flex;
    align-items: center;
}

.tile-description[b-9i5uy78mzd] {
    color: #64748b;
    font-size: 0.84rem;
    min-height: 34px;
}
/* /Components/Pages/Schedules/EditDialog.razor.rz.scp.css */
body[b-8s5dtsh62a] {
}

/* =========================================
   Schedule EditDialog (final clean)
========================================= */

/* span3用（インラインの grid-column を減らしてCSSに寄せる） */
.hl-sch-ed-span3[b-8s5dtsh62a] {
    grid-column: 1 / span 3;
    min-width: 0;
}

/* PC: row2 wrapperは“透明化”して親gridを壊さない */
.hl-sch-ed-row2[b-8s5dtsh62a] {
    display: contents;
}

/* PC: 指定の並び */
.hl-ed-startdate[b-8s5dtsh62a] {
    grid-column: 1;
    grid-row: 2;
}

.hl-ed-starttime[b-8s5dtsh62a] {
    grid-column: 2;
    grid-row: 2;
}

.hl-ed-allday[b-8s5dtsh62a] {
    grid-column: 3;
    grid-row: 2;
    align-self: end;
}

.hl-ed-enddate[b-8s5dtsh62a] {
    grid-column: 1;
    grid-row: 3;
}

.hl-ed-endtime[b-8s5dtsh62a] {
    grid-column: 2;
    grid-row: 3;
}

/* はみ出し保険 */
.hl-sch-ed-grid[b-8s5dtsh62a] {
    min-width: 0;
}

    .hl-sch-ed-grid > div[b-8s5dtsh62a] {
        min-width: 0;
    }


/* =========================================
   Mobile
========================================= */
@media (max-width: 768px) {

    /* Header sticky */
    .hl-sch-ed-header[b-8s5dtsh62a] {
        position: sticky;
        top: 0;
        z-index: 10;
        background: var(--rz-base-background-color);
        padding: 8px 0;
        border-bottom: 1px solid var(--rz-border-color, #e5e7eb);
        /* 見た目 */
        flex-direction: column;
        align-items: flex-start;
        gap: 8px;
    }

    .hl-sch-ed-actions[b-8s5dtsh62a] {
        width: 100%;
        justify-content: flex-end;
        flex-wrap: wrap;
    }

    /* メインは1列化（インラインを確実に潰す） */
    .hl-sch-ed-grid[b-8s5dtsh62a] {
        grid-template-columns: 1fr !important;
    }

    /* span3解除（1列化で崩れないように） */
    .hl-sch-ed-span3[b-8s5dtsh62a] {
        grid-column: auto;
    }

    /* row2 wrapperをスマホでは“2列グリッド”として復活 */
    .hl-sch-ed-row2[b-8s5dtsh62a] {
        display: grid !important;
        grid-template-columns: 1fr 1fr;
        gap: 10px 14px;
        align-items: end;
        grid-column: 1 / -1;
    }

    /* かなり狭い端末の保険 */
    @media (max-width: 380px) {
        .hl-sch-ed-row2[b-8s5dtsh62a] {
            grid-template-columns: 1fr;
        }
    }

    /* 開始/終了/終日は、スマホでは通常フローに戻す（縦崩壊防止） */
    .hl-ed-startdate[b-8s5dtsh62a],
    .hl-ed-starttime[b-8s5dtsh62a],
    .hl-ed-allday[b-8s5dtsh62a],
    .hl-ed-enddate[b-8s5dtsh62a],
    .hl-ed-endtime[b-8s5dtsh62a] {
        grid-column: auto !important;
        grid-row: auto !important;
    }

    /* 内容(TextArea)は可変 */
    .hl-sch-ed-body textarea[b-8s5dtsh62a],
    .hl-sch-ed-body .rz-textarea[b-8s5dtsh62a] {
        height: auto !important;
        min-height: 140px;
    }
}
/* /Components/Pages/Schedules/EmployeeScheduleList.razor.rz.scp.css */
.hl-esl-root[b-cnro1dxx56] {
    height: calc(100vh - 85px);
    min-height: 640px;
}

.hl-esl-card[b-cnro1dxx56] {
    height: 100%;
    padding: 10px;
}

.hl-esl-toolbar[b-cnro1dxx56] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    margin-bottom: 10px;
    flex-wrap: wrap;
}

.hl-esl-nav[b-cnro1dxx56] {
    display: flex;
    gap: 8px;
}

.hl-esl-filters[b-cnro1dxx56] {
    display: flex;
    gap: 6px;
    flex-wrap: wrap;
    align-items: center;
}

.hl-esl-filter-desktop[b-cnro1dxx56] {
    display: block;
}

.hl-esl-filter-mobile[b-cnro1dxx56] {
    display: none;
    gap: 4px;
    flex-wrap: wrap;
    align-items: center;
}

/* テキスト付きピルボタン（スマホ用フィルター） */
.hl-esl-filter-iconbtn[b-cnro1dxx56] {
    min-width: 28px;
    height: 24px;
    border-radius: 12px;
    border: 2px solid var(--filter-color, #64748b);
    background: transparent;
    cursor: pointer;
    padding: 0 5px;
    flex-shrink: 0;
    transition: background 0.15s, color 0.15s;
    font-size: 11px;
    font-weight: 700;
    color: var(--filter-color, #64748b);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
}

.hl-esl-filter-iconbtn.is-active[b-cnro1dxx56] {
    background: var(--filter-color, #64748b);
    color: #ffffff;
}

.hl-esl-period[b-cnro1dxx56] {
    min-width: 0;
}

.hl-esl-period-main[b-cnro1dxx56] {
    font-weight: 700;
    text-align: right;
}

.hl-esl-period-sub[b-cnro1dxx56] {
    font-size: 12px;
    color: #64748b;
    text-align: right;
}

.hl-esl-loading[b-cnro1dxx56] {
    padding: 20px;
    color: #64748b;
}

.hl-esl-table-host[b-cnro1dxx56] {
    position: relative;
}

.hl-esl-table-wrap[b-cnro1dxx56] {
    position: relative;
    isolation: isolate;
    border: 1px solid var(--rz-border-color, #e5e7eb);
    border-radius: 8px;
    overflow: auto;
    max-height: calc(100vh - 180px);
}

.hl-esl-loading-overlay[b-cnro1dxx56] {
    position: absolute;
    inset: 0;
    background: rgba(255, 255, 255, 0.58);
    display: flex;
    align-items: center;
    justify-content: center;
    pointer-events: none;
}

.hl-esl-header[b-cnro1dxx56],
.hl-esl-row[b-cnro1dxx56] {
    display: grid;
    grid-template-columns: 220px minmax(900px, 1fr) 44px;
    align-items: stretch;
}

.hl-esl-header[b-cnro1dxx56] {
    position: sticky;
    top: 0;
    z-index: 30;
    background: #f8fafc;
    border-bottom: 1px solid var(--rz-border-color, #e5e7eb);
}

.hl-esl-row[b-cnro1dxx56] {
    position: relative;
    z-index: 1;
    border-bottom: 1px solid var(--rz-border-color, #e5e7eb);
}

.hl-esl-col-employee[b-cnro1dxx56],
.hl-esl-col-detail[b-cnro1dxx56] {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 8px;
    border-right: 1px solid var(--rz-border-color, #e5e7eb);
    white-space: nowrap;
}

.hl-esl-col-employee[b-cnro1dxx56] {
    justify-content: flex-start;
    font-weight: 600;
}

.hl-esl-col-days[b-cnro1dxx56] {
    min-width: 900px;
}

.hl-esl-header .hl-esl-col-days[b-cnro1dxx56] {
    display: grid;
    grid-template-columns: repeat(8, minmax(0, 1fr));
}

.hl-esl-header .hl-esl-col-employee[b-cnro1dxx56],
.hl-esl-header .hl-esl-col-days[b-cnro1dxx56],
.hl-esl-header .hl-esl-col-detail[b-cnro1dxx56] {
    position: relative;
    z-index: 31;
    background: #f8fafc;
}

.hl-esl-day[b-cnro1dxx56] {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 8px 4px;
    border-right: 1px solid var(--rz-border-color, #e5e7eb);
    font-size: 12px;
    font-weight: 700;
}

.hl-esl-day:last-child[b-cnro1dxx56] {
    border-right: none;
}

.hl-esl-day.is-today[b-cnro1dxx56] {
    background: #fff7cc;
    color: #7c2d12;
    box-shadow: inset 0 -2px 0 #f59e0b;
}

.hl-esl-gantt[b-cnro1dxx56] {
    position: relative;
    height: 48px;
    background:
        repeating-linear-gradient(
            to right,
            rgba(148, 163, 184, 0.14) 0,
            rgba(148, 163, 184, 0.14) calc(100% / 384),
            transparent calc(100% / 384),
            transparent calc(200% / 384)
        ),
        repeating-linear-gradient(
            to right,
            rgba(148, 163, 184, 0.35) 0,
            rgba(148, 163, 184, 0.35) 1px,
            transparent 1px,
            transparent calc(100% / 8)
        );
}

.hl-esl-click-grid[b-cnro1dxx56] {
    position: absolute;
    inset: 0;
    display: grid;
    grid-template-columns: repeat(8, minmax(0, 1fr));
    z-index: 0;
}

.hl-esl-day-hit[b-cnro1dxx56] {
    border: none;
    background: transparent;
    padding: 0;
    margin: 0;
    cursor: pointer;
}

.hl-esl-gantt.has-today[b-cnro1dxx56]::after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: calc(var(--today-day-index) * (100% / 8));
    width: calc(100% / 8);
    background: rgba(245, 158, 11, 0.14);
    pointer-events: none;
    z-index: 1;
}

.hl-esl-bar[b-cnro1dxx56] {
    position: absolute;
    top: 8px;
    height: 32px;
    border-radius: 6px;
    border: 1px solid rgba(100, 116, 139, 0.45);
    padding: 0 8px;
    display: flex;
    align-items: center;
    overflow: hidden;
    min-width: 2px;
    z-index: 2;
}

.hl-esl-bar.is-editable[b-cnro1dxx56] {
    cursor: pointer;
}

.hl-esl-bar.is-readonly[b-cnro1dxx56] {
    cursor: default;
}

.hl-esl-bar-text[b-cnro1dxx56] {
    font-size: 12px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.hl-esl-detail-link[b-cnro1dxx56] {
    width: 24px;
    height: 24px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 4px;
    color: #0f766e;
    text-decoration: none;
    background: #e6f4f1;
    font-size: 16px;
}

.hl-esl-detail-link .rz-icon[b-cnro1dxx56] {
    font-size: 14px;
    line-height: 1;
}

.hl-esl-detail-link:hover[b-cnro1dxx56],
.hl-esl-detail-link:focus-visible[b-cnro1dxx56] {
    background: #d6eeea;
    outline: none;
}

@media (max-width: 900px) {
    .hl-esl-header[b-cnro1dxx56],
    .hl-esl-row[b-cnro1dxx56] {
        grid-template-columns: 160px minmax(720px, 1fr) 40px;
    }
}

@media (max-width: 768px) {
    .hl-esl-root[b-cnro1dxx56] {
        height: auto;
        min-height: 0;
    }

    .hl-esl-card[b-cnro1dxx56] {
        padding: 8px;
    }

    /* ツールバーを横一列に（折り返しあり） */
    .hl-esl-toolbar[b-cnro1dxx56] {
        flex-direction: row;
        flex-wrap: wrap;
        align-items: center;
        gap: 4px 6px;
    }

    /* ナビボタン：コンパクトにアイコンのみ */
    .hl-esl-nav[b-cnro1dxx56] {
        flex: 0 0 auto;
        display: flex;
        gap: 4px;
        width: auto;
    }

    .hl-esl-nav[b-cnro1dxx56]  .rz-button-text {
        display: none;
    }

    /* フィルターエリア */
    .hl-esl-filters[b-cnro1dxx56] {
        flex: 0 0 auto;
        flex-direction: row;
        align-items: center;
        gap: 4px;
        width: auto;
    }

    .hl-esl-filter-desktop[b-cnro1dxx56] {
        display: none;
    }

    .hl-esl-filter-mobile[b-cnro1dxx56] {
        display: flex !important;
    }

    /* 期間：横一列 */
    .hl-esl-period[b-cnro1dxx56] {
        flex: 1 0 100%;
        display: flex;
        flex-direction: row;
        align-items: baseline;
        flex-wrap: wrap;
        gap: 4px 12px;
    }

    .hl-esl-period-main[b-cnro1dxx56] {
        font-weight: 700;
        white-space: nowrap;
        text-align: left;
    }

    .hl-esl-period-sub[b-cnro1dxx56] {
        white-space: nowrap;
        text-align: left;
    }

    .hl-esl-table-wrap[b-cnro1dxx56] {
        max-height: calc(100vh - 250px);
    }

    .hl-esl-header[b-cnro1dxx56],
    .hl-esl-row[b-cnro1dxx56] {
        grid-template-columns: 80px minmax(560px, 1fr) 36px;
        min-width: calc(80px + 560px + 36px);
    }

    .hl-esl-col-employee[b-cnro1dxx56] {
        width: 80px;
        min-width: 80px;
        max-width: 80px;
        box-sizing: border-box;
        font-size: 10px;
    }

    .hl-esl-col-detail[b-cnro1dxx56] {
        width: 36px;
        min-width: 36px;
        max-width: 36px;
        box-sizing: border-box;
    }

    .hl-esl-col-days[b-cnro1dxx56] {
        min-width: 560px;
        position: relative;
        z-index: 1;
    }

    .hl-esl-col-employee[b-cnro1dxx56],
    .hl-esl-col-detail[b-cnro1dxx56] {
        padding: 6px;
    }

    .hl-esl-header .hl-esl-col-employee[b-cnro1dxx56],
    .hl-esl-row .hl-esl-col-employee[b-cnro1dxx56] {
        position: sticky;
        inset-inline-start: 0;
        left: 0;
        z-index: 70;
        background: #f8fafc;
        box-shadow: 1px 0 0 var(--rz-border-color, #e5e7eb);
        overflow: hidden;
        text-overflow: ellipsis;
    }

    .hl-esl-row .hl-esl-col-employee[b-cnro1dxx56] {
        z-index: 71;
        background: #ffffff;
    }

    .hl-esl-header .hl-esl-col-detail[b-cnro1dxx56],
    .hl-esl-row .hl-esl-col-detail[b-cnro1dxx56] {
        position: sticky;
        inset-inline-end: 0;
        right: 0;
        z-index: 70;
        background: #f8fafc;
        border-left: 1px solid var(--rz-border-color, #e5e7eb);
    }

    .hl-esl-row .hl-esl-col-detail[b-cnro1dxx56] {
        z-index: 71;
        background: #ffffff;
    }

    .hl-esl-detail-link[b-cnro1dxx56] {
        width: 22px;
        height: 22px;
        font-size: 14px;
    }

    .hl-esl-detail-link .rz-icon[b-cnro1dxx56] {
        font-size: 12px;
    }

    .hl-esl-day[b-cnro1dxx56] {
        font-size: 11px;
        padding: 6px 2px;
    }

    .hl-esl-gantt[b-cnro1dxx56] {
        height: 42px;
    }

    .hl-esl-bar[b-cnro1dxx56] {
        top: 6px;
        height: 30px;
        padding: 0 6px;
    }

    .hl-esl-bar-text[b-cnro1dxx56] {
        font-size: 11px;
    }
}

@media (max-width: 480px) {
    .hl-esl-header[b-cnro1dxx56],
    .hl-esl-row[b-cnro1dxx56] {
        grid-template-columns: 72px minmax(520px, 1fr) 34px;
        min-width: calc(72px + 520px + 34px);
    }

    .hl-esl-col-days[b-cnro1dxx56] {
        min-width: 520px;
    }

    .hl-esl-col-employee[b-cnro1dxx56] {
        width: 72px;
        min-width: 72px;
        max-width: 72px;
        font-size: 9px;
    }

    .hl-esl-col-detail[b-cnro1dxx56] {
        width: 34px;
        min-width: 34px;
        max-width: 34px;
    }

    .hl-esl-period-main[b-cnro1dxx56] {
        font-size: 13px;
    }
}
/* /Components/Pages/Schedules/Home.razor.rz.scp.css */
body[b-htn5bq1t22] {
}


/* =========================================
   Schedules page
   - インラインStyleを尊重（Radzen優先）
   - 使っているclassだけ残す
========================================= */

/* -------------------------
   Body split (PC: 左2 / 右1)
------------------------- */
.hl-sch-body-split[b-htn5bq1t22] {
    display: flex;
    gap: 10px;
    height: 100%;
    min-height: 0;
}

.hl-sch-left[b-htn5bq1t22] {
    flex: 2 1 0;
    min-width: 0;
    height: 100%;
    min-height: 0;
}

.hl-sch-right[b-htn5bq1t22] {
    flex: 1 1 0;
    min-width: 420px;
    max-width: 40%;
    height: 100%;
    min-height: 0;
    display: flex;
    flex-direction: column;
}

/* -------------------------
   Right panel
------------------------- */
.hl-sch-rightgrid[b-htn5bq1t22] {
    flex: 1 1 auto;
    min-height: 0;
    overflow: hidden;
    border: 1px solid var(--rz-border-color, #e5e7eb);
    border-radius: 6px;
}

    .hl-sch-rightgrid > *[b-htn5bq1t22] {
        max-width: 100%;
    }

.hl-sch-rightheader[b-htn5bq1t22] {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 4px 8px 6px;
    gap: 8px;
}

.hl-sch-rightday[b-htn5bq1t22] {
    font-size: 13px;
    font-weight: 600;
    color: var(--rz-text-color);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* -------------------------
   Grid cell formatting
------------------------- */
.hl-grid-subject[b-htn5bq1t22] {
    display: flex;
    align-items: center;
    gap: 6px;
    min-width: 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.hl-grid-unread-icon[b-htn5bq1t22] {
    font-size: 10px;
    line-height: 1;
    color: #f59e0b;
}

.hl-grid-unread-text[b-htn5bq1t22] {
    font-weight: 700;
}

.hl-grid-period[b-htn5bq1t22] {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    font-size: 12px;
    color: #475569;
}

/* カレンダー Appointment のテキスト行間 */
.hl-sch-scheduler[b-htn5bq1t22]  .rz-event-content {
    line-height: 1.2;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* カレンダー 曜日ヘッダー行を小さく */
.hl-sch-scheduler[b-htn5bq1t22]  th {
    height: 26px !important;
    padding-top: 2px !important;
    padding-bottom: 2px !important;
    font-size: 11px;
    line-height: 26px;
}

/* カテゴリ列 */
.hl-catcell[b-htn5bq1t22] {
    display: flex;
    align-items: center;
    padding-left: 6px;
    height: 100%;
}

/* -------------------------
   カテゴリフィルター切り替え
   PC: SelectBar / スマホ: アイコンボタン行
------------------------- */
.hl-sch-filter-desktop[b-htn5bq1t22] {
    flex: 1 1 auto;
    min-width: 0;
    display: flex;
    align-items: center;
}

.hl-sch-filter-mobile[b-htn5bq1t22] {
    display: none;
    gap: 2px;
    flex-wrap: wrap;
    align-items: center;
}


/* =========================
   Mobile (<= 768px)
========================= */
.hl-sch-mobile-add[b-htn5bq1t22] {
    display: none;
}

@media (max-width: 768px) {

    /* 横スクロール防止 */
    .hl-sch-root[b-htn5bq1t22],
    .hl-sch-topcard[b-htn5bq1t22],
    .hl-sch-toprow[b-htn5bq1t22],
    .hl-sch-monthnav[b-htn5bq1t22],
    .hl-sch-filter[b-htn5bq1t22],
    .hl-sch-bodycard[b-htn5bq1t22],
    .hl-sch-body-split[b-htn5bq1t22],
    .hl-sch-left[b-htn5bq1t22] {
        min-width: 0;
    }

    /* ===== 上段：横一列のまま（flex-directionは変えない） ===== */
    .hl-sch-toprow[b-htn5bq1t22] {
        justify-content: flex-start !important;
        flex-wrap: wrap !important;
        gap: 6px !important;
        min-width: 0 !important;
    }

    /* 年月ナビ：コンパクト固定 */
    .hl-sch-monthnav[b-htn5bq1t22] {
        flex: 0 0 auto !important;
        width: auto !important;
        min-width: 0 !important;
    }

    /* カテゴリフィルター：コンパクト固定 */
    .hl-sch-filter[b-htn5bq1t22] {
        flex: 0 0 auto !important;
        width: auto !important;
        min-width: 0 !important;
    }

        .hl-sch-filter[style][b-htn5bq1t22] {
            min-width: 0 !important;
        }

    /* ===== 社員一覧/車両一覧ボタンを非表示 ===== */
    .hl-sch-navbtns[b-htn5bq1t22] {
        display: none !important;
    }

    /* ===== PC SelectBar を非表示 → アイコンボタン行を表示 ===== */
    .hl-sch-filter-desktop[b-htn5bq1t22] {
        display: none !important;
    }

    .hl-sch-filter-mobile[b-htn5bq1t22] {
        display: flex !important;
    }

    /* ===== 下段：右グリッドを消して1カラム ===== */
    .hl-sch-right[b-htn5bq1t22] {
        display: none !important;
    }

    .hl-sch-body-split[b-htn5bq1t22] {
        display: flex !important;
        flex-direction: column !important;
        gap: 10px !important;
    }

    /* ===== スマホ用：新規追加を下に出す ===== */
    .hl-sch-mobile-add[b-htn5bq1t22] {
        display: flex !important;
        justify-content: flex-end !important;
        margin-top: 10px !important;
    }

    /* ===== カレンダー Appointment 文字をさらに小さく ===== */
    .hl-sch-scheduler[b-htn5bq1t22]  .rz-event {
        font-size: 0.62em !important;
        line-height: 1.1 !important;
    }
}
/* /Components/Pages/Schedules/ResourceScheduleMonthDialog.razor.rz.scp.css */
body[b-nbyjdzrd7g] {
}


.hl-rsm-header[b-nbyjdzrd7g] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    position: sticky;
    top: 0;
    background: var(--rz-base-background-color, #fff);
    z-index: 5;
    padding: 8px 12px;
    border-bottom: 1px solid var(--rz-border-color, #e5e7eb);
}

.hl-rsm-header-right[b-nbyjdzrd7g] {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
}

.hl-rsm-meta[b-nbyjdzrd7g] {
    display: flex !important;
    align-items: center !important;
    gap: 14px !important;
    flex-wrap: nowrap !important;
}

.hl-rsm-meta-item[b-nbyjdzrd7g] {
    display: flex !important;
    align-items: baseline !important;
    gap: 6px !important;
    white-space: nowrap;
}



.hl-rsm-root[b-nbyjdzrd7g] {
    padding: 8px;
}

.hl-rsm-header[b-nbyjdzrd7g] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    position: sticky;
    top: 0;
    background: var(--rz-base-background-color, #fff);
    z-index: 5;
    padding: 8px 12px;
    border-bottom: 1px solid var(--rz-border-color, #e5e7eb);
}

.hl-rsm-header-right[b-nbyjdzrd7g] {
    display: flex;
    align-items: center;
    gap: 10px;
}

.hl-rsm-close[b-nbyjdzrd7g] {
    margin-left: 6px;
}

.hl-rsm-weekdays[b-nbyjdzrd7g] {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    font-weight: 600;
    padding: 8px 0;
}

.hl-rsm-calendar[b-nbyjdzrd7g] {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.hl-rsm-week[b-nbyjdzrd7g] {
    border: 1px solid var(--rz-border-color, #e5e7eb);
    border-radius: 10px;
    overflow: hidden;
    background: #fff;
}

.hl-rsm-daynums[b-nbyjdzrd7g] {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    border-bottom: 1px solid var(--rz-border-color, #e5e7eb);
    background: #f8fafc;
}

.hl-rsm-daynum[b-nbyjdzrd7g] {
    padding: 6px 8px;
    border-right: 1px solid var(--rz-border-color, #e5e7eb);
    font-weight: 600;
    color: inherit;
}

    .hl-rsm-daynum:last-child[b-nbyjdzrd7g] {
        border-right: none;
    }

    .hl-rsm-daynum.is-out[b-nbyjdzrd7g] {
        color: #94a3b8;
    }

.hl-rsm-ganttwrap[b-nbyjdzrd7g] {
    padding: 6px 0;
    display: flex;
    flex-direction: column;
    gap: 6px;
}

/* ★ここが “ズレない” 本体：336列を横幅に自動フィット */
.hl-rsm-gantt[b-nbyjdzrd7g] {
    display: grid;
    grid-template-columns: repeat(336, minmax(0, 1fr));
    height: 28px;
    border-radius: 10px;
    position: relative;
    background: repeating-linear-gradient( to right, rgba(148,163,184,.25) 0, rgba(148,163,184,.25) 1px, transparent 1px, transparent calc(100% / 336) );
}

.hl-rsm-click-grid[b-nbyjdzrd7g] {
    position: absolute;
    inset: 0;
    display: grid;
    grid-template-columns: repeat(7, minmax(0, 1fr));
    z-index: 1;
}

.hl-rsm-day-hit[b-nbyjdzrd7g] {
    border: none;
    background: transparent;
    padding: 0;
    margin: 0;
    cursor: pointer;
}

    /* 日境界（48slotごと）を少し濃く見せる */
    .hl-rsm-gantt[b-nbyjdzrd7g]::before {
        content: "";
        position: absolute;
        inset: 0;
        background: repeating-linear-gradient( to right, rgba(148,163,184,.55) 0, rgba(148,163,184,.55) 2px, transparent 2px, transparent calc(100% / 7) );
        pointer-events: none;
        opacity: .35;
    }

.hl-rsm-gantt-empty[b-nbyjdzrd7g] {
    opacity: .6;
}

.hl-rsm-bar[b-nbyjdzrd7g] {
    align-self: center;
    height: 24px;
    border-radius: 8px;
    border: 1px solid rgba(148,163,184,.6);
    background: rgba(59,130,246,.10);
    display: flex;
    align-items: center;
    padding: 0 8px;
    min-width: 0;
    overflow: hidden;
    position: relative;
    z-index: 2;
}

.hl-rsm-bartext[b-nbyjdzrd7g] {
    font-size: 12px;
    color: inherit;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}


/* ===== 既存CSSはそのまま ===== */

/* ★週またぎ：角丸を落とす（丸み自体は維持） */
.hl-rsm-bar.clip-left[b-nbyjdzrd7g] {
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
}

.hl-rsm-bar.clip-right[b-nbyjdzrd7g] {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
}

.hl-rsm-bar.is-editable[b-nbyjdzrd7g] {
    cursor: pointer;
}

.hl-rsm-bar.is-readonly[b-nbyjdzrd7g] {
    cursor: default;
}

/* /Components/Pages/Schedules/VehicleScheduleList.razor.rz.scp.css */
.hl-esl-root[b-ryd46px6cj] {
    height: calc(100vh - 85px);
    min-height: 640px;
}

.hl-esl-card[b-ryd46px6cj] {
    height: 100%;
    padding: 10px;
}

.hl-esl-toolbar[b-ryd46px6cj] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    margin-bottom: 10px;
    flex-wrap: wrap;
}

.hl-esl-nav[b-ryd46px6cj] {
    display: flex;
    gap: 8px;
}

.hl-esl-filters[b-ryd46px6cj] {
    display: flex;
    gap: 6px;
    flex-wrap: wrap;
    align-items: center;
}

.hl-esl-filter-desktop[b-ryd46px6cj] {
    display: block;
}

.hl-esl-filter-mobile[b-ryd46px6cj] {
    display: none;
    gap: 4px;
    flex-wrap: wrap;
    align-items: center;
}

/* テキスト付きピルボタン（スマホ用フィルター） */
.hl-esl-filter-iconbtn[b-ryd46px6cj] {
    min-width: 28px;
    height: 24px;
    border-radius: 12px;
    border: 2px solid var(--filter-color, #64748b);
    background: transparent;
    cursor: pointer;
    padding: 0 5px;
    flex-shrink: 0;
    transition: background 0.15s, color 0.15s;
    font-size: 11px;
    font-weight: 700;
    color: var(--filter-color, #64748b);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
}

.hl-esl-filter-iconbtn.is-active[b-ryd46px6cj] {
    background: var(--filter-color, #64748b);
    color: #ffffff;
}

.hl-esl-period[b-ryd46px6cj] {
    min-width: 0;
}

.hl-esl-period-main[b-ryd46px6cj] {
    font-weight: 700;
    text-align: right;
}

.hl-esl-period-sub[b-ryd46px6cj] {
    font-size: 12px;
    color: #64748b;
    text-align: right;
}

.hl-esl-loading[b-ryd46px6cj] {
    padding: 20px;
    color: #64748b;
}

.hl-esl-table-host[b-ryd46px6cj] {
    position: relative;
}

.hl-esl-table-wrap[b-ryd46px6cj] {
    position: relative;
    isolation: isolate;
    border: 1px solid var(--rz-border-color, #e5e7eb);
    border-radius: 8px;
    overflow: auto;
    max-height: calc(100vh - 180px);
}

.hl-esl-loading-overlay[b-ryd46px6cj] {
    position: absolute;
    inset: 0;
    background: rgba(255, 255, 255, 0.58);
    display: flex;
    align-items: center;
    justify-content: center;
    pointer-events: none;
}

.hl-esl-header[b-ryd46px6cj],
.hl-esl-row[b-ryd46px6cj] {
    display: grid;
    grid-template-columns: 220px minmax(900px, 1fr) 44px;
    align-items: stretch;
}

.hl-esl-header[b-ryd46px6cj] {
    position: sticky;
    top: 0;
    z-index: 30;
    background: #f8fafc;
    border-bottom: 1px solid var(--rz-border-color, #e5e7eb);
}

.hl-esl-row[b-ryd46px6cj] {
    position: relative;
    z-index: 1;
    border-bottom: 1px solid var(--rz-border-color, #e5e7eb);
}

.hl-esl-col-employee[b-ryd46px6cj],
.hl-esl-col-detail[b-ryd46px6cj] {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 8px;
    border-right: 1px solid var(--rz-border-color, #e5e7eb);
    white-space: nowrap;
}

.hl-esl-col-employee[b-ryd46px6cj] {
    justify-content: flex-start;
    font-weight: 600;
}

.hl-esl-col-days[b-ryd46px6cj] {
    min-width: 900px;
}

.hl-esl-header .hl-esl-col-days[b-ryd46px6cj] {
    display: grid;
    grid-template-columns: repeat(8, minmax(0, 1fr));
}

.hl-esl-header .hl-esl-col-employee[b-ryd46px6cj],
.hl-esl-header .hl-esl-col-days[b-ryd46px6cj],
.hl-esl-header .hl-esl-col-detail[b-ryd46px6cj] {
    position: relative;
    z-index: 31;
    background: #f8fafc;
}

.hl-esl-day[b-ryd46px6cj] {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 8px 4px;
    border-right: 1px solid var(--rz-border-color, #e5e7eb);
    font-size: 12px;
    font-weight: 700;
}

.hl-esl-day:last-child[b-ryd46px6cj] {
    border-right: none;
}

.hl-esl-day.is-today[b-ryd46px6cj] {
    background: #fff7cc;
    color: #7c2d12;
    box-shadow: inset 0 -2px 0 #f59e0b;
}

.hl-esl-gantt[b-ryd46px6cj] {
    position: relative;
    height: 48px;
    background:
        repeating-linear-gradient(
            to right,
            rgba(148, 163, 184, 0.14) 0,
            rgba(148, 163, 184, 0.14) calc(100% / 384),
            transparent calc(100% / 384),
            transparent calc(200% / 384)
        ),
        repeating-linear-gradient(
            to right,
            rgba(148, 163, 184, 0.35) 0,
            rgba(148, 163, 184, 0.35) 1px,
            transparent 1px,
            transparent calc(100% / 8)
        );
}

.hl-esl-click-grid[b-ryd46px6cj] {
    position: absolute;
    inset: 0;
    display: grid;
    grid-template-columns: repeat(8, minmax(0, 1fr));
    z-index: 0;
}

.hl-esl-day-hit[b-ryd46px6cj] {
    border: none;
    background: transparent;
    padding: 0;
    margin: 0;
    cursor: pointer;
}

.hl-esl-gantt.has-today[b-ryd46px6cj]::after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: calc(var(--today-day-index) * (100% / 8));
    width: calc(100% / 8);
    background: rgba(245, 158, 11, 0.14);
    pointer-events: none;
    z-index: 1;
}

.hl-esl-bar[b-ryd46px6cj] {
    position: absolute;
    top: 8px;
    height: 32px;
    border-radius: 6px;
    border: 1px solid rgba(100, 116, 139, 0.45);
    padding: 0 8px;
    display: flex;
    align-items: center;
    overflow: hidden;
    min-width: 2px;
    z-index: 2;
}

.hl-esl-bar.is-editable[b-ryd46px6cj] {
    cursor: pointer;
}

.hl-esl-bar.is-readonly[b-ryd46px6cj] {
    cursor: default;
}

.hl-esl-bar-text[b-ryd46px6cj] {
    font-size: 12px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.hl-esl-detail-link[b-ryd46px6cj] {
    width: 24px;
    height: 24px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 4px;
    color: #0f766e;
    text-decoration: none;
    background: #e6f4f1;
    font-size: 16px;
}

.hl-esl-detail-link .rz-icon[b-ryd46px6cj] {
    font-size: 14px;
    line-height: 1;
}

.hl-esl-detail-link:hover[b-ryd46px6cj],
.hl-esl-detail-link:focus-visible[b-ryd46px6cj] {
    background: #d6eeea;
    outline: none;
}

@media (max-width: 900px) {
    .hl-esl-header[b-ryd46px6cj],
    .hl-esl-row[b-ryd46px6cj] {
        grid-template-columns: 160px minmax(720px, 1fr) 40px;
    }
}

@media (max-width: 768px) {
    .hl-esl-root[b-ryd46px6cj] {
        height: auto;
        min-height: 0;
    }

    .hl-esl-card[b-ryd46px6cj] {
        padding: 8px;
    }

    /* ツールバーを横一列に（折り返しあり） */
    .hl-esl-toolbar[b-ryd46px6cj] {
        flex-direction: row;
        flex-wrap: wrap;
        align-items: center;
        gap: 4px 6px;
    }

    /* ナビボタン：コンパクトにアイコンのみ */
    .hl-esl-nav[b-ryd46px6cj] {
        flex: 0 0 auto;
        display: flex;
        gap: 4px;
        width: auto;
    }

    .hl-esl-nav[b-ryd46px6cj]  .rz-button-text {
        display: none;
    }

    /* フィルターエリア */
    .hl-esl-filters[b-ryd46px6cj] {
        flex: 0 0 auto;
        flex-direction: row;
        align-items: center;
        gap: 4px;
        width: auto;
    }

    .hl-esl-filter-desktop[b-ryd46px6cj] {
        display: none;
    }

    .hl-esl-filter-mobile[b-ryd46px6cj] {
        display: flex !important;
    }

    /* 期間：横一列 */
    .hl-esl-period[b-ryd46px6cj] {
        flex: 1 0 100%;
        display: flex;
        flex-direction: row;
        align-items: baseline;
        flex-wrap: wrap;
        gap: 4px 12px;
    }

    .hl-esl-period-main[b-ryd46px6cj] {
        font-weight: 700;
        white-space: nowrap;
        text-align: left;
    }

    .hl-esl-period-sub[b-ryd46px6cj] {
        white-space: nowrap;
        text-align: left;
    }

    .hl-esl-table-wrap[b-ryd46px6cj] {
        max-height: calc(100vh - 250px);
    }

    .hl-esl-header[b-ryd46px6cj],
    .hl-esl-row[b-ryd46px6cj] {
        grid-template-columns: 80px minmax(560px, 1fr) 36px;
        min-width: calc(80px + 560px + 36px);
    }

    .hl-esl-col-employee[b-ryd46px6cj] {
        width: 80px;
        min-width: 80px;
        max-width: 80px;
        box-sizing: border-box;
        font-size: 10px;
    }

    .hl-esl-col-detail[b-ryd46px6cj] {
        width: 36px;
        min-width: 36px;
        max-width: 36px;
        box-sizing: border-box;
    }

    .hl-esl-col-days[b-ryd46px6cj] {
        min-width: 560px;
        position: relative;
        z-index: 1;
    }

    .hl-esl-col-employee[b-ryd46px6cj],
    .hl-esl-col-detail[b-ryd46px6cj] {
        padding: 6px;
    }

    .hl-esl-header .hl-esl-col-employee[b-ryd46px6cj],
    .hl-esl-row .hl-esl-col-employee[b-ryd46px6cj] {
        position: sticky;
        inset-inline-start: 0;
        left: 0;
        z-index: 70;
        background: #f8fafc;
        box-shadow: 1px 0 0 var(--rz-border-color, #e5e7eb);
        overflow: hidden;
        text-overflow: ellipsis;
    }

    .hl-esl-row .hl-esl-col-employee[b-ryd46px6cj] {
        z-index: 71;
        background: #ffffff;
    }

    .hl-esl-header .hl-esl-col-detail[b-ryd46px6cj],
    .hl-esl-row .hl-esl-col-detail[b-ryd46px6cj] {
        position: sticky;
        inset-inline-end: 0;
        right: 0;
        z-index: 70;
        background: #f8fafc;
        border-left: 1px solid var(--rz-border-color, #e5e7eb);
    }

    .hl-esl-row .hl-esl-col-detail[b-ryd46px6cj] {
        z-index: 71;
        background: #ffffff;
    }

    .hl-esl-detail-link[b-ryd46px6cj] {
        width: 22px;
        height: 22px;
        font-size: 14px;
    }

    .hl-esl-detail-link .rz-icon[b-ryd46px6cj] {
        font-size: 12px;
    }

    .hl-esl-day[b-ryd46px6cj] {
        font-size: 11px;
        padding: 6px 2px;
    }

    .hl-esl-gantt[b-ryd46px6cj] {
        height: 42px;
    }

    .hl-esl-bar[b-ryd46px6cj] {
        top: 6px;
        height: 30px;
        padding: 0 6px;
    }

    .hl-esl-bar-text[b-ryd46px6cj] {
        font-size: 11px;
    }
}

@media (max-width: 480px) {
    .hl-esl-header[b-ryd46px6cj],
    .hl-esl-row[b-ryd46px6cj] {
        grid-template-columns: 72px minmax(520px, 1fr) 34px;
        min-width: calc(72px + 520px + 34px);
    }

    .hl-esl-col-days[b-ryd46px6cj] {
        min-width: 520px;
    }

    .hl-esl-col-employee[b-ryd46px6cj] {
        width: 72px;
        min-width: 72px;
        max-width: 72px;
        font-size: 9px;
    }

    .hl-esl-col-detail[b-ryd46px6cj] {
        width: 34px;
        min-width: 34px;
        max-width: 34px;
    }

    .hl-esl-period-main[b-ryd46px6cj] {
        font-size: 13px;
    }
}
