@import 'AzureBlazorWebApp.Client.0a4348lozr.bundle.scp.css';

/* /Components/Account/Shared/ExternalProviderButton.razor.rz.scp.css */
/* ExternalProviderButton — 외부 로그인 공급자 버튼의 단일 정본(네이버 로그인 검수 요건: 공식 버튼 BI 미사용 시 반려).
   정적 SSR 페이지(Account/Login·Account/Register·Account/Manage/ExternalLogins)에서 렌더되므로 JS 없이 CSS 만으로 동작한다.
   - 네이버: 배경 #03C75A + 흰색 N 로고(인라인 SVG) + 굵은 흰 글씨 "네이버 로그인" (네이버 로그인 버튼 BI 가이드)
   - Google: 라이트 테마 — 흰 배경·1px #747775 테두리·모서리 4px + 4색 G 로고(인라인 SVG) + #1F1F1F 글씨 "Google 계정으로 로그인",
     hover #F2F2F2 (Google Identity 브랜딩 가이드)
   - 카카오: 배경 #FEE500 + 검정 말풍선 심볼(인라인 SVG) + 검정 85%(rgba(0,0,0,.85)) 글씨 "카카오 로그인", 테두리 없음,
     hover #F2D900 (카카오 로그인 버튼 디자인 가이드)
   세 버튼은 같은 높이(44px)·같은 글씨 크기(15px)·최소 폭 230px. 버튼 사이 간격(12px)과 480px 이하 세로 쌓임은
   ExternalProviderButtonGroup.razor.css 가 맡고, 여기서는 480px 이하에서 버튼 폭만 100% 로 늘린다(중복 규칙 금지). */

.ext-login-btn[b-y0zz6zwii9] {
    display: inline-flex;
    align-items: center;
    justify-content: flex-start;
    box-sizing: border-box;
    height: 44px;
    min-width: 230px;
    margin: 0;
    padding: 0 16px 0 12px;
    border: 1px solid transparent;
    border-radius: 4px;
    font-size: 15px;
    line-height: 1;
    letter-spacing: 0.25px;
    white-space: nowrap;
    text-decoration: none;
    cursor: pointer;
    user-select: none;
    -webkit-appearance: none;
    appearance: none;
    transition: background-color .15s ease, border-color .15s ease;
}

.ext-login-btn:focus-visible[b-y0zz6zwii9] {
    outline: 2px solid #1A73E8;
    outline-offset: 2px;
}

.ext-login-icon[b-y0zz6zwii9] {
    flex: 0 0 auto;
    width: 20px;
    height: 20px;
    margin-right: 12px;
}

.ext-login-label[b-y0zz6zwii9] {
    flex: 1 1 auto;
    text-align: center;
}

/* 네이버 로그인 */
.ext-login-btn--naver[b-y0zz6zwii9] {
    background-color: #03C75A;
    border-color: #03C75A;
    color: #FFFFFF;
    font-weight: 700;
}

.ext-login-btn--naver:hover[b-y0zz6zwii9] {
    background-color: #02B351;
    border-color: #02B351;
}

.ext-login-btn--naver:active[b-y0zz6zwii9] {
    background-color: #029F48;
    border-color: #029F48;
}

.ext-login-btn--naver .ext-login-icon[b-y0zz6zwii9] {
    width: 16px;
    height: 16px;
    margin-left: 2px;
    margin-right: 14px;
}

/* Google 계정으로 로그인 (라이트 테마) */
.ext-login-btn--google[b-y0zz6zwii9] {
    background-color: #FFFFFF;
    border-color: #747775;
    color: #1F1F1F;
    font-family: Roboto, "Noto Sans KR", "Malgun Gothic", "Apple SD Gothic Neo", system-ui, -apple-system, "Segoe UI", Arial, sans-serif;
    font-weight: 500;
}

.ext-login-btn--google:hover[b-y0zz6zwii9] {
    background-color: #F2F2F2;
}

.ext-login-btn--google:active[b-y0zz6zwii9] {
    background-color: #E6E6E6;
}

/* 카카오 로그인 (카카오 로그인 버튼 디자인 가이드 — 컨테이너 #FEE500, 심볼·라벨 검정, 라벨 85% 불투명) */
.ext-login-btn--kakao[b-y0zz6zwii9] {
    background-color: #FEE500;
    border-color: #FEE500;
    color: rgba(0, 0, 0, .85);
    font-weight: 600;
}

.ext-login-btn--kakao:hover[b-y0zz6zwii9] {
    background-color: #F2D900;
    border-color: #F2D900;
}

.ext-login-btn--kakao:active[b-y0zz6zwii9] {
    background-color: #E6CE00;
    border-color: #E6CE00;
}

.ext-login-btn--kakao .ext-login-icon[b-y0zz6zwii9] {
    width: 18px;
    height: 18px;
    margin-left: 1px;
    margin-right: 13px;
}

@media (max-width: 480px) {
    .ext-login-btn[b-y0zz6zwii9] {
        width: 100%;
        min-width: 0;
    }
}
/* /Components/Account/Shared/ExternalProviderButtonGroup.razor.rz.scp.css */
/* ExternalProviderButtonGroup — ExternalProviderButton 묶음 컨테이너.
   버튼을 12px 간격으로 가로 정렬하고 폭 480px 이하에서는 세로로 쌓는다(버튼 폭 100% 는 ExternalProviderButton.razor.css 가 맡는다).
   버튼 자체 스타일은 ExternalProviderButton.razor.css 에만 둔다(중복 규칙 금지). */

.ext-login-buttons[b-ba661mt8lk] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px;
    margin: 0.5rem 0 1rem;
}

@media (max-width: 480px) {
    .ext-login-buttons[b-ba661mt8lk] {
        flex-direction: column;
        align-items: stretch;
    }
}
/* /Components/Layout/MainLayout.razor.rz.scp.css */
.page[b-o9j3086coz] {
    position: relative;
    display: flex;
    flex-direction: column;
}

main[b-o9j3086coz] {
    flex: 1;
    min-width: 0;   /* flex 자식이 내용 고유폭 이하로 줄어들 수 있게 — 641~1180px 구간 가로 넘침 방지 */
}

/* 사이드바 바탕 — 메뉴 판(NavMenu .nav-scrollable)과 같은 밝은 판(사용자 확정 2026-09-29 · doc 29 §2-2).
   관리자 영역(.page-wide · AdminMenu/RTAdminMenu)은 바꾸지 않는다(사용자: 관리자는 상관없음) — 종전 어두운 판 그대로. */
.sidebar[b-o9j3086coz] {
    background-image: linear-gradient(180deg, #FFF8EE 0%, #FFFDF9 42%, #F4F5FF 100%);
}

.page-wide .sidebar[b-o9j3086coz] {
    background-image: linear-gradient(180deg, rgb(5, 39, 103) 0%, #3a0647 70%);
}

/* 상단 = 배너 행 + 네비 행 2단 구성. 높이는 내용 기준(auto) —
   고정 3.5rem 시절의 상하 짤림/겹침 방지. 세부 스타일은 MainLayout.razor <style> 참조. */
.top-row[b-o9j3086coz] {
    background-color: #FFFCF7;              /* 크림 — 로고 칸·타이틀 배너와 한 벌 */
    border-bottom: 1px solid var(--r4-line);
    display: flex;
    flex-direction: column;
    align-items: stretch;
    justify-content: center;
}

@media (max-width: 640.98px) {
    /* 폰 폭의 사이드바는 화면이 아니라 문서 맨 위(.page, position:relative)에 붙는다 — 그 안의 햄버거 단추(NavMenu.razor.css 폰 블록의
       .hamburger-icon, position:absolute)가 상단 띠 왼쪽 여백(MainLayout.razor 폰 블록 .top-row 의 padding-left 55px) 안에서
       띠와 함께 스크롤되어, 내린 화면의 본문 첫 글자를 가리지 않는다. 오버레이·메뉴 패널은 각자 position:fixed 라
       이 값과 무관하게 화면을 덮는다. MainLayout.razor 안 <style> 의 폰 블록 .sidebar 와 같은 값이어야 한다(2026-10-06). */
    .sidebar[b-o9j3086coz] {
        position: absolute;
        top: 0;
        left: 0;
        width: auto;
        height: auto;
        /* 모바일 사이드바(햄버거·슬라이드 메뉴)도 PC 와 같은 사이트 크롬이다 — app.css :root 의
           --z-sidebar 를 그대로 쓴다. 이 안의 햄버거/오버레이/메뉴 패널은 .sidebar 가 만드는
           쌓임 맥락 안에서만 겨루므로 작은 수(1·2·3)면 충분하다(NavMenu/AdminMenu.razor.css). */
        z-index: var(--z-sidebar);
        background: transparent;
    }
}

/* 덮개 메뉴 구간(641 ~ 1059.98px — 아이패드 세로 834 · 아이패드 미니 가로 1024 · 좁은 PC 창) · 사용자 지시 2026-09-30.
   사이드바 250px 옆에서는 학습방 틀(.sr-wrap 최소 720px + 본문 좌우 여백 56px)이 들어가지 않아(250 + 776 = 1026px) 문서가 가로로 넘쳤다
   (아이패드 세로 실측 1002px · 라인 IPAD). 이 구간은 모바일처럼 사이드바를 본문 흐름에서 빼 햄버거 단추만 남기고(NavMenu.razor.css 덮개 메뉴),
   본문은 PC 모양 그대로 전체 폭을 쓴다 — 메뉴 때문에 내용 화면을 CSS 로 바꾸지 않는다.
   ≤640 은 아래 모바일 규칙, ≥1060 은 PC 규칙 그대로. 경계 1060 은 1026 + Windows 세로 스크롤바 17px + 여유(doc 25 §1).
   관리자 영역(.page-wide · AdminMenu 는 640 경계를 따로 쓴다)은 제외한다. */
@media (min-width: 641px) and (max-width: 1059.98px) {
    .page:not(.page-wide) .sidebar[b-o9j3086coz] {
        position: fixed;
        top: 0;
        left: 0;
        width: auto;
        min-width: 0;
        height: auto;
        z-index: var(--z-sidebar);
        background: transparent;
    }

    /* 햄버거 단추(왼쪽 위 8px · 40×40)가 타이틀 배너를 덮지 않도록 상단 줄 왼쪽을 비운다 */
    .page:not(.page-wide) .top-row[b-o9j3086coz] {
        padding-left: 60px !important;
    }
}

@media (min-width: 641px) {
    /* PC 뷰 = 아이패드(스마트패드) 가로 폭으로 고정한 중앙 셸 (사용자 지시 2026-07-11 — 1920 풀와이드 미사용).
       1180px = 사이드바 250px + 콘텐츠 930px. 셸 밖 배경은 app.css 의 body 규칙 참조. */
    .page[b-o9j3086coz] {
        flex-direction: row;
        max-width: 1180px;
        margin: 0 auto;
        background: #fff;
        box-shadow: 0 0 28px rgba(30, 40, 80, .10);
        min-height: 100vh;
    }

    /* 관리자 영역은 데이터 그리드 폭 확보를 위해 고정폭 예외(전체 폭 유지) */
    .page.page-wide[b-o9j3086coz] {
        max-width: none;
        margin: 0;
        box-shadow: none;
    }

    /* 사이드바·상단 배너는 사이트 크롬이라 본문보다 항상 위에 그려진다.
       z-index 수치는 app.css :root 의 층 체계(--z-sidebar / --z-topband)가 정본이다 — 여기에
       숫자를 직접 쓰지 말 것. sticky 는 그 자체로 쌓임 맥락을 만들지만 z-index:auto 로 두면
       본문의 양수 z-index 요소(히어로 오버레이·배지 등)에 밀려 덮인다. */
    .sidebar[b-o9j3086coz] {
        width: 250px;
        min-width: 250px;
        flex-shrink: 0;
        height: 100vh;
        position: sticky;
        top: 0;
        z-index: var(--z-sidebar);
    }

    .top-row[b-o9j3086coz] {
        position: sticky;
        top: 0;
        z-index: var(--z-topband);
    }

    .top-row[b-o9j3086coz], article[b-o9j3086coz] {
        padding-left: 2rem !important;
        padding-right: 1.5rem !important;
    }


}

#blazor-error-ui[b-o9j3086coz] {
    color-scheme: light only;
    background: lightyellow;
    bottom: 0;
    box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.2);
    box-sizing: border-box;
    display: none;
    left: 0;
    padding: 0.6rem 1.25rem 0.7rem 1.25rem;
    position: fixed;
    width: 100%;
    /* 전역 오류 표시는 모달·다이얼로그 위에서도 보여야 한다 — app.css :root 의 최상단 층. */
    z-index: var(--z-popup-top);
}

    #blazor-error-ui .dismiss[b-o9j3086coz] {
        cursor: pointer;
        position: absolute;
        right: 0.75rem;
        top: 0.5rem;
    }
