/* /Components/AreComponents/AreAddButton.razor.rz.scp.css */
/* 점선 추가 버튼 ↔ 인라인 입력 전환 박스 (관리 화면 공통 문법) */
.add-box[b-3k953bnpol] {
    background: var(--theme-surface);
    border-radius: var(--theme-radius);
    padding: 0.35rem 1rem;
    cursor: pointer;
    transition: all 0.2s;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 0.5rem;
    border: dashed 0.125rem var(--theme-border-dash);
    user-select: none;
    font-size: 0.95rem;
}

.add-box:hover[b-3k953bnpol] {
    border-color: var(--theme-color);
}

/* 입력 모드: 같은 박스가 그 자리에서 펼쳐짐 (tabindex 포커스 링은 테두리 색이 대신) */
.add-box.open[b-3k953bnpol] {
    cursor: default;
    justify-content: flex-start;
    flex-wrap: wrap;
    border-color: var(--theme-color);
    outline: none;
}

.add-box.open > i[b-3k953bnpol] {
    color: var(--theme-ink-ii);
}

.add-box.open input[b-3k953bnpol],
.add-box.open[b-3k953bnpol]  input {
    flex: 1;
    min-width: 6rem;
}

/* 박스 내부 [추가][취소] — 모바일 터치 대상이라 세로 여유 (기존 대비 높이 +20%) */
.inner-button[b-3k953bnpol] {
    font-size: 0.85rem;
    line-height: 190%;
    padding: 0.17rem 0.8rem;
    white-space: nowrap;
}

/* 커스텀(여러 입력) 모드 액션 줄 — flex-basis 100%로 폼 아래 한 줄 차지 + 우측 정렬 */
.inner-actions[b-3k953bnpol] {
    flex-basis: 100%;
    display: flex;
    justify-content: flex-end;
    gap: 0.5rem;
}

/* 폼 아래 [추가][취소]는 50% 크게 (단순 모드 인라인 버튼의 고정 규격은 유지) — font·padding ×1.5, line-height %는 자동 비례 */
.inner-actions .inner-button[b-3k953bnpol] {
    font-size: 1rem;
    padding: 0.15rem 1.2rem;
}
/* /Components/AreComponents/AreAddressPicker.razor.rz.scp.css */
/* 원본 AreAddressPopVi.razor.css 기준 (modal-box는 AreModal이 렌더 — ::deep) */
.picker-host[b-dlg6k5dr6g]  .modal-box.address-modal {
    max-width: 30rem;
    width: 90%;
    max-height: 80vh;
    display: flex;
    flex-direction: column;
    /* .loading-mask의 absolute 기준 */
    position: relative;
}

/* 데이터 로드 동안 모달 전체 마스킹 — 반쯤 비치는 종이색 + 중앙 안내 */
.loading-mask[b-dlg6k5dr6g] {
    position: absolute;
    inset: 0;
    z-index: 5;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 1rem; /* .modal-box와 동일 라운딩 */
    background: var(--theme-surface-hover);
    font-weight: 500;
}

.title[b-dlg6k5dr6g] {
    padding-bottom: 1rem;
}

/* 스크롤 컨테이너 */
.addressbox[b-dlg6k5dr6g] {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    padding: 1rem 0.2rem;
    flex: 1;
    overflow-y: auto;
    overflow-x: hidden;
}

.search[b-dlg6k5dr6g] {
    display: flex;
    flex-direction: row;
    width: 100%;
    gap: 0.5rem;
}

.search[b-dlg6k5dr6g]  input {
    flex: 1;
}

.btn-search[b-dlg6k5dr6g] {
    white-space: nowrap;
}

/* 도로명 확정 후 펼쳐지는 추가 입력 (원본 slideDown/fadeIn 모션) */
.additional-inputs[b-dlg6k5dr6g] {
    display: flex;
    flex-direction: column;
    gap: 0.8rem;
    margin-top: 0.5rem;
    padding-top: 1rem;
    border-top: 0.0625rem solid var(--theme-divider);
    animation: slideDown-b-dlg6k5dr6g 0.3s ease-out;
}

@keyframes slideDown-b-dlg6k5dr6g {
    from {
        opacity: 0;
        transform: translateY(-0.625rem);
        max-height: 0;
    }
    to {
        opacity: 1;
        transform: translateY(0);
        max-height: 31.25rem;
    }
}

.input-row[b-dlg6k5dr6g] {
    display: flex;
    flex-direction: column;
    gap: 0.3rem;
    animation: fadeIn-b-dlg6k5dr6g 0.4s ease-out;
}

@keyframes fadeIn-b-dlg6k5dr6g {
    from { opacity: 0; }
    to { opacity: 1; }
}

.input-row label[b-dlg6k5dr6g] {
    font-size: 0.9rem;
    font-weight: 500;
    line-height: 1.5;
}

.actions[b-dlg6k5dr6g] {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 0.5rem;
    flex-wrap: wrap;
    margin-top: 1rem;
}

@media (max-width: 480px) {
    .picker-host[b-dlg6k5dr6g]  .modal-box.address-modal {
        width: 95%;
        max-height: 90vh;
    }

    .actions[b-dlg6k5dr6g] {
        flex-direction: column;
    }

    .actions button[b-dlg6k5dr6g] {
        width: 100%;
    }
}
/* /Components/AreComponents/AreBadge.razor.rz.scp.css */
/* 재사용 알림 배지 — 부모 모서리에 오버레이. 1글자는 원, "9+"(2글자)는 알약형 */
.are-badge[b-mc89nnkd0h] {
    position: absolute;
    top: 0.35rem;
    right: 0.35rem;
    z-index: 2;
    box-sizing: border-box;
    min-width: 1.56rem;
    height: 1.56rem;
    padding: 0 0.42rem;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 999px;
    background-color: var(--theme-color);
    color: var(--theme-ink);
    font-size: 1.14rem;
    font-weight: bold;
    line-height: 1;
    text-align: center;
    box-shadow: 0 0 0.5rem var(--theme-shadow-weak);
    pointer-events: none;
    animation: are-badge-pop-in-b-mc89nnkd0h 0.4s ease-out;
    transform-origin: center;
}

.are-badge.critical[b-mc89nnkd0h] {
    background-color: var(--theme-color-critical);
    color: var(--theme-dark-ink);
}

/* 젤리 팝 등장 (DESIGN.MD §3-1 pop-in) */
@keyframes are-badge-pop-in-b-mc89nnkd0h {
    0% {
        transform: scale(0.6, 1.4);
        opacity: 0;
    }
    40% {
        transform: scale(1.4, 0.6);
        opacity: 1;
    }
    60% {
        transform: scale(0.9, 1.1);
    }
    80% {
        transform: scale(1.05, 0.95);
    }
    100% {
        transform: scale(1, 1);
    }
}
/* /Components/AreComponents/AreCardSearch.razor.rz.scp.css */
.are-card-search-container[b-5wdpis0wc9] {
    display: flex;
    width: 100%;
    justify-content: center;
}

.are-card-search[b-5wdpis0wc9] {
    display: flex;
    flex-grow: 1;
    min-width: 14rem;
    max-width: 40rem;
    border: 2px solid var(--theme-dark-active);
    border-radius: 0.5rem;
    background-color: var(--theme-surface-card);
    box-shadow: 0 0 0.5rem var(--theme-shadow-weak);
    transition: background-color 0.2s ease,
        border-color 0.2s ease,
        color 0.2s ease,
        transform 0.05s ease;
}

.are-card-search:hover[b-5wdpis0wc9] {
    border: 2px solid var(--theme-dark-hover);
}

/* 포커스 시 검색바 전체가 브랜드색으로 물듦 — 시그니처 연출 */
.are-card-search:focus-within[b-5wdpis0wc9] {
    border: 2px solid var(--theme-dark-hover);
    background-color: rgba(var(--theme-color-rgb), 0.76);
}

.search-icon[b-5wdpis0wc9],
.search-button[b-5wdpis0wc9] {
    text-align: center;
    width: 4rem;
    background-color: transparent;
    font-size: 1.1rem;
    transition: transform 0.1s ease;
    display: flex;
    justify-content: center;
    align-items: center;
}

.search-button[b-5wdpis0wc9] {
    cursor: pointer;
}

.search-button:active[b-5wdpis0wc9] {
    transform: scale(0.95);
}

.search-input[b-5wdpis0wc9] {
    flex: 1;
    background-color: transparent;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* 자식 컴포넌트(AreInputMasked)의 input을 투명·중앙정렬로 */
.search-input[b-5wdpis0wc9]  input {
    width: 100%;
    border: none;
    background-color: transparent;
    text-align: center;
    letter-spacing: 0.2rem;
}

.search-input[b-5wdpis0wc9]  input:hover,
.search-input[b-5wdpis0wc9]  input:focus {
    border: none;
    background-color: transparent;
}
/* /Components/AreComponents/AreDatePicker.razor.rz.scp.css */
.are-date-picker[b-t0dnyjqip9] {
    display: inline-flex;
}

.toggle-button[b-t0dnyjqip9] {
    white-space: nowrap;
}

/* ◀ yyyy년 M월 ▶ */
.calendar-nav[b-t0dnyjqip9] {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 0.5rem;
}

.nav-title[b-t0dnyjqip9] {
    font-weight: 600;
    font-size: 1.1rem;
    white-space: nowrap;
}

.nav-button[b-t0dnyjqip9] {
    background: transparent;
    border: none;
    padding: 0 2rem;
    color: var(--theme-ink);
}

.nav-button:hover:not(:disabled)[b-t0dnyjqip9] {
    background: var(--theme-fill-weak);
    border: none;
}

.nav-button:active:not(:disabled)[b-t0dnyjqip9] {
    background: var(--theme-badge-bg);
}

/* 달력 표 — 전역 카드형 테이블 스타일 무력화 */
.calendar-table[b-t0dnyjqip9] {
    border-collapse: collapse;
    border-spacing: 0;
}

.calendar-table th[b-t0dnyjqip9] {
    font-weight: 500;
    padding: 0.2rem;
    text-align: center;
}

.calendar-table tbody tr[b-t0dnyjqip9],
.calendar-table tbody tr:hover[b-t0dnyjqip9] {
    background: transparent;
    box-shadow: none;
    border: none;
    cursor: default;
}

.calendar-table td[b-t0dnyjqip9] {
    padding: 0.1rem;
    text-align: center;
}

.day[b-t0dnyjqip9] {
    width: 2.5rem;
    height: 2.5rem;
    line-height: 2.5rem;
    text-align: center;
    border-radius: 0.4rem;
    cursor: pointer;
    border: 2px solid transparent;
    box-sizing: border-box;
    margin: 0 auto;
}

.day.empty[b-t0dnyjqip9] {
    cursor: default;
}

.day:hover:not(.empty)[b-t0dnyjqip9] {
    background-color: var(--theme-color-light);
}

.day.selected[b-t0dnyjqip9] {
    background-color: var(--theme-color);
    color: var(--theme-color-ink);
}

.day.today[b-t0dnyjqip9] {
    border: 2px dashed var(--theme-color-critical-hover);
    font-weight: 600;
    line-height: 2.2rem;
}

.day.holiday[b-t0dnyjqip9],
.day.weekend[b-t0dnyjqip9],
th.weekend[b-t0dnyjqip9] {
    color: var(--theme-color-critical);
}

.day.other-month[b-t0dnyjqip9] {
    font-weight: 200;
}
/* /Components/AreComponents/AreFolder.razor.rz.scp.css */
/* 폴더 모달 제목 — 아이콘 + 이름 가운데 정렬 (전역 .modal-box > .title 위에 얹음) */
.folder-title[b-a3t06lfdj1] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    padding-bottom: 1rem;
    text-align: center;
}

.folder-title i[b-a3t06lfdj1] {
    font-size: 1.4rem;
}

/* 빈 폴더 안내 */
.folder-empty[b-a3t06lfdj1] {
    text-align: center;
    padding: 1.5rem 0;
    line-height: 180%;
    opacity: 0.65;
}

/* 폴더 안 아이콘 배치 = Home과 동일 (flex-wrap 중앙정렬 그리드).
   폭은 인라인 style(항목 수 기반)이 지정하고, 그 안에서 wrap·center. */
.icons-container[b-a3t06lfdj1] {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
}

.icons[b-a3t06lfdj1] {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: flex-start;
    gap: 1rem;
    margin: 0 auto;
}
/* /Components/AreComponents/AreHelp.razor.rz.scp.css */
/* (?) 동그라미 버튼 — 행 안 어디든 끼워 넣는 작은 도움말 진입점 */
.help-dot[b-rus9o2ibkm] {
    width: 1.35rem;
    height: 1.35rem;
    padding: 0;
    border-radius: 50%;
    border-color: var(--theme-border-dash);
    font-size: 1rem;
    line-height: 1;
    flex-shrink: 0;
    background: rgba(var(--theme-ink-rgb), 0.00);
}

.help-dot:hover[b-rus9o2ibkm] {
    background: var(--theme-color);
    color: var(--theme-color-ink);
}

/* 빨강 (!) 경고 변형 — 왜 안 되는지 안내 (항상 채워진 위험색으로 시선 유도) */
.help-dot.critical[b-rus9o2ibkm] {
    background: var(--theme-color-critical);
    border-color: var(--theme-color-critical);
    color: var(--theme-color-critical-ink);
    font-weight: 700;
}

.help-dot.critical:hover[b-rus9o2ibkm] {
    background: var(--theme-color-critical);
    color: var(--theme-color-critical-ink);
    filter: brightness(1.1);
}

.help-title.critical[b-rus9o2ibkm] {
    color: var(--theme-color-critical);
}

.help-modal[b-rus9o2ibkm] {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    width: min(90vw, 34rem);
    padding: 0.2rem;
}

.help-title[b-rus9o2ibkm] {
    font-size: 1.05rem;
    font-weight: 600;
}

.help-content[b-rus9o2ibkm] {
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
}

/* 내용 관례 클래스 — 부모가 마크업만 쓰면 되도록 여기서 일괄 스타일 */
.help-content[b-rus9o2ibkm]  .help-label {
    font-size: 0.85rem;
    color: var(--theme-ink-ii);
}

.help-content[b-rus9o2ibkm]  .help-box {
    background: rgb(var(--theme-paper-rgb));
    border-radius: var(--theme-radius-small);
    padding: 0.5rem 0.7rem;
    white-space: pre-wrap;
    word-break: break-word;
    line-height: 155%;
    font-size: 0.92rem;
}

.help-actions[b-rus9o2ibkm] {
    display: flex;
    justify-content: flex-end;
}

.help-close[b-rus9o2ibkm] {
    font-size: 0.85rem;
    line-height: 190%;
    padding: 0.17rem 0.8rem;
    white-space: nowrap;
}
/* /Components/AreComponents/AreIcon.razor.rz.scp.css */
/* 기본(normal) 6rem 타일 — small/big은 하단 오버라이드 (원본 3종 치수 그대로) */
.are-icon-container[b-w1ejhoz6we] {
    position: relative;
    display: flex;
    width: 6rem;
    height: 6rem;
    justify-content: center;
    flex-direction: column;
    vertical-align: middle;
    align-items: center;
    overflow: hidden;
    border-radius: 0.75rem;
    border: 2px solid transparent;
    line-height: normal;
    transition: background-color 0.1s ease-in-out, transform 0.1s ease-in-out;
}

.are-icon[b-w1ejhoz6we] {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: center;
}

.are-icon-container.clickable[b-w1ejhoz6we] {
    cursor: pointer;
}

.are-icon-container.clickable:hover[b-w1ejhoz6we] {
    background-color: var(--theme-fill-weak);
}

.are-icon-container.clickable:active[b-w1ejhoz6we] {
    background-color: var(--theme-badge-bg);
    transform: scale(0.95);
}

.badge[b-w1ejhoz6we] {
    width: 1.2rem;
    height: 1.2rem;
    position: absolute;
    top: 0.5rem;
    right: 1rem;
    background-color: var(--theme-color);
    color: var(--theme-ink);
    border-radius: 100%;
    padding: 0.15rem;
    font-size: 1rem;
    font-weight: bold;
    line-height: 1;
    min-width: 1.2rem;
    text-align: center;
    display: flex;
    justify-content: center;
    align-items: center;
    box-shadow: 0 0 0.5rem var(--theme-shadow-weak);
    animation: pop-in-b-w1ejhoz6we 0.4s ease-out;
    transform-origin: center;
}

.badge.critical[b-w1ejhoz6we] {
    background-color: var(--theme-color-critical);
    color: var(--theme-dark-ink);
}

.are-icon > .icon[b-w1ejhoz6we] {
    font-size: 2.4rem;
}

.are-icon > .text[b-w1ejhoz6we] {
    text-align: center;
}

.icon[b-w1ejhoz6we] {
    position: relative;
    width: 3.4rem;
    height: 3.4rem;
    display: flex;
    justify-content: center;
    align-items: center;
}

.icon-secondary[b-w1ejhoz6we] {
    position: absolute;
    font-size: 1.1rem;
    top: 1.8rem;
    left: 2rem;
    width: 1.4rem;
    height: 1.4rem;
    box-shadow: 0 0 0.5rem var(--theme-shadow-weak);
    z-index: 999;
    border: solid 0.1rem var(--theme-ink);
    display: flex;
    justify-content: center;
    align-items: center;
}

/* ---------- big (구 AreIconBig, 8rem) ---------- */
.are-icon-container.big[b-w1ejhoz6we] {
    width: 8rem;
    height: 8rem;
    border-radius: 1.5rem;
    border-width: 4px;
}

.are-icon-container.big .are-icon > .icon[b-w1ejhoz6we] {
    font-size: 4.8rem;
}

.are-icon-container.big .icon[b-w1ejhoz6we] {
    width: 6.8rem;
    height: 6.8rem;
}

.are-icon-container.big .badge[b-w1ejhoz6we] {
    width: 2.4rem;
    height: 2.4rem;
    top: 0rem;
    right: 0rem;
    padding: 0.3rem;
    font-size: 2rem;
    min-width: 2.4rem;
    box-shadow: 0 0 1rem var(--theme-shadow-weak);
}

.are-icon-container.big .icon-secondary[b-w1ejhoz6we] {
    font-size: 2.2rem;
    top: 3.6rem;
    left: 4rem;
    width: 2.8rem;
    height: 2.8rem;
    box-shadow: 0 0 1rem var(--theme-shadow-weak);
    border-width: 0.2rem;
}

/* ---------- small (구 AreIconSmall, 3rem) ---------- */
.are-icon-container.small[b-w1ejhoz6we] {
    width: 3rem;
    height: 3rem;
    border-radius: 12%;
    border-width: 4px;
}

.are-icon-container.small .are-icon > .icon[b-w1ejhoz6we] {
    font-size: 2rem;
}

.are-icon-container.small .icon[b-w1ejhoz6we] {
    width: 3rem;
    height: 3rem;
}

.are-icon-container.small .icon-secondary[b-w1ejhoz6we] {
    font-size: 1rem;
    top: 1.6rem;
    left: 1.6rem;
    width: 1.2rem;
    height: 1.2rem;
    box-shadow: none;
    border: none;
}

/* 뱃지 젤리 팝 등장 (DESIGN.MD §3-1 pop-in) */
@keyframes pop-in-b-w1ejhoz6we {
    0% {
        transform: scale(0.6, 1.4);
        opacity: 0;
    }
    40% {
        transform: scale(1.4, 0.6);
        opacity: 1;
    }
    60% {
        transform: scale(0.9, 1.1);
    }
    80% {
        transform: scale(1.05, 0.95);
    }
    100% {
        transform: scale(1, 1);
    }
}
/* /Components/AreComponents/AreInfiniteScroll.razor.rz.scp.css */
.are-infinite[b-eizy5xv97k] {
    display: flex;
    flex-direction: column;
    gap: 0.3rem;
    width: 100%;
}

/* IntersectionObserver 대상 — 눈에 안 보이는 얇은 바닥 표식 */
.are-infinite-sentinel[b-eizy5xv97k] {
    height: 1px;
    width: 100%;
}

.are-infinite-status[b-eizy5xv97k] {
    text-align: center;
    padding: 0.6rem;
    font-size: 0.9rem;
    color: var(--theme-ink-ii);
}

.are-infinite-status.error[b-eizy5xv97k] {
    color: var(--theme-color-critical);
}
/* /Components/AreComponents/AreInputNumber.razor.rz.scp.css */
/* 단위 라벨 오버레이 — 원본의 전역 <style> 누출을 scoped로 교정 (DESIGN.MD §7-4) */
.input-with-unit[b-1jt2r9f6dv] {
    position: relative;
    display: flex;
    flex: 1 1 0;
    width: 100%;
    align-items: center;
}

input.has-unit[b-1jt2r9f6dv] {
    padding-right: 3rem;
}

.unit-label[b-1jt2r9f6dv] {
    position: absolute;
    right: 1rem;
    color: var(--theme-disabled-ink);
    pointer-events: none;
    user-select: none;
}
/* /Components/AreComponents/AreInputTextArea.razor.rz.scp.css */
/* 전역 input 문법(app.css §4-4)을 textarea로 재현 */
textarea[b-j5aznyaqa5] {
    flex: 1 1 auto;
    min-width: 1rem;
    min-height: 8.5rem; /* 세로 flex 안에서 basis 0으로 한 줄처럼 찌그러지는 것 방지 — 기본 4줄가량 확보 */
    width: 100%;
    box-sizing: border-box;
    vertical-align: middle;
    font-family: 'Normal';
    font-weight: 500;
    font-size: 1.02rem;
    line-height: 180%;
    background-clip: padding-box;
    border-radius: var(--theme-radius);
    padding: 0.5rem 1rem;
    color: var(--theme-ink);
    background-color: var(--theme-paper);
    transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
    border: 2px solid var(--theme-paper);
    resize: vertical;
}

textarea:hover[b-j5aznyaqa5] {
    background-color: var(--theme-paper);
    border: 2px solid var(--theme-color);
}

textarea:focus[b-j5aznyaqa5] {
    background-color: var(--theme-paper);
    border: 2px solid var(--theme-color);
    outline: none;
}

textarea[b-j5aznyaqa5]::placeholder {
    font-weight: 300;
    font-style: italic;
    opacity: 0.8;
    color: var(--theme-ink);
}

textarea:disabled[b-j5aznyaqa5] {
    cursor: not-allowed;
    color: var(--theme-disabled-ink);
    background-color: transparent;
    border: 2px dashed var(--theme-disabled-paper);
}

textarea:disabled[b-j5aznyaqa5]::placeholder {
    color: var(--theme-disabled-ink);
    opacity: 0;
}
/* /Components/AreComponents/AreListBox.razor.rz.scp.css */
/* modal-box는 AreModal이 렌더하므로 ::deep 필요 (래퍼 .listbox-host가 스코프 앵커) */
.listbox-host[b-ekn1llcwbr]  .modal-box.listbox {
    min-width: 20rem;
    padding: 0;
    overflow: hidden;
}

.title[b-ekn1llcwbr] {
    background: var(--theme-background);
    padding: 0.5rem 1.5rem;
    border-top-left-radius: 1rem;
    border-top-right-radius: 1rem;
}

.listbox-content-wrapper[b-ekn1llcwbr] {
    position: relative;
}

/* 스크롤 목록 상하 그림자 */
.listbox-shadow-top[b-ekn1llcwbr],
.listbox-shadow-bottom[b-ekn1llcwbr] {
    position: absolute;
    left: 0;
    right: 0;
    height: 0.8rem;
    z-index: 1;
    pointer-events: none;
}

.listbox-shadow-top[b-ekn1llcwbr] {
    top: 0;
    background: linear-gradient(
        to bottom,
        rgba(0, 0, 0, var(--theme-background-popup-shadow-transperancy)),
        transparent
    );
}

.listbox-shadow-bottom[b-ekn1llcwbr] {
    bottom: 0;
    background: linear-gradient(
        to top,
        rgba(0, 0, 0, var(--theme-background-popup-shadow-transperancy)),
        transparent
    );
}

.listbox-content[b-ekn1llcwbr] {
    max-height: 40vh;
    overflow-y: auto;
}

.listbox-item[b-ekn1llcwbr] {
    padding: 0.5rem 1.5rem;
    cursor: pointer;
    user-select: none;
    white-space: nowrap;
}

.listbox-item:hover[b-ekn1llcwbr] {
    background-color: var(--theme-color-light);
}

.listbox-item.selected[b-ekn1llcwbr] {
    background-color: var(--theme-color);
    color: var(--theme-color-ink);
}
/* /Components/AreComponents/AreLoginBox.razor.rz.scp.css */
/* 원본 AreLoginBox.razor.css 기반. modal-box는 AreModal이 렌더 — ::deep (AreListBox 관례) */
.login-host[b-cwgsg31c8a]  .modal-box.login-modal {
    width: 90%;
    max-width: 22rem;
    line-height: 150%;
    padding: 1.5rem;
}

.box-title[b-cwgsg31c8a] {
    font-size: 1.5rem;
    font-weight: bold;
    margin-bottom: 16px;
}

.box-title > i[b-cwgsg31c8a] {
    font-size: 1.5rem;
    margin-right: 0.8rem;
}

.sns-guide[b-cwgsg31c8a] {
    line-height: 160%;
}

.buttons[b-cwgsg31c8a] {
    display: flex;
    flex-direction: row;
    gap: 0.5rem;
    margin-top: 20px;
}

/* SNS 버튼 — 원본 가로 배치를 유지하되, 좁은 폭 대응으로 아이콘 위(크게)·라벨 아래(작게) */
.sns-login[b-cwgsg31c8a],
.limebox-login[b-cwgsg31c8a] {
    display: flex;
    align-items: center;
    border: none;
    cursor: pointer;
    font-weight: bold;
    transition: scale 0.2s ease-in-out, box-shadow 0.3s ease-in-out;
    border-radius: 0.75rem;
    padding: 0.75rem 0.5rem;
    flex-grow: 1;
    flex-basis: 0;
    text-align: center;
    justify-content: center;
    box-shadow: none;
    user-select: none;
}

.sns-login[b-cwgsg31c8a] {
    flex-direction: column;
    gap: 0.3rem;
    line-height: 1.4;
}

.sns-icon[b-cwgsg31c8a] {
    display: flex;
    align-items: center;
    justify-content: center;
}

/* 세 아이콘 모두 동일 정사각 크기 강제 (브랜드 배경 포함 이미지) */
.sns-icon[b-cwgsg31c8a]  img {
    width: 2rem;
    height: 2rem;
    object-fit: contain;
    border-radius: 0.4rem;
}

.sns-label[b-cwgsg31c8a] {
    font-size: 0.85rem;
    white-space: nowrap;
}

.sns-login.kakao[b-cwgsg31c8a] {
    background-color: #fee500;
    color: #111;
}

.sns-login.naver[b-cwgsg31c8a] {
    background-color: #02BF19;
    color: #fff;
}

.sns-login.google[b-cwgsg31c8a] {
    background-color: #fff;
    color: #333;
    border: 1px solid #dadce0;
}

.limebox-login[b-cwgsg31c8a] {
    background-color: var(--theme-color-flat);
    color: var(--theme-ink);
    font-family: 'Normal';
    font-size: 1.02rem;
    line-height: 220%;
    padding: 0.2rem 0.5rem;
}

/* 제출 버튼(<button>)에 전역 버튼 hover(2px border + 브랜드 배경)가 겹치지 않게 —
   테두리 대신 box-shadow 링이라 폭 변화 없음 (다른 버튼과 동일) */
button.limebox-login[b-cwgsg31c8a],
button.limebox-login:hover:not(:disabled)[b-cwgsg31c8a],
button.limebox-login:active:not(:disabled)[b-cwgsg31c8a] {
    background-color: var(--theme-color-flat);
    border: none;
}

.sns-login:hover[b-cwgsg31c8a],
.limebox-login:hover[b-cwgsg31c8a] {
    box-shadow: 0 0 0 2px var(--theme-color);
}

.sns-login:active[b-cwgsg31c8a],
.limebox-login:active[b-cwgsg31c8a] {
    scale: 0.98;
}

.internal-login[b-cwgsg31c8a] {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    padding: 0rem;
}

hr[b-cwgsg31c8a] {
    margin: 1rem 0;
}

.input-box[b-cwgsg31c8a] {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 0.5rem;
    padding: 0.2rem 0rem;
}

.input-box > span[b-cwgsg31c8a] {
    flex-basis: 20%;
    flex-shrink: 0;
}

.input-box > input[b-cwgsg31c8a] {
    flex-basis: 80%;
}

.forgot-password[b-cwgsg31c8a] {
    padding-top: 0.5rem;
    text-align: right;
    font-size: 0.9rem;
}

.forgot-info[b-cwgsg31c8a] {
    font-size: 0.9rem;
    line-height: 170%;
    color: var(--theme-ink-ii);
    text-align: right;
}

.error-message[b-cwgsg31c8a] {
    padding-left: 0.8rem;
    border-left: 3px solid var(--theme-color-critical);
    background: var(--theme-critical-surface);
    color: var(--theme-color-critical);
    font-size: 0.9rem;
    line-height: 180%;
}
/* /Components/AreComponents/AreLogo.razor.rz.scp.css */
.animated-box[b-otlvll70b6] {
    line-height: 2.6rem;
    height: 7rem;
}

/* 글자가 아래에서 하나씩 떠오르는 등장 (DESIGN.MD §3-1 fadeInChar) */
.logo-upper .char[b-otlvll70b6] {
    opacity: 0;
    transform: translateY(10px);
    display: inline-block;
    animation: fadeInChar-b-otlvll70b6 0.5s ease-in-out forwards;
}

/* 글자 수 바뀌면 딜레이도 함께 갱신할 것 — limeBOX 7글자 */
.logo-upper .char:nth-child(1)[b-otlvll70b6] { animation-delay: 0s; }
.logo-upper .char:nth-child(2)[b-otlvll70b6] { animation-delay: 0.1s; }
.logo-upper .char:nth-child(3)[b-otlvll70b6] { animation-delay: 0.2s; }
.logo-upper .char:nth-child(4)[b-otlvll70b6] { animation-delay: 0.3s; }
.logo-upper .char:nth-child(5)[b-otlvll70b6] { animation-delay: 0.4s; }
.logo-upper .char:nth-child(6)[b-otlvll70b6] { animation-delay: 0.5s; }
.logo-upper .char:nth-child(7)[b-otlvll70b6] { animation-delay: 0.6s; }

@keyframes fadeInChar-b-otlvll70b6 {
    0% {
        opacity: 0;
        transform: translateY(10px);
    }
    100% {
        opacity: 1;
        transform: translateY(0);
    }
}

.logo[b-otlvll70b6] {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.logo-upper[b-otlvll70b6] {
    width: 14rem;
    text-align: right;
    font-family: 'Normal';
    font-weight: 300;
    letter-spacing: 0.2rem;
    font-size: 0.7em;
}

.logo-upper b[b-otlvll70b6] {
    font-weight: 700;
}

.logo-lower[b-otlvll70b6] {
    width: 15rem;
    text-align: center;
    letter-spacing: -0.5rem;
    font-size: 4em;
}

.logo-lower p[b-otlvll70b6] {
    font-weight: 300;
}
/* /Components/AreComponents/AreMapView.razor.rz.scp.css */
/* 카카오 지도 뷰 — 지도 본체 + 범례 (마커 색은 지도 타일이 밝아 고정값, 화면 요소만 테마 추종) */

.mapview[b-ixugkrzo1q] {
    display: flex;
    flex-direction: column;
    gap: 0.6rem;
}

.map-display[b-ixugkrzo1q] {
    width: 100%;
    height: clamp(16rem, 50vh, 28rem);
    border: 1px solid var(--theme-divider);
    border-radius: var(--theme-radius);
}

.map-error[b-ixugkrzo1q] {
    background: var(--theme-critical-surface);
    color: var(--theme-color-critical);
    border-radius: 0.6rem;
    padding: 0.6rem 0.9rem;
    font-size: 0.92rem;
}

.map-legend[b-ixugkrzo1q] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.4rem 1.2rem;
    font-size: 0.85rem;
    color: var(--theme-ink-ii);
}

.legend-item[b-ixugkrzo1q] {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    white-space: nowrap;
}

.legend-item svg[b-ixugkrzo1q] {
    flex-shrink: 0;
}

@media (max-width: 480px) {
    .map-display[b-ixugkrzo1q] {
        height: clamp(14rem, 45vh, 22rem);
    }

    .map-legend[b-ixugkrzo1q] {
        gap: 0.3rem 0.8rem;
        font-size: 0.8rem;
    }
}
/* /Components/AreComponents/AreMessageBox.razor.rz.scp.css */
/* 원본은 인라인 <style> 전역 누출 — scoped로 교정 (DESIGN.MD §7-4) */
.button-group[b-u8ahs1ixn5] {
    gap: 0.5rem;
}
/* /Components/AreComponents/ArePageTop.razor.rz.scp.css */
/* 원본 web_DESIGN_REFERENCE ArePageTop.razor.css 충실 이식.
   교정: user-select 제거(전역 차단), 'Light'/'Boldest' 폰트 → 'Normal' 300/700 (§7-4) */
.top-container[b-ai17ekrv2f] {
    display: flex;
    flex-direction: column;
    align-items: center;
    position: relative;
    width: 100%;
}

.top-center[b-ai17ekrv2f] {
    display: flex;
    width: 100%;
    height: 4rem;
}

.top-center > div:nth-child(2)[b-ai17ekrv2f] {
    flex: 1;
    display: flex;
    justify-content: center;
    align-items: center;
}

.top-center > div:first-child[b-ai17ekrv2f] {
    min-width: 11rem;
    display: flex;
    justify-content: flex-start;
}

.top-center > div:last-child[b-ai17ekrv2f] {
    min-width: 11rem;
    font-size: 1.5rem;
    display: flex;
    justify-content: flex-end;
    align-items: center;
}

.go-home[b-ai17ekrv2f] {
    display: flex;
    align-items: center;
    cursor: pointer;
    gap: 0.5rem;
}

.go-home-inner[b-ai17ekrv2f] {
    width: 5rem;
    height: 5rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 0.5rem;
    border-radius: 0.5rem;
    line-height: 1.7rem;
    transition: background-color 0.1s ease-in-out,
        transform 0.1s ease-in-out;
}

.go-home-inner:hover[b-ai17ekrv2f] {
    background-color: var(--theme-fill-weak);
}

.go-home-inner:active[b-ai17ekrv2f] {
    background-color: var(--theme-badge-bg);
    transform: scale(0.95);
}

.go-home-inner-icon[b-ai17ekrv2f] {
    font-size: 1.4rem;
}

.go-home-inner-text[b-ai17ekrv2f] {
    font-size: 0.9rem;
    font-weight: 400;
    padding-left: 0.3rem;
}

.top-title[b-ai17ekrv2f] {
    display: flex;
    justify-content: center;
    align-items: flex-end;
    height: 4rem;
    text-align: center;
    letter-spacing: -0.3rem;
    font-size: 2.5rem;
    width: fit-content;
}

.top-title-center[b-ai17ekrv2f] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    position: relative;
}

.top-title p[b-ai17ekrv2f] {
    font-weight: 300;
}

.top-logo[b-ai17ekrv2f] {
    position: absolute;
    top: -1.8rem;
    right: 0rem;
    text-align: right;
    font-family: 'Normal';
    font-weight: 300;
    letter-spacing: -0.15rem;
    font-size: 0.7rem;
}

.subtitle[b-ai17ekrv2f] {
    color: var(--theme-color-critical);
    position: absolute;
    top: 1.8rem;
    right: 0%;
    font-size: 1.2rem;
    letter-spacing: 0rem;
    font-family: 'Normal';
    font-weight: 700;
}

@media (max-width: 640px) {
    .top-center > div:last-child[b-ai17ekrv2f] {
        min-width: 0;
        width: 2rem;
        font-size: 1.5rem;
        display: flex;
        justify-content: center;
        align-items: center;
    }

    .top-center > div:nth-child(2)[b-ai17ekrv2f] {
        justify-content: flex-end;
    }
}

@media (max-width: 480px) {
    .top-center > div:first-child[b-ai17ekrv2f] {
        min-width: 0;
    }

    .top-title-center > p[b-ai17ekrv2f] {
        font-size: 2rem;
    }

    .go-home[b-ai17ekrv2f] {
        gap: 0;
    }

    .go-home-inner[b-ai17ekrv2f] {
        width: 4rem;
        height: 4rem;
        padding: 0.3rem;
        line-height: 1.4rem;
    }

    .go-home-inner-icon[b-ai17ekrv2f] {
        font-size: 1.2rem;
    }

    .go-home-inner-text[b-ai17ekrv2f] {
        font-size: 0.85rem;
        font-weight: 400;
        padding-left: 0.3rem;
    }
}
/* /Components/AreComponents/ArePasswordReset.razor.rz.scp.css */
.guide[b-hygkvxeob6] {
    margin: 0.5rem 0 0;
    line-height: 160%;
    font-size: 0.95rem;
    color: var(--theme-ink-ii);
}

.reset-form[b-hygkvxeob6] {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    margin-top: 1rem;
    min-width: min(20rem, 76vw);
}

.error-message[b-hygkvxeob6] {
    margin: 0.6rem 0 0;
    font-size: 0.9rem;
    color: var(--theme-color-critical);
}

.dev-code[b-hygkvxeob6] {
    margin: 0.6rem 0 0;
    font-size: 0.9rem;
    color: var(--theme-ink-ii);
}

/* 상담전화 안내 (운영사 조직 지침 — 미설정이면 렌더 안 됨) */
.contact-guide[b-hygkvxeob6] {
    margin: 0.8rem 0 0;
    font-size: 0.9rem;
    color: var(--theme-ink-ii);
}

.contact-guide i[b-hygkvxeob6] {
    margin-right: 0.3rem;
}

.contact-guide a[b-hygkvxeob6] {
    color: var(--theme-ink);
    font-weight: 600;
    text-decoration: none;
}

/* /Components/AreComponents/ArePhoneVerify.razor.rz.scp.css */
.guide[b-89uippoz6o] {
    line-height: 180%;
    margin-top: 0.5rem;
    font-size: 0.95rem;
}

.phone-row[b-89uippoz6o] {
    display: flex;
    margin-top: 0.8rem;
    min-width: 16rem;
}

.error-message[b-89uippoz6o] {
    margin-top: 0.8rem;
    padding-left: 0.8rem;
    border-left: 3px solid var(--theme-color-critical);
    background: var(--theme-critical-surface);
    color: var(--theme-color-critical);
    font-size: 0.9rem;
    line-height: 180%;
}

.button-group[b-89uippoz6o] {
    gap: 0.5rem;
}
/* /Components/AreComponents/ArePinBox.razor.rz.scp.css */
.pinbox .message[b-ojso7dsc8p] {
    line-height: 180%;
    margin-top: 0.5rem;
}