/* /Components/Layout/NavMenu.razor.rz.scp.css */
/* ═══ 사이드 메뉴 — 밝은 판 + 인디고 테두리(시안 D · 사용자 확정 2026-09-29 · 색 정본 doc 29 §2-2 · 토큰 app.css :root --r4-*) ═══
   · 로고 칸(250 × 124): 조합 A(심볼 위 · read1004 아래) · 타이틀 배너와 같은 그라데이션 · 칸 「아래」 3px 인디고 띠.
   · 메뉴 판: 크림→연인디고 + 오른쪽 끝 5px 인디고 띠(본문과 가름) · 대구분은 네 변 테두리 묶음(왼쪽 6px 인디고 막대).
   · 선택 항목: 인디고 알약 + 흰 글자(7.9:1) · 마우스 올림: 살구(#FFEBD6 위 #1E1B4B 13.78:1).
   · 아이콘: 흰색이 박힌 배경 그림 → 마스크(mask-image) + background-color — 색은 --nav-ic 한 줄로 바뀐다. */

/* PC용 로고 컨테이너 */
.nav-logo-container[b-509au3vxax] {
    display: block;
}

.side-logo[b-509au3vxax] {
    position: relative;
    z-index: 1;   /* 칸 아래로 내민 띠(box-shadow)가 메뉴 판 위에 그려지게 — .sidebar 쌓임 맥락 안의 순서 */
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 3px;
    height: 124px;
    padding: 6px 12px;
    box-sizing: border-box;
    text-decoration: none;
    background: linear-gradient(150deg, #FFF1DC 0%, #FDF0F6 55%, #EEF2FF 100%);
    box-shadow: 0 3px 0 var(--r4-indigo), inset -5px 0 0 var(--r4-indigo);
}

.side-logo:hover[b-509au3vxax] {
    text-decoration: none;
}

/* 양옆 빈자리의 작은 별 — 「날아오르다」. 로고 자체에는 효과를 넣지 않는다(브랜드 가이드 §5). */
.side-logo[b-509au3vxax]::before,
.side-logo[b-509au3vxax]::after {
    content: "✦";
    position: absolute;
    line-height: 1;
    pointer-events: none;
}

.side-logo[b-509au3vxax]::before {
    left: 22px;
    top: 26px;
    font-size: 15px;
    color: #FFB877;
}

.side-logo[b-509au3vxax]::after {
    right: 28px;
    top: 44px;
    font-size: 10px;
    color: #A5B4FC;
}

.side-logo-mark[b-509au3vxax] {
    width: 80px;
    height: auto;
    display: block;
}

.side-logo-text[b-509au3vxax] {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: baseline;
    gap: 2px 6px;
}

.side-logo-brand[b-509au3vxax] {
    flex-basis: 100%;
    text-align: center;
    font: 900 33px/1.05 'Nunito', 'Segoe UI', 'Helvetica Neue', Arial, sans-serif;
    letter-spacing: .015em;
    color: var(--r4-indigo);
}

.side-logo-catch[b-509au3vxax] {
    font: italic 800 13px/1 'Nunito', 'Segoe UI', 'Helvetica Neue', Arial, sans-serif;
    letter-spacing: .05em;
    color: var(--r4-orange-deep);
}

.side-logo-sub[b-509au3vxax] {
    font-size: 11.5px;
    font-weight: 800;
    color: var(--r4-muted);
    letter-spacing: .04em;
    white-space: nowrap;
}

.side-logo-sub[b-509au3vxax]::before {
    content: "· ";
    color: #FFB877;
}

/* 모바일 드로어 맨 위 로고 — PC 에서는 숨김 */
.drawer-logo[b-509au3vxax] {
    display: none;
}

/* 햄버거 아이콘 - 기본 숨김 (PC) */
.hamburger-icon[b-509au3vxax] {
    display: none;
    cursor: pointer;
    width: 44px;    /* 누름 자리 44×44(터치 기준 · 종전 40 — 3단 점검 「44px 미만」 · LY 2026-09-30) */
    height: 44px;
    position: fixed;
    top: 8px;
    left: 8px;
    padding: 8px;
    /* 아래 세 값은 .sidebar 가 만든 쌓임 맥락 '안'의 순서일 뿐이다(바깥과 겨루지 않는다).
       바깥과 겨루는 값은 .sidebar 자신의 z-index(= app.css 의 --z-sidebar) 하나뿐. */
    z-index: 3;   /* 햄버거 버튼 — 오버레이(1)·메뉴 패널(2) 위 */
    background-color: var(--r4-indigo);
    border-radius: 10px;
    border: none;   /* <button> 기본 테두리 제거 — 모양은 종전 <div> 와 같다 */
    box-shadow: 0 4px 10px rgba(67, 56, 202, .3);
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.hamburger-icon:focus-visible[b-509au3vxax] {
    outline: none;
    box-shadow: var(--r4-focus-ring), 0 4px 10px rgba(67, 56, 202, .3);
}

.hamburger-icon span[b-509au3vxax] {
    display: block;
    width: 22px;
    height: 3px;
    background-color: white;
    margin: 3px 0;
    border-radius: 2px;
    transition: all 0.3s ease;
}

/* 메뉴 오버레이 - 기본 숨김 */
.menu-overlay[b-509au3vxax] {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(30, 27, 75, 0.32);
    z-index: 1;   /* .sidebar 내부 순서 — 위 .hamburger-icon 주석 참조 */
}

/* 오버레이 표시 상태 */
.menu-overlay.overlay-visible[b-509au3vxax] {
    display: block;
}

.navbar-toggler[b-509au3vxax] {
    display: none !important;
}

.top-row[b-509au3vxax] {
    min-height: 3.5rem;
    background-color: rgba(0,0,0,0.4);
}

.navbar-brand[b-509au3vxax] {
    font-size: 1.1rem;
}

/* 아이콘 — 모양은 마스크(--nav-ic-m), 색은 background-color(--nav-ic). 선택 항목에서는 흰색. */
.bi[b-509au3vxax] {
    display: inline-block;
    position: relative;
    width: 1.25rem;
    height: 1.25rem;
    margin-right: 0.75rem;
    top: -1px;
    flex-shrink: 0;
    background-color: var(--nav-ic, #4F46E5);
    -webkit-mask: var(--nav-ic-m) center / contain no-repeat;
    mask: var(--nav-ic-m) center / contain no-repeat;
}

.bi-house-door-fill-nav-menu[b-509au3vxax] {
    --nav-ic-m: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-house-door-fill' viewBox='0 0 16 16'%3E%3Cpath d='M6.5 14.5v-3.505c0-.245.25-.495.5-.495h2c.25 0 .5.25.5.5v3.5a.5.5 0 0 0 .5.5h4a.5.5 0 0 0 .5-.5v-7a.5.5 0 0 0-.146-.354L13 5.793V2.5a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5v1.293L8.354 1.146a.5.5 0 0 0-.708 0l-6 6A.5.5 0 0 0 1.5 7.5v7a.5.5 0 0 0 .5.5h4a.5.5 0 0 0 .5-.5Z'/%3E%3C/svg%3E");
}

.bi-plus-square-fill-nav-menu[b-509au3vxax] {
    --nav-ic-m: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-plus-square-fill' viewBox='0 0 16 16'%3E%3Cpath d='M2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2zm6.5 4.5v3h3a.5.5 0 0 1 0 1h-3v3a.5.5 0 0 1-1 0v-3h-3a.5.5 0 0 1 0-1h3v-3a.5.5 0 0 1 1 0z'/%3E%3C/svg%3E");
}

.bi-list-nested-nav-menu[b-509au3vxax] {
    --nav-ic-m: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-list-nested' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M4.5 11.5A.5.5 0 0 1 5 11h10a.5.5 0 0 1 0 1H5a.5.5 0 0 1-.5-.5zm-2-4A.5.5 0 0 1 3 7h10a.5.5 0 0 1 0 1H3a.5.5 0 0 1-.5-.5zm-2-4A.5.5 0 0 1 1 3h10a.5.5 0 0 1 0 1H1a.5.5 0 0 1-.5-.5z'/%3E%3C/svg%3E");
}

.bi-lock-nav-menu[b-509au3vxax] {
    --nav-ic-m: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-list-nested' viewBox='0 0 16 16'%3E%3Cpath d='M8 1a2 2 0 0 1 2 2v4H6V3a2 2 0 0 1 2-2zm3 6V3a3 3 0 0 0-6 0v4a2 2 0 0 0-2 2v5a2 2 0 0 0 2 2h6a2 2 0 0 0 2-2V9a2 2 0 0 0-2-2zM5 8h6a1 1 0 0 1 1 1v5a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1V9a1 1 0 0 1 1-1z'/%3E%3C/svg%3E");
}

.bi-person-nav-menu[b-509au3vxax] {
    --nav-ic-m: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-person' viewBox='0 0 16 16'%3E%3Cpath d='M8 8a3 3 0 1 0 0-6 3 3 0 0 0 0 6Zm2-3a2 2 0 1 1-4 0 2 2 0 0 1 4 0Zm4 8c0 1-1 1-1 1H3s-1 0-1-1 1-4 6-4 6 3 6 4Zm-1-.004c-.001-.246-.154-.986-.832-1.664C11.516 10.68 10.289 10 8 10c-2.29 0-3.516.68-4.168 1.332-.678.678-.83 1.418-.832 1.664h10Z'/%3E%3C/svg%3E");
}

.bi-person-badge-nav-menu[b-509au3vxax] {
    --nav-ic-m: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-person-badge' viewBox='0 0 16 16'%3E%3Cpath d='M6.5 2a.5.5 0 0 0 0 1h3a.5.5 0 0 0 0-1h-3zM11 8a3 3 0 1 1-6 0 3 3 0 0 1 6 0z'/%3E%3Cpath d='M4.5 0A2.5 2.5 0 0 0 2 2.5V14a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2.5A2.5 2.5 0 0 0 11.5 0h-7zM3 2.5A1.5 1.5 0 0 1 4.5 1h7A1.5 1.5 0 0 1 13 2.5v10.795a4.2 4.2 0 0 0-.776-.492C11.392 12.387 10.063 12 8 12s-3.392.387-4.224.803a4.2 4.2 0 0 0-.776.492V2.5z'/%3E%3C/svg%3E");
}

.bi-person-fill-nav-menu[b-509au3vxax] {
    --nav-ic-m: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-person-fill' viewBox='0 0 16 16'%3E%3Cpath d='M3 14s-1 0-1-1 1-4 6-4 6 3 6 4-1 1-1 1H3Zm5-6a3 3 0 1 0 0-6 3 3 0 0 0 0 6Z'/%3E%3C/svg%3E");
}

.bi-arrow-bar-left-nav-menu[b-509au3vxax] {
    --nav-ic-m: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-arrow-bar-left' viewBox='0 0 16 16'%3E%3Cpath d='M12.5 15a.5.5 0 0 1-.5-.5v-13a.5.5 0 0 1 1 0v13a.5.5 0 0 1-.5.5ZM10 8a.5.5 0 0 1-.5.5H3.707l2.147 2.146a.5.5 0 0 1-.708.708l-3-3a.5.5 0 0 1 0-.708l3-3a.5.5 0 1 1 .708.708L3.707 7.5H9.5a.5.5 0 0 1 .5.5Z'/%3E%3C/svg%3E");
}

.bi-search-nav-menu[b-509au3vxax] {
    --nav-ic-m: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' viewBox='0 0 16 16'%3E%3Cpath d='M11.742 10.344a6.5 6.5 0 1 0-1.397 1.398h-.001c.03.04.062.078.098.115l3.85 3.85a1 1 0 0 0 1.415-1.414l-3.85-3.85a1.007 1.007 0 0 0-.115-.1zM12 6.5a5.5 5.5 0 1 1-11 0 5.5 5.5 0 0 1 11 0z'/%3E%3C/svg%3E");
}

.bi-pencil-square-nav-menu[b-509au3vxax] {
    --nav-ic-m: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' viewBox='0 0 16 16'%3E%3Cpath d='M15.502 1.94a.5.5 0 0 1 0 .706L14.459 3.69l-2-2L13.502.646a.5.5 0 0 1 .707 0l1.293 1.293zm-1.75 2.456-2-2L4.939 9.21a.5.5 0 0 0-.121.196l-.805 2.414a.25.25 0 0 0 .316.316l2.414-.805a.5.5 0 0 0 .196-.12l6.813-6.814z'/%3E%3Cpath fill-rule='evenodd' d='M1 13.5A1.5 1.5 0 0 0 2.5 15h11a1.5 1.5 0 0 0 1.5-1.5v-6a.5.5 0 0 0-1 0v6a.5.5 0 0 1-.5.5h-11a.5.5 0 0 1-.5-.5v-11a.5.5 0 0 1 .5-.5H9a.5.5 0 0 0 0-1H2.5A1.5 1.5 0 0 0 1 2.5v11z'/%3E%3C/svg%3E");
}

.bi-credit-card-nav-menu[b-509au3vxax] {
    --nav-ic-m: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' viewBox='0 0 16 16'%3E%3Cpath d='M0 4a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V4zm2-1a1 1 0 0 0-1 1v1h14V4a1 1 0 0 0-1-1H2zm13 4H1v5a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V7z'/%3E%3Cpath d='M2 10a1 1 0 0 1 1-1h1a1 1 0 0 1 1 1v1a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1v-1z'/%3E%3C/svg%3E");
}

.bi-chat-dots-nav-menu[b-509au3vxax] {
    --nav-ic-m: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' viewBox='0 0 16 16'%3E%3Cpath d='M5 8a1 1 0 1 1-2 0 1 1 0 0 1 2 0zm4 0a1 1 0 1 1-2 0 1 1 0 0 1 2 0zm3 1a1 1 0 1 0 0-2 1 1 0 0 0 0 2z'/%3E%3Cpath d='m2.165 15.803.02-.004c1.83-.363 2.948-.842 3.468-1.105A9.06 9.06 0 0 0 8 15c4.418 0 8-3.134 8-7s-3.582-7-8-7-8 3.134-8 7c0 1.76.743 3.37 1.97 4.6a10.437 10.437 0 0 1-.524 2.318l-.003.011a10.722 10.722 0 0 1-.244.637c-.079.186.074.394.273.362a21.673 21.673 0 0 0 .693-.125zm.8-3.108a1 1 0 0 0-.287-.801C1.618 10.83 1 9.468 1 8c0-3.192 3.004-6 7-6s7 2.808 7 6c0 3.193-3.004 6-7 6a8.06 8.06 0 0 1-2.088-.272 1 1 0 0 0-.711.074c-.387.196-1.24.57-2.634.893a10.97 10.97 0 0 0 .398-2z'/%3E%3C/svg%3E");
}

.bi-bag-check-nav-menu[b-509au3vxax] {
    --nav-ic-m: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M10.854 8.146a.5.5 0 0 1 0 .708l-3 3a.5.5 0 0 1-.708 0l-1.5-1.5a.5.5 0 0 1 .708-.708L7.5 10.793l2.646-2.647a.5.5 0 0 1 .708 0z'/%3E%3Cpath d='M8 1a2.5 2.5 0 0 1 2.5 2.5V4h-5v-.5A2.5 2.5 0 0 1 8 1zm3.5 3v-.5a3.5 3.5 0 1 0-7 0V4H1v10a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V4h-3.5zM2 5h12v9a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V5z'/%3E%3C/svg%3E");
}

.bi-briefcase-nav-menu[b-509au3vxax] {
    --nav-ic-m: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' viewBox='0 0 16 16'%3E%3Cpath d='M6.5 1A1.5 1.5 0 0 0 5 2.5V3H1.5A1.5 1.5 0 0 0 0 4.5v8A1.5 1.5 0 0 0 1.5 14h13a1.5 1.5 0 0 0 1.5-1.5v-8A1.5 1.5 0 0 0 14.5 3H11v-.5A1.5 1.5 0 0 0 9.5 1h-3zm0 1h3a.5.5 0 0 1 .5.5V3H6v-.5a.5.5 0 0 1 .5-.5zm1.886 6.914L15 7.151V12.5a.5.5 0 0 1-.5.5h-13a.5.5 0 0 1-.5-.5V7.15l6.614 1.764a1.5 1.5 0 0 0 .772 0zM1.5 4h13a.5.5 0 0 1 .5.5v1.616l-6.614 1.764a1.5 1.5 0 0 1-.772 0L1 6.116V4.5a.5.5 0 0 1 .5-.5z'/%3E%3C/svg%3E");
}

.bi-box-seam-nav-menu[b-509au3vxax] {
    --nav-ic-m: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' viewBox='0 0 16 16'%3E%3Cpath d='M8.186 1.113a.5.5 0 0 0-.372 0L1.846 3.5l2.404.961L10.404 2l-2.218-.887zm3.564 1.426L5.596 5 8 5.961 14.154 3.5l-2.404-.961zm3.25 1.7-6.5 2.6v7.922l6.5-2.6V4.24zM7.5 14.762V6.838L1 4.239v7.923l6.5 2.6zM7.443.184a1.5 1.5 0 0 1 1.114 0l7.129 2.852A.5.5 0 0 1 16 3.5v8.662a1 1 0 0 1-.629.928l-7.185 2.874a.5.5 0 0 1-.372 0l-7.185-2.874A1 1 0 0 1 0 12.162V3.5a.5.5 0 0 1 .314-.464L7.443.184z'/%3E%3C/svg%3E");
}

.bi-info-circle-nav-menu[b-509au3vxax] {
    --nav-ic-m: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' viewBox='0 0 16 16'%3E%3Cpath d='M8 15A7 7 0 1 1 8 1a7 7 0 0 1 0 14zm0 1A8 8 0 1 0 8 0a8 8 0 0 0 0 16z'/%3E%3Cpath d='m8.93 6.588-2.29.287-.082.38.45.083c.294.07.352.176.288.469l-.738 3.468c-.194.897.105 1.319.808 1.319.545 0 1.178-.252 1.465-.598l.088-.416c-.2.176-.492.246-.686.246-.275 0-.375-.193-.304-.533L8.93 6.588zM9 4.5a1 1 0 1 1-2 0 1 1 0 0 1 2 0z'/%3E%3C/svg%3E");
}

.bi-signpost-split-nav-menu[b-509au3vxax] {
    --nav-ic-m: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' viewBox='0 0 16 16'%3E%3Cpath d='M7 7V1.414a1 1 0 0 1 2 0V2h5a1 1 0 0 1 .8.4l.975 1.3a.5.5 0 0 1 0 .6L14.8 5.6a1 1 0 0 1-.8.4H9v10H7v-5H2a1 1 0 0 1-.8-.4L.225 9.3a.5.5 0 0 1 0-.6L1.2 7.4A1 1 0 0 1 2 7h5zm1 3V8H2l-.75 1L2 10h6zm0-5h6l.75-1L14 3H8v2z'/%3E%3C/svg%3E");
}

.bi-person-plus-nav-menu[b-509au3vxax] {
    --nav-ic-m: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' viewBox='0 0 16 16'%3E%3Cpath d='M6 8a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm2-3a2 2 0 1 1-4 0 2 2 0 0 1 4 0zm4 8c0 1-1 1-1 1H1s-1 0-1-1 1-4 6-4 6 3 6 4zm-1-.004c-.001-.246-.154-.986-.832-1.664C9.516 10.68 8.289 10 6 10c-2.29 0-3.516.68-4.168 1.332-.678.678-.83 1.418-.832 1.664h10z'/%3E%3Cpath fill-rule='evenodd' d='M13.5 5a.5.5 0 0 1 .5.5V7h1.5a.5.5 0 0 1 0 1H14v1.5a.5.5 0 0 1-1 0V8h-1.5a.5.5 0 0 1 0-1H13V5.5a.5.5 0 0 1 .5-.5z'/%3E%3C/svg%3E");
}

.bi-stars-nav-menu[b-509au3vxax] {
    --nav-ic-m: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' viewBox='0 0 16 16'%3E%3Cpath d='M7.657 6.247c.11-.33.576-.33.686 0l.645 1.937a2.89 2.89 0 0 0 1.829 1.828l1.936.645c.33.11.33.576 0 .686l-1.937.645a2.89 2.89 0 0 0-1.828 1.829l-.645 1.936a.361.361 0 0 1-.686 0l-.645-1.937a2.89 2.89 0 0 0-1.828-1.828l-1.937-.645a.361.361 0 0 1 0-.686l1.937-.645a2.89 2.89 0 0 0 1.828-1.828l.645-1.937zM3.794 1.148a.217.217 0 0 1 .412 0l.387 1.162c.173.518.579.924 1.097 1.097l1.162.387a.217.217 0 0 1 0 .412l-1.162.387A1.734 1.734 0 0 0 4.593 5.69l-.387 1.162a.217.217 0 0 1-.412 0L3.407 5.69A1.734 1.734 0 0 0 2.31 4.593l-1.162-.387a.217.217 0 0 1 0-.412l1.162-.387A1.734 1.734 0 0 0 3.407 2.31l.387-1.162zM10.863.099a.145.145 0 0 1 .274 0l.258.774c.115.346.386.617.732.732l.774.258a.145.145 0 0 1 0 .274l-.774.258a1.156 1.156 0 0 0-.732.732l-.258.774a.145.145 0 0 1-.274 0l-.258-.774a1.156 1.156 0 0 0-.732-.732L9.1 2.137a.145.145 0 0 1 0-.274l.774-.258c.346-.115.617-.386.732-.732L10.863.1z'/%3E%3C/svg%3E");
}

.bi-robot-nav-menu[b-509au3vxax] {
    --nav-ic-m: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' viewBox='0 0 16 16'%3E%3Cpath d='M6 12.5a.5.5 0 0 1 .5-.5h3a.5.5 0 0 1 0 1h-3a.5.5 0 0 1-.5-.5ZM3 8.062C3 6.76 4.235 5.765 5.53 5.886a26.58 26.58 0 0 0 4.94 0C11.765 5.765 13 6.76 13 8.062v1.157a.933.933 0 0 1-.765.935c-.845.147-2.34.346-4.235.346-1.895 0-3.39-.2-4.235-.346A.933.933 0 0 1 3 9.219V8.062Zm4.542-.827a.25.25 0 0 0-.217.068l-.92.9a24.767 24.767 0 0 1-1.871-.183.25.25 0 0 0-.068.495c.642.088 1.366.16 2.183.183a.25.25 0 0 0 .183-.068l.92-.9a23.95 23.95 0 0 1 3.949 0l.92.9a.25.25 0 0 0 .183.068c.817-.022 1.541-.095 2.183-.183a.25.25 0 0 0-.068-.495c-.55.075-1.18.14-1.87.183l-.92-.9a.25.25 0 0 0-.217-.068 24.413 24.413 0 0 0-4.39 0ZM5 10a1 1 0 1 1 0 2 1 1 0 0 1 0-2Zm6 0a1 1 0 1 1 0 2 1 1 0 0 1 0-2Z'/%3E%3Cpath d='M7.5 1.018a7 7 0 0 0-4.79 11.566L.435 14.71a.25.25 0 0 0 .353.353L3.064 12.5a7 7 0 0 0 9.872 0l2.276 2.276a.25.25 0 0 0 .353-.353l-2.276-2.276A7 7 0 0 0 8.5 1.018V0h-1v1.018ZM8 2a6 6 0 1 1 0 12A6 6 0 0 1 8 2Z'/%3E%3C/svg%3E");
}

/* 파트너십 안내 — Bootstrap Icons 'people' (doc 22) */
.bi-people-nav-menu[b-509au3vxax] {
    --nav-ic-m: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' viewBox='0 0 16 16'%3E%3Cpath d='M15 14s1 0 1-1-1-4-5-4-5 3-5 4 1 1 1 1h8Zm-7.978-1A.261.261 0 0 1 7 12.996c.001-.264.167-1.03.76-1.72C8.312 10.629 9.282 10 11 10c1.717 0 2.687.63 3.24 1.276.593.69.758 1.457.76 1.72l-.008.002a.274.274 0 0 1-.014.002H7.022ZM11 7a2 2 0 1 0 0-4 2 2 0 0 0 0 4Zm3-2a3 3 0 1 1-6 0 3 3 0 0 1 6 0ZM6.936 9.28a5.88 5.88 0 0 0-1.23-.247A7.35 7.35 0 0 0 5 9c-4 0-5 3-5 4 0 .667.333 1 1 1h4.216A2.238 2.238 0 0 1 5 13c0-1.01.377-2.042 1.09-2.904.243-.294.526-.569.846-.816ZM4.92 10A5.493 5.493 0 0 0 4 13H1c0-.26.164-1.03.76-1.724.545-.636 1.492-1.256 3.16-1.275ZM1.5 5.5a3 3 0 1 1 6 0 3 3 0 0 1-6 0Zm3-2a2 2 0 1 0 0 4 2 2 0 0 0 0-4Z'/%3E%3C/svg%3E");
}

/* 파트너십 가입 — Bootstrap Icons 'person-check' (doc 22) */
.bi-person-check-nav-menu[b-509au3vxax] {
    --nav-ic-m: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' viewBox='0 0 16 16'%3E%3Cpath d='M12.5 16a3.5 3.5 0 1 0 0-7 3.5 3.5 0 0 0 0 7Zm1.679-4.493-1.335 2.226a.75.75 0 0 1-1.174.144l-.774-.773a.5.5 0 0 1 .708-.708l.547.548 1.17-1.951a.5.5 0 1 1 .858.514ZM11 5a3 3 0 1 1-6 0 3 3 0 0 1 6 0ZM8 7a2 2 0 1 0 0-4 2 2 0 0 0 0 4Z'/%3E%3Cpath d='M8.256 14a4.474 4.474 0 0 1-.229-1.004H3c.001-.246.154-.986.832-1.664C4.484 10.68 5.711 10 8 10c.26 0 .507.009.74.025.226-.341.496-.65.804-.918C9.077 9.038 8.564 9 8 9c-5 0-6 3-6 4s1 1 1 1h5.256Z'/%3E%3C/svg%3E");
}

/* 파트너십 관리 — Bootstrap Icons 'graph-up-arrow' (doc 22) */
.bi-graph-up-arrow-nav-menu[b-509au3vxax] {
    --nav-ic-m: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M0 0h1v15h15v1H0V0Zm10 3.5a.5.5 0 0 1 .5-.5h4a.5.5 0 0 1 .5.5v4a.5.5 0 0 1-1 0V4.9l-3.613 4.417a.5.5 0 0 1-.74.037L7.06 6.767l-3.656 5.027a.5.5 0 0 1-.808-.588l4-5.5a.5.5 0 0 1 .758-.06l2.609 2.61L13.445 4H10.5a.5.5 0 0 1-.5-.5Z'/%3E%3C/svg%3E");
}

.bi-journal-text-nav-menu[b-509au3vxax] {
    --nav-ic-m: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' viewBox='0 0 16 16'%3E%3Cpath d='M5 10.5a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 0 1h-2a.5.5 0 0 1-.5-.5zm0-2a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 0 1h-5a.5.5 0 0 1-.5-.5zm0-2a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 0 1h-5a.5.5 0 0 1-.5-.5zm0-2a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 0 1h-5a.5.5 0 0 1-.5-.5z'/%3E%3Cpath d='M3 0h10a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2v-1h1v1a1 1 0 0 0 1 1h10a1 1 0 0 0 1-1V2a1 1 0 0 0-1-1H3a1 1 0 0 0-1 1v1H1V2a2 2 0 0 1 2-2z'/%3E%3Cpath d='M1 5v-.5a.5.5 0 0 1 1 0V5h.5a.5.5 0 0 1 0 1h-2a.5.5 0 0 1 0-1H1zm0 3v-.5a.5.5 0 0 1 1 0V8h.5a.5.5 0 0 1 0 1h-2a.5.5 0 0 1 0-1H1zm0 3v-.5a.5.5 0 0 1 1 0v.5h.5a.5.5 0 0 1 0 1h-2a.5.5 0 0 1 0-1H1z'/%3E%3C/svg%3E");
}

/* 학습방(StudyRoom) — Bootstrap Icons 'book' (NextBuk 개편) */
.bi-book-nav-menu[b-509au3vxax] {
    --nav-ic-m: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' viewBox='0 0 16 16'%3E%3Cpath d='M1 2.828c.885-.37 2.154-.769 3.388-.893 1.33-.134 2.458.063 3.112.752v9.746c-.935-.53-2.12-.603-3.213-.493-1.18.12-2.37.461-3.287.811V2.828zm7.5-.141c.654-.689 1.782-.886 3.112-.752 1.234.124 2.503.523 3.388.893v9.923c-.918-.35-2.107-.692-3.287-.81-1.094-.111-2.278-.039-3.213.492V2.687zM8 1.783C7.015.936 5.587.81 4.287.94c-1.514.153-3.042.672-3.994 1.105A.5.5 0 0 0 0 2.5v11a.5.5 0 0 0 .707.455c.882-.4 2.303-.881 3.68-1.02 1.409-.142 2.59.087 3.223.877a.5.5 0 0 0 .78 0c.633-.79 1.814-1.019 3.222-.877 1.378.139 2.8.62 3.681 1.02A.5.5 0 0 0 16 13.5v-11a.5.5 0 0 0-.293-.455c-.952-.433-2.48-.952-3.994-1.105C10.413.809 8.985.936 8 1.783z'/%3E%3C/svg%3E");
}

/* 레벨테스트 — Bootstrap Icons 'clipboard-check' (NextBuk 개편) */
.bi-clipboard-check-nav-menu[b-509au3vxax] {
    --nav-ic-m: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M10.854 7.146a.5.5 0 0 1 0 .708l-3 3a.5.5 0 0 1-.708 0l-1.5-1.5a.5.5 0 1 1 .708-.708L7.5 9.793l2.646-2.647a.5.5 0 0 1 .708 0z'/%3E%3Cpath d='M4 1.5H3a2 2 0 0 0-2 2V14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V3.5a2 2 0 0 0-2-2h-1v1h1a1 1 0 0 1 1 1V14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V3.5a1 1 0 0 1 1-1h1v-1z'/%3E%3Cpath d='M9.5 1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5h3zm-3-1A1.5 1.5 0 0 0 5 1.5v1A1.5 1.5 0 0 0 6.5 4h3A1.5 1.5 0 0 0 11 2.5v-1A1.5 1.5 0 0 0 9.5 0h-3z'/%3E%3C/svg%3E");
}

.bi-gear-fill-nav-menu[b-509au3vxax] {
    --nav-ic-m: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' viewBox='0 0 16 16'%3E%3Cpath d='M9.405 1.05c-.413-1.4-2.397-1.4-2.81 0l-.1.34a1.464 1.464 0 0 1-2.105.872l-.31-.17c-1.279-.7-2.686.705-1.987 1.987l.17.31c.446.816.023 1.841-.872 2.105l-.34.1c-1.4.413-1.4 2.397 0 2.81l.34.1a1.464 1.464 0 0 1 .872 2.105l-.17.31c-.7 1.279.705 2.686 1.987 1.987l.31-.17a1.464 1.464 0 0 1 2.105.872l.1.34c.413 1.4 2.397 1.4 2.81 0l.1-.34a1.464 1.464 0 0 1 2.105-.872l.31.17c1.279.7 2.686-.705 1.987-1.987l-.17-.31a1.464 1.464 0 0 1 .872-2.105l.34-.1c1.4-.413 1.4-2.397 0-2.81l-.34-.1a1.464 1.464 0 0 1-.872-2.105l.17-.31c.7-1.279-.705-2.686-1.987-1.987l-.31.17a1.464 1.464 0 0 1-2.105-.872l-.1-.34zM8 10.93a2.93 2.93 0 1 1 0-5.86 2.93 2.93 0 0 1 0 5.86z'/%3E%3C/svg%3E");
}

/* 리드1004 — 정식 브랜드 심볼(벡터 원본 images/read1004-mark.svg)을 원래 색(#4338CA)으로 그린다(마스크·반전 없음).
   선택 항목(인디고 알약) 안에서만 흰색으로 뒤집는다 — 인디고 위 인디고는 보이지 않는다(브랜드 가이드 §6 Negative). */
.bi-angel-nav-menu[b-509au3vxax] {
    background: url('images/read1004-mark.svg') center / contain no-repeat;
    -webkit-mask: none;
    mask: none;
}

.nav-item[b-509au3vxax] {
    font-size: 0.9rem;
    padding-bottom: 0.5rem;
}

    .nav-item:first-of-type[b-509au3vxax] {
        padding-top: 1rem;
    }

    .nav-item:last-of-type[b-509au3vxax] {
        padding-bottom: 1rem;
    }

    .nav-item[b-509au3vxax]  .nav-link {
        color: var(--r4-text);
        background: none;
        border: none;
        border-radius: 999px;
        height: 3rem;
        display: flex;
        align-items: center;
        line-height: 3rem;
        width: 100%;
    }

.nav-item[b-509au3vxax]  a.active {
    background-color: var(--r4-indigo);
    color: white;
    font-weight: 700;
    box-shadow: 0 4px 12px rgba(67, 56, 202, .28);
    --nav-ic: #fff;
}

.nav-item[b-509au3vxax]  a.active .bi-angel-nav-menu {
    filter: brightness(0) invert(1);
}

.nav-item[b-509au3vxax]  .nav-link:hover {
    background-color: #FFEBD6;
    color: var(--r4-ink);
}

.nav-item[b-509au3vxax]  a.active:hover {
    background-color: var(--r4-indigo-600);
    color: white;
}

.nav-scrollable[b-509au3vxax] {
    display: none;
}

/* 메뉴 판 공통(PC·모바일 드로어) — 밝은 판 + 오른쪽 끝 인디고 띠 */
.nav-scrollable[b-509au3vxax] {
    background: linear-gradient(180deg, #FFF8EE 0%, #FFFDF9 42%, #F4F5FF 100%);
    box-shadow: inset -5px 0 0 var(--r4-indigo);
    flex-direction: column;
}

.nav-scrollable > nav[b-509au3vxax] {
    flex: 0 0 auto;
    padding-right: 5px;   /* 오른쪽 끝 띠(5px) 만큼 */
}

/* ── 맨 아래 책꽂이 ──
   목록 아래에 붙어 함께 스크롤된다 — 목록이 짧으면 바닥에 앉고(margin-top:auto), 길면 목록 끝 다음에 온다.
   · 대구분 자동 맞춤 스크립트(NavMenu.razor)는 「남는 공간에 대구분을 더 여는」 초기 펼침에서만 이 높이를 비워 둔다(sideMenuOverflows(menu, true)) —
     기본으로 열린 대구분을 닫는 자동 접기에는 빼지 않는다(장식이 메뉴를 접게 하지 않는다).
   ⛔ 바닥 고정(sticky)은 쓰지 않는다 — 맨 아래 「회원등록·로그인」을 가린다(검증 V 2026-09-29 실측).
   높이 120px — 기본 두 대구분(안내·학습)을 편 목록 아래 1080px 화면에서 잘리지 않고 들어가는 크기. */
.nav-shelf[b-509au3vxax] {
    position: relative;
    flex: 0 0 auto;
    margin-top: auto;
    height: 120px;
    margin-right: 5px;
    pointer-events: none;
}

.nav-shelf-tag[b-509au3vxax] {
    position: absolute;
    left: 50%;
    top: 1px;
    transform: translateX(-50%);
    font-size: 10px;
    font-weight: 800;
    color: #4a2b00;
    background: var(--r4-amber);
    padding: 2px 9px;
    border-radius: 999px;
    white-space: nowrap;
    box-shadow: 0 2px 6px rgba(255, 143, 63, .35);
}

.nav-shelf-books[b-509au3vxax] {
    position: absolute;
    left: 14px;
    right: 14px;
    bottom: 34px;
    display: flex;
    align-items: flex-end;
    justify-content: center;
    gap: 2px;
}

.nav-spine[b-509au3vxax] {
    position: relative;
    flex-shrink: 0;
    border-radius: 2px 2px 1px 1px;
    background: linear-gradient(90deg, rgba(0,0,0,.14) 0%, rgba(255,255,255,.18) 35%, rgba(255,255,255,0) 60%, rgba(0,0,0,.08) 100%), var(--c);
}

.nav-spine[b-509au3vxax]::before,
.nav-spine[b-509au3vxax]::after {
    content: "";
    position: absolute;
    left: 2px;
    right: 2px;
    background: rgba(255, 255, 255, .55);
    border-radius: 1px;
}

.nav-spine[b-509au3vxax]::before {
    top: 10px;
    height: 3px;
}

.nav-spine[b-509au3vxax]::after {
    bottom: 9px;
    height: 2px;
}

.nav-face[b-509au3vxax] {
    position: relative;
    flex-shrink: 0;
    display: block;
    border-radius: 2px 5px 5px 2px;
    overflow: hidden;
    background: #f6ede3;
    box-shadow: inset 4px 0 0 rgba(0, 0, 0, .14), 3px 4px 8px rgba(30, 40, 80, .28);
}

a.nav-face[b-509au3vxax] {
    pointer-events: auto;   /* 샘플책 표지만 눌린다(/Sample) */
}

.nav-face img[b-509au3vxax] {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.nav-face.lean[b-509au3vxax] {
    transform: rotate(-4deg);
    transform-origin: bottom right;
    margin-left: 6px;
}

.nav-spine.lean[b-509au3vxax] {
    transform: rotate(9deg);
    transform-origin: bottom left;
    margin-left: 3px;
}

.nav-shelf-plank[b-509au3vxax] {
    position: absolute;
    left: 10px;
    right: 10px;
    bottom: 24px;
    height: 11px;
    border-radius: 3px;
    background: linear-gradient(180deg, #F6DDB7 0%, #F6DDB7 40%, #DDB27E 41%, #CFA06A 100%);
    box-shadow: 0 6px 10px -4px rgba(120, 70, 20, .35);
}

.nav-shelf-cap[b-509au3vxax] {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 7px;
    text-align: center;
    font: 900 9.5px/1 'Nunito', 'Segoe UI', Arial, sans-serif;
    letter-spacing: .22em;
    color: var(--r4-indigo-600);   /* #4F46E5 — 판 바닥 #F4F5FF 위 5.79 : 1(작은 글씨 · 종전 후보 #6366F1 은 4.12 로 미달) */
}

/* 사이드 메뉴 고정 레이아웃 (1060px 이상) — 사이드바 250px 옆에 학습방 틀(.sr-wrap 최소 720px + 본문 좌우 여백 56px)이
   들어가는 폭부터(250 + 776 = 1026px · Windows 세로 스크롤바 17px 와 여유를 더해 1060) · 아이패드 가로 1180·1194·PC 는 그대로(doc 25 §1). */
@media (min-width: 1060px) {
    .hamburger-icon[b-509au3vxax] {
        display: none !important;
    }

    .menu-overlay[b-509au3vxax] {
        display: none !important;
    }

    .nav-logo-container[b-509au3vxax] {
        display: block;
    }

    .nav-scrollable[b-509au3vxax] {
        display: flex;
        height: calc(100vh - 124px);   /* .sidebar 는 100vh sticky — 로고 칸(124px) 아래 나머지. 로고 칸 아래 띠(3px)는 이 판 위에 겹쳐 그린다 */
        overflow-y: auto;
    }
}

/* 덮개 메뉴(드로어) 레이아웃 (1059.98px 이하) — 폰·아이패드 세로(834)·아이패드 미니 가로(1024)·좁은 PC 창.
   메뉴는 햄버거 단추를 누를 때만 본문 위에 덮여 나온다 — 본문 폭을 메뉴 때문에 줄이지 않는다(사용자 지시 2026-09-30).
   경계값은 NavMenu.razor <script> 주석 · MainLayout.razor.css 와 같다 — 바꿀 때 함께. */
@media (max-width: 1059.98px) {
    /* 로고 숨김 — 같은 로고가 드로어 맨 위(.drawer-logo)에 나온다 */
    .nav-logo-container[b-509au3vxax] {
        display: none !important;
    }

    /* 햄버거 아이콘 표시 */
    .hamburger-icon[b-509au3vxax] {
        display: flex !important;
    }

    /* 메뉴 기본 숨김 */
    .nav-scrollable[b-509au3vxax] {
        display: none;
        position: fixed;
        top: 0;
        left: -100%;
        width: 85%;
        max-width: 300px;
        height: 100vh;
        z-index: 2;   /* .sidebar 내부 순서 — 오버레이(1) 위, 햄버거(3) 아래 */
        overflow-y: auto;
        padding-top: 56px;
        transition: left 0.3s ease;
        box-shadow: inset -5px 0 0 var(--r4-indigo), 8px 0 30px rgba(30, 27, 75, .25);
    }

    /* 메뉴 열림 상태 */
    .nav-scrollable.menu-open[b-509au3vxax] {
        display: flex !important;
        left: 0;
    }

    /* 드로어 맨 위 로고 — 누르면 홈 */
    .drawer-logo[b-509au3vxax] {
        display: flex;
        align-items: center;
        gap: 10px;
        flex: 0 0 auto;
        margin: 0 5px 10px 0;
        padding: 10px 14px 12px;
        text-decoration: none;
        background: linear-gradient(150deg, #FFF1DC 0%, #FDF0F6 55%, #EEF2FF 100%);
        box-shadow: 0 3px 0 var(--r4-indigo);
    }

    .drawer-logo img[b-509au3vxax] {
        width: 54px;
        height: auto;
    }

    .drawer-logo-text[b-509au3vxax] {
        display: flex;
        flex-direction: column;
        gap: 2px;
    }

    .drawer-logo-text b[b-509au3vxax] {
        font: 900 24px/1 'Nunito', 'Segoe UI', Arial, sans-serif;
        color: var(--r4-indigo);
    }

    .drawer-logo-text em[b-509au3vxax] {
        font: italic 800 12px/1 'Nunito', 'Segoe UI', Arial, sans-serif;
        color: var(--r4-orange-deep);
    }

    .drawer-home[b-509au3vxax] {
        margin-left: auto;
        font-size: .72rem;
        font-weight: 800;
        color: var(--r4-indigo);
        background: #fff;
        border: 1.5px solid var(--r4-indigo-200);
        border-radius: 999px;
        padding: 4px 9px;
        white-space: nowrap;
    }
}

/* 폰 폭(640.98px 이하)의 햄버거 단추 — 화면에 떠 있지 않고 상단 띠 왼쪽 여백(MainLayout.razor 폰 블록 .top-row 의 padding-left 55px)
   자리에 놓여 띠와 함께 스크롤된다. 기준 상자는 폰 폭에서 문서 맨 위(.page)에 붙는 .sidebar(MainLayout.razor.css 폰 블록,
   position:absolute)다. 떠 있으면 내린 화면에서 본문 왼쪽 첫 글자·표지·책 화면을 가린다. 메뉴는 화면 맨 위에서 연다 —
   메뉴 패널(.nav-scrollable)·오버레이는 위 덮개 블록의 position:fixed 그대로라 열린 뒤 모양과 여닫기(toggleMobileMenu·closeMobileMenu)는 같다.
   덮개 구간(641 ~ 1059.98px)은 떠 있는 단추 그대로다. 관리자 메뉴(AdminMenu·RTAdminMenu.razor.css)의 단추는 자기 규칙이라 바뀌지 않는다(2026-10-06). */
@media (max-width: 640.98px) {
    .hamburger-icon[b-509au3vxax] {
        position: absolute;
    }
}
/* /ComponentsForAdmin/AdminMenu.razor.rz.scp.css */
/* PC용 로고 컨테이너 */
.nav-logo-container[b-0s2ybjd02a] {
    display: block;
}

/* 텍스트/CSS 임시 사이드 로고 — NavMenu 와 동일 규격. 이미지 교체 시 250 × 124 px */
.side-logo[b-0s2ybjd02a] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 5px;
    height: 124px;
    box-sizing: border-box;
    text-decoration: none;
    background:
        radial-gradient(circle at 82% 12%, rgba(122, 92, 255, 0.38), transparent 55%),
        linear-gradient(160deg, #061a45 0%, #31093f 100%);
    border-bottom: 1px solid rgba(255, 255, 255, 0.14);
}

.side-logo:hover[b-0s2ybjd02a] {
    text-decoration: none;
}

.side-logo-brand[b-0s2ybjd02a] {
    font-size: 34px;
    font-weight: 900;
    letter-spacing: 0.02em;
    line-height: 1;
    background: linear-gradient(92deg, #9fd8ff 0%, #c9b3ff 55%, #ffd9a1 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    color: #c9b3ff; /* background-clip 미지원 브라우저 폴백 */
}

.side-logo-sub[b-0s2ybjd02a] {
    font-size: 11px;
    font-weight: 600;
    color: #aab6e0;
    letter-spacing: 0.14em;
    white-space: nowrap;
}

/* 햄버거 아이콘 - 기본 숨김 (PC) */
.hamburger-icon[b-0s2ybjd02a] {
    display: none;
    cursor: pointer;
    width: 40px;
    height: 40px;
    position: fixed;
    top: 8px;
    left: 8px;
    padding: 8px;
    /* 아래 세 값은 .sidebar 가 만든 쌓임 맥락 '안'의 순서일 뿐이다(바깥과 겨루지 않는다).
       바깥과 겨루는 값은 .sidebar 자신의 z-index(= app.css 의 --z-sidebar) 하나뿐. */
    z-index: 3;   /* 햄버거 버튼 — 오버레이(1)·메뉴 패널(2) 위 */
    background-color: darkslateblue;
    border-radius: 4px;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.hamburger-icon span[b-0s2ybjd02a] {
    display: block;
    width: 22px;
    height: 3px;
    background-color: white;
    margin: 3px 0;
    border-radius: 2px;
    transition: all 0.3s ease;
}

/* 메뉴 오버레이 - 기본 숨김 */
.menu-overlay[b-0s2ybjd02a] {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5);
    z-index: 1;   /* .sidebar 내부 순서 — 위 .hamburger-icon 주석 참조 */
}

/* 오버레이 표시 상태 */
.menu-overlay.overlay-visible[b-0s2ybjd02a] {
    display: block;
}

.navbar-toggler[b-0s2ybjd02a] {
    display: none !important;
}

.top-row[b-0s2ybjd02a] {
    min-height: 3.5rem;
    background-color: rgba(0,0,0,0.4);
}

.navbar-brand[b-0s2ybjd02a] {
    font-size: 1.1rem;
}

.bi[b-0s2ybjd02a] {
    display: inline-block;
    position: relative;
    width: 1.25rem;
    height: 1.25rem;
    margin-right: 0.75rem;
    top: -1px;
    background-size: cover;
}

.bi-house-door-fill-nav-menu[b-0s2ybjd02a] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-house-door-fill' viewBox='0 0 16 16'%3E%3Cpath d='M6.5 14.5v-3.505c0-.245.25-.495.5-.495h2c.25 0 .5.25.5.5v3.5a.5.5 0 0 0 .5.5h4a.5.5 0 0 0 .5-.5v-7a.5.5 0 0 0-.146-.354L13 5.793V2.5a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5v1.293L8.354 1.146a.5.5 0 0 0-.708 0l-6 6A.5.5 0 0 0 1.5 7.5v7a.5.5 0 0 0 .5.5h4a.5.5 0 0 0 .5-.5Z'/%3E%3C/svg%3E");
}

.bi-plus-square-fill-nav-menu[b-0s2ybjd02a] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-plus-square-fill' viewBox='0 0 16 16'%3E%3Cpath d='M2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2zm6.5 4.5v3h3a.5.5 0 0 1 0 1h-3v3a.5.5 0 0 1-1 0v-3h-3a.5.5 0 0 1 0-1h3v-3a.5.5 0 0 1 1 0z'/%3E%3C/svg%3E");
}

.bi-list-nested-nav-menu[b-0s2ybjd02a] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-list-nested' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M4.5 11.5A.5.5 0 0 1 5 11h10a.5.5 0 0 1 0 1H5a.5.5 0 0 1-.5-.5zm-2-4A.5.5 0 0 1 3 7h10a.5.5 0 0 1 0 1H3a.5.5 0 0 1-.5-.5zm-2-4A.5.5 0 0 1 1 3h10a.5.5 0 0 1 0 1H1a.5.5 0 0 1-.5-.5z'/%3E%3C/svg%3E");
}

.bi-lock-nav-menu[b-0s2ybjd02a] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-list-nested' viewBox='0 0 16 16'%3E%3Cpath d='M8 1a2 2 0 0 1 2 2v4H6V3a2 2 0 0 1 2-2zm3 6V3a3 3 0 0 0-6 0v4a2 2 0 0 0-2 2v5a2 2 0 0 0 2 2h6a2 2 0 0 0 2-2V9a2 2 0 0 0-2-2zM5 8h6a1 1 0 0 1 1 1v5a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1V9a1 1 0 0 1 1-1z'/%3E%3C/svg%3E");
}

.bi-person-nav-menu[b-0s2ybjd02a] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-person' viewBox='0 0 16 16'%3E%3Cpath d='M8 8a3 3 0 1 0 0-6 3 3 0 0 0 0 6Zm2-3a2 2 0 1 1-4 0 2 2 0 0 1 4 0Zm4 8c0 1-1 1-1 1H3s-1 0-1-1 1-4 6-4 6 3 6 4Zm-1-.004c-.001-.246-.154-.986-.832-1.664C11.516 10.68 10.289 10 8 10c-2.29 0-3.516.68-4.168 1.332-.678.678-.83 1.418-.832 1.664h10Z'/%3E%3C/svg%3E");
}

.bi-person-badge-nav-menu[b-0s2ybjd02a] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-person-badge' viewBox='0 0 16 16'%3E%3Cpath d='M6.5 2a.5.5 0 0 0 0 1h3a.5.5 0 0 0 0-1h-3zM11 8a3 3 0 1 1-6 0 3 3 0 0 1 6 0z'/%3E%3Cpath d='M4.5 0A2.5 2.5 0 0 0 2 2.5V14a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2.5A2.5 2.5 0 0 0 11.5 0h-7zM3 2.5A1.5 1.5 0 0 1 4.5 1h7A1.5 1.5 0 0 1 13 2.5v10.795a4.2 4.2 0 0 0-.776-.492C11.392 12.387 10.063 12 8 12s-3.392.387-4.224.803a4.2 4.2 0 0 0-.776.492V2.5z'/%3E%3C/svg%3E");
}

.bi-person-fill-nav-menu[b-0s2ybjd02a] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-person-fill' viewBox='0 0 16 16'%3E%3Cpath d='M3 14s-1 0-1-1 1-4 6-4 6 3 6 4-1 1-1 1H3Zm5-6a3 3 0 1 0 0-6 3 3 0 0 0 0 6Z'/%3E%3C/svg%3E");
}

.bi-arrow-bar-left-nav-menu[b-0s2ybjd02a] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-arrow-bar-left' viewBox='0 0 16 16'%3E%3Cpath d='M12.5 15a.5.5 0 0 1-.5-.5v-13a.5.5 0 0 1 1 0v13a.5.5 0 0 1-.5.5ZM10 8a.5.5 0 0 1-.5.5H3.707l2.147 2.146a.5.5 0 0 1-.708.708l-3-3a.5.5 0 0 1 0-.708l3-3a.5.5 0 1 1 .708.708L3.707 7.5H9.5a.5.5 0 0 1 .5.5Z'/%3E%3C/svg%3E");
}

.bi-search-nav-menu[b-0s2ybjd02a] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' viewBox='0 0 16 16'%3E%3Cpath d='M11.742 10.344a6.5 6.5 0 1 0-1.397 1.398h-.001c.03.04.062.078.098.115l3.85 3.85a1 1 0 0 0 1.415-1.414l-3.85-3.85a1.007 1.007 0 0 0-.115-.1zM12 6.5a5.5 5.5 0 1 1-11 0 5.5 5.5 0 0 1 11 0z'/%3E%3C/svg%3E");
}

.bi-pencil-square-nav-menu[b-0s2ybjd02a] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' viewBox='0 0 16 16'%3E%3Cpath d='M15.502 1.94a.5.5 0 0 1 0 .706L14.459 3.69l-2-2L13.502.646a.5.5 0 0 1 .707 0l1.293 1.293zm-1.75 2.456-2-2L4.939 9.21a.5.5 0 0 0-.121.196l-.805 2.414a.25.25 0 0 0 .316.316l2.414-.805a.5.5 0 0 0 .196-.12l6.813-6.814z'/%3E%3Cpath fill-rule='evenodd' d='M1 13.5A1.5 1.5 0 0 0 2.5 15h11a1.5 1.5 0 0 0 1.5-1.5v-6a.5.5 0 0 0-1 0v6a.5.5 0 0 1-.5.5h-11a.5.5 0 0 1-.5-.5v-11a.5.5 0 0 1 .5-.5H9a.5.5 0 0 0 0-1H2.5A1.5 1.5 0 0 0 1 2.5v11z'/%3E%3C/svg%3E");
}