.verify-group[b-ojso7dsc8p] {
    display: flex;
    flex-direction: row;
    justify-content: center;
    gap: 0.7rem;
    margin-top: 1rem;
}

.vcode-cell[b-ojso7dsc8p] {
    flex: 0 0 auto;
    width: 2.5rem;
    height: 2.5rem;
    padding: 0;
    text-align: center;
    font-size: 1.5rem;
    line-height: 2.5rem;
    border-radius: 0.4rem;
    transition: all 0.3s ease-in-out;
    caret-color: transparent;
}

/* 도트(●) 표시 모드는 글자를 작게 */
.vcode-cell.dotted[b-ojso7dsc8p] {
    font-size: 0.8rem;
}

.error-message[b-ojso7dsc8p] {
    margin-top: 0.8rem;
    padding-left: 0.8rem;
    border-left: 3px solid var(--theme-color-critical);
    background: var(--theme-critical-surface);
    color: var(--theme-color-critical);
    font-size: 0.9rem;
    line-height: 180%;
}

.button-group[b-ojso7dsc8p] {
    gap: 0.5rem;
}
/* /Components/AreComponents/AreSelect.razor.rz.scp.css */
.check-switch-group[b-y33jtt2zux] {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    gap: 1rem;
}

.no-items[b-y33jtt2zux] {
    color: var(--theme-disabled-ink);
    font-size: 0.9rem;
}

.check-label[b-y33jtt2zux] {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 0.5rem;
    cursor: pointer;
    user-select: none;
}

.check-label.disabled-label[b-y33jtt2zux] {
    cursor: not-allowed;
    color: var(--theme-disabled-ink);
}

.check-switch[b-y33jtt2zux] {
    position: relative;
    display: inline-flex;
    width: 2rem;
    height: 1.8rem;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.check-switch input[b-y33jtt2zux] {
    opacity: 0;
    width: 0;
    height: 0;
    position: absolute;
}

.check-style[b-y33jtt2zux] {
    display: inline-block;
    width: 1.5rem;
    height: 1.5rem;
    border-radius: 0.5rem;
    background-color: var(--theme-paper);
    box-shadow: 0 0 0 2px var(--theme-color);
    transition: all 0.3s ease;
    position: relative;
}

.check-style[b-y33jtt2zux]::after {
    content: '✔';
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.9rem;
    line-height: 1;
    color: var(--theme-ink);
    opacity: 0;
    transform: scale(0.8);
    transition: opacity 0.2s ease, transform 0.2s ease;
}

.check-switch input:checked + .check-style[b-y33jtt2zux] {
    background-color: var(--theme-color);
}

.check-switch input:checked + .check-style[b-y33jtt2zux]::after {
    color: var(--theme-color-ink);
}

.check-switch input:checked + .check-style[b-y33jtt2zux]::after {
    opacity: 1;
    transform: scale(1);
}

.check-label:hover .check-switch input:not(:disabled) + .check-style[b-y33jtt2zux] {
    box-shadow: 0 0 0 2px var(--theme-color-hover);
    background-color: var(--theme-disabled-paper);
}

.check-label:hover .check-switch input:checked:not(:disabled) + .check-style[b-y33jtt2zux] {
    background-color: var(--theme-color);
}

.check-switch input:disabled + .check-style[b-y33jtt2zux] {
    box-shadow: 0 0 0 2px var(--theme-disabled-paper);
    background-color: transparent;
    opacity: var(--theme-opacity-disabled);
}
/* /Components/AreComponents/AreToggle.razor.rz.scp.css */
.are-toggle[b-2ap5j0yvpn] {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 0.8rem;
}

.toggle-label[b-2ap5j0yvpn] {
    white-space: nowrap;
    user-select: none;
}

.switch-button[b-2ap5j0yvpn] {
    position: relative;
    display: inline-block;
    width: 2.875rem;
    height: 1.65rem;
    flex-shrink: 0;
}

.switch-button input[b-2ap5j0yvpn] {
    opacity: 0;
    width: 0;
    height: 0;
    position: absolute;
}

.onoff-switch[b-2ap5j0yvpn] {
    position: absolute;
    cursor: pointer;
    inset: 0;
    border-radius: 1.4375rem;
    background-color: var(--theme-paper);
    /* hover 테두리는 inset(안쪽) 단일 링 — 바깥 링 없음(이중 테두리 방지), 크기·차지 공간 불변 */
    box-shadow: inset 0 0 0 2px transparent;
    transition: 0.2s;
}

/* knob */
.onoff-switch[b-2ap5j0yvpn]::before {
    content: '';
    position: absolute;
    width: 1.22rem;
    height: 1.22rem;
    left: 0.215rem;
    top: 0.215rem;
    border-radius: 50%;
    background-color: var(--theme-ink);
    transition: 0.2s;
}

.onoff-switch.on[b-2ap5j0yvpn] {
    background-color: var(--theme-color);
    box-shadow: inset 0 0 0 2px transparent;
}

.onoff-switch.on[b-2ap5j0yvpn]::before {
    transform: translateX(1.2219rem);
}

/* hover — 안쪽(inset) 테두리에 색만 입힘 (버튼의 bg=hover + border=active 조합과 동일) */
.switch-button:hover input:not(:disabled) + .onoff-switch[b-2ap5j0yvpn] {
    box-shadow: inset 0 0 0 2px var(--theme-color);
}

.switch-button:hover input:not(:disabled) + .onoff-switch.on[b-2ap5j0yvpn] {
    background-color: var(--theme-color-hover);
    box-shadow: inset 0 0 0 2px var(--theme-color-hover-border);
}

.switch-button input:disabled + .onoff-switch[b-2ap5j0yvpn] {
    cursor: not-allowed;
    background-color: var(--theme-disabled-paper);
    box-shadow: inset 0 0 0 2px transparent;
    opacity: var(--theme-opacity-disabled);
}
/* /Components/Layout/MainLayout.razor.rz.scp.css */
/* 최상위 콘텐츠 바탕 — 전 화면 공통 최대 폭 1100px (2026-07-03 확정) */
article[b-cevy2b3ypw] {
    padding: 1rem;
    margin: 0 auto;
    max-width: 1100px;
}
/* /Components/Layout/ReconnectModal.razor.rz.scp.css */
.components-reconnect-first-attempt-visible[b-jj38eh2i6u],
.components-reconnect-repeated-attempt-visible[b-jj38eh2i6u],
.components-reconnect-failed-visible[b-jj38eh2i6u],
.components-pause-visible[b-jj38eh2i6u],
.components-resume-failed-visible[b-jj38eh2i6u],
.components-rejoining-animation[b-jj38eh2i6u] {
    display: none;
}

#components-reconnect-modal.components-reconnect-show .components-reconnect-first-attempt-visible[b-jj38eh2i6u],
#components-reconnect-modal.components-reconnect-show .components-rejoining-animation[b-jj38eh2i6u],
#components-reconnect-modal.components-reconnect-paused .components-pause-visible[b-jj38eh2i6u],
#components-reconnect-modal.components-reconnect-resume-failed .components-resume-failed-visible[b-jj38eh2i6u],
#components-reconnect-modal.components-reconnect-retrying[b-jj38eh2i6u],
#components-reconnect-modal.components-reconnect-retrying .components-reconnect-repeated-attempt-visible[b-jj38eh2i6u],
#components-reconnect-modal.components-reconnect-retrying .components-rejoining-animation[b-jj38eh2i6u],
#components-reconnect-modal.components-reconnect-failed[b-jj38eh2i6u],
#components-reconnect-modal.components-reconnect-failed .components-reconnect-failed-visible[b-jj38eh2i6u] {
    display: block;
}


#components-reconnect-modal[b-jj38eh2i6u] {
    background-color: var(--theme-paper);
    color: var(--theme-ink);
    width: 20rem;
    margin: 20vh auto;
    padding: 2rem;
    border: 0;
    border-radius: 0.5rem;
    box-shadow: 0 3px 6px 2px var(--theme-shadow-weak);
    opacity: 0;
    transition: display 0.5s allow-discrete, overlay 0.5s allow-discrete;
    animation: components-reconnect-modal-fadeOutOpacity-b-jj38eh2i6u 0.5s both;
    &[open]

{
    animation: components-reconnect-modal-slideUp-b-jj38eh2i6u 1.5s cubic-bezier(.05, .89, .25, 1.02) 0.3s, components-reconnect-modal-fadeInOpacity-b-jj38eh2i6u 0.5s ease-in-out 0.3s;
    animation-fill-mode: both;
}

}

#components-reconnect-modal[b-jj38eh2i6u]::backdrop {
    background: var(--theme-overlay);
    animation: components-reconnect-modal-fadeInOpacity-b-jj38eh2i6u 0.5s ease-in-out;
    opacity: 1;
}

@keyframes components-reconnect-modal-slideUp-b-jj38eh2i6u {
    0% {
        transform: translateY(30px) scale(0.95);
    }

    100% {
        transform: translateY(0);
    }
}

@keyframes components-reconnect-modal-fadeInOpacity-b-jj38eh2i6u {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

@keyframes components-reconnect-modal-fadeOutOpacity-b-jj38eh2i6u {
    0% {
        opacity: 1;
    }

    100% {
        opacity: 0;
    }
}

.components-reconnect-container[b-jj38eh2i6u] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
}

#components-reconnect-modal p[b-jj38eh2i6u] {
    margin: 0;
    text-align: center;
}

#components-reconnect-modal button[b-jj38eh2i6u] {
    border: 0;
    background-color: var(--theme-color);
    color: var(--theme-color-ink);
    padding: 4px 24px;
    border-radius: 4px;
}

    #components-reconnect-modal button:hover[b-jj38eh2i6u] {
        background-color: var(--theme-color-hover);
    }

    #components-reconnect-modal button:active[b-jj38eh2i6u] {
        background-color: var(--theme-color-active);
    }

.components-rejoining-animation[b-jj38eh2i6u] {
    position: relative;
    width: 80px;
    height: 80px;
}

    .components-rejoining-animation div[b-jj38eh2i6u] {
        position: absolute;
        border: 3px solid var(--theme-color);
        opacity: 1;
        border-radius: 50%;
        animation: components-rejoining-animation-b-jj38eh2i6u 1.5s cubic-bezier(0, 0.2, 0.8, 1) infinite;
    }

        .components-rejoining-animation div:nth-child(2)[b-jj38eh2i6u] {
            animation-delay: -0.5s;
        }

@keyframes components-rejoining-animation-b-jj38eh2i6u {
    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/Account/Account.razor.rz.scp.css */
.account-page[b-zpccsvb1dr] {
    display: flex;
    flex-direction: column;
    /* 전역 .page의 align-items:center를 무효화 — 섹션이 내용 크기로 수축하지 않고
       전부 같은 폭(컨테이너 폭)으로 늘어나게 (내 정보 = 로그인 수단 = 휴대전화) */
    align-items: stretch;
    gap: 1.5rem;
    width: 100%;
    max-width: 34rem;
}

.account-page section[b-zpccsvb1dr] {
    width: 100%;
}

section > h3[b-zpccsvb1dr] {
    font-weight: 600;
    font-size: 1.1rem;
    margin-bottom: 0.5rem;
}

.method-row[b-zpccsvb1dr] {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 0.8rem;
    padding: 0.5rem 1rem;
    margin-bottom: 0.4rem;
    border-radius: var(--theme-radius);
    background: var(--theme-surface-card);
    box-shadow: var(--theme-card-shadow);
}

.method-name[b-zpccsvb1dr] {
    min-width: 8rem;
    font-weight: 500;
}

/* SNS 대표 아이콘 칩 — 이미지 자체가 브랜드 배경 포함 (images/*.png·svg, 로컬 서빙) */
.brand-icon[b-zpccsvb1dr] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.9rem;
    height: 1.9rem;
    border-radius: var(--theme-radius-small);
    overflow: hidden;
    flex-shrink: 0;
}

.brand-icon[b-zpccsvb1dr]  img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.brand-icon.plain[b-zpccsvb1dr] {
    background: var(--theme-badge-bg);
    color: var(--theme-ink);
    font-size: 0.95rem;
}

.linked-badge[b-zpccsvb1dr] {
    font-size: 0.85rem;
    padding: 0 0.6rem;
    border-radius: var(--theme-radius-small);
    background: var(--theme-color);
    color: var(--theme-color-ink);
    line-height: 180%;
}

.linked-badge.verified[b-zpccsvb1dr] {
    background: var(--theme-color);
}

/* 권한 배지 (내 정보 — 아이콘과 이름 입력 사이): 이용자 / 조직명+직급.
   색·높이는 옆 아이콘 칩(.brand-icon.plain)과 동일 */
.role-badge[b-zpccsvb1dr] {
    display: inline-flex;
    align-items: center;
    height: 1.9rem;
    font-size: 0.85rem;
    padding: 0 0.6rem;
    border-radius: var(--theme-radius-small);
    /* background: rgba(var(--theme-paper-rgb), 0); */
    color: var(--theme-ink);
    white-space: nowrap;
    flex-shrink: 0;
}

.primary-badge[b-zpccsvb1dr] {
    font-size: 0.85rem;
    padding: 0 0.6rem;
    border-radius: var(--theme-radius-small);
    border: 1px solid var(--theme-border-dash);
    line-height: 180%;
}

.small-button[b-zpccsvb1dr] {
    margin-left: auto;
    font-size: 0.9rem;
    line-height: 200%;
    padding: 0 0.8rem;
}

/* 행 우측 정렬 꼬리 (토글·버튼 묶음) */
.row-tail[b-zpccsvb1dr] {
    margin-left: auto;
    display: flex;
    align-items: center;
    gap: 0.4rem;
}

.row-tail .small-button[b-zpccsvb1dr] {
    margin-left: 0;
}

/* ---------- 주소 (원본 AreAddressManager 카드 문법) ---------- */
/* 라운딩·그림자는 위 로그인 수단(.method-row)과 동일 컨셉 — var(--theme-radius) + 표준 약그림자 */
.address-item-add[b-zpccsvb1dr] {
    background: var(--theme-surface-card);
    box-shadow: var(--theme-card-shadow);
    border-radius: var(--theme-radius);
    padding: 0.4rem 1rem;
    cursor: pointer;
    transition: all 0.2s;
    display: flex;
    justify-content: center;
    align-items: center;
    border: dashed 0.125rem var(--theme-border-dash);
    margin-bottom: 0.4rem;
    user-select: none;
}

.address-item-add > i[b-zpccsvb1dr] {
    margin-right: 0.5rem;
}

.address-item[b-zpccsvb1dr] {
    background: var(--theme-surface-card);
    box-shadow: var(--theme-card-shadow);
    border-radius: var(--theme-radius);
    border: 0.125rem solid transparent;
    padding: 0.4rem 1rem;
    transition: all 0.2s;
    margin-bottom: 0.4rem;
    /* 카드 전체가 수정 진입점 */
    cursor: pointer;
}

.address-item:hover[b-zpccsvb1dr],
.address-item-add:hover[b-zpccsvb1dr] {
    border-color: var(--theme-color);
}

.address-head[b-zpccsvb1dr] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.address-name[b-zpccsvb1dr] {
    font-weight: 500;
}

.address-text[b-zpccsvb1dr] {
    font-size: 0.9rem;
    color: var(--theme-ink-ii);
    line-height: 1.6;
}

/* 아이디/비밀번호 만들기·비밀번호 변경 모달 내부 (.title/.button-group은 app.css 모달 골격) */
.guide[b-zpccsvb1dr] {
    margin: 0.5rem 0 0;
    line-height: 160%;
    font-size: 0.95rem;
    color: var(--theme-ink-ii);
}

.modal-form[b-zpccsvb1dr] {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    margin-top: 1rem;
    /* 최소폭만 잡고 모달 폭(안내문 기준)까지 늘어남 — 인풋 오른쪽 빈 공간 방지 */
    min-width: min(20rem, 76vw);
}

.sub-form[b-zpccsvb1dr] {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    padding: 0.8rem 1rem;
    margin-bottom: 0.4rem;
    border-radius: var(--theme-radius);
    background: var(--theme-fill-weak);
}

/* 로그아웃·회원 탈퇴 — 우측 정렬 */
.logout-section[b-zpccsvb1dr] {
    display: flex;
    justify-content: flex-end;
}

/* 회원 탈퇴 — 실수 방지를 위해 눈에 덜 띄는 텍스트형 버튼, 펼치면 확인 단계 */
.withdraw-section[b-zpccsvb1dr] {
    margin-top: 1rem;
    text-align: right;
}

.withdraw-section .sub-form[b-zpccsvb1dr] {
    text-align: left;
}

.withdraw-section .sub-form form[b-zpccsvb1dr] {
    display: flex;
    justify-content: flex-end;
}

.withdraw-toggle[b-zpccsvb1dr] {
    background: transparent;
    border: none;
    padding: 0;
    color: rgba(var(--theme-ink-rgb), 0.55);
    font-size: 0.9rem;
    text-decoration: underline;
}

.withdraw-toggle:hover:not(:disabled)[b-zpccsvb1dr] {
    background: transparent;
    border: none;
    color: var(--theme-color-critical);
}

.withdraw-guide[b-zpccsvb1dr] {
    line-height: 180%;
    font-size: 0.95rem;
}

.withdraw-list[b-zpccsvb1dr] {
    margin: 0.3rem 0 0 1.2rem;
    line-height: 200%;
    font-size: 0.95rem;
}

@media (max-width: 480px) {
    .method-row[b-zpccsvb1dr] {
        flex-wrap: wrap;
    }

    .method-name[b-zpccsvb1dr] {
        min-width: 6rem;
    }
}
/* /Components/Pages/Account/Join.razor.rz.scp.css */
.join-box[b-a1kksds9av] {
    width: 100%;
    max-width: 22rem;
    margin: 0 auto;
    padding: 1.5rem;
    border-radius: 1rem;
    background: var(--theme-surface-card);
    box-shadow: var(--theme-card-shadow);
    display: flex;
    flex-direction: column;
    gap: 0.8rem;
}

.box-title[b-a1kksds9av] {
    font-weight: 700;
    font-size: 1.2rem;
    text-align: center;
}

.join-form[b-a1kksds9av] {
    display: flex;
    flex-direction: column;
    gap: 0.6rem;
}

.error-message[b-a1kksds9av] {
    padding-left: 0.8rem;
    border-left: 3px solid var(--theme-color-critical);
    background: var(--theme-critical-surface);
    color: var(--theme-color-critical);
    font-size: 0.9rem;
    line-height: 180%;
}

.login-line[b-a1kksds9av] {
    text-align: center;
    font-size: 0.95rem;
}
/* /Components/Pages/Account/JoinSocial.razor.rz.scp.css */
.social-join-box[b-s07vfvrdtp] {
    width: 100%;
    max-width: 24rem;
    margin: 0 auto;
    padding: 1.5rem;
    border-radius: 1rem;
    background: var(--theme-surface-card);
    box-shadow: var(--theme-card-shadow);
    display: flex;
    flex-direction: column;
    gap: 0.8rem;
}

.box-title[b-s07vfvrdtp] {
    font-weight: 700;
    font-size: 1.2rem;
    text-align: center;
    line-height: 1.6;
}

.join-form[b-s07vfvrdtp] {
    display: flex;
    flex-direction: column;
    gap: 0.6rem;
}

.login-line[b-s07vfvrdtp] {
    text-align: center;
    font-size: 0.95rem;
}
/* /Components/Pages/Admin/Members.razor.rz.scp.css */
.members-page[b-1j0qa6rmrz] {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 0.4rem;
    width: 100%;
    max-width: 44rem;
}

/* 검색줄 */
.search-bar[b-1j0qa6rmrz] {
    display: flex;
    flex-direction: row;
    gap: 0.5rem;
    margin-bottom: 0.6rem;
}

.search-bar[b-1j0qa6rmrz]  input {
    flex: 1;
}

.search-bar button[b-1j0qa6rmrz] {
    white-space: nowrap;
}

/* 회원 행 — 계정관리 카드 문법 (라운딩·약그림자 표준). flex-wrap이라 좁은 화면에서 자연히 세로 카드화 */
.member-item[b-1j0qa6rmrz] {
    background: var(--theme-surface-card);
    box-shadow: var(--theme-card-shadow);
    border-radius: var(--theme-radius);
    padding: 0.5rem 1rem;
}

.member-item.deleted[b-1j0qa6rmrz] {
    opacity: var(--theme-opacity-dim);
    background: var(--theme-read);
}

.member-head[b-1j0qa6rmrz] {
    display: flex;
    flex-direction: row;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.member-name[b-1j0qa6rmrz] {
    font-weight: 600;
}

.deleted-badge[b-1j0qa6rmrz] {
    font-size: 0.85rem;
    padding: 0 0.6rem;
    border-radius: var(--theme-radius-small);
    background: var(--theme-color-critical);
    color: var(--theme-color-critical-ink);
    line-height: 180%;
}

.role-badge[b-1j0qa6rmrz] {
    font-size: 0.85rem;
    padding: 0 0.6rem;
    border-radius: var(--theme-radius-small);
    background: var(--theme-badge-bg);
    line-height: 180%;
    white-space: nowrap;
}

.joined[b-1j0qa6rmrz] {
    margin-left: auto;
    font-size: 0.85rem;
    color: var(--theme-ink-ii);
    white-space: nowrap;
}

/* 둘째 줄: 로그인 수단·휴대전화·카드 */
.member-sub[b-1j0qa6rmrz] {
    display: flex;
    flex-direction: row;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.4rem 1.2rem;
    margin-top: 0.3rem;
    font-size: 0.9rem;
}

.member-sub i[b-1j0qa6rmrz] {
    color: var(--theme-ink-ii);
    margin-right: 0.2rem;
}

.methods[b-1j0qa6rmrz] {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
}

.brand-icon[b-1j0qa6rmrz] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.4rem;
    height: 1.4rem;
    border-radius: var(--theme-radius-small);
    overflow: hidden;
    flex-shrink: 0;
}

.brand-icon[b-1j0qa6rmrz]  img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.brand-icon.plain[b-1j0qa6rmrz] {
    background: var(--theme-badge-bg);
    color: var(--theme-ink);
    font-size: 0.75rem;
}

.dim[b-1j0qa6rmrz] {
    color: var(--theme-disabled-ink);
}

.more-button[b-1j0qa6rmrz] {
    margin: 0.6rem auto 0;
}

.small-button[b-1j0qa6rmrz] {
    font-size: 0.85rem;
    line-height: 190%;
    padding: 0 0.7rem;
    white-space: nowrap;
}

/* 초기화 모달 내부 */
.guide[b-1j0qa6rmrz] {
    margin: 0.5rem 0 0;
    line-height: 160%;
    font-size: 0.95rem;
    color: var(--theme-ink-ii);
}

.reset-note-form[b-1j0qa6rmrz] {
    display: flex;
    flex-direction: column;
    margin-top: 1rem;
    min-width: min(24rem, 76vw);
}

.error-message[b-1j0qa6rmrz] {
    margin: 0.6rem 0 0;
    font-size: 0.9rem;
    color: var(--theme-color-critical);
}

/* 임시 비밀번호 1회 표시 — 크고 복사 가능하게 */
.temp-password[b-1j0qa6rmrz] {
    margin: 1rem 0 0;
    text-align: center;
    font-size: 1.6rem;
    font-weight: 700;
    letter-spacing: 0.15rem;
    padding: 0.6rem 1rem;
    border-radius: var(--theme-radius);
    background: var(--theme-fill-weak);
}

@media (max-width: 480px) {
    /* 가입일은 이름 줄 오른쪽 끝 대신 자연 줄바꿈 흐름으로 */
    .joined[b-1j0qa6rmrz] {
        margin-left: 0;
        width: 100%;
    }
}
/* /Components/Pages/Admin/PlatformSettings.razor.rz.scp.css */
.platform-page[b-zdltkfrbyk] {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 0.4rem;
    width: 100%;
    max-width: 40rem;
}

/* 설정 메뉴 카드 (클릭 → 모달) */
.menu-list[b-zdltkfrbyk] {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    margin-top: 0.4rem;
}

.menu-card[b-zdltkfrbyk] {
    display: flex;
    align-items: center;
    gap: 1rem;
    background: var(--theme-surface);
    border-radius: var(--theme-radius);
    padding: 1rem 1.2rem;
    cursor: pointer;
    transition: all 0.2s;
    border: solid 0.125rem transparent;
    user-select: none;
}

.menu-card:hover[b-zdltkfrbyk] {
    border-color: var(--theme-color);
}

.menu-card > .fa-key[b-zdltkfrbyk],
.menu-card > .fa-percent[b-zdltkfrbyk],
.menu-card > .fa-calendar-star[b-zdltkfrbyk] {
    font-size: 1.5rem;
    color: var(--theme-color);
    width: 2rem;
    text-align: center;
}

/* 법정 요율·공휴일 폼 */
.rate-form[b-zdltkfrbyk] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem 0.8rem;
    width: 100%;
}

.rate-form > label[b-zdltkfrbyk] {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    font-size: 0.9rem;
    color: var(--theme-ink-ii);
    white-space: nowrap;
}

.rate-form input[type="number"][b-zdltkfrbyk] {
    width: 6rem;
    text-align: right;
}

/* AreInputNumber(콤마 자동) — 폼 안 폭 제한 */
.rate-form[b-zdltkfrbyk]  .input-with-unit {
    flex: 0 0 auto;
    width: auto;
}

.rate-form[b-zdltkfrbyk]  .input-with-unit input {
    width: 8rem;
    text-align: right;
}

.year-nav[b-zdltkfrbyk] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.8rem;
}

.year-label[b-zdltkfrbyk] {
    font-weight: 600;
    font-size: 1.05rem;
    min-width: 5rem;
    text-align: center;
}

.menu-text[b-zdltkfrbyk] {
    flex: 1;
    min-width: 0;
}

.menu-title[b-zdltkfrbyk] {
    font-weight: 600;
    font-size: 1.05rem;
}

.menu-desc[b-zdltkfrbyk] {
    font-size: 0.9rem;
    line-height: 150%;
    color: var(--theme-ink-ii);
    margin-top: 0.15rem;
}

.menu-arrow[b-zdltkfrbyk] {
    color: var(--theme-ink-ii);
}

/* 키 관리 모달 — 내부 컨텐츠에 폭을 줘 modal-box가 감싸게 함 */
.key-modal[b-zdltkfrbyk] {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    width: min(88vw, 34rem);
    padding: 0.2rem;
}

.key-modal .title[b-zdltkfrbyk] {
    font-size: 1.1rem;
    font-weight: 600;
}

.guide[b-zdltkfrbyk] {
    margin: 0 0 0.2rem;
    line-height: 160%;
    font-size: 0.92rem;
    color: var(--theme-ink-ii);
}

.key-form-row[b-zdltkfrbyk] {
    display: flex;
    gap: 0.5rem;
    align-items: center;
}

.key-form-row > input[b-zdltkfrbyk] {
    flex: 1;
    min-width: 0;
}

.modal-actions[b-zdltkfrbyk] {
    display: flex;
    justify-content: flex-end;
    margin-top: 0.2rem;
}

/* 목록 행 (직함·부서와 같은 setting-row 문법) */
.row-list[b-zdltkfrbyk] {
    display: flex;
    flex-direction: column;
    gap: 0.3rem;
    margin-top: 0.3rem;
    max-height: 55vh;
    overflow-y: auto;
}

.setting-row[b-zdltkfrbyk] {
    background: var(--theme-surface);
    border-radius: var(--theme-radius);
    padding: 0.3rem 1rem;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.setting-row.editing[b-zdltkfrbyk] {
    outline: 0.125rem solid var(--theme-color);
}

.badge[b-zdltkfrbyk] {
    font-size: 0.85rem;
    padding: 0 0.6rem;
    border-radius: var(--theme-radius-small);
    background: var(--theme-badge-bg);
    line-height: 180%;
    white-space: nowrap;
    font-weight: 600;
}

.row-name[b-zdltkfrbyk] {
    font-weight: 500;
    min-width: 0;
    word-break: break-word;
}

.dim[b-zdltkfrbyk] {
    font-size: 0.85rem;
    color: var(--theme-ink-ii);
}

.row-tail[b-zdltkfrbyk] {
    margin-left: auto;
    display: flex;
    align-items: center;
    gap: 0.6rem;
}

.grow-input[b-zdltkfrbyk] {
    flex: 1;
    min-width: 8rem;
}

/* 행 내부 작은 버튼 — 모바일 터치 대상, 높이 +20% */
.small-button[b-zdltkfrbyk] {
    font-size: 0.85rem;
    line-height: 190%;
    padding: 0.17rem 0.8rem;
    white-space: nowrap;
}

.error-message[b-zdltkfrbyk] {
    margin: 0.3rem 0 0;
    font-size: 0.9rem;
    color: var(--theme-color-critical);
}

/* 돌아가기 — 점선 버튼 (관리 화면 공통 문법) */
.member-item-add[b-zdltkfrbyk] {
    background: var(--theme-surface);
    border-radius: var(--theme-radius);
    padding: 0.4rem 1rem;
    cursor: pointer;
    transition: all 0.2s;
    display: flex;
    justify-content: center;
    align-items: center;
    border: dashed 0.125rem var(--theme-border-dash);
    user-select: none;
}

.member-item-add:hover[b-zdltkfrbyk] {
    border-color: var(--theme-color);
}

.member-item-add > i[b-zdltkfrbyk] {
    margin-right: 0.5rem;
}

.back-row[b-zdltkfrbyk] {
    margin-top: 1.2rem;
}
/* /Components/Pages/Card/CardDesk.razor.rz.scp.css */
/* 카드 창구 (마이그레이션 68) — 직원 처리 화면 */

.card-desk-page[b-m7t0og9j3t] {
    max-width: 46rem;
    margin: 0 auto;
    padding: 0 1rem 3rem;
}

.info[b-m7t0og9j3t] {
    padding: 2rem 1rem;
    text-align: center;
    color: var(--theme-ink-ii);
}

.error-box[b-m7t0og9j3t] {
    background: var(--theme-critical-surface);
    color: var(--theme-color-critical);
    border-radius: 0.6rem;
    padding: 0.6rem 0.9rem;
    margin: 0.6rem 0;
    font-size: 0.92rem;
}

.search-row[b-m7t0og9j3t] {
    display: flex;
    gap: 0.5rem;
    align-items: center;
    margin: 0.5rem 0 1rem;
}

.search-row > :first-child[b-m7t0og9j3t] { flex: 1; }

.small-button[b-m7t0og9j3t] {
    font-size: 0.85rem;
    line-height: 190%;
    padding: 0.17rem 0.8rem;
    border-radius: 0.5rem;
    border: 1px solid var(--theme-divider);
    background: var(--theme-surface);
    cursor: pointer;
    white-space: nowrap;
}

.section[b-m7t0og9j3t] {
    margin: 1.2rem 0;
}

.section-title[b-m7t0og9j3t] {
    font-weight: 700;
    margin-bottom: 0.5rem;
    display: flex;
    align-items: center;
    gap: 0.4rem;
}

.section-title .badge[b-m7t0og9j3t] {
    background: var(--theme-color-critical);
    color: #fff;
    border-radius: 1rem;
    font-size: 0.75rem;
    padding: 0.05rem 0.5rem;
}

.empty[b-m7t0og9j3t] {
    color: var(--theme-ink-ii);
    padding: 0.6rem 0;
    font-size: 0.92rem;
}

.work-row[b-m7t0og9j3t] {
    display: flex;
    align-items: center;
    gap: 0.7rem;
    padding: 0.65rem 0.8rem;
    border: 1px solid var(--theme-divider);
    border-radius: 0.7rem;
    margin-bottom: 0.4rem;
    flex-wrap: wrap;
    cursor: pointer;
    font-size: 0.95rem;
}

.work-row:hover[b-m7t0og9j3t] { background: var(--theme-surface-hover); }
.work-row .amount[b-m7t0og9j3t] { font-weight: 700; font-size: 1.05rem; }
.work-row .sub[b-m7t0og9j3t], .work-row .when[b-m7t0og9j3t] { color: var(--theme-ink-ii); font-size: 0.85rem; }
.work-row .when[b-m7t0og9j3t] { margin-left: auto; }

.desk-note[b-m7t0og9j3t] {
    font-size: 0.88rem;
    color: var(--theme-ink-ii);
    border: 1px dashed var(--theme-border-dash);
    border-radius: 0.7rem;
    padding: 0.7rem 0.9rem;
    margin-top: 1.5rem;
}

/* 발급 물류·담당 배정 (마이그레이션 69) */
.work-row.static[b-m7t0og9j3t] { cursor: default; }
.work-row.static:hover[b-m7t0og9j3t] { background: transparent; }
.work-row .reason[b-m7t0og9j3t] { color: var(--theme-color-critical); font-size: 0.85rem; }

.org-pick[b-m7t0og9j3t] { margin-bottom: 0.6rem; max-width: 18rem; }

.issue-form[b-m7t0og9j3t] { display: flex; flex-direction: column; gap: 0.2rem; }

.status-chip[b-m7t0og9j3t] {
    font-size: 0.78rem;
    padding: 0.12rem 0.55rem;
    border-radius: 1rem;
    background: var(--theme-badge-bg);
    white-space: nowrap;
}

.status-chip.ok[b-m7t0og9j3t] { background: var(--theme-selected-bg); color: var(--theme-color); }
.status-chip.pending[b-m7t0og9j3t] { background: var(--theme-fill-weak); }
.status-chip.warn[b-m7t0og9j3t] { background: var(--theme-critical-surface); color: var(--theme-color-critical); }
.status-chip.off[b-m7t0og9j3t] { color: var(--theme-ink-ii); }

.tiny[b-m7t0og9j3t] {
    font-size: 0.85rem;
    line-height: 190%;
    padding: 0.17rem 0.8rem;
    border-radius: 0.5rem;
    border: 1px solid var(--theme-divider);
    background: var(--theme-surface);
    cursor: pointer;
    margin-left: auto;
}

.tiny.ok[b-m7t0og9j3t] { background: var(--theme-selected-bg); color: var(--theme-color); font-weight: 600; }

.bulk-row[b-m7t0og9j3t] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    flex-wrap: wrap;
}

.bulk-row[b-m7t0og9j3t]  .input-select { flex: 1; min-width: 10rem; width: auto; }
.bulk-row i[b-m7t0og9j3t] { color: var(--theme-ink-ii); }

/* 모달 */
.modal-title[b-m7t0og9j3t] {
    font-weight: 700;
    font-size: 1.1rem;
    margin-bottom: 0.8rem;
}

.detail-line[b-m7t0og9j3t] { margin: 0.25rem 0; }
.detail-line.sub[b-m7t0og9j3t] { color: var(--theme-ink-ii); font-size: 0.88rem; }

.account-line[b-m7t0og9j3t] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin: 0.6rem 0;
    padding: 0.5rem 0.8rem;
    background: var(--theme-fill-weak);
    border-radius: 0.6rem;
}

.modal-note[b-m7t0og9j3t] {
    font-size: 0.88rem;
    color: var(--theme-ink-ii);
    margin: 0.6rem 0;
}

.form-row[b-m7t0og9j3t] {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    margin-bottom: 0.7rem;
}

.form-row label[b-m7t0og9j3t] {
    font-size: 0.88rem;
    color: var(--theme-ink-ii);
}

.modal-buttons[b-m7t0og9j3t] {
    display: flex;
    justify-content: flex-end;
    gap: 0.5rem;
    margin-top: 1rem;
    flex-wrap: wrap;
}

.modal-buttons button[b-m7t0og9j3t] {
    font-size: 1rem;
    padding: 0.55rem 1.1rem;
    border-radius: 0.7rem;
    border: 1px solid var(--theme-divider);
    background: var(--theme-surface);
    cursor: pointer;
}

.modal-buttons .primary[b-m7t0og9j3t] {
    background: var(--theme-selected-bg-strong);
    color: var(--theme-color);
    font-weight: 700;
}

.modal-buttons .danger[b-m7t0og9j3t],
.reject-form .danger[b-m7t0og9j3t] {
    color: var(--theme-color-critical);
}

.reject-form[b-m7t0og9j3t] {
    display: flex;
    gap: 0.5rem;
    margin-top: 0.7rem;
    align-items: center;
}

.reject-form > :first-child[b-m7t0og9j3t] { flex: 1; }

.reject-form button[b-m7t0og9j3t] {
    font-size: 0.9rem;
    padding: 0.45rem 0.9rem;
    border-radius: 0.6rem;
    border: 1px solid var(--theme-divider);
    background: var(--theme-surface);
    cursor: pointer;
    white-space: nowrap;
}

@media (max-width: 480px) {
    .work-row .when[b-m7t0og9j3t] { margin-left: 0; width: 100%; }
    .modal-buttons button[b-m7t0og9j3t] { flex: 1; }
    .reject-form[b-m7t0og9j3t] { flex-direction: column; align-items: stretch; }
}
/* /Components/Pages/Card/CardIssue.razor.rz.scp.css */
/* 카드 발급 (플랫폼 — 마이그레이션 69) */

.card-issue-page[b-e8knhtxm89] {
    max-width: 46rem;
    margin: 0 auto;
    padding: 0 1rem 3rem;
}

.info[b-e8knhtxm89] {
    padding: 2rem 1rem;
    text-align: center;
    color: var(--theme-ink-ii);
}

.pin-warning[b-e8knhtxm89] {
    background: var(--theme-critical-surface);
    color: var(--theme-color-critical);
    border-radius: 0.7rem;
    padding: 0.7rem 0.9rem;
    margin: 0.6rem 0 1rem;
    font-size: 0.92rem;
    line-height: 1.5;
}

.error-box[b-e8knhtxm89] {
    background: var(--theme-critical-surface);
    color: var(--theme-color-critical);
    border-radius: 0.6rem;
    padding: 0.6rem 0.9rem;
    margin: 0.6rem 0;
    font-size: 0.92rem;
}

.section[b-e8knhtxm89] { margin: 1.2rem 0; }

.section-title[b-e8knhtxm89] {
    font-weight: 700;
    margin-bottom: 0.5rem;
    display: flex;
    align-items: center;
    gap: 0.4rem;
}

.section-title .badge[b-e8knhtxm89] {
    background: var(--theme-color-critical);
    color: #fff;
    border-radius: 1rem;
    font-size: 0.75rem;
    padding: 0.05rem 0.5rem;
}

.empty[b-e8knhtxm89] {
    color: var(--theme-ink-ii);
    padding: 0.6rem 0;
    font-size: 0.92rem;
}

/* 대기 신청 카드 */
.req-card[b-e8knhtxm89] {
    border: 1px dashed var(--theme-border-dash);
    border-radius: 0.8rem;
    padding: 0.8rem 1rem;
    margin-bottom: 0.6rem;
}

.req-head[b-e8knhtxm89] {
    display: flex;
    align-items: baseline;
    gap: 0.6rem;
    flex-wrap: wrap;
}

.req-head .qty[b-e8knhtxm89] { font-weight: 700; font-size: 1.1rem; }
.req-head .chip[b-e8knhtxm89] {
    font-size: 0.78rem;
    padding: 0.1rem 0.5rem;
    border-radius: 1rem;
    background: var(--theme-fill-weak);
}
.req-head .when[b-e8knhtxm89] { color: var(--theme-ink-ii); font-size: 0.82rem; margin-left: auto; }

.req-note[b-e8knhtxm89] { font-size: 0.88rem; margin-top: 0.3rem; }
.dim[b-e8knhtxm89] { color: var(--theme-ink-ii); }

.req-actions[b-e8knhtxm89] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin-top: 0.6rem;
    flex-wrap: wrap;
}

.issue-button[b-e8knhtxm89] {
    display: inline-block;
    font-size: 0.95rem;
    font-weight: 600;
    padding: 0.45rem 1rem;
    border-radius: 0.6rem;
    background: var(--theme-selected-bg-strong);
    color: var(--theme-color);
    text-decoration: none;
}

.req-actions button[b-e8knhtxm89], .reject-form button[b-e8knhtxm89] {
    font-size: 0.85rem;
    line-height: 190%;
    padding: 0.17rem 0.8rem;
    border-radius: 0.5rem;
    border: 1px solid var(--theme-divider);
    background: var(--theme-surface);
    cursor: pointer;
}

.req-actions .danger[b-e8knhtxm89], .reject-form .danger[b-e8knhtxm89] { color: var(--theme-color-critical); }

.reject-form[b-e8knhtxm89] {
    display: flex;
    gap: 0.4rem;
    align-items: center;
    flex: 1;
    flex-wrap: wrap;
}

.reject-form > :first-child[b-e8knhtxm89] { flex: 1; min-width: 10rem; }

.small-button[b-e8knhtxm89] {
    font-size: 0.85rem;
    line-height: 190%;
    padding: 0.17rem 0.8rem;
    border-radius: 0.5rem;
    border: 1px solid var(--theme-divider);
    background: var(--theme-surface);
    cursor: pointer;
}

/* 처리된 신청 */
.done-row[b-e8knhtxm89] {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    padding: 0.5rem 0.2rem;
    border-bottom: 1px solid var(--theme-divider);
    flex-wrap: wrap;
    font-size: 0.95rem;
}

.done-row .when[b-e8knhtxm89] { color: var(--theme-ink-ii); font-size: 0.82rem; margin-left: auto; }
.done-row .reason[b-e8knhtxm89] { color: var(--theme-color-critical); font-size: 0.85rem; }

.status-chip[b-e8knhtxm89] {
    font-size: 0.78rem;
    padding: 0.12rem 0.55rem;
    border-radius: 1rem;
    background: var(--theme-badge-bg);
    white-space: nowrap;
}

.status-chip.ok[b-e8knhtxm89] { background: var(--theme-selected-bg); color: var(--theme-color); }
.status-chip.warn[b-e8knhtxm89] { background: var(--theme-critical-surface); color: var(--theme-color-critical); }
.status-chip.off[b-e8knhtxm89] { color: var(--theme-ink-ii); }

@media (max-width: 480px) {
    .req-actions[b-e8knhtxm89] { flex-direction: column; align-items: stretch; }
    .issue-button[b-e8knhtxm89] { text-align: center; }
}
/* /Components/Pages/Card/CardView.razor.rz.scp.css */
/* 카드 화면 (마이그레이션 68) — 반응형·노인 친화 (크고 단순하게) */

.card-page[b-993d7btg6c] {
    max-width: 46rem;
    margin: 0 auto;
    padding: 0 1rem 3rem;
}

.info[b-993d7btg6c] {
    padding: 2rem 1rem;
    text-align: center;
    color: var(--theme-ink-ii);
}

/* ── 카드 타일 ── */
.card-tile[b-993d7btg6c] {
    background: var(--theme-surface-card);
    border-radius: 1rem;
    box-shadow: var(--theme-card-shadow);
    padding: 1.2rem 1.4rem;
    margin: 0.5rem 0 1rem;
}

.tile-top[b-993d7btg6c] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
}

.card-name[b-993d7btg6c] {
    font-weight: 700;
    font-size: 1.05rem;
    flex: 1;
    min-width: 0;
}

/* GPS(수거 위치) 기록 보유 표시 — 클릭=지도 모달 */
.gps-mark[b-993d7btg6c] {
    color: var(--theme-color);
    font-size: 1rem;
    flex-shrink: 0;
    cursor: pointer;
}

.card-number[b-993d7btg6c] {
    font-size: 1.15rem;
    letter-spacing: 0.08em;
    margin: 0.4rem 0 0.2rem;
    color: var(--theme-ink-ii);
}

.card-balance[b-993d7btg6c] {
    font-size: 1.6rem;
    font-weight: 700;
    margin: 0.3rem 0;
}

.card-balance .won[b-993d7btg6c] {
    font-size: 2rem;
}

.tile-sub[b-993d7btg6c] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem 1rem;
    font-size: 0.85rem;
    color: var(--theme-ink-ii);
}

.guest-chip[b-993d7btg6c] {
    color: var(--theme-color);
    font-weight: 600;
}

.activated-note[b-993d7btg6c] {
    margin-top: 0.6rem;
    padding: 0.5rem 0.8rem;
    border-radius: 0.6rem;
    background: var(--theme-selected-bg);
    color: var(--theme-color);
    font-weight: 600;
}

/* ── 상태 칩 ── */
.status-chip[b-993d7btg6c] {
    font-size: 0.78rem;
    padding: 0.12rem 0.55rem;
    border-radius: 1rem;
    background: var(--theme-badge-bg);
    white-space: nowrap;
}

.status-chip.ok[b-993d7btg6c] { background: var(--theme-selected-bg); color: var(--theme-color); }
.status-chip.pending[b-993d7btg6c] { background: var(--theme-fill-weak); }
.status-chip.warn[b-993d7btg6c] { background: var(--theme-critical-surface); color: var(--theme-color-critical); }
.status-chip.off[b-993d7btg6c] { color: var(--theme-ink-ii); }

/* ── 액션 줄 ── */
.action-row[b-993d7btg6c] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin: 0 0 1rem;
}

.action-row button[b-993d7btg6c] {
    font-size: 1rem;
    padding: 0.6rem 1rem;
    border-radius: 0.7rem;
    border: 1px solid var(--theme-divider);
    background: var(--theme-surface);
    cursor: pointer;
}

.action-row button:hover[b-993d7btg6c] { background: var(--theme-surface-hover); }
.action-row button.leave[b-993d7btg6c] { color: var(--theme-ink-ii); }

/* ── 섹션 ── */
.section[b-993d7btg6c] {
    margin: 1.2rem 0;
}

.section-title[b-993d7btg6c] {
    font-weight: 700;
    margin-bottom: 0.5rem;
    display: flex;
    align-items: center;
    gap: 0.4rem;
}

.section-title .badge[b-993d7btg6c] {
    background: var(--theme-color-critical);
    color: #fff;
    border-radius: 1rem;
    font-size: 0.75rem;
    padding: 0.05rem 0.5rem;
}

.empty[b-993d7btg6c] {
    color: var(--theme-ink-ii);
    padding: 0.6rem 0;
    font-size: 0.92rem;
}

.error-box[b-993d7btg6c] {
    background: var(--theme-critical-surface);
    color: var(--theme-color-critical);
    border-radius: 0.6rem;
    padding: 0.6rem 0.9rem;
    margin: 0.6rem 0;
    font-size: 0.92rem;
}

/* ── 허락 대기 ── */
.approve-warning[b-993d7btg6c] {
    background: var(--theme-critical-surface);
    color: var(--theme-color-critical);
    border-radius: 0.6rem;
    padding: 0.55rem 0.8rem;
    font-size: 0.9rem;
    margin-bottom: 0.6rem;
}

.pending-row[b-993d7btg6c] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.6rem;
    padding: 0.6rem 0.8rem;
    border: 1px dashed var(--theme-border-dash);
    border-radius: 0.7rem;
    margin-bottom: 0.4rem;
    flex-wrap: wrap;
}

.pending-row .who[b-993d7btg6c] { display: flex; flex-wrap: wrap; align-items: baseline; gap: 0.5rem; }
.pending-row .who b[b-993d7btg6c] { font-size: 1.05rem; }
.pending-row .login-id[b-993d7btg6c] { color: var(--theme-ink-ii); }
.pending-row .btns[b-993d7btg6c] { display: flex; gap: 0.4rem; }

.pending-row .btns button[b-993d7btg6c] {
    font-size: 0.85rem;
    line-height: 190%;
    padding: 0.17rem 0.8rem;
    border-radius: 0.5rem;
    border: 1px solid var(--theme-divider);
    background: var(--theme-surface);
    cursor: pointer;
}

.pending-row .btns .ok[b-993d7btg6c] { background: var(--theme-selected-bg); color: var(--theme-color); font-weight: 600; }
.pending-row .btns .no[b-993d7btg6c] { color: var(--theme-color-critical); }

/* ── 구독·신청·태그·거래 행 ── */
.sub-row[b-993d7btg6c], .req-row[b-993d7btg6c], .tag-row[b-993d7btg6c], .tx-row[b-993d7btg6c] {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    padding: 0.5rem 0.2rem;
    border-bottom: 1px solid var(--theme-divider);
    flex-wrap: wrap;
    font-size: 0.95rem;
}

.sub-row .name[b-993d7btg6c] { font-weight: 600; }
.sub-row .when[b-993d7btg6c], .req-row .when[b-993d7btg6c], .tx-row .when[b-993d7btg6c] { color: var(--theme-ink-ii); font-size: 0.82rem; }

.role-chip[b-993d7btg6c] {
    font-size: 0.78rem;
    padding: 0.1rem 0.5rem;
    border-radius: 1rem;
    background: var(--theme-fill-weak);
}

.role-chip.owner[b-993d7btg6c] { background: var(--theme-selected-bg); color: var(--theme-color); font-weight: 600; }

/* ── 관리 조직 (조직 대 카드) ── */
.section-title .role-hint[b-993d7btg6c] {
    font-size: 0.78rem;
    font-weight: 400;
    color: var(--theme-ink-ii);
    background: var(--theme-badge-bg);
    border-radius: 1rem;
    padding: 0.05rem 0.5rem;
}

.org-row[b-993d7btg6c] {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    padding: 0.5rem 0.2rem;
    border-bottom: 1px solid var(--theme-divider);
    flex-wrap: wrap;
    font-size: 0.95rem;
}

.org-row .org-relation[b-993d7btg6c] {
    font-size: 0.78rem;
    padding: 0.1rem 0.5rem;
    border-radius: 1rem;
    background: var(--theme-fill-weak);
    white-space: nowrap;
}

.org-row .org-relation.issuer[b-993d7btg6c] { background: var(--theme-selected-bg); color: var(--theme-color); font-weight: 600; }
.org-row .org-name[b-993d7btg6c] { font-weight: 600; }
.org-row .org-type[b-993d7btg6c] { color: var(--theme-ink-ii); font-size: 0.82rem; margin-left: auto; }

.org-row .org-name.muted[b-993d7btg6c] { color: var(--theme-ink-ii); font-weight: 400; }

.assign-row[b-993d7btg6c] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.5rem 0.2rem;
}

.assign-row[b-993d7btg6c]  .input-select { flex: 1; max-width: 16rem; width: auto; }

.org-note[b-993d7btg6c] {
    font-size: 0.85rem;
    color: var(--theme-ink-ii);
    padding: 0.5rem 0.2rem 0;
}

/* ── 상담 (카드 손님) ── */
.chat-room-row[b-993d7btg6c] {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    padding: 0.6rem 0.8rem;
    border: 1px solid var(--theme-divider);
    border-radius: 0.7rem;
    margin-bottom: 0.4rem;
    cursor: pointer;
    flex-wrap: wrap;
}

.chat-room-row:hover[b-993d7btg6c] { background: var(--theme-surface-hover); }
.chat-room-row .when[b-993d7btg6c] { margin-left: auto; }

.chat-unread[b-993d7btg6c] {
    background: var(--theme-color-critical);
    color: #fff;
    border-radius: 1rem;
    font-size: 0.75rem;
    padding: 0.05rem 0.5rem;
    font-weight: 700;
}

.chat-open[b-993d7btg6c] {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    border: 1px dashed var(--theme-border-dash);
    border-radius: 0.8rem;
    padding: 0.8rem;
    margin-top: 0.5rem;
}

.chat-open textarea[b-993d7btg6c] {
    font-size: 1rem;
    padding: 0.55rem 0.8rem;
    border: 1px solid var(--theme-divider);
    border-radius: 0.7rem;
    background: var(--theme-surface);
    color: inherit;
    resize: vertical;
    font-family: inherit;
}

.chat-open button[b-993d7btg6c] {
    font-size: 1rem;
    font-weight: 600;
    padding: 0.6rem 1rem;
    border-radius: 0.7rem;
    border: none;
    background: var(--theme-selected-bg-strong);
    color: var(--theme-color);
    cursor: pointer;
}

.chat-open button:disabled[b-993d7btg6c] { opacity: var(--theme-opacity-disabled); cursor: default; }

.tiny[b-993d7btg6c] {
    font-size: 0.85rem;
    line-height: 190%;
    padding: 0.17rem 0.8rem;
    border-radius: 0.5rem;
    border: 1px solid var(--theme-divider);
    background: var(--theme-surface);
    cursor: pointer;
    margin-left: auto;
}

.req-row .amount[b-993d7btg6c] { font-weight: 700; }
.req-row .reason[b-993d7btg6c] { color: var(--theme-color-critical); font-size: 0.85rem; width: 100%; }

.tag-row.closed[b-993d7btg6c] { color: var(--theme-ink-ii); opacity: var(--theme-opacity-dim); }

.tx-row .purpose[b-993d7btg6c] { flex: 1; }
.tx-row .amount[b-993d7btg6c] { font-weight: 700; }
.tx-row .amount.plus[b-993d7btg6c] { color: var(--theme-color-plus); }
.tx-row .amount.minus[b-993d7btg6c] { color: var(--theme-color-minus); }

/* ── 설정 ── */
.setting-row[b-993d7btg6c] {
    padding: 0.5rem 0.2rem;
}

/* ── 모달 공용 ── */
.modal-title[b-993d7btg6c] {
    font-weight: 700;
    font-size: 1.1rem;
    margin-bottom: 0.8rem;
}

.form-row[b-993d7btg6c] {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    margin-bottom: 0.7rem;
}

.form-row label[b-993d7btg6c] {
    font-size: 0.88rem;
    color: var(--theme-ink-ii);
}

.pay-account[b-993d7btg6c] {
    background: var(--theme-selected-bg);
    border-radius: 0.6rem;
    padding: 0.6rem 0.9rem;
    margin-bottom: 0.8rem;
}

.pay-account.warn[b-993d7btg6c] {
    background: var(--theme-critical-surface);
    color: var(--theme-color-critical);
}

.modal-note[b-993d7btg6c] {
    font-size: 0.85rem;
    color: var(--theme-ink-ii);
    margin: 0.5rem 0;
}

.modal-note.warn[b-993d7btg6c] { color: var(--theme-color-critical); }

.modal-buttons[b-993d7btg6c] {
    display: flex;
    justify-content: flex-end;
    gap: 0.5rem;
    margin-top: 1rem;
}

.modal-buttons button[b-993d7btg6c] {
    font-size: 1rem;
    padding: 0.55rem 1.1rem;
    border-radius: 0.7rem;
    border: 1px solid var(--theme-divider);
    background: var(--theme-surface);
    cursor: pointer;
}

.modal-buttons .primary[b-993d7btg6c] {
    background: var(--theme-selected-bg-strong);
    color: var(--theme-color);
    font-weight: 700;
}

/* ── 태그 위치 지도 모달 (modal-box는 AreModal이 렌더 — ::deep, 래퍼 .map-modal-host가 스코프 앵커) */
.map-modal-host[b-993d7btg6c]  .modal-box.map-modal {
    width: 92%;
    max-width: 36rem;
}

.map-sub[b-993d7btg6c] {
    font-size: 0.85rem;
    color: var(--theme-ink-ii);
    margin: -0.4rem 0 0.6rem;
}

/* ── 좁은 화면 ── */
@media (max-width: 480px) {
    .card-balance .won[b-993d7btg6c] { font-size: 1.7rem; }
    .action-row button[b-993d7btg6c] { flex: 1 1 calc(50% - 0.5rem); }
    .pending-row[b-993d7btg6c] { flex-direction: column; align-items: stretch; }
    .pending-row .btns button[b-993d7btg6c] { flex: 1; }
}
/* /Components/Pages/Card/MyCards.razor.rz.scp.css */
/* 내 카드 (마이그레이션 68) — 반응형 카드 그리드 */

.my-cards-page[b-ml8smzd5ur] {
    max-width: 46rem;
    margin: 0 auto;
    padding: 0 1rem 3rem;
}

.info[b-ml8smzd5ur] {
    padding: 2rem 1rem;
    text-align: center;
    color: var(--theme-ink-ii);
}

.error-box[b-ml8smzd5ur] {
    background: var(--theme-critical-surface);
    color: var(--theme-color-critical);
    border-radius: 0.6rem;
    padding: 0.6rem 0.9rem;
    margin: 0.6rem 0;
    font-size: 0.92rem;
}

.apply-form[b-ml8smzd5ur] {
    display: flex;
    flex-direction: column;
    gap: 0.6rem;
}

.apply-guide[b-ml8smzd5ur] {
    font-size: 0.9rem;
    color: var(--theme-ink-ii);
}

/* 도구줄 — 유형 드롭다운 + 검색 */
.filter-bar[b-ml8smzd5ur] {
    display: flex;
    gap: 0.5rem;
    align-items: center;
    margin: 1rem 0 0.2rem;
}

.filter-bar[b-ml8smzd5ur]  .input-select {
    flex: 0 0 auto;
    width: auto;
    max-width: 13rem;
}

.filter-bar .search-input[b-ml8smzd5ur] {
    flex: 1;
    min-width: 0;
    font-size: 0.95rem;
    padding: 0.45rem 0.8rem;
    border: 1px solid var(--theme-divider);
    border-radius: 0.6rem;
    background: var(--theme-surface);
    color: inherit;
}

.filter-bar .search-button[b-ml8smzd5ur] {
    font-size: 0.85rem;
    line-height: 190%;
    padding: 0.17rem 0.8rem;
    border-radius: 0.5rem;
    border: 1px solid var(--theme-divider);
    background: var(--theme-surface);
    cursor: pointer;
    white-space: nowrap;
}

.section[b-ml8smzd5ur] {
    margin: 1.2rem 0;
}

.section-title .role-hint[b-ml8smzd5ur] {
    font-size: 0.78rem;
    font-weight: 400;
    color: var(--theme-ink-ii);
    background: var(--theme-badge-bg);
    border-radius: 1rem;
    padding: 0.05rem 0.5rem;
}

.section-title[b-ml8smzd5ur] {
    font-weight: 700;
    margin-bottom: 0.5rem;
    display: flex;
    align-items: center;
    gap: 0.4rem;
}

.section-title .badge[b-ml8smzd5ur] {
    background: var(--theme-color-critical);
    color: #fff;
    border-radius: 1rem;
    font-size: 0.75rem;
    padding: 0.05rem 0.5rem;
}

.empty[b-ml8smzd5ur] {
    color: var(--theme-ink-ii);
    padding: 0.6rem 0;
    font-size: 0.92rem;
    grid-column: 1 / -1;   /* 그리드(무한스크롤 컨테이너) 안에서 전폭 */
}

/* 카드 그리드 — AreInfiniteScroll 컨테이너를 그리드로 (센티넬·상태 줄은 전폭) */
.cards-scroll[b-ml8smzd5ur]  .are-infinite {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(16rem, 1fr));
    gap: 0.8rem;
}

.cards-scroll[b-ml8smzd5ur]  .are-infinite-sentinel,
.cards-scroll[b-ml8smzd5ur]  .are-infinite-status {
    grid-column: 1 / -1;
}

.cards-scroll[b-ml8smzd5ur]  .are-infinite-status {
    text-align: center;
    color: var(--theme-ink-ii);
    padding: 0.6rem 0;
    font-size: 0.92rem;
}

.card-tile[b-ml8smzd5ur] {
    background: var(--theme-surface-card);
    border-radius: 1rem;
    box-shadow: var(--theme-card-shadow);
    padding: 1rem 1.2rem;
    cursor: pointer;
}

.card-tile:hover[b-ml8smzd5ur] {
    background: var(--theme-surface-hover);
}

.tile-top[b-ml8smzd5ur] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
}

.card-name[b-ml8smzd5ur] { font-weight: 700; flex: 1; min-width: 0; }

/* GPS(수거 위치) 기록 보유 표시 */
.gps-mark[b-ml8smzd5ur] {
    color: var(--theme-color);
    font-size: 0.95rem;
    flex-shrink: 0;
}

.card-number[b-ml8smzd5ur] {
    font-size: 0.95rem;
    letter-spacing: 0.06em;
    color: var(--theme-ink-ii);
    margin: 0.3rem 0;
}

.card-balance[b-ml8smzd5ur] {
    font-size: 1.3rem;
    font-weight: 700;
}

.issuer[b-ml8smzd5ur] {
    font-size: 0.82rem;
    color: var(--theme-ink-ii);
    margin-top: 0.2rem;
}

.status-chip[b-ml8smzd5ur] {
    font-size: 0.78rem;
    padding: 0.12rem 0.55rem;
    border-radius: 1rem;
    background: var(--theme-badge-bg);
    white-space: nowrap;
}

.status-chip.ok[b-ml8smzd5ur] { background: var(--theme-selected-bg); color: var(--theme-color); }
.status-chip.pending[b-ml8smzd5ur] { background: var(--theme-fill-weak); }
.status-chip.off[b-ml8smzd5ur] { color: var(--theme-ink-ii); }

/* 허락 대기·신청 행 */
.pending-row[b-ml8smzd5ur] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.6rem;
    padding: 0.6rem 0.8rem;
    border: 1px dashed var(--theme-border-dash);
    border-radius: 0.7rem;
    margin-bottom: 0.4rem;
    flex-wrap: wrap;
}

.pending-row .who[b-ml8smzd5ur] { display: flex; flex-wrap: wrap; align-items: baseline; gap: 0.5rem; }
.pending-row .who b[b-ml8smzd5ur] { font-size: 1.05rem; }
.pending-row .login-id[b-ml8smzd5ur], .pending-row .card-ref[b-ml8smzd5ur] { color: var(--theme-ink-ii); }
.pending-row .btns[b-ml8smzd5ur] { display: flex; gap: 0.4rem; }

.pending-row .btns button[b-ml8smzd5ur] {
    font-size: 0.85rem;
    line-height: 190%;
    padding: 0.17rem 0.8rem;
    border-radius: 0.5rem;
    border: 1px solid var(--theme-divider);
    background: var(--theme-surface);
    cursor: pointer;
}

.pending-row .btns .ok[b-ml8smzd5ur] { background: var(--theme-selected-bg); color: var(--theme-color); font-weight: 600; }
.pending-row .btns .no[b-ml8smzd5ur] { color: var(--theme-color-critical); }

.req-row[b-ml8smzd5ur] {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    padding: 0.5rem 0.2rem;
    border-bottom: 1px solid var(--theme-divider);
    flex-wrap: wrap;
    font-size: 0.95rem;
}

.req-row .when[b-ml8smzd5ur] { color: var(--theme-ink-ii); font-size: 0.82rem; }

.tiny[b-ml8smzd5ur] {
    font-size: 0.85rem;
    line-height: 190%;
    padding: 0.17rem 0.8rem;
    border-radius: 0.5rem;
    border: 1px solid var(--theme-divider);
    background: var(--theme-surface);
    cursor: pointer;
    margin-left: auto;
}

@media (max-width: 480px) {
    .cards-scroll[b-ml8smzd5ur]  .are-infinite { grid-template-columns: 1fr; }
    .pending-row[b-ml8smzd5ur] { flex-direction: column; align-items: stretch; }
    .pending-row .btns button[b-ml8smzd5ur] { flex: 1; }
    .filter-bar[b-ml8smzd5ur] { flex-wrap: wrap; }
    .filter-bar[b-ml8smzd5ur]  .input-select { flex: 1 1 100%; max-width: none; }
    .filter-bar .search-input[b-ml8smzd5ur] { flex: 1 1 auto; }
}
/* /Components/Pages/Chat/ChatRoom.razor.rz.scp.css */
/* 채팅방 — 노인 친화 (크고 단순), 반응형 */

.chat-room-page[b-2p2p5qvw84] {
    max-width: 46rem;
    margin: 0 auto;
    padding: 0 1rem 3rem;
    display: flex;
    flex-direction: column;
}

.info[b-2p2p5qvw84] {
    padding: 2rem 1rem;
    text-align: center;
    color: var(--theme-ink-ii);
}

.dim[b-2p2p5qvw84] { color: var(--theme-ink-ii); }

.error-box[b-2p2p5qvw84] {
    background: var(--theme-critical-surface);
    color: var(--theme-color-critical);
    border-radius: 0.6rem;
    padding: 0.6rem 0.9rem;
    margin: 0.6rem 0;
    font-size: 0.92rem;
}

/* 헤더 */
.room-head[b-2p2p5qvw84] {
    padding: 0.6rem 0.2rem;
    border-bottom: 1px solid var(--theme-divider);
}

.head-main[b-2p2p5qvw84] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    flex-wrap: wrap;
    font-size: 1.05rem;
}

.head-sub[b-2p2p5qvw84] { font-size: 0.85rem; margin-top: 0.2rem; }

.status-chip[b-2p2p5qvw84] {
    font-size: 0.78rem;
    padding: 0.12rem 0.55rem;
    border-radius: 1rem;
    background: var(--theme-badge-bg);
    white-space: nowrap;
}

.status-chip.ok[b-2p2p5qvw84] { background: var(--theme-selected-bg); color: var(--theme-color); }
.status-chip.pending[b-2p2p5qvw84] { background: var(--theme-fill-weak); }
.status-chip.off[b-2p2p5qvw84] { color: var(--theme-ink-ii); }
.status-chip.complaint[b-2p2p5qvw84] { background: var(--theme-critical-surface); color: var(--theme-color-critical); font-weight: 600; }

/* 종결 확인 배너 (노인 친화 큰 버튼) */
.confirm-banner[b-2p2p5qvw84] {
    border: 1px dashed var(--theme-border-dash);
    border-radius: 0.9rem;
    padding: 1rem;
    margin: 0.8rem 0;
    text-align: center;
}

.confirm-title[b-2p2p5qvw84] { font-weight: 700; font-size: 1.1rem; margin-bottom: 0.7rem; }

.confirm-buttons[b-2p2p5qvw84] { display: flex; gap: 0.6rem; }

.confirm-buttons button[b-2p2p5qvw84] {
    flex: 1;
    font-size: 1.05rem;
    padding: 0.8rem 0.5rem;
    border-radius: 0.8rem;
    border: 1px solid var(--theme-divider);
    background: var(--theme-surface);
    cursor: pointer;
}

.confirm-buttons .yes[b-2p2p5qvw84] { background: var(--theme-selected-bg-strong); color: var(--theme-color); font-weight: 700; }

.wait-banner[b-2p2p5qvw84], .closed-banner[b-2p2p5qvw84] {
    background: var(--theme-fill-weak);
    border-radius: 0.7rem;
    padding: 0.6rem 0.9rem;
    margin: 0.6rem 0;
    font-size: 0.92rem;
    color: var(--theme-ink-ii);
    display: flex;
    align-items: center;
    gap: 0.6rem;
    flex-wrap: wrap;
}

/* 메시지 — column-reverse: 목록 DESC의 첫 항목이 화면 아래(최신), 스크롤 바닥 고정 */
.msgs[b-2p2p5qvw84] {
    display: flex;
    flex-direction: column-reverse;
    gap: 0.5rem;
    overflow-y: auto;
    min-height: 14rem;
    max-height: 55vh;
    padding: 0.8rem 0.2rem;
}

.msg-row[b-2p2p5qvw84] { display: flex; }
.msg-row.mine[b-2p2p5qvw84] { justify-content: flex-end; }
.msg-row.theirs[b-2p2p5qvw84] { justify-content: flex-start; }

.bubble[b-2p2p5qvw84] {
    max-width: 78%;
    padding: 0.55rem 0.8rem;
    border-radius: 0.9rem;
    background: var(--theme-surface-card);
    box-shadow: var(--theme-card-shadow);
    font-size: 1rem;
    line-height: 1.45;
}

.msg-row.mine .bubble[b-2p2p5qvw84] {
    background: var(--theme-selected-bg);
}

.bubble .sender[b-2p2p5qvw84] { font-size: 0.78rem; color: var(--theme-ink-ii); margin-bottom: 0.15rem; }
.bubble .content[b-2p2p5qvw84] { white-space: pre-wrap; word-break: break-word; }
.bubble .when[b-2p2p5qvw84] { font-size: 0.72rem; color: var(--theme-ink-ii); margin-top: 0.2rem; text-align: right; }

.sys-msg[b-2p2p5qvw84] {
    text-align: center;
    font-size: 0.82rem;
    color: var(--theme-ink-ii);
    padding: 0.2rem 0;
}

.load-more[b-2p2p5qvw84] {
    align-self: center;
    font-size: 0.85rem;
    padding: 0.3rem 1rem;
    border-radius: 1rem;
    border: 1px dashed var(--theme-border-dash);
    background: transparent;
    color: var(--theme-ink-ii);
    cursor: pointer;
    margin: 0.4rem 0;
}

/* 입력 */
.input-row[b-2p2p5qvw84] {
    display: flex;
    gap: 0.5rem;
    align-items: stretch;
    border-top: 1px solid var(--theme-divider);
    padding-top: 0.7rem;
}

.input-row textarea[b-2p2p5qvw84] {
    flex: 1;
    font-size: 1rem;
    padding: 0.55rem 0.8rem;
    border: 1px solid var(--theme-divider);
    border-radius: 0.7rem;
    background: var(--theme-surface);
    color: inherit;
    resize: none;
    font-family: inherit;
}

.input-row .send[b-2p2p5qvw84] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.15rem;
    min-width: 4.5rem;
    font-size: 0.95rem;
    font-weight: 600;
    border-radius: 0.7rem;
    border: none;
    background: var(--theme-selected-bg-strong);
    color: var(--theme-color);
    cursor: pointer;
}

.input-row .send:disabled[b-2p2p5qvw84] { opacity: var(--theme-opacity-disabled); cursor: default; }

.staff-note[b-2p2p5qvw84] { font-size: 0.82rem; padding: 0.3rem 0.2rem; }

.handler-actions[b-2p2p5qvw84] {
    display: flex;
    gap: 0.5rem;
    margin-top: 0.6rem;
    flex-wrap: wrap;
}

.handler-actions button[b-2p2p5qvw84] {
    font-size: 0.9rem;
    padding: 0.45rem 0.9rem;
    border-radius: 0.6rem;
    border: 1px solid var(--theme-divider);
    background: var(--theme-surface);
    cursor: pointer;
}

.tiny[b-2p2p5qvw84] {
    font-size: 0.85rem;
    line-height: 190%;
    padding: 0.17rem 0.8rem;
    border-radius: 0.5rem;
    border: 1px solid var(--theme-divider);
    background: var(--theme-surface);
    cursor: pointer;
}

/* 모달 */
.modal-title[b-2p2p5qvw84] { font-weight: 700; font-size: 1.1rem; margin-bottom: 0.8rem; }
.modal-note[b-2p2p5qvw84] { font-size: 0.88rem; color: var(--theme-ink-ii); margin-bottom: 0.7rem; }

.form-row[b-2p2p5qvw84] { display: flex; flex-direction: column; gap: 0.25rem; margin-bottom: 0.7rem; }
.form-row label[b-2p2p5qvw84] { font-size: 0.88rem; color: var(--theme-ink-ii); }

.form-row textarea[b-2p2p5qvw84] {
    font-size: 1rem;
    padding: 0.55rem 0.8rem;
    border: 1px solid var(--theme-divider);
    border-radius: 0.7rem;
    background: var(--theme-surface);
    color: inherit;
    resize: vertical;
    font-family: inherit;
}

.modal-buttons[b-2p2p5qvw84] { display: flex; justify-content: flex-end; gap: 0.5rem; margin-top: 1rem; }

.modal-buttons button[b-2p2p5qvw84] {
    font-size: 1rem;
    padding: 0.55rem 1.1rem;
    border-radius: 0.7rem;
    border: 1px solid var(--theme-divider);
    background: var(--theme-surface);
    cursor: pointer;
}

.modal-buttons .primary[b-2p2p5qvw84] {
    background: var(--theme-selected-bg-strong);
    color: var(--theme-color);
    font-weight: 700;
}

@media (max-width: 480px) {
    .bubble[b-2p2p5qvw84] { max-width: 88%; }
    .msgs[b-2p2p5qvw84] { max-height: 50vh; }
    .confirm-buttons[b-2p2p5qvw84] { flex-direction: column; }
}
/* /Components/Pages/Chat/MyChat.razor.rz.scp.css */
/* 내 상담 (회원) */

.my-chat-page[b-lm2bvi4icn] {
    max-width: 46rem;
    margin: 0 auto;
    padding: 0 1rem 3rem;
}

.info[b-lm2bvi4icn] {
    padding: 2rem 1rem;
    text-align: center;
    color: var(--theme-ink-ii);
}

.error-box[b-lm2bvi4icn] {
    background: var(--theme-critical-surface);
    color: var(--theme-color-critical);
    border-radius: 0.6rem;
    padding: 0.6rem 0.9rem;
    margin: 0.6rem 0;
    font-size: 0.92rem;
}

.open-form[b-lm2bvi4icn] { display: flex; flex-direction: column; gap: 0.6rem; }

.open-guide[b-lm2bvi4icn] { font-size: 0.9rem; color: var(--theme-ink-ii); }

.open-form textarea[b-lm2bvi4icn] {
    font-size: 1rem;
    padding: 0.55rem 0.8rem;
    border: 1px solid var(--theme-divider);
    border-radius: 0.7rem;
    background: var(--theme-surface);
    color: inherit;
    resize: vertical;
    font-family: inherit;
}

.section[b-lm2bvi4icn] { margin: 1.2rem 0; }

.section-title[b-lm2bvi4icn] { font-weight: 700; margin-bottom: 0.5rem; }

.empty[b-lm2bvi4icn] { color: var(--theme-ink-ii); padding: 0.6rem 0; font-size: 0.92rem; }

.room-row[b-lm2bvi4icn] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.6rem;
    padding: 0.7rem 0.8rem;
    border: 1px solid var(--theme-divider);
    border-radius: 0.8rem;
    margin-bottom: 0.5rem;
    cursor: pointer;
    flex-wrap: wrap;
}

.room-row:hover[b-lm2bvi4icn] { background: var(--theme-surface-hover); }

.row-main[b-lm2bvi4icn] { display: flex; align-items: center; gap: 0.5rem; flex-wrap: wrap; }

.status-chip[b-lm2bvi4icn] {
    font-size: 0.78rem;
    padding: 0.12rem 0.55rem;
    border-radius: 1rem;
    background: var(--theme-badge-bg);
    white-space: nowrap;
}

.status-chip.ok[b-lm2bvi4icn] { background: var(--theme-selected-bg); color: var(--theme-color); }
.status-chip.pending[b-lm2bvi4icn] { background: var(--theme-fill-weak); }
.status-chip.off[b-lm2bvi4icn] { color: var(--theme-ink-ii); }

.ask-chip[b-lm2bvi4icn] {
    font-size: 0.8rem;
    font-weight: 600;
    color: var(--theme-color-critical);
}

.unread[b-lm2bvi4icn] {
    background: var(--theme-color-critical);
    color: #fff;
    border-radius: 1rem;
    font-size: 0.75rem;
    padding: 0.05rem 0.5rem;
    font-weight: 700;
}

.when[b-lm2bvi4icn] { color: var(--theme-ink-ii); font-size: 0.82rem; }
/* /Components/Pages/Chat/OrgChat.razor.rz.scp.css */
/* 상담 창구 (직원) */

.org-chat-page[b-ekdyitwwap] {
    max-width: 46rem;
    margin: 0 auto;
    padding: 0 1rem 3rem;
}

.info[b-ekdyitwwap] {
    padding: 2rem 1rem;
    text-align: center;
    color: var(--theme-ink-ii);
}

.dim[b-ekdyitwwap] { color: var(--theme-ink-ii); font-size: 0.88rem; }

.section[b-ekdyitwwap] { margin: 1.2rem 0; }

.section-title[b-ekdyitwwap] {
    font-weight: 700;
    margin-bottom: 0.5rem;
    display: flex;
    align-items: center;
    gap: 0.4rem;
}

.section-title.warn[b-ekdyitwwap] { color: var(--theme-color-critical); }

.section-title .badge[b-ekdyitwwap] {
    background: var(--theme-color-critical);
    color: #fff;
    border-radius: 1rem;
    font-size: 0.75rem;
    padding: 0.05rem 0.5rem;
}

.empty[b-ekdyitwwap] { color: var(--theme-ink-ii); padding: 0.6rem 0; font-size: 0.92rem; }

/* 개입 필요 */
.neglect-row[b-ekdyitwwap] {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    padding: 0.6rem 0.8rem;
    border: 1px dashed var(--theme-color-critical);
    border-radius: 0.7rem;
    margin-bottom: 0.4rem;
    cursor: pointer;
    flex-wrap: wrap;
}

.neglect-row:hover[b-ekdyitwwap] { background: var(--theme-surface-hover); }
.neglect-row .chevron[b-ekdyitwwap] { margin-left: auto; color: var(--theme-ink-ii); }

.kind-chip[b-ekdyitwwap] {
    font-size: 0.8rem;
    font-weight: 700;
    padding: 0.1rem 0.55rem;
    border-radius: 1rem;
    background: var(--theme-critical-surface);
    color: var(--theme-color-critical);
}

.complaint-chip[b-ekdyitwwap] {
    font-size: 0.78rem;
    padding: 0.1rem 0.5rem;
    border-radius: 1rem;
    background: var(--theme-critical-surface);
    color: var(--theme-color-critical);
    font-weight: 600;
}

/* 룸 행 */
.room-row[b-ekdyitwwap] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.6rem;
    padding: 0.7rem 0.8rem;
    border: 1px solid var(--theme-divider);
    border-radius: 0.8rem;
    margin-bottom: 0.5rem;
    cursor: pointer;
    flex-wrap: wrap;
}

.room-row:hover[b-ekdyitwwap] { background: var(--theme-surface-hover); }