.bi-credit-card-nav-menu[b-0s2ybjd02a] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' viewBox='0 0 16 16'%3E%3Cpath d='M0 4a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V4zm2-1a1 1 0 0 0-1 1v1h14V4a1 1 0 0 0-1-1H2zm13 4H1v5a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V7z'/%3E%3Cpath d='M2 10a1 1 0 0 1 1-1h1a1 1 0 0 1 1 1v1a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1v-1z'/%3E%3C/svg%3E");
}

.bi-chat-dots-nav-menu[b-0s2ybjd02a] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' viewBox='0 0 16 16'%3E%3Cpath d='M5 8a1 1 0 1 1-2 0 1 1 0 0 1 2 0zm4 0a1 1 0 1 1-2 0 1 1 0 0 1 2 0zm3 1a1 1 0 1 0 0-2 1 1 0 0 0 0 2z'/%3E%3Cpath d='m2.165 15.803.02-.004c1.83-.363 2.948-.842 3.468-1.105A9.06 9.06 0 0 0 8 15c4.418 0 8-3.134 8-7s-3.582-7-8-7-8 3.134-8 7c0 1.76.743 3.37 1.97 4.6a10.437 10.437 0 0 1-.524 2.318l-.003.011a10.722 10.722 0 0 1-.244.637c-.079.186.074.394.273.362a21.673 21.673 0 0 0 .693-.125zm.8-3.108a1 1 0 0 0-.287-.801C1.618 10.83 1 9.468 1 8c0-3.192 3.004-6 7-6s7 2.808 7 6c0 3.193-3.004 6-7 6a8.06 8.06 0 0 1-2.088-.272 1 1 0 0 0-.711.074c-.387.196-1.24.57-2.634.893a10.97 10.97 0 0 0 .398-2z'/%3E%3C/svg%3E");
}