.row-main[b-ekdyitwwap] { display: flex; align-items: center; gap: 0.5rem; flex-wrap: wrap; }

.status-chip[b-ekdyitwwap] {
    font-size: 0.78rem;
    padding: 0.12rem 0.55rem;
    border-radius: 1rem;
    background: var(--theme-badge-bg);
    white-space: nowrap;
}

.status-chip.ok[b-ekdyitwwap] { background: var(--theme-selected-bg); color: var(--theme-color); }
.status-chip.pending[b-ekdyitwwap] { background: var(--theme-fill-weak); }
.status-chip.off[b-ekdyitwwap] { color: var(--theme-ink-ii); }

.nohandler[b-ekdyitwwap] { color: var(--theme-color-critical); font-size: 0.85rem; font-weight: 600; }

.unread[b-ekdyitwwap] {
    background: var(--theme-color-critical);
    color: #fff;
    border-radius: 1rem;
    font-size: 0.75rem;
    padding: 0.05rem 0.5rem;
    font-weight: 700;
}

.when[b-ekdyitwwap] { color: var(--theme-ink-ii); font-size: 0.82rem; }

.desk-note[b-ekdyitwwap] {
    font-size: 0.88rem;
    color: var(--theme-ink-ii);
    border: 1px dashed var(--theme-border-dash);
    border-radius: 0.7rem;
    padding: 0.7rem 0.9rem;
    margin-top: 1.5rem;
}
/* /Components/Pages/DevComponents.razor.rz.scp.css */
h3[b-mutgay9unr] {
    margin-top: 2rem;
    font-weight: 600;
    font-size: 1.1rem;
}

.demo-value[b-mutgay9unr] {
    font-size: 0.85rem;
    color: var(--theme-ink-ii);
    line-height: 180%;
    margin-top: 0.3rem;
}

.demo-row[b-mutgay9unr] {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    gap: 1rem;
}
/* /Components/Pages/Device/Board.razor.rz.scp.css */
.board-page[b-j39pfpei7p] {
    display: flex;
    flex-direction: column;
    gap: 0.6rem;
    width: 100%;
    max-width: 40rem;
}

.guide[b-j39pfpei7p] {
    margin: 0;
    line-height: 160%;
    font-size: 0.95rem;
    color: var(--theme-ink-ii);
}

.guide.critical[b-j39pfpei7p] {
    color: var(--theme-color-critical);
}

.device-list[b-j39pfpei7p] {
    display: flex;
    flex-direction: column;
    gap: 0.6rem;
}

.device-card[b-j39pfpei7p] {
    display: flex;
    flex-direction: column;
    gap: 0.6rem;
    padding: 0.9rem 1rem;
    border-radius: var(--theme-radius);
    background: var(--theme-surface-card);
    box-shadow: var(--theme-card-shadow);
}

.device-card.boarded[b-j39pfpei7p] {
    background: var(--theme-selected-bg);
}

.device-head[b-j39pfpei7p] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    flex-wrap: wrap;
}

.device-head > i[b-j39pfpei7p] {
    color: var(--theme-color);
    font-size: 1.2rem;
}

.device-name[b-j39pfpei7p] {
    font-weight: 700;
    font-size: 1.1rem;
}

.device-org[b-j39pfpei7p] {
    margin-left: auto;
    font-size: 0.85rem;
    color: var(--theme-ink-ii);
}

.chip[b-j39pfpei7p] {
    font-size: 0.75rem;
    padding: 0.05rem 0.5rem;
    border-radius: 1rem;
    background: var(--theme-badge-bg);
}

.chip.critical[b-j39pfpei7p] {
    background: var(--theme-critical-surface);
    color: var(--theme-color-critical);
}

.riders[b-j39pfpei7p] {
    display: flex;
    gap: 0.4rem;
    flex-wrap: wrap;
}

.rider[b-j39pfpei7p] {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.2rem 0.6rem;
    border-radius: 1rem;
    background: var(--theme-fill-weak);
    font-size: 0.92rem;
}

.rider.me[b-j39pfpei7p] {
    background: var(--theme-selected-bg-strong);
    font-weight: 700;
}

.rider > i[b-j39pfpei7p] {
    color: var(--theme-ink-ii);
    font-size: 0.8rem;
}

.since[b-j39pfpei7p] {
    font-size: 0.78rem;
    color: var(--theme-ink-ii);
}

.off-btn[b-j39pfpei7p] {
    font-size: 0.85rem;
    line-height: 190%;
    padding: 0.17rem 0.8rem;
    background: var(--theme-critical-surface);
    color: var(--theme-color-critical);
}

/* 큰 탑승/하차 버튼 — 수거요원 휴대폰(장갑) 전제 */
.big-btn[b-j39pfpei7p] {
    width: 100%;
    font-size: 1.15rem;
    padding: 0.8rem 1rem;
}

.big-btn.on[b-j39pfpei7p] {
    background: var(--theme-color);
    color: var(--theme-paper);
}

.big-btn.off[b-j39pfpei7p] {
    background: var(--theme-critical-surface);
    color: var(--theme-color-critical);
}

.leave-modal[b-j39pfpei7p] {
    display: flex;
    flex-direction: column;
    gap: 0.8rem;
    min-width: min(20rem, 80vw);
}

.leave-modal h3[b-j39pfpei7p] {
    margin: 0;
}

.leave-modal p[b-j39pfpei7p] {
    margin: 0;
    line-height: 160%;
}

.modal-actions[b-j39pfpei7p] {
    display: flex;
    gap: 0.5rem;
    justify-content: flex-end;
}

.modal-actions button.danger[b-j39pfpei7p] {
    background: var(--theme-critical-surface);
    color: var(--theme-color-critical);
}
/* /Components/Pages/Device/Collections.razor.rz.scp.css */
.collections-page[b-qwvk700k7a] {
    display: flex;
    flex-direction: column;
    gap: 0.6rem;
    width: 100%;
    max-width: 46rem;
}

.toolbar[b-qwvk700k7a] {
    display: flex;
    flex-direction: column;
    gap: 0.45rem;
}

.date-filter[b-qwvk700k7a] {
    display: flex;
    gap: 0.4rem;
    align-items: center;
    flex-wrap: wrap;
}

.chip-btn[b-qwvk700k7a] {
    font-size: 0.9rem;
    padding: 0.35rem 0.9rem;
    border-radius: 1rem;
    background: var(--theme-fill-weak);
    border: 1px dashed var(--theme-border-dash);
    color: inherit;
}

.chip-btn.on[b-qwvk700k7a] {
    background: var(--theme-selected-bg);
    border-style: solid;
    color: var(--theme-color);
}

.search-row[b-qwvk700k7a] {
    display: flex;
    gap: 0.4rem;
}

.search-row[b-qwvk700k7a]  input {
    flex: 1;
    min-width: 0;
    width: 100%;
    padding: 0.45rem 0.7rem;
    border-radius: var(--theme-radius);
    border: 1px solid var(--theme-divider);
    background: var(--theme-fill-weak);
    color: inherit;
    font: inherit;
}

.search-row button[b-qwvk700k7a] {
    font-size: 0.95rem;
    padding: 0.4rem 1rem;
}

/* 합계 줄 */
.summary-row[b-qwvk700k7a] {
    display: flex;
    gap: 0.9rem;
    flex-wrap: wrap;
    align-items: baseline;
    padding: 0.5rem 0.8rem;
    border-radius: var(--theme-radius);
    background: var(--theme-surface-card);
    box-shadow: var(--theme-card-shadow);
    font-size: 0.95rem;
    line-height: 150%;
}

.summary-row .note[b-qwvk700k7a] {
    margin-left: auto;
    font-size: 0.8rem;
    color: var(--theme-ink-ii);
}

/* 수거 행 */
.tx-row[b-qwvk700k7a] {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
    padding: 0.5rem 0.7rem;
    border-radius: var(--theme-radius);
    background: var(--theme-fill-weak);
    margin-bottom: 0.35rem;
    line-height: 145%;
}

.tx-row.reversed .owner[b-qwvk700k7a],
.tx-row.reversed .amount[b-qwvk700k7a] {
    text-decoration: line-through;
    color: var(--theme-ink-ii);
}

.tx-head[b-qwvk700k7a] {
    display: flex;
    gap: 0.55rem;
    align-items: baseline;
    flex-wrap: wrap;
}

.time[b-qwvk700k7a] {
    font-family: monospace;
    font-size: 0.88rem;
    color: var(--theme-ink-ii);
}

.owner[b-qwvk700k7a] {
    font-weight: 700;
}

.num[b-qwvk700k7a] {
    font-family: monospace;
    font-size: 0.82rem;
    color: var(--theme-ink-ii);
}

.amount[b-qwvk700k7a] {
    margin-left: auto;
    font-weight: 700;
    white-space: nowrap;
}

.chip[b-qwvk700k7a] {
    font-size: 0.74rem;
    padding: 0.03rem 0.5rem;
    border-radius: 1rem;
    background: var(--theme-badge-bg);
    white-space: nowrap;
}

.chip.warn[b-qwvk700k7a] {
    background: var(--theme-critical-surface);
    color: var(--theme-color-critical);
}

.tx-body[b-qwvk700k7a] {
    display: flex;
    gap: 0.8rem;
    flex-wrap: wrap;
    font-size: 0.88rem;
    color: var(--theme-ink-ii);
}

.tx-body i[b-qwvk700k7a] {
    margin-right: 0.2rem;
}

.tx-body .uid[b-qwvk700k7a] {
    font-family: monospace;
    font-size: 0.78rem;
    word-break: break-all;
}

@media (max-width: 480px) {
    .amount[b-qwvk700k7a] {
        width: 100%;
        margin-left: 0;
        text-align: right;
    }
}
/* /Components/Pages/Device/Devices.razor.rz.scp.css */
.device-page[b-uigci6mgmq] {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 0.6rem;
    width: 100%;
    max-width: 44rem;
}

.guide[b-uigci6mgmq] {
    margin: 0;
    line-height: 160%;
    font-size: 0.95rem;
    color: var(--theme-ink-ii);
}

.org-picker[b-uigci6mgmq] {
    display: flex;
    align-items: center;
    gap: 0.6rem;
}

.org-picker .picker-label[b-uigci6mgmq] {
    font-weight: 600;
    white-space: nowrap;
}

.org-picker[b-uigci6mgmq]  .input-select {
    flex: 1;
    min-width: 0;
}

/* 등록 폼 */
.add-form[b-uigci6mgmq] {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    width: 100%;
}

.form-row[b-uigci6mgmq] {
    display: flex;
    align-items: center;
    gap: 0.6rem;
}

.form-label[b-uigci6mgmq] {
    flex: 0 0 6rem;
    font-size: 0.9rem;
    color: var(--theme-ink-ii);
}

.form-row input[b-uigci6mgmq] {
    flex: 1;
    min-width: 0;
}

.form-error[b-uigci6mgmq] {
    color: var(--theme-color-critical);
    font-size: 0.9rem;
}

/* 장비 목록 */
.device-list[b-uigci6mgmq] {
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
}

.device-row[b-uigci6mgmq] {
    border-radius: var(--theme-radius);
    background: var(--theme-surface-card);
    box-shadow: var(--theme-card-shadow);
    padding: 0.2rem 0;
}

.device-row.inactive .row-head[b-uigci6mgmq] {
    opacity: var(--theme-opacity-dim);
}

.row-head[b-uigci6mgmq] {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    padding: 0.7rem 0.9rem;
    cursor: pointer;
    flex-wrap: wrap;
}

.row-head:hover[b-uigci6mgmq] {
    background: var(--theme-surface-hover);
    border-radius: var(--theme-radius);
}

.row-head > i[b-uigci6mgmq] {
    color: var(--theme-color);
    width: 1.4rem;
    text-align: center;
}

.dev-name[b-uigci6mgmq] {
    font-weight: 700;
}

.dev-serial[b-uigci6mgmq] {
    color: var(--theme-ink-ii);
    font-size: 0.88rem;
}

.dev-chip[b-uigci6mgmq] {
    font-size: 0.78rem;
    padding: 0.1rem 0.55rem;
    border-radius: 1rem;
    background: var(--theme-badge-bg);
}

.dev-chip.status[b-uigci6mgmq] {
    background: var(--theme-critical-surface);
    color: var(--theme-color-critical);
}

/* 인라인 편집 */
.edit-form[b-uigci6mgmq] {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    padding: 0.6rem 0.9rem 0.9rem;
    border-top: 1px solid var(--theme-divider);
    cursor: default;
}

.edit-actions[b-uigci6mgmq] {
    display: flex;
    gap: 0.5rem;
    flex-wrap: wrap;
}

.edit-actions button[b-uigci6mgmq] {
    font-size: 0.85rem;
    line-height: 190%;
    padding: 0.17rem 0.8rem;
}

/* 키 모달 */
.key-modal[b-uigci6mgmq] {
    display: flex;
    flex-direction: column;
    gap: 0.7rem;
    max-width: 26rem;
}

.key-modal h3[b-uigci6mgmq] {
    margin: 0;
}

.key-modal p[b-uigci6mgmq] {
    margin: 0;
    line-height: 160%;
}

.key-value[b-uigci6mgmq] {
    font-family: Consolas, monospace;
    font-size: 1.05rem;
    letter-spacing: 0.05em;
    padding: 0.7rem;
    text-align: center;
    border-radius: var(--theme-radius-small);
    background: var(--theme-selected-bg);
    user-select: text;
    word-break: break-all;
}

.modal-actions[b-uigci6mgmq] {
    display: flex;
    gap: 0.5rem;
    justify-content: flex-end;
    flex-wrap: wrap;
}

@media (max-width: 480px) {
    .form-row[b-uigci6mgmq] {
        flex-direction: column;
        align-items: stretch;
        gap: 0.2rem;
    }

    .form-label[b-uigci6mgmq] {
        flex: none;
    }
}
/* /Components/Pages/Device/Monitor.razor.rz.scp.css */
.monitor-page[b-ggjlezg707] {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 0.6rem;
    width: 100%;
    max-width: 52rem;
}

.toolbar[b-ggjlezg707] {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    flex-wrap: wrap;
}

.toolbar[b-ggjlezg707]  .input-select {
    flex: 1;
    min-width: 10rem;
    max-width: 20rem;
}

.poll-note[b-ggjlezg707] {
    margin-left: auto;
    font-size: 0.85rem;
    color: var(--theme-ink-ii);
    white-space: nowrap;
}

.guide[b-ggjlezg707] {
    margin: 0;
    line-height: 160%;
    font-size: 0.95rem;
    color: var(--theme-ink-ii);
}

.guide.critical[b-ggjlezg707] {
    color: var(--theme-color-critical);
}

/* 위쪽 지도 */
.map-box[b-ggjlezg707] {
    width: 100%;
    height: 46vh;
    min-height: 300px;
    border-radius: var(--theme-radius);
    overflow: hidden;
    box-shadow: var(--theme-card-shadow);
}

/* 아래쪽 차량 아이템 */
.item-grid[b-ggjlezg707] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(14rem, 1fr));
    gap: 0.5rem;
}

.item[b-ggjlezg707] {
    display: flex;
    flex-direction: column;
    gap: 0.3rem;
    padding: 0.7rem 0.85rem;
    border-radius: var(--theme-radius);
    background: var(--theme-surface-card);
    box-shadow: var(--theme-card-shadow);
    cursor: pointer;
}

.item:hover[b-ggjlezg707] {
    background: var(--theme-surface-hover);
}

/* 신호 끊김 — 색만 흐리게 (opacity 금지 관례) */
.item.stale .item-head > i[b-ggjlezg707],
.item.stale .item-name[b-ggjlezg707] {
    color: var(--theme-ink-ii);
}

.item.unregistered[b-ggjlezg707] {
    border: 1px dashed var(--theme-border-dash);
}

.item-head[b-ggjlezg707] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.item-head > i[b-ggjlezg707] {
    color: var(--theme-color);
}

.item-name[b-ggjlezg707] {
    font-weight: 700;
    flex: 1;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.chip[b-ggjlezg707] {
    font-size: 0.75rem;
    padding: 0.05rem 0.5rem;
    border-radius: 1rem;
    background: var(--theme-badge-bg);
    white-space: nowrap;
}

.chip.critical[b-ggjlezg707] {
    background: var(--theme-critical-surface);
    color: var(--theme-color-critical);
}

/* 절약모드(슬립) — 30초 저속 전송 중 */
.chip.sleep[b-ggjlezg707] {
    background: var(--theme-selected-bg);
    color: var(--theme-color);
}

.sleep-note[b-ggjlezg707] {
    margin: 0;
    font-size: 0.88rem;
    line-height: 160%;
    color: var(--theme-color);
}

.item-body[b-ggjlezg707] {
    display: flex;
    gap: 0.8rem;
    font-size: 0.88rem;
    flex-wrap: wrap;
}

.item-body i[b-ggjlezg707] {
    color: var(--theme-ink-ii);
    margin-right: 0.2rem;
}

.no-signal[b-ggjlezg707] {
    color: var(--theme-ink-ii);
}

.item-foot[b-ggjlezg707] {
    font-size: 0.8rem;
    color: var(--theme-ink-ii);
}

/* 상세 모달 */
.detail-modal[b-ggjlezg707] {
    display: flex;
    flex-direction: column;
    gap: 0.8rem;
    min-width: min(22rem, 80vw);
}

.detail-modal h3[b-ggjlezg707] {
    margin: 0;
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.detail-modal h3 > i[b-ggjlezg707] {
    color: var(--theme-color);
}

.detail-grid[b-ggjlezg707] {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 0.35rem 0.9rem;
    font-size: 0.95rem;
    line-height: 130%; /* 전역 260%의 절반 — 상세 항목이 많아져 행 높이 압축 */
}

.detail-grid .k[b-ggjlezg707] {
    color: var(--theme-ink-ii);
    white-space: nowrap;
}

/* 저울 RFID uid — 16자리 hex는 고정폭이 읽기 쉬움 */
.detail-grid .mono[b-ggjlezg707] {
    font-family: monospace;
    font-size: 0.85em;
    word-break: break-all;
}

.modal-actions[b-ggjlezg707] {
    display: flex;
    gap: 0.5rem;
    justify-content: flex-end;
    flex-wrap: wrap;
}

.modal-actions button.danger[b-ggjlezg707] {
    background: var(--theme-critical-surface);
    color: var(--theme-color-critical);
}

/* 원격 정지 안내·확인 */
.halt-note[b-ggjlezg707] {
    margin: 0;
    font-size: 0.88rem;
    line-height: 160%;
    color: var(--theme-color-critical);
}

.halt-note.critical-text[b-ggjlezg707] {
    font-weight: 700;
}

.halt-confirm[b-ggjlezg707] {
    display: flex;
    flex-direction: column;
    gap: 0.6rem;
    padding: 0.7rem 0.85rem;
    border-radius: var(--theme-radius);
    background: var(--theme-critical-surface);
    font-size: 0.92rem;
    line-height: 160%;
}

@media (max-width: 480px) {
    .map-box[b-ggjlezg707] {
        height: 40vh;
        min-height: 240px;
    }

    .item-grid[b-ggjlezg707] {
        grid-template-columns: 1fr 1fr;
    }
}
/* /Components/Pages/Device/Unmatched.razor.rz.scp.css */
.unmatched-page[b-bjrug7zmno] {
    display: flex;
    flex-direction: column;
    gap: 0.7rem;
    width: 100%;
    max-width: 44rem;
}

.guide[b-bjrug7zmno] {
    margin: 0;
    line-height: 160%;
    font-size: 0.95rem;
    color: var(--theme-ink-ii);
}

.guide.critical[b-bjrug7zmno] {
    color: var(--theme-color-critical);
}

.sec-title[b-bjrug7zmno] {
    margin: 0.4rem 0 0;
    font-size: 1.05rem;
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.sec-title > i[b-bjrug7zmno] {
    color: var(--theme-color);
}

.pending-list[b-bjrug7zmno] {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.pending-card[b-bjrug7zmno] {
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
    padding: 0.75rem 0.9rem;
    border-radius: var(--theme-radius);
    background: var(--theme-surface-card);
    box-shadow: var(--theme-card-shadow);
}

.pending-card.held[b-bjrug7zmno] {
    border: 1px dashed var(--theme-border-dash);
    background: var(--theme-fill-weak);
}

.row-head[b-bjrug7zmno] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    flex-wrap: wrap;
}

.chip[b-bjrug7zmno] {
    font-size: 0.78rem;
    padding: 0.05rem 0.55rem;
    border-radius: 1rem;
    background: var(--theme-badge-bg);
    white-space: nowrap;
}

.chip.warn[b-bjrug7zmno] {
    background: var(--theme-critical-surface);
    color: var(--theme-color-critical);
}

.chip.info[b-bjrug7zmno] {
    background: var(--theme-selected-bg);
    color: var(--theme-color);
}

.dev[b-bjrug7zmno] {
    font-weight: 700;
}

.remain[b-bjrug7zmno] {
    margin-left: auto;
    font-size: 0.88rem;
    color: var(--theme-ink-ii);
    white-space: nowrap;
}

.remain.urgent[b-bjrug7zmno] {
    color: var(--theme-color-critical);
    font-weight: 700;
}

.row-body[b-bjrug7zmno] {
    display: flex;
    gap: 0.8rem;
    flex-wrap: wrap;
    font-size: 0.92rem;
    line-height: 150%;
}

.row-body .uid[b-bjrug7zmno] {
    font-family: monospace;
    font-size: 0.85rem;
    color: var(--theme-ink-ii);
    word-break: break-all;
}

.row-body .reason[b-bjrug7zmno] {
    color: var(--theme-ink-ii);
}

.row-actions[b-bjrug7zmno] {
    display: flex;
    justify-content: flex-end;
    align-items: center;
}

.resolve-btn[b-bjrug7zmno] {
    font-size: 1rem;
    padding: 0.45rem 1.1rem;
    background: var(--theme-color);
    color: var(--theme-paper);
}

.no-right[b-bjrug7zmno] {
    font-size: 0.88rem;
    color: var(--theme-ink-ii);
}

/* 지난 건 */
.past-fold[b-bjrug7zmno] {
    margin-top: 0.4rem;
}

.past-fold > summary[b-bjrug7zmno] {
    cursor: pointer;
    color: var(--theme-ink-ii);
    font-size: 0.95rem;
}

.past-list[b-bjrug7zmno] {
    display: flex;
    flex-direction: column;
    gap: 0.3rem;
    margin-top: 0.5rem;
}

.past-row[b-bjrug7zmno] {
    display: flex;
    gap: 0.7rem;
    align-items: center;
    flex-wrap: wrap;
    font-size: 0.9rem;
    padding: 0.35rem 0.6rem;
    border-radius: var(--theme-radius);
    background: var(--theme-fill-weak);
}

.past-row .ok[b-bjrug7zmno] {
    color: var(--theme-color);
    margin-left: auto;
}

.past-row .expired[b-bjrug7zmno] {
    color: var(--theme-color-critical);
    margin-left: auto;
}

/* 확정 모달 */
.resolve-modal[b-bjrug7zmno] {
    display: flex;
    flex-direction: column;
    gap: 0.7rem;
    min-width: min(26rem, 86vw);
    max-height: 80vh;
    overflow-y: auto;
}

.resolve-modal h3[b-bjrug7zmno] {
    margin: 0;
}

.fact-line[b-bjrug7zmno] {
    font-size: 0.92rem;
    line-height: 160%;
    color: var(--theme-ink-ii);
}

.fld-label[b-bjrug7zmno] {
    font-size: 0.9rem;
    font-weight: 700;
}

.search-row[b-bjrug7zmno] {
    display: flex;
    gap: 0.4rem;
}

.search-row[b-bjrug7zmno]  input {
    flex: 1;
    min-width: 0;
    width: 100%;
    padding: 0.45rem 0.7rem;
    border-radius: var(--theme-radius);
    border: 1px solid var(--theme-divider);
    background: var(--theme-fill-weak);
    color: inherit;
    font: inherit;
}

.search-row button[b-bjrug7zmno] {
    font-size: 0.95rem;
    padding: 0.4rem 1rem;
}

.hit-list[b-bjrug7zmno] {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    max-height: 30vh;
    overflow-y: auto;
}

.hit[b-bjrug7zmno] {
    display: flex;
    gap: 0.6rem;
    align-items: baseline;
    flex-wrap: wrap;
    padding: 0.4rem 0.6rem;
    border-radius: var(--theme-radius);
    background: var(--theme-fill-weak);
    cursor: pointer;
    line-height: 150%;
}

.hit:hover[b-bjrug7zmno] {
    background: var(--theme-surface-hover);
}

.hit.sel[b-bjrug7zmno] {
    background: var(--theme-selected-bg-strong);
}

.hit .num[b-bjrug7zmno] {
    font-family: monospace;
}

.hit .owner[b-bjrug7zmno] {
    font-weight: 700;
}

.hit .tags[b-bjrug7zmno] {
    margin-left: auto;
    font-size: 0.82rem;
    color: var(--theme-ink-ii);
}

.tag-list[b-bjrug7zmno] {
    display: flex;
    gap: 0.4rem;
    flex-wrap: wrap;
}

.tag-opt[b-bjrug7zmno] {
    font-size: 0.92rem;
    padding: 0.4rem 0.8rem;
    background: var(--theme-fill-weak);
    border: 1px solid var(--theme-divider);
    border-radius: var(--theme-radius);
    color: inherit;
}

.tag-opt.sel[b-bjrug7zmno] {
    background: var(--theme-selected-bg-strong);
    border-color: var(--theme-color);
    font-weight: 700;
}

.new-tag-form[b-bjrug7zmno] {
    display: flex;
    gap: 0.7rem;
    flex-wrap: wrap;
    align-items: flex-end;
}

.new-tag-form label[b-bjrug7zmno] {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
    font-size: 0.85rem;
    color: var(--theme-ink-ii);
}

.new-tag-form input[b-bjrug7zmno] {
    width: 7rem;
    padding: 0.4rem 0.6rem;
    border-radius: var(--theme-radius);
    border: 1px solid var(--theme-divider);
    background: var(--theme-fill-weak);
    color: inherit;
    font: inherit;
}

.modal-actions[b-bjrug7zmno] {
    display: flex;
    gap: 0.5rem;
    justify-content: flex-end;
}

.modal-actions button.primary[b-bjrug7zmno] {
    background: var(--theme-color);
    color: var(--theme-paper);
}

@media (max-width: 480px) {
    .remain[b-bjrug7zmno] {
        width: 100%;
        margin-left: 0;
    }
}
/* /Components/Pages/Home.razor.rz.scp.css */
/* 바탕화면 아이콘 그리드 — 스마트폰 홈처럼 6rem 타일이 중앙에서 흐름 */
.icons-container[b-mak5ufoni2] {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
}

.icons[b-mak5ufoni2] {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 1rem;
    min-width: 14rem;
    max-width: 40rem;
}

/* 아이콘 + 배지 오버레이 래퍼 — AreIcon(overflow:hidden)을 건드리지 않고 모서리에 배지를 얹음 */
.icon-badge-anchor[b-mak5ufoni2] {
    position: relative;
    display: inline-flex;
}

.dev-date[b-mak5ufoni2] {
    margin-top: 10rem;
    font-size: 0.8rem;
    font-weight: 300;
    text-align: center;
    line-height: 1.2rem;
    color: var(--theme-ink-ii);
}
/* /Components/Pages/Labor/Attendance.razor.rz.scp.css */
.attendance-page[b-qmp65r1wzi] {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 0.6rem;
    width: 100%;
    max-width: 44rem;
}

.guide[b-qmp65r1wzi] {
    margin: 0 0 0.3rem;
    line-height: 160%;
    font-size: 0.95rem;
    color: var(--theme-ink-ii);
}

.dim-note[b-qmp65r1wzi] {
    font-size: 0.85rem;
}

.org-picker[b-qmp65r1wzi],
.member-picker[b-qmp65r1wzi] {
    display: flex;
    align-items: center;
    gap: 0.6rem;
}

.picker-label[b-qmp65r1wzi] {
    font-weight: 600;
    white-space: nowrap;
}

.org-picker[b-qmp65r1wzi]  .input-select,
.member-picker[b-qmp65r1wzi]  .input-select {
    flex: 1;
    min-width: 0;
}

/* 월 이동 */
.month-nav[b-qmp65r1wzi] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.8rem;
}

.month-title[b-qmp65r1wzi] {
    font-weight: 700;
    font-size: 1.1rem;
    min-width: 8rem;
    text-align: center;
}

/* 달력 그리드 — 7열, 무기록=회색 간주·예외=색 배지 */
.cal-grid[b-qmp65r1wzi] {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    gap: 0.25rem;
}

.cal-dow[b-qmp65r1wzi] {
    text-align: center;
    font-size: 0.85rem;
    font-weight: 600;
    color: var(--theme-ink-ii);
    line-height: 160%;
}

.cal-cell[b-qmp65r1wzi] {
    min-height: 3.4rem;
    background: var(--theme-surface);
    border-radius: var(--theme-radius-small);
    padding: 0.25rem 0.35rem;
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
    border: 0.125rem solid transparent;
    box-sizing: border-box;
    overflow: hidden;
}

.cal-cell.blank[b-qmp65r1wzi] {
    background: transparent;
}

.cal-cell.future[b-qmp65r1wzi] {
    background: var(--theme-surface-dim);
    color: var(--theme-ink-ii);
}

.cal-cell.clickable[b-qmp65r1wzi] {
    cursor: pointer;
    transition: border-color 0.15s;
    user-select: none;
}

.cal-cell.clickable:hover[b-qmp65r1wzi] {
    border-color: var(--theme-color);
}

.cal-day[b-qmp65r1wzi] {
    font-size: 0.85rem;
    font-weight: 600;
    line-height: 140%;
}

/* 무기록 = 근무표대로 간주 (회색) */
.cal-sched[b-qmp65r1wzi] {
    font-size: 0.72rem;
    color: var(--theme-ink-ii);
    line-height: 140%;
    white-space: nowrap;
}

/* 예외 배지 — 유형별 색 */
.cal-badge[b-qmp65r1wzi] {
    font-size: 0.72rem;
    line-height: 145%;
    border-radius: var(--theme-radius-small);
    padding: 0.05rem 0.3rem;
    word-break: keep-all;
}

.cal-badge.absent[b-qmp65r1wzi] {
    background: var(--theme-color-critical);
    color: var(--theme-color-critical-ink);
}

.cal-badge.short[b-qmp65r1wzi] {
    background: var(--theme-badge-bg);
}

.cal-badge.extra[b-qmp65r1wzi] {
    background: var(--theme-color);
    color: var(--theme-color-ink);
}

.error-message[b-qmp65r1wzi] {
    margin: 0.3rem 0 0;
    font-size: 0.9rem;
    color: var(--theme-color-critical);
}

/* 기록 모달 */
.rec-modal[b-qmp65r1wzi] {
    display: flex;
    flex-direction: column;
    gap: 0.6rem;
    width: min(92vw, 30rem);
    padding: 0.2rem;
}

.modal-title[b-qmp65r1wzi] {
    font-size: 1.05rem;
    font-weight: 600;
}

.form-row[b-qmp65r1wzi] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.6rem;
}

.inline-label[b-qmp65r1wzi] {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    font-size: 0.9rem;
    color: var(--theme-ink-ii);
    white-space: nowrap;
}

.inline-label input[type="number"][b-qmp65r1wzi] {
    width: 5.2rem;
    text-align: center;
}

.full-input[b-qmp65r1wzi] {
    width: 100%;
    box-sizing: border-box;
}

.preview[b-qmp65r1wzi] {
    background: var(--theme-surface);
    border-radius: var(--theme-radius-small);
    padding: 0.4rem 0.7rem;
}

.small-button[b-qmp65r1wzi] {
    font-size: 0.85rem;
    line-height: 190%;
    padding: 0.17rem 0.8rem;
    white-space: nowrap;
}

.small-button.primary[b-qmp65r1wzi] {
    background: var(--theme-color);
    color: var(--theme-color-ink);
}

.modal-actions[b-qmp65r1wzi] {
    display: flex;
    justify-content: flex-end;
    gap: 0.5rem;
}

.member-item-add[b-qmp65r1wzi] {
    background: var(--theme-surface);
    border-radius: var(--theme-radius);
    padding: 0.4rem 1rem;
    cursor: pointer;
    transition: all 0.2s;
    display: flex;
    justify-content: center;
    align-items: center;
    border: dashed 0.125rem var(--theme-border-dash);
    user-select: none;
}

.member-item-add:hover[b-qmp65r1wzi] {
    border-color: var(--theme-color);
}

.member-item-add > i[b-qmp65r1wzi] {
    margin-right: 0.5rem;
}

.back-row[b-qmp65r1wzi] {
    margin-top: 1.2rem;
}

/* ── 상벌 (포상·감급) — 근태 달력 아래 (마이그레이션 62 감급 → 64 상벌) ── */
.sanction-section[b-qmp65r1wzi] {
    margin-top: 1rem;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.sanction-title[b-qmp65r1wzi] {
    margin: 0;
    font-size: 1rem;
    display: flex;
    align-items: center;
    gap: 0.4rem;
}

.sanction-title > i[b-qmp65r1wzi] {
    color: var(--theme-ink-ii);
}

/* 등록 폼 — 종류(포상/감급) 선택 줄 + 금액·사유 줄 */
.sanction-form[b-qmp65r1wzi] {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    flex: 1;
}

.sanction-form-row[b-qmp65r1wzi] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.6rem;
    flex: 1;
}

.sanction-form-row > input[b-qmp65r1wzi] {
    flex: 1;
    min-width: 12rem;
}

.cap-field[b-qmp65r1wzi] {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    font-size: 0.9rem;
    color: var(--theme-ink-ii);
    white-space: nowrap;
}

.sanction-row[b-qmp65r1wzi] {
    background: var(--theme-surface-card);
    border-radius: var(--theme-radius);
    padding: 0.4rem 1rem;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.5rem;
}

/* 무효화된 상벌 — 색으로만 흐리게 (opacity 금지 관례) + 취소선 */
.sanction-row.voided[b-qmp65r1wzi] {
    color: var(--theme-ink-ii);
}

.sanction-row.voided .sanc-amount[b-qmp65r1wzi],
.sanction-row.voided .sanc-reason[b-qmp65r1wzi] {
    text-decoration: line-through;
}

.sanc-date[b-qmp65r1wzi] {
    font-weight: 600;
    white-space: nowrap;
}

/* 종류 칩 — 포상=테마색 / 감급=위험색 */
.kind-chip[b-qmp65r1wzi] {
    font-size: 0.85rem;
    padding: 0 0.6rem;
    border-radius: var(--theme-radius-small);
    line-height: 180%;
    white-space: nowrap;
}

.kind-chip.reward[b-qmp65r1wzi] {
    background: var(--theme-color);
    color: var(--theme-color-ink);
}

.kind-chip.penalty[b-qmp65r1wzi] {
    background: var(--theme-color-critical);
    color: var(--theme-color-critical-ink);
}

.sanction-row.voided .kind-chip[b-qmp65r1wzi] {
    background: var(--theme-badge-bg);
    color: inherit;
}

.sanc-amount[b-qmp65r1wzi] {
    color: var(--theme-color-critical);
    font-weight: 600;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}

.sanc-amount.reward[b-qmp65r1wzi] {
    color: var(--theme-color);
}

.sanc-reason[b-qmp65r1wzi] {
    word-break: break-word;
}

.sanc-tail[b-qmp65r1wzi] {
    margin-left: auto;
    display: flex;
    align-items: center;
    gap: 0.5rem;
    white-space: nowrap;
}

.void-badge[b-qmp65r1wzi] {
    font-size: 0.85rem;
    padding: 0 0.6rem;
    border-radius: var(--theme-radius-small);
    background: var(--theme-badge-bg);
    line-height: 180%;
}

.small-button.critical[b-qmp65r1wzi] {
    background: var(--theme-color-critical);
    color: var(--theme-color-critical-ink);
}

.empty-note[b-qmp65r1wzi] {
    padding: 0.1rem 0.2rem;
}

@media (max-width: 480px) {
    .cal-cell[b-qmp65r1wzi] {
        min-height: 3rem;
        padding: 0.15rem 0.2rem;
    }

    .cal-badge[b-qmp65r1wzi],
    .cal-sched[b-qmp65r1wzi] {
        font-size: 0.62rem;
    }

    .sanc-tail[b-qmp65r1wzi] {
        margin-left: 0;
        width: 100%;
        justify-content: flex-end;
    }
}
/* /Components/Pages/Labor/Labor.razor.rz.scp.css */
.labor-page[b-9a1p5zszs9] {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 0.4rem;
    width: 100%;
    max-width: 44rem;
}

.section-title[b-9a1p5zszs9] {
    margin: 1.2rem 0 0.2rem;
    font-size: 1.05rem;
}

.guide[b-9a1p5zszs9] {
    margin: 0 0 0.3rem;
    line-height: 160%;
    font-size: 0.95rem;
    color: var(--theme-ink-ii);
}

.org-picker[b-9a1p5zszs9] {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    margin-bottom: 0.4rem;
}

.org-picker .picker-label[b-9a1p5zszs9] {
    font-weight: 600;
    white-space: nowrap;
}

.org-picker[b-9a1p5zszs9]  .input-select {
    flex: 1;
    min-width: 0;
}

.row-list[b-9a1p5zszs9] {
    display: flex;
    flex-direction: column;
    gap: 0.3rem;
    margin-top: 0.3rem;
}

.setting-row[b-9a1p5zszs9] {
    background: var(--theme-surface);
    border-radius: var(--theme-radius);
    padding: 0.3rem 1rem;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.5rem;
}

/* 이력 행 흐림 — opacity 대신 색상 (AreHelp 모달 투명 상속 방지) */
.setting-row.history[b-9a1p5zszs9] {
    color: var(--theme-ink-ii);
}

/* 행 클릭 = 편집 펼침·계약서 열기 (수정 버튼 대체 — 디자인 관례 호버) */
.setting-row.clickable[b-9a1p5zszs9] {
    cursor: pointer;
    transition: background 0.15s;
    user-select: none;
}

.setting-row.clickable:hover[b-9a1p5zszs9] {
    background: var(--theme-surface-hover);
}

.chevron-hint[b-9a1p5zszs9] {
    color: var(--theme-ink-ii);
    font-size: 0.8rem;
}

.row-name[b-9a1p5zszs9] {
    font-weight: 500;
}

.row-tail[b-9a1p5zszs9] {
    margin-left: auto;
    display: flex;
    align-items: center;
    gap: 0.6rem;
}

.badge[b-9a1p5zszs9] {
    font-size: 0.85rem;
    padding: 0 0.6rem;
    border-radius: var(--theme-radius-small);
    background: var(--theme-badge-bg);
    line-height: 180%;
    white-space: nowrap;
}

.badge.on[b-9a1p5zszs9],
.badge.lv-승인[b-9a1p5zszs9] {
    background: var(--theme-color);
    color: var(--theme-color-ink);
}

.badge.lv-신청[b-9a1p5zszs9] {
    background: var(--theme-color-critical);
    color: var(--theme-color-critical-ink);
}

.dim[b-9a1p5zszs9] {
    font-size: 0.85rem;
    color: var(--theme-ink-ii);
}

.clause-preview[b-9a1p5zszs9] {
    max-width: 16rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.form-row[b-9a1p5zszs9] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.6rem;
    width: 100%;
}

.form-row > input[b-9a1p5zszs9] {
    flex: 1;
    min-width: 0;
}

.form-row > input[type="number"][b-9a1p5zszs9],
.form-row > input[type="date"][b-9a1p5zszs9] {
    flex: 0 0 auto;
}

.full-input[b-9a1p5zszs9] {
    width: 100%;
    box-sizing: border-box;
}

.inline-label[b-9a1p5zszs9] {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    font-size: 0.9rem;
    color: var(--theme-ink-ii);
    white-space: nowrap;
}

.inline-label input[type="number"][b-9a1p5zszs9] {
    width: 5.2rem;
    text-align: center;
}

.clause-edit[b-9a1p5zszs9] {
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
    width: 100%;
}

.clause-edit textarea[b-9a1p5zszs9] {
    width: 100%;
    box-sizing: border-box;
    resize: vertical;
    font-family: 'Normal';
    font-size: 1rem;
    color: var(--theme-ink);
    background-color: var(--theme-paper);
    border: 2px solid var(--theme-paper);
    border-radius: var(--theme-radius);
    padding: 0.4rem 1rem;
}

.clause-edit textarea:focus[b-9a1p5zszs9] {
    border-color: var(--theme-color);
    outline: none;
}

.edit-actions[b-9a1p5zszs9] {
    display: flex;
    justify-content: flex-end;
    gap: 0.5rem;
}

/* 폴드 안 폐지 버튼 — 파괴적 동작은 왼쪽으로 분리, 저장·취소와 간격 확보 */
.edit-actions .close-action[b-9a1p5zszs9] {
    margin-right: auto;
}

.small-button[b-9a1p5zszs9] {
    font-size: 0.85rem;
    line-height: 190%;
    padding: 0.17rem 0.8rem;
    white-space: nowrap;
}

.small-button.primary[b-9a1p5zszs9] {
    background: var(--theme-color);
    color: var(--theme-color-ink);
}

.error-message[b-9a1p5zszs9] {
    margin: 0.3rem 0 0;
    font-size: 0.9rem;
    color: var(--theme-color-critical);
}

.member-item-add[b-9a1p5zszs9] {
    background: var(--theme-surface);
    border-radius: var(--theme-radius);
    padding: 0.4rem 1rem;
    cursor: pointer;
    transition: all 0.2s;
    display: flex;
    justify-content: center;
    align-items: center;
    border: dashed 0.125rem var(--theme-border-dash);
    user-select: none;
}

.member-item-add:hover[b-9a1p5zszs9] {
    border-color: var(--theme-color);
}

.member-item-add > i[b-9a1p5zszs9] {
    margin-right: 0.5rem;
}

.back-row[b-9a1p5zszs9] {
    margin-top: 1.2rem;
}

.modal-title[b-9a1p5zszs9] {
    font-size: 1.05rem;
    font-weight: 600;
}

.field-label[b-9a1p5zszs9] {
    font-size: 0.9rem;
    color: var(--theme-ink-ii);
    white-space: nowrap;
}

/* AreInputNumber(콤마 자동) — 폼 안에서 과대 확장 방지 */
.form-row[b-9a1p5zszs9]  .input-with-unit,
.inline-label[b-9a1p5zszs9]  .input-with-unit,
.clause-edit[b-9a1p5zszs9]  .input-with-unit {
    flex: 0 0 auto;
    width: auto;
}

.form-row[b-9a1p5zszs9]  .input-with-unit input,
.inline-label[b-9a1p5zszs9]  .input-with-unit input,
.clause-edit[b-9a1p5zszs9]  .input-with-unit input {
    width: 9rem;
    text-align: right;
}

.help-modal[b-9a1p5zszs9] {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    width: min(90vw, 30rem);
    padding: 0.2rem;
}

.modal-actions[b-9a1p5zszs9] {
    display: flex;
    justify-content: flex-end;
    gap: 0.5rem;
}

@media (max-width: 480px) {
    .clause-preview[b-9a1p5zszs9] {
        display: none;
    }
}
/* /Components/Pages/Labor/LaborContractView.razor.rz.scp.css */
.contract-doc[b-i1fdcyozjx] {
    display: flex;
    flex-direction: column;
    gap: 0.6rem;
    width: min(90vw, 40rem);
    max-height: 70vh;
    overflow-y: auto;
    padding: 0.2rem;
}

.doc-title[b-i1fdcyozjx] {
    text-align: center;
    font-size: 1.3rem;
    font-weight: 700;
    letter-spacing: 0.6rem;
    margin-top: 0.3rem;
}

.doc-status[b-i1fdcyozjx] {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 0.6rem;
    flex-wrap: wrap;
}

.doc-table[b-i1fdcyozjx] {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.95rem;
}

.doc-table th[b-i1fdcyozjx],
.doc-table td[b-i1fdcyozjx] {
    border: 1px solid var(--theme-border-dash);
    padding: 0.45rem 0.7rem;
    vertical-align: top;
    text-align: left;
    line-height: 155%;
}

.doc-table th[b-i1fdcyozjx] {
    width: 7.2rem;
    background: var(--theme-fill-weak);
    font-weight: 600;
    white-space: nowrap;
}

.pre[b-i1fdcyozjx] {
    white-space: pre-wrap;
    word-break: break-word;
}

/* 임금 칸 합계 줄 — 기본급·수당 아래 구분선 */
.doc-total[b-i1fdcyozjx] {
    margin-top: 0.35rem;
    padding-top: 0.35rem;
    border-top: 1px solid var(--theme-divider);
    font-weight: 600;
}

.doc-total b[b-i1fdcyozjx] {
    font-size: 1.05rem;
}

.clause + .clause[b-i1fdcyozjx] {
    margin-top: 0.5rem;
}

.badge[b-i1fdcyozjx] {
    font-size: 0.85rem;
    padding: 0 0.6rem;
    border-radius: var(--theme-radius-small);
    background: var(--theme-badge-bg);
    line-height: 180%;
    white-space: nowrap;
}

.badge.st-서명[b-i1fdcyozjx] {
    background: var(--theme-color);
    color: var(--theme-color-ink);
}

.badge.st-제시[b-i1fdcyozjx] {
    background: var(--theme-color-critical);
    color: var(--theme-color-critical-ink);
}

.dim[b-i1fdcyozjx] {
    font-size: 0.85rem;
    color: var(--theme-ink-ii);
}

.doc-sign[b-i1fdcyozjx] {
    text-align: center;
    padding-bottom: 0.3rem;
}

@media (max-width: 480px) {
    .doc-table th[b-i1fdcyozjx] {
        width: 5.2rem;
        white-space: normal;
    }
}
/* /Components/Pages/Labor/MyContracts.razor.rz.scp.css */
.contracts-page[b-geo0n070lu] {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 0.4rem;
    width: 100%;
    max-width: 44rem;
}

.section-title[b-geo0n070lu] {
    margin: 1.2rem 0 0.2rem;
    font-size: 1.05rem;
}

/* 서명 대기 카드 — 눈에 띄게 (형광펜 배경, 내 월급과 동일 문법) */
.sign-card[b-geo0n070lu] {
    background: var(--theme-selected-bg);
    border-radius: var(--theme-radius);
    padding: 0.7rem 1rem;
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
}

.sign-head[b-geo0n070lu] {
    font-weight: 600;
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.sign-actions[b-geo0n070lu] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    justify-content: flex-end;
}

.row-list[b-geo0n070lu] {
    display: flex;
    flex-direction: column;
    gap: 0.3rem;
    margin-top: 0.3rem;
}

.setting-row[b-geo0n070lu] {
    background: var(--theme-surface);
    border-radius: var(--theme-radius);
    padding: 0.3rem 1rem;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.setting-row.clickable[b-geo0n070lu] {
    cursor: pointer;
    transition: background 0.15s;
}

.setting-row.clickable:hover[b-geo0n070lu] {
    background: var(--theme-surface-hover);
}

/* 이력 행 흐림 — opacity 금지 (색상으로만, 내 월급 관례) */
.setting-row.history[b-geo0n070lu] {
    color: var(--theme-ink-ii);
}

.setting-row.history.clickable:hover[b-geo0n070lu] {
    color: var(--theme-ink);
}

.row-name[b-geo0n070lu] {
    font-weight: 500;
}

.row-tail[b-geo0n070lu] {
    margin-left: auto;
    display: flex;
    align-items: center;
    gap: 0.6rem;
}

.amount[b-geo0n070lu] {
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}

.chevron-hint[b-geo0n070lu] {
    font-size: 0.8rem;
    color: var(--theme-ink-ii);
}

.badge[b-geo0n070lu] {
    font-size: 0.85rem;
    padding: 0 0.6rem;
    border-radius: var(--theme-radius-small);
    background: var(--theme-badge-bg);
    line-height: 180%;
    white-space: nowrap;
}

.badge.st-서명[b-geo0n070lu] {
    background: var(--theme-color);
    color: var(--theme-color-ink);
}

.dim[b-geo0n070lu] {
    font-size: 0.85rem;
    color: var(--theme-ink-ii);
}

.small-button[b-geo0n070lu] {
    font-size: 0.85rem;
    line-height: 190%;
    padding: 0.17rem 0.8rem;
    white-space: nowrap;
}

.small-button.primary[b-geo0n070lu] {
    background: var(--theme-color);
    color: var(--theme-color-ink);
}

.error-message[b-geo0n070lu] {
    margin: 0.3rem 0 0;
    font-size: 0.9rem;
    color: var(--theme-color-critical);
}

.member-item-add[b-geo0n070lu] {
    background: var(--theme-surface);
    border-radius: var(--theme-radius);
    padding: 0.4rem 1rem;
    cursor: pointer;
    transition: all 0.2s;
    display: flex;
    justify-content: center;
    align-items: center;
    border: dashed 0.125rem var(--theme-border-dash);
    user-select: none;
}

.member-item-add:hover[b-geo0n070lu] {
    border-color: var(--theme-color);
}

.member-item-add > i[b-geo0n070lu] {
    margin-right: 0.5rem;
}

.back-row[b-geo0n070lu] {
    margin-top: 1.2rem;
}

.doc-modal[b-geo0n070lu] {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.modal-actions[b-geo0n070lu] {
    display: flex;
    justify-content: flex-end;
    gap: 0.5rem;
}

@media (max-width: 480px) {
    .row-tail[b-geo0n070lu] {
        gap: 0.4rem;
    }
}
/* /Components/Pages/Labor/MySalary.razor.rz.scp.css */
.salary-page[b-9q15qmhi55] {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 0.4rem;
    width: 100%;
    max-width: 44rem;
}

.section-title[b-9q15qmhi55] {
    margin: 1.2rem 0 0.2rem;
    font-size: 1.05rem;
}

.guide[b-9q15qmhi55] {
    margin: 0 0 0.3rem;
    line-height: 160%;
    font-size: 0.95rem;
    color: var(--theme-ink-ii);
}

.org-picker[b-9q15qmhi55] {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    margin-bottom: 0.4rem;
}

.org-picker .picker-label[b-9q15qmhi55] {
    font-weight: 600;
    white-space: nowrap;
}

.org-picker[b-9q15qmhi55]  .input-select {
    flex: 1;
    min-width: 0;
}

/* 실시간 월급 히어로는 SalaryHeroBar 공용 컴포넌트(스코프드 CSS 포함)가 담당 — 2026-07-11 개요 패널과 UI 통일 */

.row-list[b-9q15qmhi55] {
    display: flex;
    flex-direction: column;
    gap: 0.3rem;
    margin-top: 0.3rem;
}

.setting-row[b-9q15qmhi55] {
    background: var(--theme-surface);
    border-radius: var(--theme-radius);
    padding: 0.3rem 1rem;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.setting-row.deduct .amount[b-9q15qmhi55] {
    color: var(--theme-color-critical);
}

/* 실수령 합계 행 (지금까지 적립 — 구 히어로 "세후" 숫자의 자리) */
.setting-row.total-row[b-9q15qmhi55] {
    background: var(--theme-selected-bg);
}

.setting-row.total-row .amount b[b-9q15qmhi55] {
    font-size: 1.05rem;
}

/* 정보·이력 행 흐림 — opacity 금지: AreHelp 모달 DOM이 행 안에 있어 모달까지 투명해진다 (색상으로만 흐리게) */
.setting-row.info-line[b-9q15qmhi55] {
    color: var(--theme-ink-ii);
}

.setting-row.history[b-9q15qmhi55] {
    color: var(--theme-ink-ii);
}

.setting-row.history.clickable[b-9q15qmhi55] {
    cursor: pointer;
    transition: background 0.15s;
}

.setting-row.history.clickable:hover[b-9q15qmhi55] {
    background: var(--theme-surface-hover);
    color: var(--theme-ink);
}

.row-name[b-9q15qmhi55] {
    font-weight: 500;
}

.row-tail[b-9q15qmhi55] {
    margin-left: auto;
    display: flex;
    align-items: center;
    gap: 0.6rem;
}

.amount[b-9q15qmhi55] {
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}

/* 원천징수 비율 — AreSelect(체크스위치) + (?) 한 줄 묶음 */
.wh-rate[b-9q15qmhi55] {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    flex-wrap: wrap;
}

.badge[b-9q15qmhi55] {
    font-size: 0.85rem;
    padding: 0 0.6rem;
    border-radius: var(--theme-radius-small);
    background: var(--theme-badge-bg);
    line-height: 180%;
    white-space: nowrap;
}

.badge.lv-신청[b-9q15qmhi55] {
    background: var(--theme-color-critical);
    color: var(--theme-color-critical-ink);
}

.badge.lv-승인[b-9q15qmhi55] {
    background: var(--theme-color);
    color: var(--theme-color-ink);
}

.dim[b-9q15qmhi55] {
    font-size: 0.85rem;
    color: var(--theme-ink-ii);
}

/* 연차 신청 폼 */
.leave-form[b-9q15qmhi55] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem;
    width: 100%;
}

.leave-form input[type="date"][b-9q15qmhi55] {
    flex: 0 0 auto;
}

.leave-form .reason-input[b-9q15qmhi55] {
    flex: 1 1 10rem;
    min-width: 0;
}

.leave-form[b-9q15qmhi55]  .input-select {
    flex: 0 0 11rem;
}

/* 원천징수 줄 */
.withholding-row label[b-9q15qmhi55] {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    font-size: 0.9rem;
    color: var(--theme-ink-ii);
    white-space: nowrap;
}

.withholding-row input[type="number"][b-9q15qmhi55] {
    width: 4.2rem;
    text-align: center;
}

.small-button[b-9q15qmhi55] {
    font-size: 0.85rem;
    line-height: 190%;
    padding: 0.17rem 0.8rem;
    white-space: nowrap;
}

.small-button.primary[b-9q15qmhi55] {
    background: var(--theme-color);
    color: var(--theme-color-ink);
}

.error-message[b-9q15qmhi55] {
    margin: 0.3rem 0 0;
    font-size: 0.9rem;
    color: var(--theme-color-critical);
}

.member-item-add[b-9q15qmhi55] {
    background: var(--theme-surface);
    border-radius: var(--theme-radius);
    padding: 0.4rem 1rem;
    cursor: pointer;
    transition: all 0.2s;
    display: flex;
    justify-content: center;
    align-items: center;
    border: dashed 0.125rem var(--theme-border-dash);
    user-select: none;
}

.member-item-add:hover[b-9q15qmhi55] {
    border-color: var(--theme-color);
}

.member-item-add > i[b-9q15qmhi55] {
    margin-right: 0.5rem;
}

.back-row[b-9q15qmhi55] {
    margin-top: 1.2rem;
}

/* (?) 모달 · 명세 모달 */
.help-modal[b-9q15qmhi55] {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    width: min(90vw, 34rem);
    padding: 0.2rem;
}

.help-title[b-9q15qmhi55] {
    font-size: 1.05rem;
    font-weight: 600;
}

.help-label[b-9q15qmhi55] {
    font-size: 0.85rem;
    color: var(--theme-ink-ii);
}

.help-box[b-9q15qmhi55] {
    background: var(--theme-surface-card);
    border-radius: var(--theme-radius-small);
    padding: 0.5rem 0.7rem;
    white-space: pre-wrap;
    word-break: break-word;
    line-height: 155%;
    font-size: 0.92rem;
}

.stmt-list[b-9q15qmhi55] {
    max-height: 45vh;
    overflow-y: auto;
}

.doc-modal[b-9q15qmhi55] {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.modal-actions[b-9q15qmhi55] {
    display: flex;
    justify-content: flex-end;
    gap: 0.5rem;
}

@media (max-width: 480px) {
    .withholding-row[b-9q15qmhi55] {
        gap: 0.4rem;
    }

    .row-tail[b-9q15qmhi55] {
        gap: 0.4rem;
    }
}
/* /Components/Pages/Labor/OrgContracts.razor.rz.scp.css */
.contracts-admin-page[b-niqnvyrquj] {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 0.4rem;
    width: 100%;
    max-width: 44rem;
}

.guide[b-niqnvyrquj] {
    margin: 0 0 0.3rem;
    line-height: 160%;
    font-size: 0.95rem;
    color: var(--theme-ink-ii);
}

.org-picker[b-niqnvyrquj] {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    margin-bottom: 0.4rem;
}

.org-picker .picker-label[b-niqnvyrquj] {
    font-weight: 600;
    white-space: nowrap;
}

.org-picker[b-niqnvyrquj]  .input-select {
    flex: 1;
    min-width: 0;
}

.row-list[b-niqnvyrquj] {
    display: flex;
    flex-direction: column;
    gap: 0.3rem;
    margin-top: 0.3rem;
}

.setting-row[b-niqnvyrquj] {
    background: var(--theme-surface);
    border-radius: var(--theme-radius);
    padding: 0.3rem 1rem;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.5rem;
}

/* 이력 행 흐림 — opacity 대신 색상 (AreHelp 모달 투명 상속 방지) */
.setting-row.history[b-niqnvyrquj] {
    color: var(--theme-ink-ii);
}

/* 행 클릭 = 계약서 열기 (디자인 관례 호버) */
.setting-row.clickable[b-niqnvyrquj] {
    cursor: pointer;
    transition: background 0.15s;
    user-select: none;
}

.setting-row.clickable:hover[b-niqnvyrquj] {
    background: var(--theme-surface-hover);
}

/* 미계약 구성원 — 점선 카드, 클릭=계약 제시 (점선 추가 버튼 관례) */
.setting-row.contract-none[b-niqnvyrquj] {
    cursor: pointer;
    border: dashed 0.125rem var(--theme-border-dash);
    background: var(--theme-surface-dim);
    transition: border-color 0.2s;
    user-select: none;
}

.setting-row.contract-none:hover[b-niqnvyrquj] {
    border-color: var(--theme-color);
}

.setting-row.contract-none > i[b-niqnvyrquj] {
    color: var(--theme-ink-ii);
}

.chevron-hint[b-niqnvyrquj] {
    color: var(--theme-ink-ii);
    font-size: 0.8rem;
}

/* 계약 행: 날짜·급여를 오른쪽으로 밀어 정렬 (셰브런은 바로 뒤) */
.contract-meta[b-niqnvyrquj] {
    margin-left: auto;
    text-align: right;
    white-space: nowrap;
}

/* 날짜·급여가 오른쪽으로 갔으니 셰브런은 자동 마진 해제 */
.setting-row .contract-meta + .row-tail[b-niqnvyrquj] {
    margin-left: 0.6rem;
}

.row-name[b-niqnvyrquj] {
    font-weight: 500;
}

.row-tail[b-niqnvyrquj] {
    margin-left: auto;
    display: flex;
    align-items: center;
    gap: 0.6rem;
}

.badge[b-niqnvyrquj] {
    font-size: 0.85rem;
    padding: 0 0.6rem;
    border-radius: var(--theme-radius-small);
    background: var(--theme-badge-bg);
    line-height: 180%;
    white-space: nowrap;
}

.badge.on[b-niqnvyrquj] {
    background: var(--theme-color);
    color: var(--theme-color-ink);
}

.badge.pending[b-niqnvyrquj] {
    background: var(--theme-color-critical);
    color: var(--theme-color-critical-ink);
}

.dim[b-niqnvyrquj] {
    font-size: 0.85rem;
    color: var(--theme-ink-ii);
}

.history-fold summary[b-niqnvyrquj] {
    cursor: pointer;
    padding: 0.3rem 0;
}

.inline-label[b-niqnvyrquj] {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    font-size: 0.9rem;
    color: var(--theme-ink-ii);
    white-space: nowrap;
}

.inline-label input[type="number"][b-niqnvyrquj] {
    width: 5.2rem;
    text-align: center;
}

.small-button[b-niqnvyrquj] {
    font-size: 0.85rem;
    line-height: 190%;
    padding: 0.17rem 0.8rem;
    white-space: nowrap;
}

.small-button.primary[b-niqnvyrquj] {
    background: var(--theme-color);
    color: var(--theme-color-ink);
}

.error-message[b-niqnvyrquj] {
    margin: 0.3rem 0 0;
    font-size: 0.9rem;
    color: var(--theme-color-critical);
}

.member-item-add[b-niqnvyrquj] {
    background: var(--theme-surface);
    border-radius: var(--theme-radius);
    padding: 0.4rem 1rem;
    cursor: pointer;
    transition: all 0.2s;
    display: flex;
    justify-content: center;
    align-items: center;
    border: dashed 0.125rem var(--theme-border-dash);
    user-select: none;
}

.member-item-add:hover[b-niqnvyrquj] {
    border-color: var(--theme-color);
}

.member-item-add > i[b-niqnvyrquj] {
    margin-right: 0.5rem;
}

.back-row[b-niqnvyrquj] {
    margin-top: 1.2rem;
}

/* ---------- 계약 제시 모달 ---------- */
.present-modal[b-niqnvyrquj] {
    display: flex;
    flex-direction: column;
    gap: 0.6rem;
    width: min(92vw, 42rem);
    max-height: 78vh;
    overflow-y: auto;
    overscroll-behavior: contain; /* 끝까지 스크롤해도 부모 페이지로 전파 안 됨 */
    padding: 0.2rem;
    /* 스크롤바를 모달 가장자리로 — modal-box 패딩(1rem)을 파고들고 내용 간격은 패딩으로 복원 */
    margin-right: -0.9rem;
    padding-right: 0.8rem;
}

.modal-title[b-niqnvyrquj] {
    font-size: 1.05rem;
    font-weight: 600;
}

.modal-sub[b-niqnvyrquj] {
    margin-top: 0.4rem;
    font-weight: 600;
    font-size: 0.95rem;
}

.form-grid[b-niqnvyrquj] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem 0.8rem;
    align-items: center;
}

.form-grid > label[b-niqnvyrquj] {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    font-size: 0.9rem;
    color: var(--theme-ink-ii);
    white-space: nowrap;
}

/* 한 줄 안에서 남는 폭을 차지하는 필드 (주휴일 드롭다운) */
.form-grid > label.grow[b-niqnvyrquj] {
    flex: 1;
    min-width: 12rem;
}

.form-grid > label.grow[b-niqnvyrquj]  .input-select {
    flex: 1;
    min-width: 0;
}

.form-grid input[type="number"][b-niqnvyrquj] {
    width: 4.5rem;
    text-align: center;
}

/* 근무표·항목 선택 행 */
.workdays[b-niqnvyrquj],
.item-picks[b-niqnvyrquj] {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
}

.workday-row[b-niqnvyrquj] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem;
    background: var(--theme-surface);
    border-radius: var(--theme-radius-small);
    padding: 0.25rem 0.7rem;
}

/* 체크 안 된 행 흐림 — opacity 금지: AreHelp 모달 DOM이 행 안에 있어 모달까지 투명해진다 (색상으로만 흐리게) */
.workday-row.off[b-niqnvyrquj] {
    background: var(--theme-surface-dim);
}

.workday-row.off .dow-toggle[b-niqnvyrquj],
.workday-row.off .item-toggle[b-niqnvyrquj] {
    color: var(--theme-ink-ii);
    font-weight: 400;
}

/* 근무일 요일 스위치 — 요일 라벨 폭을 고정해 시간칸 정렬 유지 */
.dow-toggle[b-niqnvyrquj] {
    display: inline-flex;
    align-items: center;
    min-width: 5.4rem;
    font-weight: 600;
}

/* 임금 항목·특약 선택 스위치 — 이름 폭을 고정해 뒤 입력칸 정렬 유지 */
.item-toggle[b-niqnvyrquj] {
    display: inline-flex;
    align-items: center;
    min-width: 11rem;
    font-weight: 600;
}

/* 제시 모달 추가 임금 — 금액 입력부만 행 오른쪽 끝으로 */
.extra-amount[b-niqnvyrquj] {
    margin-left: auto;
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.workday-row input[type="number"][b-niqnvyrquj] {
    width: 6rem;
    text-align: right;
}

.clause-pick[b-niqnvyrquj] {
    min-width: 0;
    font-weight: 500;
    padding: 0.15rem 0.3rem;
}

.field-label[b-niqnvyrquj] {
    font-size: 0.9rem;
    color: var(--theme-ink-ii);
    white-space: nowrap;
}

/* AreInputNumber(콤마 자동) — 폼 안에서 과대 확장 방지 */
.form-grid[b-niqnvyrquj]  .input-with-unit,
.inline-label[b-niqnvyrquj]  .input-with-unit,
.workday-row[b-niqnvyrquj]  .input-with-unit {
    flex: 0 0 auto;
    width: auto;
}

.form-grid[b-niqnvyrquj]  .input-with-unit input,
.inline-label[b-niqnvyrquj]  .input-with-unit input,
.workday-row[b-niqnvyrquj]  .input-with-unit input {
    width: 9rem;
    text-align: right;
}

/* 제시 모달 소제목 줄 — (!)·오류 문구가 옆에 붙을 수 있게 */
.present-modal .modal-sub[b-niqnvyrquj] {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    flex-wrap: wrap;
}

/* 임금 자동 계산 패널 — 근무표에서 법대로 산출된 공식·금액 (읽기 전용, 숫자 대입 공식 표기) */
.calc-panel[b-niqnvyrquj] {
    display: flex;
    flex-direction: column;
    gap: 0.55rem;
    background: var(--theme-surface);
    border-radius: var(--theme-radius);
    padding: 0.7rem 1rem;
}

.calc-panel.invalid[b-niqnvyrquj] {
    outline: 0.125rem solid var(--theme-color-critical);
}

.calc-item[b-niqnvyrquj] {
    display: flex;
    flex-direction: column;
    gap: 0.1rem;
}

.calc-name[b-niqnvyrquj] {
    display: flex;
    align-items: baseline;
    gap: 0.45rem;
    flex-wrap: wrap;
    font-size: 0.92rem;
    font-weight: 600;
}

.calc-law[b-niqnvyrquj] {
    font-weight: 400;
    font-size: 0.82rem;
    color: var(--theme-ink-ii);
}

/* 숫자가 대입된 공식 줄 — 결과(<b>)만 진하게 */
.calc-formula[b-niqnvyrquj] {
    padding-left: 1rem;
    font-size: 0.92rem;
    line-height: 150%;
    color: var(--theme-ink-ii);
    word-break: keep-all;
}

.calc-formula b[b-niqnvyrquj] {
    color: var(--theme-ink);
}

.calc-item.strong .calc-formula b[b-niqnvyrquj] {
    font-size: 1.02rem;
}

.calc-item.muted .calc-name[b-niqnvyrquj] {
    font-weight: 400;
    color: var(--theme-ink-ii);
}

.calc-item.grand[b-niqnvyrquj] {
    border-top: 1px solid var(--theme-divider);
    padding-top: 0.45rem;
    margin-top: 0.05rem;
}

.calc-item.grand .calc-name[b-niqnvyrquj] {
    font-size: 1rem;
}

.calc-item.grand .calc-formula b[b-niqnvyrquj] {
    font-size: 1.08rem;
    font-weight: 700;
}

/* 법 위반 요약 문구 — 빨강 (!) 옆 */
.calc-error[b-niqnvyrquj] {
    font-size: 0.88rem;
    font-weight: 600;
    color: var(--theme-color-critical);
}

.doc-modal[b-niqnvyrquj] {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.modal-actions[b-niqnvyrquj] {
    display: flex;
    justify-content: flex-end;
    gap: 0.5rem;
}

@media (max-width: 480px) {
    .workday-row input[type="time"][b-niqnvyrquj] {
        flex: 1 1 6rem;
    }
}
/* /Components/Pages/Labor/OrgPayroll.razor.rz.scp.css */
.payroll-page[b-x5hf0yvq9p] {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 0.4rem;
    width: 100%;
    max-width: 44rem;
}

.guide[b-x5hf0yvq9p] {
    margin: 0 0 0.3rem;
    line-height: 160%;
    font-size: 0.95rem;
    color: var(--theme-ink-ii);
}

.guide i[b-x5hf0yvq9p] {
    margin: 0 0.15rem;
}

.org-picker[b-x5hf0yvq9p] {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    margin-bottom: 0.4rem;
}

.org-picker .picker-label[b-x5hf0yvq9p] {
    font-weight: 600;
    white-space: nowrap;
}

.org-picker[b-x5hf0yvq9p]  .input-select {
    flex: 1;
    min-width: 0;
}

.row-list[b-x5hf0yvq9p] {
    display: flex;
    flex-direction: column;
    gap: 0.3rem;
    margin-top: 0.3rem;
}

.payee-group[b-x5hf0yvq9p] {
    display: flex;
    flex-direction: column;
    gap: 0.3rem;
}

.setting-row[b-x5hf0yvq9p] {
    background: var(--theme-surface);
    border-radius: var(--theme-radius);
    padding: 0.3rem 1rem;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.setting-row.clickable[b-x5hf0yvq9p] {
    cursor: pointer;
    transition: background 0.15s;
    user-select: none;
}

.setting-row.clickable:hover[b-x5hf0yvq9p] {
    background: var(--theme-surface-hover);
}

.row-name[b-x5hf0yvq9p] {
    font-weight: 500;
}

.row-tail[b-x5hf0yvq9p] {
    margin-left: auto;
    display: flex;
    align-items: center;
    gap: 0.6rem;
}

.badge[b-x5hf0yvq9p] {
    font-size: 0.85rem;
    padding: 0 0.6rem;
    border-radius: var(--theme-radius-small);
    background: var(--theme-badge-bg);
    line-height: 180%;
    white-space: nowrap;
}

.badge.pending[b-x5hf0yvq9p] {
    background: var(--theme-color-critical);
    color: var(--theme-color-critical-ink);
}

.dim[b-x5hf0yvq9p] {
    font-size: 0.85rem;
    color: var(--theme-ink-ii);
}

.chevron-hint[b-x5hf0yvq9p] {
    color: var(--theme-ink-ii);
    font-size: 0.8rem;
}

/* 지난 지급내역 아이콘 버튼 — 행 안의 무테 아이콘 (클릭=스냅샷 페이지 이동) */
.icon-button[b-x5hf0yvq9p] {
    background: none;
    border: 0;
    padding: 0.1rem 0.35rem;
    cursor: pointer;
    color: var(--theme-ink-ii);
    font-size: 1rem;
    line-height: 1;
    transition: color 0.15s;
}

.icon-button:hover[b-x5hf0yvq9p] {
    color: var(--theme-color);
}

/* 폴드 — 구성원 행 아래 미지급 기간 건별 목록 (들여쓰기) */
.fold-body[b-x5hf0yvq9p] {
    display: flex;
    flex-direction: column;
    gap: 0.3rem;
    margin-left: 1.2rem;
}

/* 미지급 기간 행 — 점선 처리 대기 카드 관례 (클릭=계산 근거 모달) */
.period-row[b-x5hf0yvq9p] {
    border: dashed 0.125rem var(--theme-border-dash);
    background: var(--theme-surface-dim);
    border-radius: var(--theme-radius);
    padding: 0.3rem 1rem;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.period-row.clickable[b-x5hf0yvq9p] {
    cursor: pointer;
    transition: border-color 0.2s;
    user-select: none;
}

.period-row.clickable:hover[b-x5hf0yvq9p] {
    border-color: var(--theme-color);
}

.amount[b-x5hf0yvq9p] {
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}

.empty-note[b-x5hf0yvq9p] {
    padding: 0.3rem 0.2rem;
}

.small-button[b-x5hf0yvq9p] {
    font-size: 0.85rem;
    line-height: 190%;
    padding: 0.17rem 0.8rem;
    white-space: nowrap;
}

.small-button.primary[b-x5hf0yvq9p] {
    background: var(--theme-color);
    color: var(--theme-color-ink);
}

.error-message[b-x5hf0yvq9p] {
    margin: 0.3rem 0 0;
    font-size: 0.9rem;
    color: var(--theme-color-critical);
}

.member-item-add[b-x5hf0yvq9p] {
    background: var(--theme-surface);
    border-radius: var(--theme-radius);
    padding: 0.4rem 1rem;
    cursor: pointer;
    transition: all 0.2s;
    display: flex;
    justify-content: center;
    align-items: center;
    border: dashed 0.125rem var(--theme-border-dash);
    user-select: none;
}

.member-item-add:hover[b-x5hf0yvq9p] {
    border-color: var(--theme-color);
}

.member-item-add > i[b-x5hf0yvq9p] {
    margin-right: 0.5rem;
}

.back-row[b-x5hf0yvq9p] {
    margin-top: 1.2rem;
}

/* 기간 내역 모달 (미지급 건 계산 근거) */
.detail-modal[b-x5hf0yvq9p] {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    width: min(90vw, 34rem);
    padding: 0.2rem;
}

.detail-title[b-x5hf0yvq9p] {
    font-size: 1.05rem;
    font-weight: 600;
}

.detail-list[b-x5hf0yvq9p] {
    display: flex;
    flex-direction: column;
    gap: 0.3rem;
    max-height: 50vh;
    overflow-y: auto;
    overscroll-behavior: contain;
}

.detail-row[b-x5hf0yvq9p] {
    background: var(--theme-surface);
    border-radius: var(--theme-radius);
    padding: 0.3rem 1rem;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.detail-row.deduct .amount[b-x5hf0yvq9p] {
    color: var(--theme-color-critical);
}

.detail-row.info-line[b-x5hf0yvq9p] {
    color: var(--theme-ink-ii);
}

.detail-row.total .amount b[b-x5hf0yvq9p] {
    font-size: 1.05rem;
}

.detail-row .tail[b-x5hf0yvq9p] {
    margin-left: auto;
    white-space: nowrap;
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.help-label[b-x5hf0yvq9p] {
    font-size: 0.85rem;
    color: var(--theme-ink-ii);
}

.help-box[b-x5hf0yvq9p] {
    background: var(--theme-surface-card);
    border-radius: var(--theme-radius-small);
    padding: 0.5rem 0.7rem;
    white-space: pre-wrap;
    word-break: break-word;
    line-height: 155%;
    font-size: 0.92rem;
}

.modal-actions[b-x5hf0yvq9p] {
    display: flex;
    justify-content: flex-end;
    gap: 0.5rem;
}

@media (max-width: 480px) {
    .period-row .row-tail[b-x5hf0yvq9p] {
        margin-left: 0;
        width: 100%;
        justify-content: flex-end;
    }
}
/* /Components/Pages/Labor/OrgPayrollHistory.razor.rz.scp.css */
.payhist-page[b-x27r009dkd] {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 0.4rem;
    width: 100%;
    max-width: 44rem;
}

.guide[b-x27r009dkd] {
    margin: 0 0 0.3rem;
    line-height: 160%;
    font-size: 0.95rem;
    color: var(--theme-ink-ii);
}

.row-card[b-x27r009dkd] {
    background: var(--theme-surface-card);
    box-shadow: var(--theme-card-shadow);
    border-radius: var(--theme-radius);
    padding: 0.4rem 1rem;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.5rem;
    box-sizing: border-box;
    width: 100%;
}

.row-card.clickable[b-x27r009dkd] {
    cursor: pointer;
    transition: background 0.15s;
    user-select: none;
}

.row-card.clickable:hover[b-x27r009dkd] {
    background: var(--theme-surface-hover);
}

/* 지급 이력 — 색으로만 흐리게 (opacity 금지 — 모달 상속) */
.row-card.history[b-x27r009dkd] {
    color: var(--theme-ink-ii);
}

.badge[b-x27r009dkd] {
    font-size: 0.85rem;
    padding: 0 0.6rem;
    border-radius: var(--theme-radius-small);
    background: var(--theme-badge-bg);
    line-height: 180%;
    white-space: nowrap;
}

.badge.paid[b-x27r009dkd] {
    background: var(--theme-color);
    color: var(--theme-color-ink);
}

.name[b-x27r009dkd] {
    font-weight: 600;
    white-space: nowrap;
    color: var(--theme-ink);
}

.dim[b-x27r009dkd] {
    font-size: 0.85rem;
    color: var(--theme-ink-ii);
}

.tail[b-x27r009dkd] {
    margin-left: auto;
    white-space: nowrap;
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.amount[b-x27r009dkd] {
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}

.chevron-hint[b-x27r009dkd] {
    font-size: 0.8rem;
    color: var(--theme-ink-ii);
}

.member-item-add[b-x27r009dkd] {
    background: var(--theme-surface);
    border-radius: var(--theme-radius);
    padding: 0.4rem 1rem;
    cursor: pointer;
    transition: all 0.2s;
    display: flex;
    justify-content: center;
    align-items: center;
    border: dashed 0.125rem var(--theme-border-dash);
    user-select: none;
}

.member-item-add:hover[b-x27r009dkd] {
    border-color: var(--theme-color);
}

.member-item-add > i[b-x27r009dkd] {
    margin-right: 0.5rem;
}

.back-row[b-x27r009dkd] {
    margin-top: 1.2rem;
}

/* 스냅샷 모달 */
.detail-modal[b-x27r009dkd] {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    width: min(90vw, 34rem);
    padding: 0.2rem;
}

.detail-title[b-x27r009dkd] {
    font-size: 1.05rem;
    font-weight: 600;
}

.detail-list[b-x27r009dkd] {
    display: flex;
    flex-direction: column;
    gap: 0.3rem;
    max-height: 50vh;
    overflow-y: auto;
    overscroll-behavior: contain;
}

.detail-row[b-x27r009dkd] {
    background: var(--theme-surface);
    border-radius: var(--theme-radius);
    padding: 0.3rem 1rem;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.detail-row.deduct .amount[b-x27r009dkd] {
    color: var(--theme-color-critical);
}

.detail-row.info-line[b-x27r009dkd] {
    color: var(--theme-ink-ii);
}

.detail-row.total .amount b[b-x27r009dkd] {
    font-size: 1.05rem;
}

.row-name[b-x27r009dkd] {
    font-weight: 500;
}

.help-label[b-x27r009dkd] {
    font-size: 0.85rem;
    color: var(--theme-ink-ii);
}

.help-box[b-x27r009dkd] {
    background: var(--theme-surface-card);
    border-radius: var(--theme-radius-small);
    padding: 0.5rem 0.7rem;
    white-space: pre-wrap;
    word-break: break-word;
    line-height: 155%;
    font-size: 0.92rem;
}

.small-button[b-x27r009dkd] {
    font-size: 0.85rem;
    line-height: 190%;
    padding: 0.17rem 0.8rem;
    white-space: nowrap;
}

.modal-actions[b-x27r009dkd] {
    display: flex;
    justify-content: flex-end;
    gap: 0.5rem;
}

@media (max-width: 480px) {
    .tail[b-x27r009dkd] {
        margin-left: 0;
        width: 100%;
        justify-content: flex-end;
    }
}
/* /Components/Pages/Labor/SalaryHeroBar.razor.rz.scp.css */
/* 적립 히어로 바 — 내 조직 개요·내 월급 공용 (MySalaryPanel에서 추출, 2026-07-11 UI 통일) */
.hero-card[b-vll9kxptfr] {
    background: var(--theme-selected-bg);
    border-radius: var(--theme-radius);
    padding: 0.8rem 1rem;
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
    margin-bottom: 0.4rem;
}

.hero-card.clickable[b-vll9kxptfr] {
    cursor: pointer;
    transition: background 0.15s;
    user-select: none;
}

.hero-card.clickable:hover[b-vll9kxptfr] {
    background: var(--theme-selected-bg-strong);
}

.hero-label[b-vll9kxptfr] {
    font-size: 0.9rem;
    color: var(--theme-ink-ii);
    display: flex;
    align-items: center;
    gap: 0.3rem;
    flex-wrap: wrap;
}

/* ---------- 적립 바 그래프 (100% = 이번 달 예상 월급) ----------
   동일 내용 레이어 3장을 겹치고 clip-path로 잘라 채워진 구간의 글자를 반전:
   rest(트랙·잉크색) / base(테마색 채움·반전 잉크) / bounty(강조색 세그먼트·반전 잉크) */
.hero-bar[b-vll9kxptfr] {
    position: relative;
    border-radius: var(--theme-radius-small);
    overflow: hidden;
    background: var(--theme-badge-bg);
    user-select: none;
}

.bar-layer[b-vll9kxptfr] {
    padding: 0.55rem 0.9rem;
}

.bar-layer + .bar-layer[b-vll9kxptfr] {
    position: absolute;
    inset: 0;
    pointer-events: none;
}

.bar-rest[b-vll9kxptfr] {
    color: var(--theme-ink);
}

.bar-base[b-vll9kxptfr] {
    background: var(--theme-color);
    color: var(--theme-color-ink);
}

.bar-bounty[b-vll9kxptfr] {
    background: var(--theme-color-critical);
    color: var(--theme-color-critical-ink);
}

/* 바 안 금액 텍스트 — 레이어 3장이 같은 좌표에 겹치도록 줄바꿈 금지 (좁으면 폰트 축소) */
.bar-text[b-vll9kxptfr] {
    display: flex;
    align-items: baseline;
    gap: 0.45rem;
    white-space: nowrap;
    font-size: clamp(0.95rem, 3.6vw, 1.25rem);
    font-weight: 700;
    line-height: 135%;
    font-variant-numeric: tabular-nums;
}

.bar-text .won[b-vll9kxptfr] {
    font-size: 0.8em;
    font-weight: 500;
}

.bar-text .op[b-vll9kxptfr] {
    font-weight: 500;
    font-size: 0.85em;
}

.bar-text .bounty-amt i[b-vll9kxptfr] {
    margin-right: 0.25rem;
    font-size: 0.85em;
}

.bar-text .total[b-vll9kxptfr] {
    font-size: 1.12em;
}

.hero-sub[b-vll9kxptfr] {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    flex-wrap: wrap;
    font-size: 0.85rem;
    color: var(--theme-ink-ii);
}

/* 보조줄 현상금 아이콘 — 바의 현상금 세그먼트와 같은 강조색 */
.hero-sub .bounty-ico[b-vll9kxptfr] {
    color: var(--theme-color-critical);
}

.hero-sub .chevron-hint[b-vll9kxptfr] {
    margin-left: auto;
    font-size: 0.8rem;
    color: var(--theme-ink-ii);
}

/* 100% 초과 (현상금 덕) — 멋진 달성 테두리 글로우 + 배지 */
.hero-card.over[b-vll9kxptfr] {
    border: solid 0.125rem var(--theme-color-critical);
    animation: hero-over-glow-b-vll9kxptfr 1.5s ease-in-out infinite alternate;
}

@keyframes hero-over-glow-b-vll9kxptfr {
    from { box-shadow: 0 0 0.2rem rgba(var(--theme-color-critical-rgb), 0.25); }
    to { box-shadow: 0 0 1rem rgba(var(--theme-color-critical-rgb), 0.6); }
}

.over-chip[b-vll9kxptfr] {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    padding: 0 0.55rem;
    border-radius: var(--theme-radius-small);
    background: var(--theme-color-critical);
    color: var(--theme-color-critical-ink);
    font-weight: 600;
    font-size: 0.85rem;
    line-height: 180%;
}
/* /Components/Pages/News/News.razor.rz.scp.css */
.news-page[b-3l95t743hx] {
    display: flex;
    flex-direction: column;
    gap: 0.6rem;
    width: 100%;
    max-width: 44rem;
}

.news-tools[b-3l95t743hx] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.news-tools .search-input[b-3l95t743hx] {
    flex: 1;
    min-width: 0;
}

/* 뉴스 행 — 안읽음=굵게+테마색 점 / 읽음=색으로만 흐리게 (opacity 금지 관례) */
.news-row[b-3l95t743hx] {
    background: var(--theme-surface-card);
    box-shadow: var(--theme-card-shadow);
    border-radius: var(--theme-radius);
    padding: 0.55rem 0.9rem;
    display: flex;
    align-items: flex-start;
    gap: 0.6rem;
    margin-bottom: 0.4rem;
}

.news-row.clickable[b-3l95t743hx] {
    cursor: pointer;
    transition: background 0.15s;
    user-select: none;
}

.news-row.clickable:hover[b-3l95t743hx] {
    background: var(--theme-surface-hover);
}

.news-row .dot[b-3l95t743hx] {
    flex: none;
    width: 0.55rem;
    height: 0.55rem;
    border-radius: 100%;
    margin-top: 0.5rem;
    background: var(--theme-color);
    box-shadow: 0 0 0.4rem rgba(var(--theme-color-rgb), 0.6);
}

.news-row.read .dot[b-3l95t743hx] {
    background: var(--theme-divider);
    box-shadow: none;
}

.news-row.read[b-3l95t743hx] {
    color: var(--theme-ink-ii);
}

.news-row.unread .news-title[b-3l95t743hx] {
    font-weight: 700;
}

.kind-badge[b-3l95t743hx] {
    flex: none;
    font-size: 0.8rem;
    padding: 0 0.5rem;
    border-radius: var(--theme-radius-small);
    background: var(--theme-badge-bg);
    line-height: 180%;
    white-space: nowrap;
    margin-top: 0.15rem;
}

.news-main[b-3l95t743hx] {
    flex: 1;
    min-width: 0;
}

.news-title[b-3l95t743hx] {
    word-break: break-word;
    line-height: 145%;
}

.news-body[b-3l95t743hx] {
    font-size: 0.9rem;
    word-break: break-word;
    margin-top: 0.1rem;
}

.news-meta[b-3l95t743hx] {
    font-size: 0.8rem;
    margin-top: 0.15rem;
}

.dim[b-3l95t743hx] {
    color: var(--theme-ink-ii);
}

.chevron-hint[b-3l95t743hx] {
    flex: none;
    font-size: 0.8rem;
    color: var(--theme-ink-ii);
    margin-top: 0.4rem;
}

.small-button[b-3l95t743hx] {
    font-size: 0.85rem;
    line-height: 190%;
    padding: 0.17rem 0.8rem;
    white-space: nowrap;
}

.member-item-add[b-3l95t743hx] {
    background: var(--theme-surface);
    border-radius: var(--theme-radius);
    padding: 0.4rem 1rem;
    cursor: pointer;
    transition: all 0.2s;
    display: flex;
    justify-content: center;
    align-items: center;
    border: dashed 0.125rem var(--theme-border-dash);
    user-select: none;
}

.member-item-add:hover[b-3l95t743hx] {
    border-color: var(--theme-color);
}

.member-item-add > i[b-3l95t743hx] {
    margin-right: 0.5rem;
}

.back-row[b-3l95t743hx] {
    margin-top: 1.2rem;
}
/* /Components/Pages/Org/BusinessRegistrations.razor.rz.scp.css */
/* 사업자등록증 관리 — 디자인 컨셉(§0·형제 Duties.razor.css) 준수:
   반투명 종이 카드 rgba(paper,0.4) + var(--theme-radius), 브랜드색 hover/포커스, 배지=radius-small.
   수치 하드코딩 금지(radius/색은 전부 테마 변수). */

.biz-page[b-euopq7tkjv] {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 0.5rem;
    width: 100%;
    max-width: 44rem;
}

/* 조직 선택기 */
.org-picker[b-euopq7tkjv] {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    margin-bottom: 0.4rem;
}

.org-picker .picker-label[b-euopq7tkjv] {
    font-weight: 600;
    white-space: nowrap;
}

.org-picker[b-euopq7tkjv]  .input-select {
    flex: 1;
    min-width: 0;
}

/* 검색 박스 (추가 버튼 위) — 홈 검색바 톤: 반투명 종이 + 회색 테두리, 포커스 시 브랜드색 */
.biz-search[b-euopq7tkjv] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0 1rem;
    margin-bottom: 0.5rem;
    background: var(--theme-surface-card);
    box-shadow: var(--theme-card-shadow);
    border: 0.125rem solid transparent;
    border-radius: var(--theme-radius);
    transition: border-color 0.2s;
}

/* hover·포커스 = 브랜드색 테두리 (배경 아님) */
.biz-search:hover[b-euopq7tkjv],
.biz-search:focus-within[b-euopq7tkjv] {
    border-color: var(--theme-color);
}

.biz-search > i[b-euopq7tkjv] {
    color: var(--theme-ink-ii);
    flex-shrink: 0;
}

.biz-search[b-euopq7tkjv]  input {
    flex: 1;
    width: 100%;
    border: none;
    background: transparent;
    box-shadow: none;
    padding: 0.5rem 0;
    color: var(--theme-ink);
}

/* 점선 추가 버튼 (관리 화면 공통 문법 — Duties .member-item-add 미러) */
.biz-add[b-euopq7tkjv] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    padding: 0.4rem 1rem;
    margin-bottom: 0.5rem;
    background: var(--theme-surface-card);
    box-shadow: var(--theme-card-shadow);
    border: dashed 0.125rem var(--theme-border-dash);
    border-radius: var(--theme-radius);
    color: var(--theme-ink-ii);
    cursor: pointer;
    transition: border-color 0.2s;
    user-select: none;
}

.biz-add:hover[b-euopq7tkjv] {
    border-color: var(--theme-color);
}

/* 목록 카드 */
.biz-list[b-euopq7tkjv] {
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
}

.biz-item[b-euopq7tkjv] {
    display: flex;
    align-items: center;
    gap: 0.8rem;
    padding: 0.5rem 1rem;
    background: var(--theme-surface-card);
    box-shadow: var(--theme-card-shadow);
    border-radius: var(--theme-radius);
    border: 0.125rem solid transparent;
    cursor: pointer;
    transition: border-color 0.2s;
}

/* hover = 배경색이 아니라 브랜드색 테두리 (Orgs .org-item 컨셉) */
.biz-item:hover[b-euopq7tkjv] {
    border-color: var(--theme-color);
}

.biz-main[b-euopq7tkjv] {
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
    min-width: 0;
    flex: 1;
}

.biz-name[b-euopq7tkjv] {
    font-weight: 600;
    font-size: 1.02rem;
}

.biz-sub[b-euopq7tkjv] {
    font-size: 0.9rem;
    color: var(--theme-ink-ii);
    word-break: break-all;
}

.biz-sub.muted[b-euopq7tkjv] {
    opacity: 0.85;
}

/* 카드 연결 배지 (Duties .badge 톤) */
.link-badge[b-euopq7tkjv] {
    font-size: 0.85rem;
    padding: 0 0.6rem;
    line-height: 180%;
    border-radius: var(--theme-radius-small);
    background: var(--theme-badge-bg);
    color: var(--theme-ink-ii);
    white-space: nowrap;
    flex-shrink: 0;
}

.row-chevron[b-euopq7tkjv] {
    color: var(--theme-ink-ii);
    flex-shrink: 0;
    margin-left: 0.2rem;
}

.link-note[b-euopq7tkjv] {
    color: var(--theme-ink-ii);
    font-size: 0.9rem;
    line-height: 160%;
    margin-top: 0.5rem;
}

.error-message[b-euopq7tkjv] {
    margin: 0.3rem 0 0;
    font-size: 0.9rem;
    color: var(--theme-color-critical);
}

/* 폼 모달: 높이 제한 → 필드 영역만 스크롤, 제목·버튼은 고정.
   modal-box는 AreModal이 렌더하므로 ::deep 필요 (래퍼 .biz-modal-host가 스코프 앵커) */
.biz-modal-host[b-euopq7tkjv]  .modal-box.biz-form-modal {
    display: flex;
    flex-direction: column;
    max-height: 85vh;
    max-width: 95vw;
}

.biz-form-modal .title[b-euopq7tkjv],
.biz-form-modal .button-group[b-euopq7tkjv],
.biz-form-modal .error-message[b-euopq7tkjv] {
    flex-shrink: 0;
}

/* 폼 — 넘치면 세로 스크롤 */
.biz-form[b-euopq7tkjv] {
    display: flex;
    flex-direction: column;
    gap: 0.3rem;
    width: min(90vw, 22rem);
    margin-top: 0.5rem;
    flex: 1 1 auto;
    min-height: 0;
    overflow-y: auto;
    padding-right: 0.3rem;
}

.biz-form label[b-euopq7tkjv] {
    font-weight: 600;
    font-size: 0.9rem;
    margin-top: 0.6rem;
}

.biz-form label .opt[b-euopq7tkjv] {
    font-weight: 400;
    font-size: 0.8rem;
    color: var(--theme-ink-ii);
}

/* 두 필드 한 줄 (높이 절약) */
.form-pair[b-euopq7tkjv] {
    display: flex;
    gap: 0.6rem;
}

.form-pair .form-col[b-euopq7tkjv] {
    flex: 1;
    display: flex;
    flex-direction: column;
    min-width: 0;
}

/* 개업일 date 입력 — 전역 input 문법과 동일 톤 (종이 + 브랜드 포커스) */
.date-input[b-euopq7tkjv] {
    width: 100%;
    box-sizing: border-box;
    padding: 0 1rem;
    line-height: 220%;
    border: 0.125rem solid var(--theme-paper);
    border-radius: var(--theme-radius);
    background: var(--theme-paper);
    color: var(--theme-ink);
    transition: border-color 0.2s;
}

.date-input:hover[b-euopq7tkjv],
.date-input:focus[b-euopq7tkjv] {
    border-color: var(--theme-color);
    outline: none;
}

/* 좁은 화면: 카드형 세로 배치 */
@media (max-width: 560px) {
    .biz-item[b-euopq7tkjv] {
        flex-direction: column;
        align-items: stretch;
    }

    .row-chevron[b-euopq7tkjv] {
        display: none;
    }
}
/* /Components/Pages/Org/Duties.razor.rz.scp.css */
.duties-page[b-o9h254evw5] {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 0.4rem;
    width: 100%;
    max-width: 44rem;
}

.section-title[b-o9h254evw5] {
    margin: 1.2rem 0 0.2rem;
    font-size: 1.05rem;
}

.guide[b-o9h254evw5] {
    margin: 0 0 0.3rem;
    line-height: 160%;
    font-size: 0.95rem;
    color: var(--theme-ink-ii);
}

/* 조직 선택기 (독립 메뉴 — 관리 조직이 여럿일 때) */
.org-picker[b-o9h254evw5] {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    margin-bottom: 0.4rem;
}

.org-picker .picker-label[b-o9h254evw5] {
    font-weight: 600;
    white-space: nowrap;
}

.org-picker[b-o9h254evw5]  .input-select {
    flex: 1;
    min-width: 0;
}

/* 사원 필터 배너 (?user= — 트리 [업무] 경로) */
.filter-banner[b-o9h254evw5] {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    padding: 0.4rem 1rem;
    border-radius: var(--theme-radius);
    background: var(--theme-selected-bg);
    font-size: 0.95rem;
}

/* 업무 카드 */
.duty-card[b-o9h254evw5] {
    background: var(--theme-surface);
    border-radius: var(--theme-radius);
    padding: 0.5rem 1rem 0.7rem;
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
}

/* 머리 = 접힘/펼침 토글 버튼 (눌러서 펼침) */
.duty-head[b-o9h254evw5] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.5rem;
    cursor: pointer;
    user-select: none;
}

/* 펼침 화살표 — 펼치면 90° 회전(▶ → ▼) */
.duty-chevron[b-o9h254evw5] {
    flex: 0 0 auto;
    width: 0.9rem;
    text-align: center;
    font-size: 0.8rem;
    color: var(--theme-ink-ii);
    transition: transform 0.15s ease;
}

.duty-card.expanded .duty-chevron[b-o9h254evw5] {
    transform: rotate(90deg);
}

.duty-head:hover .duty-chevron[b-o9h254evw5] {
    color: var(--theme-color);
}

.duty-title[b-o9h254evw5] {
    font-weight: 600;
}

/* 펼쳤을 때만 나오는 액션 버튼 줄 — 오른쪽 정렬 */
.duty-actions[b-o9h254evw5] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end;
    gap: 0.5rem;
}

.badge[b-o9h254evw5] {
    font-size: 0.85rem;
    padding: 0 0.6rem;
    border-radius: var(--theme-radius-small);
    background: var(--theme-badge-bg);
    line-height: 180%;
    white-space: nowrap;
}

/* 정원 충원 현황 — 미달이면 강조 */
.badge.capacity.short[b-o9h254evw5] {
    background: var(--theme-color);
    color: var(--theme-color-ink);
}

.badge.closed[b-o9h254evw5] {
    background: var(--theme-color-critical);
    color: var(--theme-color-critical-ink);
}

.duty-body[b-o9h254evw5] {
    white-space: pre-wrap;
    line-height: 150%;
    font-size: 0.95rem;
}

.duty-edit[b-o9h254evw5] {
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
}

.edit-actions[b-o9h254evw5] {
    display: flex;
    justify-content: flex-end;
    gap: 0.5rem;
}

.duty-form-row[b-o9h254evw5] {
    display: flex;
    gap: 0.5rem;
    align-items: stretch;
    width: 100%;
}

.duty-form-row > input[b-o9h254evw5] {
    flex: 1;
    min-width: 0;
}

.duty-form-row > input[type="number"][b-o9h254evw5] {
    flex: 0 0 5.5rem;
}

/* 최대인원 — 분류·업무명 오른쪽에 라벨 + 숫자칸 */
.cap-field[b-o9h254evw5] {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    flex: 0 0 auto;
    white-space: nowrap;
    font-size: 0.9rem;
    color: var(--theme-ink-ii);
}

.cap-field[b-o9h254evw5]  .input-with-unit {
    flex: 0 0 auto;
    width: auto;
}

.cap-field[b-o9h254evw5]  input {
    flex: 0 0 auto;
    width: 4.5rem;
    padding: 0 0.6rem;
    text-align: center;
}

/* 내용 편집칸 — 펼치면 항상 편집 가능한 멀티라인 (룩은 app.css input과 맞춤) */
.duty-content-input[b-o9h254evw5] {
    width: 100%;
    box-sizing: border-box;
    resize: vertical;
    font-family: 'Normal';
    font-weight: 500;
    font-size: 1.02rem;
    line-height: 150%;
    color: var(--theme-ink);
    background-color: var(--theme-paper);
    border: 2px solid var(--theme-paper);
    border-radius: var(--theme-radius);
    padding: 0.4rem 1rem;
    transition: border-color 0.2s ease;
}

.duty-content-input:hover[b-o9h254evw5],
.duty-content-input:focus[b-o9h254evw5] {
    border-color: var(--theme-color);
    outline: none;
}

.duty-content-input[b-o9h254evw5]::placeholder {
    font-weight: 300;
    font-style: italic;
}

/* 정원·할당 인라인 줄 */
.inline-row[b-o9h254evw5] {
    display: flex;
    gap: 0.5rem;
    align-items: center;
}

.inline-row > input[type="number"][b-o9h254evw5] {
    width: 5.5rem;
}

.inline-row[b-o9h254evw5]  .input-select {
    flex: 1;
    min-width: 0;
}

/* 할당 칩 — 수락 상태 표시 (⏳대기/✅수락, 대기 3일 이상 = 강조) */
.assignee-list[b-o9h254evw5] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
    align-items: center;
}

.assignee-chip[b-o9h254evw5] {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    font-size: 0.9rem;
    padding: 0.1rem 0.3rem 0.1rem 0.6rem;
    border-radius: var(--theme-radius-small);
    background: var(--theme-fill-weak);
    white-space: nowrap;
}

/* 구성원 추가 — 디자인 컨셉(점선 AreAddButton) 그대로, 크기만 칩에 맞춰 목록 맨 끝에 인라인 */
.assignee-list[b-o9h254evw5]  .add-box {
    padding: 0.1rem 0.7rem;
    font-size: 0.85rem;
    border-radius: var(--theme-radius-small);
    gap: 0.3rem;
}

/* 펼치면 드롭다운 공간 확보를 위해 한 줄 전체 사용 */
.assignee-list[b-o9h254evw5]  .add-box.open {
    flex-basis: 100%;
}

/* 직급·부서 꼬리표 — 이름 옆에 작고 흐리게 (미수락 칩에서도 색 상속으로 대비 유지) */
.chip-meta[b-o9h254evw5] {
    font-size: 0.8rem;
    opacity: 0.5;
}

/* 업무 미할당 인원 — 현재 업무 맨 아래 (읽기 전용 칩, × 없음) */
.unassigned-block[b-o9h254evw5] {
    margin-top: 0.9rem;
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
}

.unassigned-title[b-o9h254evw5] {
    font-size: 0.95rem;
    font-weight: 600;
}

.assignee-chip.plain[b-o9h254evw5] {
    padding: 0.1rem 0.6rem;
}

/* 미수락(대기) — 점선 박스 없이 바탕색 critical */
.assignee-chip.is-unaccepted[b-o9h254evw5] {
    background: var(--theme-color-critical);
    color: var(--theme-color-critical-ink);
}

.assignee-chip.is-unaccepted .chip-remove[b-o9h254evw5] {
    color: var(--theme-color-critical-ink);
}

/* 미수락 범례 — 업무 제목 옆 (critical 원 + 라벨) */
.legend-unaccepted[b-o9h254evw5] {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    font-size: 0.8rem;
    color: var(--theme-ink-ii);
    white-space: nowrap;
}

.legend-dot[b-o9h254evw5] {
    width: 0.6rem;
    height: 0.6rem;
    border-radius: 50%;
    background: var(--theme-color-critical);
    flex-shrink: 0;
}

.chip-remove[b-o9h254evw5] {
    font-size: 0.9rem;
    line-height: 150%;
    padding: 0 0.45rem;
    border-radius: var(--theme-radius-small);
}

/* 이력 목록 */
.row-list[b-o9h254evw5] {
    display: flex;
    flex-direction: column;
    gap: 0.3rem;
    margin-top: 0.3rem;
}

.setting-row[b-o9h254evw5] {
    background: var(--theme-surface);
    border-radius: var(--theme-radius);
    padding: 0.3rem 1rem;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.setting-row.history[b-o9h254evw5] {
    opacity: 0.9;
}

.setting-row.history.clickable[b-o9h254evw5] {
    cursor: pointer;
    transition: background 0.15s;
}

.setting-row.history.clickable:hover[b-o9h254evw5] {
    background: var(--theme-surface-hover);
    opacity: 1;
}

/* 이벤트 유형 배지 — 종결/제거 계열만 강조 */
.badge.event-폐지[b-o9h254evw5],
.badge.event-해제[b-o9h254evw5] {
    background: var(--theme-color-critical);
    color: var(--theme-color-critical-ink);
}

.badge.event-추가[b-o9h254evw5],
.badge.event-할당[b-o9h254evw5] {
    background: var(--theme-color);
    color: var(--theme-color-ink);
}

.row-name[b-o9h254evw5] {
    font-weight: 500;
}

.dim[b-o9h254evw5] {
    font-size: 0.85rem;
    color: var(--theme-ink-ii);
}

.row-tail[b-o9h254evw5] {
    margin-left: auto;
    display: flex;
    align-items: center;
    gap: 0.6rem;
}

/* 행 내부 작은 버튼 — 고정 규격 (모바일 터치, 높이 +20%) */
.small-button[b-o9h254evw5] {
    font-size: 0.85rem;
    line-height: 190%;
    padding: 0.17rem 0.8rem;
    white-space: nowrap;
}

.error-message[b-o9h254evw5] {
    margin: 0.3rem 0 0;
    font-size: 0.9rem;
    color: var(--theme-color-critical);
}

/* 돌아가기 — 점선 버튼 (관리 화면 공통 문법) */
.member-item-add[b-o9h254evw5] {
    background: var(--theme-surface);
    border-radius: var(--theme-radius);
    padding: 0.4rem 1rem;
    cursor: pointer;
    transition: all 0.2s;
    display: flex;
    justify-content: center;
    align-items: center;
    border: dashed 0.125rem var(--theme-border-dash);
    user-select: none;
}

.member-item-add:hover[b-o9h254evw5] {
    border-color: var(--theme-color);
}

.member-item-add > i[b-o9h254evw5] {
    margin-right: 0.5rem;
}

.back-row[b-o9h254evw5] {
    margin-top: 1.2rem;
}

/* 변경 전/후 모달 */
.event-modal[b-o9h254evw5] {
    display: flex;
    flex-direction: column;
    gap: 0.6rem;
    width: min(90vw, 40rem);
    padding: 0.2rem;
}

.event-title[b-o9h254evw5] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 1.05rem;
}

.event-title .duty-title[b-o9h254evw5] {
    font-weight: 600;
}

.event-diff[b-o9h254evw5] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.6rem;
}

.diff-label[b-o9h254evw5] {
    font-size: 0.85rem;
    color: var(--theme-ink-ii);
    margin-bottom: 0.2rem;
}

.diff-box[b-o9h254evw5] {
    background: var(--theme-surface-card);
    border-radius: var(--theme-radius-small);
    padding: 0.5rem 0.7rem;
    white-space: pre-wrap;
    word-break: break-word;
    line-height: 155%;
    font-size: 0.92rem;
    min-height: 2.5rem;
}

@media (max-width: 480px) {
    .event-diff[b-o9h254evw5] {
        grid-template-columns: 1fr;
    }

    .duty-form-row[b-o9h254evw5] {
        flex-wrap: wrap;
    }

    .duty-form-row > input[type="number"][b-o9h254evw5] {
        flex: 1 1 100%;
    }

    .row-tail[b-o9h254evw5] {
        gap: 0.4rem;
    }

    .inline-row[b-o9h254evw5] {
        flex-wrap: wrap;
    }
}

/* ---------- 수시 업무 (현상금 — 마이그레이션 60) ---------- */

/* 상태 배지 — 승인 대기(검수)만 강하게, 지급=테마색(완료 보상) */
.badge.bounty-모집[b-o9h254evw5] {
    border: dashed 0.09rem var(--theme-border-dash);
    background: transparent;
}

.badge.bounty-진행[b-o9h254evw5] {
    background: var(--theme-color);
    color: var(--theme-color-ink);
}

.badge.bounty-검수[b-o9h254evw5] {
    background: var(--theme-color-critical);
    color: var(--theme-color-critical-ink);
}

.badge.bounty-지급[b-o9h254evw5] {
    background: var(--theme-color);
    color: var(--theme-color-ink);
}

/* 현상금 금액 배지 — 숫자 고정폭 */
.badge.bounty-amount[b-o9h254evw5] {
    font-variant-numeric: tabular-nums;
    font-weight: 600;
}

/* 클레임 후 잠긴 공고 내용 (읽기 전용 박스) */
.bounty-content[b-o9h254evw5] {
    white-space: pre-wrap;
    word-break: break-word;
    line-height: 160%;
    font-size: 0.95rem;
    background: var(--theme-surface-card);
    border-radius: var(--theme-radius-small);
    padding: 0.6rem 0.8rem;
}

.bounty-meta[b-o9h254evw5] {
    padding: 0 0.2rem;
}

.small-button.primary[b-o9h254evw5] {
    background: var(--theme-color);
    color: var(--theme-color-ink);
}

.history-fold summary[b-o9h254evw5] {
    cursor: pointer;
    padding: 0.3rem 0;
    user-select: none;
}

.empty-note[b-o9h254evw5] {
    padding: 0.3rem 0.2rem;
}

/* 클레임(헌터) 행 — 상태 배지 */
.claim-row[b-o9h254evw5] {
    margin-left: 1rem;
}

.badge.claim-진행[b-o9h254evw5] {
    background: var(--theme-color);
    color: var(--theme-color-ink);
}

.badge.claim-검수[b-o9h254evw5] {
    background: var(--theme-color-critical);
    color: var(--theme-color-critical-ink);
}

.badge.claim-지급[b-o9h254evw5] {
    background: var(--theme-color);
    color: var(--theme-color-ink);
}
/* /Components/Pages/Org/Ledger.razor.rz.scp.css */
.ledger-page[b-z7pjduekva] {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 0.5rem;
    width: 100%;
    max-width: 44rem;
}

.guide[b-z7pjduekva] {
    margin: 0;
    line-height: 160%;
    font-size: 0.95rem;
    color: var(--theme-ink-ii);
}

.readonly-note > i[b-z7pjduekva] {
    margin-right: 0.3rem;
}

.org-picker[b-z7pjduekva] {
    display: flex;
    align-items: center;
    gap: 0.6rem;
}

.org-picker .picker-label[b-z7pjduekva] {
    font-weight: 600;
    white-space: nowrap;
}

.org-picker[b-z7pjduekva]  .input-select {
    flex: 1;
    min-width: 0;
}

/* 기간 줄 — 날짜 선택 + 이번 달 리셋 + CSV (항상 한 줄: 날짜 칸이 남는 폭을 나눠 줄어듦) */
.period-row[b-z7pjduekva] {
    display: flex;
    align-items: center;
    flex-wrap: nowrap;
    gap: 0.5rem;
}

.period-row input[type="date"][b-z7pjduekva] {
    flex: 1 1 0;
    min-width: 0;
    box-sizing: border-box;
}

.period-row .dim[b-z7pjduekva],
.period-row .small-button[b-z7pjduekva] {
    flex: 0 0 auto;
}

.csv-link[b-z7pjduekva] {
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
}

/* 누계 스탯 타일 — 기간 차액(히어로 숫자) + 입금/출금 비율 미터 + 범례.
   금액 텍스트는 잉크색(음수만 마이너스색) — 색은 점·세그먼트가 담당 (텍스트에 시리즈색 금지) */
.sum-hero[b-z7pjduekva] {
    background: rgba(var(--theme-ink-rgb),0.1);
    border-radius: var(--theme-radius);
    padding: 0.8rem 1rem;
    display: flex;
    flex-direction: column;
    gap: 0.45rem;
}

.sum-hero-label[b-z7pjduekva] {
    font-size: 0.9rem;
    color: var(--theme-ink-ii);
}

.sum-hero-label .hint[b-z7pjduekva] {
    font-size: 0.85em;
}

/* 히어로 숫자 — 단독 대형 숫자라 비례 숫자꼴 (tabular-nums 금지), 0 이상 = 잉크색 */
.sum-hero-value[b-z7pjduekva] {
    font-size: clamp(1.5rem, 5.5vw, 1.9rem);
    font-weight: 700;
    line-height: 120%;
    color: var(--theme-ink);
}

.sum-hero-value.negative[b-z7pjduekva] {
    color: var(--theme-color-minus);
}

.sum-hero-value .won[b-z7pjduekva] {
    font-size: 0.55em;
    font-weight: 500;
    margin-left: 0.1rem;
}

/* 비율 미터 — 입금(플러스 초록)·출금(마이너스 빨강) 세그먼트, 사이 2px 표면 틈, 빈 트랙 = 옅은 배지색 */
.sum-bar[b-z7pjduekva] {
    display: flex;
    gap: 2px;
    height: 0.55rem;
    border-radius: 999px;
    overflow: hidden;
    background: var(--theme-badge-bg);
}

.sum-bar .seg[b-z7pjduekva] {
    min-width: 2px;
}

.sum-bar .seg.in[b-z7pjduekva] {
    background: var(--theme-color-plus-bg);
}

.sum-bar .seg.out[b-z7pjduekva] {
    background: var(--theme-color-minus-bg);
}

/* 범례 — 점이 색을 담당, 라벨은 흐린 잉크·금액은 잉크 */
.sum-legend[b-z7pjduekva] {
    display: flex;
    align-items: baseline;
    flex-wrap: wrap;
    gap: 0.4rem 1.1rem;
    font-size: 0.92rem;
    color: var(--theme-ink-ii);
}

.legend-item[b-z7pjduekva] {
    display: inline-flex;
    align-items: baseline;
    gap: 0.35rem;
    white-space: nowrap;
}

.legend-item b[b-z7pjduekva] {
    color: var(--theme-ink);
    font-weight: 600;
}

.legend-item .dot[b-z7pjduekva] {
    width: 0.55rem;
    height: 0.55rem;
    border-radius: 50%;
    align-self: center;
}

.dot.in[b-z7pjduekva] {
    background: var(--theme-color-plus-bg);
}

.dot.out[b-z7pjduekva] {
    background: var(--theme-color-minus-bg);
}

.sum-note[b-z7pjduekva] {
    margin: 0;
}

/* 필터 + 검색 */
.filter-row[b-z7pjduekva] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.6rem;
}

.filter-row .search-input[b-z7pjduekva] {
    flex: 1;
    min-width: 10rem;
}

/* 기입 폼 */
.add-form[b-z7pjduekva] {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    flex: 1;
    min-width: 0;
}

.add-row[b-z7pjduekva] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.6rem;
}

.add-row .half[b-z7pjduekva] {
    flex: 1 1 10rem;
    min-width: 0;
}

/* 거래일·거래처·분류 한 줄 — 거래일은 내용 폭 고정, 거래처·분류는 남는 폭을 나눠 채움(열린 add-box 전역 규칙이 input을 flex:1로) */
.meta-add .cap-field[b-z7pjduekva] {
    flex: 0 0 auto;
}

/* 금액 줄 — 필드 폭을 제한하고 우측으로 밀어 오른쪽 정렬 */
.amount-row[b-z7pjduekva] {
    justify-content: flex-end;
}

.amount-row .cap-field[b-z7pjduekva] {
    flex: 0 1 auto;
}

.amount-row[b-z7pjduekva]  .input-with-unit {
    width: 12rem;
    max-width: 100%;
}

.cap-field[b-z7pjduekva] {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    font-size: 0.9rem;
    color: var(--theme-ink-ii);
    white-space: nowrap;
}

/* 메모 — 여러 줄 입력 (전역 input 외형을 따르되 세로 확장 가능) */
.memo-input[b-z7pjduekva] {
    width: 100%;
    box-sizing: border-box;
    resize: vertical;
    min-height: 3.4rem;
    font-family: 'Normal';
    font-weight: 500;
    font-size: 1.02rem;
    line-height: 1.5;
    padding: 0.4rem 1rem;
    color: var(--theme-ink);
    background-color: var(--theme-paper);
    border: 2px solid var(--theme-paper);
    border-radius: var(--theme-radius);
    background-clip: padding-box;
    transition: border-color 0.2s ease;
}

.memo-input:hover[b-z7pjduekva],
.memo-input:focus[b-z7pjduekva] {
    border-color: var(--theme-color);
    outline: none;
}

.memo-input[b-z7pjduekva]::placeholder {
    font-weight: 300;
    font-style: italic;
    opacity: 0.8;
    color: var(--theme-ink);
}

.file-line[b-z7pjduekva] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.6rem;
}

.file-label[b-z7pjduekva] {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    font-size: 0.9rem;
    white-space: nowrap;
}

.file-chip[b-z7pjduekva] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    background: var(--theme-fill-weak);
    border-radius: var(--theme-radius-small);
    padding: 0.2rem 0.6rem;
}