.bi-bag-check-nav-menu[b-0s2ybjd02a] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M10.854 8.146a.5.5 0 0 1 0 .708l-3 3a.5.5 0 0 1-.708 0l-1.5-1.5a.5.5 0 0 1 .708-.708L7.5 10.793l2.646-2.647a.5.5 0 0 1 .708 0z'/%3E%3Cpath d='M8 1a2.5 2.5 0 0 1 2.5 2.5V4h-5v-.5A2.5 2.5 0 0 1 8 1zm3.5 3v-.5a3.5 3.5 0 1 0-7 0V4H1v10a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V4h-3.5zM2 5h12v9a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V5z'/%3E%3C/svg%3E");
}

.bi-briefcase-nav-menu[b-0s2ybjd02a] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' viewBox='0 0 16 16'%3E%3Cpath d='M6.5 1A1.5 1.5 0 0 0 5 2.5V3H1.5A1.5 1.5 0 0 0 0 4.5v8A1.5 1.5 0 0 0 1.5 14h13a1.5 1.5 0 0 0 1.5-1.5v-8A1.5 1.5 0 0 0 14.5 3H11v-.5A1.5 1.5 0 0 0 9.5 1h-3zm0 1h3a.5.5 0 0 1 .5.5V3H6v-.5a.5.5 0 0 1 .5-.5zm1.886 6.914L15 7.151V12.5a.5.5 0 0 1-.5.5h-13a.5.5 0 0 1-.5-.5V7.15l6.614 1.764a1.5 1.5 0 0 0 .772 0zM1.5 4h13a.5.5 0 0 1 .5.5v1.616l-6.614 1.764a1.5 1.5 0 0 1-.772 0L1 6.116V4.5a.5.5 0 0 1 .5-.5z'/%3E%3C/svg%3E");
}