.file-chip .file-name[b-z7pjduekva] {
    word-break: break-all;
}

/* 목록 행 */
.entry-row[b-z7pjduekva] {
    background: var(--theme-surface-card);
    box-shadow: var(--theme-card-shadow);
    border-radius: var(--theme-radius);
    padding: 0.4rem 1rem;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-bottom: 0.4rem;
}

.entry-row.clickable[b-z7pjduekva] {
    cursor: pointer;
    transition: background 0.15s;
    user-select: none;
}

.entry-row.clickable:hover[b-z7pjduekva] {
    background: var(--theme-surface-hover);
}

/* 무효화 행 — 색으로만 흐리게 (opacity 금지 관례) + 취소선 */
.entry-row.voided[b-z7pjduekva] {
    color: var(--theme-ink-ii);
    box-shadow: none;
}

.entry-row.voided .entry-amount[b-z7pjduekva],
.entry-row.voided .entry-title[b-z7pjduekva] {
    text-decoration: line-through;
    color: var(--theme-ink-ii);
}

.entry-date[b-z7pjduekva] {
    font-weight: 600;
    white-space: nowrap;
    font-variant-numeric: tabular-nums;
}

/* 종류 칩 — 입금=플러스(초록) / 출금=마이너스(빨강) / 기록(서류)=중립 */
.kind-chip[b-z7pjduekva] {
    font-size: 0.85rem;
    padding: 0 0.6rem;
    border-radius: var(--theme-radius-small);
    line-height: 180%;
    white-space: nowrap;
}

.kind-chip.in[b-z7pjduekva] {
    background: var(--theme-color-plus-bg);
    color: var(--theme-color-plus-ink);
}

.kind-chip.out[b-z7pjduekva] {
    background: var(--theme-color-minus-bg);
    color: var(--theme-color-minus-ink);
}