.bi-box-seam-nav-menu[b-0s2ybjd02a] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' viewBox='0 0 16 16'%3E%3Cpath d='M8.186 1.113a.5.5 0 0 0-.372 0L1.846 3.5l2.404.961L10.404 2l-2.218-.887zm3.564 1.426L5.596 5 8 5.961 14.154 3.5l-2.404-.961zm3.25 1.7-6.5 2.6v7.922l6.5-2.6V4.24zM7.5 14.762V6.838L1 4.239v7.923l6.5 2.6zM7.443.184a1.5 1.5 0 0 1 1.114 0l7.129 2.852A.5.5 0 0 1 16 3.5v8.662a1 1 0 0 1-.629.928l-7.185 2.874a.5.5 0 0 1-.372 0l-7.185-2.874A1 1 0 0 1 0 12.162V3.5a.5.5 0 0 1 .314-.464L7.443.184z'/%3E%3C/svg%3E");
}

.bi-info-circle-nav-menu[b-0s2ybjd02a] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' viewBox='0 0 16 16'%3E%3Cpath d='M8 15A7 7 0 1 1 8 1a7 7 0 0 1 0 14zm0 1A8 8 0 1 0 8 0a8 8 0 0 0 0 16z'/%3E%3Cpath d='m8.93 6.588-2.29.287-.082.38.45.083c.294.07.352.176.288.469l-.738 3.468c-.194.897.105 1.319.808 1.319.545 0 1.178-.252 1.465-.598l.088-.416c-.2.176-.492.246-.686.246-.275 0-.375-.193-.304-.533L8.93 6.588zM9 4.5a1 1 0 1 1-2 0 1 1 0 0 1 2 0z'/%3E%3C/svg%3E");
}

.bi-signpost-split-nav-menu[b-0s2ybjd02a] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' viewBox='0 0 16 16'%3E%3Cpath d='M7 7V1.414a1 1 0 0 1 2 0V2h5a1 1 0 0 1 .8.4l.975 1.3a.5.5 0 0 1 0 .6L14.8 5.6a1 1 0 0 1-.8.4H9v10H7v-5H2a1 1 0 0 1-.8-.4L.225 9.3a.5.5 0 0 1 0-.6L1.2 7.4A1 1 0 0 1 2 7h5zm1 3V8H2l-.75 1L2 10h6zm0-5h6l.75-1L14 3H8v2z'/%3E%3C/svg%3E");
}

.bi-person-plus-nav-menu[b-0s2ybjd02a] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' viewBox='0 0 16 16'%3E%3Cpath d='M6 8a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm2-3a2 2 0 1 1-4 0 2 2 0 0 1 4 0zm4 8c0 1-1 1-1 1H1s-1 0-1-1 1-4 6-4 6 3 6 4zm-1-.004c-.001-.246-.154-.986-.832-1.664C9.516 10.68 8.289 10 6 10c-2.29 0-3.516.68-4.168 1.332-.678.678-.83 1.418-.832 1.664h10z'/%3E%3Cpath fill-rule='evenodd' d='M13.5 5a.5.5 0 0 1 .5.5V7h1.5a.5.5 0 0 1 0 1H14v1.5a.5.5 0 0 1-1 0V8h-1.5a.5.5 0 0 1 0-1H13V5.5a.5.5 0 0 1 .5-.5z'/%3E%3C/svg%3E");
}