.kind-chip.doc[b-z7pjduekva] {
    background: var(--theme-badge-bg);
}

.entry-row.voided .kind-chip[b-z7pjduekva] {
    background: var(--theme-badge-bg);
    color: inherit;
}

.entry-amount[b-z7pjduekva] {
    font-weight: 600;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}

/* 금액 글자 — 방향 쌍: 입금=플러스(초록)/출금=마이너스(빨강). 브랜드 금색은 글자로 흐림 */
.entry-amount.in[b-z7pjduekva] {
    color: var(--theme-color-plus);
}

.entry-amount.out[b-z7pjduekva] {
    color: var(--theme-color-minus);
}

.entry-title[b-z7pjduekva] {
    font-weight: 500;
    word-break: break-word;
}

.badge[b-z7pjduekva] {
    font-size: 0.85rem;
    padding: 0 0.6rem;
    border-radius: var(--theme-radius-small);
    background: var(--theme-badge-bg);
    line-height: 180%;
    white-space: nowrap;
}

/* 수신 문서 — 받는 사람 배지 + 확인 상태 (대기=위험색 / 확인됨=테마색) */
.badge.recipient-badge > i[b-z7pjduekva] {
    margin-right: 0.3rem;
    font-size: 0.85em;
}

.badge.confirm-wait[b-z7pjduekva] {
    background: var(--theme-color-critical);
    color: var(--theme-color-critical-ink);
}

.badge.confirm-done[b-z7pjduekva] {
    background: var(--theme-color);
    color: var(--theme-color-ink);
}

.recipient-note[b-z7pjduekva] {
    margin: 0;
}

.recipient-note > i[b-z7pjduekva] {
    margin-right: 0.3rem;
}

.entry-tail[b-z7pjduekva] {
    margin-left: auto;
    display: flex;
    align-items: center;
    gap: 0.5rem;
    white-space: nowrap;
}

.attach-count[b-z7pjduekva] {
    color: var(--theme-ink-ii);
    font-size: 0.85rem;
    display: inline-flex;
    align-items: center;
    gap: 0.2rem;
}

.void-badge[b-z7pjduekva] {
    font-size: 0.85rem;
    padding: 0 0.6rem;
    border-radius: var(--theme-radius-small);
    background: var(--theme-badge-bg);
    line-height: 180%;
    white-space: nowrap;
}

.dim[b-z7pjduekva] {
    font-size: 0.85rem;
    color: var(--theme-ink-ii);
}

.empty-note[b-z7pjduekva] {
    padding: 0.3rem 0.2rem;
}

.error-message[b-z7pjduekva] {
    margin: 0.3rem 0 0;
    font-size: 0.9rem;
    color: var(--theme-color-critical);
}

/* 상세 모달 */
.detail-modal[b-z7pjduekva] {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    width: min(90vw, 34rem);
    padding: 0.2rem;
}

.detail-title[b-z7pjduekva] {
    font-size: 1.05rem;
    font-weight: 600;
    display: flex;
    align-items: center;
    gap: 0.5rem;
    flex-wrap: wrap;
}

.detail-list[b-z7pjduekva] {
    display: flex;
    flex-direction: column;
    gap: 0.3rem;
    max-height: 40vh;
    overflow-y: auto;
    overscroll-behavior: contain;
}