.nav-item[b-0s2ybjd02a] {
    font-size: 0.9rem;
    padding-bottom: 0.5rem;
}

    .nav-item:first-of-type[b-0s2ybjd02a] {
        padding-top: 1rem;
    }

    .nav-item:last-of-type[b-0s2ybjd02a] {
        padding-bottom: 1rem;
    }

    .nav-item[b-0s2ybjd02a]  .nav-link {
        color: #d7d7d7;
        background: none;
        border: none;
        border-radius: 4px;
        height: 3rem;
        display: flex;
        align-items: center;
        line-height: 3rem;
        width: 100%;
    }

.nav-item[b-0s2ybjd02a]  a.active {
    background-color: rgba(255,255,255,0.37);
    color: white;
}

.nav-item[b-0s2ybjd02a]  .nav-link:hover {
    background-color: rgba(255,255,255,0.1);
    color: white;
}

.nav-scrollable[b-0s2ybjd02a] {
    display: none;
}

/* PC 레이아웃 (641px 이상) */
@media (min-width: 641px) {
    .hamburger-icon[b-0s2ybjd02a] {
        display: none !important;
    }

    .menu-overlay[b-0s2ybjd02a] {
        display: none !important;
    }

    .nav-logo-container[b-0s2ybjd02a] {
        display: block;
    }

    .nav-scrollable[b-0s2ybjd02a] {
        display: block;
        height: calc(100vh - 125px); /* 상단 로고 124px + margin-top 1px */
        overflow-y: auto;
    }
}

/* 모바일 레이아웃 (640px 이하) */
@media (max-width: 640px) {
    /* 로고 숨김 */
    .nav-logo-container[b-0s2ybjd02a] {
        display: none !important;
    }

    /* 햄버거 아이콘 표시 */
    .hamburger-icon[b-0s2ybjd02a] {
        display: flex !important;
    }

    /* 메뉴 기본 숨김 */
    .nav-scrollable[b-0s2ybjd02a] {
        display: none;
        position: fixed;
        top: 0;
        left: -100%;
        width: 85%;
        max-width: 300px;
        height: 100vh;
        z-index: 2;   /* .sidebar 내부 순서 — 오버레이(1) 위, 햄버거(3) 아래 */
        overflow-y: auto;
        background-image: linear-gradient(180deg, rgb(5, 39, 103) 0%, #3a0647 70%);
        padding-top: 60px;
        transition: left 0.3s ease;
    }

    /* 메뉴 열림 상태 */
    .nav-scrollable.menu-open[b-0s2ybjd02a] {
        display: block !important;
        left: 0;
    }
}
/* /ComponentsForAdmin/RTAdminMenu.razor.rz.scp.css */
/* RTAdminMenu — AdminMenu 스코프 CSS 의 축약본(필요 규칙만). 규격은 AdminMenu 와 동일 유지. */

/* PC용 로고 컨테이너 */
.nav-logo-container[b-03rowjlk55] {
    display: block;
}

/* 텍스트/CSS 임시 사이드 로고 — AdminMenu 와 동일 규격. 이미지 교체 시 250 × 124 px */
.side-logo[b-03rowjlk55] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 5px;
    height: 124px;
    box-sizing: border-box;
    text-decoration: none;
    background:
        radial-gradient(circle at 82% 12%, rgba(0, 137, 123, 0.35), transparent 55%),
        linear-gradient(160deg, #06254a 0%, #093f3a 100%);
    border-bottom: 1px solid rgba(255, 255, 255, 0.14);
}

.side-logo:hover[b-03rowjlk55] {
    text-decoration: none;
}

.side-logo-brand[b-03rowjlk55] {
    font-size: 34px;
    font-weight: 900;
    letter-spacing: 0.02em;
    line-height: 1;
    background: linear-gradient(92deg, #9fd8ff 0%, #8ff0dc 55%, #ffd9a1 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    color: #8ff0dc; /* background-clip 미지원 브라우저 폴백 */
}

.side-logo-sub[b-03rowjlk55] {
    font-size: 11px;
    font-weight: 600;
    color: #a5d6cd;
    letter-spacing: 0.14em;
    white-space: nowrap;
}

/* 햄버거 아이콘 - 기본 숨김 (PC) */
.hamburger-icon[b-03rowjlk55] {
    display: none;
    cursor: pointer;
    width: 40px;
    height: 40px;
    position: fixed;
    top: 8px;
    left: 8px;
    padding: 8px;
    /* 아래 세 값은 .sidebar 가 만든 쌓임 맥락 '안'의 순서일 뿐이다(바깥과 겨루지 않는다).
       바깥과 겨루는 값은 .sidebar 자신의 z-index(= app.css 의 --z-sidebar) 하나뿐. */
    z-index: 3;   /* 햄버거 버튼 — 오버레이(1)·메뉴 패널(2) 위 */
    background-color: darkslateblue;
    border-radius: 4px;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.hamburger-icon span[b-03rowjlk55] {
    display: block;
    width: 22px;
    height: 3px;
    background-color: white;
    margin: 3px 0;
    border-radius: 2px;
    transition: all 0.3s ease;
}

/* 메뉴 오버레이 - 기본 숨김 */
.menu-overlay[b-03rowjlk55] {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5);
    z-index: 1;   /* .sidebar 내부 순서 — 위 .hamburger-icon 주석 참조 */
}

.menu-overlay.overlay-visible[b-03rowjlk55] {
    display: block;
}

.bi[b-03rowjlk55] {
    display: inline-block;
    position: relative;
    width: 1.25rem;
    height: 1.25rem;
    margin-right: 0.75rem;
    top: -1px;
    background-size: cover;
}

/* 이슈 처리 — Bootstrap Icons 'pencil-square' */
.bi-pencil-square-nav-menu[b-03rowjlk55] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' viewBox='0 0 16 16'%3E%3Cpath d='M15.502 1.94a.5.5 0 0 1 0 .706L14.459 3.69l-2-2L13.502.646a.5.5 0 0 1 .707 0l1.293 1.293zm-1.75 2.456-2-2L4.939 9.21a.5.5 0 0 0-.121.196l-.805 2.414a.25.25 0 0 0 .316.316l2.414-.805a.5.5 0 0 0 .196-.12l6.813-6.814z'/%3E%3Cpath fill-rule='evenodd' d='M1 13.5A1.5 1.5 0 0 0 2.5 15h11a1.5 1.5 0 0 0 1.5-1.5v-6a.5.5 0 0 0-1 0v6a.5.5 0 0 1-.5.5h-11a.5.5 0 0 1-.5-.5v-11a.5.5 0 0 1 .5-.5H9a.5.5 0 0 0 0-1H2.5A1.5 1.5 0 0 0 1 2.5v11z'/%3E%3C/svg%3E");
}

/* 사이트 홈 — Bootstrap Icons 'house-door-fill' */
.bi-house-door-fill-nav-menu[b-03rowjlk55] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-house-door-fill' viewBox='0 0 16 16'%3E%3Cpath d='M6.5 14.5v-3.505c0-.245.25-.495.5-.495h2c.25 0 .5.25.5.5v3.5a.5.5 0 0 0 .5.5h4a.5.5 0 0 0 .5-.5v-7a.5.5 0 0 0-.146-.354L13 5.793V2.5a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5v1.293L8.354 1.146a.5.5 0 0 0-.708 0l-6 6A.5.5 0 0 0 1.5 7.5v7a.5.5 0 0 0 .5.5h4a.5.5 0 0 0 .5-.5Z'/%3E%3C/svg%3E");
}

.nav-item[b-03rowjlk55] {
    font-size: 0.9rem;
    padding-bottom: 0.5rem;
}

    .nav-item:first-of-type[b-03rowjlk55] {
        padding-top: 1rem;
    }

    .nav-item:last-of-type[b-03rowjlk55] {
        padding-bottom: 1rem;
    }

    .nav-item[b-03rowjlk55]  .nav-link,
    .nav-item .nav-link[b-03rowjlk55] {
        color: #d7d7d7;
        background: none;
        border: none;
        border-radius: 4px;
        height: 3rem;
        display: flex;
        align-items: center;
        line-height: 3rem;
        width: 100%;
        text-decoration: none;
    }

.nav-item .nav-link.active[b-03rowjlk55] {
    background-color: rgba(255, 255, 255, 0.37);
    color: white;
}

.nav-item .nav-link:hover[b-03rowjlk55] {
    background-color: rgba(255, 255, 255, 0.1);
    color: white;
}

.nav-scrollable[b-03rowjlk55] {
    display: none;
}

/* PC 레이아웃 (641px 이상) */
@media (min-width: 641px) {
    .hamburger-icon[b-03rowjlk55] {
        display: none !important;
    }

    .menu-overlay[b-03rowjlk55] {
        display: none !important;
    }

    .nav-logo-container[b-03rowjlk55] {
        display: block;
    }

    .nav-scrollable[b-03rowjlk55] {
        display: block;
        height: calc(100vh - 125px); /* 상단 로고 124px + margin-top 1px */
        overflow-y: auto;
    }
}

/* 모바일 레이아웃 (640px 이하) */
@media (max-width: 640px) {
    .nav-logo-container[b-03rowjlk55] {
        display: none !important;
    }

    .hamburger-icon[b-03rowjlk55] {
        display: flex !important;
    }

    .nav-scrollable[b-03rowjlk55] {
        display: none;
        position: fixed;
        top: 0;
        left: -100%;
        width: 85%;
        max-width: 300px;
        height: 100vh;
        z-index: 2;   /* .sidebar 내부 순서 — 오버레이(1) 위, 햄버거(3) 아래 */
        overflow-y: auto;
        background-image: linear-gradient(180deg, rgb(5, 39, 103) 0%, #0b4740 70%);
        padding-top: 60px;
        transition: left 0.3s ease;
    }

    .nav-scrollable.menu-open[b-03rowjlk55] {
        display: block !important;
        left: 0;
    }
}