.detail-row[b-z7pjduekva] {
    background: var(--theme-surface);
    border-radius: var(--theme-radius);
    padding: 0.3rem 1rem;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.detail-row .row-name[b-z7pjduekva] {
    font-weight: 500;
    white-space: nowrap;
}

.detail-row .tail[b-z7pjduekva] {
    margin-left: auto;
    text-align: right;
}

.detail-row .memo-text[b-z7pjduekva] {
    white-space: pre-wrap;
    word-break: break-word;
}

/* 메타 줄 — 거래일·거래처·분류를 한 줄에 (좁으면 줄바꿈, 라벨은 흐린 잉크) */
.detail-row.meta-row[b-z7pjduekva] {
    gap: 0.35rem 1.3rem;
}

.meta-item[b-z7pjduekva] {
    display: inline-flex;
    align-items: baseline;
    gap: 0.35rem;
    word-break: break-word;
}

.meta-item .mi-name[b-z7pjduekva] {
    color: var(--theme-ink-ii);
    font-weight: 500;
    white-space: nowrap;
}

.detail-row.void-row[b-z7pjduekva] {
    color: var(--theme-color-critical);
}

/* 첨부 — 이미지 썸네일 + 파일 링크 (전부 인증 엔드포인트 경유) */
.attach-list[b-z7pjduekva] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.attach-image img[b-z7pjduekva] {
    max-width: 8rem;
    max-height: 8rem;
    border-radius: var(--theme-radius-small);
    display: block;
}

.attach-file[b-z7pjduekva] {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    background: var(--theme-fill-weak);
    border-radius: var(--theme-radius-small);
    padding: 0.3rem 0.7rem;
    text-decoration: none;
    color: inherit;
    word-break: break-all;
}

.attach-file:hover[b-z7pjduekva] {
    background: var(--theme-surface-hover);
}

.void-form .full-input[b-z7pjduekva] {
    width: 100%;
    box-sizing: border-box;
}

.small-button[b-z7pjduekva] {
    font-size: 0.85rem;
    line-height: 190%;
    padding: 0.17rem 0.8rem;
    white-space: nowrap;
}

.small-button.critical[b-z7pjduekva] {
    background: var(--theme-color-critical);
    color: var(--theme-color-critical-ink);
}

.small-button.primary[b-z7pjduekva] {
    background: var(--theme-color);
    color: var(--theme-color-ink);
}

.modal-actions[b-z7pjduekva] {
    display: flex;
    justify-content: flex-end;
    gap: 0.5rem;
}

@media (max-width: 560px) {
    .entry-tail[b-z7pjduekva] {
        margin-left: 0;
        width: 100%;
        justify-content: flex-end;
    }
}

/* 아주 좁은 화면 — CSV는 아이콘만 남겨 기간 줄 한 줄 유지 (날짜·이번 달 버튼 우선) */
@media (max-width: 460px) {
    .csv-text[b-z7pjduekva] {
        display: none;
    }
}
/* /Components/Pages/Org/MyAttendancePanel.razor.rz.scp.css */
.att-panel[b-ezwlarf38q] {
    width: 100%;
}

.att-panel > h3[b-ezwlarf38q] {
    margin: 0 0 0.5rem;
    font-size: 1.05rem;
}

.row-card[b-ezwlarf38q] {
    min-height: 3.05rem;   /* 높이 통일 — 조직도 org-item과 같은 키 */
    background: var(--theme-surface-card);
    box-shadow: var(--theme-card-shadow);
    border-radius: var(--theme-radius);
    padding: 0.4rem 1rem;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-bottom: 0.4rem;
    box-sizing: border-box;
    width: 100%;
}

.row-card.history[b-ezwlarf38q] {
    color: var(--theme-ink-ii);
}

.row-card.absent[b-ezwlarf38q] {
    border: dashed 0.125rem var(--theme-color-critical);
    box-shadow: none;
}

.badge[b-ezwlarf38q] {
    font-size: 0.85rem;
    padding: 0 0.6rem;
    border-radius: var(--theme-radius-small);
    background: var(--theme-badge-bg);
    line-height: 180%;
    white-space: nowrap;
}

.badge.kind-결근[b-ezwlarf38q] {
    background: var(--theme-color-critical);
    color: var(--theme-color-critical-ink);
}

/* 상벌 — 감급=위험색 배지+점선 카드 / 포상=테마색 배지+점선 카드 (마이그레이션 64) */
.badge.kind-감급[b-ezwlarf38q] {
    background: var(--theme-color-critical);
    color: var(--theme-color-critical-ink);
}

.badge.kind-포상[b-ezwlarf38q] {
    background: var(--theme-color);
    color: var(--theme-color-ink);
}

.row-card.sanction[b-ezwlarf38q] {
    border: dashed 0.125rem var(--theme-color-critical);
    box-shadow: none;
}

.row-card.reward[b-ezwlarf38q] {
    border: dashed 0.125rem var(--theme-color);
    box-shadow: none;
}

.tail.dim[b-ezwlarf38q] {
    word-break: break-word;
    white-space: normal;
}

.name[b-ezwlarf38q] {
    font-weight: 600;
    white-space: nowrap;
}

.dim[b-ezwlarf38q] {
    font-size: 0.85rem;
    color: var(--theme-ink-ii);
}

.tail[b-ezwlarf38q] {
    margin-left: auto;
    white-space: nowrap;
}

@media (max-width: 480px) {
    .tail[b-ezwlarf38q] {
        margin-left: 0;
        width: 100%;
    }
}
/* /Components/Pages/Org/MyContractsPanel.razor.rz.scp.css */
.contract-panel[b-e19he248vx] {
    width: 100%;
}

.contract-panel > h3[b-e19he248vx] {
    margin: 0 0 0.5rem;
    font-size: 1.05rem;
}

.guide[b-e19he248vx] {
    margin: 0 0 0.6rem;
    line-height: 160%;
    font-size: 0.95rem;
    color: var(--theme-ink-ii);
}

.row-card[b-e19he248vx] {
    min-height: 3.05rem;   /* 높이 통일 — 조직도 org-item 총높이(2rem+패딩0.8+테두리0.25)와 동일. row-card는 border-box라 총높이로 지정 */
    background: var(--theme-surface-card);
    box-shadow: var(--theme-card-shadow);
    border-radius: var(--theme-radius);
    padding: 0.4rem 1rem;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-bottom: 0.4rem;
    box-sizing: border-box;
    width: 100%;
}

/* 서명 대기 — 점선 강조 (내 업무 미수락 카드 관례) */
.row-card.pending[b-e19he248vx] {
    border: dashed 0.125rem var(--theme-border-dash);
    background: var(--theme-surface-dim);
    box-shadow: none;
}

.badge[b-e19he248vx] {
    font-size: 0.85rem;
    padding: 0 0.6rem;
    border-radius: var(--theme-radius-small);
    background: var(--theme-badge-bg);
    line-height: 180%;
    white-space: nowrap;
}

.badge.status-승인[b-e19he248vx] {
    background: var(--theme-color);
    color: var(--theme-color-ink);
}

.badge.status-반려[b-e19he248vx] {
    background: var(--theme-color-critical);
    color: var(--theme-color-critical-ink);
}

.name[b-e19he248vx] {
    font-weight: 600;
    white-space: nowrap;
}

.dim[b-e19he248vx] {
    font-size: 0.85rem;
    color: var(--theme-ink-ii);
}

.tail[b-e19he248vx] {
    margin-left: auto;
    white-space: nowrap;
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

/* 행 내부 작은 버튼 — 모바일 터치 대상, 높이 +20% */
.small-button[b-e19he248vx] {
    font-size: 0.85rem;
    line-height: 190%;
    padding: 0.17rem 0.8rem;
    white-space: nowrap;
}

.small-button.primary[b-e19he248vx] {
    background: var(--theme-color);
    color: var(--theme-color-ink);
}

.error-message[b-e19he248vx] {
    margin: 0.6rem 0 0;
    font-size: 0.9rem;
    color: var(--theme-color-critical);
}

/* 지난 계약들 — 폴딩 + 색으로만 흐리게 */
.history-fold summary[b-e19he248vx] {
    cursor: pointer;
    padding: 0.3rem 0;
}

.row-card.history[b-e19he248vx] {
    color: var(--theme-ink-ii);
}

.row-card.clickable[b-e19he248vx] {
    cursor: pointer;
    transition: background 0.15s;
    user-select: none;
}

.row-card.clickable:hover[b-e19he248vx] {
    background: var(--theme-surface-hover);
}

.chevron-hint[b-e19he248vx] {
    font-size: 0.8rem;
    color: var(--theme-ink-ii);
}

/* 계약서 문면 모달 */
.doc-modal[b-e19he248vx] {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.modal-actions[b-e19he248vx] {
    display: flex;
    justify-content: flex-end;
    gap: 0.5rem;
}

@media (max-width: 480px) {
    .tail[b-e19he248vx] {
        margin-left: 0;
        width: 100%;
    }
}
/* /Components/Pages/Org/MyDutiesPanel.razor.rz.scp.css */
.duty-panel[b-5gs49ydszy] {
    width: 100%;
}

.duty-panel > h3[b-5gs49ydszy] {
    margin: 0 0 0.5rem;
    font-size: 1.05rem;
}

.guide[b-5gs49ydszy] {
    margin: 0 0 0.6rem;
    line-height: 160%;
    font-size: 0.95rem;
    color: var(--theme-ink-ii);
}

.row-card[b-5gs49ydszy] {
    min-height: 3.05rem;   /* 높이 통일 — 조직도 org-item 총높이(2rem+패딩0.8+테두리0.25)와 동일. row-card는 border-box라 총높이로 지정 */
    background: var(--theme-surface-card);
    box-shadow: var(--theme-card-shadow);
    border-radius: var(--theme-radius);
    padding: 0.4rem 1rem;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-bottom: 0.4rem;
    box-sizing: border-box;
    width: 100%;
}

.row-card.pending[b-5gs49ydszy] {
    border: dashed 0.125rem var(--theme-border-dash);
    background: var(--theme-surface-dim);
    box-shadow: none;
}

/* 내 업무 카드 — 제목 줄 (내용은 클릭 시 상세 모달) */
.duty-card[b-5gs49ydszy] {
    flex-direction: column;
    align-items: stretch;
    gap: 0.2rem;
}

.duty-card.clickable[b-5gs49ydszy] {
    cursor: pointer;
    transition: background 0.15s;
}

.duty-card.clickable:hover[b-5gs49ydszy] {
    background: var(--theme-surface-hover);
}

.duty-head[b-5gs49ydszy] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.badge[b-5gs49ydszy] {
    font-size: 0.85rem;
    padding: 0 0.6rem;
    border-radius: var(--theme-radius-small);
    background: var(--theme-badge-bg);
    line-height: 180%;
    white-space: nowrap;
}

/* 수락 상태별 색 — 승인/반려만 구분 */
.badge.status-승인[b-5gs49ydszy] {
    background: var(--theme-color);
    color: var(--theme-color-ink);
}

.badge.status-반려[b-5gs49ydszy] {
    background: var(--theme-color-critical);
    color: var(--theme-color-critical-ink);
}

.name[b-5gs49ydszy] {
    font-weight: 600;
}

/* 수시 업무 (현상금) — 소제목·금액 배지 */
.sub-title[b-5gs49ydszy] {
    margin: 0.8rem 0 0.4rem;
    font-weight: 600;
    font-size: 0.95rem;
    display: flex;
    align-items: baseline;
    gap: 0.4rem;
    flex-wrap: wrap;
}

.badge.amount[b-5gs49ydszy] {
    font-variant-numeric: tabular-nums;
    font-weight: 600;
}

.duty-detail .guide[b-5gs49ydszy] {
    margin: 0;
}

.tail[b-5gs49ydszy] {
    margin-left: auto;
    white-space: nowrap;
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.chevron-hint[b-5gs49ydszy] {
    color: var(--theme-ink-ii);
    font-size: 0.8rem;
}

.error-message[b-5gs49ydszy] {
    margin: 0.6rem 0 0;
    font-size: 0.9rem;
    color: var(--theme-color-critical);
}

/* 지난 업무들 — 폴딩 + 색으로만 흐리게 (opacity 금지 — 모달 상속) */
.history-fold summary[b-5gs49ydszy] {
    cursor: pointer;
    padding: 0.3rem 0;
}

.row-card.history[b-5gs49ydszy] {
    color: var(--theme-ink-ii);
}

.dim[b-5gs49ydszy] {
    font-size: 0.85rem;
    color: var(--theme-ink-ii);
}

/* 상세 모달 */
.duty-detail[b-5gs49ydszy] {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    width: min(90vw, 34rem);
    padding: 0.2rem;
}

.detail-head[b-5gs49ydszy] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.4rem;
}

.detail-title[b-5gs49ydszy] {
    margin: 0.2rem 0 0;
    font-size: 1.1rem;
}

.detail-body[b-5gs49ydszy] {
    white-space: pre-wrap;
    word-break: break-word;
    line-height: 160%;
    font-size: 0.95rem;
    background: var(--theme-surface-card);
    border-radius: var(--theme-radius-small);
    padding: 0.6rem 0.8rem;
}

.detail-actions[b-5gs49ydszy] {
    display: flex;
    justify-content: flex-end;
    gap: 0.5rem;
    margin-top: 0.2rem;
}

@media (max-width: 480px) {
    .tail[b-5gs49ydszy] {
        margin-left: 0;
        width: 100%;
    }
}
/* /Components/Pages/Org/MyInvitationsPanel.razor.rz.scp.css */
.invite-panel[b-htu8kg5qyv] {
    width: 100%;
}

.invite-panel > h3[b-htu8kg5qyv] {
    margin: 0 0 0.5rem;
    font-size: 1.05rem;
}

.guide[b-htu8kg5qyv] {
    margin: 0 0 0.6rem;
    line-height: 160%;
    font-size: 0.95rem;
    color: var(--theme-ink-ii);
}

.row-card[b-htu8kg5qyv] {
    min-height: 3.05rem;   /* 높이 통일 — 조직도 org-item 총높이(2rem+패딩0.8+테두리0.25)와 동일. row-card는 border-box라 총높이로 지정 */
    background: var(--theme-surface-card);
    box-shadow: var(--theme-card-shadow);
    border-radius: var(--theme-radius);
    padding: 0.4rem 1rem;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-bottom: 0.4rem;
    box-sizing: border-box;
    width: 100%;
}

/* 대기 중 초대 — 조직 트리의 신청 행과 같은 점선 문법 */
.row-card.pending[b-htu8kg5qyv] {
    border: dashed 0.125rem var(--theme-border-dash);
    background: var(--theme-surface-dim);
    box-shadow: none;
}

.badge[b-htu8kg5qyv] {
    font-size: 0.85rem;
    padding: 0 0.6rem;
    border-radius: var(--theme-radius-small);
    background: var(--theme-badge-bg);
    line-height: 180%;
    white-space: nowrap;
}

.name[b-htu8kg5qyv] {
    font-weight: 600;
}

.dim[b-htu8kg5qyv] {
    font-size: 0.85rem;
    color: var(--theme-ink-ii);
}

.tail[b-htu8kg5qyv] {
    margin-left: auto;
    white-space: nowrap;
}

.error-message[b-htu8kg5qyv] {
    margin: 0.6rem 0 0;
    font-size: 0.9rem;
    color: var(--theme-color-critical);
}

@media (max-width: 480px) {
    .tail[b-htu8kg5qyv] {
        margin-left: 0;
        width: 100%;
    }
}
/* /Components/Pages/Org/MyLeavePanel.razor.rz.scp.css */
.leave-panel[b-7nzrtcio9y] {
    width: 100%;
}

.leave-panel > h3[b-7nzrtcio9y] {
    margin: 0 0 0.5rem;
    font-size: 1.05rem;
}

.row-card[b-7nzrtcio9y] {
    min-height: 3.05rem;   /* 높이 통일 — 조직도 org-item 총높이(2rem+패딩0.8+테두리0.25)와 동일. row-card는 border-box라 총높이로 지정 */
    background: var(--theme-surface-card);
    box-shadow: var(--theme-card-shadow);
    border-radius: var(--theme-radius);
    padding: 0.4rem 1rem;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-bottom: 0.4rem;
    box-sizing: border-box;
    width: 100%;
}

.summary-card[b-7nzrtcio9y] {
    background: var(--theme-selected-bg);
}

.row-card.history[b-7nzrtcio9y] {
    color: var(--theme-ink-ii);
}

.badge[b-7nzrtcio9y] {
    font-size: 0.85rem;
    padding: 0 0.6rem;
    border-radius: var(--theme-radius-small);
    background: var(--theme-badge-bg);
    line-height: 180%;
    white-space: nowrap;
}

.badge.lv-승인[b-7nzrtcio9y] {
    background: var(--theme-color);
    color: var(--theme-color-ink);
}

.badge.lv-신청[b-7nzrtcio9y] {
    background: var(--theme-color-critical);
    color: var(--theme-color-critical-ink);
}

.name[b-7nzrtcio9y] {
    font-weight: 600;
}

.dim[b-7nzrtcio9y] {
    font-size: 0.85rem;
    color: var(--theme-ink-ii);
}

.tail[b-7nzrtcio9y] {
    margin-left: auto;
    white-space: nowrap;
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.leave-form[b-7nzrtcio9y] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem;
    width: 100%;
}

.leave-form input[type="date"][b-7nzrtcio9y] {
    flex: 0 0 auto;
}

.leave-form .reason-input[b-7nzrtcio9y] {
    flex: 1 1 10rem;
    min-width: 0;
}

.leave-form[b-7nzrtcio9y]  .input-select {
    flex: 0 0 11rem;
}

.small-button[b-7nzrtcio9y] {
    font-size: 0.85rem;
    line-height: 190%;
    padding: 0.17rem 0.8rem;
    white-space: nowrap;
}

.error-message[b-7nzrtcio9y] {
    margin: 0.3rem 0 0;
    font-size: 0.9rem;
    color: var(--theme-color-critical);
}

@media (max-width: 480px) {
    .tail[b-7nzrtcio9y] {
        margin-left: 0;
        width: 100%;
        justify-content: flex-end;
    }
}
/* /Components/Pages/Org/MySalaryPanel.razor.rz.scp.css */
.salary-panel[b-t6hdc1f55r] {
    width: 100%;
}

.salary-panel > h3[b-t6hdc1f55r] {
    margin: 0 0 0.5rem;
    font-size: 1.05rem;
}

/* 적립 중 히어로 바는 SalaryHeroBar 공용 컴포넌트(스코프드 CSS 포함)가 담당 — 2026-07-11 UI 통일 */

/* 지난 월급 — 폴딩 (열면 미지급 + 지급 이력 무한스크롤) */
.history-fold summary[b-t6hdc1f55r] {
    cursor: pointer;
    padding: 0.3rem 0;
    user-select: none;
}

.row-card[b-t6hdc1f55r] {
    min-height: 3.05rem;   /* 높이 통일 — 조직도 org-item 총높이(2rem+패딩0.8+테두리0.25)와 동일. row-card는 border-box라 총높이로 지정 */
    background: var(--theme-surface-card);
    box-shadow: var(--theme-card-shadow);
    border-radius: var(--theme-radius);
    padding: 0.4rem 1rem;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-bottom: 0.4rem;
    box-sizing: border-box;
    width: 100%;
}

.row-card.clickable[b-t6hdc1f55r] {
    cursor: pointer;
    transition: background 0.15s;
    user-select: none;
}

.row-card.clickable:hover[b-t6hdc1f55r] {
    background: var(--theme-surface-hover);
}

/* 미지급 — 점선 강조 (처리 대기 카드 관례) */
.row-card.unpaid[b-t6hdc1f55r] {
    border: dashed 0.125rem var(--theme-border-dash);
    background: var(--theme-surface-dim);
    box-shadow: none;
}

/* 지급 이력 — 색으로만 흐리게 (opacity 금지 — 모달 상속) */
.row-card.history[b-t6hdc1f55r] {
    color: var(--theme-ink-ii);
}

.badge[b-t6hdc1f55r] {
    font-size: 0.85rem;
    padding: 0 0.6rem;
    border-radius: var(--theme-radius-small);
    background: var(--theme-badge-bg);
    line-height: 180%;
    white-space: nowrap;
}

.badge.status-승인[b-t6hdc1f55r] {
    background: var(--theme-color);
    color: var(--theme-color-ink);
}

.badge.status-반려[b-t6hdc1f55r] {
    background: var(--theme-color-critical);
    color: var(--theme-color-critical-ink);
}

.name[b-t6hdc1f55r] {
    font-weight: 600;
    white-space: nowrap;
}

.dim[b-t6hdc1f55r] {
    font-size: 0.85rem;
    color: var(--theme-ink-ii);
}

.tail[b-t6hdc1f55r] {
    margin-left: auto;
    white-space: nowrap;
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.amount[b-t6hdc1f55r] {
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}

.chevron-hint[b-t6hdc1f55r] {
    font-size: 0.8rem;
    color: var(--theme-ink-ii);
}

.empty-note[b-t6hdc1f55r] {
    padding: 0.3rem 0.2rem;
}

/* 하단 상세 링크 — 점선 이동 카드 관례 */
.more-link[b-t6hdc1f55r] {
    background: var(--theme-surface);
    border-radius: var(--theme-radius);
    padding: 0.4rem 1rem;
    cursor: pointer;
    transition: all 0.2s;
    display: flex;
    justify-content: center;
    align-items: center;
    border: dashed 0.125rem var(--theme-border-dash);
    user-select: none;
    margin-top: 0.2rem;
}

.more-link:hover[b-t6hdc1f55r] {
    border-color: var(--theme-color);
}

.more-link > i[b-t6hdc1f55r] {
    margin-right: 0.5rem;
}

/* 기간 내역 모달 */
.detail-modal[b-t6hdc1f55r] {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    width: min(90vw, 34rem);
    padding: 0.2rem;
}

.detail-title[b-t6hdc1f55r] {
    font-size: 1.05rem;
    font-weight: 600;
}

.detail-list[b-t6hdc1f55r] {
    display: flex;
    flex-direction: column;
    gap: 0.3rem;
    max-height: 50vh;
    overflow-y: auto;
    overscroll-behavior: contain;
}

.detail-row[b-t6hdc1f55r] {
    background: var(--theme-surface);
    border-radius: var(--theme-radius);
    padding: 0.3rem 1rem;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.detail-row.deduct .amount[b-t6hdc1f55r] {
    color: var(--theme-color-critical);
}

.detail-row.info-line[b-t6hdc1f55r] {
    color: var(--theme-ink-ii);
}

.detail-row.total .amount b[b-t6hdc1f55r] {
    font-size: 1.05rem;
}

.row-name[b-t6hdc1f55r] {
    font-weight: 500;
}

.help-label[b-t6hdc1f55r] {
    font-size: 0.85rem;
    color: var(--theme-ink-ii);
}

.help-box[b-t6hdc1f55r] {
    background: var(--theme-surface-card);
    border-radius: var(--theme-radius-small);
    padding: 0.5rem 0.7rem;
    white-space: pre-wrap;
    word-break: break-word;
    line-height: 155%;
    font-size: 0.92rem;
}

.small-button[b-t6hdc1f55r] {
    font-size: 0.85rem;
    line-height: 190%;
    padding: 0.17rem 0.8rem;
    white-space: nowrap;
}

.modal-actions[b-t6hdc1f55r] {
    display: flex;
    justify-content: flex-end;
    gap: 0.5rem;
}

@media (max-width: 480px) {
    .tail[b-t6hdc1f55r] {
        margin-left: 0;
        width: 100%;
        justify-content: flex-end;
    }
}
/* /Components/Pages/Org/OrgAssign.razor.rz.scp.css */
.shell-page[b-7kcnygy33m] {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 0.6rem;
    width: 100%;
    max-width: 44rem;
}

/* 아이콘 탭(.tab-icons/.tab-icon/.tab-badge)은 app.css 전역 표준 사용 (2026-07-11 승격) */

.org-picker[b-7kcnygy33m] {
    display: flex;
    align-items: center;
    gap: 0.6rem;
}

.org-picker .picker-label[b-7kcnygy33m] {
    font-weight: 600;
    white-space: nowrap;
}

.org-picker[b-7kcnygy33m]  .input-select {
    flex: 1;
    min-width: 0;
}
/* /Components/Pages/Org/OrgManage.razor.rz.scp.css */
.shell-page[b-sl9ev1faw3] {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 0.6rem;
    width: 100%;
    max-width: 44rem;
}

/* 아이콘 탭(.tab-icons/.tab-icon/.tab-badge)은 app.css 전역 표준 사용 (2026-07-11 승격) */

.org-picker[b-sl9ev1faw3] {
    display: flex;
    align-items: center;
    gap: 0.6rem;
}

.org-picker .picker-label[b-sl9ev1faw3] {
    font-weight: 600;
    white-space: nowrap;
}

.org-picker[b-sl9ev1faw3]  .input-select {
    flex: 1;
    min-width: 0;
}
/* /Components/Pages/Org/OrgOverview.razor.rz.scp.css */
.overview-page[b-xz89sh5bas] {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 0.8rem;
    width: 100%;
    max-width: 44rem;
}

.org-picker[b-xz89sh5bas] {
    display: flex;
    align-items: center;
    gap: 0.6rem;
}

.org-picker .picker-label[b-xz89sh5bas] {
    font-weight: 600;
    white-space: nowrap;
}

.org-picker[b-xz89sh5bas]  .input-select {
    flex: 1;
    min-width: 0;
}

.section-title[b-xz89sh5bas] {
    margin: 0.4rem 0 0;
    font-size: 1.05rem;
}
/* /Components/Pages/Org/Orgs.razor.rz.scp.css */
.orgs-page[b-0knfy68lzb] {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 0.4rem;
    width: 100%;
    max-width: 44rem;   /* 개요(44rem) 임베드와 폭 통일 */
}

/* 새 조직 등록 — 점선 박스 (관리 화면 공통 문법) */
.org-item-add[b-0knfy68lzb] {
    background: var(--theme-surface-card);
    box-shadow: var(--theme-card-shadow);
    border-radius: var(--theme-radius);
    padding: 0.4rem 1rem;
    cursor: pointer;
    transition: all 0.2s;
    display: flex;
    justify-content: center;
    align-items: center;
    border: dashed 0.125rem var(--theme-border-dash);
    user-select: none;
}

.org-item-add:hover[b-0knfy68lzb] {
    border-color: var(--theme-color);
}

.org-item-add > i[b-0knfy68lzb] {
    margin-right: 0.5rem;
}

/* 조직 카드 — 클릭 = 구성원 패널 펼침 (높이는 개요 카드와 통일 — min-height 2rem) */
.org-item[b-0knfy68lzb] {
    background: var(--theme-surface-card);
    box-shadow: var(--theme-card-shadow);
    border-radius: var(--theme-radius);
    border: 0.125rem solid transparent;
    padding: 0.4rem 1rem;
    min-height: 2rem;
    transition: all 0.2s;
    cursor: pointer;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.org-item:hover[b-0knfy68lzb],
.org-item.selected[b-0knfy68lzb] {
    border-color: var(--theme-color);
}

.org-item.closed[b-0knfy68lzb] {
    opacity: var(--theme-opacity-dim);
    background: var(--theme-read);
}

.org-type-badge[b-0knfy68lzb] {
    font-size: 0.85rem;
    padding: 0 0.6rem;
    border-radius: var(--theme-radius-small);
    background: var(--theme-badge-bg);
    line-height: 180%;
    white-space: nowrap;
}

.org-name[b-0knfy68lzb] {
    font-weight: 600;
}

.closed-badge[b-0knfy68lzb] {
    font-size: 0.85rem;
    padding: 0 0.6rem;
    border-radius: var(--theme-radius-small);
    background: var(--theme-color-critical);
    color: var(--theme-color-critical-ink);
    line-height: 180%;
}

/* 처리 대기 가입신청 수 — 접힌 조직 행에서도 미결이 보이게 (인사 자격자에게만 렌더) */
.org-pending-badge[b-0knfy68lzb] {
    font-size: 0.85rem;
    padding: 0 0.6rem;
    border-radius: var(--theme-radius-small);
    background: var(--theme-color);
    color: var(--theme-color-ink);
    line-height: 180%;
    white-space: nowrap;
}

/* 조직 아이템의 내 직급·부서 (구성원 수가 있던 자리, 이름 바로 뒤) */
.org-my-position[b-0knfy68lzb] {
    font-size: 0.8rem;
    padding: 0 0.5rem;
    border-radius: var(--theme-radius-small);
    background: var(--theme-badge-bg);
    line-height: 175%;
    white-space: nowrap;
}

.org-my-dept[b-0knfy68lzb] {
    font-size: 0.8rem;
    color: var(--theme-ink-ii);
    white-space: nowrap;
}

/* 조직 설정 미입력 경고 — 조직 행 바로 아래, 클릭하면 그 조직 관리로 */
.org-settings-warning[b-0knfy68lzb] {
    margin: -0.1rem 0 0.2rem 1.2rem;
    padding: 0.35rem 1rem;
    border-radius: var(--theme-radius);
    border: 0.125rem solid var(--theme-color-critical);
    background: var(--theme-surface-card);
    color: var(--theme-ink);
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.9rem;
    line-height: 150%;
    cursor: pointer;
    transition: all 0.2s;
    user-select: none;
}

.org-settings-warning:hover[b-0knfy68lzb] {
    background: var(--theme-fill-weak);
}

.org-settings-warning > i[b-0knfy68lzb] {
    flex-shrink: 0;
    color: var(--theme-color-critical);
}

.org-settings-warning b[b-0knfy68lzb] {
    text-decoration: underline;
}

/* 직함 요약 — 조직 클릭 시 패널 맨 위, 직함별 보유 인원 (구조 한눈에).
   가로로 흐르는 칩(직함 이름 + 인원)이 아이템 수에 맞게 줄바꿈(flex-wrap)됨 */
.position-summary[b-0knfy68lzb] {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 0.35rem 0.7rem;
    padding: 0.5rem 0.7rem;
    background: var(--theme-surface);
    border-radius: var(--theme-radius);
    margin-bottom: 0.2rem;
}

/* 한 칩 = 직함 배지 + 인원, 붙어서 한 덩어리로 (칩 사이 간격 > 칩 내부 간격) */
.pos-summary-row[b-0knfy68lzb] {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
}

.pos-count[b-0knfy68lzb] {
    font-size: 0.85rem;
    color: var(--theme-ink-ii);
    white-space: nowrap;
}

/* 구성원 총 명수 칩 — 요약 맨 앞, 직함 칩과 구분되게 진하게 (배지 아님) */
.pos-total .pos-total-label[b-0knfy68lzb] {
    font-size: 0.85rem;
    font-weight: 600;
    color: var(--theme-ink);
}

.pos-total .pos-count[b-0knfy68lzb] {
    font-weight: 600;
    color: var(--theme-ink);
}

/* 선택 조직의 구성원 패널 — 들여쓰기로 소속 표현 */
.member-panel[b-0knfy68lzb] {
    margin: 0 0 0.4rem 1.2rem;
    display: flex;
    flex-direction: column;
    gap: 0.3rem;
}

.member-item-add[b-0knfy68lzb] {
    background: var(--theme-surface);
    border-radius: var(--theme-radius);
    padding: 0.4rem 1rem;
    min-height: 2rem;
    cursor: pointer;
    transition: all 0.2s;
    display: flex;
    justify-content: center;
    align-items: center;
    border: dashed 0.125rem var(--theme-border-dash);
    user-select: none;
}

.member-item-add:hover[b-0knfy68lzb] {
    border-color: var(--theme-color);
}

.member-item-add > i[b-0knfy68lzb] {
    margin-right: 0.5rem;
}

/* 구성원 행 — 개요 패널의 row-card와 같은 디자인 컨셉 (배경 0.5·그림자·패딩 0.4rem·높이 통일).
   content-box + 테두리 없음이라 org-item(콘텐츠 2rem+테두리 0.25rem)과 총높이를 맞추려면 2.25rem */
.member-row[b-0knfy68lzb] {
    background: var(--theme-surface-card);
    box-shadow: var(--theme-card-shadow);
    border-radius: var(--theme-radius);
    padding: 0.4rem 1rem;
    min-height: 2.25rem;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.5rem;
}

/* 클릭 = 구성원 변경 모달 (변경 자격자 행만) */
.member-row.clickable[b-0knfy68lzb] {
    cursor: pointer;
    transition: background 0.15s;
}

.member-row.clickable:hover[b-0knfy68lzb] {
    background: var(--theme-surface-hover);
}

.member-position[b-0knfy68lzb] {
    font-size: 0.85rem;
    padding: 0 0.6rem;
    border-radius: var(--theme-radius-small);
    background: var(--theme-badge-bg);
    line-height: 180%;
    white-space: nowrap;
}

/* 관리자(level 0)는 브랜드색으로 구분 */
.member-position.top[b-0knfy68lzb] {
    background: var(--theme-color);
    color: var(--theme-color-ink);
}

/* 무직함 — 회색 흐림 (서열 최하위) */
.member-position.none[b-0knfy68lzb] {
    background: var(--theme-fill-weak);
    color: var(--theme-ink-ii);
}

.member-name[b-0knfy68lzb] {
    font-weight: 500;
}

.row-tail[b-0knfy68lzb] {
    margin-left: auto;
    display: flex;
    align-items: center;
    gap: 0.6rem;
}

.member-since[b-0knfy68lzb] {
    font-size: 0.85rem;
    color: var(--theme-ink-ii);
    white-space: nowrap;
}

/* 행 내부 작은 버튼(설정·처리·지침·이름변경·폐지 등) — 모바일 터치 대상, 높이 +20% */
.small-button[b-0knfy68lzb] {
    font-size: 0.85rem;
    line-height: 190%;
    padding: 0.17rem 0.8rem;
    white-space: nowrap;
}

/* 모달 내부 공통 */
.guide[b-0knfy68lzb] {
    margin: 0.5rem 0 0;
    line-height: 160%;
    font-size: 0.95rem;
    color: var(--theme-ink-ii);
}

.modal-form[b-0knfy68lzb] {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    margin-top: 1rem;
    min-width: min(22rem, 76vw);
}

/* 모달 내 한 줄 배치 (직함+부서) — 드롭다운을 균등 분할 */
.form-row[b-0knfy68lzb] {
    display: flex;
    flex-direction: row;
    gap: 0.5rem;
}

.form-row[b-0knfy68lzb]  .input-select {
    flex: 1;
    min-width: 0;
}

.error-message[b-0knfy68lzb] {
    margin: 0.6rem 0 0;
    font-size: 0.9rem;
    color: var(--theme-color-critical);
}

/* 지정 모달 — 회원 검색 */
.orgs-page[b-0knfy68lzb]  .modal-box.assign-modal {
    max-width: 28rem;
    width: 90%;
    max-height: 80vh;
    display: flex;
    flex-direction: column;
}

.assign-search[b-0knfy68lzb] {
    display: flex;
    flex-direction: row;
    gap: 0.5rem;
    margin-top: 1rem;
}

.assign-search input[b-0knfy68lzb] {
    flex: 1;
}

.search-results[b-0knfy68lzb] {
    margin-top: 0.5rem;
    overflow-y: auto;
    display: flex;
    flex-direction: column;
    gap: 0.3rem;
}

.search-result[b-0knfy68lzb] {
    border-radius: var(--theme-radius);
    border: 0.125rem solid transparent;
    background: var(--theme-fill-weak);
    padding: 0.3rem 0.8rem;
    cursor: pointer;
    transition: all 0.2s;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.search-result:hover[b-0knfy68lzb] {
    border-color: var(--theme-color);
}

.dim[b-0knfy68lzb] {
    font-size: 0.85rem;
    color: var(--theme-ink-ii);
}

/* 트리 펼침 꺾쇠 — 펼치면 90도 회전 */
.chevron[b-0knfy68lzb] {
    font-size: 0.8rem;
    color: var(--theme-ink-ii);
    transition: transform 0.2s;
}

.chevron.open[b-0knfy68lzb] {
    transform: rotate(90deg);
}

/* 부서 노드 (2단) — 구성원 행과 구분되는 폴더 행 */
.dept-row[b-0knfy68lzb] {
    background: var(--theme-fill-weak);
    border-radius: var(--theme-radius);
    border: 0.125rem solid transparent;
    padding: 0.4rem 1rem;
    min-height: 2rem;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.5rem;
    cursor: pointer;
    transition: all 0.2s;
    user-select: none;
}

.dept-row:hover[b-0knfy68lzb],
.dept-row.open[b-0knfy68lzb] {
    border-color: var(--theme-divider);
}

.dept-row > .fa-folder[b-0knfy68lzb],
.dept-row > .fa-folder-open[b-0knfy68lzb],
.dept-row > .fa-folder-minus[b-0knfy68lzb],
.dept-row > .fa-folder-plus[b-0knfy68lzb] {
    color: var(--theme-ink-ii);
}

/* 부서 구성원 (3단) — 들여쓰기 + 세로 가이드선 */
.dept-members[b-0knfy68lzb] {
    margin-left: 1.2rem;
    padding-left: 0.6rem;
    border-left: 0.125rem solid var(--theme-divider);
    display: flex;
    flex-direction: column;
    gap: 0.3rem;
}

.empty-dept[b-0knfy68lzb] {
    font-size: 0.9rem;
    color: var(--theme-ink-ii);
    padding: 0.2rem 0.5rem;
}

/* 조직설정 진입 (기어) — 조직 행 맨 오른쪽 */
.gear-button[b-0knfy68lzb] {
    margin-left: auto;
}

.gear-button > i[b-0knfy68lzb] {
    font-size: 0.85rem;
}

/* 업무지침 행 (구성원 [지침] 모달) */
.directive-row[b-0knfy68lzb] {
    background: var(--theme-surface);
    border-radius: var(--theme-radius);
    padding: 0.4rem 1rem;
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
}

.directive-row.editing[b-0knfy68lzb] {
    outline: 0.125rem solid var(--theme-color);
}

.directive-head[b-0knfy68lzb] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.directive-body[b-0knfy68lzb] {
    white-space: pre-wrap;
    line-height: 150%;
    font-size: 0.95rem;
}

/* 가입 신청 대기 행 — 점선 테두리로 구분 */
.member-row.request-row[b-0knfy68lzb] {
    border: dashed 0.125rem var(--theme-border-dash);
    background: var(--theme-surface-dim);
}

/* 내 행 — 테마 색 점선 테두리로 강조 (me가 request-row보다 우선) */
.member-row.me[b-0knfy68lzb] {
    border: solid 0.125rem rgba(var(--theme-ink-rgb), 0);
    background: rgba(var(--theme-paper-rgb), 0);
}

/* [나] 배지 — 테마 색 채움 */
.me-badge[b-0knfy68lzb] {
    font-size: 0.78rem;
    padding: 0 0.45rem;
    border-radius: var(--theme-radius-small);
    background: var(--theme-color);
    color: var(--theme-color-ink);
    line-height: 170%;
    font-weight: 600;
    white-space: nowrap;
}

/* 부서 배지 */
.member-dept[b-0knfy68lzb] {
    font-size: 0.8rem;
    padding: 0 0.5rem;
    border-radius: var(--theme-radius-small);
    background: var(--theme-fill-weak);
    color: var(--theme-ink-ii);
    line-height: 170%;
    white-space: nowrap;
}

/* 위임 플래그 배지 (인사권한·응대) */
.member-flag[b-0knfy68lzb] {
    font-size: 0.8rem;
    padding: 0 0.5rem;
    border-radius: var(--theme-radius-small);
    border: 1px solid var(--theme-border-dash);
    color: var(--theme-ink-ii);
    line-height: 170%;
    white-space: nowrap;
}

/* 직함 관리 모달 */
.position-list[b-0knfy68lzb] {
    margin-top: 0.5rem;
    overflow-y: auto;
    display: flex;
    flex-direction: column;
    gap: 0.3rem;
}

.position-list .member-row.editing[b-0knfy68lzb] {
    outline: 0.125rem solid var(--theme-color);
}

.pos-form-row[b-0knfy68lzb] {
    display: flex;
    gap: 0.5rem;
    align-items: stretch;
}

.pos-form-row > input[b-0knfy68lzb] {
    flex: 1;
    min-width: 0;
}

.pos-form-row[b-0knfy68lzb]  .input-select {
    flex: 1;
    min-width: 0;
}

@media (max-width: 480px) {
    .member-panel[b-0knfy68lzb] {
        margin-left: 0.6rem;
    }

    .org-settings-warning[b-0knfy68lzb] {
        margin-left: 0.6rem;
    }

    .dept-members[b-0knfy68lzb] {
        margin-left: 0.6rem;
        padding-left: 0.4rem;
    }

    /* 좁은 화면에선 기어 아이콘만 */
    .gear-label[b-0knfy68lzb] {
        display: none;
    }
}
/* /Components/Pages/Org/OrgSettings.razor.rz.scp.css */
.settings-page[b-c4dek8beo9] {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 0.4rem;
    width: 100%;
    max-width: 40rem;
}

.section-title[b-c4dek8beo9] {
    margin: 1.2rem 0 0.2rem;
    font-size: 1.05rem;
}

.guide[b-c4dek8beo9] {
    margin: 0 0 0.3rem;
    line-height: 160%;
    font-size: 0.95rem;
    color: var(--theme-ink-ii);
}

/* 이름 변경·추가 입력 줄 */
.rename-row[b-c4dek8beo9],
.pos-form-row[b-c4dek8beo9] {
    display: flex;
    gap: 0.5rem;
    align-items: stretch;
}

.rename-row > input[b-c4dek8beo9],
.pos-form-row > input[b-c4dek8beo9] {
    flex: 1;
    min-width: 0;
}

/* 목록 행 (직함·부서 공용) */
.row-list[b-c4dek8beo9] {
    display: flex;
    flex-direction: column;
    gap: 0.3rem;
    margin-top: 0.3rem;
}

.setting-row[b-c4dek8beo9] {
    background: var(--theme-surface);
    border-radius: var(--theme-radius);
    padding: 0.3rem 1rem;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.setting-row.editing[b-c4dek8beo9] {
    outline: 0.125rem solid var(--theme-color);
}

.setting-row > .fa-folder[b-c4dek8beo9] {
    color: var(--theme-ink-ii);
}

.badge[b-c4dek8beo9] {
    font-size: 0.85rem;
    padding: 0 0.6rem;
    border-radius: var(--theme-radius-small);
    background: var(--theme-badge-bg);
    line-height: 180%;
    white-space: nowrap;
}

.badge.top[b-c4dek8beo9] {
    background: var(--theme-color);
    color: var(--theme-color-ink);
}

.row-name[b-c4dek8beo9] {
    font-weight: 500;
}

.dim[b-c4dek8beo9] {
    font-size: 0.85rem;
    color: var(--theme-ink-ii);
}

.row-tail[b-c4dek8beo9] {
    margin-left: auto;
    display: flex;
    align-items: center;
    gap: 0.6rem;
}

.grow-input[b-c4dek8beo9] {
    flex: 1;
    min-width: 8rem;
}

/* 행 내부 작은 버튼(수정·폐지·이름변경·저장 등) — 모바일 터치 대상, 높이 +20% */
.small-button[b-c4dek8beo9] {
    font-size: 0.85rem;
    line-height: 190%;
    padding: 0.17rem 0.8rem;
    white-space: nowrap;
}

.error-message[b-c4dek8beo9] {
    margin: 0.3rem 0 0;
    font-size: 0.9rem;
    color: var(--theme-color-critical);
}

/* ---------- 직함 드래그 정렬 목록 ---------- */
/* 동급(같은 서열)은 한 묶음(.pos-group)으로 이어 그리고, 묶음끼리는 위아래 선으로 구분한다.
   동급이 2개 이상이면(.grouped) 내부 색을 통일하고 왼쪽에 E자 브래킷(세로 척추 + 행마다 가로획)으로 묶음을 강조. */
.pos-list[b-c4dek8beo9] {
    display: flex;
    flex-direction: column;
    margin-top: 0.3rem;
    border-top: 0.0625rem solid var(--theme-divider);
    border-bottom: 0.0625rem solid var(--theme-divider);
}

/* 묶음 사이 구분선 (첫 묶음은 .pos-list의 border-top이 담당) */
.pos-group + .pos-group[b-c4dek8beo9] {
    border-top: 0.0625rem solid var(--theme-divider);
}

.pos-row[b-c4dek8beo9] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.5rem;
    padding: 0.35rem 0.6rem;
    background: var(--theme-surface);
}

/* ── 동급 묶음 (2개 이상) ── 내부 색은 전부 기본색으로 통일 + 왼쪽 E자 묶음 브래킷.
   척추(세로획)는 첫 동급 행의 중앙부터 마지막 동급 행의 중앙까지 하나로 이어지고(행 사이를 관통),
   첫 행 위·마지막 행 아래로는 튀어나오지 않는다 (E처럼 위아래 여분 선 없음). 각 행엔 가로 프롱. */
.pos-group.grouped[b-c4dek8beo9] {
    position: relative;
    padding-left: 0.35rem;                             /* E자 묶음 브래킷 자리 (핸들 아이콘 가까이) */
    background: var(--theme-surface);     /* 묶음 전체가 기본색 한 덩어리 */
}

/* 묶인 행은 배경을 비워 컨테이너 기본색이 그대로 비침 (전부 같은 기본색) */
.pos-group.grouped .pos-row[b-c4dek8beo9] {
    position: relative;
    background: transparent;
}

/* 세로획 세그먼트 — 각 행에 그려 행끼리 이어 붙여 연속 척추를 만든다 (기본: 행 전체 높이).
   회색 실선 (기본 ink 20%) — 강조색이 아니라 묶음선. */
.pos-group.grouped .pos-row[b-c4dek8beo9]::after {
    content: "";
    position: absolute;
    left: 0.25rem;
    top: 0;
    bottom: 0;
    width: 0;
    border-left: 0.09rem solid var(--theme-divider);
}

/* 첫 동급 행: 중앙부터 아래로만 (위로 안 튀어나옴) */
.pos-group.grouped .pos-row:first-child[b-c4dek8beo9]::after {
    top: 50%;
}

/* 마지막 동급 행: 위부터 중앙까지만 (아래로 안 튀어나옴) */
.pos-group.grouped .pos-row:last-child[b-c4dek8beo9]::after {
    bottom: 50%;
}

/* 가로 프롱 — 각 행 중앙에서 척추 → 행 방향 (E의 가로획). 회색 실선. */
.pos-group.grouped .pos-row[b-c4dek8beo9]::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 0.25rem;
    width: 0.25rem;
    height: 0;
    transform: translateY(-50%);
    border-top: 0.09rem solid var(--theme-divider);
}

.pos-row.editing[b-c4dek8beo9] {
    outline: 0.125rem solid var(--theme-color);
    outline-offset: -0.125rem;
}

/* 드래그 손잡이 — touch-action:none이 있어야 터치 드래그 중 화면이 스크롤되지 않음 */
.pos-handle[b-c4dek8beo9] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.8rem;
    height: 1.8rem;
    flex: 0 0 auto;
    color: var(--theme-ink-ii);
    cursor: grab;
    touch-action: none;
    position: relative; /* 롱프레스 게이지 링(::after)의 기준 */
}

.pos-handle:active[b-c4dek8beo9] {
    cursor: grabbing;
}

/* 롱프레스 게이지 — 손잡이를 0.4초 유지하면 둘레 링이 0→360°로 차오른다(arepositionsort.js HOLD_MS와 일치).
   각도 애니메이션을 위해 커스텀 속성을 @property로 등록(그래야 conic-gradient 각이 부드럽게 보간됨). */
@property --pos-charge {
    syntax: "<angle>";
    inherits: false;
    initial-value: 0deg;
}

.pos-charging .pos-handle[b-c4dek8beo9] {
    color: var(--theme-color); /* 충전 중임을 알리는 색 강조 */
}

.pos-charging .pos-handle[b-c4dek8beo9]::after {
    content: "";
    position: absolute;
    inset: -0.15rem;
    border-radius: 50%;
    background: conic-gradient(var(--theme-color) var(--pos-charge), var(--theme-selected-bg-strong) 0);
    /* 가운데를 뚫어 링(도넛)으로 — 바깥 ~0.2rem만 남긴다 */
    -webkit-mask: radial-gradient(farthest-side, transparent calc(100% - 0.2rem), #000 calc(100% - 0.18rem));
    mask: radial-gradient(farthest-side, transparent calc(100% - 0.2rem), #000 calc(100% - 0.18rem));
    animation: pos-charge-fill-b-c4dek8beo9 400ms linear forwards;
    pointer-events: none;
}

@keyframes pos-charge-fill-b-c4dek8beo9 {
    from { --pos-charge: 0deg; }
    to { --pos-charge: 360deg; }
}

.pos-pin[b-c4dek8beo9] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.8rem;
    height: 1.8rem;
    flex: 0 0 auto;
    color: var(--theme-color);
}

/* 드래그 중인 행 (.pos-list 접두어로 특이도를 높여 .grouped 배경 규칙을 이긴다).
   게이지가 다 차 활성화되는 순간 한 번 튀어(pos-drag-start) 진동과 함께 "이제 드래그됨"을 알린다. */
.pos-list .pos-row.dragging[b-c4dek8beo9] {
    opacity: 0.4;
    animation: pos-drag-start-b-c4dek8beo9 0.18s ease;
}

@keyframes pos-drag-start-b-c4dek8beo9 {
    0% { transform: scale(1); }
    45% { transform: scale(1.04); }
    100% { transform: scale(1); }
}

/* 드롭 미리보기 — 위/아래는 굵은 선, 가운데는 병합 하이라이트 */
.pos-list .pos-row.drop-above[b-c4dek8beo9] {
    box-shadow: inset 0 0.2rem 0 0 var(--theme-color);
}

.pos-list .pos-row.drop-below[b-c4dek8beo9] {
    box-shadow: inset 0 -0.2rem 0 0 var(--theme-color);
}

.pos-list .pos-row.drop-merge[b-c4dek8beo9] {
    background: var(--theme-selected-bg-strong);
    outline: 0.125rem solid var(--theme-color);
    outline-offset: -0.125rem;
}

/* 조직 지침 이동·돌아가기 — 점선 버튼 (관리 화면 공통 문법) */
.member-item-add[b-c4dek8beo9] {
    background: var(--theme-surface);
    border-radius: var(--theme-radius);
    padding: 0.4rem 1rem;
    cursor: pointer;
    transition: all 0.2s;
    display: flex;
    justify-content: center;
    align-items: center;
    border: dashed 0.125rem var(--theme-border-dash);
    user-select: none;
}

.member-item-add:hover[b-c4dek8beo9] {
    border-color: var(--theme-color);
}

.member-item-add > i[b-c4dek8beo9] {
    margin-right: 0.5rem;
}

/* 조직 설정 인라인 — 전역 키(오너) + 조직별 값(최고권한자), 직함·부서와 같은 setting-row 문법 */
.sub-title[b-c4dek8beo9] {
    margin: 0.9rem 0 0.2rem;
    font-size: 0.98rem;
    color: var(--theme-ink-ii);
}

.dir-add-row[b-c4dek8beo9] {
    display: flex;
    gap: 0.5rem;
    align-items: center;
    margin: 0.3rem 0;
}

.dir-add-row[b-c4dek8beo9]  .input-select {
    flex: 1;
    min-width: 0;
}

.dir-edit[b-c4dek8beo9] {
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
    margin: 0.3rem 0;
}

/* 값 입력 안내 = 오너가 쓴 키 설명 (최고권한자가 무엇을 어느 칸에 넣을지 참고) */
.dir-guide[b-c4dek8beo9] {
    font-size: 0.9rem;
    line-height: 150%;
    color: var(--theme-color);
    background: var(--theme-selected-bg);
    border-radius: var(--theme-radius-small);
    padding: 0.3rem 0.6rem;
}

.dir-edit .edit-actions[b-c4dek8beo9] {
    display: flex;
    justify-content: flex-end;
    gap: 0.5rem;
}

/* 단일 값 입력 모달 (전화·계좌·기타) — 내부 컨텐츠에 폭을 줘 modal-box가 감싸게 함 */
.dir-modal[b-c4dek8beo9] {
    display: flex;
    flex-direction: column;
    gap: 0.6rem;
    width: min(80vw, 24rem);
    padding: 0.2rem;
}

.dir-modal .title[b-c4dek8beo9] {
    font-size: 1.1rem;
    font-weight: 600;
}

.dir-modal .edit-actions[b-c4dek8beo9] {
    display: flex;
    justify-content: flex-end;
    gap: 0.5rem;
    margin-top: 0.2rem;
}

.directive-row[b-c4dek8beo9] {
    align-items: flex-start;
}

.dir-body[b-c4dek8beo9] {
    display: flex;
    flex-direction: column;
    gap: 0.1rem;
    min-width: 0;
    flex: 1;
}

.dir-key[b-c4dek8beo9] {
    font-weight: 600;
}

.dir-value[b-c4dek8beo9] {
    white-space: pre-wrap;
    word-break: break-word;
    font-size: 0.95rem;
}

.dir-desc[b-c4dek8beo9] {
    font-size: 0.85rem;
}

.close-row[b-c4dek8beo9] {
    display: flex;
    justify-content: flex-start;
}

.back-row[b-c4dek8beo9] {
    margin-top: 1.2rem;
}

@media (max-width: 480px) {
    .pos-form-row[b-c4dek8beo9] {
        flex-wrap: wrap;
    }

    .row-tail[b-c4dek8beo9] {
        gap: 0.4rem;
    }
}
/* /Components/Pages/Routes/RouteMap.razor.rz.scp.css */
.routemap-page[b-mtdxvs499d] {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 0.6rem;
    width: 100%;
    max-width: 52rem;
}

.toolbar[b-mtdxvs499d] {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    flex-wrap: wrap;
}

.toolbar[b-mtdxvs499d]  .input-select {
    flex: 1;
    min-width: 10rem;
}

.map-toggle[b-mtdxvs499d] {
    font-size: 0.9rem;
    line-height: 190%;
    padding: 0.17rem 0.9rem;
}

.map-toggle.on[b-mtdxvs499d] {
    background: var(--theme-selected-bg-strong);
}

.poll-note[b-mtdxvs499d] {
    color: var(--theme-ink-ii);
    font-size: 0.85rem;
    margin-left: auto;
    white-space: nowrap;
}

.guide[b-mtdxvs499d] {
    margin: 0;
    line-height: 160%;
    font-size: 0.95rem;
    color: var(--theme-ink-ii);
}

.guide.critical[b-mtdxvs499d] {
    color: var(--theme-color-critical);
}

.hint[b-mtdxvs499d] {
    margin: 0;
    font-size: 0.85rem;
    color: var(--theme-ink-ii);
}

.hint.pad[b-mtdxvs499d] {
    padding: 0 0.9rem 0.8rem;
}

.map-box[b-mtdxvs499d] {
    width: 100%;
    height: 42vh;
    min-height: 16rem;
    border-radius: var(--theme-radius);
    overflow: hidden;
    background: var(--theme-fill-weak);
}

/* 노선 카드 */
.route-card[b-mtdxvs499d] {
    border-radius: var(--theme-radius);
    background: var(--theme-surface-card);
    box-shadow: var(--theme-card-shadow);
    border-left: 0.45rem solid var(--route-color);
    padding-bottom: 0.4rem;
}

.route-head[b-mtdxvs499d] {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    padding: 0.75rem 0.9rem 0.4rem;
    flex-wrap: wrap;
}

.route-dot[b-mtdxvs499d] {
    width: 0.95rem;
    height: 0.95rem;
    border-radius: 50%;
    background: var(--route-color);
    flex: none;
}

.route-dot.pulse[b-mtdxvs499d] {
    animation: route-pulse-b-mtdxvs499d 1.6s ease-out infinite;
}

@keyframes route-pulse-b-mtdxvs499d {
    0% { box-shadow: 0 0 0 0 var(--route-color); }
    70% { box-shadow: 0 0 0 0.55rem rgba(0, 0, 0, 0); }
    100% { box-shadow: 0 0 0 0 rgba(0, 0, 0, 0); }
}

.route-name[b-mtdxvs499d] {
    font-weight: 700;
    font-size: 1.05rem;
}

.chip[b-mtdxvs499d] {
    font-size: 0.8rem;
    padding: 0.12rem 0.6rem;
    border-radius: 1rem;
    background: var(--theme-badge-bg);
    white-space: nowrap;
}

.chip.run[b-mtdxvs499d] {
    background: var(--route-color);
    color: #fff;
    font-weight: 700;
}

.chip.off[b-mtdxvs499d] {
    color: var(--theme-ink-ii);
}

.progress-text[b-mtdxvs499d] {
    margin-left: auto;
    font-weight: 700;
    color: var(--route-color);
    white-space: nowrap;
}

.progress-bar[b-mtdxvs499d] {
    height: 0.45rem;
    margin: 0.2rem 0.9rem 0.4rem;
    border-radius: 0.3rem;
    background: var(--theme-fill-weak);
    overflow: hidden;
}

.progress-fill[b-mtdxvs499d] {
    height: 100%;
    border-radius: 0.3rem;
    background: var(--route-color);
    transition: width 0.6s ease;
}

/* 스트립 (지하철 노선도) */
.strip-wrap[b-mtdxvs499d] {
    overflow-x: auto;
    padding: 0.3rem 0.9rem 0.5rem;
}

.strip[b-mtdxvs499d] {
    position: relative;
    display: flex;
    align-items: flex-start;
    gap: 0.55rem;
    min-width: min-content;
    padding-top: 0.4rem;
}

.strip-line[b-mtdxvs499d] {
    position: absolute;
    left: 0;
    right: 0;
    top: 1.05rem;
    height: 0.28rem;
    border-radius: 0.2rem;
    background: var(--route-color);
    opacity: 0.45;
}

.strip-stop[b-mtdxvs499d] {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.15rem;
    width: 3.2rem;
    flex: none;
    cursor: pointer;
}

.stop-circle[b-mtdxvs499d] {
    width: 1.35rem;
    height: 1.35rem;
    border-radius: 50%;
    border: 3px solid var(--route-color);
    background: var(--theme-paper, #fff);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.7rem;
    color: #fff;
    z-index: 1;
}

.strip-stop.done .stop-circle[b-mtdxvs499d],
.strip-stop.nowaste .stop-circle[b-mtdxvs499d] {
    background: var(--route-color);
}

.strip-stop.skip .stop-circle[b-mtdxvs499d],
.strip-stop.overdue .stop-circle[b-mtdxvs499d] {
    border-color: var(--theme-color-critical);
    background: var(--theme-color-critical);
}

.strip-stop.none .stop-circle[b-mtdxvs499d] {
    width: 0.9rem;
    height: 0.9rem;
    margin: 0.22rem;
    border-color: var(--theme-border-dash);
    background: var(--theme-fill-weak);
}

.stop-label[b-mtdxvs499d] {
    font-size: 0.72rem;
    color: var(--theme-ink-ii);
    max-width: 3.2rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    text-align: center;
}

.strip-stop.due .stop-label[b-mtdxvs499d],
.strip-stop.done .stop-label[b-mtdxvs499d] {
    color: var(--theme-ink);
    font-weight: 600;
}

.strip-truck[b-mtdxvs499d] {
    flex: none;
    z-index: 2;
    margin-top: 0.28rem;
    color: var(--route-color);
    font-size: 1.05rem;
    animation: truck-bob-b-mtdxvs499d 1.2s ease-in-out infinite;
}

@keyframes truck-bob-b-mtdxvs499d {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-0.18rem); }
}

/* 범례 */
.legend[b-mtdxvs499d] {
    display: flex;
    gap: 1rem;
    flex-wrap: wrap;
    font-size: 0.85rem;
    color: var(--theme-ink-ii);
    padding: 0.2rem 0.2rem 0.6rem;
}

.legend > span[b-mtdxvs499d] {
    display: flex;
    align-items: center;
    gap: 0.35rem;
}

.lg[b-mtdxvs499d] {
    width: 0.9rem;
    height: 0.9rem;
    border-radius: 50%;
    display: inline-block;
}

.lg.done[b-mtdxvs499d] { background: var(--theme-color); }
.lg.due[b-mtdxvs499d] { border: 3px solid var(--theme-color); }
.lg.overdue[b-mtdxvs499d] { background: var(--theme-color-critical); }
.lg.none[b-mtdxvs499d] { background: var(--theme-fill-weak); border: 2px solid var(--theme-border-dash); }

/* 상세 모달 */
.detail-modal[b-mtdxvs499d] {
    display: flex;
    flex-direction: column;
    gap: 0.7rem;
    min-width: 16rem;
    max-width: 26rem;
}

.detail-modal h3[b-mtdxvs499d] {
    margin: 0;
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.detail-grid[b-mtdxvs499d] {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 0.35rem 0.8rem;
}

.detail-grid .k[b-mtdxvs499d] {
    color: var(--theme-ink-ii);
    white-space: nowrap;
}

.modal-actions[b-mtdxvs499d] {
    display: flex;
    gap: 0.5rem;
    justify-content: flex-end;
}
/* /Components/Pages/Routes/RoutePlan.razor.rz.scp.css */
.routeplan-page[b-qiqph5196f] {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 0.6rem;
    width: 100%;
    max-width: 46rem;
}

.guide[b-qiqph5196f] {
    margin: 0;
    line-height: 160%;
    font-size: 0.95rem;
    color: var(--theme-ink-ii);
}

.org-picker[b-qiqph5196f] {
    display: flex;
    align-items: center;
    gap: 0.6rem;
}

.org-picker .picker-label[b-qiqph5196f] {
    font-weight: 600;
    white-space: nowrap;
}

.org-picker[b-qiqph5196f]  .input-select {
    flex: 1;
    min-width: 0;
}

/* 폼 공통 */
.add-form[b-qiqph5196f],
.sched-form[b-qiqph5196f] {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    width: 100%;
}

.form-row[b-qiqph5196f] {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    flex-wrap: wrap;
}

.form-label[b-qiqph5196f] {
    flex: 0 0 5.4rem;
    font-size: 0.9rem;
    color: var(--theme-ink-ii);
}

.form-row input[type="text"][b-qiqph5196f] {
    flex: 1;
    min-width: 0;
}

.form-error[b-qiqph5196f] {
    color: var(--theme-color-critical);
    font-size: 0.9rem;
}

.time-input[b-qiqph5196f] {
    padding: 0.35rem 0.5rem;
    border-radius: var(--theme-radius-small);
    border: 1px solid var(--theme-border-dash);
    background: var(--theme-fill-weak);
    color: var(--theme-ink);
    font-size: 1rem;
}

.hint[b-qiqph5196f],
.hint-inline[b-qiqph5196f] {
    margin: 0;
    font-size: 0.88rem;
    color: var(--theme-ink-ii);
    line-height: 150%;
}

.hint.critical[b-qiqph5196f] {
    color: var(--theme-color-critical);
}

/* 색 팔레트 */
.palette[b-qiqph5196f] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
    flex: 1;
}

.swatch[b-qiqph5196f] {
    width: 1.7rem;
    height: 1.7rem;
    min-width: 1.7rem;
    padding: 0;
    border-radius: 50%;
    border: 3px solid transparent;
    cursor: pointer;
    box-shadow: var(--theme-card-shadow);
}

.swatch.on[b-qiqph5196f] {
    border-color: var(--theme-ink);
    transform: scale(1.12);
}

/* 노선 카드 */
.route-card[b-qiqph5196f] {
    border-radius: var(--theme-radius);
    background: var(--theme-surface-card);
    box-shadow: var(--theme-card-shadow);
    border-left: 0.45rem solid var(--route-color);
}

.route-head[b-qiqph5196f] {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    padding: 0.75rem 0.9rem;
    cursor: pointer;
    flex-wrap: wrap;
}

.route-head:hover[b-qiqph5196f] {
    background: var(--theme-surface-hover);
    border-radius: 0 var(--theme-radius) var(--theme-radius) 0;
}

.route-dot[b-qiqph5196f] {
    width: 0.95rem;
    height: 0.95rem;
    border-radius: 50%;
    background: var(--route-color);
    flex: none;
}

.route-name[b-qiqph5196f] {
    font-weight: 700;
    font-size: 1.05rem;
}

.route-meta[b-qiqph5196f] {
    color: var(--theme-ink-ii);
    font-size: 0.88rem;
    margin-left: auto;
}

.fold[b-qiqph5196f] {
    color: var(--theme-ink-ii);
}

.route-body[b-qiqph5196f] {
    display: flex;
    flex-direction: column;
    gap: 0.9rem;
    padding: 0.4rem 0.9rem 1rem;
    border-top: 1px solid var(--theme-divider);
    cursor: default;
}

.section[b-qiqph5196f] {
    display: flex;
    flex-direction: column;
    gap: 0.45rem;
}

.section-title[b-qiqph5196f] {
    font-weight: 700;
    font-size: 0.95rem;
    padding-top: 0.4rem;
}

.row-actions[b-qiqph5196f] {
    display: flex;
    gap: 0.5rem;
    flex-wrap: wrap;
}

.row-actions button[b-qiqph5196f],
.mini[b-qiqph5196f] {
    font-size: 0.85rem;
    line-height: 190%;
    padding: 0.17rem 0.8rem;
}

/* 칩 */
.chip[b-qiqph5196f] {
    font-size: 0.78rem;
    padding: 0.1rem 0.55rem;
    border-radius: 1rem;
    background: var(--theme-badge-bg);
    white-space: nowrap;
}

.chip.critical[b-qiqph5196f] {
    background: var(--theme-critical-surface);
    color: var(--theme-color-critical);
}

.chip.freq[b-qiqph5196f] {
    cursor: pointer;
}

.chip.freq:hover[b-qiqph5196f] {
    background: var(--theme-selected-bg);
}

.chip.freq.exception[b-qiqph5196f] {
    background: var(--theme-selected-bg-strong);
    font-weight: 700;
}

/* 스케줄 */
.sched-row[b-qiqph5196f] {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    padding: 0.5rem 0.6rem;
    border-radius: var(--theme-radius-small);
    background: var(--theme-fill-weak);
    cursor: pointer;
    flex-wrap: wrap;
}

.sched-row:hover[b-qiqph5196f] {
    background: var(--theme-surface-hover);
}

.sched-row > i[b-qiqph5196f] {
    color: var(--route-color);
}

.sched-desc[b-qiqph5196f] {
    font-weight: 600;
}

.sched-form[b-qiqph5196f] {
    padding: 0.6rem;
    border-radius: var(--theme-radius-small);
    background: var(--theme-fill-weak);
}

.dashed-add[b-qiqph5196f] {
    border: 2px dashed var(--theme-border-dash);
    background: none;
    border-radius: var(--theme-radius-small);
    padding: 0.45rem;
    cursor: pointer;
    color: var(--theme-ink-ii);
    font-size: 0.92rem;
}

.dashed-add:hover[b-qiqph5196f] {
    background: var(--theme-fill-weak);
    color: var(--theme-ink);
}

/* 요일·주차 토글 */
.dow-toggles[b-qiqph5196f] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.3rem;
    flex: 1;
}

.dow[b-qiqph5196f] {
    min-width: 2.2rem;
    padding: 0.25rem 0.45rem;
    border-radius: var(--theme-radius-small);
    border: 1px solid var(--theme-border-dash);
    background: none;
    cursor: pointer;
    font-size: 0.9rem;
    color: var(--theme-ink-ii);
}

.dow.on[b-qiqph5196f] {
    background: var(--theme-selected-bg-strong);
    color: var(--theme-ink);
    font-weight: 700;
    border-color: transparent;
}

.dow.wk[b-qiqph5196f] {
    min-width: 3rem;
}

/* 정차점 검색 */
.stop-search[b-qiqph5196f]  input {
    width: 100%;
}

.pick-list[b-qiqph5196f] {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
}

.pick-row[b-qiqph5196f] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.4rem 0.6rem;
    border-radius: var(--theme-radius-small);
    border: 1px dashed var(--theme-border-dash);
    cursor: pointer;
    flex-wrap: wrap;
}

.pick-row:hover[b-qiqph5196f] {
    background: var(--theme-selected-bg);
}

.pick-row > i[b-qiqph5196f] {
    color: var(--theme-color);
}

.pick-name[b-qiqph5196f] {
    font-weight: 600;
}

.pick-sub[b-qiqph5196f] {
    color: var(--theme-ink-ii);
    font-size: 0.85rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    flex: 1;
    min-width: 8rem;
}

/* 정차점 목록 */
.stop-list[b-qiqph5196f] {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    max-height: 26rem;
    overflow-y: auto;
}

.stop-row[b-qiqph5196f] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.4rem 0.5rem;
    border-radius: var(--theme-radius-small);
    background: var(--theme-fill-weak);
    flex-wrap: wrap;
}

.stop-no[b-qiqph5196f] {
    flex: none;
    width: 1.9rem;
    height: 1.9rem;
    border-radius: 50%;
    background: var(--route-color);
    color: #fff;
    font-size: 0.82rem;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
}

.stop-main[b-qiqph5196f] {
    display: flex;
    flex-direction: column;
    min-width: 0;
    flex: 1;
}

.stop-name[b-qiqph5196f] {
    font-weight: 600;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.stop-sub[b-qiqph5196f] {
    color: var(--theme-ink-ii);
    font-size: 0.82rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.stop-next[b-qiqph5196f] {
    color: var(--theme-ink-ii);
    font-size: 0.85rem;
    white-space: nowrap;
}

.stop-btns[b-qiqph5196f] {
    display: flex;
    gap: 0.25rem;
}

.mini[b-qiqph5196f] {
    padding: 0.17rem 0.55rem;
}

/* 모달 */
.confirm-modal[b-qiqph5196f] {
    display: flex;
    flex-direction: column;
    gap: 0.7rem;
    max-width: 26rem;
}

.confirm-modal h3[b-qiqph5196f] {
    margin: 0;
}

.confirm-modal p[b-qiqph5196f] {
    margin: 0;
    line-height: 160%;
}

.modal-actions[b-qiqph5196f] {
    display: flex;
    gap: 0.5rem;
    justify-content: flex-end;
    flex-wrap: wrap;
}

@media (max-width: 480px) {
    .form-row[b-qiqph5196f] {
        flex-direction: column;
        align-items: stretch;
        gap: 0.2rem;
    }

    .form-label[b-qiqph5196f] {
        flex: none;
    }

    .route-meta[b-qiqph5196f] {
        margin-left: 0;
        width: 100%;
    }
}
/* /Components/Pages/Routes/When.razor.rz.scp.css */
.when-page[b-l91q2pnm87] {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 0.8rem;
    width: 100%;
    max-width: 34rem;
}

.guide[b-l91q2pnm87] {
    margin: 0;
    line-height: 160%;
    font-size: 1.05rem;
    text-align: center;
}

.hint[b-l91q2pnm87] {
    margin: 0;
    font-size: 0.88rem;
    color: var(--theme-ink-ii);
}

.hint.center[b-l91q2pnm87] {
    text-align: center;
}

/* 내 카드 빠른 선택 */
.my-cards[b-l91q2pnm87] {
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
}

.my-card[b-l91q2pnm87] {
    display: flex;
    align-items: center;
    gap: 0.7rem;
    padding: 0.85rem 1rem;
    border-radius: var(--theme-radius);
    background: var(--theme-surface-card);
    box-shadow: var(--theme-card-shadow);
    border: none;
    cursor: pointer;
    font-size: 1.05rem;
    text-align: left;
}

.my-card:hover[b-l91q2pnm87] {
    background: var(--theme-surface-hover);
}

.my-card > i[b-l91q2pnm87] {
    color: var(--theme-color);
    font-size: 1.2rem;
}

.mc-name[b-l91q2pnm87] {
    font-weight: 700;
    flex: 1;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.mc-num[b-l91q2pnm87] {
    color: var(--theme-ink-ii);
    font-size: 0.85rem;
    white-space: nowrap;
}

/* 선택된 카드 */
.picked-card[b-l91q2pnm87] {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    font-size: 1.1rem;
    font-weight: 700;
    justify-content: center;
    flex-wrap: wrap;
}

.picked-card > i[b-l91q2pnm87] {
    color: var(--theme-color);
}

.picked-card .mini[b-l91q2pnm87] {
    font-size: 0.85rem;
    line-height: 190%;
    padding: 0.17rem 0.8rem;
}

/* 결과 카드 — 크고 단순 (노인 친화) */
.result-card[b-l91q2pnm87] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.45rem;
    padding: 1.4rem 1rem 1.5rem;
    border-radius: var(--theme-radius);
    background: var(--theme-surface-card);
    box-shadow: var(--theme-card-shadow);
    text-align: center;
    border-top: 0.45rem solid var(--route-color, var(--theme-color));
}

.route-tag[b-l91q2pnm87] {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    font-size: 0.9rem;
    font-weight: 700;
    color: var(--theme-ink-ii);
}

.route-dot[b-l91q2pnm87] {
    width: 0.8rem;
    height: 0.8rem;
    border-radius: 50%;
    background: var(--route-color, var(--theme-color));
    display: inline-block;
}

.big-icon[b-l91q2pnm87] {
    font-size: 2.6rem;
    color: var(--route-color, var(--theme-color));
    margin: 0.3rem 0;
}

.big-icon.truck[b-l91q2pnm87] {
    animation: truck-drive-b-l91q2pnm87 1.2s ease-in-out infinite;
}

@keyframes truck-drive-b-l91q2pnm87 {
    0%, 100% { transform: translateX(-0.25rem); }
    50% { transform: translateX(0.25rem); }
}

.big-icon.skip-icon[b-l91q2pnm87] {
    color: var(--theme-color-critical);
}

.result-title[b-l91q2pnm87] {
    font-size: 1.35rem;
    font-weight: 800;
}

.result-big[b-l91q2pnm87] {
    font-size: 1.8rem;
}

.result-big b[b-l91q2pnm87] {
    font-size: 2.4rem;
    color: var(--route-color, var(--theme-color));
}

.result-sub[b-l91q2pnm87] {
    font-size: 1.05rem;
    line-height: 160%;
    color: var(--theme-ink-ii);
}

.result-sub b[b-l91q2pnm87] {
    color: var(--theme-ink);
}

.result-card.none .big-icon[b-l91q2pnm87] {
    color: var(--theme-ink-ii);
}
